@hypercerts-org/lexicon 0.10.0-beta.9 → 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 (256) hide show
  1. package/CHANGELOG.md +907 -0
  2. package/README.md +420 -168
  3. package/SCHEMAS.md +897 -142
  4. package/dist/exports.d.ts +1876 -453
  5. package/dist/exports.d.ts.map +1 -1
  6. package/dist/generated/exports.d.ts +1876 -453
  7. package/dist/generated/exports.d.ts.map +1 -1
  8. package/dist/generated/lexicons.d.ts +3709 -1113
  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/actor/organization.d.ts +32 -0
  13. package/dist/generated/types/app/certified/actor/organization.d.ts.map +1 -0
  14. package/dist/generated/types/app/certified/actor/profile.d.ts +30 -0
  15. package/dist/generated/types/app/certified/actor/profile.d.ts.map +1 -0
  16. package/dist/generated/types/app/certified/badge/award.d.ts +4 -3
  17. package/dist/generated/types/app/certified/badge/award.d.ts.map +1 -1
  18. package/dist/generated/types/app/certified/badge/definition.d.ts +3 -3
  19. package/dist/generated/types/app/certified/badge/definition.d.ts.map +1 -1
  20. package/dist/generated/types/app/certified/badge/response.d.ts +3 -3
  21. package/dist/generated/types/app/certified/badge/response.d.ts.map +1 -1
  22. package/dist/generated/types/app/certified/defs.d.ts +11 -1
  23. package/dist/generated/types/app/certified/defs.d.ts.map +1 -1
  24. package/dist/generated/types/app/certified/link/evm.d.ts +45 -0
  25. package/dist/generated/types/app/certified/link/evm.d.ts.map +1 -0
  26. package/dist/generated/types/app/certified/location.d.ts +13 -5
  27. package/dist/generated/types/app/certified/location.d.ts.map +1 -1
  28. package/dist/generated/types/org/hyperboards/board.d.ts +75 -0
  29. package/dist/generated/types/org/hyperboards/board.d.ts.map +1 -0
  30. package/dist/generated/types/org/hyperboards/displayProfile.d.ts +31 -0
  31. package/dist/generated/types/org/hyperboards/displayProfile.d.ts.map +1 -0
  32. package/dist/generated/types/org/hypercerts/claim/activity.d.ts +33 -11
  33. package/dist/generated/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  34. package/dist/generated/types/org/hypercerts/claim/{contributionDetails.d.ts → contribution.d.ts} +6 -6
  35. package/dist/generated/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
  36. package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts +2 -2
  37. package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -1
  38. package/dist/generated/types/org/hypercerts/claim/rights.d.ts +3 -3
  39. package/dist/generated/types/org/hypercerts/claim/rights.d.ts.map +1 -1
  40. package/dist/generated/types/org/hypercerts/collection.d.ts +48 -0
  41. package/dist/generated/types/org/hypercerts/collection.d.ts.map +1 -0
  42. package/dist/generated/types/org/hypercerts/context/acknowledgement.d.ts +25 -0
  43. package/dist/generated/types/org/hypercerts/context/acknowledgement.d.ts.map +1 -0
  44. package/dist/generated/types/org/hypercerts/context/attachment.d.ts +37 -0
  45. package/dist/generated/types/org/hypercerts/context/attachment.d.ts.map +1 -0
  46. package/dist/{types/org/hypercerts/claim → generated/types/org/hypercerts/context}/evaluation.d.ts +15 -15
  47. package/dist/generated/types/org/hypercerts/context/evaluation.d.ts.map +1 -0
  48. package/dist/generated/types/org/hypercerts/context/measurement.d.ts +43 -0
  49. package/dist/generated/types/org/hypercerts/context/measurement.d.ts.map +1 -0
  50. package/dist/generated/types/org/hypercerts/defs.d.ts +19 -44
  51. package/dist/generated/types/org/hypercerts/defs.d.ts.map +1 -1
  52. package/dist/generated/types/org/hypercerts/funding/receipt.d.ts +18 -6
  53. package/dist/generated/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
  54. package/dist/generated/types/org/hypercerts/workscope/cel.d.ts +20 -0
  55. package/dist/generated/types/org/hypercerts/workscope/cel.d.ts.map +1 -0
  56. package/dist/generated/types/org/hypercerts/workscope/tag.d.ts +36 -0
  57. package/dist/generated/types/org/hypercerts/workscope/tag.d.ts.map +1 -0
  58. package/dist/generated/types/pub/leaflet/blocks/blockquote.d.ts +13 -0
  59. package/dist/generated/types/pub/leaflet/blocks/blockquote.d.ts.map +1 -0
  60. package/dist/generated/types/pub/leaflet/blocks/bskyPost.d.ts +13 -0
  61. package/dist/generated/types/pub/leaflet/blocks/bskyPost.d.ts.map +1 -0
  62. package/dist/generated/types/pub/leaflet/blocks/button.d.ts +12 -0
  63. package/dist/generated/types/pub/leaflet/blocks/button.d.ts.map +1 -0
  64. package/dist/generated/types/pub/leaflet/blocks/code.d.ts +13 -0
  65. package/dist/generated/types/pub/leaflet/blocks/code.d.ts.map +1 -0
  66. package/dist/generated/types/pub/leaflet/blocks/header.d.ts +14 -0
  67. package/dist/generated/types/pub/leaflet/blocks/header.d.ts.map +1 -0
  68. package/dist/generated/types/pub/leaflet/blocks/horizontalRule.d.ts +10 -0
  69. package/dist/generated/types/pub/leaflet/blocks/horizontalRule.d.ts.map +1 -0
  70. package/dist/generated/types/pub/leaflet/blocks/iframe.d.ts +12 -0
  71. package/dist/generated/types/pub/leaflet/blocks/iframe.d.ts.map +1 -0
  72. package/dist/generated/types/pub/leaflet/blocks/image.d.ts +21 -0
  73. package/dist/generated/types/pub/leaflet/blocks/image.d.ts.map +1 -0
  74. package/dist/generated/types/pub/leaflet/blocks/math.d.ts +11 -0
  75. package/dist/generated/types/pub/leaflet/blocks/math.d.ts.map +1 -0
  76. package/dist/generated/types/pub/leaflet/blocks/orderedList.d.ts +31 -0
  77. package/dist/generated/types/pub/leaflet/blocks/orderedList.d.ts.map +1 -0
  78. package/dist/generated/types/pub/leaflet/blocks/page.d.ts +11 -0
  79. package/dist/generated/types/pub/leaflet/blocks/page.d.ts.map +1 -0
  80. package/dist/generated/types/pub/leaflet/blocks/poll.d.ts +12 -0
  81. package/dist/generated/types/pub/leaflet/blocks/poll.d.ts.map +1 -0
  82. package/dist/generated/types/pub/leaflet/blocks/text.d.ts +14 -0
  83. package/dist/generated/types/pub/leaflet/blocks/text.d.ts.map +1 -0
  84. package/dist/generated/types/pub/leaflet/blocks/unorderedList.d.ts +29 -0
  85. package/dist/generated/types/pub/leaflet/blocks/unorderedList.d.ts.map +1 -0
  86. package/dist/generated/types/pub/leaflet/blocks/website.d.ts +14 -0
  87. package/dist/generated/types/pub/leaflet/blocks/website.d.ts.map +1 -0
  88. package/dist/generated/types/pub/leaflet/pages/linearDocument.d.ts +54 -1
  89. package/dist/generated/types/pub/leaflet/pages/linearDocument.d.ts.map +1 -1
  90. package/dist/generated/types/pub/leaflet/richtext/facet.d.ts +97 -0
  91. package/dist/generated/types/pub/leaflet/richtext/facet.d.ts.map +1 -0
  92. package/dist/index.cjs +5682 -1668
  93. package/dist/index.cjs.map +1 -1
  94. package/dist/index.mjs +5554 -1640
  95. package/dist/index.mjs.map +1 -1
  96. package/dist/lexicons.cjs +1846 -419
  97. package/dist/lexicons.cjs.map +1 -1
  98. package/dist/lexicons.d.ts +3709 -1113
  99. package/dist/lexicons.d.ts.map +1 -1
  100. package/dist/lexicons.mjs +1846 -419
  101. package/dist/lexicons.mjs.map +1 -1
  102. package/dist/tests/validate-external-lexicons.test.d.ts +2 -0
  103. package/dist/tests/validate-external-lexicons.test.d.ts.map +1 -0
  104. package/dist/tests/validate-funding-receipt.test.d.ts +2 -0
  105. package/dist/tests/validate-funding-receipt.test.d.ts.map +1 -0
  106. package/dist/tests/validate-link-evm.test.d.ts +2 -0
  107. package/dist/tests/validate-link-evm.test.d.ts.map +1 -0
  108. package/dist/tests/validate-rights.test.d.ts +2 -0
  109. package/dist/tests/validate-rights.test.d.ts.map +1 -0
  110. package/dist/types/app/bsky/richtext/facet.d.ts +44 -7
  111. package/dist/types/app/bsky/richtext/facet.d.ts.map +1 -1
  112. package/dist/types/app/certified/actor/organization.d.ts +32 -0
  113. package/dist/types/app/certified/actor/organization.d.ts.map +1 -0
  114. package/dist/types/app/certified/actor/profile.d.ts +30 -0
  115. package/dist/types/app/certified/actor/profile.d.ts.map +1 -0
  116. package/dist/types/app/certified/badge/award.d.ts +4 -3
  117. package/dist/types/app/certified/badge/award.d.ts.map +1 -1
  118. package/dist/types/app/certified/badge/definition.d.ts +3 -3
  119. package/dist/types/app/certified/badge/definition.d.ts.map +1 -1
  120. package/dist/types/app/certified/badge/response.d.ts +3 -3
  121. package/dist/types/app/certified/badge/response.d.ts.map +1 -1
  122. package/dist/types/app/certified/defs.d.ts +11 -1
  123. package/dist/types/app/certified/defs.d.ts.map +1 -1
  124. package/dist/types/app/certified/link/evm.d.ts +45 -0
  125. package/dist/types/app/certified/link/evm.d.ts.map +1 -0
  126. package/dist/types/app/certified/location.d.ts +13 -5
  127. package/dist/types/app/certified/location.d.ts.map +1 -1
  128. package/dist/types/org/hyperboards/board.d.ts +75 -0
  129. package/dist/types/org/hyperboards/board.d.ts.map +1 -0
  130. package/dist/types/org/hyperboards/displayProfile.d.ts +31 -0
  131. package/dist/types/org/hyperboards/displayProfile.d.ts.map +1 -0
  132. package/dist/types/org/hypercerts/claim/activity.d.ts +33 -11
  133. package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  134. package/dist/types/org/hypercerts/claim/{contributionDetails.d.ts → contribution.d.ts} +6 -6
  135. package/dist/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
  136. package/dist/types/org/hypercerts/claim/contributorInformation.d.ts +2 -2
  137. package/dist/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -1
  138. package/dist/types/org/hypercerts/claim/rights.d.ts +3 -3
  139. package/dist/types/org/hypercerts/claim/rights.d.ts.map +1 -1
  140. package/dist/types/org/hypercerts/collection.d.ts +48 -0
  141. package/dist/types/org/hypercerts/collection.d.ts.map +1 -0
  142. package/dist/types/org/hypercerts/context/acknowledgement.d.ts +25 -0
  143. package/dist/types/org/hypercerts/context/acknowledgement.d.ts.map +1 -0
  144. package/dist/types/org/hypercerts/context/attachment.d.ts +37 -0
  145. package/dist/types/org/hypercerts/context/attachment.d.ts.map +1 -0
  146. package/dist/{generated/types/org/hypercerts/claim → types/org/hypercerts/context}/evaluation.d.ts +15 -15
  147. package/dist/types/org/hypercerts/context/evaluation.d.ts.map +1 -0
  148. package/dist/types/org/hypercerts/context/measurement.d.ts +43 -0
  149. package/dist/types/org/hypercerts/context/measurement.d.ts.map +1 -0
  150. package/dist/types/org/hypercerts/defs.d.ts +19 -44
  151. package/dist/types/org/hypercerts/defs.d.ts.map +1 -1
  152. package/dist/types/org/hypercerts/funding/receipt.d.ts +18 -6
  153. package/dist/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
  154. package/dist/types/org/hypercerts/workscope/cel.d.ts +20 -0
  155. package/dist/types/org/hypercerts/workscope/cel.d.ts.map +1 -0
  156. package/dist/types/org/hypercerts/workscope/tag.d.ts +36 -0
  157. package/dist/types/org/hypercerts/workscope/tag.d.ts.map +1 -0
  158. package/dist/types/pub/leaflet/blocks/blockquote.d.ts +13 -0
  159. package/dist/types/pub/leaflet/blocks/blockquote.d.ts.map +1 -0
  160. package/dist/types/pub/leaflet/blocks/bskyPost.d.ts +13 -0
  161. package/dist/types/pub/leaflet/blocks/bskyPost.d.ts.map +1 -0
  162. package/dist/types/pub/leaflet/blocks/button.d.ts +12 -0
  163. package/dist/types/pub/leaflet/blocks/button.d.ts.map +1 -0
  164. package/dist/types/pub/leaflet/blocks/code.d.ts +13 -0
  165. package/dist/types/pub/leaflet/blocks/code.d.ts.map +1 -0
  166. package/dist/types/pub/leaflet/blocks/header.d.ts +14 -0
  167. package/dist/types/pub/leaflet/blocks/header.d.ts.map +1 -0
  168. package/dist/types/pub/leaflet/blocks/horizontalRule.d.ts +10 -0
  169. package/dist/types/pub/leaflet/blocks/horizontalRule.d.ts.map +1 -0
  170. package/dist/types/pub/leaflet/blocks/iframe.d.ts +12 -0
  171. package/dist/types/pub/leaflet/blocks/iframe.d.ts.map +1 -0
  172. package/dist/types/pub/leaflet/blocks/image.d.ts +21 -0
  173. package/dist/types/pub/leaflet/blocks/image.d.ts.map +1 -0
  174. package/dist/types/pub/leaflet/blocks/math.d.ts +11 -0
  175. package/dist/types/pub/leaflet/blocks/math.d.ts.map +1 -0
  176. package/dist/types/pub/leaflet/blocks/orderedList.d.ts +31 -0
  177. package/dist/types/pub/leaflet/blocks/orderedList.d.ts.map +1 -0
  178. package/dist/types/pub/leaflet/blocks/page.d.ts +11 -0
  179. package/dist/types/pub/leaflet/blocks/page.d.ts.map +1 -0
  180. package/dist/types/pub/leaflet/blocks/poll.d.ts +12 -0
  181. package/dist/types/pub/leaflet/blocks/poll.d.ts.map +1 -0
  182. package/dist/types/pub/leaflet/blocks/text.d.ts +14 -0
  183. package/dist/types/pub/leaflet/blocks/text.d.ts.map +1 -0
  184. package/dist/types/pub/leaflet/blocks/unorderedList.d.ts +29 -0
  185. package/dist/types/pub/leaflet/blocks/unorderedList.d.ts.map +1 -0
  186. package/dist/types/pub/leaflet/blocks/website.d.ts +14 -0
  187. package/dist/types/pub/leaflet/blocks/website.d.ts.map +1 -0
  188. package/dist/types/pub/leaflet/pages/linearDocument.d.ts +54 -1
  189. package/dist/types/pub/leaflet/pages/linearDocument.d.ts.map +1 -1
  190. package/dist/types/pub/leaflet/richtext/facet.d.ts +97 -0
  191. package/dist/types/pub/leaflet/richtext/facet.d.ts.map +1 -0
  192. package/lexicons/app/bsky/richtext/facet.json +51 -0
  193. package/lexicons/app/certified/actor/organization.json +70 -0
  194. package/lexicons/app/certified/actor/profile.json +61 -0
  195. package/lexicons/app/certified/badge/award.json +10 -3
  196. package/lexicons/app/certified/badge/definition.json +17 -4
  197. package/lexicons/app/certified/badge/response.json +5 -4
  198. package/lexicons/app/certified/defs.json +11 -3
  199. package/lexicons/app/certified/link/evm.json +88 -0
  200. package/lexicons/app/certified/location.json +29 -6
  201. package/lexicons/org/hyperboards/board.json +152 -0
  202. package/lexicons/org/hyperboards/displayProfile.json +64 -0
  203. package/lexicons/org/hypercerts/claim/activity.json +61 -39
  204. package/lexicons/org/hypercerts/claim/{contributionDetails.json → contribution.json} +4 -4
  205. package/lexicons/org/hypercerts/claim/contributorInformation.json +3 -2
  206. package/lexicons/org/hypercerts/claim/rights.json +5 -3
  207. package/lexicons/org/hypercerts/{claim/collection.json → collection.json} +33 -11
  208. package/lexicons/org/hypercerts/context/acknowledgement.json +42 -0
  209. package/lexicons/org/hypercerts/context/attachment.json +88 -0
  210. package/lexicons/org/hypercerts/{claim → context}/evaluation.json +25 -22
  211. package/lexicons/org/hypercerts/context/measurement.json +107 -0
  212. package/lexicons/org/hypercerts/defs.json +35 -89
  213. package/lexicons/org/hypercerts/funding/receipt.json +40 -14
  214. package/lexicons/org/hypercerts/workscope/cel.json +39 -0
  215. package/lexicons/org/hypercerts/workscope/tag.json +87 -0
  216. package/lexicons/pub/leaflet/blocks/blockquote.json +22 -0
  217. package/lexicons/pub/leaflet/blocks/bskyPost.json +19 -0
  218. package/lexicons/pub/leaflet/blocks/button.json +19 -0
  219. package/lexicons/pub/leaflet/blocks/code.json +21 -0
  220. package/lexicons/pub/leaflet/blocks/header.json +27 -0
  221. package/lexicons/pub/leaflet/blocks/horizontalRule.json +11 -0
  222. package/lexicons/pub/leaflet/blocks/iframe.json +21 -0
  223. package/lexicons/pub/leaflet/blocks/image.json +37 -0
  224. package/lexicons/pub/leaflet/blocks/math.json +15 -0
  225. package/lexicons/pub/leaflet/blocks/orderedList.json +54 -0
  226. package/lexicons/pub/leaflet/blocks/page.json +15 -0
  227. package/lexicons/pub/leaflet/blocks/poll.json +16 -0
  228. package/lexicons/pub/leaflet/blocks/text.json +26 -0
  229. package/lexicons/pub/leaflet/blocks/unorderedList.json +50 -0
  230. package/lexicons/pub/leaflet/blocks/website.json +27 -0
  231. package/lexicons/pub/leaflet/pages/linearDocument.json +98 -0
  232. package/lexicons/pub/leaflet/richtext/facet.json +149 -0
  233. package/package.json +4 -5
  234. package/dist/generated/types/org/hypercerts/claim/collection.d.ts +0 -41
  235. package/dist/generated/types/org/hypercerts/claim/collection.d.ts.map +0 -1
  236. package/dist/generated/types/org/hypercerts/claim/contributionDetails.d.ts.map +0 -1
  237. package/dist/generated/types/org/hypercerts/claim/evaluation.d.ts.map +0 -1
  238. package/dist/generated/types/org/hypercerts/claim/evidence.d.ts +0 -29
  239. package/dist/generated/types/org/hypercerts/claim/evidence.d.ts.map +0 -1
  240. package/dist/generated/types/org/hypercerts/claim/measurement.d.ts +0 -30
  241. package/dist/generated/types/org/hypercerts/claim/measurement.d.ts.map +0 -1
  242. package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts +0 -31
  243. package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts.map +0 -1
  244. package/dist/types/org/hypercerts/claim/collection.d.ts +0 -41
  245. package/dist/types/org/hypercerts/claim/collection.d.ts.map +0 -1
  246. package/dist/types/org/hypercerts/claim/contributionDetails.d.ts.map +0 -1
  247. package/dist/types/org/hypercerts/claim/evaluation.d.ts.map +0 -1
  248. package/dist/types/org/hypercerts/claim/evidence.d.ts +0 -29
  249. package/dist/types/org/hypercerts/claim/evidence.d.ts.map +0 -1
  250. package/dist/types/org/hypercerts/claim/measurement.d.ts +0 -30
  251. package/dist/types/org/hypercerts/claim/measurement.d.ts.map +0 -1
  252. package/dist/types/org/hypercerts/helper/workScopeTag.d.ts +0 -31
  253. package/dist/types/org/hypercerts/helper/workScopeTag.d.ts.map +0 -1
  254. package/lexicons/org/hypercerts/claim/evidence.json +0 -57
  255. package/lexicons/org/hypercerts/claim/measurement.json +0 -70
  256. package/lexicons/org/hypercerts/helper/workScopeTag.json +0 -65
@@ -12,11 +12,12 @@
12
12
  "properties": {
13
13
  "identifier": {
14
14
  "type": "string",
15
- "description": "DID or a URI to a social profile of the contributor."
15
+ "description": "DID (did:plc:...) or URI to a social profile of the contributor.",
16
+ "maxLength": 2048
16
17
  },
17
18
  "displayName": {
18
19
  "type": "string",
19
- "description": "Display name of the contributor.",
20
+ "description": "Human-readable name for the contributor as it should appear in UI.",
20
21
  "maxLength": 100
21
22
  },
22
23
  "image": {
@@ -17,17 +17,19 @@
17
17
  "properties": {
18
18
  "rightsName": {
19
19
  "type": "string",
20
- "description": "Full name of the rights",
20
+ "description": "Human-readable name for these rights (e.g. 'All Rights Reserved', 'CC BY-SA 4.0')",
21
21
  "maxLength": 100
22
22
  },
23
23
  "rightsType": {
24
24
  "type": "string",
25
- "description": "Short rights identifier for easier search",
25
+ "description": "Short identifier code for this rights type (e.g. 'ARR', 'CC-BY-SA') to facilitate filtering and search",
26
26
  "maxLength": 10
27
27
  },
28
28
  "rightsDescription": {
29
29
  "type": "string",
30
- "description": "Description of the rights of this hypercert"
30
+ "description": "Detailed explanation of the rights holders' permissions, restrictions, and conditions",
31
+ "maxLength": 10000,
32
+ "maxGraphemes": 1000
31
33
  },
32
34
  "attachment": {
33
35
  "type": "union",
@@ -1,22 +1,24 @@
1
1
  {
2
2
  "lexicon": 1,
3
- "id": "org.hypercerts.claim.collection",
3
+ "id": "org.hypercerts.collection",
4
4
  "defs": {
5
5
  "main": {
6
6
  "type": "record",
7
- "description": "A collection/group of items (activities and/or other collections). Collections support recursive nesting. Use app.certified.location as a sidecar (same TID) for location metadata.",
7
+ "description": "A collection/group of items (activities and/or other collections). Collections support recursive nesting.",
8
8
  "key": "tid",
9
9
  "record": {
10
10
  "type": "object",
11
- "required": ["title", "items", "createdAt"],
11
+ "required": ["title", "createdAt"],
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"],
17
+ "maxLength": 64
16
18
  },
17
19
  "title": {
18
20
  "type": "string",
19
- "description": "The title of this collection",
21
+ "description": "Display name for this collection (e.g. 'Q1 2025 Impact Projects')",
20
22
  "maxLength": 800,
21
23
  "maxGraphemes": 80
22
24
  },
@@ -24,12 +26,24 @@
24
26
  "type": "string",
25
27
  "maxLength": 3000,
26
28
  "maxGraphemes": 300,
27
- "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
+ }
28
38
  },
29
39
  "description": {
30
- "type": "ref",
31
- "ref": "pub.leaflet.pages.linearDocument#main",
32
- "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."
33
47
  },
34
48
  "avatar": {
35
49
  "type": "union",
@@ -50,11 +64,17 @@
50
64
  "items": {
51
65
  "type": "array",
52
66
  "description": "Array of items in this collection with optional weights.",
67
+ "maxLength": 1000,
53
68
  "items": {
54
69
  "type": "ref",
55
70
  "ref": "#item"
56
71
  }
57
72
  },
73
+ "location": {
74
+ "type": "ref",
75
+ "ref": "com.atproto.repo.strongRef",
76
+ "description": "A strong reference to the location where this collection's activities were performed. The record referenced must conform with the lexicon app.certified.location."
77
+ },
58
78
  "createdAt": {
59
79
  "type": "string",
60
80
  "format": "datetime",
@@ -65,16 +85,18 @@
65
85
  },
66
86
  "item": {
67
87
  "type": "object",
88
+ "description": "An item in a collection, with an identifier and optional weight.",
68
89
  "required": ["itemIdentifier"],
69
90
  "properties": {
70
91
  "itemIdentifier": {
71
92
  "type": "ref",
72
93
  "ref": "com.atproto.repo.strongRef",
73
- "description": "Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.claim.collection)."
94
+ "description": "Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection)."
74
95
  },
75
96
  "itemWeight": {
76
97
  "type": "string",
77
- "description": "Optional weight for this item (positive numeric value stored as string). Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed."
98
+ "description": "Optional weight for this item (positive numeric value stored as string). Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed.",
99
+ "maxLength": 100
78
100
  }
79
101
  }
80
102
  }
@@ -0,0 +1,42 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "org.hypercerts.context.acknowledgement",
4
+ "defs": {
5
+ "main": {
6
+ "type": "record",
7
+ "description": "Acknowledges a record (subject) or its relationship in a context. Created in the acknowledging actor's repo to form a bidirectional link. Examples: a contributor acknowledging inclusion in an activity, an activity owner acknowledging inclusion in a collection, or a record owner acknowledging an evaluation.",
8
+ "key": "tid",
9
+ "record": {
10
+ "type": "object",
11
+ "required": ["subject", "acknowledged", "createdAt"],
12
+ "properties": {
13
+ "subject": {
14
+ "type": "ref",
15
+ "ref": "com.atproto.repo.strongRef",
16
+ "description": "The record being acknowledged (e.g. an activity, a contributor information record, an evaluation)."
17
+ },
18
+ "context": {
19
+ "type": "union",
20
+ "refs": ["org.hypercerts.defs#uri", "com.atproto.repo.strongRef"],
21
+ "description": "Context for the acknowledgement (e.g. the collection that includes an activity, or the activity that includes a contributor). A URI for a lightweight reference or a strong reference for content-hash verification."
22
+ },
23
+ "acknowledged": {
24
+ "type": "boolean",
25
+ "description": "Whether the relationship is acknowledged (true) or rejected (false)."
26
+ },
27
+ "comment": {
28
+ "type": "string",
29
+ "description": "Optional plain-text comment providing additional context or reasoning.",
30
+ "maxLength": 10000,
31
+ "maxGraphemes": 1000
32
+ },
33
+ "createdAt": {
34
+ "type": "string",
35
+ "format": "datetime",
36
+ "description": "Client-declared timestamp when this record was originally created."
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "org.hypercerts.context.attachment",
4
+ "defs": {
5
+ "main": {
6
+ "type": "record",
7
+ "description": "An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation).",
8
+ "key": "tid",
9
+ "record": {
10
+ "type": "object",
11
+ "required": ["title", "createdAt"],
12
+ "properties": {
13
+ "subjects": {
14
+ "type": "array",
15
+ "description": "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.",
16
+ "items": {
17
+ "type": "ref",
18
+ "ref": "com.atproto.repo.strongRef"
19
+ },
20
+ "maxLength": 100
21
+ },
22
+ "contentType": {
23
+ "type": "string",
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
33
+ },
34
+ "content": {
35
+ "type": "array",
36
+ "description": "The files, documents, or external references included in this attachment record.",
37
+ "items": {
38
+ "type": "union",
39
+ "refs": [
40
+ "org.hypercerts.defs#uri",
41
+ "org.hypercerts.defs#smallBlob"
42
+ ]
43
+ },
44
+ "maxLength": 100
45
+ },
46
+ "title": {
47
+ "type": "string",
48
+ "maxLength": 256,
49
+ "description": "Display title for this attachment (e.g. 'Impact Assessment Report', 'Audit Findings')"
50
+ },
51
+ "shortDescription": {
52
+ "type": "string",
53
+ "description": "Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.",
54
+ "maxLength": 3000,
55
+ "maxGraphemes": 300
56
+ },
57
+ "shortDescriptionFacets": {
58
+ "type": "array",
59
+ "description": "Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).",
60
+ "items": {
61
+ "type": "ref",
62
+ "ref": "app.bsky.richtext.facet"
63
+ }
64
+ },
65
+ "description": {
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."
73
+ },
74
+ "location": {
75
+ "type": "ref",
76
+ "ref": "com.atproto.repo.strongRef",
77
+ "description": "A strong reference to the location where this attachment's subject matter occurred. The record referenced must conform with the lexicon app.certified.location."
78
+ },
79
+ "createdAt": {
80
+ "type": "string",
81
+ "format": "datetime",
82
+ "description": "Client-declared timestamp when this record was originally created."
83
+ }
84
+ }
85
+ }
86
+ }
87
+ }
88
+ }
@@ -1,26 +1,7 @@
1
1
  {
2
2
  "lexicon": 1,
3
- "id": "org.hypercerts.claim.evaluation",
3
+ "id": "org.hypercerts.context.evaluation",
4
4
  "defs": {
5
- "score": {
6
- "type": "object",
7
- "description": "Overall score for an evaluation on a numeric scale.",
8
- "required": ["min", "max", "value"],
9
- "properties": {
10
- "min": {
11
- "type": "integer",
12
- "description": "Minimum value of the scale, e.g. 0 or 1."
13
- },
14
- "max": {
15
- "type": "integer",
16
- "description": "Maximum value of the scale, e.g. 5 or 10."
17
- },
18
- "value": {
19
- "type": "integer",
20
- "description": "Score within the inclusive range [min, max]."
21
- }
22
- }
23
- },
24
5
  "main": {
25
6
  "type": "record",
26
7
  "description": "An evaluation of a hypercert record (e.g. an activity and its impact).",
@@ -32,7 +13,7 @@
32
13
  "subject": {
33
14
  "type": "ref",
34
15
  "ref": "com.atproto.repo.strongRef",
35
- "description": "A strong reference to what is being evaluated. (e.g activity, measurement, contribution, etc.)"
16
+ "description": "A strong reference to what is being evaluated (e.g. activity, measurement, contribution, etc.)"
36
17
  },
37
18
  "evaluators": {
38
19
  "type": "array",
@@ -57,7 +38,7 @@
57
38
  },
58
39
  "measurements": {
59
40
  "type": "array",
60
- "description": "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.claim.measurement",
41
+ "description": "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.context.measurement",
61
42
  "items": {
62
43
  "type": "ref",
63
44
  "ref": "com.atproto.repo.strongRef"
@@ -87,6 +68,28 @@
87
68
  }
88
69
  }
89
70
  }
71
+ },
72
+ "score": {
73
+ "type": "object",
74
+ "description": "Overall score for an evaluation on a numeric scale.",
75
+ "required": ["min", "max", "value"],
76
+ "properties": {
77
+ "min": {
78
+ "type": "string",
79
+ "description": "Minimum value of the scale as a numeric string (e.g. '0', '1').",
80
+ "maxLength": 50
81
+ },
82
+ "max": {
83
+ "type": "string",
84
+ "description": "Maximum value of the scale as a numeric string (e.g. '5', '10').",
85
+ "maxLength": 50
86
+ },
87
+ "value": {
88
+ "type": "string",
89
+ "description": "Score within the inclusive range [min, max] as a numeric string (e.g. '3.7').",
90
+ "maxLength": 50
91
+ }
92
+ }
90
93
  }
91
94
  }
92
95
  }
@@ -0,0 +1,107 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "org.hypercerts.context.measurement",
4
+ "defs": {
5
+ "main": {
6
+ "type": "record",
7
+ "description": "Measurement data related to one or more records (e.g. activities, projects, etc.).",
8
+ "key": "tid",
9
+ "record": {
10
+ "type": "object",
11
+ "required": ["metric", "unit", "value", "createdAt"],
12
+ "properties": {
13
+ "subjects": {
14
+ "type": "array",
15
+ "description": "Strong references to the records this measurement refers to (e.g. activities, projects, or claims).",
16
+ "items": {
17
+ "type": "ref",
18
+ "ref": "com.atproto.repo.strongRef"
19
+ },
20
+ "maxLength": 100
21
+ },
22
+ "metric": {
23
+ "type": "string",
24
+ "description": "The metric being measured, e.g. forest area restored, number of users, etc.",
25
+ "maxLength": 500
26
+ },
27
+ "unit": {
28
+ "type": "string",
29
+ "description": "The unit of the measured value (e.g. kg CO₂e, hectares, %, index score).",
30
+ "maxLength": 50
31
+ },
32
+ "value": {
33
+ "type": "string",
34
+ "description": "The measured value as a numeric string (e.g. '1234.56')",
35
+ "maxLength": 500
36
+ },
37
+ "startDate": {
38
+ "type": "string",
39
+ "format": "datetime",
40
+ "description": "The start date and time when the measurement began."
41
+ },
42
+ "endDate": {
43
+ "type": "string",
44
+ "format": "datetime",
45
+ "description": "The end date and time when the measurement ended. For one-time measurements, this should equal the start date."
46
+ },
47
+ "locations": {
48
+ "type": "array",
49
+ "description": "Optional geographic references related to where the measurement was taken. Each referenced record must conform with the app.certified.location lexicon.",
50
+ "items": {
51
+ "type": "ref",
52
+ "ref": "com.atproto.repo.strongRef"
53
+ },
54
+ "maxLength": 100
55
+ },
56
+ "methodType": {
57
+ "type": "string",
58
+ "description": "Short identifier for the measurement methodology",
59
+ "maxLength": 30
60
+ },
61
+ "methodURI": {
62
+ "type": "string",
63
+ "format": "uri",
64
+ "description": "URI to methodology documentation, standard protocol, or measurement procedure"
65
+ },
66
+ "evidenceURI": {
67
+ "type": "array",
68
+ "description": "URIs to related evidence or underlying data (e.g. org.hypercerts.claim.evidence records or raw datasets)",
69
+ "items": {
70
+ "type": "string",
71
+ "format": "uri"
72
+ },
73
+ "maxLength": 50
74
+ },
75
+ "measurers": {
76
+ "type": "array",
77
+ "description": "DIDs of the entities that performed this measurement",
78
+ "items": {
79
+ "type": "ref",
80
+ "ref": "app.certified.defs#did"
81
+ },
82
+ "maxLength": 100
83
+ },
84
+ "comment": {
85
+ "type": "string",
86
+ "description": "Short comment of this measurement, suitable for previews and list views. Rich text annotations may be provided via `commentFacets`.",
87
+ "maxLength": 3000,
88
+ "maxGraphemes": 300
89
+ },
90
+ "commentFacets": {
91
+ "type": "array",
92
+ "description": "Rich text annotations for `comment` (mentions, URLs, hashtags, etc).",
93
+ "items": {
94
+ "type": "ref",
95
+ "ref": "app.bsky.richtext.facet"
96
+ }
97
+ },
98
+ "createdAt": {
99
+ "type": "string",
100
+ "format": "datetime",
101
+ "description": "Client-declared timestamp when this record was originally created"
102
+ }
103
+ }
104
+ }
105
+ }
106
+ }
107
+ }
@@ -1,7 +1,29 @@
1
1
  {
2
2
  "lexicon": 1,
3
3
  "id": "org.hypercerts.defs",
4
+ "description": "Common type definitions used across all Hypercerts protocols.",
4
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
+ },
5
27
  "uri": {
6
28
  "type": "object",
7
29
  "required": ["uri"],
@@ -10,7 +32,6 @@
10
32
  "uri": {
11
33
  "type": "string",
12
34
  "format": "uri",
13
- "maxGraphemes": 1024,
14
35
  "description": "URI to external data"
15
36
  }
16
37
  }
@@ -54,6 +75,19 @@
54
75
  }
55
76
  }
56
77
  },
78
+ "smallVideo": {
79
+ "type": "object",
80
+ "required": ["video"],
81
+ "description": "Object containing a small video",
82
+ "properties": {
83
+ "video": {
84
+ "type": "blob",
85
+ "accept": ["video/mp4", "video/webm"],
86
+ "maxSize": 20971520,
87
+ "description": "Video (up to 20MB)"
88
+ }
89
+ }
90
+ },
57
91
  "largeImage": {
58
92
  "type": "object",
59
93
  "required": ["image"],
@@ -66,94 +100,6 @@
66
100
  "description": "Image (up to 10MB)"
67
101
  }
68
102
  }
69
- },
70
- "workScopeAll": {
71
- "type": "object",
72
- "required": ["op", "args"],
73
- "description": "Logical AND operation: all arguments must be satisfied.",
74
- "properties": {
75
- "op": {
76
- "type": "string",
77
- "const": "all",
78
- "description": "Operator type: 'all' (logical AND)"
79
- },
80
- "args": {
81
- "type": "array",
82
- "items": {
83
- "type": "union",
84
- "refs": [
85
- "#workScopeAll",
86
- "#workScopeAny",
87
- "#workScopeNot",
88
- "#workScopeAtom"
89
- ]
90
- },
91
- "minLength": 1,
92
- "maxLength": 100,
93
- "description": "Array of work scope expressions that must all be satisfied"
94
- }
95
- }
96
- },
97
- "workScopeAny": {
98
- "type": "object",
99
- "required": ["op", "args"],
100
- "description": "Logical OR operation: at least one argument must be satisfied.",
101
- "properties": {
102
- "op": {
103
- "type": "string",
104
- "const": "any",
105
- "description": "Operator type: 'any' (logical OR)"
106
- },
107
- "args": {
108
- "type": "array",
109
- "items": {
110
- "type": "union",
111
- "refs": [
112
- "#workScopeAll",
113
- "#workScopeAny",
114
- "#workScopeNot",
115
- "#workScopeAtom"
116
- ]
117
- },
118
- "minLength": 1,
119
- "maxLength": 100,
120
- "description": "Array of work scope expressions, at least one of which must be satisfied"
121
- }
122
- }
123
- },
124
- "workScopeNot": {
125
- "type": "object",
126
- "required": ["op", "arg"],
127
- "description": "Logical NOT operation: the argument must not be satisfied.",
128
- "properties": {
129
- "op": {
130
- "type": "string",
131
- "const": "not",
132
- "description": "Operator type: 'not' (logical NOT)"
133
- },
134
- "arg": {
135
- "type": "union",
136
- "refs": [
137
- "#workScopeAll",
138
- "#workScopeAny",
139
- "#workScopeNot",
140
- "#workScopeAtom"
141
- ],
142
- "description": "Work scope expression that must not be satisfied"
143
- }
144
- }
145
- },
146
- "workScopeAtom": {
147
- "type": "object",
148
- "required": ["atom"],
149
- "description": "Atomic scope reference: a strong reference to a scope record.",
150
- "properties": {
151
- "atom": {
152
- "type": "ref",
153
- "ref": "com.atproto.repo.strongRef",
154
- "description": "Strong reference to an org.hypercerts.helper.workScopeTag record"
155
- }
156
- }
157
103
  }
158
104
  }
159
105
  }