@hypercerts-org/lexicon 0.10.0-beta.15 → 0.10.0-beta.16

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 (141) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +50 -12
  3. package/SCHEMAS.md +293 -169
  4. package/dist/exports.d.ts +566 -179
  5. package/dist/exports.d.ts.map +1 -1
  6. package/dist/generated/exports.d.ts +566 -179
  7. package/dist/generated/exports.d.ts.map +1 -1
  8. package/dist/generated/lexicons.d.ts +1199 -465
  9. package/dist/generated/lexicons.d.ts.map +1 -1
  10. package/dist/generated/types/app/certified/actor/organization.d.ts +32 -0
  11. package/dist/generated/types/app/certified/actor/organization.d.ts.map +1 -0
  12. package/dist/generated/types/app/certified/actor/profile.d.ts +4 -1
  13. package/dist/generated/types/app/certified/actor/profile.d.ts.map +1 -1
  14. package/dist/generated/types/app/certified/badge/award.d.ts +2 -0
  15. package/dist/generated/types/app/certified/badge/award.d.ts.map +1 -1
  16. package/dist/generated/types/app/certified/badge/response.d.ts +1 -1
  17. package/dist/generated/types/app/certified/badge/response.d.ts.map +1 -1
  18. package/dist/generated/types/app/certified/location.d.ts +2 -2
  19. package/dist/generated/types/app/certified/location.d.ts.map +1 -1
  20. package/dist/generated/types/org/hyperboards/board.d.ts +75 -0
  21. package/dist/generated/types/org/hyperboards/board.d.ts.map +1 -0
  22. package/dist/generated/types/org/hyperboards/displayProfile.d.ts +31 -0
  23. package/dist/generated/types/org/hyperboards/displayProfile.d.ts.map +1 -0
  24. package/dist/generated/types/org/hypercerts/claim/activity.d.ts +8 -9
  25. package/dist/generated/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  26. package/dist/generated/types/org/hypercerts/claim/{contributionDetails.d.ts → contribution.d.ts} +6 -6
  27. package/dist/generated/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
  28. package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts +2 -2
  29. package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -1
  30. package/dist/generated/types/org/hypercerts/claim/rights.d.ts +3 -3
  31. package/dist/generated/types/org/hypercerts/claim/rights.d.ts.map +1 -1
  32. package/dist/generated/types/org/hypercerts/{claim/collection.d.ts → collection.d.ts} +10 -10
  33. package/dist/generated/types/org/hypercerts/collection.d.ts.map +1 -0
  34. package/dist/generated/types/org/hypercerts/context/acknowledgement.d.ts +25 -0
  35. package/dist/generated/types/org/hypercerts/context/acknowledgement.d.ts.map +1 -0
  36. package/dist/generated/types/org/hypercerts/{claim → context}/attachment.d.ts +6 -8
  37. package/dist/generated/types/org/hypercerts/context/attachment.d.ts.map +1 -0
  38. package/dist/generated/types/org/hypercerts/{claim → context}/evaluation.d.ts +15 -15
  39. package/dist/generated/types/org/hypercerts/context/evaluation.d.ts.map +1 -0
  40. package/dist/{types/org/hypercerts/claim → generated/types/org/hypercerts/context}/measurement.d.ts +7 -6
  41. package/dist/generated/types/org/hypercerts/context/measurement.d.ts.map +1 -0
  42. package/dist/generated/types/org/hypercerts/defs.d.ts +8 -0
  43. package/dist/generated/types/org/hypercerts/defs.d.ts.map +1 -1
  44. package/dist/generated/types/org/hypercerts/funding/receipt.d.ts +1 -1
  45. package/dist/generated/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
  46. package/dist/generated/types/org/hypercerts/workscope/cel.d.ts +20 -0
  47. package/dist/generated/types/org/hypercerts/workscope/cel.d.ts.map +1 -0
  48. package/dist/generated/types/org/hypercerts/workscope/tag.d.ts +36 -0
  49. package/dist/generated/types/org/hypercerts/workscope/tag.d.ts.map +1 -0
  50. package/dist/index.cjs +1822 -830
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.mjs +1774 -798
  53. package/dist/index.mjs.map +1 -1
  54. package/dist/lexicons.cjs +651 -253
  55. package/dist/lexicons.cjs.map +1 -1
  56. package/dist/lexicons.d.ts +1199 -465
  57. package/dist/lexicons.d.ts.map +1 -1
  58. package/dist/lexicons.mjs +651 -253
  59. package/dist/lexicons.mjs.map +1 -1
  60. package/dist/types/app/certified/actor/organization.d.ts +32 -0
  61. package/dist/types/app/certified/actor/organization.d.ts.map +1 -0
  62. package/dist/types/app/certified/actor/profile.d.ts +4 -1
  63. package/dist/types/app/certified/actor/profile.d.ts.map +1 -1
  64. package/dist/types/app/certified/badge/award.d.ts +2 -0
  65. package/dist/types/app/certified/badge/award.d.ts.map +1 -1
  66. package/dist/types/app/certified/badge/response.d.ts +1 -1
  67. package/dist/types/app/certified/badge/response.d.ts.map +1 -1
  68. package/dist/types/app/certified/location.d.ts +2 -2
  69. package/dist/types/app/certified/location.d.ts.map +1 -1
  70. package/dist/types/org/hyperboards/board.d.ts +75 -0
  71. package/dist/types/org/hyperboards/board.d.ts.map +1 -0
  72. package/dist/types/org/hyperboards/displayProfile.d.ts +31 -0
  73. package/dist/types/org/hyperboards/displayProfile.d.ts.map +1 -0
  74. package/dist/types/org/hypercerts/claim/activity.d.ts +8 -9
  75. package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  76. package/dist/types/org/hypercerts/claim/{contributionDetails.d.ts → contribution.d.ts} +6 -6
  77. package/dist/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
  78. package/dist/types/org/hypercerts/claim/contributorInformation.d.ts +2 -2
  79. package/dist/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -1
  80. package/dist/types/org/hypercerts/claim/rights.d.ts +3 -3
  81. package/dist/types/org/hypercerts/claim/rights.d.ts.map +1 -1
  82. package/dist/types/org/hypercerts/{claim/collection.d.ts → collection.d.ts} +10 -10
  83. package/dist/types/org/hypercerts/collection.d.ts.map +1 -0
  84. package/dist/types/org/hypercerts/context/acknowledgement.d.ts +25 -0
  85. package/dist/types/org/hypercerts/context/acknowledgement.d.ts.map +1 -0
  86. package/dist/types/org/hypercerts/{claim → context}/attachment.d.ts +6 -8
  87. package/dist/types/org/hypercerts/context/attachment.d.ts.map +1 -0
  88. package/dist/types/org/hypercerts/{claim → context}/evaluation.d.ts +15 -15
  89. package/dist/types/org/hypercerts/context/evaluation.d.ts.map +1 -0
  90. package/dist/{generated/types/org/hypercerts/claim → types/org/hypercerts/context}/measurement.d.ts +7 -6
  91. package/dist/types/org/hypercerts/context/measurement.d.ts.map +1 -0
  92. package/dist/types/org/hypercerts/defs.d.ts +8 -0
  93. package/dist/types/org/hypercerts/defs.d.ts.map +1 -1
  94. package/dist/types/org/hypercerts/funding/receipt.d.ts +1 -1
  95. package/dist/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
  96. package/dist/types/org/hypercerts/workscope/cel.d.ts +20 -0
  97. package/dist/types/org/hypercerts/workscope/cel.d.ts.map +1 -0
  98. package/dist/types/org/hypercerts/workscope/tag.d.ts +36 -0
  99. package/dist/types/org/hypercerts/workscope/tag.d.ts.map +1 -0
  100. package/lexicons/app/certified/actor/organization.json +70 -0
  101. package/lexicons/app/certified/actor/profile.json +13 -3
  102. package/lexicons/app/certified/badge/award.json +8 -1
  103. package/lexicons/app/certified/badge/definition.json +8 -3
  104. package/lexicons/app/certified/badge/response.json +3 -2
  105. package/lexicons/app/certified/location.json +2 -2
  106. package/lexicons/org/hyperboards/board.json +152 -0
  107. package/lexicons/org/hyperboards/displayProfile.json +64 -0
  108. package/lexicons/org/hypercerts/claim/activity.json +23 -29
  109. package/lexicons/org/hypercerts/claim/{contributionDetails.json → contribution.json} +4 -4
  110. package/lexicons/org/hypercerts/claim/contributorInformation.json +3 -2
  111. package/lexicons/org/hypercerts/claim/rights.json +5 -3
  112. package/lexicons/org/hypercerts/{claim/collection.json → collection.json} +9 -6
  113. package/lexicons/org/hypercerts/context/acknowledgement.json +42 -0
  114. package/lexicons/org/hypercerts/{claim → context}/attachment.json +6 -15
  115. package/lexicons/org/hypercerts/{claim → context}/evaluation.json +22 -22
  116. package/lexicons/org/hypercerts/{claim → context}/measurement.json +13 -9
  117. package/lexicons/org/hypercerts/defs.json +14 -1
  118. package/lexicons/org/hypercerts/funding/receipt.json +12 -6
  119. package/lexicons/org/hypercerts/workscope/cel.json +39 -0
  120. package/lexicons/org/hypercerts/workscope/tag.json +87 -0
  121. package/package.json +1 -1
  122. package/dist/generated/types/org/hypercerts/acknowledgement.d.ts +0 -21
  123. package/dist/generated/types/org/hypercerts/acknowledgement.d.ts.map +0 -1
  124. package/dist/generated/types/org/hypercerts/claim/attachment.d.ts.map +0 -1
  125. package/dist/generated/types/org/hypercerts/claim/collection.d.ts.map +0 -1
  126. package/dist/generated/types/org/hypercerts/claim/contributionDetails.d.ts.map +0 -1
  127. package/dist/generated/types/org/hypercerts/claim/evaluation.d.ts.map +0 -1
  128. package/dist/generated/types/org/hypercerts/claim/measurement.d.ts.map +0 -1
  129. package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts +0 -31
  130. package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts.map +0 -1
  131. package/dist/types/org/hypercerts/acknowledgement.d.ts +0 -21
  132. package/dist/types/org/hypercerts/acknowledgement.d.ts.map +0 -1
  133. package/dist/types/org/hypercerts/claim/attachment.d.ts.map +0 -1
  134. package/dist/types/org/hypercerts/claim/collection.d.ts.map +0 -1
  135. package/dist/types/org/hypercerts/claim/contributionDetails.d.ts.map +0 -1
  136. package/dist/types/org/hypercerts/claim/evaluation.d.ts.map +0 -1
  137. package/dist/types/org/hypercerts/claim/measurement.d.ts.map +0 -1
  138. package/dist/types/org/hypercerts/helper/workScopeTag.d.ts +0 -31
  139. package/dist/types/org/hypercerts/helper/workScopeTag.d.ts.map +0 -1
  140. package/lexicons/org/hypercerts/acknowledgement.json +0 -41
  141. package/lexicons/org/hypercerts/helper/workScopeTag.json +0 -65
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @hypercerts-org/lexicon
2
2
 
3
+ ## 0.10.0-beta.16
4
+
5
+ ### Minor Changes
6
+
7
+ - [#141](https://github.com/hypercerts-org/hypercerts-lexicon/pull/141) [`06fb6b5`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/06fb6b54542fe6311d55cb26a1c468c1374b0ab1) Thanks [@holkexyz](https://github.com/holkexyz)! - Add CEL expression support for structured work scopes (`org.hypercerts.workscope.cel`, `org.hypercerts.workscope.tag`)
8
+
9
+ - [#149](https://github.com/hypercerts-org/hypercerts-lexicon/pull/149) [`9f124eb`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/9f124eb404e30a30ac90a6c4be934ece84556c08) Thanks [@daviddao](https://github.com/daviddao)! - Add `org.hyperboards.board` and `org.hyperboards.displayProfile` lexicons for hyperboard visual presentation records.
10
+
11
+ - [#140](https://github.com/hypercerts-org/hypercerts-lexicon/pull/140) [`20eb414`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/20eb414bd75cb100bebe16cfb41286377c18d5e7) Thanks [@holkexyz](https://github.com/holkexyz)! - Add app.certified.actor.organization sidecar record for organization actor profiles with fields for organization type, labeled URLs, location (strongRef), and founded date
12
+
13
+ - [#144](https://github.com/hypercerts-org/hypercerts-lexicon/pull/144) [`fb90134`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/fb90134e5df32e955e5f9fba748f4ca46d00e90e) Thanks [@holkexyz](https://github.com/holkexyz)! - Make items optional in collection schema to allow creating empty collections
14
+
15
+ - [#151](https://github.com/hypercerts-org/hypercerts-lexicon/pull/151) [`4d5f42f`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/4d5f42fa4f9ae2c74a6703f3af50e9acfd09ae95) Thanks [@holkexyz](https://github.com/holkexyz)! - Add optional `url` field to `app.certified.badge.award` for linking to an external page associated with the badge
16
+
17
+ - [#152](https://github.com/hypercerts-org/hypercerts-lexicon/pull/152) [`2afb6ed`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/2afb6edb89ffd186f2e0cf015bcc3557e13a7a6d) Thanks [@holkexyz](https://github.com/holkexyz)! - Use Leaflet linear documents for rich-text descriptions in activity and attachment lexicons, and make attachment content optional.
18
+
19
+ - [#153](https://github.com/hypercerts-org/hypercerts-lexicon/pull/153) [`57dc44c`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/57dc44c163a6d62e4256e3de41ccf14617eb07e8) Thanks [@holkexyz](https://github.com/holkexyz)! - Improve acknowledgement schema: move to org.hypercerts.context.acknowledgement, generalize descriptions, make context optional, add maxGraphemes to comment.
20
+
21
+ - [#158](https://github.com/hypercerts-org/hypercerts-lexicon/pull/158) [`7743aa6`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/7743aa6014faa35714d3e146cfa45b0e67501992) Thanks [@holkexyz](https://github.com/holkexyz)! - Move collection lexicon from `org.hypercerts.claim.collection` to `org.hypercerts.collection` to reflect that collections can contain more than just claims.
22
+
23
+ - [#154](https://github.com/hypercerts-org/hypercerts-lexicon/pull/154) [`4c52b2c`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/4c52b2c9b2d449cbeb74eea9efa0a9eb2a0a39b7) Thanks [@holkexyz](https://github.com/holkexyz)! - Move evaluation and attachment lexicons to org.hypercerts.context namespace.
24
+
25
+ - [#155](https://github.com/hypercerts-org/hypercerts-lexicon/pull/155) [`a59e541`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/a59e5418e242a2f6b2868cc46f5481d75a7bf0ca) Thanks [@holkexyz](https://github.com/holkexyz)! - Rename contributionDetails to contribution (org.hypercerts.claim.contribution).
26
+
27
+ - [#156](https://github.com/hypercerts-org/hypercerts-lexicon/pull/156) [`86f252d`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/86f252da1f755bac6e323142a2ed11a8c6e37cba) Thanks [@holkexyz](https://github.com/holkexyz)! - Require createdAt in app.certified.actor.profile schema
28
+
29
+ - [#103](https://github.com/hypercerts-org/hypercerts-lexicon/pull/103) [`b5d79da`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/b5d79da303ff7726c7a84b7568b18ee055ac0e81) Thanks [@s-adamantine](https://github.com/s-adamantine)! - Align all lexicons with the ATProto Lexicon Style Guide: change badge response `enum` to `knownValues`, add `maxLength`/`maxGraphemes` to unconstrained string and array fields, fix style checker to skip format-typed fields.
30
+
3
31
  ## 0.10.0-beta.15
4
32
 
5
33
  ### Minor Changes
package/README.md CHANGED
@@ -65,12 +65,27 @@ const activityRecord = {
65
65
  $type: ACTIVITY_NSID,
66
66
  title: "My Impact Work",
67
67
  shortDescription: "Description here",
68
- // workScope can be a strongRef to a work-scope record:
68
+ // workScope can be a CEL expression (structured, machine-evaluable):
69
69
  workScope: {
70
- uri: "at://did:plc:alice/org.hypercerts.helper.workScopeTag/abc123",
71
- cid: "...",
70
+ $type: "org.hypercerts.workscope.cel",
71
+ expression:
72
+ "scope.hasAll(['mangrove_restoration', 'environmental_education']) && location.country == 'KE'",
73
+ usedTags: [
74
+ {
75
+ uri: "at://did:plc:alice/org.hypercerts.workscope.tag/3k2abc",
76
+ cid: "...",
77
+ },
78
+ {
79
+ uri: "at://did:plc:alice/org.hypercerts.workscope.tag/7x9def",
80
+ cid: "...",
81
+ },
82
+ ],
83
+ version: "v1",
84
+ createdAt: new Date().toISOString(),
72
85
  },
73
- // OR a simple string: workScope: "Environmental conservation",
86
+ // OR a strongRef to a single work scope tag:
87
+ // workScope: { uri: "at://did:plc:alice/org.hypercerts.workscope.tag/abc123", cid: "..." },
88
+ // OR a simple string: workScope: { $type: "org.hypercerts.claim.activity#workScopeString", scope: "Environmental conservation" },
74
89
  startDate: "2023-01-01T00:00:00Z",
75
90
  endDate: "2023-12-31T23:59:59Z",
76
91
  createdAt: new Date().toISOString(),
@@ -210,7 +225,7 @@ import { HYPERCERTS_NSIDS_BY_TYPE } from "@hypercerts-org/lexicon";
210
225
 
211
226
  // Access via type namespace names
212
227
  const activityId = HYPERCERTS_NSIDS_BY_TYPE.OrgHypercertsClaimActivity;
213
- const collectionId = HYPERCERTS_NSIDS_BY_TYPE.OrgHypercertsClaimCollection;
228
+ const collectionId = HYPERCERTS_NSIDS_BY_TYPE.OrgHypercertsCollection;
214
229
  ```
215
230
 
216
231
  **Lightweight Bundle**: Import from `/lexicons` for runtime validation without TypeScript types (smaller bundle size):
@@ -282,13 +297,36 @@ property tables, see [SCHEMAS.md](SCHEMAS.md).
282
297
 
283
298
  ## Examples
284
299
 
285
- ### Creating a Collection with Nested Items
300
+ ### Collections
301
+
302
+ Collections (`org.hypercerts.collection`) are named sets of references to
303
+ other records, for any purpose the creator chooses. They live at the
304
+ top-level namespace (not under `claim`) because they can contain more than
305
+ just claims.
306
+
307
+ #### Use Cases
308
+
309
+ - Defining which activity claims belong to a project
310
+ - Collections of projects
311
+ - Favourites lists
312
+ - Items associated with a particular funding round or funder
313
+ - Portfolios of work by a contributor or organization
314
+ - Thematic groupings (by work scope/topic)
315
+ - Curated showcases for display (e.g. a hyperboard)
316
+ - Milestone groupings (activities in a sprint/cycle)
317
+ - Geographic groupings (projects or locations in a region)
318
+ - Collections for reporting (e.g. all claims in a grant report)
319
+
320
+ **Note**: Hyperboards are a separate concern — they are visualisations
321
+ built on top of collections, not collections themselves.
322
+
323
+ #### Creating a Collection with Nested Items
286
324
 
287
325
  ```typescript
288
326
  import { TID } from "@atproto/common";
289
327
 
290
328
  const collectionRecord = {
291
- $type: "org.hypercerts.claim.collection",
329
+ $type: "org.hypercerts.collection",
292
330
  title: "Climate Action Projects",
293
331
  shortDescription:
294
332
  "A collection of climate-related activities and sub-collections",
@@ -305,7 +343,7 @@ const collectionRecord = {
305
343
  },
306
344
  // Reference to another collection (recursive!)
307
345
  {
308
- uri: "at://did:plc:carol/org.hypercerts.claim.collection/4m5ghi",
346
+ uri: "at://did:plc:carol/org.hypercerts.collection/4m5ghi",
309
347
  cid: "...",
310
348
  },
311
349
  ],
@@ -320,7 +358,7 @@ include rich-text descriptions:
320
358
 
321
359
  ```typescript
322
360
  const projectRecord = {
323
- $type: "org.hypercerts.claim.collection",
361
+ $type: "org.hypercerts.collection",
324
362
  type: "project",
325
363
  title: "Carbon Offset Initiative",
326
364
  shortDescription: "A project focused on carbon reduction and reforestation",
@@ -375,7 +413,7 @@ external images.
375
413
 
376
414
  ### Acknowledging Inclusion
377
415
 
378
- The `org.hypercerts.acknowledgement` record enables bidirectional
416
+ The `org.hypercerts.context.acknowledgement` record enables bidirectional
379
417
  linking between records that live in different PDS repositories. When
380
418
  one user includes another user's record (e.g. adding an activity to a
381
419
  collection), the owner of the included record can create an
@@ -405,7 +443,7 @@ const ack = {
405
443
  cid: "bafy...",
406
444
  },
407
445
  context: {
408
- uri: "at://did:plc:alice/org.hypercerts.claim.collection/7x9def",
446
+ uri: "at://did:plc:alice/org.hypercerts.collection/7x9def",
409
447
  cid: "bafy...",
410
448
  },
411
449
  acknowledged: true,
@@ -463,7 +501,7 @@ Collections can include an optional `location` field to specify where the collec
463
501
 
464
502
  ```typescript
465
503
  const collectionRecord = {
466
- $type: "org.hypercerts.claim.collection",
504
+ $type: "org.hypercerts.collection",
467
505
  title: "Climate Action Projects",
468
506
  shortDescription: "A collection of climate-related activities",
469
507
  location: {