@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/dist/index.mjs CHANGED
@@ -16,7 +16,7 @@ function is$type($type, id, hash) {
16
16
  $type.startsWith(id) &&
17
17
  $type.endsWith(hash);
18
18
  }
19
- function is$typed$j(v, id, hash) {
19
+ function is$typed$n(v, id, hash) {
20
20
  return isObject(v) && '$type' in v && is$type(v.$type, id, hash);
21
21
  }
22
22
  function maybe$typed(v, id, hash) {
@@ -37,19 +37,91 @@ function asPredicate(validate) {
37
37
  * GENERATED CODE - DO NOT MODIFY
38
38
  */
39
39
  const schemaDict = {
40
+ AppCertifiedActorOrganization: {
41
+ lexicon: 1,
42
+ id: 'app.certified.actor.organization',
43
+ defs: {
44
+ main: {
45
+ type: 'record',
46
+ description: 'Extended metadata for an organization actor. Complements the base actor profile with organization-specific fields like legal structure and reference links.',
47
+ key: 'literal:self',
48
+ record: {
49
+ type: 'object',
50
+ required: ['createdAt'],
51
+ properties: {
52
+ organizationType: {
53
+ type: 'array',
54
+ description: "Legal or operational structures of the organization (e.g. 'nonprofit', 'ngo', 'government', 'social-enterprise', 'cooperative').",
55
+ items: {
56
+ type: 'string',
57
+ maxLength: 128,
58
+ maxGraphemes: 100,
59
+ },
60
+ maxLength: 10,
61
+ },
62
+ urls: {
63
+ type: 'array',
64
+ description: 'Additional reference URLs (social media profiles, contact pages, donation links, etc.) with a display label for each URL.',
65
+ items: {
66
+ type: 'ref',
67
+ ref: 'lex:app.certified.actor.organization#urlItem',
68
+ },
69
+ },
70
+ location: {
71
+ type: 'ref',
72
+ ref: 'lex:com.atproto.repo.strongRef',
73
+ description: 'A strong reference to the location where the organization is based. The record referenced must conform with the lexicon app.certified.location.',
74
+ },
75
+ foundedDate: {
76
+ type: 'string',
77
+ format: 'datetime',
78
+ description: "When the organization was established. Stored as datetime per ATProto conventions (no date-only format exists). Clients should use midnight UTC (e.g., '2005-01-01T00:00:00.000Z'); consumers should treat only the date portion as canonical.",
79
+ },
80
+ createdAt: {
81
+ type: 'string',
82
+ format: 'datetime',
83
+ description: 'Client-declared timestamp when this record was originally created.',
84
+ },
85
+ },
86
+ },
87
+ },
88
+ urlItem: {
89
+ type: 'object',
90
+ description: 'A labeled URL reference.',
91
+ required: ['url'],
92
+ properties: {
93
+ url: {
94
+ type: 'string',
95
+ format: 'uri',
96
+ description: 'The URL.',
97
+ maxLength: 10000,
98
+ maxGraphemes: 2048,
99
+ },
100
+ label: {
101
+ type: 'string',
102
+ description: "Optional human-readable label for this URL (e.g. 'Support page', 'Donation page').",
103
+ maxLength: 640,
104
+ maxGraphemes: 64,
105
+ },
106
+ },
107
+ },
108
+ },
109
+ },
40
110
  AppCertifiedActorProfile: {
41
111
  lexicon: 1,
42
112
  id: 'app.certified.actor.profile',
43
113
  defs: {
44
114
  main: {
45
115
  type: 'record',
46
- description: 'A declaration of a Hypercert account profile.',
116
+ description: 'A declaration of a Certified account profile.',
47
117
  key: 'literal:self',
48
118
  record: {
49
119
  type: 'object',
120
+ required: ['createdAt'],
50
121
  properties: {
51
122
  displayName: {
52
123
  type: 'string',
124
+ description: 'Display name for the account',
53
125
  maxGraphemes: 64,
54
126
  maxLength: 640,
55
127
  },
@@ -68,6 +140,7 @@ const schemaDict = {
68
140
  website: {
69
141
  type: 'string',
70
142
  format: 'uri',
143
+ description: 'Account website URL',
71
144
  },
72
145
  avatar: {
73
146
  type: 'union',
@@ -88,6 +161,7 @@ const schemaDict = {
88
161
  createdAt: {
89
162
  type: 'string',
90
163
  format: 'datetime',
164
+ description: 'Client-declared timestamp when this record was originally created',
91
165
  },
92
166
  },
93
167
  },
@@ -122,6 +196,13 @@ const schemaDict = {
122
196
  note: {
123
197
  type: 'string',
124
198
  description: 'Optional statement explaining the reason for this badge award.',
199
+ maxLength: 500,
200
+ },
201
+ url: {
202
+ type: 'string',
203
+ format: 'uri',
204
+ description: 'Optional URL the badge award links to.',
205
+ maxLength: 2048,
125
206
  },
126
207
  createdAt: {
127
208
  type: 'string',
@@ -148,10 +229,12 @@ const schemaDict = {
148
229
  badgeType: {
149
230
  type: 'string',
150
231
  description: 'Category of the badge (e.g. endorsement, participation, affiliation).',
232
+ maxLength: 100,
151
233
  },
152
234
  title: {
153
235
  type: 'string',
154
236
  description: 'Human-readable title of the badge.',
237
+ maxLength: 256,
155
238
  },
156
239
  icon: {
157
240
  type: 'blob',
@@ -167,10 +250,13 @@ const schemaDict = {
167
250
  description: {
168
251
  type: 'string',
169
252
  description: 'Optional short statement describing what the badge represents.',
253
+ maxLength: 5000,
254
+ maxGraphemes: 500,
170
255
  },
171
256
  allowedIssuers: {
172
257
  type: 'array',
173
258
  description: 'Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it.',
259
+ maxLength: 100,
174
260
  items: {
175
261
  type: 'ref',
176
262
  ref: 'lex:app.certified.defs#did',
@@ -205,12 +291,13 @@ const schemaDict = {
205
291
  },
206
292
  response: {
207
293
  type: 'string',
208
- enum: ['accepted', 'rejected'],
294
+ knownValues: ['accepted', 'rejected'],
209
295
  description: 'The recipient’s response for the badge (accepted or rejected).',
210
296
  },
211
297
  weight: {
212
298
  type: 'string',
213
299
  description: 'Optional relative weight for accepted badges, assigned by the recipient.',
300
+ maxLength: 50,
214
301
  },
215
302
  createdAt: {
216
303
  type: 'string',
@@ -297,13 +384,13 @@ const schemaDict = {
297
384
  },
298
385
  name: {
299
386
  type: 'string',
300
- description: 'Optional name for this location',
387
+ description: "Human-readable name for this location (e.g. 'Golden Gate Park', 'San Francisco Bay Area')",
301
388
  maxLength: 1000,
302
389
  maxGraphemes: 100,
303
390
  },
304
391
  description: {
305
392
  type: 'string',
306
- description: 'Optional description for this location',
393
+ description: 'Additional context about this location, such as its significance to the work or specific boundaries',
307
394
  maxLength: 2000,
308
395
  maxGraphemes: 500,
309
396
  },
@@ -351,36 +438,223 @@ const schemaDict = {
351
438
  },
352
439
  },
353
440
  },
354
- OrgHypercertsAcknowledgement: {
441
+ OrgHyperboardsBoard: {
355
442
  lexicon: 1,
356
- id: 'org.hypercerts.acknowledgement',
443
+ id: 'org.hyperboards.board',
357
444
  defs: {
358
445
  main: {
359
446
  type: 'record',
360
- description: "Acknowledges the inclusion of one record (subject) within another (context). Typically created in the subject owner's repo to form a bidirectional link. For example, a contributor acknowledging inclusion in an activity, or an activity owner acknowledging inclusion in a collection.",
447
+ description: "Configuration record for a hyperboard, wrapping an underlying activity or collection with visual presentation settings. Stored in the creator's PDS.",
361
448
  key: 'tid',
362
449
  record: {
363
450
  type: 'object',
364
- required: ['subject', 'context', 'acknowledged', 'createdAt'],
451
+ required: ['subject', 'createdAt'],
365
452
  properties: {
366
453
  subject: {
367
454
  type: 'ref',
368
455
  ref: 'lex:com.atproto.repo.strongRef',
369
- description: 'The record whose inclusion is being acknowledged (e.g. an activity, a contributor information record).',
456
+ description: 'Reference to the org.hypercerts.claim.activity or org.hypercerts.claim.collection this board visualizes.',
370
457
  },
371
- context: {
458
+ config: {
372
459
  type: 'ref',
373
- ref: 'lex:com.atproto.repo.strongRef',
374
- description: 'The record that includes the subject (e.g. a collection/project that includes an activity, or an activity that includes a contributor).',
460
+ ref: 'lex:org.hyperboards.board#boardConfig',
461
+ description: 'Board-level visual configuration (background, colors, aspect ratio).',
375
462
  },
376
- acknowledged: {
377
- type: 'boolean',
378
- description: 'Whether inclusion is acknowledged (true) or rejected (false).',
463
+ contributorConfigs: {
464
+ type: 'array',
465
+ description: 'Per-contributor configuration entries for this board.',
466
+ maxLength: 1000,
467
+ items: {
468
+ type: 'ref',
469
+ ref: 'lex:org.hyperboards.board#contributorConfig',
470
+ },
379
471
  },
380
- comment: {
472
+ createdAt: {
381
473
  type: 'string',
382
- description: 'Optional comment providing additional context or reasoning.',
383
- maxLength: 1000,
474
+ format: 'datetime',
475
+ description: 'Client-declared timestamp when this record was originally created.',
476
+ },
477
+ },
478
+ },
479
+ },
480
+ boardConfig: {
481
+ type: 'object',
482
+ description: "Visual configuration for a hyperboard's background, colors, and layout.",
483
+ properties: {
484
+ backgroundType: {
485
+ type: 'string',
486
+ description: 'Type of background content.',
487
+ knownValues: ['image', 'iframe'],
488
+ maxLength: 10,
489
+ },
490
+ backgroundImage: {
491
+ type: 'union',
492
+ refs: [
493
+ 'lex:org.hypercerts.defs#uri',
494
+ 'lex:org.hypercerts.defs#smallImage',
495
+ ],
496
+ description: 'Background image as a URI or image blob.',
497
+ },
498
+ backgroundIframeUrl: {
499
+ type: 'string',
500
+ format: 'uri',
501
+ description: 'URI of the background iframe.',
502
+ maxLength: 2048,
503
+ },
504
+ backgroundGrayscale: {
505
+ type: 'boolean',
506
+ description: 'Whether the background is rendered in grayscale. Default: true.',
507
+ },
508
+ backgroundOpacity: {
509
+ type: 'integer',
510
+ description: 'Background opacity as a percentage (0–100).',
511
+ minimum: 0,
512
+ maximum: 100,
513
+ },
514
+ backgroundColor: {
515
+ type: 'string',
516
+ description: "Background color as a hex string (e.g. '#ffffff').",
517
+ maxLength: 20,
518
+ },
519
+ borderColor: {
520
+ type: 'string',
521
+ description: "Border color as a hex string (e.g. '#000000').",
522
+ maxLength: 20,
523
+ },
524
+ grayscaleImages: {
525
+ type: 'boolean',
526
+ description: 'Whether contributor images are rendered in grayscale. Default: false.',
527
+ },
528
+ imageShape: {
529
+ type: 'string',
530
+ description: 'Shape used to crop contributor images on this board.',
531
+ knownValues: ['circular', 'square'],
532
+ maxLength: 20,
533
+ },
534
+ aspectRatio: {
535
+ type: 'string',
536
+ description: 'Display aspect ratio of the board.',
537
+ knownValues: ['16:9', '4:3', '1:1'],
538
+ maxLength: 10,
539
+ },
540
+ },
541
+ },
542
+ contributorConfig: {
543
+ type: 'object',
544
+ description: '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.',
545
+ required: ['contributor'],
546
+ properties: {
547
+ contributor: {
548
+ type: 'union',
549
+ refs: [
550
+ 'lex:com.atproto.repo.strongRef',
551
+ 'lex:org.hypercerts.claim.activity#contributorIdentity',
552
+ ],
553
+ description: '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.',
554
+ },
555
+ override: {
556
+ type: 'boolean',
557
+ description: "When true, these values take precedence over the contributor's own profile and display settings. When false or omitted, they are only used as fallbacks if the contributor has not set their own settings.",
558
+ },
559
+ displayName: {
560
+ type: 'string',
561
+ description: 'Display name for this contributor on this board.',
562
+ maxLength: 640,
563
+ maxGraphemes: 64,
564
+ },
565
+ image: {
566
+ type: 'union',
567
+ refs: [
568
+ 'lex:org.hypercerts.defs#uri',
569
+ 'lex:org.hypercerts.defs#smallImage',
570
+ ],
571
+ description: 'Avatar or face image for this contributor on this board, as a URI or image blob.',
572
+ },
573
+ video: {
574
+ type: 'union',
575
+ refs: [
576
+ 'lex:org.hypercerts.defs#uri',
577
+ 'lex:org.hypercerts.defs#smallVideo',
578
+ ],
579
+ description: 'Video for this contributor, as a URI (embed/direct link) or uploaded video blob.',
580
+ },
581
+ hoverImage: {
582
+ type: 'union',
583
+ refs: [
584
+ 'lex:org.hypercerts.defs#uri',
585
+ 'lex:org.hypercerts.defs#smallImage',
586
+ ],
587
+ description: 'Image overlay shown when hovering over this contributor, as a URI or image blob.',
588
+ },
589
+ hoverIframeUrl: {
590
+ type: 'string',
591
+ format: 'uri',
592
+ description: 'Iframe overlay shown when hovering over this contributor.',
593
+ maxLength: 2048,
594
+ },
595
+ url: {
596
+ type: 'string',
597
+ format: 'uri',
598
+ description: 'Click-through link URL for this contributor.',
599
+ maxLength: 2048,
600
+ },
601
+ },
602
+ },
603
+ },
604
+ },
605
+ OrgHyperboardsDisplayProfile: {
606
+ lexicon: 1,
607
+ id: 'org.hyperboards.displayProfile',
608
+ defs: {
609
+ main: {
610
+ type: 'record',
611
+ description: "User-declared visual presentation defaults for how a contributor appears on hyperboards. Stored in the contributor's own PDS and reusable across multiple boards.",
612
+ key: 'literal:self',
613
+ record: {
614
+ type: 'object',
615
+ required: ['createdAt'],
616
+ properties: {
617
+ displayName: {
618
+ type: 'string',
619
+ description: 'Display name override for this user on hyperboards.',
620
+ maxLength: 640,
621
+ maxGraphemes: 64,
622
+ },
623
+ image: {
624
+ type: 'union',
625
+ refs: [
626
+ 'lex:org.hypercerts.defs#uri',
627
+ 'lex:org.hypercerts.defs#smallImage',
628
+ ],
629
+ description: 'Avatar or face image override for this user on hyperboards, as a URI or image blob.',
630
+ },
631
+ video: {
632
+ type: 'union',
633
+ refs: [
634
+ 'lex:org.hypercerts.defs#uri',
635
+ 'lex:org.hypercerts.defs#smallVideo',
636
+ ],
637
+ description: 'Default video for this user across boards, as a URI (embed/direct link) or uploaded video blob.',
638
+ },
639
+ hoverImage: {
640
+ type: 'union',
641
+ refs: [
642
+ 'lex:org.hypercerts.defs#uri',
643
+ 'lex:org.hypercerts.defs#smallImage',
644
+ ],
645
+ description: 'Default hover image for this user across boards, as a URI or image blob.',
646
+ },
647
+ hoverIframeUrl: {
648
+ type: 'string',
649
+ format: 'uri',
650
+ description: 'Default hover iframe URL for this user across boards.',
651
+ maxLength: 2048,
652
+ },
653
+ url: {
654
+ type: 'string',
655
+ format: 'uri',
656
+ description: 'Default click-through link URL for this user across boards.',
657
+ maxLength: 2048,
384
658
  },
385
659
  createdAt: {
386
660
  type: 'string',
@@ -406,7 +680,7 @@ const schemaDict = {
406
680
  properties: {
407
681
  title: {
408
682
  type: 'string',
409
- description: 'Title of the hypercert.',
683
+ description: "Display title summarizing the impact work (e.g. 'Reforestation in Amazon Basin 2024')",
410
684
  maxLength: 256,
411
685
  },
412
686
  shortDescription: {
@@ -424,18 +698,9 @@ const schemaDict = {
424
698
  },
425
699
  },
426
700
  description: {
427
- type: 'string',
428
- description: 'Optional longer description of this activity claim, including context or interpretation. Rich text annotations may be provided via `descriptionFacets`.',
429
- maxLength: 30000,
430
- maxGraphemes: 3000,
431
- },
432
- descriptionFacets: {
433
- type: 'array',
434
- description: 'Rich text annotations for `description` (mentions, URLs, hashtags, etc).',
435
- items: {
436
- type: 'ref',
437
- ref: 'lex:app.bsky.richtext.facet',
438
- },
701
+ type: 'ref',
702
+ ref: 'lex:pub.leaflet.pages.linearDocument#main',
703
+ description: 'Rich-text description, represented as a Leaflet linear document.',
439
704
  },
440
705
  image: {
441
706
  type: 'union',
@@ -445,13 +710,22 @@ const schemaDict = {
445
710
  ],
446
711
  description: 'The hypercert visual representation as a URI or image blob.',
447
712
  },
713
+ contributors: {
714
+ type: 'array',
715
+ description: 'An array of contributor objects, each containing contributor information, weight, and contribution details.',
716
+ maxLength: 1000,
717
+ items: {
718
+ type: 'ref',
719
+ ref: 'lex:org.hypercerts.claim.activity#contributor',
720
+ },
721
+ },
448
722
  workScope: {
449
723
  type: 'union',
450
724
  refs: [
451
- 'lex:com.atproto.repo.strongRef',
725
+ 'lex:org.hypercerts.workscope.cel',
452
726
  'lex:org.hypercerts.claim.activity#workScopeString',
453
727
  ],
454
- description: 'Work scope definition. Either a strongRef to a work-scope logic record (structured, nested logic), or a free-form string for simple or legacy scopes. The work scope record should conform to the org.hypercerts.helper.workScopeTag lexicon.',
728
+ description: 'Work scope definition. A CEL expression for structured, machine-evaluable scopes or a free-form string for simple and legacy scopes.',
455
729
  },
456
730
  startDate: {
457
731
  type: 'string',
@@ -463,12 +737,13 @@ const schemaDict = {
463
737
  format: 'datetime',
464
738
  description: 'When the work ended',
465
739
  },
466
- contributors: {
740
+ locations: {
467
741
  type: 'array',
468
- description: 'An array of contributor objects, each containing contributor information, weight, and contribution details.',
742
+ description: 'An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.',
743
+ maxLength: 1000,
469
744
  items: {
470
745
  type: 'ref',
471
- ref: 'lex:org.hypercerts.claim.activity#contributor',
746
+ ref: 'lex:com.atproto.repo.strongRef',
472
747
  },
473
748
  },
474
749
  rights: {
@@ -476,14 +751,6 @@ const schemaDict = {
476
751
  ref: 'lex:com.atproto.repo.strongRef',
477
752
  description: 'A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights.',
478
753
  },
479
- locations: {
480
- type: 'array',
481
- description: 'An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.',
482
- items: {
483
- type: 'ref',
484
- ref: 'lex:com.atproto.repo.strongRef',
485
- },
486
- },
487
754
  createdAt: {
488
755
  type: 'string',
489
756
  format: 'datetime',
@@ -502,11 +769,12 @@ const schemaDict = {
502
769
  'lex:org.hypercerts.claim.activity#contributorIdentity',
503
770
  'lex:com.atproto.repo.strongRef',
504
771
  ],
505
- description: 'Contributor identity as a string (DID or identifier) via org.hypercerts.claim.activity#contributorIdentity, or a strong reference to a contributor information record.',
772
+ description: '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.',
506
773
  },
507
774
  contributionWeight: {
508
775
  type: 'string',
509
776
  description: 'The relative weight/importance of this contribution (stored as a string to avoid float precision issues). Must be a positive numeric value. Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed.',
777
+ maxLength: 100,
510
778
  },
511
779
  contributionDetails: {
512
780
  type: 'union',
@@ -514,7 +782,7 @@ const schemaDict = {
514
782
  'lex:org.hypercerts.claim.activity#contributorRole',
515
783
  'lex:com.atproto.repo.strongRef',
516
784
  ],
517
- description: 'Contribution details as a string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record.',
785
+ description: 'Inline contribution role object with a role string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record. The record referenced must conform with the lexicon org.hypercerts.claim.contribution.',
518
786
  },
519
787
  },
520
788
  },
@@ -559,81 +827,78 @@ const schemaDict = {
559
827
  },
560
828
  },
561
829
  },
562
- OrgHypercertsClaimAttachment: {
830
+ OrgHypercertsClaimContribution: {
563
831
  lexicon: 1,
564
- id: 'org.hypercerts.claim.attachment',
832
+ id: 'org.hypercerts.claim.contribution',
565
833
  defs: {
566
834
  main: {
567
835
  type: 'record',
568
- description: 'An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation).',
836
+ description: 'Details about a specific contribution including role, description, and timeframe.',
569
837
  key: 'tid',
570
838
  record: {
571
839
  type: 'object',
572
- required: ['title', 'content', 'createdAt'],
840
+ required: ['createdAt'],
573
841
  properties: {
574
- subjects: {
575
- type: 'array',
576
- 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.',
577
- items: {
578
- type: 'ref',
579
- ref: 'lex:com.atproto.repo.strongRef',
580
- },
842
+ role: {
843
+ type: 'string',
844
+ description: 'Role or title of the contributor.',
581
845
  maxLength: 100,
582
846
  },
583
- contentType: {
847
+ contributionDescription: {
584
848
  type: 'string',
585
- maxLength: 64,
586
- description: 'The type of attachment, e.g. report, audit, evidence, testimonial, methodology, etc.',
849
+ description: 'Description of what the contribution concretely involved.',
850
+ maxLength: 10000,
851
+ maxGraphemes: 1000,
587
852
  },
588
- content: {
589
- type: 'array',
590
- description: 'The files, documents, or external references included in this attachment record.',
591
- items: {
592
- type: 'union',
593
- refs: [
594
- 'lex:org.hypercerts.defs#uri',
595
- 'lex:org.hypercerts.defs#smallBlob',
596
- ],
597
- },
598
- maxLength: 100,
853
+ startDate: {
854
+ type: 'string',
855
+ format: 'datetime',
856
+ description: "When this contribution started. Should fall within the parent hypercert's timeframe.",
599
857
  },
600
- title: {
858
+ endDate: {
601
859
  type: 'string',
602
- maxLength: 256,
603
- description: 'Title of this attachment.',
860
+ format: 'datetime',
861
+ description: "When this contribution finished. Should fall within the parent hypercert's timeframe.",
604
862
  },
605
- shortDescription: {
863
+ createdAt: {
606
864
  type: 'string',
607
- description: 'Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.',
608
- maxLength: 3000,
609
- maxGraphemes: 300,
865
+ format: 'datetime',
866
+ description: 'Client-declared timestamp when this record was originally created.',
610
867
  },
611
- shortDescriptionFacets: {
612
- type: 'array',
613
- description: 'Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).',
614
- items: {
615
- type: 'ref',
616
- ref: 'lex:app.bsky.richtext.facet',
617
- },
618
- },
619
- description: {
868
+ },
869
+ },
870
+ },
871
+ },
872
+ },
873
+ OrgHypercertsClaimContributorInformation: {
874
+ lexicon: 1,
875
+ id: 'org.hypercerts.claim.contributorInformation',
876
+ defs: {
877
+ main: {
878
+ type: 'record',
879
+ description: 'Contributor information including identifier, display name, and image.',
880
+ key: 'tid',
881
+ record: {
882
+ type: 'object',
883
+ required: ['createdAt'],
884
+ properties: {
885
+ identifier: {
620
886
  type: 'string',
621
- description: 'Optional longer description of this attachment, including context or interpretation. Rich text annotations may be provided via `descriptionFacets`.',
622
- maxLength: 30000,
623
- maxGraphemes: 3000,
887
+ description: 'DID (did:plc:...) or URI to a social profile of the contributor.',
888
+ maxLength: 2048,
624
889
  },
625
- descriptionFacets: {
626
- type: 'array',
627
- description: 'Rich text annotations for `description` (mentions, URLs, hashtags, etc).',
628
- items: {
629
- type: 'ref',
630
- ref: 'lex:app.bsky.richtext.facet',
631
- },
890
+ displayName: {
891
+ type: 'string',
892
+ description: 'Human-readable name for the contributor as it should appear in UI.',
893
+ maxLength: 100,
632
894
  },
633
- location: {
634
- type: 'ref',
635
- ref: 'lex:com.atproto.repo.strongRef',
636
- 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.",
895
+ image: {
896
+ type: 'union',
897
+ refs: [
898
+ 'lex:org.hypercerts.defs#uri',
899
+ 'lex:org.hypercerts.defs#smallImage',
900
+ ],
901
+ description: 'The contributor visual representation as a URI or image blob.',
637
902
  },
638
903
  createdAt: {
639
904
  type: 'string',
@@ -645,9 +910,60 @@ const schemaDict = {
645
910
  },
646
911
  },
647
912
  },
648
- OrgHypercertsClaimCollection: {
913
+ OrgHypercertsClaimRights: {
914
+ lexicon: 1,
915
+ id: 'org.hypercerts.claim.rights',
916
+ defs: {
917
+ main: {
918
+ type: 'record',
919
+ description: 'Describes the rights that a contributor and/or an owner has, such as whether the hypercert can be sold, transferred, and under what conditions.',
920
+ key: 'tid',
921
+ record: {
922
+ type: 'object',
923
+ required: [
924
+ 'rightsName',
925
+ 'rightsType',
926
+ 'rightsDescription',
927
+ 'createdAt',
928
+ ],
929
+ properties: {
930
+ rightsName: {
931
+ type: 'string',
932
+ description: "Human-readable name for these rights (e.g. 'All Rights Reserved', 'CC BY-SA 4.0')",
933
+ maxLength: 100,
934
+ },
935
+ rightsType: {
936
+ type: 'string',
937
+ description: "Short identifier code for this rights type (e.g. 'ARR', 'CC-BY-SA') to facilitate filtering and search",
938
+ maxLength: 10,
939
+ },
940
+ rightsDescription: {
941
+ type: 'string',
942
+ description: "Detailed explanation of the rights holders' permissions, restrictions, and conditions",
943
+ maxLength: 10000,
944
+ maxGraphemes: 1000,
945
+ },
946
+ attachment: {
947
+ type: 'union',
948
+ refs: [
949
+ 'lex:org.hypercerts.defs#uri',
950
+ 'lex:org.hypercerts.defs#smallBlob',
951
+ ],
952
+ description: 'An attachment to define the rights further, e.g. a legal document.',
953
+ },
954
+ createdAt: {
955
+ type: 'string',
956
+ format: 'datetime',
957
+ description: 'Client-declared timestamp when this record was originally created',
958
+ },
959
+ },
960
+ },
961
+ },
962
+ },
963
+ },
964
+ OrgHypercertsCollection: {
649
965
  lexicon: 1,
650
- id: 'org.hypercerts.claim.collection',
966
+ id: 'org.hypercerts.collection',
651
967
  defs: {
652
968
  main: {
653
969
  type: 'record',
@@ -655,15 +971,16 @@ const schemaDict = {
655
971
  key: 'tid',
656
972
  record: {
657
973
  type: 'object',
658
- required: ['title', 'items', 'createdAt'],
974
+ required: ['title', 'createdAt'],
659
975
  properties: {
660
976
  type: {
661
977
  type: 'string',
662
978
  description: "The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection.",
979
+ maxLength: 64,
663
980
  },
664
981
  title: {
665
982
  type: 'string',
666
- description: 'The title of this collection',
983
+ description: "Display name for this collection (e.g. 'Q1 2025 Impact Projects')",
667
984
  maxLength: 800,
668
985
  maxGraphemes: 80,
669
986
  },
@@ -697,9 +1014,10 @@ const schemaDict = {
697
1014
  items: {
698
1015
  type: 'array',
699
1016
  description: 'Array of items in this collection with optional weights.',
1017
+ maxLength: 1000,
700
1018
  items: {
701
1019
  type: 'ref',
702
- ref: 'lex:org.hypercerts.claim.collection#item',
1020
+ ref: 'lex:org.hypercerts.collection#item',
703
1021
  },
704
1022
  },
705
1023
  location: {
@@ -722,48 +1040,51 @@ const schemaDict = {
722
1040
  itemIdentifier: {
723
1041
  type: 'ref',
724
1042
  ref: 'lex:com.atproto.repo.strongRef',
725
- 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).',
1043
+ description: 'Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection).',
726
1044
  },
727
1045
  itemWeight: {
728
1046
  type: 'string',
729
1047
  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.',
1048
+ maxLength: 100,
730
1049
  },
731
1050
  },
732
1051
  },
733
1052
  },
734
1053
  },
735
- OrgHypercertsClaimContributionDetails: {
1054
+ OrgHypercertsContextAcknowledgement: {
736
1055
  lexicon: 1,
737
- id: 'org.hypercerts.claim.contributionDetails',
1056
+ id: 'org.hypercerts.context.acknowledgement',
738
1057
  defs: {
739
1058
  main: {
740
1059
  type: 'record',
741
- description: 'Details about a specific contribution including role, description, and timeframe.',
1060
+ 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.",
742
1061
  key: 'tid',
743
1062
  record: {
744
1063
  type: 'object',
745
- required: ['createdAt'],
1064
+ required: ['subject', 'acknowledged', 'createdAt'],
746
1065
  properties: {
747
- role: {
748
- type: 'string',
749
- description: 'Role or title of the contributor.',
750
- maxLength: 100,
1066
+ subject: {
1067
+ type: 'ref',
1068
+ ref: 'lex:com.atproto.repo.strongRef',
1069
+ description: 'The record being acknowledged (e.g. an activity, a contributor information record, an evaluation).',
751
1070
  },
752
- contributionDescription: {
753
- type: 'string',
754
- description: 'What the contribution concretely was.',
755
- maxLength: 10000,
756
- maxGraphemes: 1000,
1071
+ context: {
1072
+ type: 'union',
1073
+ refs: [
1074
+ 'lex:org.hypercerts.defs#uri',
1075
+ 'lex:com.atproto.repo.strongRef',
1076
+ ],
1077
+ 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.',
757
1078
  },
758
- startDate: {
759
- type: 'string',
760
- format: 'datetime',
761
- description: 'When this contribution started. This should be a subset of the hypercert timeframe.',
1079
+ acknowledged: {
1080
+ type: 'boolean',
1081
+ description: 'Whether the relationship is acknowledged (true) or rejected (false).',
762
1082
  },
763
- endDate: {
1083
+ comment: {
764
1084
  type: 'string',
765
- format: 'datetime',
766
- description: 'When this contribution finished. This should be a subset of the hypercert timeframe.',
1085
+ description: 'Optional plain-text comment providing additional context or reasoning.',
1086
+ maxLength: 10000,
1087
+ maxGraphemes: 1000,
767
1088
  },
768
1089
  createdAt: {
769
1090
  type: 'string',
@@ -775,34 +1096,72 @@ const schemaDict = {
775
1096
  },
776
1097
  },
777
1098
  },
778
- OrgHypercertsClaimContributorInformation: {
1099
+ OrgHypercertsContextAttachment: {
779
1100
  lexicon: 1,
780
- id: 'org.hypercerts.claim.contributorInformation',
1101
+ id: 'org.hypercerts.context.attachment',
781
1102
  defs: {
782
1103
  main: {
783
1104
  type: 'record',
784
- description: 'Contributor information including identifier, display name, and image.',
1105
+ description: 'An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation).',
785
1106
  key: 'tid',
786
1107
  record: {
787
1108
  type: 'object',
788
- required: ['createdAt'],
1109
+ required: ['title', 'createdAt'],
789
1110
  properties: {
790
- identifier: {
791
- type: 'string',
792
- description: 'DID or a URI to a social profile of the contributor.',
1111
+ subjects: {
1112
+ type: 'array',
1113
+ 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.',
1114
+ items: {
1115
+ type: 'ref',
1116
+ ref: 'lex:com.atproto.repo.strongRef',
1117
+ },
1118
+ maxLength: 100,
793
1119
  },
794
- displayName: {
1120
+ contentType: {
795
1121
  type: 'string',
796
- description: 'Display name of the contributor.',
1122
+ maxLength: 64,
1123
+ description: 'The type of attachment, e.g. report, audit, evidence, testimonial, methodology, etc.',
1124
+ },
1125
+ content: {
1126
+ type: 'array',
1127
+ description: 'The files, documents, or external references included in this attachment record.',
1128
+ items: {
1129
+ type: 'union',
1130
+ refs: [
1131
+ 'lex:org.hypercerts.defs#uri',
1132
+ 'lex:org.hypercerts.defs#smallBlob',
1133
+ ],
1134
+ },
797
1135
  maxLength: 100,
798
1136
  },
799
- image: {
800
- type: 'union',
801
- refs: [
802
- 'lex:org.hypercerts.defs#uri',
803
- 'lex:org.hypercerts.defs#smallImage',
804
- ],
805
- description: 'The contributor visual representation as a URI or image blob.',
1137
+ title: {
1138
+ type: 'string',
1139
+ maxLength: 256,
1140
+ description: "Display title for this attachment (e.g. 'Impact Assessment Report', 'Audit Findings')",
1141
+ },
1142
+ shortDescription: {
1143
+ type: 'string',
1144
+ description: 'Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.',
1145
+ maxLength: 3000,
1146
+ maxGraphemes: 300,
1147
+ },
1148
+ shortDescriptionFacets: {
1149
+ type: 'array',
1150
+ description: 'Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).',
1151
+ items: {
1152
+ type: 'ref',
1153
+ ref: 'lex:app.bsky.richtext.facet',
1154
+ },
1155
+ },
1156
+ description: {
1157
+ type: 'ref',
1158
+ ref: 'lex:pub.leaflet.pages.linearDocument#main',
1159
+ description: 'Rich-text description, represented as a Leaflet linear document.',
1160
+ },
1161
+ location: {
1162
+ type: 'ref',
1163
+ ref: 'lex:com.atproto.repo.strongRef',
1164
+ 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.",
806
1165
  },
807
1166
  createdAt: {
808
1167
  type: 'string',
@@ -814,29 +1173,10 @@ const schemaDict = {
814
1173
  },
815
1174
  },
816
1175
  },
817
- OrgHypercertsClaimEvaluation: {
1176
+ OrgHypercertsContextEvaluation: {
818
1177
  lexicon: 1,
819
- id: 'org.hypercerts.claim.evaluation',
1178
+ id: 'org.hypercerts.context.evaluation',
820
1179
  defs: {
821
- score: {
822
- type: 'object',
823
- description: 'Overall score for an evaluation on a numeric scale.',
824
- required: ['min', 'max', 'value'],
825
- properties: {
826
- min: {
827
- type: 'integer',
828
- description: 'Minimum value of the scale, e.g. 0 or 1.',
829
- },
830
- max: {
831
- type: 'integer',
832
- description: 'Maximum value of the scale, e.g. 5 or 10.',
833
- },
834
- value: {
835
- type: 'integer',
836
- description: 'Score within the inclusive range [min, max].',
837
- },
838
- },
839
- },
840
1180
  main: {
841
1181
  type: 'record',
842
1182
  description: 'An evaluation of a hypercert record (e.g. an activity and its impact).',
@@ -848,7 +1188,7 @@ const schemaDict = {
848
1188
  subject: {
849
1189
  type: 'ref',
850
1190
  ref: 'lex:com.atproto.repo.strongRef',
851
- description: 'A strong reference to what is being evaluated. (e.g activity, measurement, contribution, etc.)',
1191
+ description: 'A strong reference to what is being evaluated (e.g. activity, measurement, contribution, etc.)',
852
1192
  },
853
1193
  evaluators: {
854
1194
  type: 'array',
@@ -873,7 +1213,7 @@ const schemaDict = {
873
1213
  },
874
1214
  measurements: {
875
1215
  type: 'array',
876
- description: 'Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.claim.measurement',
1216
+ description: 'Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.context.measurement',
877
1217
  items: {
878
1218
  type: 'ref',
879
1219
  ref: 'lex:com.atproto.repo.strongRef',
@@ -888,7 +1228,7 @@ const schemaDict = {
888
1228
  },
889
1229
  score: {
890
1230
  type: 'ref',
891
- ref: 'lex:org.hypercerts.claim.evaluation#score',
1231
+ ref: 'lex:org.hypercerts.context.evaluation#score',
892
1232
  description: 'Optional overall score for this evaluation on a numeric scale.',
893
1233
  },
894
1234
  location: {
@@ -904,24 +1244,47 @@ const schemaDict = {
904
1244
  },
905
1245
  },
906
1246
  },
1247
+ score: {
1248
+ type: 'object',
1249
+ description: 'Overall score for an evaluation on a numeric scale.',
1250
+ required: ['min', 'max', 'value'],
1251
+ properties: {
1252
+ min: {
1253
+ type: 'integer',
1254
+ description: 'Minimum value of the scale, e.g. 0 or 1.',
1255
+ },
1256
+ max: {
1257
+ type: 'integer',
1258
+ description: 'Maximum value of the scale, e.g. 5 or 10.',
1259
+ },
1260
+ value: {
1261
+ type: 'integer',
1262
+ description: 'Score within the inclusive range [min, max].',
1263
+ },
1264
+ },
1265
+ },
907
1266
  },
908
1267
  },
909
- OrgHypercertsClaimMeasurement: {
1268
+ OrgHypercertsContextMeasurement: {
910
1269
  lexicon: 1,
911
- id: 'org.hypercerts.claim.measurement',
1270
+ id: 'org.hypercerts.context.measurement',
912
1271
  defs: {
913
1272
  main: {
914
1273
  type: 'record',
915
- description: 'Measurement data related to a hypercert record (e.g. an activity and its impact).',
1274
+ description: 'Measurement data related to one or more records (e.g. activities, projects, etc.).',
916
1275
  key: 'tid',
917
1276
  record: {
918
1277
  type: 'object',
919
1278
  required: ['metric', 'unit', 'value', 'createdAt'],
920
1279
  properties: {
921
- subject: {
922
- type: 'ref',
923
- ref: 'lex:com.atproto.repo.strongRef',
924
- description: 'A strong reference to the record this measurement refers to (e.g. an activity, project, or claim).',
1280
+ subjects: {
1281
+ type: 'array',
1282
+ description: 'Strong references to the records this measurement refers to (e.g. activities, projects, or claims).',
1283
+ items: {
1284
+ type: 'ref',
1285
+ ref: 'lex:com.atproto.repo.strongRef',
1286
+ },
1287
+ maxLength: 100,
925
1288
  },
926
1289
  metric: {
927
1290
  type: 'string',
@@ -935,7 +1298,7 @@ const schemaDict = {
935
1298
  },
936
1299
  value: {
937
1300
  type: 'string',
938
- description: 'The measured numeric value.',
1301
+ description: "The measured value as a numeric string (e.g. '1234.56')",
939
1302
  maxLength: 500,
940
1303
  },
941
1304
  startDate: {
@@ -946,7 +1309,7 @@ const schemaDict = {
946
1309
  endDate: {
947
1310
  type: 'string',
948
1311
  format: 'datetime',
949
- description: 'The end date and time when the measurement ended. If it was a one time measurement, the endDate should be equal to the startDate.',
1312
+ description: 'The end date and time when the measurement ended. For one-time measurements, this should equal the start date.',
950
1313
  },
951
1314
  locations: {
952
1315
  type: 'array',
@@ -978,7 +1341,7 @@ const schemaDict = {
978
1341
  },
979
1342
  measurers: {
980
1343
  type: 'array',
981
- description: 'DIDs of the entity (or entities) that measured this data',
1344
+ description: 'DIDs of the entities that performed this measurement',
982
1345
  items: {
983
1346
  type: 'ref',
984
1347
  ref: 'lex:app.certified.defs#did',
@@ -1009,58 +1372,10 @@ const schemaDict = {
1009
1372
  },
1010
1373
  },
1011
1374
  },
1012
- OrgHypercertsClaimRights: {
1375
+ OrgHypercertsDefs: {
1013
1376
  lexicon: 1,
1014
- id: 'org.hypercerts.claim.rights',
1015
- defs: {
1016
- main: {
1017
- type: 'record',
1018
- description: 'Describes the rights that a contributor and/or an owner has, such as whether the hypercert can be sold, transferred, and under what conditions.',
1019
- key: 'tid',
1020
- record: {
1021
- type: 'object',
1022
- required: [
1023
- 'rightsName',
1024
- 'rightsType',
1025
- 'rightsDescription',
1026
- 'createdAt',
1027
- ],
1028
- properties: {
1029
- rightsName: {
1030
- type: 'string',
1031
- description: 'Full name of the rights',
1032
- maxLength: 100,
1033
- },
1034
- rightsType: {
1035
- type: 'string',
1036
- description: 'Short rights identifier for easier search',
1037
- maxLength: 10,
1038
- },
1039
- rightsDescription: {
1040
- type: 'string',
1041
- description: 'Description of the rights of this hypercert',
1042
- },
1043
- attachment: {
1044
- type: 'union',
1045
- refs: [
1046
- 'lex:org.hypercerts.defs#uri',
1047
- 'lex:org.hypercerts.defs#smallBlob',
1048
- ],
1049
- description: 'An attachment to define the rights further, e.g. a legal document.',
1050
- },
1051
- createdAt: {
1052
- type: 'string',
1053
- format: 'datetime',
1054
- description: 'Client-declared timestamp when this record was originally created',
1055
- },
1056
- },
1057
- },
1058
- },
1059
- },
1060
- },
1061
- OrgHypercertsDefs: {
1062
- lexicon: 1,
1063
- id: 'org.hypercerts.defs',
1377
+ id: 'org.hypercerts.defs',
1378
+ description: 'Common type definitions used across all Hypercerts protocols.',
1064
1379
  defs: {
1065
1380
  uri: {
1066
1381
  type: 'object',
@@ -1070,7 +1385,6 @@ const schemaDict = {
1070
1385
  uri: {
1071
1386
  type: 'string',
1072
1387
  format: 'uri',
1073
- maxGraphemes: 1024,
1074
1388
  description: 'URI to external data',
1075
1389
  },
1076
1390
  },
@@ -1114,6 +1428,19 @@ const schemaDict = {
1114
1428
  },
1115
1429
  },
1116
1430
  },
1431
+ smallVideo: {
1432
+ type: 'object',
1433
+ required: ['video'],
1434
+ description: 'Object containing a small video',
1435
+ properties: {
1436
+ video: {
1437
+ type: 'blob',
1438
+ accept: ['video/mp4', 'video/webm'],
1439
+ maxSize: 20971520,
1440
+ description: 'Video (up to 20MB)',
1441
+ },
1442
+ },
1443
+ },
1117
1444
  largeImage: {
1118
1445
  type: 'object',
1119
1446
  required: ['image'],
@@ -1149,26 +1476,32 @@ const schemaDict = {
1149
1476
  to: {
1150
1477
  type: 'string',
1151
1478
  description: 'The recipient of the funds. Can be identified by DID or a clear-text name.',
1479
+ maxLength: 2048,
1152
1480
  },
1153
1481
  amount: {
1154
1482
  type: 'string',
1155
- description: 'Amount of funding received.',
1483
+ description: "Amount of funding received as a numeric string (e.g. '1000.50').",
1484
+ maxLength: 50,
1156
1485
  },
1157
1486
  currency: {
1158
1487
  type: 'string',
1159
1488
  description: 'Currency of the payment (e.g. EUR, USD, ETH).',
1489
+ maxLength: 10,
1160
1490
  },
1161
1491
  paymentRail: {
1162
1492
  type: 'string',
1163
1493
  description: 'How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor).',
1494
+ maxLength: 50,
1164
1495
  },
1165
1496
  paymentNetwork: {
1166
1497
  type: 'string',
1167
1498
  description: 'Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal).',
1499
+ maxLength: 50,
1168
1500
  },
1169
1501
  transactionId: {
1170
1502
  type: 'string',
1171
1503
  description: '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.',
1504
+ maxLength: 256,
1172
1505
  },
1173
1506
  for: {
1174
1507
  type: 'string',
@@ -1195,36 +1528,71 @@ const schemaDict = {
1195
1528
  },
1196
1529
  },
1197
1530
  },
1198
- OrgHypercertsHelperWorkScopeTag: {
1531
+ OrgHypercertsWorkscopeCel: {
1199
1532
  lexicon: 1,
1200
- id: 'org.hypercerts.helper.workScopeTag',
1533
+ id: 'org.hypercerts.workscope.cel',
1534
+ defs: {
1535
+ main: {
1536
+ type: 'object',
1537
+ description: "A structured, machine-evaluable work scope definition using CEL (Common Expression Language). Tags referenced in the expression correspond to org.hypercerts.workscope.tag keys. See https://github.com/google/cel-spec. Note: this is intentionally type 'object' (not 'record') so it can be directly embedded inline in union types (e.g., activity.workScope) without requiring a separate collection or strongRef indirection.",
1538
+ required: ['expression', 'usedTags', 'version', 'createdAt'],
1539
+ properties: {
1540
+ expression: {
1541
+ type: 'string',
1542
+ maxLength: 10000,
1543
+ maxGraphemes: 5000,
1544
+ description: "A CEL expression encoding the work scope conditions. Example: scope.hasAll(['mangrove_restoration', 'environmental_education']) && location.country == 'KE'",
1545
+ },
1546
+ usedTags: {
1547
+ type: 'array',
1548
+ items: {
1549
+ type: 'ref',
1550
+ ref: 'lex:com.atproto.repo.strongRef',
1551
+ },
1552
+ maxLength: 100,
1553
+ description: 'Strong references to org.hypercerts.workscope.tag records used in the expression. Enables fast indexing by AT-URI and provides referential integrity to the underlying tag records.',
1554
+ },
1555
+ version: {
1556
+ type: 'string',
1557
+ maxLength: 16,
1558
+ knownValues: ['v1'],
1559
+ description: 'CEL context schema version.',
1560
+ },
1561
+ createdAt: {
1562
+ type: 'string',
1563
+ format: 'datetime',
1564
+ description: 'Client-declared timestamp when this expression was originally created.',
1565
+ },
1566
+ },
1567
+ },
1568
+ },
1569
+ },
1570
+ OrgHypercertsWorkscopeTag: {
1571
+ lexicon: 1,
1572
+ id: 'org.hypercerts.workscope.tag',
1201
1573
  defs: {
1202
1574
  main: {
1203
1575
  type: 'record',
1204
- description: 'A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels.',
1576
+ description: 'A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels. Tags are composed into structured expressions via CEL (Common Expression Language) on activity records.',
1205
1577
  key: 'tid',
1206
1578
  record: {
1207
1579
  type: 'object',
1208
- required: ['createdAt', 'key', 'label'],
1580
+ required: ['key', 'name', 'createdAt'],
1209
1581
  properties: {
1210
- createdAt: {
1211
- type: 'string',
1212
- format: 'datetime',
1213
- description: 'Client-declared timestamp when this record was originally created',
1214
- },
1215
1582
  key: {
1216
1583
  type: 'string',
1217
- description: "Lowercase, hyphenated machine-readable key for this scope (e.g., 'ipfs', 'go-lang', 'filecoin').",
1584
+ description: "Lowercase, underscore-separated machine-readable key for this scope (e.g., 'mangrove_restoration', 'biodiversity_monitoring'). Used as the canonical identifier in CEL expressions.",
1218
1585
  maxLength: 120,
1219
1586
  },
1220
- label: {
1587
+ name: {
1221
1588
  type: 'string',
1222
- description: 'Human-readable label for this scope.',
1589
+ description: 'Human-readable name for this scope.',
1223
1590
  maxLength: 200,
1224
1591
  },
1225
- kind: {
1592
+ category: {
1226
1593
  type: 'string',
1227
- description: 'Category type of this scope. Recommended values: topic, language, domain, method, tag.',
1594
+ description: 'Category type of this scope.',
1595
+ knownValues: ['topic', 'language', 'domain', 'method'],
1228
1596
  maxLength: 50,
1229
1597
  },
1230
1598
  description: {
@@ -1236,7 +1604,18 @@ const schemaDict = {
1236
1604
  parent: {
1237
1605
  type: 'ref',
1238
1606
  ref: 'lex:com.atproto.repo.strongRef',
1239
- description: 'Optional strong reference to a parent scope record for taxonomy/hierarchy support.',
1607
+ description: 'Optional strong reference to a parent work scope tag record for taxonomy/hierarchy support. The record referenced must conform with the lexicon org.hypercerts.workscope.tag.',
1608
+ },
1609
+ status: {
1610
+ type: 'string',
1611
+ description: 'Lifecycle status of this tag. Communities propose tags, curators accept them, deprecated tags point to replacements via supersededBy.',
1612
+ knownValues: ['proposed', 'accepted', 'deprecated'],
1613
+ maxLength: 20,
1614
+ },
1615
+ supersededBy: {
1616
+ type: 'ref',
1617
+ ref: 'lex:com.atproto.repo.strongRef',
1618
+ description: "When status is 'deprecated', points to the replacement work scope tag record. The record referenced must conform with the lexicon org.hypercerts.workscope.tag.",
1240
1619
  },
1241
1620
  aliases: {
1242
1621
  type: 'array',
@@ -1245,15 +1624,30 @@ const schemaDict = {
1245
1624
  maxLength: 200,
1246
1625
  },
1247
1626
  maxLength: 50,
1248
- description: 'Optional array of alternative names or identifiers for this scope.',
1627
+ description: 'Alternative human-readable names for this scope (e.g., translations, abbreviations, or common synonyms). Unlike sameAs, these are plain-text labels, not links to external ontologies.',
1249
1628
  },
1250
- externalReference: {
1629
+ sameAs: {
1630
+ type: 'array',
1631
+ items: {
1632
+ type: 'string',
1633
+ format: 'uri',
1634
+ maxLength: 2048,
1635
+ },
1636
+ maxLength: 20,
1637
+ description: 'URIs to semantically equivalent concepts in external ontologies or taxonomies (e.g., Wikidata QIDs, ENVO terms, SDG targets). Used for interoperability, not as documentation.',
1638
+ },
1639
+ referenceDocument: {
1251
1640
  type: 'union',
1252
1641
  refs: [
1253
1642
  'lex:org.hypercerts.defs#uri',
1254
1643
  'lex:org.hypercerts.defs#smallBlob',
1255
1644
  ],
1256
- description: 'Optional external reference for this scope as a URI or blob.',
1645
+ description: 'Link to a governance or reference document where this work scope tag is defined and further explained.',
1646
+ },
1647
+ createdAt: {
1648
+ type: 'string',
1649
+ format: 'datetime',
1650
+ description: 'Client-declared timestamp when this record was originally created.',
1257
1651
  },
1258
1652
  },
1259
1653
  },
@@ -1263,8 +1657,8 @@ const schemaDict = {
1263
1657
  };
1264
1658
  const schemas = Object.values(schemaDict);
1265
1659
  const lexicons = new Lexicons(schemas);
1266
- function validate$j(v, id, hash, requiredType) {
1267
- return (requiredType ? is$typed$j : maybe$typed)(v, id, hash)
1660
+ function validate$n(v, id, hash, requiredType) {
1661
+ return (requiredType ? is$typed$n : maybe$typed)(v, id, hash)
1268
1662
  ? lexicons.validate(`${id}#${hash}`, v)
1269
1663
  : {
1270
1664
  success: false,
@@ -1272,6 +1666,7 @@ function validate$j(v, id, hash, requiredType) {
1272
1666
  };
1273
1667
  }
1274
1668
  const ids = {
1669
+ AppCertifiedActorOrganization: 'app.certified.actor.organization',
1275
1670
  AppCertifiedActorProfile: 'app.certified.actor.profile',
1276
1671
  AppCertifiedBadgeAward: 'app.certified.badge.award',
1277
1672
  AppCertifiedBadgeDefinition: 'app.certified.badge.definition',
@@ -1279,32 +1674,117 @@ const ids = {
1279
1674
  AppCertifiedDefs: 'app.certified.defs',
1280
1675
  AppCertifiedLocation: 'app.certified.location',
1281
1676
  ComAtprotoRepoStrongRef: 'com.atproto.repo.strongRef',
1282
- OrgHypercertsAcknowledgement: 'org.hypercerts.acknowledgement',
1677
+ OrgHyperboardsBoard: 'org.hyperboards.board',
1678
+ OrgHyperboardsDisplayProfile: 'org.hyperboards.displayProfile',
1283
1679
  OrgHypercertsClaimActivity: 'org.hypercerts.claim.activity',
1284
- OrgHypercertsClaimAttachment: 'org.hypercerts.claim.attachment',
1285
- OrgHypercertsClaimCollection: 'org.hypercerts.claim.collection',
1286
- OrgHypercertsClaimContributionDetails: 'org.hypercerts.claim.contributionDetails',
1680
+ OrgHypercertsClaimContribution: 'org.hypercerts.claim.contribution',
1287
1681
  OrgHypercertsClaimContributorInformation: 'org.hypercerts.claim.contributorInformation',
1288
- OrgHypercertsClaimEvaluation: 'org.hypercerts.claim.evaluation',
1289
- OrgHypercertsClaimMeasurement: 'org.hypercerts.claim.measurement',
1290
1682
  OrgHypercertsClaimRights: 'org.hypercerts.claim.rights',
1683
+ OrgHypercertsCollection: 'org.hypercerts.collection',
1684
+ OrgHypercertsContextAcknowledgement: 'org.hypercerts.context.acknowledgement',
1685
+ OrgHypercertsContextAttachment: 'org.hypercerts.context.attachment',
1686
+ OrgHypercertsContextEvaluation: 'org.hypercerts.context.evaluation',
1687
+ OrgHypercertsContextMeasurement: 'org.hypercerts.context.measurement',
1291
1688
  OrgHypercertsDefs: 'org.hypercerts.defs',
1292
1689
  OrgHypercertsFundingReceipt: 'org.hypercerts.funding.receipt',
1293
- OrgHypercertsHelperWorkScopeTag: 'org.hypercerts.helper.workScopeTag',
1690
+ OrgHypercertsWorkscopeCel: 'org.hypercerts.workscope.cel',
1691
+ OrgHypercertsWorkscopeTag: 'org.hypercerts.workscope.tag',
1294
1692
  };
1295
1693
 
1296
- var lexicon$i = 1;
1297
- var id$B = "app.certified.actor.profile";
1298
- var defs$k = {
1694
+ var lexicon$m = 1;
1695
+ var id$J = "app.certified.actor.organization";
1696
+ var defs$o = {
1697
+ main: {
1698
+ type: "record",
1699
+ description: "Extended metadata for an organization actor. Complements the base actor profile with organization-specific fields like legal structure and reference links.",
1700
+ key: "literal:self",
1701
+ record: {
1702
+ type: "object",
1703
+ required: [
1704
+ "createdAt"
1705
+ ],
1706
+ properties: {
1707
+ organizationType: {
1708
+ type: "array",
1709
+ description: "Legal or operational structures of the organization (e.g. 'nonprofit', 'ngo', 'government', 'social-enterprise', 'cooperative').",
1710
+ items: {
1711
+ type: "string",
1712
+ maxLength: 128,
1713
+ maxGraphemes: 100
1714
+ },
1715
+ maxLength: 10
1716
+ },
1717
+ urls: {
1718
+ type: "array",
1719
+ description: "Additional reference URLs (social media profiles, contact pages, donation links, etc.) with a display label for each URL.",
1720
+ items: {
1721
+ type: "ref",
1722
+ ref: "#urlItem"
1723
+ }
1724
+ },
1725
+ location: {
1726
+ type: "ref",
1727
+ ref: "com.atproto.repo.strongRef",
1728
+ description: "A strong reference to the location where the organization is based. The record referenced must conform with the lexicon app.certified.location."
1729
+ },
1730
+ foundedDate: {
1731
+ type: "string",
1732
+ format: "datetime",
1733
+ description: "When the organization was established. Stored as datetime per ATProto conventions (no date-only format exists). Clients should use midnight UTC (e.g., '2005-01-01T00:00:00.000Z'); consumers should treat only the date portion as canonical."
1734
+ },
1735
+ createdAt: {
1736
+ type: "string",
1737
+ format: "datetime",
1738
+ description: "Client-declared timestamp when this record was originally created."
1739
+ }
1740
+ }
1741
+ }
1742
+ },
1743
+ urlItem: {
1744
+ type: "object",
1745
+ description: "A labeled URL reference.",
1746
+ required: [
1747
+ "url"
1748
+ ],
1749
+ properties: {
1750
+ url: {
1751
+ type: "string",
1752
+ format: "uri",
1753
+ description: "The URL.",
1754
+ maxLength: 10000,
1755
+ maxGraphemes: 2048
1756
+ },
1757
+ label: {
1758
+ type: "string",
1759
+ description: "Optional human-readable label for this URL (e.g. 'Support page', 'Donation page').",
1760
+ maxLength: 640,
1761
+ maxGraphemes: 64
1762
+ }
1763
+ }
1764
+ }
1765
+ };
1766
+ var ACTOR_ORGANIZATION_LEXICON_JSON = {
1767
+ lexicon: lexicon$m,
1768
+ id: id$J,
1769
+ defs: defs$o
1770
+ };
1771
+
1772
+ var lexicon$l = 1;
1773
+ var id$I = "app.certified.actor.profile";
1774
+ var defs$n = {
1299
1775
  main: {
1300
1776
  type: "record",
1301
- description: "A declaration of a Hypercert account profile.",
1777
+ description: "A declaration of a Certified account profile.",
1302
1778
  key: "literal:self",
1303
1779
  record: {
1304
1780
  type: "object",
1781
+ required: [
1782
+ "createdAt"
1783
+ ],
1305
1784
  properties: {
1306
1785
  displayName: {
1307
1786
  type: "string",
1787
+ description: "Display name for the account",
1308
1788
  maxGraphemes: 64,
1309
1789
  maxLength: 640
1310
1790
  },
@@ -1322,7 +1802,8 @@ var defs$k = {
1322
1802
  },
1323
1803
  website: {
1324
1804
  type: "string",
1325
- format: "uri"
1805
+ format: "uri",
1806
+ description: "Account website URL"
1326
1807
  },
1327
1808
  avatar: {
1328
1809
  type: "union",
@@ -1342,21 +1823,22 @@ var defs$k = {
1342
1823
  },
1343
1824
  createdAt: {
1344
1825
  type: "string",
1345
- format: "datetime"
1826
+ format: "datetime",
1827
+ description: "Client-declared timestamp when this record was originally created"
1346
1828
  }
1347
1829
  }
1348
1830
  }
1349
1831
  }
1350
1832
  };
1351
1833
  var ACTOR_PROFILE_LEXICON_JSON = {
1352
- lexicon: lexicon$i,
1353
- id: id$B,
1354
- defs: defs$k
1834
+ lexicon: lexicon$l,
1835
+ id: id$I,
1836
+ defs: defs$n
1355
1837
  };
1356
1838
 
1357
- var lexicon$h = 1;
1358
- var id$A = "app.certified.badge.award";
1359
- var defs$j = {
1839
+ var lexicon$k = 1;
1840
+ var id$H = "app.certified.badge.award";
1841
+ var defs$m = {
1360
1842
  main: {
1361
1843
  type: "record",
1362
1844
  description: "Records a badge award to a user, project, or activity claim.",
@@ -1384,7 +1866,14 @@ var defs$j = {
1384
1866
  },
1385
1867
  note: {
1386
1868
  type: "string",
1387
- description: "Optional statement explaining the reason for this badge award."
1869
+ description: "Optional statement explaining the reason for this badge award.",
1870
+ maxLength: 500
1871
+ },
1872
+ url: {
1873
+ type: "string",
1874
+ format: "uri",
1875
+ description: "Optional URL the badge award links to.",
1876
+ maxLength: 2048
1388
1877
  },
1389
1878
  createdAt: {
1390
1879
  type: "string",
@@ -1396,14 +1885,14 @@ var defs$j = {
1396
1885
  }
1397
1886
  };
1398
1887
  var BADGE_AWARD_LEXICON_JSON = {
1399
- lexicon: lexicon$h,
1400
- id: id$A,
1401
- defs: defs$j
1888
+ lexicon: lexicon$k,
1889
+ id: id$H,
1890
+ defs: defs$m
1402
1891
  };
1403
1892
 
1404
- var lexicon$g = 1;
1405
- var id$z = "app.certified.badge.definition";
1406
- var defs$i = {
1893
+ var lexicon$j = 1;
1894
+ var id$G = "app.certified.badge.definition";
1895
+ var defs$l = {
1407
1896
  main: {
1408
1897
  type: "record",
1409
1898
  description: "Defines a badge that can be awarded via badge award records to users, projects, or activity claims.",
@@ -1419,11 +1908,13 @@ var defs$i = {
1419
1908
  properties: {
1420
1909
  badgeType: {
1421
1910
  type: "string",
1422
- description: "Category of the badge (e.g. endorsement, participation, affiliation)."
1911
+ description: "Category of the badge (e.g. endorsement, participation, affiliation).",
1912
+ maxLength: 100
1423
1913
  },
1424
1914
  title: {
1425
1915
  type: "string",
1426
- description: "Human-readable title of the badge."
1916
+ description: "Human-readable title of the badge.",
1917
+ maxLength: 256
1427
1918
  },
1428
1919
  icon: {
1429
1920
  type: "blob",
@@ -1438,11 +1929,14 @@ var defs$i = {
1438
1929
  },
1439
1930
  description: {
1440
1931
  type: "string",
1441
- description: "Optional short statement describing what the badge represents."
1932
+ description: "Optional short statement describing what the badge represents.",
1933
+ maxLength: 5000,
1934
+ maxGraphemes: 500
1442
1935
  },
1443
1936
  allowedIssuers: {
1444
1937
  type: "array",
1445
1938
  description: "Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it.",
1939
+ maxLength: 100,
1446
1940
  items: {
1447
1941
  type: "ref",
1448
1942
  ref: "app.certified.defs#did"
@@ -1458,14 +1952,14 @@ var defs$i = {
1458
1952
  }
1459
1953
  };
1460
1954
  var BADGE_DEFINITION_LEXICON_JSON = {
1461
- lexicon: lexicon$g,
1462
- id: id$z,
1463
- defs: defs$i
1955
+ lexicon: lexicon$j,
1956
+ id: id$G,
1957
+ defs: defs$l
1464
1958
  };
1465
1959
 
1466
- var lexicon$f = 1;
1467
- var id$y = "app.certified.badge.response";
1468
- var defs$h = {
1960
+ var lexicon$i = 1;
1961
+ var id$F = "app.certified.badge.response";
1962
+ var defs$k = {
1469
1963
  main: {
1470
1964
  type: "record",
1471
1965
  description: "Recipient response to a badge award.",
@@ -1485,7 +1979,7 @@ var defs$h = {
1485
1979
  },
1486
1980
  response: {
1487
1981
  type: "string",
1488
- "enum": [
1982
+ knownValues: [
1489
1983
  "accepted",
1490
1984
  "rejected"
1491
1985
  ],
@@ -1493,7 +1987,8 @@ var defs$h = {
1493
1987
  },
1494
1988
  weight: {
1495
1989
  type: "string",
1496
- description: "Optional relative weight for accepted badges, assigned by the recipient."
1990
+ description: "Optional relative weight for accepted badges, assigned by the recipient.",
1991
+ maxLength: 50
1497
1992
  },
1498
1993
  createdAt: {
1499
1994
  type: "string",
@@ -1505,15 +2000,15 @@ var defs$h = {
1505
2000
  }
1506
2001
  };
1507
2002
  var BADGE_RESPONSE_LEXICON_JSON = {
1508
- lexicon: lexicon$f,
1509
- id: id$y,
1510
- defs: defs$h
2003
+ lexicon: lexicon$i,
2004
+ id: id$F,
2005
+ defs: defs$k
1511
2006
  };
1512
2007
 
1513
- var lexicon$e = 1;
1514
- var id$x = "app.certified.defs";
1515
- var description$1 = "Common type definitions used across certified protocols.";
1516
- var defs$g = {
2008
+ var lexicon$h = 1;
2009
+ var id$E = "app.certified.defs";
2010
+ var description$2 = "Common type definitions used across certified protocols.";
2011
+ var defs$j = {
1517
2012
  did: {
1518
2013
  type: "object",
1519
2014
  description: "A Decentralized Identifier (DID) string.",
@@ -1531,15 +2026,15 @@ var defs$g = {
1531
2026
  }
1532
2027
  };
1533
2028
  var CERTIFIED_DEFS_LEXICON_JSON = {
1534
- lexicon: lexicon$e,
1535
- id: id$x,
1536
- description: description$1,
1537
- defs: defs$g
2029
+ lexicon: lexicon$h,
2030
+ id: id$E,
2031
+ description: description$2,
2032
+ defs: defs$j
1538
2033
  };
1539
2034
 
1540
- var lexicon$d = 1;
1541
- var id$w = "app.certified.location";
1542
- var defs$f = {
2035
+ var lexicon$g = 1;
2036
+ var id$D = "app.certified.location";
2037
+ var defs$i = {
1543
2038
  main: {
1544
2039
  type: "record",
1545
2040
  description: "A location reference",
@@ -1591,13 +2086,13 @@ var defs$f = {
1591
2086
  },
1592
2087
  name: {
1593
2088
  type: "string",
1594
- description: "Optional name for this location",
2089
+ description: "Human-readable name for this location (e.g. 'Golden Gate Park', 'San Francisco Bay Area')",
1595
2090
  maxLength: 1000,
1596
2091
  maxGraphemes: 100
1597
2092
  },
1598
2093
  description: {
1599
2094
  type: "string",
1600
- description: "Optional description for this location",
2095
+ description: "Additional context about this location, such as its significance to the work or specific boundaries",
1601
2096
  maxLength: 2000,
1602
2097
  maxGraphemes: 500
1603
2098
  },
@@ -1626,15 +2121,15 @@ var defs$f = {
1626
2121
  }
1627
2122
  };
1628
2123
  var LOCATION_LEXICON_JSON = {
1629
- lexicon: lexicon$d,
1630
- id: id$w,
1631
- defs: defs$f
2124
+ lexicon: lexicon$g,
2125
+ id: id$D,
2126
+ defs: defs$i
1632
2127
  };
1633
2128
 
1634
- var lexicon$c = 1;
1635
- var id$v = "com.atproto.repo.strongRef";
1636
- var description = "A URI with a content-hash fingerprint.";
1637
- var defs$e = {
2129
+ var lexicon$f = 1;
2130
+ var id$C = "com.atproto.repo.strongRef";
2131
+ var description$1 = "A URI with a content-hash fingerprint.";
2132
+ var defs$h = {
1638
2133
  main: {
1639
2134
  type: "object",
1640
2135
  required: [
@@ -1654,46 +2149,249 @@ var defs$e = {
1654
2149
  }
1655
2150
  };
1656
2151
  var STRONG_REF_LEXICON_JSON = {
1657
- lexicon: lexicon$c,
1658
- id: id$v,
1659
- description: description,
1660
- defs: defs$e
2152
+ lexicon: lexicon$f,
2153
+ id: id$C,
2154
+ description: description$1,
2155
+ defs: defs$h
1661
2156
  };
1662
2157
 
1663
- var lexicon$b = 1;
1664
- var id$u = "org.hypercerts.acknowledgement";
1665
- var defs$d = {
2158
+ var lexicon$e = 1;
2159
+ var id$B = "org.hyperboards.board";
2160
+ var defs$g = {
1666
2161
  main: {
1667
2162
  type: "record",
1668
- description: "Acknowledges the inclusion of one record (subject) within another (context). Typically created in the subject owner's repo to form a bidirectional link. For example, a contributor acknowledging inclusion in an activity, or an activity owner acknowledging inclusion in a collection.",
2163
+ description: "Configuration record for a hyperboard, wrapping an underlying activity or collection with visual presentation settings. Stored in the creator's PDS.",
1669
2164
  key: "tid",
1670
2165
  record: {
1671
2166
  type: "object",
1672
2167
  required: [
1673
2168
  "subject",
1674
- "context",
1675
- "acknowledged",
1676
2169
  "createdAt"
1677
2170
  ],
1678
2171
  properties: {
1679
2172
  subject: {
1680
2173
  type: "ref",
1681
2174
  ref: "com.atproto.repo.strongRef",
1682
- description: "The record whose inclusion is being acknowledged (e.g. an activity, a contributor information record)."
2175
+ description: "Reference to the org.hypercerts.claim.activity or org.hypercerts.claim.collection this board visualizes."
1683
2176
  },
1684
- context: {
2177
+ config: {
1685
2178
  type: "ref",
1686
- ref: "com.atproto.repo.strongRef",
1687
- description: "The record that includes the subject (e.g. a collection/project that includes an activity, or an activity that includes a contributor)."
2179
+ ref: "#boardConfig",
2180
+ description: "Board-level visual configuration (background, colors, aspect ratio)."
1688
2181
  },
1689
- acknowledged: {
1690
- type: "boolean",
1691
- description: "Whether inclusion is acknowledged (true) or rejected (false)."
2182
+ contributorConfigs: {
2183
+ type: "array",
2184
+ description: "Per-contributor configuration entries for this board.",
2185
+ maxLength: 1000,
2186
+ items: {
2187
+ type: "ref",
2188
+ ref: "#contributorConfig"
2189
+ }
1692
2190
  },
1693
- comment: {
2191
+ createdAt: {
1694
2192
  type: "string",
1695
- description: "Optional comment providing additional context or reasoning.",
1696
- maxLength: 1000
2193
+ format: "datetime",
2194
+ description: "Client-declared timestamp when this record was originally created."
2195
+ }
2196
+ }
2197
+ }
2198
+ },
2199
+ boardConfig: {
2200
+ type: "object",
2201
+ description: "Visual configuration for a hyperboard's background, colors, and layout.",
2202
+ properties: {
2203
+ backgroundType: {
2204
+ type: "string",
2205
+ description: "Type of background content.",
2206
+ knownValues: [
2207
+ "image",
2208
+ "iframe"
2209
+ ],
2210
+ maxLength: 10
2211
+ },
2212
+ backgroundImage: {
2213
+ type: "union",
2214
+ refs: [
2215
+ "org.hypercerts.defs#uri",
2216
+ "org.hypercerts.defs#smallImage"
2217
+ ],
2218
+ description: "Background image as a URI or image blob."
2219
+ },
2220
+ backgroundIframeUrl: {
2221
+ type: "string",
2222
+ format: "uri",
2223
+ description: "URI of the background iframe.",
2224
+ maxLength: 2048
2225
+ },
2226
+ backgroundGrayscale: {
2227
+ type: "boolean",
2228
+ description: "Whether the background is rendered in grayscale. Default: true."
2229
+ },
2230
+ backgroundOpacity: {
2231
+ type: "integer",
2232
+ description: "Background opacity as a percentage (0–100).",
2233
+ minimum: 0,
2234
+ maximum: 100
2235
+ },
2236
+ backgroundColor: {
2237
+ type: "string",
2238
+ description: "Background color as a hex string (e.g. '#ffffff').",
2239
+ maxLength: 20
2240
+ },
2241
+ borderColor: {
2242
+ type: "string",
2243
+ description: "Border color as a hex string (e.g. '#000000').",
2244
+ maxLength: 20
2245
+ },
2246
+ grayscaleImages: {
2247
+ type: "boolean",
2248
+ description: "Whether contributor images are rendered in grayscale. Default: false."
2249
+ },
2250
+ imageShape: {
2251
+ type: "string",
2252
+ description: "Shape used to crop contributor images on this board.",
2253
+ knownValues: [
2254
+ "circular",
2255
+ "square"
2256
+ ],
2257
+ maxLength: 20
2258
+ },
2259
+ aspectRatio: {
2260
+ type: "string",
2261
+ description: "Display aspect ratio of the board.",
2262
+ knownValues: [
2263
+ "16:9",
2264
+ "4:3",
2265
+ "1:1"
2266
+ ],
2267
+ maxLength: 10
2268
+ }
2269
+ }
2270
+ },
2271
+ contributorConfig: {
2272
+ type: "object",
2273
+ description: "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.",
2274
+ required: [
2275
+ "contributor"
2276
+ ],
2277
+ properties: {
2278
+ contributor: {
2279
+ type: "union",
2280
+ refs: [
2281
+ "com.atproto.repo.strongRef",
2282
+ "org.hypercerts.claim.activity#contributorIdentity"
2283
+ ],
2284
+ description: "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."
2285
+ },
2286
+ override: {
2287
+ type: "boolean",
2288
+ description: "When true, these values take precedence over the contributor's own profile and display settings. When false or omitted, they are only used as fallbacks if the contributor has not set their own settings."
2289
+ },
2290
+ displayName: {
2291
+ type: "string",
2292
+ description: "Display name for this contributor on this board.",
2293
+ maxLength: 640,
2294
+ maxGraphemes: 64
2295
+ },
2296
+ image: {
2297
+ type: "union",
2298
+ refs: [
2299
+ "org.hypercerts.defs#uri",
2300
+ "org.hypercerts.defs#smallImage"
2301
+ ],
2302
+ description: "Avatar or face image for this contributor on this board, as a URI or image blob."
2303
+ },
2304
+ video: {
2305
+ type: "union",
2306
+ refs: [
2307
+ "org.hypercerts.defs#uri",
2308
+ "org.hypercerts.defs#smallVideo"
2309
+ ],
2310
+ description: "Video for this contributor, as a URI (embed/direct link) or uploaded video blob."
2311
+ },
2312
+ hoverImage: {
2313
+ type: "union",
2314
+ refs: [
2315
+ "org.hypercerts.defs#uri",
2316
+ "org.hypercerts.defs#smallImage"
2317
+ ],
2318
+ description: "Image overlay shown when hovering over this contributor, as a URI or image blob."
2319
+ },
2320
+ hoverIframeUrl: {
2321
+ type: "string",
2322
+ format: "uri",
2323
+ description: "Iframe overlay shown when hovering over this contributor.",
2324
+ maxLength: 2048
2325
+ },
2326
+ url: {
2327
+ type: "string",
2328
+ format: "uri",
2329
+ description: "Click-through link URL for this contributor.",
2330
+ maxLength: 2048
2331
+ }
2332
+ }
2333
+ }
2334
+ };
2335
+ var HYPERBOARDS_BOARD_LEXICON_JSON = {
2336
+ lexicon: lexicon$e,
2337
+ id: id$B,
2338
+ defs: defs$g
2339
+ };
2340
+
2341
+ var lexicon$d = 1;
2342
+ var id$A = "org.hyperboards.displayProfile";
2343
+ var defs$f = {
2344
+ main: {
2345
+ type: "record",
2346
+ description: "User-declared visual presentation defaults for how a contributor appears on hyperboards. Stored in the contributor's own PDS and reusable across multiple boards.",
2347
+ key: "literal:self",
2348
+ record: {
2349
+ type: "object",
2350
+ required: [
2351
+ "createdAt"
2352
+ ],
2353
+ properties: {
2354
+ displayName: {
2355
+ type: "string",
2356
+ description: "Display name override for this user on hyperboards.",
2357
+ maxLength: 640,
2358
+ maxGraphemes: 64
2359
+ },
2360
+ image: {
2361
+ type: "union",
2362
+ refs: [
2363
+ "org.hypercerts.defs#uri",
2364
+ "org.hypercerts.defs#smallImage"
2365
+ ],
2366
+ description: "Avatar or face image override for this user on hyperboards, as a URI or image blob."
2367
+ },
2368
+ video: {
2369
+ type: "union",
2370
+ refs: [
2371
+ "org.hypercerts.defs#uri",
2372
+ "org.hypercerts.defs#smallVideo"
2373
+ ],
2374
+ description: "Default video for this user across boards, as a URI (embed/direct link) or uploaded video blob."
2375
+ },
2376
+ hoverImage: {
2377
+ type: "union",
2378
+ refs: [
2379
+ "org.hypercerts.defs#uri",
2380
+ "org.hypercerts.defs#smallImage"
2381
+ ],
2382
+ description: "Default hover image for this user across boards, as a URI or image blob."
2383
+ },
2384
+ hoverIframeUrl: {
2385
+ type: "string",
2386
+ format: "uri",
2387
+ description: "Default hover iframe URL for this user across boards.",
2388
+ maxLength: 2048
2389
+ },
2390
+ url: {
2391
+ type: "string",
2392
+ format: "uri",
2393
+ description: "Default click-through link URL for this user across boards.",
2394
+ maxLength: 2048
1697
2395
  },
1698
2396
  createdAt: {
1699
2397
  type: "string",
@@ -1704,15 +2402,15 @@ var defs$d = {
1704
2402
  }
1705
2403
  }
1706
2404
  };
1707
- var HYPERCERTS_ACKNOWLEDGEMENT_LEXICON_JSON = {
1708
- lexicon: lexicon$b,
1709
- id: id$u,
1710
- defs: defs$d
2405
+ var HYPERBOARDS_DISPLAY_PROFILE_LEXICON_JSON = {
2406
+ lexicon: lexicon$d,
2407
+ id: id$A,
2408
+ defs: defs$f
1711
2409
  };
1712
2410
 
1713
- var lexicon$a = 1;
1714
- var id$t = "org.hypercerts.claim.activity";
1715
- var defs$c = {
2411
+ var lexicon$c = 1;
2412
+ var id$z = "org.hypercerts.claim.activity";
2413
+ var defs$e = {
1716
2414
  main: {
1717
2415
  type: "record",
1718
2416
  description: "A hypercert record tracking impact work.",
@@ -1727,7 +2425,7 @@ var defs$c = {
1727
2425
  properties: {
1728
2426
  title: {
1729
2427
  type: "string",
1730
- description: "Title of the hypercert.",
2428
+ description: "Display title summarizing the impact work (e.g. 'Reforestation in Amazon Basin 2024')",
1731
2429
  maxLength: 256
1732
2430
  },
1733
2431
  shortDescription: {
@@ -1745,18 +2443,9 @@ var defs$c = {
1745
2443
  }
1746
2444
  },
1747
2445
  description: {
1748
- type: "string",
1749
- description: "Optional longer description of this activity claim, including context or interpretation. Rich text annotations may be provided via `descriptionFacets`.",
1750
- maxLength: 30000,
1751
- maxGraphemes: 3000
1752
- },
1753
- descriptionFacets: {
1754
- type: "array",
1755
- description: "Rich text annotations for `description` (mentions, URLs, hashtags, etc).",
1756
- items: {
1757
- type: "ref",
1758
- ref: "app.bsky.richtext.facet"
1759
- }
2446
+ type: "ref",
2447
+ ref: "pub.leaflet.pages.linearDocument#main",
2448
+ description: "Rich-text description, represented as a Leaflet linear document."
1760
2449
  },
1761
2450
  image: {
1762
2451
  type: "union",
@@ -1766,13 +2455,22 @@ var defs$c = {
1766
2455
  ],
1767
2456
  description: "The hypercert visual representation as a URI or image blob."
1768
2457
  },
2458
+ contributors: {
2459
+ type: "array",
2460
+ description: "An array of contributor objects, each containing contributor information, weight, and contribution details.",
2461
+ maxLength: 1000,
2462
+ items: {
2463
+ type: "ref",
2464
+ ref: "#contributor"
2465
+ }
2466
+ },
1769
2467
  workScope: {
1770
2468
  type: "union",
1771
2469
  refs: [
1772
- "com.atproto.repo.strongRef",
2470
+ "org.hypercerts.workscope.cel",
1773
2471
  "#workScopeString"
1774
2472
  ],
1775
- description: "Work scope definition. Either a strongRef to a work-scope logic record (structured, nested logic), or a free-form string for simple or legacy scopes. The work scope record should conform to the org.hypercerts.helper.workScopeTag lexicon."
2473
+ description: "Work scope definition. A CEL expression for structured, machine-evaluable scopes or a free-form string for simple and legacy scopes."
1776
2474
  },
1777
2475
  startDate: {
1778
2476
  type: "string",
@@ -1784,12 +2482,13 @@ var defs$c = {
1784
2482
  format: "datetime",
1785
2483
  description: "When the work ended"
1786
2484
  },
1787
- contributors: {
2485
+ locations: {
1788
2486
  type: "array",
1789
- description: "An array of contributor objects, each containing contributor information, weight, and contribution details.",
2487
+ description: "An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.",
2488
+ maxLength: 1000,
1790
2489
  items: {
1791
2490
  type: "ref",
1792
- ref: "#contributor"
2491
+ ref: "com.atproto.repo.strongRef"
1793
2492
  }
1794
2493
  },
1795
2494
  rights: {
@@ -1797,14 +2496,6 @@ var defs$c = {
1797
2496
  ref: "com.atproto.repo.strongRef",
1798
2497
  description: "A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights."
1799
2498
  },
1800
- locations: {
1801
- type: "array",
1802
- description: "An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.",
1803
- items: {
1804
- type: "ref",
1805
- ref: "com.atproto.repo.strongRef"
1806
- }
1807
- },
1808
2499
  createdAt: {
1809
2500
  type: "string",
1810
2501
  format: "datetime",
@@ -1825,11 +2516,12 @@ var defs$c = {
1825
2516
  "#contributorIdentity",
1826
2517
  "com.atproto.repo.strongRef"
1827
2518
  ],
1828
- description: "Contributor identity as a string (DID or identifier) via org.hypercerts.claim.activity#contributorIdentity, or a strong reference to a contributor information record."
2519
+ description: "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."
1829
2520
  },
1830
2521
  contributionWeight: {
1831
2522
  type: "string",
1832
- description: "The relative weight/importance of this contribution (stored as a string to avoid float precision issues). Must be a positive numeric value. Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed."
2523
+ description: "The relative weight/importance of this contribution (stored as a string to avoid float precision issues). Must be a positive numeric value. Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed.",
2524
+ maxLength: 100
1833
2525
  },
1834
2526
  contributionDetails: {
1835
2527
  type: "union",
@@ -1837,7 +2529,7 @@ var defs$c = {
1837
2529
  "#contributorRole",
1838
2530
  "com.atproto.repo.strongRef"
1839
2531
  ],
1840
- description: "Contribution details as a string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record."
2532
+ description: "Inline contribution role object with a role string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record. The record referenced must conform with the lexicon org.hypercerts.claim.contribution."
1841
2533
  }
1842
2534
  }
1843
2535
  },
@@ -1888,107 +2580,163 @@ var defs$c = {
1888
2580
  }
1889
2581
  };
1890
2582
  var ACTIVITY_LEXICON_JSON = {
1891
- lexicon: lexicon$a,
1892
- id: id$t,
1893
- defs: defs$c
2583
+ lexicon: lexicon$c,
2584
+ id: id$z,
2585
+ defs: defs$e
1894
2586
  };
1895
2587
 
1896
- var lexicon$9 = 1;
1897
- var id$s = "org.hypercerts.claim.attachment";
1898
- var defs$b = {
2588
+ var lexicon$b = 1;
2589
+ var id$y = "org.hypercerts.claim.contribution";
2590
+ var defs$d = {
1899
2591
  main: {
1900
2592
  type: "record",
1901
- description: "An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation).",
2593
+ description: "Details about a specific contribution including role, description, and timeframe.",
1902
2594
  key: "tid",
1903
2595
  record: {
1904
2596
  type: "object",
1905
2597
  required: [
1906
- "title",
1907
- "content",
1908
2598
  "createdAt"
1909
2599
  ],
1910
2600
  properties: {
1911
- subjects: {
1912
- type: "array",
1913
- 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.",
1914
- items: {
1915
- type: "ref",
1916
- ref: "com.atproto.repo.strongRef"
1917
- },
2601
+ role: {
2602
+ type: "string",
2603
+ description: "Role or title of the contributor.",
1918
2604
  maxLength: 100
1919
2605
  },
1920
- contentType: {
2606
+ contributionDescription: {
1921
2607
  type: "string",
1922
- maxLength: 64,
1923
- description: "The type of attachment, e.g. report, audit, evidence, testimonial, methodology, etc."
2608
+ description: "Description of what the contribution concretely involved.",
2609
+ maxLength: 10000,
2610
+ maxGraphemes: 1000
1924
2611
  },
1925
- content: {
1926
- type: "array",
1927
- description: "The files, documents, or external references included in this attachment record.",
1928
- items: {
1929
- type: "union",
1930
- refs: [
1931
- "org.hypercerts.defs#uri",
1932
- "org.hypercerts.defs#smallBlob"
1933
- ]
1934
- },
1935
- maxLength: 100
2612
+ startDate: {
2613
+ type: "string",
2614
+ format: "datetime",
2615
+ description: "When this contribution started. Should fall within the parent hypercert's timeframe."
1936
2616
  },
1937
- title: {
2617
+ endDate: {
1938
2618
  type: "string",
1939
- maxLength: 256,
1940
- description: "Title of this attachment."
2619
+ format: "datetime",
2620
+ description: "When this contribution finished. Should fall within the parent hypercert's timeframe."
1941
2621
  },
1942
- shortDescription: {
2622
+ createdAt: {
1943
2623
  type: "string",
1944
- description: "Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.",
1945
- maxLength: 3000,
1946
- maxGraphemes: 300
2624
+ format: "datetime",
2625
+ description: "Client-declared timestamp when this record was originally created."
2626
+ }
2627
+ }
2628
+ }
2629
+ }
2630
+ };
2631
+ var CONTRIBUTION_LEXICON_JSON = {
2632
+ lexicon: lexicon$b,
2633
+ id: id$y,
2634
+ defs: defs$d
2635
+ };
2636
+
2637
+ var lexicon$a = 1;
2638
+ var id$x = "org.hypercerts.claim.contributorInformation";
2639
+ var defs$c = {
2640
+ main: {
2641
+ type: "record",
2642
+ description: "Contributor information including identifier, display name, and image.",
2643
+ key: "tid",
2644
+ record: {
2645
+ type: "object",
2646
+ required: [
2647
+ "createdAt"
2648
+ ],
2649
+ properties: {
2650
+ identifier: {
2651
+ type: "string",
2652
+ description: "DID (did:plc:...) or URI to a social profile of the contributor.",
2653
+ maxLength: 2048
1947
2654
  },
1948
- shortDescriptionFacets: {
1949
- type: "array",
1950
- description: "Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).",
1951
- items: {
1952
- type: "ref",
1953
- ref: "app.bsky.richtext.facet"
1954
- }
2655
+ displayName: {
2656
+ type: "string",
2657
+ description: "Human-readable name for the contributor as it should appear in UI.",
2658
+ maxLength: 100
2659
+ },
2660
+ image: {
2661
+ type: "union",
2662
+ refs: [
2663
+ "org.hypercerts.defs#uri",
2664
+ "org.hypercerts.defs#smallImage"
2665
+ ],
2666
+ description: "The contributor visual representation as a URI or image blob."
2667
+ },
2668
+ createdAt: {
2669
+ type: "string",
2670
+ format: "datetime",
2671
+ description: "Client-declared timestamp when this record was originally created."
2672
+ }
2673
+ }
2674
+ }
2675
+ }
2676
+ };
2677
+ var CONTRIBUTOR_INFORMATION_LEXICON_JSON = {
2678
+ lexicon: lexicon$a,
2679
+ id: id$x,
2680
+ defs: defs$c
2681
+ };
2682
+
2683
+ var lexicon$9 = 1;
2684
+ var id$w = "org.hypercerts.claim.rights";
2685
+ var defs$b = {
2686
+ main: {
2687
+ type: "record",
2688
+ description: "Describes the rights that a contributor and/or an owner has, such as whether the hypercert can be sold, transferred, and under what conditions.",
2689
+ key: "tid",
2690
+ record: {
2691
+ type: "object",
2692
+ required: [
2693
+ "rightsName",
2694
+ "rightsType",
2695
+ "rightsDescription",
2696
+ "createdAt"
2697
+ ],
2698
+ properties: {
2699
+ rightsName: {
2700
+ type: "string",
2701
+ description: "Human-readable name for these rights (e.g. 'All Rights Reserved', 'CC BY-SA 4.0')",
2702
+ maxLength: 100
1955
2703
  },
1956
- description: {
2704
+ rightsType: {
1957
2705
  type: "string",
1958
- description: "Optional longer description of this attachment, including context or interpretation. Rich text annotations may be provided via `descriptionFacets`.",
1959
- maxLength: 30000,
1960
- maxGraphemes: 3000
2706
+ description: "Short identifier code for this rights type (e.g. 'ARR', 'CC-BY-SA') to facilitate filtering and search",
2707
+ maxLength: 10
1961
2708
  },
1962
- descriptionFacets: {
1963
- type: "array",
1964
- description: "Rich text annotations for `description` (mentions, URLs, hashtags, etc).",
1965
- items: {
1966
- type: "ref",
1967
- ref: "app.bsky.richtext.facet"
1968
- }
2709
+ rightsDescription: {
2710
+ type: "string",
2711
+ description: "Detailed explanation of the rights holders' permissions, restrictions, and conditions",
2712
+ maxLength: 10000,
2713
+ maxGraphemes: 1000
1969
2714
  },
1970
- location: {
1971
- type: "ref",
1972
- ref: "com.atproto.repo.strongRef",
1973
- 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."
2715
+ attachment: {
2716
+ type: "union",
2717
+ refs: [
2718
+ "org.hypercerts.defs#uri",
2719
+ "org.hypercerts.defs#smallBlob"
2720
+ ],
2721
+ description: "An attachment to define the rights further, e.g. a legal document."
1974
2722
  },
1975
2723
  createdAt: {
1976
2724
  type: "string",
1977
2725
  format: "datetime",
1978
- description: "Client-declared timestamp when this record was originally created."
2726
+ description: "Client-declared timestamp when this record was originally created"
1979
2727
  }
1980
2728
  }
1981
2729
  }
1982
2730
  }
1983
2731
  };
1984
- var ATTACHMENT_LEXICON_JSON = {
2732
+ var RIGHTS_LEXICON_JSON = {
1985
2733
  lexicon: lexicon$9,
1986
- id: id$s,
2734
+ id: id$w,
1987
2735
  defs: defs$b
1988
2736
  };
1989
2737
 
1990
2738
  var lexicon$8 = 1;
1991
- var id$r = "org.hypercerts.claim.collection";
2739
+ var id$v = "org.hypercerts.collection";
1992
2740
  var defs$a = {
1993
2741
  main: {
1994
2742
  type: "record",
@@ -1998,17 +2746,17 @@ var defs$a = {
1998
2746
  type: "object",
1999
2747
  required: [
2000
2748
  "title",
2001
- "items",
2002
2749
  "createdAt"
2003
2750
  ],
2004
2751
  properties: {
2005
2752
  type: {
2006
2753
  type: "string",
2007
- description: "The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection."
2754
+ description: "The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection.",
2755
+ maxLength: 64
2008
2756
  },
2009
2757
  title: {
2010
2758
  type: "string",
2011
- description: "The title of this collection",
2759
+ description: "Display name for this collection (e.g. 'Q1 2025 Impact Projects')",
2012
2760
  maxLength: 800,
2013
2761
  maxGraphemes: 80
2014
2762
  },
@@ -2042,6 +2790,7 @@ var defs$a = {
2042
2790
  items: {
2043
2791
  type: "array",
2044
2792
  description: "Array of items in this collection with optional weights.",
2793
+ maxLength: 1000,
2045
2794
  items: {
2046
2795
  type: "ref",
2047
2796
  ref: "#item"
@@ -2069,54 +2818,59 @@ var defs$a = {
2069
2818
  itemIdentifier: {
2070
2819
  type: "ref",
2071
2820
  ref: "com.atproto.repo.strongRef",
2072
- 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)."
2821
+ description: "Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection)."
2073
2822
  },
2074
2823
  itemWeight: {
2075
2824
  type: "string",
2076
- 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."
2825
+ 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.",
2826
+ maxLength: 100
2077
2827
  }
2078
2828
  }
2079
2829
  }
2080
2830
  };
2081
- var COLLECTION_LEXICON_JSON = {
2831
+ var HYPERCERTS_COLLECTION_LEXICON_JSON = {
2082
2832
  lexicon: lexicon$8,
2083
- id: id$r,
2833
+ id: id$v,
2084
2834
  defs: defs$a
2085
2835
  };
2086
2836
 
2087
2837
  var lexicon$7 = 1;
2088
- var id$q = "org.hypercerts.claim.contributionDetails";
2838
+ var id$u = "org.hypercerts.context.acknowledgement";
2089
2839
  var defs$9 = {
2090
2840
  main: {
2091
2841
  type: "record",
2092
- description: "Details about a specific contribution including role, description, and timeframe.",
2842
+ 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.",
2093
2843
  key: "tid",
2094
2844
  record: {
2095
2845
  type: "object",
2096
2846
  required: [
2847
+ "subject",
2848
+ "acknowledged",
2097
2849
  "createdAt"
2098
2850
  ],
2099
2851
  properties: {
2100
- role: {
2101
- type: "string",
2102
- description: "Role or title of the contributor.",
2103
- maxLength: 100
2852
+ subject: {
2853
+ type: "ref",
2854
+ ref: "com.atproto.repo.strongRef",
2855
+ description: "The record being acknowledged (e.g. an activity, a contributor information record, an evaluation)."
2104
2856
  },
2105
- contributionDescription: {
2106
- type: "string",
2107
- description: "What the contribution concretely was.",
2108
- maxLength: 10000,
2109
- maxGraphemes: 1000
2857
+ context: {
2858
+ type: "union",
2859
+ refs: [
2860
+ "org.hypercerts.defs#uri",
2861
+ "com.atproto.repo.strongRef"
2862
+ ],
2863
+ 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."
2110
2864
  },
2111
- startDate: {
2112
- type: "string",
2113
- format: "datetime",
2114
- description: "When this contribution started. This should be a subset of the hypercert timeframe."
2865
+ acknowledged: {
2866
+ type: "boolean",
2867
+ description: "Whether the relationship is acknowledged (true) or rejected (false)."
2115
2868
  },
2116
- endDate: {
2869
+ comment: {
2117
2870
  type: "string",
2118
- format: "datetime",
2119
- description: "When this contribution finished. This should be a subset of the hypercert timeframe."
2871
+ description: "Optional plain-text comment providing additional context or reasoning.",
2872
+ maxLength: 10000,
2873
+ maxGraphemes: 1000
2120
2874
  },
2121
2875
  createdAt: {
2122
2876
  type: "string",
@@ -2127,41 +2881,80 @@ var defs$9 = {
2127
2881
  }
2128
2882
  }
2129
2883
  };
2130
- var CONTRIBUTION_DETAILS_LEXICON_JSON = {
2884
+ var CONTEXT_ACKNOWLEDGEMENT_LEXICON_JSON = {
2131
2885
  lexicon: lexicon$7,
2132
- id: id$q,
2886
+ id: id$u,
2133
2887
  defs: defs$9
2134
2888
  };
2135
2889
 
2136
2890
  var lexicon$6 = 1;
2137
- var id$p = "org.hypercerts.claim.contributorInformation";
2891
+ var id$t = "org.hypercerts.context.attachment";
2138
2892
  var defs$8 = {
2139
2893
  main: {
2140
2894
  type: "record",
2141
- description: "Contributor information including identifier, display name, and image.",
2895
+ description: "An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation).",
2142
2896
  key: "tid",
2143
2897
  record: {
2144
2898
  type: "object",
2145
2899
  required: [
2900
+ "title",
2146
2901
  "createdAt"
2147
2902
  ],
2148
2903
  properties: {
2149
- identifier: {
2150
- type: "string",
2151
- description: "DID or a URI to a social profile of the contributor."
2904
+ subjects: {
2905
+ type: "array",
2906
+ 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.",
2907
+ items: {
2908
+ type: "ref",
2909
+ ref: "com.atproto.repo.strongRef"
2910
+ },
2911
+ maxLength: 100
2152
2912
  },
2153
- displayName: {
2913
+ contentType: {
2154
2914
  type: "string",
2155
- description: "Display name of the contributor.",
2915
+ maxLength: 64,
2916
+ description: "The type of attachment, e.g. report, audit, evidence, testimonial, methodology, etc."
2917
+ },
2918
+ content: {
2919
+ type: "array",
2920
+ description: "The files, documents, or external references included in this attachment record.",
2921
+ items: {
2922
+ type: "union",
2923
+ refs: [
2924
+ "org.hypercerts.defs#uri",
2925
+ "org.hypercerts.defs#smallBlob"
2926
+ ]
2927
+ },
2156
2928
  maxLength: 100
2157
2929
  },
2158
- image: {
2159
- type: "union",
2160
- refs: [
2161
- "org.hypercerts.defs#uri",
2162
- "org.hypercerts.defs#smallImage"
2163
- ],
2164
- description: "The contributor visual representation as a URI or image blob."
2930
+ title: {
2931
+ type: "string",
2932
+ maxLength: 256,
2933
+ description: "Display title for this attachment (e.g. 'Impact Assessment Report', 'Audit Findings')"
2934
+ },
2935
+ shortDescription: {
2936
+ type: "string",
2937
+ description: "Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.",
2938
+ maxLength: 3000,
2939
+ maxGraphemes: 300
2940
+ },
2941
+ shortDescriptionFacets: {
2942
+ type: "array",
2943
+ description: "Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).",
2944
+ items: {
2945
+ type: "ref",
2946
+ ref: "app.bsky.richtext.facet"
2947
+ }
2948
+ },
2949
+ description: {
2950
+ type: "ref",
2951
+ ref: "pub.leaflet.pages.linearDocument#main",
2952
+ description: "Rich-text description, represented as a Leaflet linear document."
2953
+ },
2954
+ location: {
2955
+ type: "ref",
2956
+ ref: "com.atproto.repo.strongRef",
2957
+ 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."
2165
2958
  },
2166
2959
  createdAt: {
2167
2960
  type: "string",
@@ -2172,38 +2965,15 @@ var defs$8 = {
2172
2965
  }
2173
2966
  }
2174
2967
  };
2175
- var CONTRIBUTOR_INFORMATION_LEXICON_JSON = {
2968
+ var CONTEXT_ATTACHMENT_LEXICON_JSON = {
2176
2969
  lexicon: lexicon$6,
2177
- id: id$p,
2970
+ id: id$t,
2178
2971
  defs: defs$8
2179
2972
  };
2180
2973
 
2181
2974
  var lexicon$5 = 1;
2182
- var id$o = "org.hypercerts.claim.evaluation";
2975
+ var id$s = "org.hypercerts.context.evaluation";
2183
2976
  var defs$7 = {
2184
- score: {
2185
- type: "object",
2186
- description: "Overall score for an evaluation on a numeric scale.",
2187
- required: [
2188
- "min",
2189
- "max",
2190
- "value"
2191
- ],
2192
- properties: {
2193
- min: {
2194
- type: "integer",
2195
- description: "Minimum value of the scale, e.g. 0 or 1."
2196
- },
2197
- max: {
2198
- type: "integer",
2199
- description: "Maximum value of the scale, e.g. 5 or 10."
2200
- },
2201
- value: {
2202
- type: "integer",
2203
- description: "Score within the inclusive range [min, max]."
2204
- }
2205
- }
2206
- },
2207
2977
  main: {
2208
2978
  type: "record",
2209
2979
  description: "An evaluation of a hypercert record (e.g. an activity and its impact).",
@@ -2219,7 +2989,7 @@ var defs$7 = {
2219
2989
  subject: {
2220
2990
  type: "ref",
2221
2991
  ref: "com.atproto.repo.strongRef",
2222
- description: "A strong reference to what is being evaluated. (e.g activity, measurement, contribution, etc.)"
2992
+ description: "A strong reference to what is being evaluated (e.g. activity, measurement, contribution, etc.)"
2223
2993
  },
2224
2994
  evaluators: {
2225
2995
  type: "array",
@@ -2244,7 +3014,7 @@ var defs$7 = {
2244
3014
  },
2245
3015
  measurements: {
2246
3016
  type: "array",
2247
- description: "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.claim.measurement",
3017
+ description: "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.context.measurement",
2248
3018
  items: {
2249
3019
  type: "ref",
2250
3020
  ref: "com.atproto.repo.strongRef"
@@ -2274,20 +3044,43 @@ var defs$7 = {
2274
3044
  }
2275
3045
  }
2276
3046
  }
3047
+ },
3048
+ score: {
3049
+ type: "object",
3050
+ description: "Overall score for an evaluation on a numeric scale.",
3051
+ required: [
3052
+ "min",
3053
+ "max",
3054
+ "value"
3055
+ ],
3056
+ properties: {
3057
+ min: {
3058
+ type: "integer",
3059
+ description: "Minimum value of the scale, e.g. 0 or 1."
3060
+ },
3061
+ max: {
3062
+ type: "integer",
3063
+ description: "Maximum value of the scale, e.g. 5 or 10."
3064
+ },
3065
+ value: {
3066
+ type: "integer",
3067
+ description: "Score within the inclusive range [min, max]."
3068
+ }
3069
+ }
2277
3070
  }
2278
3071
  };
2279
- var EVALUATION_LEXICON_JSON = {
3072
+ var CONTEXT_EVALUATION_LEXICON_JSON = {
2280
3073
  lexicon: lexicon$5,
2281
- id: id$o,
3074
+ id: id$s,
2282
3075
  defs: defs$7
2283
3076
  };
2284
3077
 
2285
3078
  var lexicon$4 = 1;
2286
- var id$n = "org.hypercerts.claim.measurement";
3079
+ var id$r = "org.hypercerts.context.measurement";
2287
3080
  var defs$6 = {
2288
3081
  main: {
2289
3082
  type: "record",
2290
- description: "Measurement data related to a hypercert record (e.g. an activity and its impact).",
3083
+ description: "Measurement data related to one or more records (e.g. activities, projects, etc.).",
2291
3084
  key: "tid",
2292
3085
  record: {
2293
3086
  type: "object",
@@ -2298,10 +3091,14 @@ var defs$6 = {
2298
3091
  "createdAt"
2299
3092
  ],
2300
3093
  properties: {
2301
- subject: {
2302
- type: "ref",
2303
- ref: "com.atproto.repo.strongRef",
2304
- description: "A strong reference to the record this measurement refers to (e.g. an activity, project, or claim)."
3094
+ subjects: {
3095
+ type: "array",
3096
+ description: "Strong references to the records this measurement refers to (e.g. activities, projects, or claims).",
3097
+ items: {
3098
+ type: "ref",
3099
+ ref: "com.atproto.repo.strongRef"
3100
+ },
3101
+ maxLength: 100
2305
3102
  },
2306
3103
  metric: {
2307
3104
  type: "string",
@@ -2315,7 +3112,7 @@ var defs$6 = {
2315
3112
  },
2316
3113
  value: {
2317
3114
  type: "string",
2318
- description: "The measured numeric value.",
3115
+ description: "The measured value as a numeric string (e.g. '1234.56')",
2319
3116
  maxLength: 500
2320
3117
  },
2321
3118
  startDate: {
@@ -2326,7 +3123,7 @@ var defs$6 = {
2326
3123
  endDate: {
2327
3124
  type: "string",
2328
3125
  format: "datetime",
2329
- description: "The end date and time when the measurement ended. If it was a one time measurement, the endDate should be equal to the startDate."
3126
+ description: "The end date and time when the measurement ended. For one-time measurements, this should equal the start date."
2330
3127
  },
2331
3128
  locations: {
2332
3129
  type: "array",
@@ -2358,7 +3155,7 @@ var defs$6 = {
2358
3155
  },
2359
3156
  measurers: {
2360
3157
  type: "array",
2361
- description: "DIDs of the entity (or entities) that measured this data",
3158
+ description: "DIDs of the entities that performed this measurement",
2362
3159
  items: {
2363
3160
  type: "ref",
2364
3161
  ref: "app.certified.defs#did"
@@ -2388,68 +3185,16 @@ var defs$6 = {
2388
3185
  }
2389
3186
  }
2390
3187
  };
2391
- var MEASUREMENT_LEXICON_JSON = {
3188
+ var CONTEXT_MEASUREMENT_LEXICON_JSON = {
2392
3189
  lexicon: lexicon$4,
2393
- id: id$n,
3190
+ id: id$r,
2394
3191
  defs: defs$6
2395
3192
  };
2396
3193
 
2397
3194
  var lexicon$3 = 1;
2398
- var id$m = "org.hypercerts.claim.rights";
3195
+ var id$q = "org.hypercerts.defs";
3196
+ var description = "Common type definitions used across all Hypercerts protocols.";
2399
3197
  var defs$5 = {
2400
- main: {
2401
- type: "record",
2402
- description: "Describes the rights that a contributor and/or an owner has, such as whether the hypercert can be sold, transferred, and under what conditions.",
2403
- key: "tid",
2404
- record: {
2405
- type: "object",
2406
- required: [
2407
- "rightsName",
2408
- "rightsType",
2409
- "rightsDescription",
2410
- "createdAt"
2411
- ],
2412
- properties: {
2413
- rightsName: {
2414
- type: "string",
2415
- description: "Full name of the rights",
2416
- maxLength: 100
2417
- },
2418
- rightsType: {
2419
- type: "string",
2420
- description: "Short rights identifier for easier search",
2421
- maxLength: 10
2422
- },
2423
- rightsDescription: {
2424
- type: "string",
2425
- description: "Description of the rights of this hypercert"
2426
- },
2427
- attachment: {
2428
- type: "union",
2429
- refs: [
2430
- "org.hypercerts.defs#uri",
2431
- "org.hypercerts.defs#smallBlob"
2432
- ],
2433
- description: "An attachment to define the rights further, e.g. a legal document."
2434
- },
2435
- createdAt: {
2436
- type: "string",
2437
- format: "datetime",
2438
- description: "Client-declared timestamp when this record was originally created"
2439
- }
2440
- }
2441
- }
2442
- }
2443
- };
2444
- var RIGHTS_LEXICON_JSON = {
2445
- lexicon: lexicon$3,
2446
- id: id$m,
2447
- defs: defs$5
2448
- };
2449
-
2450
- var lexicon$2 = 1;
2451
- var id$l = "org.hypercerts.defs";
2452
- var defs$4 = {
2453
3198
  uri: {
2454
3199
  type: "object",
2455
3200
  required: [
@@ -2460,7 +3205,6 @@ var defs$4 = {
2460
3205
  uri: {
2461
3206
  type: "string",
2462
3207
  format: "uri",
2463
- maxGraphemes: 1024,
2464
3208
  description: "URI to external data"
2465
3209
  }
2466
3210
  }
@@ -2519,6 +3263,24 @@ var defs$4 = {
2519
3263
  }
2520
3264
  }
2521
3265
  },
3266
+ smallVideo: {
3267
+ type: "object",
3268
+ required: [
3269
+ "video"
3270
+ ],
3271
+ description: "Object containing a small video",
3272
+ properties: {
3273
+ video: {
3274
+ type: "blob",
3275
+ accept: [
3276
+ "video/mp4",
3277
+ "video/webm"
3278
+ ],
3279
+ maxSize: 20971520,
3280
+ description: "Video (up to 20MB)"
3281
+ }
3282
+ }
3283
+ },
2522
3284
  largeImage: {
2523
3285
  type: "object",
2524
3286
  required: [
@@ -2541,14 +3303,15 @@ var defs$4 = {
2541
3303
  }
2542
3304
  };
2543
3305
  var HYPERCERTS_DEFS_LEXICON_JSON = {
2544
- lexicon: lexicon$2,
2545
- id: id$l,
2546
- defs: defs$4
3306
+ lexicon: lexicon$3,
3307
+ id: id$q,
3308
+ description: description,
3309
+ defs: defs$5
2547
3310
  };
2548
3311
 
2549
- var lexicon$1 = 1;
2550
- var id$k = "org.hypercerts.funding.receipt";
2551
- var defs$3 = {
3312
+ var lexicon$2 = 1;
3313
+ var id$p = "org.hypercerts.funding.receipt";
3314
+ var defs$4 = {
2552
3315
  main: {
2553
3316
  type: "record",
2554
3317
  description: "Records a funding receipt for a payment from one user to another user. It may be recorded by the recipient, by the sender, or by a third party. The sender may remain anonymous.",
@@ -2570,27 +3333,33 @@ var defs$3 = {
2570
3333
  },
2571
3334
  to: {
2572
3335
  type: "string",
2573
- description: "The recipient of the funds. Can be identified by DID or a clear-text name."
3336
+ description: "The recipient of the funds. Can be identified by DID or a clear-text name.",
3337
+ maxLength: 2048
2574
3338
  },
2575
3339
  amount: {
2576
3340
  type: "string",
2577
- description: "Amount of funding received."
3341
+ description: "Amount of funding received as a numeric string (e.g. '1000.50').",
3342
+ maxLength: 50
2578
3343
  },
2579
3344
  currency: {
2580
3345
  type: "string",
2581
- description: "Currency of the payment (e.g. EUR, USD, ETH)."
3346
+ description: "Currency of the payment (e.g. EUR, USD, ETH).",
3347
+ maxLength: 10
2582
3348
  },
2583
3349
  paymentRail: {
2584
3350
  type: "string",
2585
- description: "How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor)."
3351
+ description: "How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor).",
3352
+ maxLength: 50
2586
3353
  },
2587
3354
  paymentNetwork: {
2588
3355
  type: "string",
2589
- description: "Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal)."
3356
+ description: "Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal).",
3357
+ maxLength: 50
2590
3358
  },
2591
3359
  transactionId: {
2592
3360
  type: "string",
2593
- description: "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."
3361
+ description: "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.",
3362
+ maxLength: 256
2594
3363
  },
2595
3364
  "for": {
2596
3365
  type: "string",
@@ -2617,44 +3386,95 @@ var defs$3 = {
2617
3386
  }
2618
3387
  };
2619
3388
  var FUNDING_RECEIPT_LEXICON_JSON = {
3389
+ lexicon: lexicon$2,
3390
+ id: id$p,
3391
+ defs: defs$4
3392
+ };
3393
+
3394
+ var lexicon$1 = 1;
3395
+ var id$o = "org.hypercerts.workscope.cel";
3396
+ var defs$3 = {
3397
+ main: {
3398
+ type: "object",
3399
+ description: "A structured, machine-evaluable work scope definition using CEL (Common Expression Language). Tags referenced in the expression correspond to org.hypercerts.workscope.tag keys. See https://github.com/google/cel-spec. Note: this is intentionally type 'object' (not 'record') so it can be directly embedded inline in union types (e.g., activity.workScope) without requiring a separate collection or strongRef indirection.",
3400
+ required: [
3401
+ "expression",
3402
+ "usedTags",
3403
+ "version",
3404
+ "createdAt"
3405
+ ],
3406
+ properties: {
3407
+ expression: {
3408
+ type: "string",
3409
+ maxLength: 10000,
3410
+ maxGraphemes: 5000,
3411
+ description: "A CEL expression encoding the work scope conditions. Example: scope.hasAll(['mangrove_restoration', 'environmental_education']) && location.country == 'KE'"
3412
+ },
3413
+ usedTags: {
3414
+ type: "array",
3415
+ items: {
3416
+ type: "ref",
3417
+ ref: "com.atproto.repo.strongRef"
3418
+ },
3419
+ maxLength: 100,
3420
+ description: "Strong references to org.hypercerts.workscope.tag records used in the expression. Enables fast indexing by AT-URI and provides referential integrity to the underlying tag records."
3421
+ },
3422
+ version: {
3423
+ type: "string",
3424
+ maxLength: 16,
3425
+ knownValues: [
3426
+ "v1"
3427
+ ],
3428
+ description: "CEL context schema version."
3429
+ },
3430
+ createdAt: {
3431
+ type: "string",
3432
+ format: "datetime",
3433
+ description: "Client-declared timestamp when this expression was originally created."
3434
+ }
3435
+ }
3436
+ }
3437
+ };
3438
+ var WORKSCOPE_CEL_LEXICON_JSON = {
2620
3439
  lexicon: lexicon$1,
2621
- id: id$k,
3440
+ id: id$o,
2622
3441
  defs: defs$3
2623
3442
  };
2624
3443
 
2625
3444
  var lexicon = 1;
2626
- var id$j = "org.hypercerts.helper.workScopeTag";
3445
+ var id$n = "org.hypercerts.workscope.tag";
2627
3446
  var defs$2 = {
2628
3447
  main: {
2629
3448
  type: "record",
2630
- description: "A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels.",
3449
+ description: "A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels. Tags are composed into structured expressions via CEL (Common Expression Language) on activity records.",
2631
3450
  key: "tid",
2632
3451
  record: {
2633
3452
  type: "object",
2634
3453
  required: [
2635
- "createdAt",
2636
3454
  "key",
2637
- "label"
3455
+ "name",
3456
+ "createdAt"
2638
3457
  ],
2639
3458
  properties: {
2640
- createdAt: {
2641
- type: "string",
2642
- format: "datetime",
2643
- description: "Client-declared timestamp when this record was originally created"
2644
- },
2645
3459
  key: {
2646
3460
  type: "string",
2647
- description: "Lowercase, hyphenated machine-readable key for this scope (e.g., 'ipfs', 'go-lang', 'filecoin').",
3461
+ description: "Lowercase, underscore-separated machine-readable key for this scope (e.g., 'mangrove_restoration', 'biodiversity_monitoring'). Used as the canonical identifier in CEL expressions.",
2648
3462
  maxLength: 120
2649
3463
  },
2650
- label: {
3464
+ name: {
2651
3465
  type: "string",
2652
- description: "Human-readable label for this scope.",
3466
+ description: "Human-readable name for this scope.",
2653
3467
  maxLength: 200
2654
3468
  },
2655
- kind: {
3469
+ category: {
2656
3470
  type: "string",
2657
- description: "Category type of this scope. Recommended values: topic, language, domain, method, tag.",
3471
+ description: "Category type of this scope.",
3472
+ knownValues: [
3473
+ "topic",
3474
+ "language",
3475
+ "domain",
3476
+ "method"
3477
+ ],
2658
3478
  maxLength: 50
2659
3479
  },
2660
3480
  description: {
@@ -2666,7 +3486,22 @@ var defs$2 = {
2666
3486
  parent: {
2667
3487
  type: "ref",
2668
3488
  ref: "com.atproto.repo.strongRef",
2669
- description: "Optional strong reference to a parent scope record for taxonomy/hierarchy support."
3489
+ description: "Optional strong reference to a parent work scope tag record for taxonomy/hierarchy support. The record referenced must conform with the lexicon org.hypercerts.workscope.tag."
3490
+ },
3491
+ status: {
3492
+ type: "string",
3493
+ description: "Lifecycle status of this tag. Communities propose tags, curators accept them, deprecated tags point to replacements via supersededBy.",
3494
+ knownValues: [
3495
+ "proposed",
3496
+ "accepted",
3497
+ "deprecated"
3498
+ ],
3499
+ maxLength: 20
3500
+ },
3501
+ supersededBy: {
3502
+ type: "ref",
3503
+ ref: "com.atproto.repo.strongRef",
3504
+ description: "When status is 'deprecated', points to the replacement work scope tag record. The record referenced must conform with the lexicon org.hypercerts.workscope.tag."
2670
3505
  },
2671
3506
  aliases: {
2672
3507
  type: "array",
@@ -2675,28 +3510,124 @@ var defs$2 = {
2675
3510
  maxLength: 200
2676
3511
  },
2677
3512
  maxLength: 50,
2678
- description: "Optional array of alternative names or identifiers for this scope."
3513
+ description: "Alternative human-readable names for this scope (e.g., translations, abbreviations, or common synonyms). Unlike sameAs, these are plain-text labels, not links to external ontologies."
3514
+ },
3515
+ sameAs: {
3516
+ type: "array",
3517
+ items: {
3518
+ type: "string",
3519
+ format: "uri",
3520
+ maxLength: 2048
3521
+ },
3522
+ maxLength: 20,
3523
+ description: "URIs to semantically equivalent concepts in external ontologies or taxonomies (e.g., Wikidata QIDs, ENVO terms, SDG targets). Used for interoperability, not as documentation."
2679
3524
  },
2680
- externalReference: {
3525
+ referenceDocument: {
2681
3526
  type: "union",
2682
3527
  refs: [
2683
3528
  "org.hypercerts.defs#uri",
2684
3529
  "org.hypercerts.defs#smallBlob"
2685
3530
  ],
2686
- description: "Optional external reference for this scope as a URI or blob."
3531
+ description: "Link to a governance or reference document where this work scope tag is defined and further explained."
3532
+ },
3533
+ createdAt: {
3534
+ type: "string",
3535
+ format: "datetime",
3536
+ description: "Client-declared timestamp when this record was originally created."
2687
3537
  }
2688
3538
  }
2689
3539
  }
2690
3540
  }
2691
3541
  };
2692
- var WORK_SCOPE_TAG_LEXICON_JSON = {
3542
+ var WORKSCOPE_TAG_LEXICON_JSON = {
2693
3543
  lexicon: lexicon,
2694
- id: id$j,
3544
+ id: id$n,
2695
3545
  defs: defs$2
2696
3546
  };
2697
3547
 
2698
- const is$typed$i = is$typed$j, validate$i = validate$j;
2699
- const id$i = 'app.certified.actor.profile';
3548
+ const is$typed$m = is$typed$n, validate$m = validate$n;
3549
+ const id$m = 'app.certified.actor.organization';
3550
+ const hashMain$k = 'main';
3551
+ function isMain$k(v) {
3552
+ return is$typed$m(v, id$m, hashMain$k);
3553
+ }
3554
+ function validateMain$k(v) {
3555
+ return validate$m(v, id$m, hashMain$k, true);
3556
+ }
3557
+ const hashUrlItem = 'urlItem';
3558
+ function isUrlItem(v) {
3559
+ return is$typed$m(v, id$m, hashUrlItem);
3560
+ }
3561
+ function validateUrlItem(v) {
3562
+ return validate$m(v, id$m, hashUrlItem);
3563
+ }
3564
+
3565
+ var organization = /*#__PURE__*/Object.freeze({
3566
+ __proto__: null,
3567
+ isMain: isMain$k,
3568
+ isRecord: isMain$k,
3569
+ isUrlItem: isUrlItem,
3570
+ validateMain: validateMain$k,
3571
+ validateRecord: validateMain$k,
3572
+ validateUrlItem: validateUrlItem
3573
+ });
3574
+
3575
+ const is$typed$l = is$typed$n, validate$l = validate$n;
3576
+ const id$l = 'app.certified.actor.profile';
3577
+ const hashMain$j = 'main';
3578
+ function isMain$j(v) {
3579
+ return is$typed$l(v, id$l, hashMain$j);
3580
+ }
3581
+ function validateMain$j(v) {
3582
+ return validate$l(v, id$l, hashMain$j, true);
3583
+ }
3584
+
3585
+ var profile = /*#__PURE__*/Object.freeze({
3586
+ __proto__: null,
3587
+ isMain: isMain$j,
3588
+ isRecord: isMain$j,
3589
+ validateMain: validateMain$j,
3590
+ validateRecord: validateMain$j
3591
+ });
3592
+
3593
+ const is$typed$k = is$typed$n, validate$k = validate$n;
3594
+ const id$k = 'app.certified.badge.award';
3595
+ const hashMain$i = 'main';
3596
+ function isMain$i(v) {
3597
+ return is$typed$k(v, id$k, hashMain$i);
3598
+ }
3599
+ function validateMain$i(v) {
3600
+ return validate$k(v, id$k, hashMain$i, true);
3601
+ }
3602
+
3603
+ var award = /*#__PURE__*/Object.freeze({
3604
+ __proto__: null,
3605
+ isMain: isMain$i,
3606
+ isRecord: isMain$i,
3607
+ validateMain: validateMain$i,
3608
+ validateRecord: validateMain$i
3609
+ });
3610
+
3611
+ const is$typed$j = is$typed$n, validate$j = validate$n;
3612
+ const id$j = 'app.certified.badge.definition';
3613
+ const hashMain$h = 'main';
3614
+ function isMain$h(v) {
3615
+ return is$typed$j(v, id$j, hashMain$h);
3616
+ }
3617
+ function validateMain$h(v) {
3618
+ return validate$j(v, id$j, hashMain$h, true);
3619
+ }
3620
+
3621
+ var definition = /*#__PURE__*/Object.freeze({
3622
+ __proto__: null,
3623
+ isMain: isMain$h,
3624
+ isRecord: isMain$h,
3625
+ validateMain: validateMain$h,
3626
+ validateRecord: validateMain$h
3627
+ });
3628
+
3629
+ const is$typed$i = is$typed$n, validate$i = validate$n;
3630
+ const id$i = 'app.certified.badge.response';
2700
3631
  const hashMain$g = 'main';
2701
3632
  function isMain$g(v) {
2702
3633
  return is$typed$i(v, id$i, hashMain$g);
@@ -2705,7 +3636,7 @@ function validateMain$g(v) {
2705
3636
  return validate$i(v, id$i, hashMain$g, true);
2706
3637
  }
2707
3638
 
2708
- var profile = /*#__PURE__*/Object.freeze({
3639
+ var response = /*#__PURE__*/Object.freeze({
2709
3640
  __proto__: null,
2710
3641
  isMain: isMain$g,
2711
3642
  isRecord: isMain$g,
@@ -2713,78 +3644,103 @@ var profile = /*#__PURE__*/Object.freeze({
2713
3644
  validateRecord: validateMain$g
2714
3645
  });
2715
3646
 
2716
- const is$typed$h = is$typed$j, validate$h = validate$j;
2717
- const id$h = 'app.certified.badge.award';
3647
+ const is$typed$h = is$typed$n, validate$h = validate$n;
3648
+ const id$h = 'app.certified.defs';
3649
+ const hashDid = 'did';
3650
+ function isDid(v) {
3651
+ return is$typed$h(v, id$h, hashDid);
3652
+ }
3653
+ function validateDid(v) {
3654
+ return validate$h(v, id$h, hashDid);
3655
+ }
3656
+
3657
+ var defs$1 = /*#__PURE__*/Object.freeze({
3658
+ __proto__: null,
3659
+ isDid: isDid,
3660
+ validateDid: validateDid
3661
+ });
3662
+
3663
+ const is$typed$g = is$typed$n, validate$g = validate$n;
3664
+ const id$g = 'app.certified.location';
2718
3665
  const hashMain$f = 'main';
2719
3666
  function isMain$f(v) {
2720
- return is$typed$h(v, id$h, hashMain$f);
3667
+ return is$typed$g(v, id$g, hashMain$f);
2721
3668
  }
2722
3669
  function validateMain$f(v) {
2723
- return validate$h(v, id$h, hashMain$f, true);
3670
+ return validate$g(v, id$g, hashMain$f, true);
3671
+ }
3672
+ const hashString = 'string';
3673
+ function isString(v) {
3674
+ return is$typed$g(v, id$g, hashString);
3675
+ }
3676
+ function validateString(v) {
3677
+ return validate$g(v, id$g, hashString);
2724
3678
  }
2725
3679
 
2726
- var award = /*#__PURE__*/Object.freeze({
3680
+ var location = /*#__PURE__*/Object.freeze({
2727
3681
  __proto__: null,
2728
3682
  isMain: isMain$f,
2729
3683
  isRecord: isMain$f,
3684
+ isString: isString,
2730
3685
  validateMain: validateMain$f,
2731
- validateRecord: validateMain$f
3686
+ validateRecord: validateMain$f,
3687
+ validateString: validateString
2732
3688
  });
2733
3689
 
2734
- const is$typed$g = is$typed$j, validate$g = validate$j;
2735
- const id$g = 'app.certified.badge.definition';
3690
+ const is$typed$f = is$typed$n, validate$f = validate$n;
3691
+ const id$f = 'com.atproto.repo.strongRef';
2736
3692
  const hashMain$e = 'main';
2737
3693
  function isMain$e(v) {
2738
- return is$typed$g(v, id$g, hashMain$e);
3694
+ return is$typed$f(v, id$f, hashMain$e);
2739
3695
  }
2740
3696
  function validateMain$e(v) {
2741
- return validate$g(v, id$g, hashMain$e, true);
3697
+ return validate$f(v, id$f, hashMain$e);
2742
3698
  }
2743
3699
 
2744
- var definition = /*#__PURE__*/Object.freeze({
3700
+ var strongRef = /*#__PURE__*/Object.freeze({
2745
3701
  __proto__: null,
2746
3702
  isMain: isMain$e,
2747
- isRecord: isMain$e,
2748
- validateMain: validateMain$e,
2749
- validateRecord: validateMain$e
3703
+ validateMain: validateMain$e
2750
3704
  });
2751
3705
 
2752
- const is$typed$f = is$typed$j, validate$f = validate$j;
2753
- const id$f = 'app.certified.badge.response';
3706
+ const is$typed$e = is$typed$n, validate$e = validate$n;
3707
+ const id$e = 'org.hyperboards.board';
2754
3708
  const hashMain$d = 'main';
2755
3709
  function isMain$d(v) {
2756
- return is$typed$f(v, id$f, hashMain$d);
3710
+ return is$typed$e(v, id$e, hashMain$d);
2757
3711
  }
2758
3712
  function validateMain$d(v) {
2759
- return validate$f(v, id$f, hashMain$d, true);
3713
+ return validate$e(v, id$e, hashMain$d, true);
3714
+ }
3715
+ const hashBoardConfig = 'boardConfig';
3716
+ function isBoardConfig(v) {
3717
+ return is$typed$e(v, id$e, hashBoardConfig);
3718
+ }
3719
+ function validateBoardConfig(v) {
3720
+ return validate$e(v, id$e, hashBoardConfig);
3721
+ }
3722
+ const hashContributorConfig = 'contributorConfig';
3723
+ function isContributorConfig(v) {
3724
+ return is$typed$e(v, id$e, hashContributorConfig);
3725
+ }
3726
+ function validateContributorConfig(v) {
3727
+ return validate$e(v, id$e, hashContributorConfig);
2760
3728
  }
2761
3729
 
2762
- var response = /*#__PURE__*/Object.freeze({
3730
+ var board = /*#__PURE__*/Object.freeze({
2763
3731
  __proto__: null,
3732
+ isBoardConfig: isBoardConfig,
3733
+ isContributorConfig: isContributorConfig,
2764
3734
  isMain: isMain$d,
2765
3735
  isRecord: isMain$d,
3736
+ validateBoardConfig: validateBoardConfig,
3737
+ validateContributorConfig: validateContributorConfig,
2766
3738
  validateMain: validateMain$d,
2767
3739
  validateRecord: validateMain$d
2768
3740
  });
2769
3741
 
2770
- const is$typed$e = is$typed$j, validate$e = validate$j;
2771
- const id$e = 'app.certified.defs';
2772
- const hashDid = 'did';
2773
- function isDid(v) {
2774
- return is$typed$e(v, id$e, hashDid);
2775
- }
2776
- function validateDid(v) {
2777
- return validate$e(v, id$e, hashDid);
2778
- }
2779
-
2780
- var defs$1 = /*#__PURE__*/Object.freeze({
2781
- __proto__: null,
2782
- isDid: isDid,
2783
- validateDid: validateDid
2784
- });
2785
-
2786
- const is$typed$d = is$typed$j, validate$d = validate$j;
2787
- const id$d = 'app.certified.location';
3742
+ const is$typed$d = is$typed$n, validate$d = validate$n;
3743
+ const id$d = 'org.hyperboards.displayProfile';
2788
3744
  const hashMain$c = 'main';
2789
3745
  function isMain$c(v) {
2790
3746
  return is$typed$d(v, id$d, hashMain$c);
@@ -2792,42 +3748,71 @@ function isMain$c(v) {
2792
3748
  function validateMain$c(v) {
2793
3749
  return validate$d(v, id$d, hashMain$c, true);
2794
3750
  }
2795
- const hashString = 'string';
2796
- function isString(v) {
2797
- return is$typed$d(v, id$d, hashString);
2798
- }
2799
- function validateString(v) {
2800
- return validate$d(v, id$d, hashString);
2801
- }
2802
3751
 
2803
- var location = /*#__PURE__*/Object.freeze({
3752
+ var displayProfile = /*#__PURE__*/Object.freeze({
2804
3753
  __proto__: null,
2805
3754
  isMain: isMain$c,
2806
3755
  isRecord: isMain$c,
2807
- isString: isString,
2808
3756
  validateMain: validateMain$c,
2809
- validateRecord: validateMain$c,
2810
- validateString: validateString
3757
+ validateRecord: validateMain$c
2811
3758
  });
2812
3759
 
2813
- const is$typed$c = is$typed$j, validate$c = validate$j;
2814
- const id$c = 'com.atproto.repo.strongRef';
3760
+ const is$typed$c = is$typed$n, validate$c = validate$n;
3761
+ const id$c = 'org.hypercerts.claim.activity';
2815
3762
  const hashMain$b = 'main';
2816
3763
  function isMain$b(v) {
2817
3764
  return is$typed$c(v, id$c, hashMain$b);
2818
3765
  }
2819
3766
  function validateMain$b(v) {
2820
- return validate$c(v, id$c, hashMain$b);
3767
+ return validate$c(v, id$c, hashMain$b, true);
3768
+ }
3769
+ const hashContributor = 'contributor';
3770
+ function isContributor(v) {
3771
+ return is$typed$c(v, id$c, hashContributor);
3772
+ }
3773
+ function validateContributor(v) {
3774
+ return validate$c(v, id$c, hashContributor);
3775
+ }
3776
+ const hashContributorIdentity = 'contributorIdentity';
3777
+ function isContributorIdentity(v) {
3778
+ return is$typed$c(v, id$c, hashContributorIdentity);
3779
+ }
3780
+ function validateContributorIdentity(v) {
3781
+ return validate$c(v, id$c, hashContributorIdentity);
3782
+ }
3783
+ const hashContributorRole = 'contributorRole';
3784
+ function isContributorRole(v) {
3785
+ return is$typed$c(v, id$c, hashContributorRole);
3786
+ }
3787
+ function validateContributorRole(v) {
3788
+ return validate$c(v, id$c, hashContributorRole);
3789
+ }
3790
+ const hashWorkScopeString = 'workScopeString';
3791
+ function isWorkScopeString(v) {
3792
+ return is$typed$c(v, id$c, hashWorkScopeString);
3793
+ }
3794
+ function validateWorkScopeString(v) {
3795
+ return validate$c(v, id$c, hashWorkScopeString);
2821
3796
  }
2822
3797
 
2823
- var strongRef = /*#__PURE__*/Object.freeze({
3798
+ var activity = /*#__PURE__*/Object.freeze({
2824
3799
  __proto__: null,
3800
+ isContributor: isContributor,
3801
+ isContributorIdentity: isContributorIdentity,
3802
+ isContributorRole: isContributorRole,
2825
3803
  isMain: isMain$b,
2826
- validateMain: validateMain$b
3804
+ isRecord: isMain$b,
3805
+ isWorkScopeString: isWorkScopeString,
3806
+ validateContributor: validateContributor,
3807
+ validateContributorIdentity: validateContributorIdentity,
3808
+ validateContributorRole: validateContributorRole,
3809
+ validateMain: validateMain$b,
3810
+ validateRecord: validateMain$b,
3811
+ validateWorkScopeString: validateWorkScopeString
2827
3812
  });
2828
3813
 
2829
- const is$typed$b = is$typed$j, validate$b = validate$j;
2830
- const id$b = 'org.hypercerts.acknowledgement';
3814
+ const is$typed$b = is$typed$n, validate$b = validate$n;
3815
+ const id$b = 'org.hypercerts.claim.contribution';
2831
3816
  const hashMain$a = 'main';
2832
3817
  function isMain$a(v) {
2833
3818
  return is$typed$b(v, id$b, hashMain$a);
@@ -2836,7 +3821,7 @@ function validateMain$a(v) {
2836
3821
  return validate$b(v, id$b, hashMain$a, true);
2837
3822
  }
2838
3823
 
2839
- var acknowledgement = /*#__PURE__*/Object.freeze({
3824
+ var contribution = /*#__PURE__*/Object.freeze({
2840
3825
  __proto__: null,
2841
3826
  isMain: isMain$a,
2842
3827
  isRecord: isMain$a,
@@ -2844,8 +3829,8 @@ var acknowledgement = /*#__PURE__*/Object.freeze({
2844
3829
  validateRecord: validateMain$a
2845
3830
  });
2846
3831
 
2847
- const is$typed$a = is$typed$j, validate$a = validate$j;
2848
- const id$a = 'org.hypercerts.claim.activity';
3832
+ const is$typed$a = is$typed$n, validate$a = validate$n;
3833
+ const id$a = 'org.hypercerts.claim.contributorInformation';
2849
3834
  const hashMain$9 = 'main';
2850
3835
  function isMain$9(v) {
2851
3836
  return is$typed$a(v, id$a, hashMain$9);
@@ -2853,53 +3838,17 @@ function isMain$9(v) {
2853
3838
  function validateMain$9(v) {
2854
3839
  return validate$a(v, id$a, hashMain$9, true);
2855
3840
  }
2856
- const hashContributor = 'contributor';
2857
- function isContributor(v) {
2858
- return is$typed$a(v, id$a, hashContributor);
2859
- }
2860
- function validateContributor(v) {
2861
- return validate$a(v, id$a, hashContributor);
2862
- }
2863
- const hashContributorIdentity = 'contributorIdentity';
2864
- function isContributorIdentity(v) {
2865
- return is$typed$a(v, id$a, hashContributorIdentity);
2866
- }
2867
- function validateContributorIdentity(v) {
2868
- return validate$a(v, id$a, hashContributorIdentity);
2869
- }
2870
- const hashContributorRole = 'contributorRole';
2871
- function isContributorRole(v) {
2872
- return is$typed$a(v, id$a, hashContributorRole);
2873
- }
2874
- function validateContributorRole(v) {
2875
- return validate$a(v, id$a, hashContributorRole);
2876
- }
2877
- const hashWorkScopeString = 'workScopeString';
2878
- function isWorkScopeString(v) {
2879
- return is$typed$a(v, id$a, hashWorkScopeString);
2880
- }
2881
- function validateWorkScopeString(v) {
2882
- return validate$a(v, id$a, hashWorkScopeString);
2883
- }
2884
3841
 
2885
- var activity = /*#__PURE__*/Object.freeze({
3842
+ var contributorInformation = /*#__PURE__*/Object.freeze({
2886
3843
  __proto__: null,
2887
- isContributor: isContributor,
2888
- isContributorIdentity: isContributorIdentity,
2889
- isContributorRole: isContributorRole,
2890
3844
  isMain: isMain$9,
2891
3845
  isRecord: isMain$9,
2892
- isWorkScopeString: isWorkScopeString,
2893
- validateContributor: validateContributor,
2894
- validateContributorIdentity: validateContributorIdentity,
2895
- validateContributorRole: validateContributorRole,
2896
3846
  validateMain: validateMain$9,
2897
- validateRecord: validateMain$9,
2898
- validateWorkScopeString: validateWorkScopeString
3847
+ validateRecord: validateMain$9
2899
3848
  });
2900
3849
 
2901
- const is$typed$9 = is$typed$j, validate$9 = validate$j;
2902
- const id$9 = 'org.hypercerts.claim.attachment';
3850
+ const is$typed$9 = is$typed$n, validate$9 = validate$n;
3851
+ const id$9 = 'org.hypercerts.claim.rights';
2903
3852
  const hashMain$8 = 'main';
2904
3853
  function isMain$8(v) {
2905
3854
  return is$typed$9(v, id$9, hashMain$8);
@@ -2908,7 +3857,7 @@ function validateMain$8(v) {
2908
3857
  return validate$9(v, id$9, hashMain$8, true);
2909
3858
  }
2910
3859
 
2911
- var attachment = /*#__PURE__*/Object.freeze({
3860
+ var rights = /*#__PURE__*/Object.freeze({
2912
3861
  __proto__: null,
2913
3862
  isMain: isMain$8,
2914
3863
  isRecord: isMain$8,
@@ -2916,8 +3865,8 @@ var attachment = /*#__PURE__*/Object.freeze({
2916
3865
  validateRecord: validateMain$8
2917
3866
  });
2918
3867
 
2919
- const is$typed$8 = is$typed$j, validate$8 = validate$j;
2920
- const id$8 = 'org.hypercerts.claim.collection';
3868
+ const is$typed$8 = is$typed$n, validate$8 = validate$n;
3869
+ const id$8 = 'org.hypercerts.collection';
2921
3870
  const hashMain$7 = 'main';
2922
3871
  function isMain$7(v) {
2923
3872
  return is$typed$8(v, id$8, hashMain$7);
@@ -2943,8 +3892,8 @@ var collection = /*#__PURE__*/Object.freeze({
2943
3892
  validateRecord: validateMain$7
2944
3893
  });
2945
3894
 
2946
- const is$typed$7 = is$typed$j, validate$7 = validate$j;
2947
- const id$7 = 'org.hypercerts.claim.contributionDetails';
3895
+ const is$typed$7 = is$typed$n, validate$7 = validate$n;
3896
+ const id$7 = 'org.hypercerts.context.acknowledgement';
2948
3897
  const hashMain$6 = 'main';
2949
3898
  function isMain$6(v) {
2950
3899
  return is$typed$7(v, id$7, hashMain$6);
@@ -2953,7 +3902,7 @@ function validateMain$6(v) {
2953
3902
  return validate$7(v, id$7, hashMain$6, true);
2954
3903
  }
2955
3904
 
2956
- var contributionDetails = /*#__PURE__*/Object.freeze({
3905
+ var acknowledgement = /*#__PURE__*/Object.freeze({
2957
3906
  __proto__: null,
2958
3907
  isMain: isMain$6,
2959
3908
  isRecord: isMain$6,
@@ -2961,8 +3910,8 @@ var contributionDetails = /*#__PURE__*/Object.freeze({
2961
3910
  validateRecord: validateMain$6
2962
3911
  });
2963
3912
 
2964
- const is$typed$6 = is$typed$j, validate$6 = validate$j;
2965
- const id$6 = 'org.hypercerts.claim.contributorInformation';
3913
+ const is$typed$6 = is$typed$n, validate$6 = validate$n;
3914
+ const id$6 = 'org.hypercerts.context.attachment';
2966
3915
  const hashMain$5 = 'main';
2967
3916
  function isMain$5(v) {
2968
3917
  return is$typed$6(v, id$6, hashMain$5);
@@ -2971,7 +3920,7 @@ function validateMain$5(v) {
2971
3920
  return validate$6(v, id$6, hashMain$5, true);
2972
3921
  }
2973
3922
 
2974
- var contributorInformation = /*#__PURE__*/Object.freeze({
3923
+ var attachment = /*#__PURE__*/Object.freeze({
2975
3924
  __proto__: null,
2976
3925
  isMain: isMain$5,
2977
3926
  isRecord: isMain$5,
@@ -2979,15 +3928,8 @@ var contributorInformation = /*#__PURE__*/Object.freeze({
2979
3928
  validateRecord: validateMain$5
2980
3929
  });
2981
3930
 
2982
- const is$typed$5 = is$typed$j, validate$5 = validate$j;
2983
- const id$5 = 'org.hypercerts.claim.evaluation';
2984
- const hashScore = 'score';
2985
- function isScore(v) {
2986
- return is$typed$5(v, id$5, hashScore);
2987
- }
2988
- function validateScore(v) {
2989
- return validate$5(v, id$5, hashScore);
2990
- }
3931
+ const is$typed$5 = is$typed$n, validate$5 = validate$n;
3932
+ const id$5 = 'org.hypercerts.context.evaluation';
2991
3933
  const hashMain$4 = 'main';
2992
3934
  function isMain$4(v) {
2993
3935
  return is$typed$5(v, id$5, hashMain$4);
@@ -2995,6 +3937,13 @@ function isMain$4(v) {
2995
3937
  function validateMain$4(v) {
2996
3938
  return validate$5(v, id$5, hashMain$4, true);
2997
3939
  }
3940
+ const hashScore = 'score';
3941
+ function isScore(v) {
3942
+ return is$typed$5(v, id$5, hashScore);
3943
+ }
3944
+ function validateScore(v) {
3945
+ return validate$5(v, id$5, hashScore);
3946
+ }
2998
3947
 
2999
3948
  var evaluation = /*#__PURE__*/Object.freeze({
3000
3949
  __proto__: null,
@@ -3006,8 +3955,8 @@ var evaluation = /*#__PURE__*/Object.freeze({
3006
3955
  validateScore: validateScore
3007
3956
  });
3008
3957
 
3009
- const is$typed$4 = is$typed$j, validate$4 = validate$j;
3010
- const id$4 = 'org.hypercerts.claim.measurement';
3958
+ const is$typed$4 = is$typed$n, validate$4 = validate$n;
3959
+ const id$4 = 'org.hypercerts.context.measurement';
3011
3960
  const hashMain$3 = 'main';
3012
3961
  function isMain$3(v) {
3013
3962
  return is$typed$4(v, id$4, hashMain$3);
@@ -3024,60 +3973,49 @@ var measurement = /*#__PURE__*/Object.freeze({
3024
3973
  validateRecord: validateMain$3
3025
3974
  });
3026
3975
 
3027
- const is$typed$3 = is$typed$j, validate$3 = validate$j;
3028
- const id$3 = 'org.hypercerts.claim.rights';
3029
- const hashMain$2 = 'main';
3030
- function isMain$2(v) {
3031
- return is$typed$3(v, id$3, hashMain$2);
3032
- }
3033
- function validateMain$2(v) {
3034
- return validate$3(v, id$3, hashMain$2, true);
3035
- }
3036
-
3037
- var rights = /*#__PURE__*/Object.freeze({
3038
- __proto__: null,
3039
- isMain: isMain$2,
3040
- isRecord: isMain$2,
3041
- validateMain: validateMain$2,
3042
- validateRecord: validateMain$2
3043
- });
3044
-
3045
- const is$typed$2 = is$typed$j, validate$2 = validate$j;
3046
- const id$2 = 'org.hypercerts.defs';
3976
+ const is$typed$3 = is$typed$n, validate$3 = validate$n;
3977
+ const id$3 = 'org.hypercerts.defs';
3047
3978
  const hashUri = 'uri';
3048
3979
  function isUri(v) {
3049
- return is$typed$2(v, id$2, hashUri);
3980
+ return is$typed$3(v, id$3, hashUri);
3050
3981
  }
3051
3982
  function validateUri(v) {
3052
- return validate$2(v, id$2, hashUri);
3983
+ return validate$3(v, id$3, hashUri);
3053
3984
  }
3054
3985
  const hashSmallBlob = 'smallBlob';
3055
3986
  function isSmallBlob(v) {
3056
- return is$typed$2(v, id$2, hashSmallBlob);
3987
+ return is$typed$3(v, id$3, hashSmallBlob);
3057
3988
  }
3058
3989
  function validateSmallBlob(v) {
3059
- return validate$2(v, id$2, hashSmallBlob);
3990
+ return validate$3(v, id$3, hashSmallBlob);
3060
3991
  }
3061
3992
  const hashLargeBlob = 'largeBlob';
3062
3993
  function isLargeBlob(v) {
3063
- return is$typed$2(v, id$2, hashLargeBlob);
3994
+ return is$typed$3(v, id$3, hashLargeBlob);
3064
3995
  }
3065
3996
  function validateLargeBlob(v) {
3066
- return validate$2(v, id$2, hashLargeBlob);
3997
+ return validate$3(v, id$3, hashLargeBlob);
3067
3998
  }
3068
3999
  const hashSmallImage = 'smallImage';
3069
4000
  function isSmallImage(v) {
3070
- return is$typed$2(v, id$2, hashSmallImage);
4001
+ return is$typed$3(v, id$3, hashSmallImage);
3071
4002
  }
3072
4003
  function validateSmallImage(v) {
3073
- return validate$2(v, id$2, hashSmallImage);
4004
+ return validate$3(v, id$3, hashSmallImage);
4005
+ }
4006
+ const hashSmallVideo = 'smallVideo';
4007
+ function isSmallVideo(v) {
4008
+ return is$typed$3(v, id$3, hashSmallVideo);
4009
+ }
4010
+ function validateSmallVideo(v) {
4011
+ return validate$3(v, id$3, hashSmallVideo);
3074
4012
  }
3075
4013
  const hashLargeImage = 'largeImage';
3076
4014
  function isLargeImage(v) {
3077
- return is$typed$2(v, id$2, hashLargeImage);
4015
+ return is$typed$3(v, id$3, hashLargeImage);
3078
4016
  }
3079
4017
  function validateLargeImage(v) {
3080
- return validate$2(v, id$2, hashLargeImage);
4018
+ return validate$3(v, id$3, hashLargeImage);
3081
4019
  }
3082
4020
 
3083
4021
  var defs = /*#__PURE__*/Object.freeze({
@@ -3086,34 +4024,52 @@ var defs = /*#__PURE__*/Object.freeze({
3086
4024
  isLargeImage: isLargeImage,
3087
4025
  isSmallBlob: isSmallBlob,
3088
4026
  isSmallImage: isSmallImage,
4027
+ isSmallVideo: isSmallVideo,
3089
4028
  isUri: isUri,
3090
4029
  validateLargeBlob: validateLargeBlob,
3091
4030
  validateLargeImage: validateLargeImage,
3092
4031
  validateSmallBlob: validateSmallBlob,
3093
4032
  validateSmallImage: validateSmallImage,
4033
+ validateSmallVideo: validateSmallVideo,
3094
4034
  validateUri: validateUri
3095
4035
  });
3096
4036
 
3097
- const is$typed$1 = is$typed$j, validate$1 = validate$j;
3098
- const id$1 = 'org.hypercerts.funding.receipt';
4037
+ const is$typed$2 = is$typed$n, validate$2 = validate$n;
4038
+ const id$2 = 'org.hypercerts.funding.receipt';
4039
+ const hashMain$2 = 'main';
4040
+ function isMain$2(v) {
4041
+ return is$typed$2(v, id$2, hashMain$2);
4042
+ }
4043
+ function validateMain$2(v) {
4044
+ return validate$2(v, id$2, hashMain$2, true);
4045
+ }
4046
+
4047
+ var receipt = /*#__PURE__*/Object.freeze({
4048
+ __proto__: null,
4049
+ isMain: isMain$2,
4050
+ isRecord: isMain$2,
4051
+ validateMain: validateMain$2,
4052
+ validateRecord: validateMain$2
4053
+ });
4054
+
4055
+ const is$typed$1 = is$typed$n, validate$1 = validate$n;
4056
+ const id$1 = 'org.hypercerts.workscope.cel';
3099
4057
  const hashMain$1 = 'main';
3100
4058
  function isMain$1(v) {
3101
4059
  return is$typed$1(v, id$1, hashMain$1);
3102
4060
  }
3103
4061
  function validateMain$1(v) {
3104
- return validate$1(v, id$1, hashMain$1, true);
4062
+ return validate$1(v, id$1, hashMain$1);
3105
4063
  }
3106
4064
 
3107
- var receipt = /*#__PURE__*/Object.freeze({
4065
+ var cel = /*#__PURE__*/Object.freeze({
3108
4066
  __proto__: null,
3109
4067
  isMain: isMain$1,
3110
- isRecord: isMain$1,
3111
- validateMain: validateMain$1,
3112
- validateRecord: validateMain$1
4068
+ validateMain: validateMain$1
3113
4069
  });
3114
4070
 
3115
- const is$typed = is$typed$j, validate = validate$j;
3116
- const id = 'org.hypercerts.helper.workScopeTag';
4071
+ const is$typed = is$typed$n, validate = validate$n;
4072
+ const id = 'org.hypercerts.workscope.tag';
3117
4073
  const hashMain = 'main';
3118
4074
  function isMain(v) {
3119
4075
  return is$typed(v, id, hashMain);
@@ -3122,7 +4078,7 @@ function validateMain(v) {
3122
4078
  return validate(v, id, hashMain, true);
3123
4079
  }
3124
4080
 
3125
- var workScopeTag = /*#__PURE__*/Object.freeze({
4081
+ var tag = /*#__PURE__*/Object.freeze({
3126
4082
  __proto__: null,
3127
4083
  isMain: isMain,
3128
4084
  isRecord: isMain,
@@ -3136,7 +4092,7 @@ var workScopeTag = /*#__PURE__*/Object.freeze({
3136
4092
  * ⚠️ DO NOT EDIT THIS FILE MANUALLY ⚠️
3137
4093
  *
3138
4094
  * This file is automatically generated by scripts/generate-exports.js
3139
- * Generated: 2026-02-12T03:41:04.097Z
4095
+ * Generated: 2026-03-02T17:51:18.002Z
3140
4096
  *
3141
4097
  * To regenerate this file, run:
3142
4098
  * npm run gen-api
@@ -3153,6 +4109,7 @@ var workScopeTag = /*#__PURE__*/Object.freeze({
3153
4109
  * @packageDocumentation
3154
4110
  */
3155
4111
  // Individual NSID constants
4112
+ const ACTOR_ORGANIZATION_NSID = "app.certified.actor.organization";
3156
4113
  const ACTOR_PROFILE_NSID = "app.certified.actor.profile";
3157
4114
  const BADGE_AWARD_NSID = "app.certified.badge.award";
3158
4115
  const BADGE_DEFINITION_NSID = "app.certified.badge.definition";
@@ -3160,18 +4117,21 @@ const BADGE_RESPONSE_NSID = "app.certified.badge.response";
3160
4117
  const CERTIFIED_DEFS_NSID = "app.certified.defs";
3161
4118
  const LOCATION_NSID = "app.certified.location";
3162
4119
  const STRONG_REF_NSID = "com.atproto.repo.strongRef";
3163
- const HYPERCERTS_ACKNOWLEDGEMENT_NSID = "org.hypercerts.acknowledgement";
4120
+ const HYPERBOARDS_BOARD_NSID = "org.hyperboards.board";
4121
+ const HYPERBOARDS_DISPLAY_PROFILE_NSID = "org.hyperboards.displayProfile";
3164
4122
  const ACTIVITY_NSID = "org.hypercerts.claim.activity";
3165
- const ATTACHMENT_NSID = "org.hypercerts.claim.attachment";
3166
- const COLLECTION_NSID = "org.hypercerts.claim.collection";
3167
- const CONTRIBUTION_DETAILS_NSID = "org.hypercerts.claim.contributionDetails";
4123
+ const CONTRIBUTION_NSID = "org.hypercerts.claim.contribution";
3168
4124
  const CONTRIBUTOR_INFORMATION_NSID = "org.hypercerts.claim.contributorInformation";
3169
- const EVALUATION_NSID = "org.hypercerts.claim.evaluation";
3170
- const MEASUREMENT_NSID = "org.hypercerts.claim.measurement";
3171
4125
  const RIGHTS_NSID = "org.hypercerts.claim.rights";
4126
+ const HYPERCERTS_COLLECTION_NSID = "org.hypercerts.collection";
4127
+ const CONTEXT_ACKNOWLEDGEMENT_NSID = "org.hypercerts.context.acknowledgement";
4128
+ const CONTEXT_ATTACHMENT_NSID = "org.hypercerts.context.attachment";
4129
+ const CONTEXT_EVALUATION_NSID = "org.hypercerts.context.evaluation";
4130
+ const CONTEXT_MEASUREMENT_NSID = "org.hypercerts.context.measurement";
3172
4131
  const HYPERCERTS_DEFS_NSID = "org.hypercerts.defs";
3173
4132
  const FUNDING_RECEIPT_NSID = "org.hypercerts.funding.receipt";
3174
- const WORK_SCOPE_TAG_NSID = "org.hypercerts.helper.workScopeTag";
4133
+ const WORKSCOPE_CEL_NSID = "org.hypercerts.workscope.cel";
4134
+ const WORKSCOPE_TAG_NSID = "org.hypercerts.workscope.tag";
3175
4135
  /**
3176
4136
  * Collection NSIDs organized by semantic record type.
3177
4137
  *
@@ -3179,6 +4139,7 @@ const WORK_SCOPE_TAG_NSID = "org.hypercerts.helper.workScopeTag";
3179
4139
  * correct collection names.
3180
4140
  */
3181
4141
  const HYPERCERTS_NSIDS = {
4142
+ ACTOR_ORGANIZATION: ACTOR_ORGANIZATION_NSID,
3182
4143
  ACTOR_PROFILE: ACTOR_PROFILE_NSID,
3183
4144
  BADGE_AWARD: BADGE_AWARD_NSID,
3184
4145
  BADGE_DEFINITION: BADGE_DEFINITION_NSID,
@@ -3186,23 +4147,27 @@ const HYPERCERTS_NSIDS = {
3186
4147
  CERTIFIED_DEFS: CERTIFIED_DEFS_NSID,
3187
4148
  LOCATION: LOCATION_NSID,
3188
4149
  STRONG_REF: STRONG_REF_NSID,
3189
- HYPERCERTS_ACKNOWLEDGEMENT: HYPERCERTS_ACKNOWLEDGEMENT_NSID,
4150
+ HYPERBOARDS_BOARD: HYPERBOARDS_BOARD_NSID,
4151
+ HYPERBOARDS_DISPLAY_PROFILE: HYPERBOARDS_DISPLAY_PROFILE_NSID,
3190
4152
  ACTIVITY: ACTIVITY_NSID,
3191
- ATTACHMENT: ATTACHMENT_NSID,
3192
- COLLECTION: COLLECTION_NSID,
3193
- CONTRIBUTION_DETAILS: CONTRIBUTION_DETAILS_NSID,
4153
+ CONTRIBUTION: CONTRIBUTION_NSID,
3194
4154
  CONTRIBUTOR_INFORMATION: CONTRIBUTOR_INFORMATION_NSID,
3195
- EVALUATION: EVALUATION_NSID,
3196
- MEASUREMENT: MEASUREMENT_NSID,
3197
4155
  RIGHTS: RIGHTS_NSID,
4156
+ HYPERCERTS_COLLECTION: HYPERCERTS_COLLECTION_NSID,
4157
+ CONTEXT_ACKNOWLEDGEMENT: CONTEXT_ACKNOWLEDGEMENT_NSID,
4158
+ CONTEXT_ATTACHMENT: CONTEXT_ATTACHMENT_NSID,
4159
+ CONTEXT_EVALUATION: CONTEXT_EVALUATION_NSID,
4160
+ CONTEXT_MEASUREMENT: CONTEXT_MEASUREMENT_NSID,
3198
4161
  HYPERCERTS_DEFS: HYPERCERTS_DEFS_NSID,
3199
4162
  FUNDING_RECEIPT: FUNDING_RECEIPT_NSID,
3200
- WORK_SCOPE_TAG: WORK_SCOPE_TAG_NSID,
4163
+ WORKSCOPE_CEL: WORKSCOPE_CEL_NSID,
4164
+ WORKSCOPE_TAG: WORKSCOPE_TAG_NSID,
3201
4165
  };
3202
4166
  /**
3203
4167
  * Lexicon JSON objects organized by semantic record type.
3204
4168
  */
3205
4169
  const HYPERCERTS_LEXICON_JSON = {
4170
+ ACTOR_ORGANIZATION: ACTOR_ORGANIZATION_LEXICON_JSON,
3206
4171
  ACTOR_PROFILE: ACTOR_PROFILE_LEXICON_JSON,
3207
4172
  BADGE_AWARD: BADGE_AWARD_LEXICON_JSON,
3208
4173
  BADGE_DEFINITION: BADGE_DEFINITION_LEXICON_JSON,
@@ -3210,20 +4175,24 @@ const HYPERCERTS_LEXICON_JSON = {
3210
4175
  CERTIFIED_DEFS: CERTIFIED_DEFS_LEXICON_JSON,
3211
4176
  LOCATION: LOCATION_LEXICON_JSON,
3212
4177
  STRONG_REF: STRONG_REF_LEXICON_JSON,
3213
- HYPERCERTS_ACKNOWLEDGEMENT: HYPERCERTS_ACKNOWLEDGEMENT_LEXICON_JSON,
4178
+ HYPERBOARDS_BOARD: HYPERBOARDS_BOARD_LEXICON_JSON,
4179
+ HYPERBOARDS_DISPLAY_PROFILE: HYPERBOARDS_DISPLAY_PROFILE_LEXICON_JSON,
3214
4180
  ACTIVITY: ACTIVITY_LEXICON_JSON,
3215
- ATTACHMENT: ATTACHMENT_LEXICON_JSON,
3216
- COLLECTION: COLLECTION_LEXICON_JSON,
3217
- CONTRIBUTION_DETAILS: CONTRIBUTION_DETAILS_LEXICON_JSON,
4181
+ CONTRIBUTION: CONTRIBUTION_LEXICON_JSON,
3218
4182
  CONTRIBUTOR_INFORMATION: CONTRIBUTOR_INFORMATION_LEXICON_JSON,
3219
- EVALUATION: EVALUATION_LEXICON_JSON,
3220
- MEASUREMENT: MEASUREMENT_LEXICON_JSON,
3221
4183
  RIGHTS: RIGHTS_LEXICON_JSON,
4184
+ HYPERCERTS_COLLECTION: HYPERCERTS_COLLECTION_LEXICON_JSON,
4185
+ CONTEXT_ACKNOWLEDGEMENT: CONTEXT_ACKNOWLEDGEMENT_LEXICON_JSON,
4186
+ CONTEXT_ATTACHMENT: CONTEXT_ATTACHMENT_LEXICON_JSON,
4187
+ CONTEXT_EVALUATION: CONTEXT_EVALUATION_LEXICON_JSON,
4188
+ CONTEXT_MEASUREMENT: CONTEXT_MEASUREMENT_LEXICON_JSON,
3222
4189
  HYPERCERTS_DEFS: HYPERCERTS_DEFS_LEXICON_JSON,
3223
4190
  FUNDING_RECEIPT: FUNDING_RECEIPT_LEXICON_JSON,
3224
- WORK_SCOPE_TAG: WORK_SCOPE_TAG_LEXICON_JSON,
4191
+ WORKSCOPE_CEL: WORKSCOPE_CEL_LEXICON_JSON,
4192
+ WORKSCOPE_TAG: WORKSCOPE_TAG_LEXICON_JSON,
3225
4193
  };
3226
4194
  // Individual lexicon objects (from lexicons.get())
4195
+ const ACTOR_ORGANIZATION_LEXICON_DOC = lexicons.get(ACTOR_ORGANIZATION_NSID);
3227
4196
  const ACTOR_PROFILE_LEXICON_DOC = lexicons.get(ACTOR_PROFILE_NSID);
3228
4197
  const BADGE_AWARD_LEXICON_DOC = lexicons.get(BADGE_AWARD_NSID);
3229
4198
  const BADGE_DEFINITION_LEXICON_DOC = lexicons.get(BADGE_DEFINITION_NSID);
@@ -3231,22 +4200,26 @@ const BADGE_RESPONSE_LEXICON_DOC = lexicons.get(BADGE_RESPONSE_NSID);
3231
4200
  const CERTIFIED_DEFS_LEXICON_DOC = lexicons.get(CERTIFIED_DEFS_NSID);
3232
4201
  const LOCATION_LEXICON_DOC = lexicons.get(LOCATION_NSID);
3233
4202
  const STRONG_REF_LEXICON_DOC = lexicons.get(STRONG_REF_NSID);
3234
- const HYPERCERTS_ACKNOWLEDGEMENT_LEXICON_DOC = lexicons.get(HYPERCERTS_ACKNOWLEDGEMENT_NSID);
4203
+ const HYPERBOARDS_BOARD_LEXICON_DOC = lexicons.get(HYPERBOARDS_BOARD_NSID);
4204
+ const HYPERBOARDS_DISPLAY_PROFILE_LEXICON_DOC = lexicons.get(HYPERBOARDS_DISPLAY_PROFILE_NSID);
3235
4205
  const ACTIVITY_LEXICON_DOC = lexicons.get(ACTIVITY_NSID);
3236
- const ATTACHMENT_LEXICON_DOC = lexicons.get(ATTACHMENT_NSID);
3237
- const COLLECTION_LEXICON_DOC = lexicons.get(COLLECTION_NSID);
3238
- const CONTRIBUTION_DETAILS_LEXICON_DOC = lexicons.get(CONTRIBUTION_DETAILS_NSID);
4206
+ const CONTRIBUTION_LEXICON_DOC = lexicons.get(CONTRIBUTION_NSID);
3239
4207
  const CONTRIBUTOR_INFORMATION_LEXICON_DOC = lexicons.get(CONTRIBUTOR_INFORMATION_NSID);
3240
- const EVALUATION_LEXICON_DOC = lexicons.get(EVALUATION_NSID);
3241
- const MEASUREMENT_LEXICON_DOC = lexicons.get(MEASUREMENT_NSID);
3242
4208
  const RIGHTS_LEXICON_DOC = lexicons.get(RIGHTS_NSID);
4209
+ const HYPERCERTS_COLLECTION_LEXICON_DOC = lexicons.get(HYPERCERTS_COLLECTION_NSID);
4210
+ const CONTEXT_ACKNOWLEDGEMENT_LEXICON_DOC = lexicons.get(CONTEXT_ACKNOWLEDGEMENT_NSID);
4211
+ const CONTEXT_ATTACHMENT_LEXICON_DOC = lexicons.get(CONTEXT_ATTACHMENT_NSID);
4212
+ const CONTEXT_EVALUATION_LEXICON_DOC = lexicons.get(CONTEXT_EVALUATION_NSID);
4213
+ const CONTEXT_MEASUREMENT_LEXICON_DOC = lexicons.get(CONTEXT_MEASUREMENT_NSID);
3243
4214
  const HYPERCERTS_DEFS_LEXICON_DOC = lexicons.get(HYPERCERTS_DEFS_NSID);
3244
4215
  const FUNDING_RECEIPT_LEXICON_DOC = lexicons.get(FUNDING_RECEIPT_NSID);
3245
- const WORK_SCOPE_TAG_LEXICON_DOC = lexicons.get(WORK_SCOPE_TAG_NSID);
4216
+ const WORKSCOPE_CEL_LEXICON_DOC = lexicons.get(WORKSCOPE_CEL_NSID);
4217
+ const WORKSCOPE_TAG_LEXICON_DOC = lexicons.get(WORKSCOPE_TAG_NSID);
3246
4218
  /**
3247
4219
  * Lexicon document objects organized by semantic record type.
3248
4220
  */
3249
4221
  const HYPERCERTS_LEXICON_DOC = {
4222
+ ACTOR_ORGANIZATION: ACTOR_ORGANIZATION_LEXICON_DOC,
3250
4223
  ACTOR_PROFILE: ACTOR_PROFILE_LEXICON_DOC,
3251
4224
  BADGE_AWARD: BADGE_AWARD_LEXICON_DOC,
3252
4225
  BADGE_DEFINITION: BADGE_DEFINITION_LEXICON_DOC,
@@ -3254,19 +4227,22 @@ const HYPERCERTS_LEXICON_DOC = {
3254
4227
  CERTIFIED_DEFS: CERTIFIED_DEFS_LEXICON_DOC,
3255
4228
  LOCATION: LOCATION_LEXICON_DOC,
3256
4229
  STRONG_REF: STRONG_REF_LEXICON_DOC,
3257
- HYPERCERTS_ACKNOWLEDGEMENT: HYPERCERTS_ACKNOWLEDGEMENT_LEXICON_DOC,
4230
+ HYPERBOARDS_BOARD: HYPERBOARDS_BOARD_LEXICON_DOC,
4231
+ HYPERBOARDS_DISPLAY_PROFILE: HYPERBOARDS_DISPLAY_PROFILE_LEXICON_DOC,
3258
4232
  ACTIVITY: ACTIVITY_LEXICON_DOC,
3259
- ATTACHMENT: ATTACHMENT_LEXICON_DOC,
3260
- COLLECTION: COLLECTION_LEXICON_DOC,
3261
- CONTRIBUTION_DETAILS: CONTRIBUTION_DETAILS_LEXICON_DOC,
4233
+ CONTRIBUTION: CONTRIBUTION_LEXICON_DOC,
3262
4234
  CONTRIBUTOR_INFORMATION: CONTRIBUTOR_INFORMATION_LEXICON_DOC,
3263
- EVALUATION: EVALUATION_LEXICON_DOC,
3264
- MEASUREMENT: MEASUREMENT_LEXICON_DOC,
3265
4235
  RIGHTS: RIGHTS_LEXICON_DOC,
4236
+ HYPERCERTS_COLLECTION: HYPERCERTS_COLLECTION_LEXICON_DOC,
4237
+ CONTEXT_ACKNOWLEDGEMENT: CONTEXT_ACKNOWLEDGEMENT_LEXICON_DOC,
4238
+ CONTEXT_ATTACHMENT: CONTEXT_ATTACHMENT_LEXICON_DOC,
4239
+ CONTEXT_EVALUATION: CONTEXT_EVALUATION_LEXICON_DOC,
4240
+ CONTEXT_MEASUREMENT: CONTEXT_MEASUREMENT_LEXICON_DOC,
3266
4241
  HYPERCERTS_DEFS: HYPERCERTS_DEFS_LEXICON_DOC,
3267
4242
  FUNDING_RECEIPT: FUNDING_RECEIPT_LEXICON_DOC,
3268
- WORK_SCOPE_TAG: WORK_SCOPE_TAG_LEXICON_DOC,
4243
+ WORKSCOPE_CEL: WORKSCOPE_CEL_LEXICON_DOC,
4244
+ WORKSCOPE_TAG: WORKSCOPE_TAG_LEXICON_DOC,
3269
4245
  };
3270
4246
 
3271
- export { ACTIVITY_LEXICON_DOC, ACTIVITY_LEXICON_JSON, ACTIVITY_NSID, ACTOR_PROFILE_LEXICON_DOC, ACTOR_PROFILE_LEXICON_JSON, ACTOR_PROFILE_NSID, ATTACHMENT_LEXICON_DOC, ATTACHMENT_LEXICON_JSON, ATTACHMENT_NSID, profile as AppCertifiedActorProfile, award as AppCertifiedBadgeAward, definition as AppCertifiedBadgeDefinition, response as AppCertifiedBadgeResponse, defs$1 as AppCertifiedDefs, location as AppCertifiedLocation, BADGE_AWARD_LEXICON_DOC, BADGE_AWARD_LEXICON_JSON, BADGE_AWARD_NSID, BADGE_DEFINITION_LEXICON_DOC, BADGE_DEFINITION_LEXICON_JSON, BADGE_DEFINITION_NSID, BADGE_RESPONSE_LEXICON_DOC, BADGE_RESPONSE_LEXICON_JSON, BADGE_RESPONSE_NSID, CERTIFIED_DEFS_LEXICON_DOC, CERTIFIED_DEFS_LEXICON_JSON, CERTIFIED_DEFS_NSID, COLLECTION_LEXICON_DOC, COLLECTION_LEXICON_JSON, COLLECTION_NSID, CONTRIBUTION_DETAILS_LEXICON_DOC, CONTRIBUTION_DETAILS_LEXICON_JSON, CONTRIBUTION_DETAILS_NSID, CONTRIBUTOR_INFORMATION_LEXICON_DOC, CONTRIBUTOR_INFORMATION_LEXICON_JSON, CONTRIBUTOR_INFORMATION_NSID, strongRef as ComAtprotoRepoStrongRef, EVALUATION_LEXICON_DOC, EVALUATION_LEXICON_JSON, EVALUATION_NSID, FUNDING_RECEIPT_LEXICON_DOC, FUNDING_RECEIPT_LEXICON_JSON, FUNDING_RECEIPT_NSID, HYPERCERTS_ACKNOWLEDGEMENT_LEXICON_DOC, HYPERCERTS_ACKNOWLEDGEMENT_LEXICON_JSON, HYPERCERTS_ACKNOWLEDGEMENT_NSID, HYPERCERTS_DEFS_LEXICON_DOC, HYPERCERTS_DEFS_LEXICON_JSON, HYPERCERTS_DEFS_NSID, HYPERCERTS_LEXICON_DOC, HYPERCERTS_LEXICON_JSON, HYPERCERTS_NSIDS, ids as HYPERCERTS_NSIDS_BY_TYPE, schemas as HYPERCERTS_SCHEMAS, schemaDict as HYPERCERTS_SCHEMA_DICT, LOCATION_LEXICON_DOC, LOCATION_LEXICON_JSON, LOCATION_NSID, MEASUREMENT_LEXICON_DOC, MEASUREMENT_LEXICON_JSON, MEASUREMENT_NSID, acknowledgement as OrgHypercertsAcknowledgement, activity as OrgHypercertsClaimActivity, attachment as OrgHypercertsClaimAttachment, collection as OrgHypercertsClaimCollection, contributionDetails as OrgHypercertsClaimContributionDetails, contributorInformation as OrgHypercertsClaimContributorInformation, evaluation as OrgHypercertsClaimEvaluation, measurement as OrgHypercertsClaimMeasurement, rights as OrgHypercertsClaimRights, defs as OrgHypercertsDefs, receipt as OrgHypercertsFundingReceipt, workScopeTag as OrgHypercertsHelperWorkScopeTag, RIGHTS_LEXICON_DOC, RIGHTS_LEXICON_JSON, RIGHTS_NSID, STRONG_REF_LEXICON_DOC, STRONG_REF_LEXICON_JSON, STRONG_REF_NSID, WORK_SCOPE_TAG_LEXICON_DOC, WORK_SCOPE_TAG_LEXICON_JSON, WORK_SCOPE_TAG_NSID, asPredicate, is$typed$j as is$typed, lexicons, maybe$typed, validate$j as validate };
4247
+ export { ACTIVITY_LEXICON_DOC, ACTIVITY_LEXICON_JSON, ACTIVITY_NSID, ACTOR_ORGANIZATION_LEXICON_DOC, ACTOR_ORGANIZATION_LEXICON_JSON, ACTOR_ORGANIZATION_NSID, ACTOR_PROFILE_LEXICON_DOC, ACTOR_PROFILE_LEXICON_JSON, ACTOR_PROFILE_NSID, organization as AppCertifiedActorOrganization, profile as AppCertifiedActorProfile, award as AppCertifiedBadgeAward, definition as AppCertifiedBadgeDefinition, response as AppCertifiedBadgeResponse, defs$1 as AppCertifiedDefs, location as AppCertifiedLocation, BADGE_AWARD_LEXICON_DOC, BADGE_AWARD_LEXICON_JSON, BADGE_AWARD_NSID, BADGE_DEFINITION_LEXICON_DOC, BADGE_DEFINITION_LEXICON_JSON, BADGE_DEFINITION_NSID, BADGE_RESPONSE_LEXICON_DOC, BADGE_RESPONSE_LEXICON_JSON, BADGE_RESPONSE_NSID, CERTIFIED_DEFS_LEXICON_DOC, CERTIFIED_DEFS_LEXICON_JSON, CERTIFIED_DEFS_NSID, CONTEXT_ACKNOWLEDGEMENT_LEXICON_DOC, CONTEXT_ACKNOWLEDGEMENT_LEXICON_JSON, CONTEXT_ACKNOWLEDGEMENT_NSID, CONTEXT_ATTACHMENT_LEXICON_DOC, CONTEXT_ATTACHMENT_LEXICON_JSON, CONTEXT_ATTACHMENT_NSID, CONTEXT_EVALUATION_LEXICON_DOC, CONTEXT_EVALUATION_LEXICON_JSON, CONTEXT_EVALUATION_NSID, CONTEXT_MEASUREMENT_LEXICON_DOC, CONTEXT_MEASUREMENT_LEXICON_JSON, CONTEXT_MEASUREMENT_NSID, CONTRIBUTION_LEXICON_DOC, CONTRIBUTION_LEXICON_JSON, CONTRIBUTION_NSID, CONTRIBUTOR_INFORMATION_LEXICON_DOC, CONTRIBUTOR_INFORMATION_LEXICON_JSON, CONTRIBUTOR_INFORMATION_NSID, strongRef as ComAtprotoRepoStrongRef, FUNDING_RECEIPT_LEXICON_DOC, FUNDING_RECEIPT_LEXICON_JSON, FUNDING_RECEIPT_NSID, HYPERBOARDS_BOARD_LEXICON_DOC, HYPERBOARDS_BOARD_LEXICON_JSON, HYPERBOARDS_BOARD_NSID, HYPERBOARDS_DISPLAY_PROFILE_LEXICON_DOC, HYPERBOARDS_DISPLAY_PROFILE_LEXICON_JSON, HYPERBOARDS_DISPLAY_PROFILE_NSID, HYPERCERTS_COLLECTION_LEXICON_DOC, HYPERCERTS_COLLECTION_LEXICON_JSON, HYPERCERTS_COLLECTION_NSID, HYPERCERTS_DEFS_LEXICON_DOC, HYPERCERTS_DEFS_LEXICON_JSON, HYPERCERTS_DEFS_NSID, HYPERCERTS_LEXICON_DOC, HYPERCERTS_LEXICON_JSON, HYPERCERTS_NSIDS, ids as HYPERCERTS_NSIDS_BY_TYPE, schemas as HYPERCERTS_SCHEMAS, schemaDict as HYPERCERTS_SCHEMA_DICT, LOCATION_LEXICON_DOC, LOCATION_LEXICON_JSON, LOCATION_NSID, board as OrgHyperboardsBoard, displayProfile as OrgHyperboardsDisplayProfile, activity as OrgHypercertsClaimActivity, contribution as OrgHypercertsClaimContribution, contributorInformation as OrgHypercertsClaimContributorInformation, rights as OrgHypercertsClaimRights, collection as OrgHypercertsCollection, acknowledgement as OrgHypercertsContextAcknowledgement, attachment as OrgHypercertsContextAttachment, evaluation as OrgHypercertsContextEvaluation, measurement as OrgHypercertsContextMeasurement, defs as OrgHypercertsDefs, receipt as OrgHypercertsFundingReceipt, cel as OrgHypercertsWorkscopeCel, tag as OrgHypercertsWorkscopeTag, RIGHTS_LEXICON_DOC, RIGHTS_LEXICON_JSON, RIGHTS_NSID, STRONG_REF_LEXICON_DOC, STRONG_REF_LEXICON_JSON, STRONG_REF_NSID, WORKSCOPE_CEL_LEXICON_DOC, WORKSCOPE_CEL_LEXICON_JSON, WORKSCOPE_CEL_NSID, WORKSCOPE_TAG_LEXICON_DOC, WORKSCOPE_TAG_LEXICON_JSON, WORKSCOPE_TAG_NSID, asPredicate, is$typed$n as is$typed, lexicons, maybe$typed, validate$n as validate };
3272
4248
  //# sourceMappingURL=index.mjs.map