@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
package/SCHEMAS.md CHANGED
@@ -15,25 +15,27 @@ Hypercerts-specific lexicons for tracking impact work and claims.
15
15
 
16
16
  #### Properties
17
17
 
18
- | Property | Type | Required | Description | Comments |
19
- | ------------------------ | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
20
- | `title` | `string` | ✅ | Display title summarizing the impact work (e.g. 'Reforestation in Amazon Basin 2024') | maxLength: 256 |
21
- | `shortDescription` | `string` | ✅ | Short summary of this activity claim, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`. | maxLength: 3000, maxGraphemes: 300 |
22
- | `shortDescriptionFacets` | `ref[]` | ❌ | Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc). | |
23
- | `description` | `ref` | ❌ | Rich-text description, represented as a Leaflet linear document. | |
24
- | `image` | `union` | ❌ | The hypercert visual representation as a URI or image blob. | |
25
- | `contributors` | `ref[]` | ❌ | An array of contributor objects, each containing contributor information, weight, and contribution details. | maxLength: 1000 |
26
- | `workScope` | `union` | ❌ | Work scope definition. A CEL expression for structured, machine-evaluable scopes or a free-form string for simple and legacy scopes. | |
27
- | `startDate` | `string` | ❌ | When the work began | |
28
- | `endDate` | `string` | ❌ | When the work ended | |
29
- | `locations` | `ref[]` | ❌ | An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location. | maxLength: 1000 |
30
- | `rights` | `ref` | ❌ | A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights. | |
31
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
18
+ | Property | Type | Required | Description | Comments |
19
+ | ------------------------ | -------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
20
+ | `title` | `string` | ✅ | Display title summarizing the impact work (e.g. 'Reforestation in Amazon Basin 2024') | maxLength: 256 |
21
+ | `shortDescription` | `string` | ✅ | Short summary of this activity claim, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`. | maxLength: 3000, maxGraphemes: 300 |
22
+ | `shortDescriptionFacets` | `ref[]` | ❌ | Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc). | |
23
+ | `description` | `union` | ❌ | Long-form description of the activity. 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. | |
24
+ | `image` | `union` | ❌ | The hypercert visual representation as a URI or image blob. | |
25
+ | `contributors` | `ref[]` | ❌ | An array of contributor objects, each containing contributor information, weight, and contribution details. | |
26
+ | `workScope` | `union` | ❌ | Work scope definition. A CEL expression for structured, machine-evaluable scopes or a free-form string for simple and legacy scopes. | |
27
+ | `startDate` | `string` | ❌ | When the work began | |
28
+ | `endDate` | `string` | ❌ | When the work ended | |
29
+ | `locations` | `ref[]` | ❌ | An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location. | maxLength: 1000 |
30
+ | `rights` | `ref` | ❌ | A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights. | |
31
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
32
32
 
33
33
  #### Defs
34
34
 
35
35
  ##### `org.hypercerts.claim.activity#contributor`
36
36
 
37
+ A contributor to the activity, with identity, weight, and contribution details.
38
+
37
39
  | Property | Type | Required | Description |
38
40
  | --------------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
39
41
  | `contributorIdentity` | `union` | ✅ | Inline contributor identity object with an identity string (DID or identifier) via org.hypercerts.claim.activity#contributorIdentity, or a strong reference to a contributor information record. The record referenced must conform with the lexicon org.hypercerts.claim.contributorInformation. |
@@ -42,18 +44,24 @@ Hypercerts-specific lexicons for tracking impact work and claims.
42
44
 
43
45
  ##### `org.hypercerts.claim.activity#contributorIdentity`
44
46
 
47
+ Contributor information as a string (DID or identifier).
48
+
45
49
  | Property | Type | Required | Description |
46
50
  | ---------- | -------- | -------- | ---------------------------------------------------- |
47
51
  | `identity` | `string` | ✅ | The contributor identity string (DID or identifier). |
48
52
 
49
53
  ##### `org.hypercerts.claim.activity#contributorRole`
50
54
 
55
+ Contribution details as a string.
56
+
51
57
  | Property | Type | Required | Description |
52
58
  | -------- | -------- | -------- | --------------------------------- |
53
59
  | `role` | `string` | ✅ | The contribution role or details. |
54
60
 
55
61
  ##### `org.hypercerts.claim.activity#workScopeString`
56
62
 
63
+ A free-form string describing the work scope for simple or legacy scopes.
64
+
57
65
  | Property | Type | Required | Description |
58
66
  | -------- | -------- | -------- | ---------------------------------- |
59
67
  | `scope` | `string` | ✅ | The work scope description string. |
@@ -121,22 +129,25 @@ Hypercerts-specific lexicons for tracking impact work and claims.
121
129
 
122
130
  #### Properties
123
131
 
124
- | Property | Type | Required | Description | Comments |
125
- | ------------------ | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
126
- | `type` | `string` | ❌ | The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection. | maxLength: 64 |
127
- | `title` | `string` | ✅ | Display name for this collection (e.g. 'Q1 2025 Impact Projects') | maxLength: 800, maxGraphemes: 80 |
128
- | `shortDescription` | `string` | ❌ | Short summary of this collection, suitable for previews and list views | maxLength: 3000, maxGraphemes: 300 |
129
- | `description` | `ref` | ❌ | Rich-text description, represented as a Leaflet linear document. | |
130
- | `avatar` | `union` | ❌ | The collection's avatar/profile image as a URI or image blob. | |
131
- | `banner` | `union` | ❌ | Larger horizontal image to display behind the collection view. | |
132
- | `items` | `ref[]` | ❌ | Array of items in this collection with optional weights. | maxLength: 1000 |
133
- | `location` | `ref` | ❌ | A strong reference to the location where this collection's activities were performed. The record referenced must conform with the lexicon app.certified.location. | |
134
- | `createdAt` | `string` | | Client-declared timestamp when this record was originally created | |
132
+ | Property | Type | Required | Description | Comments |
133
+ | ------------------------ | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
134
+ | `type` | `string` | ❌ | The type of this collection. Values beyond the known set are permitted. | maxLength: 64, Known values: `favorites`, `project`, `portfolio`, `program` |
135
+ | `title` | `string` | ✅ | Display name for this collection (e.g. 'Q1 2025 Impact Projects') | maxLength: 800, maxGraphemes: 80 |
136
+ | `shortDescription` | `string` | ❌ | Short summary of this collection, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`. | maxLength: 3000, maxGraphemes: 300 |
137
+ | `shortDescriptionFacets` | `ref[]` | ❌ | Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc). | |
138
+ | `description` | `union` | ❌ | 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. | |
139
+ | `avatar` | `union` | ❌ | The collection's avatar/profile image as a URI or image blob. | |
140
+ | `banner` | `union` | ❌ | Larger horizontal image to display behind the collection view. | |
141
+ | `items` | `ref[]` | ❌ | Array of items in this collection with optional weights. | maxLength: 1000 |
142
+ | `location` | `ref` | | A strong reference to the location where this collection's activities were performed. The record referenced must conform with the lexicon app.certified.location. | |
143
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
135
144
 
136
145
  #### Defs
137
146
 
138
147
  ##### `org.hypercerts.collection#item`
139
148
 
149
+ An item in a collection, with an identifier and optional weight.
150
+
140
151
  | Property | Type | Required | Description |
141
152
  | ---------------- | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
142
153
  | `itemIdentifier` | `ref` | ✅ | Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection). |
@@ -170,17 +181,17 @@ Hypercerts-specific lexicons for tracking impact work and claims.
170
181
 
171
182
  #### Properties
172
183
 
173
- | Property | Type | Required | Description | Comments |
174
- | ------------------------ | --------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
175
- | `subjects` | `ref[]` | ❌ | References to the subject(s) the attachment is connected to—this may be an activity claim, outcome claim, measurement, evaluation, or even another attachment. This is optional as the attachment can exist before the claim is recorded. | maxLength: 100 |
176
- | `contentType` | `string` | ❌ | The type of attachment, e.g. report, audit, evidence, testimonial, methodology, etc. | maxLength: 64 |
177
- | `content` | `union[]` | ❌ | The files, documents, or external references included in this attachment record. | maxLength: 100 |
178
- | `title` | `string` | ✅ | Display title for this attachment (e.g. 'Impact Assessment Report', 'Audit Findings') | maxLength: 256 |
179
- | `shortDescription` | `string` | ❌ | Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`. | maxLength: 3000, maxGraphemes: 300 |
180
- | `shortDescriptionFacets` | `ref[]` | ❌ | Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc). | |
181
- | `description` | `ref` | ❌ | Rich-text description, represented as a Leaflet linear document. | |
182
- | `location` | `ref` | ❌ | A strong reference to the location where this attachment's subject matter occurred. The record referenced must conform with the lexicon app.certified.location. | |
183
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
184
+ | Property | Type | Required | Description | Comments |
185
+ | ------------------------ | --------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
186
+ | `subjects` | `ref[]` | ❌ | References to the subject(s) the attachment is connected to—this may be an activity claim, outcome claim, measurement, evaluation, or even another attachment. This is optional as the attachment can exist before the claim is recorded. | maxLength: 100 |
187
+ | `contentType` | `string` | ❌ | The type of attachment. Values beyond the known set are permitted. | maxLength: 64, Known values: `report`, `audit`, `evidence`, `testimonial`, `methodology` |
188
+ | `content` | `union[]` | ❌ | The files, documents, or external references included in this attachment record. | maxLength: 100 |
189
+ | `title` | `string` | ✅ | Display title for this attachment (e.g. 'Impact Assessment Report', 'Audit Findings') | maxLength: 256 |
190
+ | `shortDescription` | `string` | ❌ | Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`. | maxLength: 3000, maxGraphemes: 300 |
191
+ | `shortDescriptionFacets` | `ref[]` | ❌ | Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc). | |
192
+ | `description` | `union` | ❌ | 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. | |
193
+ | `location` | `ref` | ❌ | A strong reference to the location where this attachment's subject matter occurred. The record referenced must conform with the lexicon app.certified.location. | |
194
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
184
195
 
185
196
  ---
186
197
 
@@ -207,11 +218,13 @@ Hypercerts-specific lexicons for tracking impact work and claims.
207
218
 
208
219
  ##### `org.hypercerts.context.evaluation#score`
209
220
 
210
- | Property | Type | Required | Description |
211
- | -------- | --------- | -------- | -------------------------------------------- |
212
- | `min` | `integer` | | Minimum value of the scale, e.g. 0 or 1. |
213
- | `max` | `integer` | | Maximum value of the scale, e.g. 5 or 10. |
214
- | `value` | `integer` | ✅ | Score within the inclusive range [min, max]. |
221
+ Overall score for an evaluation on a numeric scale.
222
+
223
+ | Property | Type | Required | Description |
224
+ | -------- | -------- | -------- | ----------------------------------------------------------------------------- |
225
+ | `min` | `string` | ✅ | Minimum value of the scale as a numeric string (e.g. '0', '1'). |
226
+ | `max` | `string` | ✅ | Maximum value of the scale as a numeric string (e.g. '5', '10'). |
227
+ | `value` | `string` | ✅ | Score within the inclusive range [min, max] as a numeric string (e.g. '3.7'). |
215
228
 
216
229
  ---
217
230
 
@@ -250,19 +263,29 @@ Hypercerts-specific lexicons for tracking impact work and claims.
250
263
 
251
264
  #### Properties
252
265
 
253
- | Property | Type | Required | Description | Comments |
254
- | ---------------- | -------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
255
- | `from` | `ref` | | DID of the sender who transferred the funds. Leave empty if sender wants to stay anonymous. | |
256
- | `to` | `string` | ✅ | The recipient of the funds. Can be identified by DID or a clear-text name. | maxLength: 2048 |
257
- | `amount` | `string` | ✅ | Amount of funding received as a numeric string (e.g. '1000.50'). | maxLength: 50 |
258
- | `currency` | `string` | ✅ | Currency of the payment (e.g. EUR, USD, ETH). | maxLength: 10 |
259
- | `paymentRail` | `string` | ❌ | How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor). | maxLength: 50 |
260
- | `paymentNetwork` | `string` | ❌ | Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal). | maxLength: 50 |
261
- | `transactionId` | `string` | ❌ | Identifier of the underlying payment transaction (e.g. bank reference, onchain transaction hash, or processor-specific ID). Use paymentNetwork to specify the network where applicable. | maxLength: 256 |
262
- | `for` | `string` | ❌ | Optional reference to the activity, project, or organization this funding relates to. | |
263
- | `notes` | `string` | ❌ | Optional notes or additional context for this funding receipt. | maxLength: 500 |
264
- | `occurredAt` | `string` | ❌ | Timestamp when the payment occurred. | |
265
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this receipt record was created. | |
266
+ | Property | Type | Required | Description | Comments |
267
+ | ---------------- | -------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
268
+ | `from` | `union` | | The sender of the funds (a free-text string, an account DID, or a strong reference to a record). Optional — omit to represent anonymity. | |
269
+ | `to` | `union` | ✅ | The recipient of the funds (a free-text string, an account DID, or a strong reference to a record). | |
270
+ | `amount` | `string` | ✅ | Amount of funding received as a numeric string (e.g. '1000.50'). | maxLength: 50 |
271
+ | `currency` | `string` | ✅ | Currency of the payment (e.g. EUR, USD, ETH). | maxLength: 10 |
272
+ | `paymentRail` | `string` | ❌ | How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor). | maxLength: 50 |
273
+ | `paymentNetwork` | `string` | ❌ | Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal). | maxLength: 50 |
274
+ | `transactionId` | `string` | ❌ | Identifier of the underlying payment transaction (e.g. bank reference, onchain transaction hash, or processor-specific ID). Use paymentNetwork to specify the network where applicable. | maxLength: 256 |
275
+ | `for` | `ref` | ❌ | Optional strong reference to the activity, project, or organization this funding relates to. | |
276
+ | `notes` | `string` | ❌ | Optional notes or additional context for this funding receipt. | maxLength: 500 |
277
+ | `occurredAt` | `string` | ❌ | Timestamp when the payment occurred. | |
278
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this receipt record was created. | |
279
+
280
+ #### Defs
281
+
282
+ ##### `org.hypercerts.funding.receipt#text`
283
+
284
+ A free-text string value (e.g. a display name, wallet address, or other identifier).
285
+
286
+ | Property | Type | Required | Description |
287
+ | -------- | -------- | -------- | ----------------- |
288
+ | `value` | `string` | ✅ | The string value. |
266
289
 
267
290
  ---
268
291
 
@@ -331,6 +354,8 @@ Certified lexicons are common/shared lexicons that can be used across multiple p
331
354
 
332
355
  ##### `app.certified.location#string`
333
356
 
357
+ A location represented as a string, e.g. coordinates or a small GeoJSON string.
358
+
334
359
  | Property | Type | Required | Description |
335
360
  | -------- | -------- | -------- | ------------------------- |
336
361
  | `string` | `string` | ✅ | The location string value |
@@ -345,14 +370,14 @@ Certified lexicons are common/shared lexicons that can be used across multiple p
345
370
 
346
371
  #### Properties
347
372
 
348
- | Property | Type | Required | Description | Comments |
349
- | ---------------- | -------- | -------- | ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
350
- | `badgeType` | `string` | ✅ | Category of the badge (e.g. endorsement, participation, affiliation). | maxLength: 100 |
351
- | `title` | `string` | ✅ | Human-readable title of the badge. | maxLength: 256 |
352
- | `icon` | `blob` | | Icon representing the badge, stored as a blob for compact visual display. | maxSize: 1048576, accepts: image/png, image/jpeg, image/webp, image/svg+xml |
353
- | `description` | `string` | ❌ | Optional short statement describing what the badge represents. | maxLength: 5000, maxGraphemes: 500 |
354
- | `allowedIssuers` | `ref[]` | ❌ | Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it. | maxLength: 100 |
355
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
373
+ | Property | Type | Required | Description | Comments |
374
+ | ---------------- | -------- | -------- | ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
375
+ | `badgeType` | `string` | ✅ | Category of the badge. Values beyond the known set are permitted. | maxLength: 100, Known values: `endorsement`, `verification`, `participation`, `certification`, `affiliation`, `recognition` |
376
+ | `title` | `string` | ✅ | Human-readable title of the badge. | maxLength: 256 |
377
+ | `icon` | `blob` | | Icon representing the badge, stored as a blob for compact visual display. | maxSize: 1048576, accepts: `image/png`, `image/jpeg`, `image/webp`, `image/svg+xml` |
378
+ | `description` | `string` | ❌ | Optional short statement describing what the badge represents. | maxLength: 5000, maxGraphemes: 500 |
379
+ | `allowedIssuers` | `ref[]` | ❌ | Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it. | maxLength: 100 |
380
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
356
381
 
357
382
  ---
358
383
 
@@ -364,13 +389,13 @@ Certified lexicons are common/shared lexicons that can be used across multiple p
364
389
 
365
390
  #### Properties
366
391
 
367
- | Property | Type | Required | Description | Comments |
368
- | ----------- | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
369
- | `badge` | `ref` | ✅ | Reference to the badge definition for this award. | |
370
- | `subject` | `union` | ✅ | Entity the badge award is for (either an account DID or any specific AT Protocol record), e.g. a user, a project, or a specific activity claim. | |
371
- | `note` | `string` | ❌ | Optional statement explaining the reason for this badge award. | maxLength: 500 |
372
- | `url` | `string` | ❌ | Optional URL the badge award links to. | maxLength: 2048 |
373
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
392
+ | Property | Type | Required | Description | Comments |
393
+ | ----------- | -------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
394
+ | `badge` | `ref` | ✅ | Strong reference to the badge definition at the time of award. The record referenced must conform with the lexicon app.certified.badge.definition. | |
395
+ | `subject` | `union` | ✅ | Entity the badge award is for (either an account DID or any specific AT Protocol record), e.g. a user, a project, or a specific activity claim. | |
396
+ | `note` | `string` | ❌ | Optional statement explaining the reason for this badge award. | maxLength: 500 |
397
+ | `url` | `string` | ❌ | Optional URL the badge award links to. | maxLength: 2048 |
398
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
374
399
 
375
400
  ---
376
401
 
@@ -382,12 +407,12 @@ Certified lexicons are common/shared lexicons that can be used across multiple p
382
407
 
383
408
  #### Properties
384
409
 
385
- | Property | Type | Required | Description | Comments |
386
- | ------------ | -------- | -------- | ------------------------------------------------------------------------ | ------------------------------------ |
387
- | `badgeAward` | `ref` | ✅ | Reference to the badge award. | |
388
- | `response` | `string` | ✅ | The recipient’s response for the badge (accepted or rejected). | Known values: `accepted`, `rejected` |
389
- | `weight` | `string` | ❌ | Optional relative weight for accepted badges, assigned by the recipient. | maxLength: 50 |
390
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
410
+ | Property | Type | Required | Description | Comments |
411
+ | ------------ | -------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
412
+ | `badgeAward` | `ref` | ✅ | Strong reference to the badge award being responded to. The record referenced must conform with the lexicon app.certified.badge.award. | |
413
+ | `response` | `string` | ✅ | The recipient’s response for the badge (accepted or rejected). | Known values: `accepted`, `rejected` |
414
+ | `weight` | `string` | ❌ | Optional relative weight for accepted badges, assigned by the recipient. | maxLength: 50 |
415
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
391
416
 
392
417
  ---
393
418
 
@@ -411,6 +436,8 @@ Certified lexicons are common/shared lexicons that can be used across multiple p
411
436
 
412
437
  ##### `app.certified.actor.organization#urlItem`
413
438
 
439
+ A labeled URL reference.
440
+
414
441
  | Property | Type | Required | Description |
415
442
  | -------- | -------- | -------- | ---------------------------------------------------------------------------------- |
416
443
  | `url` | `string` | ✅ | The URL. |
@@ -438,6 +465,45 @@ Certified lexicons are common/shared lexicons that can be used across multiple p
438
465
 
439
466
  ---
440
467
 
468
+ ### `app.certified.link.evm`
469
+
470
+ **Description:** A verifiable link between an ATProto DID and an EVM wallet address, proven via a cryptographic signature. Currently supports EOA wallets via EIP-712 typed data signatures; the proof field is an open union to allow future signature methods.
471
+
472
+ **Key:** `any`
473
+
474
+ #### Properties
475
+
476
+ | Property | Type | Required | Description | Comments |
477
+ | ----------- | -------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
478
+ | `address` | `string` | ✅ | EVM wallet address (0x-prefixed, with EIP-55 checksum recommended). | maxLength: 42 |
479
+ | `proof` | `union` | ✅ | Cryptographic proof of wallet ownership. The union is open to allow future proof methods (e.g. ERC-1271, ERC-6492). Each variant bundles its signature with the corresponding message format. | |
480
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
481
+
482
+ #### Defs
483
+
484
+ ##### `app.certified.link.evm#eip712Proof`
485
+
486
+ EOA wallet ownership proof via EIP-712 typed data signature. Contains both the structured message that was signed and the resulting signature.
487
+
488
+ | Property | Type | Required | Description |
489
+ | ----------- | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
490
+ | `signature` | `string` | ✅ | ECDSA signature over the EIP-712 hash (hex-encoded with 0x prefix, 64 or 65 bytes). |
491
+ | `message` | `ref` | ✅ | The EIP-712 typed data message that was signed by the wallet. Contains the fields binding an ATProto DID to an EVM address on a specific chain. |
492
+
493
+ ##### `app.certified.link.evm#eip712Message`
494
+
495
+ The EIP-712 typed data message that was signed by the wallet. Contains the fields binding an ATProto DID to an EVM address on a specific chain.
496
+
497
+ | Property | Type | Required | Description |
498
+ | ------------ | -------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
499
+ | `did` | `string` | ✅ | The ATProto DID being linked to the EVM address. |
500
+ | `evmAddress` | `string` | ✅ | The EVM wallet address (must match the top-level address field). |
501
+ | `chainId` | `string` | ✅ | EVM chain ID as string (bigint serialized). Identifies which chain was used for signing; for EOA wallets the identity link applies across all EVM-compatible chains. |
502
+ | `timestamp` | `string` | ✅ | Unix timestamp when the attestation was created (bigint serialized). |
503
+ | `nonce` | `string` | ✅ | Replay-protection nonce (bigint serialized). |
504
+
505
+ ---
506
+
441
507
  ## Type Definitions
442
508
 
443
509
  Common type definitions used across all protocols.
@@ -450,6 +516,8 @@ Common type definitions used across all protocols.
450
516
 
451
517
  ##### `app.certified.defs#did`
452
518
 
519
+ A Decentralized Identifier (DID) string.
520
+
453
521
  | Property | Type | Required | Description |
454
522
  | -------- | -------- | -------- | --------------------- |
455
523
  | `did` | `string` | ✅ | The DID string value. |
@@ -462,38 +530,59 @@ Common type definitions used across all protocols.
462
530
 
463
531
  #### Defs
464
532
 
533
+ ##### `org.hypercerts.defs#descriptionString`
534
+
535
+ An inline long-form description as plain text or markdown, with optional rich-text annotations.
536
+
537
+ | Property | Type | Required | Description |
538
+ | -------- | -------- | -------- | -------------------------------------------------------------------------- |
539
+ | `value` | `string` | ✅ | The description text (plain text or markdown). |
540
+ | `facets` | `ref[]` | ❌ | Rich text annotations for the description (mentions, URLs, hashtags, etc). |
541
+
465
542
  ##### `org.hypercerts.defs#uri`
466
543
 
544
+ Object containing a URI to external data
545
+
467
546
  | Property | Type | Required | Description |
468
547
  | -------- | -------- | -------- | -------------------- |
469
548
  | `uri` | `string` | ✅ | URI to external data |
470
549
 
471
550
  ##### `org.hypercerts.defs#smallBlob`
472
551
 
552
+ Object containing a blob to external data
553
+
473
554
  | Property | Type | Required | Description |
474
555
  | -------- | ------ | -------- | ---------------------------------- |
475
556
  | `blob` | `blob` | ✅ | Blob to external data (up to 10MB) |
476
557
 
477
558
  ##### `org.hypercerts.defs#largeBlob`
478
559
 
560
+ Object containing a blob to external data
561
+
479
562
  | Property | Type | Required | Description |
480
563
  | -------- | ------ | -------- | ----------------------------------- |
481
564
  | `blob` | `blob` | ✅ | Blob to external data (up to 100MB) |
482
565
 
483
566
  ##### `org.hypercerts.defs#smallImage`
484
567
 
568
+ Object containing a small image
569
+
485
570
  | Property | Type | Required | Description |
486
571
  | -------- | ------ | -------- | ----------------- |
487
572
  | `image` | `blob` | ✅ | Image (up to 5MB) |
488
573
 
489
574
  ##### `org.hypercerts.defs#smallVideo`
490
575
 
576
+ Object containing a small video
577
+
491
578
  | Property | Type | Required | Description |
492
579
  | -------- | ------ | -------- | ------------------ |
493
580
  | `video` | `blob` | ✅ | Video (up to 20MB) |
494
581
 
495
582
  ##### `org.hypercerts.defs#largeImage`
496
583
 
584
+ Object containing a large image
585
+
497
586
  | Property | Type | Required | Description |
498
587
  | -------- | ------ | -------- | ------------------ |
499
588
  | `image` | `blob` | ✅ | Image (up to 10MB) |
@@ -504,6 +593,54 @@ Common type definitions used across all protocols.
504
593
 
505
594
  External lexicons from other protocols and systems.
506
595
 
596
+ ### `app.bsky.richtext.facet`
597
+
598
+ **Description:** Annotation of a sub-string within rich text.
599
+
600
+ #### Properties
601
+
602
+ | Property | Type | Required | Description |
603
+ | ---------- | --------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
604
+ | `index` | `ref` | ✅ | Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets. |
605
+ | `features` | `union[]` | ✅ | |
606
+
607
+ #### Defs
608
+
609
+ ##### `app.bsky.richtext.facet#mention`
610
+
611
+ Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID.
612
+
613
+ | Property | Type | Required | Description |
614
+ | -------- | -------- | -------- | ----------- |
615
+ | `did` | `string` | ✅ | |
616
+
617
+ ##### `app.bsky.richtext.facet#link`
618
+
619
+ Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.
620
+
621
+ | Property | Type | Required | Description |
622
+ | -------- | -------- | -------- | ----------- |
623
+ | `uri` | `string` | ✅ | |
624
+
625
+ ##### `app.bsky.richtext.facet#tag`
626
+
627
+ Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').
628
+
629
+ | Property | Type | Required | Description |
630
+ | -------- | -------- | -------- | ----------- |
631
+ | `tag` | `string` | ✅ | |
632
+
633
+ ##### `app.bsky.richtext.facet#byteSlice`
634
+
635
+ Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.
636
+
637
+ | Property | Type | Required | Description |
638
+ | ----------- | --------- | -------- | ----------- |
639
+ | `byteStart` | `integer` | ✅ | |
640
+ | `byteEnd` | `integer` | ✅ | |
641
+
642
+ ---
643
+
507
644
  ### `com.atproto.repo.strongRef`
508
645
 
509
646
  #### Properties
@@ -523,17 +660,19 @@ External lexicons from other protocols and systems.
523
660
 
524
661
  #### Properties
525
662
 
526
- | Property | Type | Required | Description | Comments |
527
- | -------------------- | -------- | -------- | -------------------------------------------------------------------------------------------------------- | --------------- |
528
- | `subject` | `ref` | ✅ | Reference to the org.hypercerts.claim.activity or org.hypercerts.claim.collection this board visualizes. | |
529
- | `config` | `ref` | ❌ | Visual configuration for a hyperboard's background, colors, and layout. | |
530
- | `contributorConfigs` | `ref[]` | ❌ | Per-contributor configuration entries for this board. | maxLength: 1000 |
531
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
663
+ | Property | Type | Required | Description | Comments |
664
+ | -------------------- | -------- | -------- | -------------------------------------------------------------------------------------------------- | --------------- |
665
+ | `subject` | `ref` | ✅ | Reference to the org.hypercerts.claim.activity or org.hypercerts.collection this board visualizes. | |
666
+ | `config` | `ref` | ❌ | Visual configuration for a hyperboard's background, colors, and layout. | |
667
+ | `contributorConfigs` | `ref[]` | ❌ | Per-contributor configuration entries for this board. | maxLength: 1000 |
668
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
532
669
 
533
670
  #### Defs
534
671
 
535
672
  ##### `org.hyperboards.board#boardConfig`
536
673
 
674
+ Visual configuration for a hyperboard's background, colors, and layout.
675
+
537
676
  | Property | Type | Required | Description |
538
677
  | --------------------- | --------- | -------- | --------------------------------------------------------------------- |
539
678
  | `backgroundType` | `string` | ❌ | Type of background content. |
@@ -549,6 +688,8 @@ External lexicons from other protocols and systems.
549
688
 
550
689
  ##### `org.hyperboards.board#contributorConfig`
551
690
 
691
+ Configuration for a specific contributor within a board. Values serve as fallbacks when the contributor has not defined them on their profile. It can also be used to override contributor settings on this board without changing their global profile.
692
+
552
693
  | Property | Type | Required | Description |
553
694
  | ---------------- | --------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
554
695
  | `contributor` | `union` | ✅ | Identifies the contributor being styled. A strong reference to an org.hypercerts.claim.contributorInformation record, or a contributorIdentity (DID or identifier string) for contributors without a dedicated record. |
@@ -582,6 +723,323 @@ External lexicons from other protocols and systems.
582
723
 
583
724
  ---
584
725
 
726
+ ### `pub.leaflet.blocks.blockquote`
727
+
728
+ #### Properties
729
+
730
+ | Property | Type | Required | Description |
731
+ | ----------- | -------- | -------- | ----------- |
732
+ | `plaintext` | `string` | ✅ | |
733
+ | `facets` | `ref[]` | ❌ | |
734
+
735
+ ---
736
+
737
+ ### `pub.leaflet.blocks.bskyPost`
738
+
739
+ #### Properties
740
+
741
+ | Property | Type | Required | Description |
742
+ | ------------ | -------- | -------- | ----------- |
743
+ | `postRef` | `ref` | ✅ | |
744
+ | `clientHost` | `string` | ❌ | |
745
+
746
+ ---
747
+
748
+ ### `pub.leaflet.blocks.button`
749
+
750
+ #### Properties
751
+
752
+ | Property | Type | Required | Description |
753
+ | -------- | -------- | -------- | ----------- |
754
+ | `text` | `string` | ✅ | |
755
+ | `url` | `string` | ✅ | |
756
+
757
+ ---
758
+
759
+ ### `pub.leaflet.blocks.code`
760
+
761
+ #### Properties
762
+
763
+ | Property | Type | Required | Description |
764
+ | ------------------------- | -------- | -------- | ----------- |
765
+ | `plaintext` | `string` | ✅ | |
766
+ | `language` | `string` | ❌ | |
767
+ | `syntaxHighlightingTheme` | `string` | ❌ | |
768
+
769
+ ---
770
+
771
+ ### `pub.leaflet.blocks.header`
772
+
773
+ #### Properties
774
+
775
+ | Property | Type | Required | Description |
776
+ | ----------- | --------- | -------- | ----------- |
777
+ | `level` | `integer` | ❌ | |
778
+ | `plaintext` | `string` | ✅ | |
779
+ | `facets` | `ref[]` | ❌ | |
780
+
781
+ ---
782
+
783
+ ### `pub.leaflet.blocks.horizontalRule`
784
+
785
+ #### Properties
786
+
787
+ ---
788
+
789
+ ### `pub.leaflet.blocks.iframe`
790
+
791
+ #### Properties
792
+
793
+ | Property | Type | Required | Description |
794
+ | -------- | --------- | -------- | ----------- |
795
+ | `url` | `string` | ✅ | |
796
+ | `height` | `integer` | ❌ | |
797
+
798
+ ---
799
+
800
+ ### `pub.leaflet.blocks.image`
801
+
802
+ #### Properties
803
+
804
+ | Property | Type | Required | Description | Comments |
805
+ | ------------- | -------- | -------- | ----------------------------------------------------- | ------------------------------------ |
806
+ | `image` | `blob` | ✅ | | maxSize: 1000000, accepts: `image/*` |
807
+ | `alt` | `string` | ❌ | Alt text description of the image, for accessibility. | |
808
+ | `aspectRatio` | `ref` | ✅ | | |
809
+
810
+ #### Defs
811
+
812
+ ##### `pub.leaflet.blocks.image#aspectRatio`
813
+
814
+ | Property | Type | Required | Description |
815
+ | -------- | --------- | -------- | ----------- |
816
+ | `width` | `integer` | ✅ | |
817
+ | `height` | `integer` | ✅ | |
818
+
819
+ ---
820
+
821
+ ### `pub.leaflet.blocks.math`
822
+
823
+ #### Properties
824
+
825
+ | Property | Type | Required | Description |
826
+ | -------- | -------- | -------- | ----------- |
827
+ | `tex` | `string` | ✅ | |
828
+
829
+ ---
830
+
831
+ ### `pub.leaflet.blocks.orderedList`
832
+
833
+ #### Properties
834
+
835
+ | Property | Type | Required | Description |
836
+ | ------------ | --------- | -------- | -------------------------------------------------------------------------- |
837
+ | `startIndex` | `integer` | ❌ | The starting number for this ordered list. Defaults to 1 if not specified. |
838
+ | `children` | `ref[]` | ✅ | |
839
+
840
+ #### Defs
841
+
842
+ ##### `pub.leaflet.blocks.orderedList#listItem`
843
+
844
+ | Property | Type | Required | Description |
845
+ | ----------------------- | --------- | -------- | ------------------------------------------------------------------------------------------------------------------------- |
846
+ | `checked` | `boolean` | ❌ | If present, this item is a checklist item. true = checked, false = unchecked. If absent, this is a normal list item. |
847
+ | `content` | `union` | ✅ | |
848
+ | `children` | `ref[]` | ❌ | Nested ordered list items. Mutually exclusive with unorderedListChildren; if both are present, children takes precedence. |
849
+ | `unorderedListChildren` | `ref` | ❌ | A nested unordered list. Mutually exclusive with children; if both are present, children takes precedence. |
850
+
851
+ ---
852
+
853
+ ### `pub.leaflet.blocks.page`
854
+
855
+ #### Properties
856
+
857
+ | Property | Type | Required | Description |
858
+ | -------- | -------- | -------- | ----------- |
859
+ | `id` | `string` | ✅ | |
860
+
861
+ ---
862
+
863
+ ### `pub.leaflet.blocks.poll`
864
+
865
+ #### Properties
866
+
867
+ | Property | Type | Required | Description |
868
+ | --------- | ----- | -------- | ----------- |
869
+ | `pollRef` | `ref` | ✅ | |
870
+
871
+ ---
872
+
873
+ ### `pub.leaflet.blocks.text`
874
+
875
+ #### Properties
876
+
877
+ | Property | Type | Required | Description |
878
+ | ----------- | -------- | -------- | ----------- |
879
+ | `plaintext` | `string` | ✅ | |
880
+ | `textSize` | `string` | ❌ | |
881
+ | `facets` | `ref[]` | ❌ | |
882
+
883
+ ---
884
+
885
+ ### `pub.leaflet.blocks.unorderedList`
886
+
887
+ #### Properties
888
+
889
+ | Property | Type | Required | Description |
890
+ | ---------- | ------- | -------- | ----------- |
891
+ | `children` | `ref[]` | ✅ | |
892
+
893
+ #### Defs
894
+
895
+ ##### `pub.leaflet.blocks.unorderedList#listItem`
896
+
897
+ | Property | Type | Required | Description |
898
+ | --------------------- | --------- | -------- | ------------------------------------------------------------------------------------------------------------------------- |
899
+ | `checked` | `boolean` | ❌ | If present, this item is a checklist item. true = checked, false = unchecked. If absent, this is a normal list item. |
900
+ | `content` | `union` | ✅ | |
901
+ | `children` | `ref[]` | ❌ | Nested unordered list items. Mutually exclusive with orderedListChildren; if both are present, children takes precedence. |
902
+ | `orderedListChildren` | `ref` | ❌ | Nested ordered list items. Mutually exclusive with children; if both are present, children takes precedence. |
903
+
904
+ ---
905
+
906
+ ### `pub.leaflet.blocks.website`
907
+
908
+ #### Properties
909
+
910
+ | Property | Type | Required | Description | Comments |
911
+ | -------------- | -------- | -------- | ----------- | ------------------------------------ |
912
+ | `previewImage` | `blob` | ❌ | | maxSize: 1000000, accepts: `image/*` |
913
+ | `title` | `string` | ❌ | | |
914
+ | `description` | `string` | ❌ | | |
915
+ | `src` | `string` | ✅ | | |
916
+
917
+ ---
918
+
919
+ ### `pub.leaflet.pages.linearDocument`
920
+
921
+ #### Properties
922
+
923
+ | Property | Type | Required | Description |
924
+ | -------- | -------- | -------- | ----------- |
925
+ | `id` | `string` | ❌ | |
926
+ | `blocks` | `ref[]` | ✅ | |
927
+
928
+ #### Defs
929
+
930
+ ##### `pub.leaflet.pages.linearDocument#block`
931
+
932
+ | Property | Type | Required | Description |
933
+ | ----------- | -------- | -------- | ----------- |
934
+ | `block` | `union` | ✅ | |
935
+ | `alignment` | `string` | ❌ | |
936
+
937
+ ##### `pub.leaflet.pages.linearDocument#quote`
938
+
939
+ | Property | Type | Required | Description |
940
+ | -------- | ----- | -------- | ----------- |
941
+ | `start` | `ref` | ✅ | |
942
+ | `end` | `ref` | ✅ | |
943
+
944
+ ##### `pub.leaflet.pages.linearDocument#position`
945
+
946
+ | Property | Type | Required | Description |
947
+ | -------- | ----------- | -------- | ----------- |
948
+ | `block` | `integer[]` | ✅ | |
949
+ | `offset` | `integer` | ✅ | |
950
+
951
+ ---
952
+
953
+ ### `pub.leaflet.richtext.facet`
954
+
955
+ **Description:** Annotation of a sub-string within rich text.
956
+
957
+ #### Properties
958
+
959
+ | Property | Type | Required | Description |
960
+ | ---------- | --------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
961
+ | `index` | `ref` | ✅ | Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets. |
962
+ | `features` | `union[]` | ✅ | |
963
+
964
+ #### Defs
965
+
966
+ ##### `pub.leaflet.richtext.facet#byteSlice`
967
+
968
+ Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.
969
+
970
+ | Property | Type | Required | Description |
971
+ | ----------- | --------- | -------- | ----------- |
972
+ | `byteStart` | `integer` | ✅ | |
973
+ | `byteEnd` | `integer` | ✅ | |
974
+
975
+ ##### `pub.leaflet.richtext.facet#link`
976
+
977
+ Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.
978
+
979
+ | Property | Type | Required | Description |
980
+ | -------- | -------- | -------- | ----------- |
981
+ | `uri` | `string` | ✅ | |
982
+
983
+ ##### `pub.leaflet.richtext.facet#didMention`
984
+
985
+ Facet feature for mentioning a did.
986
+
987
+ | Property | Type | Required | Description |
988
+ | -------- | -------- | -------- | ----------- |
989
+ | `did` | `string` | ✅ | |
990
+
991
+ ##### `pub.leaflet.richtext.facet#atMention`
992
+
993
+ Facet feature for mentioning an AT URI.
994
+
995
+ | Property | Type | Required | Description |
996
+ | -------- | -------- | -------- | ----------- |
997
+ | `atURI` | `string` | ✅ | |
998
+
999
+ ##### `pub.leaflet.richtext.facet#code`
1000
+
1001
+ Facet feature for inline code.
1002
+
1003
+ ##### `pub.leaflet.richtext.facet#highlight`
1004
+
1005
+ Facet feature for highlighted text.
1006
+
1007
+ ##### `pub.leaflet.richtext.facet#underline`
1008
+
1009
+ Facet feature for underline markup
1010
+
1011
+ ##### `pub.leaflet.richtext.facet#strikethrough`
1012
+
1013
+ Facet feature for strikethrough markup
1014
+
1015
+ ##### `pub.leaflet.richtext.facet#id`
1016
+
1017
+ Facet feature for an identifier. Used for linking to a segment
1018
+
1019
+ | Property | Type | Required | Description |
1020
+ | -------- | -------- | -------- | ----------- |
1021
+ | `id` | `string` | ❌ | |
1022
+
1023
+ ##### `pub.leaflet.richtext.facet#bold`
1024
+
1025
+ Facet feature for bold text
1026
+
1027
+ ##### `pub.leaflet.richtext.facet#italic`
1028
+
1029
+ Facet feature for italic text
1030
+
1031
+ ##### `pub.leaflet.richtext.facet#footnote`
1032
+
1033
+ Facet feature for a footnote reference
1034
+
1035
+ | Property | Type | Required | Description |
1036
+ | ------------------ | -------- | -------- | ----------- |
1037
+ | `footnoteId` | `string` | ✅ | |
1038
+ | `contentPlaintext` | `string` | ✅ | |
1039
+ | `contentFacets` | `ref[]` | ❌ | |
1040
+
1041
+ ---
1042
+
585
1043
  ## Notes
586
1044
 
587
1045
  - All timestamps use the `datetime` format (ISO 8601)