@hypercerts-org/lexicon 0.10.0-beta.8 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/CHANGELOG.md +714 -0
  2. package/README.md +278 -9
  3. package/SCHEMAS.md +440 -143
  4. package/dist/exports.d.ts +837 -304
  5. package/dist/exports.d.ts.map +1 -1
  6. package/dist/generated/exports.d.ts +837 -304
  7. package/dist/generated/exports.d.ts.map +1 -1
  8. package/dist/generated/lexicons.d.ts +1631 -625
  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 +30 -0
  13. package/dist/generated/types/app/certified/actor/profile.d.ts.map +1 -0
  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/defs.d.ts +11 -1
  19. package/dist/generated/types/app/certified/defs.d.ts.map +1 -1
  20. package/dist/generated/types/app/certified/location.d.ts +13 -5
  21. package/dist/generated/types/app/certified/location.d.ts.map +1 -1
  22. package/dist/generated/types/org/hyperboards/board.d.ts +75 -0
  23. package/dist/generated/types/org/hyperboards/board.d.ts.map +1 -0
  24. package/dist/generated/types/org/hyperboards/displayProfile.d.ts +31 -0
  25. package/dist/generated/types/org/hyperboards/displayProfile.d.ts.map +1 -0
  26. package/dist/generated/types/org/hypercerts/claim/activity.d.ts +30 -11
  27. package/dist/generated/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  28. package/dist/generated/types/org/hypercerts/claim/{contributionDetails.d.ts → contribution.d.ts} +6 -6
  29. package/dist/generated/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
  30. package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts +2 -2
  31. package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -1
  32. package/dist/generated/types/org/hypercerts/claim/rights.d.ts +3 -3
  33. package/dist/generated/types/org/hypercerts/claim/rights.d.ts.map +1 -1
  34. package/dist/generated/types/org/hypercerts/{claim/collection.d.ts → collection.d.ts} +11 -10
  35. package/dist/generated/types/org/hypercerts/collection.d.ts.map +1 -0
  36. package/dist/generated/types/org/hypercerts/context/acknowledgement.d.ts +25 -0
  37. package/dist/generated/types/org/hypercerts/context/acknowledgement.d.ts.map +1 -0
  38. package/dist/generated/types/org/hypercerts/context/attachment.d.ts +35 -0
  39. package/dist/generated/types/org/hypercerts/context/attachment.d.ts.map +1 -0
  40. package/dist/{types/org/hypercerts/claim → generated/types/org/hypercerts/context}/evaluation.d.ts +15 -15
  41. package/dist/generated/types/org/hypercerts/context/evaluation.d.ts.map +1 -0
  42. package/dist/generated/types/org/hypercerts/context/measurement.d.ts +43 -0
  43. package/dist/generated/types/org/hypercerts/context/measurement.d.ts.map +1 -0
  44. package/dist/generated/types/org/hypercerts/defs.d.ts +8 -44
  45. package/dist/generated/types/org/hypercerts/defs.d.ts.map +1 -1
  46. package/dist/generated/types/org/hypercerts/funding/receipt.d.ts +1 -1
  47. package/dist/generated/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
  48. package/dist/generated/types/org/hypercerts/workscope/cel.d.ts +20 -0
  49. package/dist/generated/types/org/hypercerts/workscope/cel.d.ts.map +1 -0
  50. package/dist/generated/types/org/hypercerts/workscope/tag.d.ts +36 -0
  51. package/dist/generated/types/org/hypercerts/workscope/tag.d.ts.map +1 -0
  52. package/dist/index.cjs +2570 -1235
  53. package/dist/index.cjs.map +1 -1
  54. package/dist/index.mjs +2512 -1201
  55. package/dist/index.mjs.map +1 -1
  56. package/dist/lexicons.cjs +932 -397
  57. package/dist/lexicons.cjs.map +1 -1
  58. package/dist/lexicons.d.ts +1631 -625
  59. package/dist/lexicons.d.ts.map +1 -1
  60. package/dist/lexicons.mjs +932 -397
  61. package/dist/lexicons.mjs.map +1 -1
  62. package/dist/types/app/certified/actor/organization.d.ts +32 -0
  63. package/dist/types/app/certified/actor/organization.d.ts.map +1 -0
  64. package/dist/types/app/certified/actor/profile.d.ts +30 -0
  65. package/dist/types/app/certified/actor/profile.d.ts.map +1 -0
  66. package/dist/types/app/certified/badge/award.d.ts +2 -0
  67. package/dist/types/app/certified/badge/award.d.ts.map +1 -1
  68. package/dist/types/app/certified/badge/response.d.ts +1 -1
  69. package/dist/types/app/certified/badge/response.d.ts.map +1 -1
  70. package/dist/types/app/certified/defs.d.ts +11 -1
  71. package/dist/types/app/certified/defs.d.ts.map +1 -1
  72. package/dist/types/app/certified/location.d.ts +13 -5
  73. package/dist/types/app/certified/location.d.ts.map +1 -1
  74. package/dist/types/org/hyperboards/board.d.ts +75 -0
  75. package/dist/types/org/hyperboards/board.d.ts.map +1 -0
  76. package/dist/types/org/hyperboards/displayProfile.d.ts +31 -0
  77. package/dist/types/org/hyperboards/displayProfile.d.ts.map +1 -0
  78. package/dist/types/org/hypercerts/claim/activity.d.ts +30 -11
  79. package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  80. package/dist/types/org/hypercerts/claim/{contributionDetails.d.ts → contribution.d.ts} +6 -6
  81. package/dist/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
  82. package/dist/types/org/hypercerts/claim/contributorInformation.d.ts +2 -2
  83. package/dist/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -1
  84. package/dist/types/org/hypercerts/claim/rights.d.ts +3 -3
  85. package/dist/types/org/hypercerts/claim/rights.d.ts.map +1 -1
  86. package/dist/types/org/hypercerts/{claim/collection.d.ts → collection.d.ts} +11 -10
  87. package/dist/types/org/hypercerts/collection.d.ts.map +1 -0
  88. package/dist/types/org/hypercerts/context/acknowledgement.d.ts +25 -0
  89. package/dist/types/org/hypercerts/context/acknowledgement.d.ts.map +1 -0
  90. package/dist/types/org/hypercerts/context/attachment.d.ts +35 -0
  91. package/dist/types/org/hypercerts/context/attachment.d.ts.map +1 -0
  92. package/dist/{generated/types/org/hypercerts/claim → types/org/hypercerts/context}/evaluation.d.ts +15 -15
  93. package/dist/types/org/hypercerts/context/evaluation.d.ts.map +1 -0
  94. package/dist/types/org/hypercerts/context/measurement.d.ts +43 -0
  95. package/dist/types/org/hypercerts/context/measurement.d.ts.map +1 -0
  96. package/dist/types/org/hypercerts/defs.d.ts +8 -44
  97. package/dist/types/org/hypercerts/defs.d.ts.map +1 -1
  98. package/dist/types/org/hypercerts/funding/receipt.d.ts +1 -1
  99. package/dist/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
  100. package/dist/types/org/hypercerts/workscope/cel.d.ts +20 -0
  101. package/dist/types/org/hypercerts/workscope/cel.d.ts.map +1 -0
  102. package/dist/types/org/hypercerts/workscope/tag.d.ts +36 -0
  103. package/dist/types/org/hypercerts/workscope/tag.d.ts.map +1 -0
  104. package/lexicons/app/certified/actor/organization.json +70 -0
  105. package/lexicons/app/certified/actor/profile.json +61 -0
  106. package/lexicons/app/certified/badge/award.json +8 -1
  107. package/lexicons/app/certified/badge/definition.json +8 -3
  108. package/lexicons/app/certified/badge/response.json +3 -2
  109. package/lexicons/app/certified/defs.json +11 -3
  110. package/lexicons/app/certified/location.json +29 -6
  111. package/lexicons/org/hyperboards/board.json +152 -0
  112. package/lexicons/org/hyperboards/displayProfile.json +64 -0
  113. package/lexicons/org/hypercerts/claim/activity.json +57 -39
  114. package/lexicons/org/hypercerts/claim/{contributionDetails.json → contribution.json} +4 -4
  115. package/lexicons/org/hypercerts/claim/contributorInformation.json +3 -2
  116. package/lexicons/org/hypercerts/claim/rights.json +5 -3
  117. package/lexicons/org/hypercerts/{claim/collection.json → collection.json} +15 -7
  118. package/lexicons/org/hypercerts/context/acknowledgement.json +42 -0
  119. package/lexicons/org/hypercerts/context/attachment.json +77 -0
  120. package/lexicons/org/hypercerts/{claim → context}/evaluation.json +22 -22
  121. package/lexicons/org/hypercerts/context/measurement.json +107 -0
  122. package/lexicons/org/hypercerts/defs.json +14 -89
  123. package/lexicons/org/hypercerts/funding/receipt.json +12 -6
  124. package/lexicons/org/hypercerts/workscope/cel.json +39 -0
  125. package/lexicons/org/hypercerts/workscope/tag.json +87 -0
  126. package/package.json +2 -2
  127. package/dist/generated/types/org/hypercerts/claim/collection.d.ts.map +0 -1
  128. package/dist/generated/types/org/hypercerts/claim/contributionDetails.d.ts.map +0 -1
  129. package/dist/generated/types/org/hypercerts/claim/evaluation.d.ts.map +0 -1
  130. package/dist/generated/types/org/hypercerts/claim/evidence.d.ts +0 -29
  131. package/dist/generated/types/org/hypercerts/claim/evidence.d.ts.map +0 -1
  132. package/dist/generated/types/org/hypercerts/claim/measurement.d.ts +0 -30
  133. package/dist/generated/types/org/hypercerts/claim/measurement.d.ts.map +0 -1
  134. package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts +0 -31
  135. package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts.map +0 -1
  136. package/dist/types/org/hypercerts/claim/collection.d.ts.map +0 -1
  137. package/dist/types/org/hypercerts/claim/contributionDetails.d.ts.map +0 -1
  138. package/dist/types/org/hypercerts/claim/evaluation.d.ts.map +0 -1
  139. package/dist/types/org/hypercerts/claim/evidence.d.ts +0 -29
  140. package/dist/types/org/hypercerts/claim/evidence.d.ts.map +0 -1
  141. package/dist/types/org/hypercerts/claim/measurement.d.ts +0 -30
  142. package/dist/types/org/hypercerts/claim/measurement.d.ts.map +0 -1
  143. package/dist/types/org/hypercerts/helper/workScopeTag.d.ts +0 -31
  144. package/dist/types/org/hypercerts/helper/workScopeTag.d.ts.map +0 -1
  145. package/lexicons/org/hypercerts/claim/evidence.json +0 -57
  146. package/lexicons/org/hypercerts/claim/measurement.json +0 -70
  147. package/lexicons/org/hypercerts/helper/workScopeTag.json +0 -65
@@ -3,6 +3,131 @@
3
3
  */
4
4
  import { Lexicons, type ValidationResult } from '@atproto/lexicon';
5
5
  export declare const schemaDict: {
6
+ readonly AppCertifiedActorOrganization: {
7
+ readonly lexicon: 1;
8
+ readonly id: "app.certified.actor.organization";
9
+ readonly defs: {
10
+ readonly main: {
11
+ readonly type: "record";
12
+ readonly description: "Extended metadata for an organization actor. Complements the base actor profile with organization-specific fields like legal structure and reference links.";
13
+ readonly key: "literal:self";
14
+ readonly record: {
15
+ readonly type: "object";
16
+ readonly required: ["createdAt"];
17
+ readonly properties: {
18
+ readonly organizationType: {
19
+ readonly type: "array";
20
+ readonly description: "Legal or operational structures of the organization (e.g. 'nonprofit', 'ngo', 'government', 'social-enterprise', 'cooperative').";
21
+ readonly items: {
22
+ readonly type: "string";
23
+ readonly maxLength: 128;
24
+ readonly maxGraphemes: 100;
25
+ };
26
+ readonly maxLength: 10;
27
+ };
28
+ readonly urls: {
29
+ readonly type: "array";
30
+ readonly description: "Additional reference URLs (social media profiles, contact pages, donation links, etc.) with a display label for each URL.";
31
+ readonly items: {
32
+ readonly type: "ref";
33
+ readonly ref: "lex:app.certified.actor.organization#urlItem";
34
+ };
35
+ };
36
+ readonly location: {
37
+ readonly type: "ref";
38
+ readonly ref: "lex:com.atproto.repo.strongRef";
39
+ readonly description: "A strong reference to the location where the organization is based. The record referenced must conform with the lexicon app.certified.location.";
40
+ };
41
+ readonly foundedDate: {
42
+ readonly type: "string";
43
+ readonly format: "datetime";
44
+ readonly 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.";
45
+ };
46
+ readonly createdAt: {
47
+ readonly type: "string";
48
+ readonly format: "datetime";
49
+ readonly description: "Client-declared timestamp when this record was originally created.";
50
+ };
51
+ };
52
+ };
53
+ };
54
+ readonly urlItem: {
55
+ readonly type: "object";
56
+ readonly description: "A labeled URL reference.";
57
+ readonly required: ["url"];
58
+ readonly properties: {
59
+ readonly url: {
60
+ readonly type: "string";
61
+ readonly format: "uri";
62
+ readonly description: "The URL.";
63
+ readonly maxLength: 10000;
64
+ readonly maxGraphemes: 2048;
65
+ };
66
+ readonly label: {
67
+ readonly type: "string";
68
+ readonly description: "Optional human-readable label for this URL (e.g. 'Support page', 'Donation page').";
69
+ readonly maxLength: 640;
70
+ readonly maxGraphemes: 64;
71
+ };
72
+ };
73
+ };
74
+ };
75
+ };
76
+ readonly AppCertifiedActorProfile: {
77
+ readonly lexicon: 1;
78
+ readonly id: "app.certified.actor.profile";
79
+ readonly defs: {
80
+ readonly main: {
81
+ readonly type: "record";
82
+ readonly description: "A declaration of a Certified account profile.";
83
+ readonly key: "literal:self";
84
+ readonly record: {
85
+ readonly type: "object";
86
+ readonly required: ["createdAt"];
87
+ readonly properties: {
88
+ readonly displayName: {
89
+ readonly type: "string";
90
+ readonly description: "Display name for the account";
91
+ readonly maxGraphemes: 64;
92
+ readonly maxLength: 640;
93
+ };
94
+ readonly description: {
95
+ readonly type: "string";
96
+ readonly description: "Free-form profile description text.";
97
+ readonly maxGraphemes: 256;
98
+ readonly maxLength: 2560;
99
+ };
100
+ readonly pronouns: {
101
+ readonly type: "string";
102
+ readonly description: "Free-form pronouns text.";
103
+ readonly maxGraphemes: 20;
104
+ readonly maxLength: 200;
105
+ };
106
+ readonly website: {
107
+ readonly type: "string";
108
+ readonly format: "uri";
109
+ readonly description: "Account website URL";
110
+ };
111
+ readonly avatar: {
112
+ readonly type: "union";
113
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
114
+ readonly description: "Small image to be displayed next to posts from account. AKA, 'profile picture'";
115
+ };
116
+ readonly banner: {
117
+ readonly type: "union";
118
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#largeImage"];
119
+ readonly description: "Larger horizontal image to display behind profile view.";
120
+ };
121
+ readonly createdAt: {
122
+ readonly type: "string";
123
+ readonly format: "datetime";
124
+ readonly description: "Client-declared timestamp when this record was originally created";
125
+ };
126
+ };
127
+ };
128
+ };
129
+ };
130
+ };
6
131
  readonly AppCertifiedBadgeAward: {
7
132
  readonly lexicon: 1;
8
133
  readonly id: "app.certified.badge.award";
@@ -28,6 +153,13 @@ export declare const schemaDict: {
28
153
  readonly note: {
29
154
  readonly type: "string";
30
155
  readonly description: "Optional statement explaining the reason for this badge award.";
156
+ readonly maxLength: 500;
157
+ };
158
+ readonly url: {
159
+ readonly type: "string";
160
+ readonly format: "uri";
161
+ readonly description: "Optional URL the badge award links to.";
162
+ readonly maxLength: 2048;
31
163
  };
32
164
  readonly createdAt: {
33
165
  readonly type: "string";
@@ -54,10 +186,12 @@ export declare const schemaDict: {
54
186
  readonly badgeType: {
55
187
  readonly type: "string";
56
188
  readonly description: "Category of the badge (e.g. endorsement, participation, affiliation).";
189
+ readonly maxLength: 100;
57
190
  };
58
191
  readonly title: {
59
192
  readonly type: "string";
60
193
  readonly description: "Human-readable title of the badge.";
194
+ readonly maxLength: 256;
61
195
  };
62
196
  readonly icon: {
63
197
  readonly type: "blob";
@@ -68,10 +202,13 @@ export declare const schemaDict: {
68
202
  readonly description: {
69
203
  readonly type: "string";
70
204
  readonly description: "Optional short statement describing what the badge represents.";
205
+ readonly maxLength: 5000;
206
+ readonly maxGraphemes: 500;
71
207
  };
72
208
  readonly allowedIssuers: {
73
209
  readonly type: "array";
74
210
  readonly description: "Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it.";
211
+ readonly maxLength: 100;
75
212
  readonly items: {
76
213
  readonly type: "ref";
77
214
  readonly ref: "lex:app.certified.defs#did";
@@ -106,12 +243,13 @@ export declare const schemaDict: {
106
243
  };
107
244
  readonly response: {
108
245
  readonly type: "string";
109
- readonly enum: ["accepted", "rejected"];
246
+ readonly knownValues: ["accepted", "rejected"];
110
247
  readonly description: "The recipient’s response for the badge (accepted or rejected).";
111
248
  };
112
249
  readonly weight: {
113
250
  readonly type: "string";
114
251
  readonly description: "Optional relative weight for accepted badges, assigned by the recipient.";
252
+ readonly maxLength: 50;
115
253
  };
116
254
  readonly createdAt: {
117
255
  readonly type: "string";
@@ -129,9 +267,17 @@ export declare const schemaDict: {
129
267
  readonly description: "Common type definitions used across certified protocols.";
130
268
  readonly defs: {
131
269
  readonly did: {
132
- readonly type: "string";
133
- readonly format: "did";
270
+ readonly type: "object";
134
271
  readonly description: "A Decentralized Identifier (DID) string.";
272
+ readonly required: ["did"];
273
+ readonly properties: {
274
+ readonly did: {
275
+ readonly type: "string";
276
+ readonly format: "did";
277
+ readonly description: "The DID string value.";
278
+ readonly maxLength: 256;
279
+ };
280
+ };
135
281
  };
136
282
  };
137
283
  };
@@ -160,24 +306,24 @@ export declare const schemaDict: {
160
306
  };
161
307
  readonly locationType: {
162
308
  readonly type: "string";
163
- readonly description: "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point)";
164
- readonly knownValues: ["coordinate-decimal", "geojson-point"];
309
+ readonly description: "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point). See the Location Protocol spec for the full registry: https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry";
310
+ readonly knownValues: ["coordinate-decimal", "geojson-point", "geojson", "h3", "geohash", "wkt", "address", "scaledCoordinates"];
165
311
  readonly maxLength: 20;
166
312
  };
167
313
  readonly location: {
168
314
  readonly type: "union";
169
- readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
170
- readonly description: "The location of where the work was performed as a URI or blob.";
315
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob", "lex:app.certified.location#string"];
316
+ readonly description: "The location of where the work was performed as a URI, blob, or inline string.";
171
317
  };
172
318
  readonly name: {
173
319
  readonly type: "string";
174
- readonly description: "Optional name for this location";
320
+ readonly description: "Human-readable name for this location (e.g. 'Golden Gate Park', 'San Francisco Bay Area')";
175
321
  readonly maxLength: 1000;
176
322
  readonly maxGraphemes: 100;
177
323
  };
178
324
  readonly description: {
179
325
  readonly type: "string";
180
- readonly description: "Optional description for this location";
326
+ readonly description: "Additional context about this location, such as its significance to the work or specific boundaries";
181
327
  readonly maxLength: 2000;
182
328
  readonly maxGraphemes: 500;
183
329
  };
@@ -189,6 +335,19 @@ export declare const schemaDict: {
189
335
  };
190
336
  };
191
337
  };
338
+ readonly string: {
339
+ readonly type: "object";
340
+ readonly required: ["string"];
341
+ readonly description: "A location represented as a string, e.g. coordinates or a small GeoJSON string.";
342
+ readonly properties: {
343
+ readonly string: {
344
+ readonly type: "string";
345
+ readonly description: "The location string value";
346
+ readonly maxLength: 10000;
347
+ readonly maxGraphemes: 1000;
348
+ };
349
+ };
350
+ };
192
351
  };
193
352
  };
194
353
  readonly ComAtprotoRepoStrongRef: {
@@ -212,6 +371,210 @@ export declare const schemaDict: {
212
371
  };
213
372
  };
214
373
  };
374
+ readonly OrgHyperboardsBoard: {
375
+ readonly lexicon: 1;
376
+ readonly id: "org.hyperboards.board";
377
+ readonly defs: {
378
+ readonly main: {
379
+ readonly type: "record";
380
+ readonly description: "Configuration record for a hyperboard, wrapping an underlying activity or collection with visual presentation settings. Stored in the creator's PDS.";
381
+ readonly key: "tid";
382
+ readonly record: {
383
+ readonly type: "object";
384
+ readonly required: ["subject", "createdAt"];
385
+ readonly properties: {
386
+ readonly subject: {
387
+ readonly type: "ref";
388
+ readonly ref: "lex:com.atproto.repo.strongRef";
389
+ readonly description: "Reference to the org.hypercerts.claim.activity or org.hypercerts.claim.collection this board visualizes.";
390
+ };
391
+ readonly config: {
392
+ readonly type: "ref";
393
+ readonly ref: "lex:org.hyperboards.board#boardConfig";
394
+ readonly description: "Board-level visual configuration (background, colors, aspect ratio).";
395
+ };
396
+ readonly contributorConfigs: {
397
+ readonly type: "array";
398
+ readonly description: "Per-contributor configuration entries for this board.";
399
+ readonly maxLength: 1000;
400
+ readonly items: {
401
+ readonly type: "ref";
402
+ readonly ref: "lex:org.hyperboards.board#contributorConfig";
403
+ };
404
+ };
405
+ readonly createdAt: {
406
+ readonly type: "string";
407
+ readonly format: "datetime";
408
+ readonly description: "Client-declared timestamp when this record was originally created.";
409
+ };
410
+ };
411
+ };
412
+ };
413
+ readonly boardConfig: {
414
+ readonly type: "object";
415
+ readonly description: "Visual configuration for a hyperboard's background, colors, and layout.";
416
+ readonly properties: {
417
+ readonly backgroundType: {
418
+ readonly type: "string";
419
+ readonly description: "Type of background content.";
420
+ readonly knownValues: ["image", "iframe"];
421
+ readonly maxLength: 10;
422
+ };
423
+ readonly backgroundImage: {
424
+ readonly type: "union";
425
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
426
+ readonly description: "Background image as a URI or image blob.";
427
+ };
428
+ readonly backgroundIframeUrl: {
429
+ readonly type: "string";
430
+ readonly format: "uri";
431
+ readonly description: "URI of the background iframe.";
432
+ readonly maxLength: 2048;
433
+ };
434
+ readonly backgroundGrayscale: {
435
+ readonly type: "boolean";
436
+ readonly description: "Whether the background is rendered in grayscale. Default: true.";
437
+ };
438
+ readonly backgroundOpacity: {
439
+ readonly type: "integer";
440
+ readonly description: "Background opacity as a percentage (0–100).";
441
+ readonly minimum: 0;
442
+ readonly maximum: 100;
443
+ };
444
+ readonly backgroundColor: {
445
+ readonly type: "string";
446
+ readonly description: "Background color as a hex string (e.g. '#ffffff').";
447
+ readonly maxLength: 20;
448
+ };
449
+ readonly borderColor: {
450
+ readonly type: "string";
451
+ readonly description: "Border color as a hex string (e.g. '#000000').";
452
+ readonly maxLength: 20;
453
+ };
454
+ readonly grayscaleImages: {
455
+ readonly type: "boolean";
456
+ readonly description: "Whether contributor images are rendered in grayscale. Default: false.";
457
+ };
458
+ readonly imageShape: {
459
+ readonly type: "string";
460
+ readonly description: "Shape used to crop contributor images on this board.";
461
+ readonly knownValues: ["circular", "square"];
462
+ readonly maxLength: 20;
463
+ };
464
+ readonly aspectRatio: {
465
+ readonly type: "string";
466
+ readonly description: "Display aspect ratio of the board.";
467
+ readonly knownValues: ["16:9", "4:3", "1:1"];
468
+ readonly maxLength: 10;
469
+ };
470
+ };
471
+ };
472
+ readonly contributorConfig: {
473
+ readonly type: "object";
474
+ readonly 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.";
475
+ readonly required: ["contributor"];
476
+ readonly properties: {
477
+ readonly contributor: {
478
+ readonly type: "union";
479
+ readonly refs: ["lex:com.atproto.repo.strongRef", "lex:org.hypercerts.claim.activity#contributorIdentity"];
480
+ readonly 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.";
481
+ };
482
+ readonly override: {
483
+ readonly type: "boolean";
484
+ readonly 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.";
485
+ };
486
+ readonly displayName: {
487
+ readonly type: "string";
488
+ readonly description: "Display name for this contributor on this board.";
489
+ readonly maxLength: 640;
490
+ readonly maxGraphemes: 64;
491
+ };
492
+ readonly image: {
493
+ readonly type: "union";
494
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
495
+ readonly description: "Avatar or face image for this contributor on this board, as a URI or image blob.";
496
+ };
497
+ readonly video: {
498
+ readonly type: "union";
499
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallVideo"];
500
+ readonly description: "Video for this contributor, as a URI (embed/direct link) or uploaded video blob.";
501
+ };
502
+ readonly hoverImage: {
503
+ readonly type: "union";
504
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
505
+ readonly description: "Image overlay shown when hovering over this contributor, as a URI or image blob.";
506
+ };
507
+ readonly hoverIframeUrl: {
508
+ readonly type: "string";
509
+ readonly format: "uri";
510
+ readonly description: "Iframe overlay shown when hovering over this contributor.";
511
+ readonly maxLength: 2048;
512
+ };
513
+ readonly url: {
514
+ readonly type: "string";
515
+ readonly format: "uri";
516
+ readonly description: "Click-through link URL for this contributor.";
517
+ readonly maxLength: 2048;
518
+ };
519
+ };
520
+ };
521
+ };
522
+ };
523
+ readonly OrgHyperboardsDisplayProfile: {
524
+ readonly lexicon: 1;
525
+ readonly id: "org.hyperboards.displayProfile";
526
+ readonly defs: {
527
+ readonly main: {
528
+ readonly type: "record";
529
+ readonly 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.";
530
+ readonly key: "literal:self";
531
+ readonly record: {
532
+ readonly type: "object";
533
+ readonly required: ["createdAt"];
534
+ readonly properties: {
535
+ readonly displayName: {
536
+ readonly type: "string";
537
+ readonly description: "Display name override for this user on hyperboards.";
538
+ readonly maxLength: 640;
539
+ readonly maxGraphemes: 64;
540
+ };
541
+ readonly image: {
542
+ readonly type: "union";
543
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
544
+ readonly description: "Avatar or face image override for this user on hyperboards, as a URI or image blob.";
545
+ };
546
+ readonly video: {
547
+ readonly type: "union";
548
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallVideo"];
549
+ readonly description: "Default video for this user across boards, as a URI (embed/direct link) or uploaded video blob.";
550
+ };
551
+ readonly hoverImage: {
552
+ readonly type: "union";
553
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
554
+ readonly description: "Default hover image for this user across boards, as a URI or image blob.";
555
+ };
556
+ readonly hoverIframeUrl: {
557
+ readonly type: "string";
558
+ readonly format: "uri";
559
+ readonly description: "Default hover iframe URL for this user across boards.";
560
+ readonly maxLength: 2048;
561
+ };
562
+ readonly url: {
563
+ readonly type: "string";
564
+ readonly format: "uri";
565
+ readonly description: "Default click-through link URL for this user across boards.";
566
+ readonly maxLength: 2048;
567
+ };
568
+ readonly createdAt: {
569
+ readonly type: "string";
570
+ readonly format: "datetime";
571
+ readonly description: "Client-declared timestamp when this record was originally created.";
572
+ };
573
+ };
574
+ };
575
+ };
576
+ };
577
+ };
215
578
  readonly OrgHypercertsClaimActivity: {
216
579
  readonly lexicon: 1;
217
580
  readonly id: "org.hypercerts.claim.activity";
@@ -226,7 +589,7 @@ export declare const schemaDict: {
226
589
  readonly properties: {
227
590
  readonly title: {
228
591
  readonly type: "string";
229
- readonly description: "Title of the hypercert.";
592
+ readonly description: "Display title summarizing the impact work (e.g. 'Reforestation in Amazon Basin 2024')";
230
593
  readonly maxLength: 256;
231
594
  };
232
595
  readonly shortDescription: {
@@ -244,28 +607,28 @@ export declare const schemaDict: {
244
607
  };
245
608
  };
246
609
  readonly description: {
247
- readonly type: "string";
248
- readonly description: "Optional longer description of this activity claim, including context or interpretation. Rich text annotations may be provided via `descriptionFacets`.";
249
- readonly maxLength: 30000;
250
- readonly maxGraphemes: 3000;
251
- };
252
- readonly descriptionFacets: {
253
- readonly type: "array";
254
- readonly description: "Rich text annotations for `description` (mentions, URLs, hashtags, etc).";
255
- readonly items: {
256
- readonly type: "ref";
257
- readonly ref: "lex:app.bsky.richtext.facet";
258
- };
610
+ readonly type: "ref";
611
+ readonly ref: "lex:pub.leaflet.pages.linearDocument#main";
612
+ readonly description: "Rich-text description, represented as a Leaflet linear document.";
259
613
  };
260
614
  readonly image: {
261
615
  readonly type: "union";
262
616
  readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
263
617
  readonly description: "The hypercert visual representation as a URI or image blob.";
264
618
  };
619
+ readonly contributors: {
620
+ readonly type: "array";
621
+ readonly description: "An array of contributor objects, each containing contributor information, weight, and contribution details.";
622
+ readonly maxLength: 1000;
623
+ readonly items: {
624
+ readonly type: "ref";
625
+ readonly ref: "lex:org.hypercerts.claim.activity#contributor";
626
+ };
627
+ };
265
628
  readonly workScope: {
266
629
  readonly type: "union";
267
- readonly refs: ["lex:org.hypercerts.defs#workScopeAll", "lex:org.hypercerts.defs#workScopeAny", "lex:org.hypercerts.defs#workScopeNot", "lex:org.hypercerts.defs#workScopeAtom"];
268
- readonly description: "Work scope logic expression using boolean operators (all/any/not) and atomic scope references.";
630
+ readonly refs: ["lex:org.hypercerts.workscope.cel", "lex:org.hypercerts.claim.activity#workScopeString"];
631
+ readonly description: "Work scope definition. A CEL expression for structured, machine-evaluable scopes or a free-form string for simple and legacy scopes.";
269
632
  };
270
633
  readonly startDate: {
271
634
  readonly type: "string";
@@ -277,12 +640,13 @@ export declare const schemaDict: {
277
640
  readonly format: "datetime";
278
641
  readonly description: "When the work ended";
279
642
  };
280
- readonly contributors: {
643
+ readonly locations: {
281
644
  readonly type: "array";
282
- readonly description: "An array of contributor objects, each containing contributor information, weight, and contribution details.";
645
+ readonly description: "An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.";
646
+ readonly maxLength: 1000;
283
647
  readonly items: {
284
648
  readonly type: "ref";
285
- readonly ref: "lex:org.hypercerts.claim.activity#contributor";
649
+ readonly ref: "lex:com.atproto.repo.strongRef";
286
650
  };
287
651
  };
288
652
  readonly rights: {
@@ -290,14 +654,6 @@ export declare const schemaDict: {
290
654
  readonly ref: "lex:com.atproto.repo.strongRef";
291
655
  readonly description: "A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights.";
292
656
  };
293
- readonly locations: {
294
- readonly type: "array";
295
- readonly description: "An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.";
296
- readonly items: {
297
- readonly type: "ref";
298
- readonly ref: "lex:com.atproto.repo.strongRef";
299
- };
300
- };
301
657
  readonly createdAt: {
302
658
  readonly type: "string";
303
659
  readonly format: "datetime";
@@ -313,50 +669,204 @@ export declare const schemaDict: {
313
669
  readonly contributorIdentity: {
314
670
  readonly type: "union";
315
671
  readonly refs: ["lex:org.hypercerts.claim.activity#contributorIdentity", "lex:com.atproto.repo.strongRef"];
316
- readonly description: "Contributor identity as a string (DID or identifier) via org.hypercerts.claim.activity#contributorIdentity, or a strong reference to a contributor information record.";
672
+ readonly 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.";
317
673
  };
318
674
  readonly contributionWeight: {
319
675
  readonly type: "string";
320
676
  readonly 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.";
677
+ readonly maxLength: 100;
321
678
  };
322
679
  readonly contributionDetails: {
323
680
  readonly type: "union";
324
681
  readonly refs: ["lex:org.hypercerts.claim.activity#contributorRole", "lex:com.atproto.repo.strongRef"];
325
- readonly description: "Contribution details as a string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record.";
682
+ readonly 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.";
326
683
  };
327
684
  };
328
685
  };
329
686
  readonly contributorIdentity: {
330
- readonly type: "string";
687
+ readonly type: "object";
331
688
  readonly description: "Contributor information as a string (DID or identifier).";
689
+ readonly required: ["identity"];
690
+ readonly properties: {
691
+ readonly identity: {
692
+ readonly type: "string";
693
+ readonly description: "The contributor identity string (DID or identifier).";
694
+ readonly maxLength: 1000;
695
+ readonly maxGraphemes: 100;
696
+ };
697
+ };
332
698
  };
333
699
  readonly contributorRole: {
334
- readonly type: "string";
700
+ readonly type: "object";
335
701
  readonly description: "Contribution details as a string.";
336
- readonly maxLength: 10000;
337
- readonly maxGraphemes: 1000;
702
+ readonly required: ["role"];
703
+ readonly properties: {
704
+ readonly role: {
705
+ readonly type: "string";
706
+ readonly description: "The contribution role or details.";
707
+ readonly maxLength: 1000;
708
+ readonly maxGraphemes: 100;
709
+ };
710
+ };
711
+ };
712
+ readonly workScopeString: {
713
+ readonly type: "object";
714
+ readonly description: "A free-form string describing the work scope for simple or legacy scopes.";
715
+ readonly required: ["scope"];
716
+ readonly properties: {
717
+ readonly scope: {
718
+ readonly type: "string";
719
+ readonly description: "The work scope description string.";
720
+ readonly maxLength: 1000;
721
+ readonly maxGraphemes: 100;
722
+ };
723
+ };
724
+ };
725
+ };
726
+ };
727
+ readonly OrgHypercertsClaimContribution: {
728
+ readonly lexicon: 1;
729
+ readonly id: "org.hypercerts.claim.contribution";
730
+ readonly defs: {
731
+ readonly main: {
732
+ readonly type: "record";
733
+ readonly description: "Details about a specific contribution including role, description, and timeframe.";
734
+ readonly key: "tid";
735
+ readonly record: {
736
+ readonly type: "object";
737
+ readonly required: ["createdAt"];
738
+ readonly properties: {
739
+ readonly role: {
740
+ readonly type: "string";
741
+ readonly description: "Role or title of the contributor.";
742
+ readonly maxLength: 100;
743
+ };
744
+ readonly contributionDescription: {
745
+ readonly type: "string";
746
+ readonly description: "Description of what the contribution concretely involved.";
747
+ readonly maxLength: 10000;
748
+ readonly maxGraphemes: 1000;
749
+ };
750
+ readonly startDate: {
751
+ readonly type: "string";
752
+ readonly format: "datetime";
753
+ readonly description: "When this contribution started. Should fall within the parent hypercert's timeframe.";
754
+ };
755
+ readonly endDate: {
756
+ readonly type: "string";
757
+ readonly format: "datetime";
758
+ readonly description: "When this contribution finished. Should fall within the parent hypercert's timeframe.";
759
+ };
760
+ readonly createdAt: {
761
+ readonly type: "string";
762
+ readonly format: "datetime";
763
+ readonly description: "Client-declared timestamp when this record was originally created.";
764
+ };
765
+ };
766
+ };
767
+ };
768
+ };
769
+ };
770
+ readonly OrgHypercertsClaimContributorInformation: {
771
+ readonly lexicon: 1;
772
+ readonly id: "org.hypercerts.claim.contributorInformation";
773
+ readonly defs: {
774
+ readonly main: {
775
+ readonly type: "record";
776
+ readonly description: "Contributor information including identifier, display name, and image.";
777
+ readonly key: "tid";
778
+ readonly record: {
779
+ readonly type: "object";
780
+ readonly required: ["createdAt"];
781
+ readonly properties: {
782
+ readonly identifier: {
783
+ readonly type: "string";
784
+ readonly description: "DID (did:plc:...) or URI to a social profile of the contributor.";
785
+ readonly maxLength: 2048;
786
+ };
787
+ readonly displayName: {
788
+ readonly type: "string";
789
+ readonly description: "Human-readable name for the contributor as it should appear in UI.";
790
+ readonly maxLength: 100;
791
+ };
792
+ readonly image: {
793
+ readonly type: "union";
794
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
795
+ readonly description: "The contributor visual representation as a URI or image blob.";
796
+ };
797
+ readonly createdAt: {
798
+ readonly type: "string";
799
+ readonly format: "datetime";
800
+ readonly description: "Client-declared timestamp when this record was originally created.";
801
+ };
802
+ };
803
+ };
804
+ };
805
+ };
806
+ };
807
+ readonly OrgHypercertsClaimRights: {
808
+ readonly lexicon: 1;
809
+ readonly id: "org.hypercerts.claim.rights";
810
+ readonly defs: {
811
+ readonly main: {
812
+ readonly type: "record";
813
+ readonly 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.";
814
+ readonly key: "tid";
815
+ readonly record: {
816
+ readonly type: "object";
817
+ readonly required: ["rightsName", "rightsType", "rightsDescription", "createdAt"];
818
+ readonly properties: {
819
+ readonly rightsName: {
820
+ readonly type: "string";
821
+ readonly description: "Human-readable name for these rights (e.g. 'All Rights Reserved', 'CC BY-SA 4.0')";
822
+ readonly maxLength: 100;
823
+ };
824
+ readonly rightsType: {
825
+ readonly type: "string";
826
+ readonly description: "Short identifier code for this rights type (e.g. 'ARR', 'CC-BY-SA') to facilitate filtering and search";
827
+ readonly maxLength: 10;
828
+ };
829
+ readonly rightsDescription: {
830
+ readonly type: "string";
831
+ readonly description: "Detailed explanation of the rights holders' permissions, restrictions, and conditions";
832
+ readonly maxLength: 10000;
833
+ readonly maxGraphemes: 1000;
834
+ };
835
+ readonly attachment: {
836
+ readonly type: "union";
837
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
838
+ readonly description: "An attachment to define the rights further, e.g. a legal document.";
839
+ };
840
+ readonly createdAt: {
841
+ readonly type: "string";
842
+ readonly format: "datetime";
843
+ readonly description: "Client-declared timestamp when this record was originally created";
844
+ };
845
+ };
846
+ };
338
847
  };
339
848
  };
340
849
  };
341
- readonly OrgHypercertsClaimCollection: {
850
+ readonly OrgHypercertsCollection: {
342
851
  readonly lexicon: 1;
343
- readonly id: "org.hypercerts.claim.collection";
852
+ readonly id: "org.hypercerts.collection";
344
853
  readonly defs: {
345
854
  readonly main: {
346
855
  readonly type: "record";
347
- readonly description: "A collection/group of items (activities and/or other collections). Collections support recursive nesting. Use app.certified.location as a sidecar (same TID) for location metadata.";
856
+ readonly description: "A collection/group of items (activities and/or other collections). Collections support recursive nesting.";
348
857
  readonly key: "tid";
349
858
  readonly record: {
350
859
  readonly type: "object";
351
- readonly required: ["title", "items", "createdAt"];
860
+ readonly required: ["title", "createdAt"];
352
861
  readonly properties: {
353
862
  readonly type: {
354
863
  readonly type: "string";
355
864
  readonly description: "The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection.";
865
+ readonly maxLength: 64;
356
866
  };
357
867
  readonly title: {
358
868
  readonly type: "string";
359
- readonly description: "The title of this collection";
869
+ readonly description: "Display name for this collection (e.g. 'Q1 2025 Impact Projects')";
360
870
  readonly maxLength: 800;
361
871
  readonly maxGraphemes: 80;
362
872
  };
@@ -384,11 +894,17 @@ export declare const schemaDict: {
384
894
  readonly items: {
385
895
  readonly type: "array";
386
896
  readonly description: "Array of items in this collection with optional weights.";
897
+ readonly maxLength: 1000;
387
898
  readonly items: {
388
899
  readonly type: "ref";
389
- readonly ref: "lex:org.hypercerts.claim.collection#item";
900
+ readonly ref: "lex:org.hypercerts.collection#item";
390
901
  };
391
902
  };
903
+ readonly location: {
904
+ readonly type: "ref";
905
+ readonly ref: "lex:com.atproto.repo.strongRef";
906
+ readonly description: "A strong reference to the location where this collection's activities were performed. The record referenced must conform with the lexicon app.certified.location.";
907
+ };
392
908
  readonly createdAt: {
393
909
  readonly type: "string";
394
910
  readonly format: "datetime";
@@ -404,48 +920,48 @@ export declare const schemaDict: {
404
920
  readonly itemIdentifier: {
405
921
  readonly type: "ref";
406
922
  readonly ref: "lex:com.atproto.repo.strongRef";
407
- readonly 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).";
923
+ readonly description: "Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection).";
408
924
  };
409
925
  readonly itemWeight: {
410
926
  readonly type: "string";
411
927
  readonly 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.";
928
+ readonly maxLength: 100;
412
929
  };
413
930
  };
414
931
  };
415
932
  };
416
933
  };
417
- readonly OrgHypercertsClaimContributionDetails: {
934
+ readonly OrgHypercertsContextAcknowledgement: {
418
935
  readonly lexicon: 1;
419
- readonly id: "org.hypercerts.claim.contributionDetails";
936
+ readonly id: "org.hypercerts.context.acknowledgement";
420
937
  readonly defs: {
421
938
  readonly main: {
422
939
  readonly type: "record";
423
- readonly description: "Details about a specific contribution including role, description, and timeframe.";
940
+ readonly 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.";
424
941
  readonly key: "tid";
425
942
  readonly record: {
426
943
  readonly type: "object";
427
- readonly required: ["createdAt"];
944
+ readonly required: ["subject", "acknowledged", "createdAt"];
428
945
  readonly properties: {
429
- readonly role: {
430
- readonly type: "string";
431
- readonly description: "Role or title of the contributor.";
432
- readonly maxLength: 100;
946
+ readonly subject: {
947
+ readonly type: "ref";
948
+ readonly ref: "lex:com.atproto.repo.strongRef";
949
+ readonly description: "The record being acknowledged (e.g. an activity, a contributor information record, an evaluation).";
433
950
  };
434
- readonly contributionDescription: {
435
- readonly type: "string";
436
- readonly description: "What the contribution concretely was.";
437
- readonly maxLength: 10000;
438
- readonly maxGraphemes: 1000;
951
+ readonly context: {
952
+ readonly type: "union";
953
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:com.atproto.repo.strongRef"];
954
+ readonly 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.";
439
955
  };
440
- readonly startDate: {
441
- readonly type: "string";
442
- readonly format: "datetime";
443
- readonly description: "When this contribution started. This should be a subset of the hypercert timeframe.";
956
+ readonly acknowledged: {
957
+ readonly type: "boolean";
958
+ readonly description: "Whether the relationship is acknowledged (true) or rejected (false).";
444
959
  };
445
- readonly endDate: {
960
+ readonly comment: {
446
961
  readonly type: "string";
447
- readonly format: "datetime";
448
- readonly description: "When this contribution finished. This should be a subset of the hypercert timeframe.";
962
+ readonly description: "Optional plain-text comment providing additional context or reasoning.";
963
+ readonly maxLength: 10000;
964
+ readonly maxGraphemes: 1000;
449
965
  };
450
966
  readonly createdAt: {
451
967
  readonly type: "string";
@@ -457,31 +973,69 @@ export declare const schemaDict: {
457
973
  };
458
974
  };
459
975
  };
460
- readonly OrgHypercertsClaimContributorInformation: {
976
+ readonly OrgHypercertsContextAttachment: {
461
977
  readonly lexicon: 1;
462
- readonly id: "org.hypercerts.claim.contributorInformation";
978
+ readonly id: "org.hypercerts.context.attachment";
463
979
  readonly defs: {
464
980
  readonly main: {
465
981
  readonly type: "record";
466
- readonly description: "Contributor information including identifier, display name, and image.";
982
+ readonly description: "An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation).";
467
983
  readonly key: "tid";
468
984
  readonly record: {
469
985
  readonly type: "object";
470
- readonly required: ["createdAt"];
986
+ readonly required: ["title", "createdAt"];
471
987
  readonly properties: {
472
- readonly identifier: {
473
- readonly type: "string";
474
- readonly description: "DID or a URI to a social profile of the contributor.";
988
+ readonly subjects: {
989
+ readonly type: "array";
990
+ readonly 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.";
991
+ readonly items: {
992
+ readonly type: "ref";
993
+ readonly ref: "lex:com.atproto.repo.strongRef";
994
+ };
995
+ readonly maxLength: 100;
475
996
  };
476
- readonly displayName: {
997
+ readonly contentType: {
477
998
  readonly type: "string";
478
- readonly description: "Display name of the contributor.";
999
+ readonly maxLength: 64;
1000
+ readonly description: "The type of attachment, e.g. report, audit, evidence, testimonial, methodology, etc.";
1001
+ };
1002
+ readonly content: {
1003
+ readonly type: "array";
1004
+ readonly description: "The files, documents, or external references included in this attachment record.";
1005
+ readonly items: {
1006
+ readonly type: "union";
1007
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
1008
+ };
479
1009
  readonly maxLength: 100;
480
1010
  };
481
- readonly image: {
482
- readonly type: "union";
483
- readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
484
- readonly description: "The contributor visual representation as a URI or image blob.";
1011
+ readonly title: {
1012
+ readonly type: "string";
1013
+ readonly maxLength: 256;
1014
+ readonly description: "Display title for this attachment (e.g. 'Impact Assessment Report', 'Audit Findings')";
1015
+ };
1016
+ readonly shortDescription: {
1017
+ readonly type: "string";
1018
+ readonly description: "Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.";
1019
+ readonly maxLength: 3000;
1020
+ readonly maxGraphemes: 300;
1021
+ };
1022
+ readonly shortDescriptionFacets: {
1023
+ readonly type: "array";
1024
+ readonly description: "Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).";
1025
+ readonly items: {
1026
+ readonly type: "ref";
1027
+ readonly ref: "lex:app.bsky.richtext.facet";
1028
+ };
1029
+ };
1030
+ readonly description: {
1031
+ readonly type: "ref";
1032
+ readonly ref: "lex:pub.leaflet.pages.linearDocument#main";
1033
+ readonly description: "Rich-text description, represented as a Leaflet linear document.";
1034
+ };
1035
+ readonly location: {
1036
+ readonly type: "ref";
1037
+ readonly ref: "lex:com.atproto.repo.strongRef";
1038
+ readonly 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.";
485
1039
  };
486
1040
  readonly createdAt: {
487
1041
  readonly type: "string";
@@ -493,29 +1047,10 @@ export declare const schemaDict: {
493
1047
  };
494
1048
  };
495
1049
  };
496
- readonly OrgHypercertsClaimEvaluation: {
1050
+ readonly OrgHypercertsContextEvaluation: {
497
1051
  readonly lexicon: 1;
498
- readonly id: "org.hypercerts.claim.evaluation";
1052
+ readonly id: "org.hypercerts.context.evaluation";
499
1053
  readonly defs: {
500
- readonly score: {
501
- readonly type: "object";
502
- readonly description: "Overall score for an evaluation on a numeric scale.";
503
- readonly required: ["min", "max", "value"];
504
- readonly properties: {
505
- readonly min: {
506
- readonly type: "integer";
507
- readonly description: "Minimum value of the scale, e.g. 0 or 1.";
508
- };
509
- readonly max: {
510
- readonly type: "integer";
511
- readonly description: "Maximum value of the scale, e.g. 5 or 10.";
512
- };
513
- readonly value: {
514
- readonly type: "integer";
515
- readonly description: "Score within the inclusive range [min, max].";
516
- };
517
- };
518
- };
519
1054
  readonly main: {
520
1055
  readonly type: "record";
521
1056
  readonly description: "An evaluation of a hypercert record (e.g. an activity and its impact).";
@@ -527,7 +1062,7 @@ export declare const schemaDict: {
527
1062
  readonly subject: {
528
1063
  readonly type: "ref";
529
1064
  readonly ref: "lex:com.atproto.repo.strongRef";
530
- readonly description: "A strong reference to what is being evaluated. (e.g activity, measurement, contribution, etc.)";
1065
+ readonly description: "A strong reference to what is being evaluated (e.g. activity, measurement, contribution, etc.)";
531
1066
  };
532
1067
  readonly evaluators: {
533
1068
  readonly type: "array";
@@ -549,7 +1084,7 @@ export declare const schemaDict: {
549
1084
  };
550
1085
  readonly measurements: {
551
1086
  readonly type: "array";
552
- readonly description: "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.claim.measurement";
1087
+ readonly description: "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.context.measurement";
553
1088
  readonly items: {
554
1089
  readonly type: "ref";
555
1090
  readonly ref: "lex:com.atproto.repo.strongRef";
@@ -564,7 +1099,7 @@ export declare const schemaDict: {
564
1099
  };
565
1100
  readonly score: {
566
1101
  readonly type: "ref";
567
- readonly ref: "lex:org.hypercerts.claim.evaluation#score";
1102
+ readonly ref: "lex:org.hypercerts.context.evaluation#score";
568
1103
  readonly description: "Optional overall score for this evaluation on a numeric scale.";
569
1104
  };
570
1105
  readonly location: {
@@ -580,98 +1115,82 @@ export declare const schemaDict: {
580
1115
  };
581
1116
  };
582
1117
  };
583
- };
584
- };
585
- readonly OrgHypercertsClaimEvidence: {
586
- readonly lexicon: 1;
587
- readonly id: "org.hypercerts.claim.evidence";
588
- readonly defs: {
589
- readonly main: {
590
- readonly type: "record";
591
- readonly description: "A piece of evidence related to a hypercert record (e.g. an activity, project, claim, or evaluation). Evidence may support, clarify, or challenge the referenced subject.";
592
- readonly key: "tid";
593
- readonly record: {
594
- readonly type: "object";
595
- readonly required: ["content", "title", "createdAt"];
596
- readonly properties: {
597
- readonly subject: {
598
- readonly type: "ref";
599
- readonly ref: "lex:com.atproto.repo.strongRef";
600
- readonly description: "A strong reference to the record this evidence relates to (e.g. an activity, project, claim, or evaluation).";
601
- };
602
- readonly content: {
603
- readonly type: "union";
604
- readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
605
- readonly description: "A piece of evidence (URI or blob) related to the subject record; it may support, clarify, or challenge a hypercert claim.";
606
- };
607
- readonly title: {
608
- readonly type: "string";
609
- readonly maxLength: 256;
610
- readonly description: "Title to describe the nature of the evidence.";
611
- };
612
- readonly shortDescription: {
613
- readonly type: "string";
614
- readonly maxLength: 3000;
615
- readonly maxGraphemes: 300;
616
- readonly description: "Short description explaining what this evidence shows.";
617
- };
618
- readonly description: {
619
- readonly type: "string";
620
- readonly description: "Longer description describing the evidence in more detail.";
621
- readonly maxLength: 30000;
622
- readonly maxGraphemes: 3000;
623
- };
624
- readonly relationType: {
625
- readonly type: "string";
626
- readonly description: "How this evidence relates to the subject.";
627
- readonly knownValues: ["supports", "challenges", "clarifies"];
628
- };
629
- readonly createdAt: {
630
- readonly type: "string";
631
- readonly format: "datetime";
632
- readonly description: "Client-declared timestamp when this record was originally created";
633
- };
1118
+ readonly score: {
1119
+ readonly type: "object";
1120
+ readonly description: "Overall score for an evaluation on a numeric scale.";
1121
+ readonly required: ["min", "max", "value"];
1122
+ readonly properties: {
1123
+ readonly min: {
1124
+ readonly type: "integer";
1125
+ readonly description: "Minimum value of the scale, e.g. 0 or 1.";
1126
+ };
1127
+ readonly max: {
1128
+ readonly type: "integer";
1129
+ readonly description: "Maximum value of the scale, e.g. 5 or 10.";
1130
+ };
1131
+ readonly value: {
1132
+ readonly type: "integer";
1133
+ readonly description: "Score within the inclusive range [min, max].";
634
1134
  };
635
1135
  };
636
1136
  };
637
1137
  };
638
1138
  };
639
- readonly OrgHypercertsClaimMeasurement: {
1139
+ readonly OrgHypercertsContextMeasurement: {
640
1140
  readonly lexicon: 1;
641
- readonly id: "org.hypercerts.claim.measurement";
1141
+ readonly id: "org.hypercerts.context.measurement";
642
1142
  readonly defs: {
643
1143
  readonly main: {
644
1144
  readonly type: "record";
645
- readonly description: "Measurement data related to a hypercert record (e.g. an activity and its impact).";
1145
+ readonly description: "Measurement data related to one or more records (e.g. activities, projects, etc.).";
646
1146
  readonly key: "tid";
647
1147
  readonly record: {
648
1148
  readonly type: "object";
649
- readonly required: ["measurers", "metric", "value", "createdAt"];
1149
+ readonly required: ["metric", "unit", "value", "createdAt"];
650
1150
  readonly properties: {
651
- readonly subject: {
652
- readonly type: "ref";
653
- readonly ref: "lex:com.atproto.repo.strongRef";
654
- readonly description: "A strong reference to the record this measurement refers to (e.g. an activity, project, or claim).";
655
- };
656
- readonly measurers: {
1151
+ readonly subjects: {
657
1152
  readonly type: "array";
658
- readonly description: "DIDs of the entity (or entities) that measured this data";
1153
+ readonly description: "Strong references to the records this measurement refers to (e.g. activities, projects, or claims).";
659
1154
  readonly items: {
660
1155
  readonly type: "ref";
661
- readonly ref: "lex:app.certified.defs#did";
1156
+ readonly ref: "lex:com.atproto.repo.strongRef";
662
1157
  };
663
1158
  readonly maxLength: 100;
664
1159
  };
665
1160
  readonly metric: {
666
1161
  readonly type: "string";
667
- readonly description: "The metric being measured";
1162
+ readonly description: "The metric being measured, e.g. forest area restored, number of users, etc.";
668
1163
  readonly maxLength: 500;
669
1164
  };
1165
+ readonly unit: {
1166
+ readonly type: "string";
1167
+ readonly description: "The unit of the measured value (e.g. kg CO₂e, hectares, %, index score).";
1168
+ readonly maxLength: 50;
1169
+ };
670
1170
  readonly value: {
671
1171
  readonly type: "string";
672
- readonly description: "The measured value";
1172
+ readonly description: "The measured value as a numeric string (e.g. '1234.56')";
673
1173
  readonly maxLength: 500;
674
1174
  };
1175
+ readonly startDate: {
1176
+ readonly type: "string";
1177
+ readonly format: "datetime";
1178
+ readonly description: "The start date and time when the measurement began.";
1179
+ };
1180
+ readonly endDate: {
1181
+ readonly type: "string";
1182
+ readonly format: "datetime";
1183
+ readonly description: "The end date and time when the measurement ended. For one-time measurements, this should equal the start date.";
1184
+ };
1185
+ readonly locations: {
1186
+ readonly type: "array";
1187
+ readonly description: "Optional geographic references related to where the measurement was taken. Each referenced record must conform with the app.certified.location lexicon.";
1188
+ readonly items: {
1189
+ readonly type: "ref";
1190
+ readonly ref: "lex:com.atproto.repo.strongRef";
1191
+ };
1192
+ readonly maxLength: 100;
1193
+ };
675
1194
  readonly methodType: {
676
1195
  readonly type: "string";
677
1196
  readonly description: "Short identifier for the measurement methodology";
@@ -691,51 +1210,28 @@ export declare const schemaDict: {
691
1210
  };
692
1211
  readonly maxLength: 50;
693
1212
  };
694
- readonly location: {
695
- readonly type: "ref";
696
- readonly ref: "lex:com.atproto.repo.strongRef";
697
- readonly description: "A strong reference to the location where the measurement was taken. The record referenced must conform with the lexicon app.certified.location";
698
- };
699
- readonly createdAt: {
700
- readonly type: "string";
701
- readonly format: "datetime";
702
- readonly description: "Client-declared timestamp when this record was originally created";
703
- };
704
- };
705
- };
706
- };
707
- };
708
- };
709
- readonly OrgHypercertsClaimRights: {
710
- readonly lexicon: 1;
711
- readonly id: "org.hypercerts.claim.rights";
712
- readonly defs: {
713
- readonly main: {
714
- readonly type: "record";
715
- readonly 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.";
716
- readonly key: "tid";
717
- readonly record: {
718
- readonly type: "object";
719
- readonly required: ["rightsName", "rightsType", "rightsDescription", "createdAt"];
720
- readonly properties: {
721
- readonly rightsName: {
722
- readonly type: "string";
723
- readonly description: "Full name of the rights";
1213
+ readonly measurers: {
1214
+ readonly type: "array";
1215
+ readonly description: "DIDs of the entities that performed this measurement";
1216
+ readonly items: {
1217
+ readonly type: "ref";
1218
+ readonly ref: "lex:app.certified.defs#did";
1219
+ };
724
1220
  readonly maxLength: 100;
725
1221
  };
726
- readonly rightsType: {
727
- readonly type: "string";
728
- readonly description: "Short rights identifier for easier search";
729
- readonly maxLength: 10;
730
- };
731
- readonly rightsDescription: {
1222
+ readonly comment: {
732
1223
  readonly type: "string";
733
- readonly description: "Description of the rights of this hypercert";
1224
+ readonly description: "Short comment of this measurement, suitable for previews and list views. Rich text annotations may be provided via `commentFacets`.";
1225
+ readonly maxLength: 3000;
1226
+ readonly maxGraphemes: 300;
734
1227
  };
735
- readonly attachment: {
736
- readonly type: "union";
737
- readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
738
- readonly description: "An attachment to define the rights further, e.g. a legal document.";
1228
+ readonly commentFacets: {
1229
+ readonly type: "array";
1230
+ readonly description: "Rich text annotations for `comment` (mentions, URLs, hashtags, etc).";
1231
+ readonly items: {
1232
+ readonly type: "ref";
1233
+ readonly ref: "lex:app.bsky.richtext.facet";
1234
+ };
739
1235
  };
740
1236
  readonly createdAt: {
741
1237
  readonly type: "string";
@@ -750,6 +1246,7 @@ export declare const schemaDict: {
750
1246
  readonly OrgHypercertsDefs: {
751
1247
  readonly lexicon: 1;
752
1248
  readonly id: "org.hypercerts.defs";
1249
+ readonly description: "Common type definitions used across all Hypercerts protocols.";
753
1250
  readonly defs: {
754
1251
  readonly uri: {
755
1252
  readonly type: "object";
@@ -759,7 +1256,6 @@ export declare const schemaDict: {
759
1256
  readonly uri: {
760
1257
  readonly type: "string";
761
1258
  readonly format: "uri";
762
- readonly maxGraphemes: 1024;
763
1259
  readonly description: "URI to external data";
764
1260
  };
765
1261
  };
@@ -803,6 +1299,19 @@ export declare const schemaDict: {
803
1299
  };
804
1300
  };
805
1301
  };
1302
+ readonly smallVideo: {
1303
+ readonly type: "object";
1304
+ readonly required: ["video"];
1305
+ readonly description: "Object containing a small video";
1306
+ readonly properties: {
1307
+ readonly video: {
1308
+ readonly type: "blob";
1309
+ readonly accept: ["video/mp4", "video/webm"];
1310
+ readonly maxSize: 20971520;
1311
+ readonly description: "Video (up to 20MB)";
1312
+ };
1313
+ };
1314
+ };
806
1315
  readonly largeImage: {
807
1316
  readonly type: "object";
808
1317
  readonly required: ["image"];
@@ -816,79 +1325,6 @@ export declare const schemaDict: {
816
1325
  };
817
1326
  };
818
1327
  };
819
- readonly workScopeAll: {
820
- readonly type: "object";
821
- readonly required: ["op", "args"];
822
- readonly description: "Logical AND operation: all arguments must be satisfied.";
823
- readonly properties: {
824
- readonly op: {
825
- readonly type: "string";
826
- readonly const: "all";
827
- readonly description: "Operator type: 'all' (logical AND)";
828
- };
829
- readonly args: {
830
- readonly type: "array";
831
- readonly items: {
832
- readonly type: "union";
833
- readonly refs: ["lex:org.hypercerts.defs#workScopeAll", "lex:org.hypercerts.defs#workScopeAny", "lex:org.hypercerts.defs#workScopeNot", "lex:org.hypercerts.defs#workScopeAtom"];
834
- };
835
- readonly minLength: 1;
836
- readonly maxLength: 100;
837
- readonly description: "Array of work scope expressions that must all be satisfied";
838
- };
839
- };
840
- };
841
- readonly workScopeAny: {
842
- readonly type: "object";
843
- readonly required: ["op", "args"];
844
- readonly description: "Logical OR operation: at least one argument must be satisfied.";
845
- readonly properties: {
846
- readonly op: {
847
- readonly type: "string";
848
- readonly const: "any";
849
- readonly description: "Operator type: 'any' (logical OR)";
850
- };
851
- readonly args: {
852
- readonly type: "array";
853
- readonly items: {
854
- readonly type: "union";
855
- readonly refs: ["lex:org.hypercerts.defs#workScopeAll", "lex:org.hypercerts.defs#workScopeAny", "lex:org.hypercerts.defs#workScopeNot", "lex:org.hypercerts.defs#workScopeAtom"];
856
- };
857
- readonly minLength: 1;
858
- readonly maxLength: 100;
859
- readonly description: "Array of work scope expressions, at least one of which must be satisfied";
860
- };
861
- };
862
- };
863
- readonly workScopeNot: {
864
- readonly type: "object";
865
- readonly required: ["op", "arg"];
866
- readonly description: "Logical NOT operation: the argument must not be satisfied.";
867
- readonly properties: {
868
- readonly op: {
869
- readonly type: "string";
870
- readonly const: "not";
871
- readonly description: "Operator type: 'not' (logical NOT)";
872
- };
873
- readonly arg: {
874
- readonly type: "union";
875
- readonly refs: ["lex:org.hypercerts.defs#workScopeAll", "lex:org.hypercerts.defs#workScopeAny", "lex:org.hypercerts.defs#workScopeNot", "lex:org.hypercerts.defs#workScopeAtom"];
876
- readonly description: "Work scope expression that must not be satisfied";
877
- };
878
- };
879
- };
880
- readonly workScopeAtom: {
881
- readonly type: "object";
882
- readonly required: ["atom"];
883
- readonly description: "Atomic scope reference: a strong reference to a scope record.";
884
- readonly properties: {
885
- readonly atom: {
886
- readonly type: "ref";
887
- readonly ref: "lex:com.atproto.repo.strongRef";
888
- readonly description: "Strong reference to an org.hypercerts.helper.workScopeTag record";
889
- };
890
- };
891
- };
892
1328
  };
893
1329
  };
894
1330
  readonly OrgHypercertsFundingReceipt: {
@@ -911,26 +1347,32 @@ export declare const schemaDict: {
911
1347
  readonly to: {
912
1348
  readonly type: "string";
913
1349
  readonly description: "The recipient of the funds. Can be identified by DID or a clear-text name.";
1350
+ readonly maxLength: 2048;
914
1351
  };
915
1352
  readonly amount: {
916
1353
  readonly type: "string";
917
- readonly description: "Amount of funding received.";
1354
+ readonly description: "Amount of funding received as a numeric string (e.g. '1000.50').";
1355
+ readonly maxLength: 50;
918
1356
  };
919
1357
  readonly currency: {
920
1358
  readonly type: "string";
921
1359
  readonly description: "Currency of the payment (e.g. EUR, USD, ETH).";
1360
+ readonly maxLength: 10;
922
1361
  };
923
1362
  readonly paymentRail: {
924
1363
  readonly type: "string";
925
1364
  readonly description: "How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor).";
1365
+ readonly maxLength: 50;
926
1366
  };
927
1367
  readonly paymentNetwork: {
928
1368
  readonly type: "string";
929
1369
  readonly description: "Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal).";
1370
+ readonly maxLength: 50;
930
1371
  };
931
1372
  readonly transactionId: {
932
1373
  readonly type: "string";
933
1374
  readonly 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.";
1375
+ readonly maxLength: 256;
934
1376
  };
935
1377
  readonly for: {
936
1378
  readonly type: "string";
@@ -957,36 +1399,71 @@ export declare const schemaDict: {
957
1399
  };
958
1400
  };
959
1401
  };
960
- readonly OrgHypercertsHelperWorkScopeTag: {
1402
+ readonly OrgHypercertsWorkscopeCel: {
1403
+ readonly lexicon: 1;
1404
+ readonly id: "org.hypercerts.workscope.cel";
1405
+ readonly defs: {
1406
+ readonly main: {
1407
+ readonly type: "object";
1408
+ readonly 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.";
1409
+ readonly required: ["expression", "usedTags", "version", "createdAt"];
1410
+ readonly properties: {
1411
+ readonly expression: {
1412
+ readonly type: "string";
1413
+ readonly maxLength: 10000;
1414
+ readonly maxGraphemes: 5000;
1415
+ readonly description: "A CEL expression encoding the work scope conditions. Example: scope.hasAll(['mangrove_restoration', 'environmental_education']) && location.country == 'KE'";
1416
+ };
1417
+ readonly usedTags: {
1418
+ readonly type: "array";
1419
+ readonly items: {
1420
+ readonly type: "ref";
1421
+ readonly ref: "lex:com.atproto.repo.strongRef";
1422
+ };
1423
+ readonly maxLength: 100;
1424
+ readonly 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.";
1425
+ };
1426
+ readonly version: {
1427
+ readonly type: "string";
1428
+ readonly maxLength: 16;
1429
+ readonly knownValues: ["v1"];
1430
+ readonly description: "CEL context schema version.";
1431
+ };
1432
+ readonly createdAt: {
1433
+ readonly type: "string";
1434
+ readonly format: "datetime";
1435
+ readonly description: "Client-declared timestamp when this expression was originally created.";
1436
+ };
1437
+ };
1438
+ };
1439
+ };
1440
+ };
1441
+ readonly OrgHypercertsWorkscopeTag: {
961
1442
  readonly lexicon: 1;
962
- readonly id: "org.hypercerts.helper.workScopeTag";
1443
+ readonly id: "org.hypercerts.workscope.tag";
963
1444
  readonly defs: {
964
1445
  readonly main: {
965
1446
  readonly type: "record";
966
- readonly description: "A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels.";
1447
+ readonly 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.";
967
1448
  readonly key: "tid";
968
1449
  readonly record: {
969
1450
  readonly type: "object";
970
- readonly required: ["createdAt", "key", "label"];
1451
+ readonly required: ["key", "name", "createdAt"];
971
1452
  readonly properties: {
972
- readonly createdAt: {
973
- readonly type: "string";
974
- readonly format: "datetime";
975
- readonly description: "Client-declared timestamp when this record was originally created";
976
- };
977
1453
  readonly key: {
978
1454
  readonly type: "string";
979
- readonly description: "Lowercase, hyphenated machine-readable key for this scope (e.g., 'ipfs', 'go-lang', 'filecoin').";
1455
+ readonly description: "Lowercase, underscore-separated machine-readable key for this scope (e.g., 'mangrove_restoration', 'biodiversity_monitoring'). Used as the canonical identifier in CEL expressions.";
980
1456
  readonly maxLength: 120;
981
1457
  };
982
- readonly label: {
1458
+ readonly name: {
983
1459
  readonly type: "string";
984
- readonly description: "Human-readable label for this scope.";
1460
+ readonly description: "Human-readable name for this scope.";
985
1461
  readonly maxLength: 200;
986
1462
  };
987
- readonly kind: {
1463
+ readonly category: {
988
1464
  readonly type: "string";
989
- readonly description: "Category type of this scope. Recommended values: topic, language, domain, method, tag.";
1465
+ readonly description: "Category type of this scope.";
1466
+ readonly knownValues: ["topic", "language", "domain", "method"];
990
1467
  readonly maxLength: 50;
991
1468
  };
992
1469
  readonly description: {
@@ -998,7 +1475,18 @@ export declare const schemaDict: {
998
1475
  readonly parent: {
999
1476
  readonly type: "ref";
1000
1477
  readonly ref: "lex:com.atproto.repo.strongRef";
1001
- readonly description: "Optional strong reference to a parent scope record for taxonomy/hierarchy support.";
1478
+ readonly 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.";
1479
+ };
1480
+ readonly status: {
1481
+ readonly type: "string";
1482
+ readonly description: "Lifecycle status of this tag. Communities propose tags, curators accept them, deprecated tags point to replacements via supersededBy.";
1483
+ readonly knownValues: ["proposed", "accepted", "deprecated"];
1484
+ readonly maxLength: 20;
1485
+ };
1486
+ readonly supersededBy: {
1487
+ readonly type: "ref";
1488
+ readonly ref: "lex:com.atproto.repo.strongRef";
1489
+ readonly 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.";
1002
1490
  };
1003
1491
  readonly aliases: {
1004
1492
  readonly type: "array";
@@ -1007,12 +1495,27 @@ export declare const schemaDict: {
1007
1495
  readonly maxLength: 200;
1008
1496
  };
1009
1497
  readonly maxLength: 50;
1010
- readonly description: "Optional array of alternative names or identifiers for this scope.";
1498
+ readonly 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.";
1499
+ };
1500
+ readonly sameAs: {
1501
+ readonly type: "array";
1502
+ readonly items: {
1503
+ readonly type: "string";
1504
+ readonly format: "uri";
1505
+ readonly maxLength: 2048;
1506
+ };
1507
+ readonly maxLength: 20;
1508
+ readonly 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.";
1011
1509
  };
1012
- readonly externalReference: {
1510
+ readonly referenceDocument: {
1013
1511
  readonly type: "union";
1014
1512
  readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
1015
- readonly description: "Optional external reference for this scope as a URI or blob.";
1513
+ readonly description: "Link to a governance or reference document where this work scope tag is defined and further explained.";
1514
+ };
1515
+ readonly createdAt: {
1516
+ readonly type: "string";
1517
+ readonly format: "datetime";
1518
+ readonly description: "Client-declared timestamp when this record was originally created.";
1016
1519
  };
1017
1520
  };
1018
1521
  };
@@ -1022,58 +1525,190 @@ export declare const schemaDict: {
1022
1525
  };
1023
1526
  export declare const schemas: ({
1024
1527
  readonly lexicon: 1;
1025
- readonly id: "app.certified.badge.award";
1528
+ readonly id: "app.certified.actor.organization";
1026
1529
  readonly defs: {
1027
1530
  readonly main: {
1028
1531
  readonly type: "record";
1029
- readonly description: "Records a badge award to a user, project, or activity claim.";
1030
- readonly key: "tid";
1532
+ readonly description: "Extended metadata for an organization actor. Complements the base actor profile with organization-specific fields like legal structure and reference links.";
1533
+ readonly key: "literal:self";
1031
1534
  readonly record: {
1032
1535
  readonly type: "object";
1033
- readonly required: ["badge", "subject", "createdAt"];
1536
+ readonly required: ["createdAt"];
1034
1537
  readonly properties: {
1035
- readonly badge: {
1036
- readonly type: "ref";
1037
- readonly ref: "lex:app.certified.badge.definition";
1038
- readonly description: "Reference to the badge definition for this award.";
1538
+ readonly organizationType: {
1539
+ readonly type: "array";
1540
+ readonly description: "Legal or operational structures of the organization (e.g. 'nonprofit', 'ngo', 'government', 'social-enterprise', 'cooperative').";
1541
+ readonly items: {
1542
+ readonly type: "string";
1543
+ readonly maxLength: 128;
1544
+ readonly maxGraphemes: 100;
1545
+ };
1546
+ readonly maxLength: 10;
1039
1547
  };
1040
- readonly subject: {
1041
- readonly type: "union";
1042
- readonly description: "Entity the badge award is for (either an account DID or any specific AT Protocol record), e.g. a user, a project, or a specific activity claim.";
1043
- readonly refs: ["lex:app.certified.defs#did", "lex:com.atproto.repo.strongRef"];
1548
+ readonly urls: {
1549
+ readonly type: "array";
1550
+ readonly description: "Additional reference URLs (social media profiles, contact pages, donation links, etc.) with a display label for each URL.";
1551
+ readonly items: {
1552
+ readonly type: "ref";
1553
+ readonly ref: "lex:app.certified.actor.organization#urlItem";
1554
+ };
1044
1555
  };
1045
- readonly note: {
1556
+ readonly location: {
1557
+ readonly type: "ref";
1558
+ readonly ref: "lex:com.atproto.repo.strongRef";
1559
+ readonly description: "A strong reference to the location where the organization is based. The record referenced must conform with the lexicon app.certified.location.";
1560
+ };
1561
+ readonly foundedDate: {
1046
1562
  readonly type: "string";
1047
- readonly description: "Optional statement explaining the reason for this badge award.";
1563
+ readonly format: "datetime";
1564
+ readonly 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.";
1048
1565
  };
1049
1566
  readonly createdAt: {
1050
1567
  readonly type: "string";
1051
1568
  readonly format: "datetime";
1052
- readonly description: "Client-declared timestamp when this record was originally created";
1569
+ readonly description: "Client-declared timestamp when this record was originally created.";
1053
1570
  };
1054
1571
  };
1055
1572
  };
1056
1573
  };
1574
+ readonly urlItem: {
1575
+ readonly type: "object";
1576
+ readonly description: "A labeled URL reference.";
1577
+ readonly required: ["url"];
1578
+ readonly properties: {
1579
+ readonly url: {
1580
+ readonly type: "string";
1581
+ readonly format: "uri";
1582
+ readonly description: "The URL.";
1583
+ readonly maxLength: 10000;
1584
+ readonly maxGraphemes: 2048;
1585
+ };
1586
+ readonly label: {
1587
+ readonly type: "string";
1588
+ readonly description: "Optional human-readable label for this URL (e.g. 'Support page', 'Donation page').";
1589
+ readonly maxLength: 640;
1590
+ readonly maxGraphemes: 64;
1591
+ };
1592
+ };
1593
+ };
1057
1594
  };
1058
1595
  } | {
1059
1596
  readonly lexicon: 1;
1060
- readonly id: "app.certified.badge.definition";
1597
+ readonly id: "app.certified.actor.profile";
1061
1598
  readonly defs: {
1062
1599
  readonly main: {
1063
1600
  readonly type: "record";
1064
- readonly description: "Defines a badge that can be awarded via badge award records to users, projects, or activity claims.";
1065
- readonly key: "tid";
1601
+ readonly description: "A declaration of a Certified account profile.";
1602
+ readonly key: "literal:self";
1066
1603
  readonly record: {
1067
1604
  readonly type: "object";
1068
- readonly required: ["title", "badgeType", "icon", "createdAt"];
1605
+ readonly required: ["createdAt"];
1606
+ readonly properties: {
1607
+ readonly displayName: {
1608
+ readonly type: "string";
1609
+ readonly description: "Display name for the account";
1610
+ readonly maxGraphemes: 64;
1611
+ readonly maxLength: 640;
1612
+ };
1613
+ readonly description: {
1614
+ readonly type: "string";
1615
+ readonly description: "Free-form profile description text.";
1616
+ readonly maxGraphemes: 256;
1617
+ readonly maxLength: 2560;
1618
+ };
1619
+ readonly pronouns: {
1620
+ readonly type: "string";
1621
+ readonly description: "Free-form pronouns text.";
1622
+ readonly maxGraphemes: 20;
1623
+ readonly maxLength: 200;
1624
+ };
1625
+ readonly website: {
1626
+ readonly type: "string";
1627
+ readonly format: "uri";
1628
+ readonly description: "Account website URL";
1629
+ };
1630
+ readonly avatar: {
1631
+ readonly type: "union";
1632
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
1633
+ readonly description: "Small image to be displayed next to posts from account. AKA, 'profile picture'";
1634
+ };
1635
+ readonly banner: {
1636
+ readonly type: "union";
1637
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#largeImage"];
1638
+ readonly description: "Larger horizontal image to display behind profile view.";
1639
+ };
1640
+ readonly createdAt: {
1641
+ readonly type: "string";
1642
+ readonly format: "datetime";
1643
+ readonly description: "Client-declared timestamp when this record was originally created";
1644
+ };
1645
+ };
1646
+ };
1647
+ };
1648
+ };
1649
+ } | {
1650
+ readonly lexicon: 1;
1651
+ readonly id: "app.certified.badge.award";
1652
+ readonly defs: {
1653
+ readonly main: {
1654
+ readonly type: "record";
1655
+ readonly description: "Records a badge award to a user, project, or activity claim.";
1656
+ readonly key: "tid";
1657
+ readonly record: {
1658
+ readonly type: "object";
1659
+ readonly required: ["badge", "subject", "createdAt"];
1660
+ readonly properties: {
1661
+ readonly badge: {
1662
+ readonly type: "ref";
1663
+ readonly ref: "lex:app.certified.badge.definition";
1664
+ readonly description: "Reference to the badge definition for this award.";
1665
+ };
1666
+ readonly subject: {
1667
+ readonly type: "union";
1668
+ readonly description: "Entity the badge award is for (either an account DID or any specific AT Protocol record), e.g. a user, a project, or a specific activity claim.";
1669
+ readonly refs: ["lex:app.certified.defs#did", "lex:com.atproto.repo.strongRef"];
1670
+ };
1671
+ readonly note: {
1672
+ readonly type: "string";
1673
+ readonly description: "Optional statement explaining the reason for this badge award.";
1674
+ readonly maxLength: 500;
1675
+ };
1676
+ readonly url: {
1677
+ readonly type: "string";
1678
+ readonly format: "uri";
1679
+ readonly description: "Optional URL the badge award links to.";
1680
+ readonly maxLength: 2048;
1681
+ };
1682
+ readonly createdAt: {
1683
+ readonly type: "string";
1684
+ readonly format: "datetime";
1685
+ readonly description: "Client-declared timestamp when this record was originally created";
1686
+ };
1687
+ };
1688
+ };
1689
+ };
1690
+ };
1691
+ } | {
1692
+ readonly lexicon: 1;
1693
+ readonly id: "app.certified.badge.definition";
1694
+ readonly defs: {
1695
+ readonly main: {
1696
+ readonly type: "record";
1697
+ readonly description: "Defines a badge that can be awarded via badge award records to users, projects, or activity claims.";
1698
+ readonly key: "tid";
1699
+ readonly record: {
1700
+ readonly type: "object";
1701
+ readonly required: ["title", "badgeType", "icon", "createdAt"];
1069
1702
  readonly properties: {
1070
1703
  readonly badgeType: {
1071
1704
  readonly type: "string";
1072
1705
  readonly description: "Category of the badge (e.g. endorsement, participation, affiliation).";
1706
+ readonly maxLength: 100;
1073
1707
  };
1074
1708
  readonly title: {
1075
1709
  readonly type: "string";
1076
1710
  readonly description: "Human-readable title of the badge.";
1711
+ readonly maxLength: 256;
1077
1712
  };
1078
1713
  readonly icon: {
1079
1714
  readonly type: "blob";
@@ -1084,10 +1719,13 @@ export declare const schemas: ({
1084
1719
  readonly description: {
1085
1720
  readonly type: "string";
1086
1721
  readonly description: "Optional short statement describing what the badge represents.";
1722
+ readonly maxLength: 5000;
1723
+ readonly maxGraphemes: 500;
1087
1724
  };
1088
1725
  readonly allowedIssuers: {
1089
1726
  readonly type: "array";
1090
1727
  readonly description: "Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it.";
1728
+ readonly maxLength: 100;
1091
1729
  readonly items: {
1092
1730
  readonly type: "ref";
1093
1731
  readonly ref: "lex:app.certified.defs#did";
@@ -1121,12 +1759,13 @@ export declare const schemas: ({
1121
1759
  };
1122
1760
  readonly response: {
1123
1761
  readonly type: "string";
1124
- readonly enum: ["accepted", "rejected"];
1762
+ readonly knownValues: ["accepted", "rejected"];
1125
1763
  readonly description: "The recipient’s response for the badge (accepted or rejected).";
1126
1764
  };
1127
1765
  readonly weight: {
1128
1766
  readonly type: "string";
1129
1767
  readonly description: "Optional relative weight for accepted badges, assigned by the recipient.";
1768
+ readonly maxLength: 50;
1130
1769
  };
1131
1770
  readonly createdAt: {
1132
1771
  readonly type: "string";
@@ -1143,9 +1782,17 @@ export declare const schemas: ({
1143
1782
  readonly description: "Common type definitions used across certified protocols.";
1144
1783
  readonly defs: {
1145
1784
  readonly did: {
1146
- readonly type: "string";
1147
- readonly format: "did";
1785
+ readonly type: "object";
1148
1786
  readonly description: "A Decentralized Identifier (DID) string.";
1787
+ readonly required: ["did"];
1788
+ readonly properties: {
1789
+ readonly did: {
1790
+ readonly type: "string";
1791
+ readonly format: "did";
1792
+ readonly description: "The DID string value.";
1793
+ readonly maxLength: 256;
1794
+ };
1795
+ };
1149
1796
  };
1150
1797
  };
1151
1798
  } | {
@@ -1173,24 +1820,24 @@ export declare const schemas: ({
1173
1820
  };
1174
1821
  readonly locationType: {
1175
1822
  readonly type: "string";
1176
- readonly description: "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point)";
1177
- readonly knownValues: ["coordinate-decimal", "geojson-point"];
1823
+ readonly description: "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point). See the Location Protocol spec for the full registry: https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry";
1824
+ readonly knownValues: ["coordinate-decimal", "geojson-point", "geojson", "h3", "geohash", "wkt", "address", "scaledCoordinates"];
1178
1825
  readonly maxLength: 20;
1179
1826
  };
1180
1827
  readonly location: {
1181
1828
  readonly type: "union";
1182
- readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
1183
- readonly description: "The location of where the work was performed as a URI or blob.";
1829
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob", "lex:app.certified.location#string"];
1830
+ readonly description: "The location of where the work was performed as a URI, blob, or inline string.";
1184
1831
  };
1185
1832
  readonly name: {
1186
1833
  readonly type: "string";
1187
- readonly description: "Optional name for this location";
1834
+ readonly description: "Human-readable name for this location (e.g. 'Golden Gate Park', 'San Francisco Bay Area')";
1188
1835
  readonly maxLength: 1000;
1189
1836
  readonly maxGraphemes: 100;
1190
1837
  };
1191
1838
  readonly description: {
1192
1839
  readonly type: "string";
1193
- readonly description: "Optional description for this location";
1840
+ readonly description: "Additional context about this location, such as its significance to the work or specific boundaries";
1194
1841
  readonly maxLength: 2000;
1195
1842
  readonly maxGraphemes: 500;
1196
1843
  };
@@ -1202,6 +1849,19 @@ export declare const schemas: ({
1202
1849
  };
1203
1850
  };
1204
1851
  };
1852
+ readonly string: {
1853
+ readonly type: "object";
1854
+ readonly required: ["string"];
1855
+ readonly description: "A location represented as a string, e.g. coordinates or a small GeoJSON string.";
1856
+ readonly properties: {
1857
+ readonly string: {
1858
+ readonly type: "string";
1859
+ readonly description: "The location string value";
1860
+ readonly maxLength: 10000;
1861
+ readonly maxGraphemes: 1000;
1862
+ };
1863
+ };
1864
+ };
1205
1865
  };
1206
1866
  } | {
1207
1867
  readonly lexicon: 1;
@@ -1223,6 +1883,208 @@ export declare const schemas: ({
1223
1883
  };
1224
1884
  };
1225
1885
  };
1886
+ } | {
1887
+ readonly lexicon: 1;
1888
+ readonly id: "org.hyperboards.board";
1889
+ readonly defs: {
1890
+ readonly main: {
1891
+ readonly type: "record";
1892
+ readonly description: "Configuration record for a hyperboard, wrapping an underlying activity or collection with visual presentation settings. Stored in the creator's PDS.";
1893
+ readonly key: "tid";
1894
+ readonly record: {
1895
+ readonly type: "object";
1896
+ readonly required: ["subject", "createdAt"];
1897
+ readonly properties: {
1898
+ readonly subject: {
1899
+ readonly type: "ref";
1900
+ readonly ref: "lex:com.atproto.repo.strongRef";
1901
+ readonly description: "Reference to the org.hypercerts.claim.activity or org.hypercerts.claim.collection this board visualizes.";
1902
+ };
1903
+ readonly config: {
1904
+ readonly type: "ref";
1905
+ readonly ref: "lex:org.hyperboards.board#boardConfig";
1906
+ readonly description: "Board-level visual configuration (background, colors, aspect ratio).";
1907
+ };
1908
+ readonly contributorConfigs: {
1909
+ readonly type: "array";
1910
+ readonly description: "Per-contributor configuration entries for this board.";
1911
+ readonly maxLength: 1000;
1912
+ readonly items: {
1913
+ readonly type: "ref";
1914
+ readonly ref: "lex:org.hyperboards.board#contributorConfig";
1915
+ };
1916
+ };
1917
+ readonly createdAt: {
1918
+ readonly type: "string";
1919
+ readonly format: "datetime";
1920
+ readonly description: "Client-declared timestamp when this record was originally created.";
1921
+ };
1922
+ };
1923
+ };
1924
+ };
1925
+ readonly boardConfig: {
1926
+ readonly type: "object";
1927
+ readonly description: "Visual configuration for a hyperboard's background, colors, and layout.";
1928
+ readonly properties: {
1929
+ readonly backgroundType: {
1930
+ readonly type: "string";
1931
+ readonly description: "Type of background content.";
1932
+ readonly knownValues: ["image", "iframe"];
1933
+ readonly maxLength: 10;
1934
+ };
1935
+ readonly backgroundImage: {
1936
+ readonly type: "union";
1937
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
1938
+ readonly description: "Background image as a URI or image blob.";
1939
+ };
1940
+ readonly backgroundIframeUrl: {
1941
+ readonly type: "string";
1942
+ readonly format: "uri";
1943
+ readonly description: "URI of the background iframe.";
1944
+ readonly maxLength: 2048;
1945
+ };
1946
+ readonly backgroundGrayscale: {
1947
+ readonly type: "boolean";
1948
+ readonly description: "Whether the background is rendered in grayscale. Default: true.";
1949
+ };
1950
+ readonly backgroundOpacity: {
1951
+ readonly type: "integer";
1952
+ readonly description: "Background opacity as a percentage (0–100).";
1953
+ readonly minimum: 0;
1954
+ readonly maximum: 100;
1955
+ };
1956
+ readonly backgroundColor: {
1957
+ readonly type: "string";
1958
+ readonly description: "Background color as a hex string (e.g. '#ffffff').";
1959
+ readonly maxLength: 20;
1960
+ };
1961
+ readonly borderColor: {
1962
+ readonly type: "string";
1963
+ readonly description: "Border color as a hex string (e.g. '#000000').";
1964
+ readonly maxLength: 20;
1965
+ };
1966
+ readonly grayscaleImages: {
1967
+ readonly type: "boolean";
1968
+ readonly description: "Whether contributor images are rendered in grayscale. Default: false.";
1969
+ };
1970
+ readonly imageShape: {
1971
+ readonly type: "string";
1972
+ readonly description: "Shape used to crop contributor images on this board.";
1973
+ readonly knownValues: ["circular", "square"];
1974
+ readonly maxLength: 20;
1975
+ };
1976
+ readonly aspectRatio: {
1977
+ readonly type: "string";
1978
+ readonly description: "Display aspect ratio of the board.";
1979
+ readonly knownValues: ["16:9", "4:3", "1:1"];
1980
+ readonly maxLength: 10;
1981
+ };
1982
+ };
1983
+ };
1984
+ readonly contributorConfig: {
1985
+ readonly type: "object";
1986
+ readonly 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.";
1987
+ readonly required: ["contributor"];
1988
+ readonly properties: {
1989
+ readonly contributor: {
1990
+ readonly type: "union";
1991
+ readonly refs: ["lex:com.atproto.repo.strongRef", "lex:org.hypercerts.claim.activity#contributorIdentity"];
1992
+ readonly 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.";
1993
+ };
1994
+ readonly override: {
1995
+ readonly type: "boolean";
1996
+ readonly 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.";
1997
+ };
1998
+ readonly displayName: {
1999
+ readonly type: "string";
2000
+ readonly description: "Display name for this contributor on this board.";
2001
+ readonly maxLength: 640;
2002
+ readonly maxGraphemes: 64;
2003
+ };
2004
+ readonly image: {
2005
+ readonly type: "union";
2006
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
2007
+ readonly description: "Avatar or face image for this contributor on this board, as a URI or image blob.";
2008
+ };
2009
+ readonly video: {
2010
+ readonly type: "union";
2011
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallVideo"];
2012
+ readonly description: "Video for this contributor, as a URI (embed/direct link) or uploaded video blob.";
2013
+ };
2014
+ readonly hoverImage: {
2015
+ readonly type: "union";
2016
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
2017
+ readonly description: "Image overlay shown when hovering over this contributor, as a URI or image blob.";
2018
+ };
2019
+ readonly hoverIframeUrl: {
2020
+ readonly type: "string";
2021
+ readonly format: "uri";
2022
+ readonly description: "Iframe overlay shown when hovering over this contributor.";
2023
+ readonly maxLength: 2048;
2024
+ };
2025
+ readonly url: {
2026
+ readonly type: "string";
2027
+ readonly format: "uri";
2028
+ readonly description: "Click-through link URL for this contributor.";
2029
+ readonly maxLength: 2048;
2030
+ };
2031
+ };
2032
+ };
2033
+ };
2034
+ } | {
2035
+ readonly lexicon: 1;
2036
+ readonly id: "org.hyperboards.displayProfile";
2037
+ readonly defs: {
2038
+ readonly main: {
2039
+ readonly type: "record";
2040
+ readonly 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.";
2041
+ readonly key: "literal:self";
2042
+ readonly record: {
2043
+ readonly type: "object";
2044
+ readonly required: ["createdAt"];
2045
+ readonly properties: {
2046
+ readonly displayName: {
2047
+ readonly type: "string";
2048
+ readonly description: "Display name override for this user on hyperboards.";
2049
+ readonly maxLength: 640;
2050
+ readonly maxGraphemes: 64;
2051
+ };
2052
+ readonly image: {
2053
+ readonly type: "union";
2054
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
2055
+ readonly description: "Avatar or face image override for this user on hyperboards, as a URI or image blob.";
2056
+ };
2057
+ readonly video: {
2058
+ readonly type: "union";
2059
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallVideo"];
2060
+ readonly description: "Default video for this user across boards, as a URI (embed/direct link) or uploaded video blob.";
2061
+ };
2062
+ readonly hoverImage: {
2063
+ readonly type: "union";
2064
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
2065
+ readonly description: "Default hover image for this user across boards, as a URI or image blob.";
2066
+ };
2067
+ readonly hoverIframeUrl: {
2068
+ readonly type: "string";
2069
+ readonly format: "uri";
2070
+ readonly description: "Default hover iframe URL for this user across boards.";
2071
+ readonly maxLength: 2048;
2072
+ };
2073
+ readonly url: {
2074
+ readonly type: "string";
2075
+ readonly format: "uri";
2076
+ readonly description: "Default click-through link URL for this user across boards.";
2077
+ readonly maxLength: 2048;
2078
+ };
2079
+ readonly createdAt: {
2080
+ readonly type: "string";
2081
+ readonly format: "datetime";
2082
+ readonly description: "Client-declared timestamp when this record was originally created.";
2083
+ };
2084
+ };
2085
+ };
2086
+ };
2087
+ };
1226
2088
  } | {
1227
2089
  readonly lexicon: 1;
1228
2090
  readonly id: "org.hypercerts.claim.activity";
@@ -1237,7 +2099,7 @@ export declare const schemas: ({
1237
2099
  readonly properties: {
1238
2100
  readonly title: {
1239
2101
  readonly type: "string";
1240
- readonly description: "Title of the hypercert.";
2102
+ readonly description: "Display title summarizing the impact work (e.g. 'Reforestation in Amazon Basin 2024')";
1241
2103
  readonly maxLength: 256;
1242
2104
  };
1243
2105
  readonly shortDescription: {
@@ -1255,28 +2117,28 @@ export declare const schemas: ({
1255
2117
  };
1256
2118
  };
1257
2119
  readonly description: {
1258
- readonly type: "string";
1259
- readonly description: "Optional longer description of this activity claim, including context or interpretation. Rich text annotations may be provided via `descriptionFacets`.";
1260
- readonly maxLength: 30000;
1261
- readonly maxGraphemes: 3000;
1262
- };
1263
- readonly descriptionFacets: {
1264
- readonly type: "array";
1265
- readonly description: "Rich text annotations for `description` (mentions, URLs, hashtags, etc).";
1266
- readonly items: {
1267
- readonly type: "ref";
1268
- readonly ref: "lex:app.bsky.richtext.facet";
1269
- };
2120
+ readonly type: "ref";
2121
+ readonly ref: "lex:pub.leaflet.pages.linearDocument#main";
2122
+ readonly description: "Rich-text description, represented as a Leaflet linear document.";
1270
2123
  };
1271
2124
  readonly image: {
1272
2125
  readonly type: "union";
1273
2126
  readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
1274
2127
  readonly description: "The hypercert visual representation as a URI or image blob.";
1275
2128
  };
2129
+ readonly contributors: {
2130
+ readonly type: "array";
2131
+ readonly description: "An array of contributor objects, each containing contributor information, weight, and contribution details.";
2132
+ readonly maxLength: 1000;
2133
+ readonly items: {
2134
+ readonly type: "ref";
2135
+ readonly ref: "lex:org.hypercerts.claim.activity#contributor";
2136
+ };
2137
+ };
1276
2138
  readonly workScope: {
1277
2139
  readonly type: "union";
1278
- readonly refs: ["lex:org.hypercerts.defs#workScopeAll", "lex:org.hypercerts.defs#workScopeAny", "lex:org.hypercerts.defs#workScopeNot", "lex:org.hypercerts.defs#workScopeAtom"];
1279
- readonly description: "Work scope logic expression using boolean operators (all/any/not) and atomic scope references.";
2140
+ readonly refs: ["lex:org.hypercerts.workscope.cel", "lex:org.hypercerts.claim.activity#workScopeString"];
2141
+ readonly description: "Work scope definition. A CEL expression for structured, machine-evaluable scopes or a free-form string for simple and legacy scopes.";
1280
2142
  };
1281
2143
  readonly startDate: {
1282
2144
  readonly type: "string";
@@ -1288,12 +2150,13 @@ export declare const schemas: ({
1288
2150
  readonly format: "datetime";
1289
2151
  readonly description: "When the work ended";
1290
2152
  };
1291
- readonly contributors: {
2153
+ readonly locations: {
1292
2154
  readonly type: "array";
1293
- readonly description: "An array of contributor objects, each containing contributor information, weight, and contribution details.";
2155
+ readonly description: "An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.";
2156
+ readonly maxLength: 1000;
1294
2157
  readonly items: {
1295
2158
  readonly type: "ref";
1296
- readonly ref: "lex:org.hypercerts.claim.activity#contributor";
2159
+ readonly ref: "lex:com.atproto.repo.strongRef";
1297
2160
  };
1298
2161
  };
1299
2162
  readonly rights: {
@@ -1301,14 +2164,6 @@ export declare const schemas: ({
1301
2164
  readonly ref: "lex:com.atproto.repo.strongRef";
1302
2165
  readonly description: "A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights.";
1303
2166
  };
1304
- readonly locations: {
1305
- readonly type: "array";
1306
- readonly description: "An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.";
1307
- readonly items: {
1308
- readonly type: "ref";
1309
- readonly ref: "lex:com.atproto.repo.strongRef";
1310
- };
1311
- };
1312
2167
  readonly createdAt: {
1313
2168
  readonly type: "string";
1314
2169
  readonly format: "datetime";
@@ -1324,49 +2179,200 @@ export declare const schemas: ({
1324
2179
  readonly contributorIdentity: {
1325
2180
  readonly type: "union";
1326
2181
  readonly refs: ["lex:org.hypercerts.claim.activity#contributorIdentity", "lex:com.atproto.repo.strongRef"];
1327
- readonly description: "Contributor identity as a string (DID or identifier) via org.hypercerts.claim.activity#contributorIdentity, or a strong reference to a contributor information record.";
2182
+ readonly 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.";
1328
2183
  };
1329
2184
  readonly contributionWeight: {
1330
2185
  readonly type: "string";
1331
2186
  readonly 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.";
2187
+ readonly maxLength: 100;
1332
2188
  };
1333
2189
  readonly contributionDetails: {
1334
2190
  readonly type: "union";
1335
2191
  readonly refs: ["lex:org.hypercerts.claim.activity#contributorRole", "lex:com.atproto.repo.strongRef"];
1336
- readonly description: "Contribution details as a string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record.";
2192
+ readonly 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.";
1337
2193
  };
1338
2194
  };
1339
2195
  };
1340
2196
  readonly contributorIdentity: {
1341
- readonly type: "string";
2197
+ readonly type: "object";
1342
2198
  readonly description: "Contributor information as a string (DID or identifier).";
2199
+ readonly required: ["identity"];
2200
+ readonly properties: {
2201
+ readonly identity: {
2202
+ readonly type: "string";
2203
+ readonly description: "The contributor identity string (DID or identifier).";
2204
+ readonly maxLength: 1000;
2205
+ readonly maxGraphemes: 100;
2206
+ };
2207
+ };
1343
2208
  };
1344
2209
  readonly contributorRole: {
1345
- readonly type: "string";
2210
+ readonly type: "object";
1346
2211
  readonly description: "Contribution details as a string.";
1347
- readonly maxLength: 10000;
1348
- readonly maxGraphemes: 1000;
2212
+ readonly required: ["role"];
2213
+ readonly properties: {
2214
+ readonly role: {
2215
+ readonly type: "string";
2216
+ readonly description: "The contribution role or details.";
2217
+ readonly maxLength: 1000;
2218
+ readonly maxGraphemes: 100;
2219
+ };
2220
+ };
2221
+ };
2222
+ readonly workScopeString: {
2223
+ readonly type: "object";
2224
+ readonly description: "A free-form string describing the work scope for simple or legacy scopes.";
2225
+ readonly required: ["scope"];
2226
+ readonly properties: {
2227
+ readonly scope: {
2228
+ readonly type: "string";
2229
+ readonly description: "The work scope description string.";
2230
+ readonly maxLength: 1000;
2231
+ readonly maxGraphemes: 100;
2232
+ };
2233
+ };
1349
2234
  };
1350
2235
  };
1351
2236
  } | {
1352
2237
  readonly lexicon: 1;
1353
- readonly id: "org.hypercerts.claim.collection";
2238
+ readonly id: "org.hypercerts.claim.contribution";
1354
2239
  readonly defs: {
1355
2240
  readonly main: {
1356
2241
  readonly type: "record";
1357
- readonly description: "A collection/group of items (activities and/or other collections). Collections support recursive nesting. Use app.certified.location as a sidecar (same TID) for location metadata.";
2242
+ readonly description: "Details about a specific contribution including role, description, and timeframe.";
1358
2243
  readonly key: "tid";
1359
2244
  readonly record: {
1360
2245
  readonly type: "object";
1361
- readonly required: ["title", "items", "createdAt"];
2246
+ readonly required: ["createdAt"];
2247
+ readonly properties: {
2248
+ readonly role: {
2249
+ readonly type: "string";
2250
+ readonly description: "Role or title of the contributor.";
2251
+ readonly maxLength: 100;
2252
+ };
2253
+ readonly contributionDescription: {
2254
+ readonly type: "string";
2255
+ readonly description: "Description of what the contribution concretely involved.";
2256
+ readonly maxLength: 10000;
2257
+ readonly maxGraphemes: 1000;
2258
+ };
2259
+ readonly startDate: {
2260
+ readonly type: "string";
2261
+ readonly format: "datetime";
2262
+ readonly description: "When this contribution started. Should fall within the parent hypercert's timeframe.";
2263
+ };
2264
+ readonly endDate: {
2265
+ readonly type: "string";
2266
+ readonly format: "datetime";
2267
+ readonly description: "When this contribution finished. Should fall within the parent hypercert's timeframe.";
2268
+ };
2269
+ readonly createdAt: {
2270
+ readonly type: "string";
2271
+ readonly format: "datetime";
2272
+ readonly description: "Client-declared timestamp when this record was originally created.";
2273
+ };
2274
+ };
2275
+ };
2276
+ };
2277
+ };
2278
+ } | {
2279
+ readonly lexicon: 1;
2280
+ readonly id: "org.hypercerts.claim.contributorInformation";
2281
+ readonly defs: {
2282
+ readonly main: {
2283
+ readonly type: "record";
2284
+ readonly description: "Contributor information including identifier, display name, and image.";
2285
+ readonly key: "tid";
2286
+ readonly record: {
2287
+ readonly type: "object";
2288
+ readonly required: ["createdAt"];
2289
+ readonly properties: {
2290
+ readonly identifier: {
2291
+ readonly type: "string";
2292
+ readonly description: "DID (did:plc:...) or URI to a social profile of the contributor.";
2293
+ readonly maxLength: 2048;
2294
+ };
2295
+ readonly displayName: {
2296
+ readonly type: "string";
2297
+ readonly description: "Human-readable name for the contributor as it should appear in UI.";
2298
+ readonly maxLength: 100;
2299
+ };
2300
+ readonly image: {
2301
+ readonly type: "union";
2302
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
2303
+ readonly description: "The contributor visual representation as a URI or image blob.";
2304
+ };
2305
+ readonly createdAt: {
2306
+ readonly type: "string";
2307
+ readonly format: "datetime";
2308
+ readonly description: "Client-declared timestamp when this record was originally created.";
2309
+ };
2310
+ };
2311
+ };
2312
+ };
2313
+ };
2314
+ } | {
2315
+ readonly lexicon: 1;
2316
+ readonly id: "org.hypercerts.claim.rights";
2317
+ readonly defs: {
2318
+ readonly main: {
2319
+ readonly type: "record";
2320
+ readonly 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.";
2321
+ readonly key: "tid";
2322
+ readonly record: {
2323
+ readonly type: "object";
2324
+ readonly required: ["rightsName", "rightsType", "rightsDescription", "createdAt"];
2325
+ readonly properties: {
2326
+ readonly rightsName: {
2327
+ readonly type: "string";
2328
+ readonly description: "Human-readable name for these rights (e.g. 'All Rights Reserved', 'CC BY-SA 4.0')";
2329
+ readonly maxLength: 100;
2330
+ };
2331
+ readonly rightsType: {
2332
+ readonly type: "string";
2333
+ readonly description: "Short identifier code for this rights type (e.g. 'ARR', 'CC-BY-SA') to facilitate filtering and search";
2334
+ readonly maxLength: 10;
2335
+ };
2336
+ readonly rightsDescription: {
2337
+ readonly type: "string";
2338
+ readonly description: "Detailed explanation of the rights holders' permissions, restrictions, and conditions";
2339
+ readonly maxLength: 10000;
2340
+ readonly maxGraphemes: 1000;
2341
+ };
2342
+ readonly attachment: {
2343
+ readonly type: "union";
2344
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
2345
+ readonly description: "An attachment to define the rights further, e.g. a legal document.";
2346
+ };
2347
+ readonly createdAt: {
2348
+ readonly type: "string";
2349
+ readonly format: "datetime";
2350
+ readonly description: "Client-declared timestamp when this record was originally created";
2351
+ };
2352
+ };
2353
+ };
2354
+ };
2355
+ };
2356
+ } | {
2357
+ readonly lexicon: 1;
2358
+ readonly id: "org.hypercerts.collection";
2359
+ readonly defs: {
2360
+ readonly main: {
2361
+ readonly type: "record";
2362
+ readonly description: "A collection/group of items (activities and/or other collections). Collections support recursive nesting.";
2363
+ readonly key: "tid";
2364
+ readonly record: {
2365
+ readonly type: "object";
2366
+ readonly required: ["title", "createdAt"];
1362
2367
  readonly properties: {
1363
2368
  readonly type: {
1364
2369
  readonly type: "string";
1365
2370
  readonly description: "The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection.";
2371
+ readonly maxLength: 64;
1366
2372
  };
1367
2373
  readonly title: {
1368
2374
  readonly type: "string";
1369
- readonly description: "The title of this collection";
2375
+ readonly description: "Display name for this collection (e.g. 'Q1 2025 Impact Projects')";
1370
2376
  readonly maxLength: 800;
1371
2377
  readonly maxGraphemes: 80;
1372
2378
  };
@@ -1394,11 +2400,17 @@ export declare const schemas: ({
1394
2400
  readonly items: {
1395
2401
  readonly type: "array";
1396
2402
  readonly description: "Array of items in this collection with optional weights.";
2403
+ readonly maxLength: 1000;
1397
2404
  readonly items: {
1398
2405
  readonly type: "ref";
1399
- readonly ref: "lex:org.hypercerts.claim.collection#item";
2406
+ readonly ref: "lex:org.hypercerts.collection#item";
1400
2407
  };
1401
2408
  };
2409
+ readonly location: {
2410
+ readonly type: "ref";
2411
+ readonly ref: "lex:com.atproto.repo.strongRef";
2412
+ readonly description: "A strong reference to the location where this collection's activities were performed. The record referenced must conform with the lexicon app.certified.location.";
2413
+ };
1402
2414
  readonly createdAt: {
1403
2415
  readonly type: "string";
1404
2416
  readonly format: "datetime";
@@ -1414,47 +2426,47 @@ export declare const schemas: ({
1414
2426
  readonly itemIdentifier: {
1415
2427
  readonly type: "ref";
1416
2428
  readonly ref: "lex:com.atproto.repo.strongRef";
1417
- readonly 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).";
2429
+ readonly description: "Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection).";
1418
2430
  };
1419
2431
  readonly itemWeight: {
1420
2432
  readonly type: "string";
1421
2433
  readonly 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.";
2434
+ readonly maxLength: 100;
1422
2435
  };
1423
2436
  };
1424
2437
  };
1425
2438
  };
1426
2439
  } | {
1427
2440
  readonly lexicon: 1;
1428
- readonly id: "org.hypercerts.claim.contributionDetails";
2441
+ readonly id: "org.hypercerts.context.acknowledgement";
1429
2442
  readonly defs: {
1430
2443
  readonly main: {
1431
2444
  readonly type: "record";
1432
- readonly description: "Details about a specific contribution including role, description, and timeframe.";
2445
+ readonly 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.";
1433
2446
  readonly key: "tid";
1434
2447
  readonly record: {
1435
2448
  readonly type: "object";
1436
- readonly required: ["createdAt"];
2449
+ readonly required: ["subject", "acknowledged", "createdAt"];
1437
2450
  readonly properties: {
1438
- readonly role: {
1439
- readonly type: "string";
1440
- readonly description: "Role or title of the contributor.";
1441
- readonly maxLength: 100;
2451
+ readonly subject: {
2452
+ readonly type: "ref";
2453
+ readonly ref: "lex:com.atproto.repo.strongRef";
2454
+ readonly description: "The record being acknowledged (e.g. an activity, a contributor information record, an evaluation).";
1442
2455
  };
1443
- readonly contributionDescription: {
1444
- readonly type: "string";
1445
- readonly description: "What the contribution concretely was.";
1446
- readonly maxLength: 10000;
1447
- readonly maxGraphemes: 1000;
2456
+ readonly context: {
2457
+ readonly type: "union";
2458
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:com.atproto.repo.strongRef"];
2459
+ readonly 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.";
1448
2460
  };
1449
- readonly startDate: {
1450
- readonly type: "string";
1451
- readonly format: "datetime";
1452
- readonly description: "When this contribution started. This should be a subset of the hypercert timeframe.";
2461
+ readonly acknowledged: {
2462
+ readonly type: "boolean";
2463
+ readonly description: "Whether the relationship is acknowledged (true) or rejected (false).";
1453
2464
  };
1454
- readonly endDate: {
2465
+ readonly comment: {
1455
2466
  readonly type: "string";
1456
- readonly format: "datetime";
1457
- readonly description: "When this contribution finished. This should be a subset of the hypercert timeframe.";
2467
+ readonly description: "Optional plain-text comment providing additional context or reasoning.";
2468
+ readonly maxLength: 10000;
2469
+ readonly maxGraphemes: 1000;
1458
2470
  };
1459
2471
  readonly createdAt: {
1460
2472
  readonly type: "string";
@@ -1467,29 +2479,67 @@ export declare const schemas: ({
1467
2479
  };
1468
2480
  } | {
1469
2481
  readonly lexicon: 1;
1470
- readonly id: "org.hypercerts.claim.contributorInformation";
2482
+ readonly id: "org.hypercerts.context.attachment";
1471
2483
  readonly defs: {
1472
2484
  readonly main: {
1473
2485
  readonly type: "record";
1474
- readonly description: "Contributor information including identifier, display name, and image.";
2486
+ readonly description: "An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation).";
1475
2487
  readonly key: "tid";
1476
2488
  readonly record: {
1477
2489
  readonly type: "object";
1478
- readonly required: ["createdAt"];
2490
+ readonly required: ["title", "createdAt"];
1479
2491
  readonly properties: {
1480
- readonly identifier: {
2492
+ readonly subjects: {
2493
+ readonly type: "array";
2494
+ readonly 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.";
2495
+ readonly items: {
2496
+ readonly type: "ref";
2497
+ readonly ref: "lex:com.atproto.repo.strongRef";
2498
+ };
2499
+ readonly maxLength: 100;
2500
+ };
2501
+ readonly contentType: {
2502
+ readonly type: "string";
2503
+ readonly maxLength: 64;
2504
+ readonly description: "The type of attachment, e.g. report, audit, evidence, testimonial, methodology, etc.";
2505
+ };
2506
+ readonly content: {
2507
+ readonly type: "array";
2508
+ readonly description: "The files, documents, or external references included in this attachment record.";
2509
+ readonly items: {
2510
+ readonly type: "union";
2511
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
2512
+ };
2513
+ readonly maxLength: 100;
2514
+ };
2515
+ readonly title: {
1481
2516
  readonly type: "string";
1482
- readonly description: "DID or a URI to a social profile of the contributor.";
2517
+ readonly maxLength: 256;
2518
+ readonly description: "Display title for this attachment (e.g. 'Impact Assessment Report', 'Audit Findings')";
2519
+ };
2520
+ readonly shortDescription: {
2521
+ readonly type: "string";
2522
+ readonly description: "Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.";
2523
+ readonly maxLength: 3000;
2524
+ readonly maxGraphemes: 300;
2525
+ };
2526
+ readonly shortDescriptionFacets: {
2527
+ readonly type: "array";
2528
+ readonly description: "Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).";
2529
+ readonly items: {
2530
+ readonly type: "ref";
2531
+ readonly ref: "lex:app.bsky.richtext.facet";
2532
+ };
1483
2533
  };
1484
- readonly displayName: {
1485
- readonly type: "string";
1486
- readonly description: "Display name of the contributor.";
1487
- readonly maxLength: 100;
2534
+ readonly description: {
2535
+ readonly type: "ref";
2536
+ readonly ref: "lex:pub.leaflet.pages.linearDocument#main";
2537
+ readonly description: "Rich-text description, represented as a Leaflet linear document.";
1488
2538
  };
1489
- readonly image: {
1490
- readonly type: "union";
1491
- readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
1492
- readonly description: "The contributor visual representation as a URI or image blob.";
2539
+ readonly location: {
2540
+ readonly type: "ref";
2541
+ readonly ref: "lex:com.atproto.repo.strongRef";
2542
+ readonly 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.";
1493
2543
  };
1494
2544
  readonly createdAt: {
1495
2545
  readonly type: "string";
@@ -1502,27 +2552,8 @@ export declare const schemas: ({
1502
2552
  };
1503
2553
  } | {
1504
2554
  readonly lexicon: 1;
1505
- readonly id: "org.hypercerts.claim.evaluation";
2555
+ readonly id: "org.hypercerts.context.evaluation";
1506
2556
  readonly defs: {
1507
- readonly score: {
1508
- readonly type: "object";
1509
- readonly description: "Overall score for an evaluation on a numeric scale.";
1510
- readonly required: ["min", "max", "value"];
1511
- readonly properties: {
1512
- readonly min: {
1513
- readonly type: "integer";
1514
- readonly description: "Minimum value of the scale, e.g. 0 or 1.";
1515
- };
1516
- readonly max: {
1517
- readonly type: "integer";
1518
- readonly description: "Maximum value of the scale, e.g. 5 or 10.";
1519
- };
1520
- readonly value: {
1521
- readonly type: "integer";
1522
- readonly description: "Score within the inclusive range [min, max].";
1523
- };
1524
- };
1525
- };
1526
2557
  readonly main: {
1527
2558
  readonly type: "record";
1528
2559
  readonly description: "An evaluation of a hypercert record (e.g. an activity and its impact).";
@@ -1534,7 +2565,7 @@ export declare const schemas: ({
1534
2565
  readonly subject: {
1535
2566
  readonly type: "ref";
1536
2567
  readonly ref: "lex:com.atproto.repo.strongRef";
1537
- readonly description: "A strong reference to what is being evaluated. (e.g activity, measurement, contribution, etc.)";
2568
+ readonly description: "A strong reference to what is being evaluated (e.g. activity, measurement, contribution, etc.)";
1538
2569
  };
1539
2570
  readonly evaluators: {
1540
2571
  readonly type: "array";
@@ -1556,7 +2587,7 @@ export declare const schemas: ({
1556
2587
  };
1557
2588
  readonly measurements: {
1558
2589
  readonly type: "array";
1559
- readonly description: "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.claim.measurement";
2590
+ readonly description: "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.context.measurement";
1560
2591
  readonly items: {
1561
2592
  readonly type: "ref";
1562
2593
  readonly ref: "lex:com.atproto.repo.strongRef";
@@ -1571,7 +2602,7 @@ export declare const schemas: ({
1571
2602
  };
1572
2603
  readonly score: {
1573
2604
  readonly type: "ref";
1574
- readonly ref: "lex:org.hypercerts.claim.evaluation#score";
2605
+ readonly ref: "lex:org.hypercerts.context.evaluation#score";
1575
2606
  readonly description: "Optional overall score for this evaluation on a numeric scale.";
1576
2607
  };
1577
2608
  readonly location: {
@@ -1587,96 +2618,81 @@ export declare const schemas: ({
1587
2618
  };
1588
2619
  };
1589
2620
  };
2621
+ readonly score: {
2622
+ readonly type: "object";
2623
+ readonly description: "Overall score for an evaluation on a numeric scale.";
2624
+ readonly required: ["min", "max", "value"];
2625
+ readonly properties: {
2626
+ readonly min: {
2627
+ readonly type: "integer";
2628
+ readonly description: "Minimum value of the scale, e.g. 0 or 1.";
2629
+ };
2630
+ readonly max: {
2631
+ readonly type: "integer";
2632
+ readonly description: "Maximum value of the scale, e.g. 5 or 10.";
2633
+ };
2634
+ readonly value: {
2635
+ readonly type: "integer";
2636
+ readonly description: "Score within the inclusive range [min, max].";
2637
+ };
2638
+ };
2639
+ };
1590
2640
  };
1591
2641
  } | {
1592
2642
  readonly lexicon: 1;
1593
- readonly id: "org.hypercerts.claim.evidence";
2643
+ readonly id: "org.hypercerts.context.measurement";
1594
2644
  readonly defs: {
1595
2645
  readonly main: {
1596
2646
  readonly type: "record";
1597
- readonly description: "A piece of evidence related to a hypercert record (e.g. an activity, project, claim, or evaluation). Evidence may support, clarify, or challenge the referenced subject.";
2647
+ readonly description: "Measurement data related to one or more records (e.g. activities, projects, etc.).";
1598
2648
  readonly key: "tid";
1599
2649
  readonly record: {
1600
2650
  readonly type: "object";
1601
- readonly required: ["content", "title", "createdAt"];
2651
+ readonly required: ["metric", "unit", "value", "createdAt"];
1602
2652
  readonly properties: {
1603
- readonly subject: {
1604
- readonly type: "ref";
1605
- readonly ref: "lex:com.atproto.repo.strongRef";
1606
- readonly description: "A strong reference to the record this evidence relates to (e.g. an activity, project, claim, or evaluation).";
1607
- };
1608
- readonly content: {
1609
- readonly type: "union";
1610
- readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
1611
- readonly description: "A piece of evidence (URI or blob) related to the subject record; it may support, clarify, or challenge a hypercert claim.";
2653
+ readonly subjects: {
2654
+ readonly type: "array";
2655
+ readonly description: "Strong references to the records this measurement refers to (e.g. activities, projects, or claims).";
2656
+ readonly items: {
2657
+ readonly type: "ref";
2658
+ readonly ref: "lex:com.atproto.repo.strongRef";
2659
+ };
2660
+ readonly maxLength: 100;
1612
2661
  };
1613
- readonly title: {
2662
+ readonly metric: {
1614
2663
  readonly type: "string";
1615
- readonly maxLength: 256;
1616
- readonly description: "Title to describe the nature of the evidence.";
2664
+ readonly description: "The metric being measured, e.g. forest area restored, number of users, etc.";
2665
+ readonly maxLength: 500;
1617
2666
  };
1618
- readonly shortDescription: {
2667
+ readonly unit: {
1619
2668
  readonly type: "string";
1620
- readonly maxLength: 3000;
1621
- readonly maxGraphemes: 300;
1622
- readonly description: "Short description explaining what this evidence shows.";
2669
+ readonly description: "The unit of the measured value (e.g. kg CO₂e, hectares, %, index score).";
2670
+ readonly maxLength: 50;
1623
2671
  };
1624
- readonly description: {
2672
+ readonly value: {
1625
2673
  readonly type: "string";
1626
- readonly description: "Longer description describing the evidence in more detail.";
1627
- readonly maxLength: 30000;
1628
- readonly maxGraphemes: 3000;
2674
+ readonly description: "The measured value as a numeric string (e.g. '1234.56')";
2675
+ readonly maxLength: 500;
1629
2676
  };
1630
- readonly relationType: {
2677
+ readonly startDate: {
1631
2678
  readonly type: "string";
1632
- readonly description: "How this evidence relates to the subject.";
1633
- readonly knownValues: ["supports", "challenges", "clarifies"];
2679
+ readonly format: "datetime";
2680
+ readonly description: "The start date and time when the measurement began.";
1634
2681
  };
1635
- readonly createdAt: {
2682
+ readonly endDate: {
1636
2683
  readonly type: "string";
1637
2684
  readonly format: "datetime";
1638
- readonly description: "Client-declared timestamp when this record was originally created";
1639
- };
1640
- };
1641
- };
1642
- };
1643
- };
1644
- } | {
1645
- readonly lexicon: 1;
1646
- readonly id: "org.hypercerts.claim.measurement";
1647
- readonly defs: {
1648
- readonly main: {
1649
- readonly type: "record";
1650
- readonly description: "Measurement data related to a hypercert record (e.g. an activity and its impact).";
1651
- readonly key: "tid";
1652
- readonly record: {
1653
- readonly type: "object";
1654
- readonly required: ["measurers", "metric", "value", "createdAt"];
1655
- readonly properties: {
1656
- readonly subject: {
1657
- readonly type: "ref";
1658
- readonly ref: "lex:com.atproto.repo.strongRef";
1659
- readonly description: "A strong reference to the record this measurement refers to (e.g. an activity, project, or claim).";
2685
+ readonly description: "The end date and time when the measurement ended. For one-time measurements, this should equal the start date.";
1660
2686
  };
1661
- readonly measurers: {
2687
+ readonly locations: {
1662
2688
  readonly type: "array";
1663
- readonly description: "DIDs of the entity (or entities) that measured this data";
2689
+ readonly description: "Optional geographic references related to where the measurement was taken. Each referenced record must conform with the app.certified.location lexicon.";
1664
2690
  readonly items: {
1665
2691
  readonly type: "ref";
1666
- readonly ref: "lex:app.certified.defs#did";
2692
+ readonly ref: "lex:com.atproto.repo.strongRef";
1667
2693
  };
1668
2694
  readonly maxLength: 100;
1669
2695
  };
1670
- readonly metric: {
1671
- readonly type: "string";
1672
- readonly description: "The metric being measured";
1673
- readonly maxLength: 500;
1674
- };
1675
- readonly value: {
1676
- readonly type: "string";
1677
- readonly description: "The measured value";
1678
- readonly maxLength: 500;
1679
- };
1680
2696
  readonly methodType: {
1681
2697
  readonly type: "string";
1682
2698
  readonly description: "Short identifier for the measurement methodology";
@@ -1696,50 +2712,28 @@ export declare const schemas: ({
1696
2712
  };
1697
2713
  readonly maxLength: 50;
1698
2714
  };
1699
- readonly location: {
1700
- readonly type: "ref";
1701
- readonly ref: "lex:com.atproto.repo.strongRef";
1702
- readonly description: "A strong reference to the location where the measurement was taken. The record referenced must conform with the lexicon app.certified.location";
1703
- };
1704
- readonly createdAt: {
1705
- readonly type: "string";
1706
- readonly format: "datetime";
1707
- readonly description: "Client-declared timestamp when this record was originally created";
1708
- };
1709
- };
1710
- };
1711
- };
1712
- };
1713
- } | {
1714
- readonly lexicon: 1;
1715
- readonly id: "org.hypercerts.claim.rights";
1716
- readonly defs: {
1717
- readonly main: {
1718
- readonly type: "record";
1719
- readonly 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.";
1720
- readonly key: "tid";
1721
- readonly record: {
1722
- readonly type: "object";
1723
- readonly required: ["rightsName", "rightsType", "rightsDescription", "createdAt"];
1724
- readonly properties: {
1725
- readonly rightsName: {
1726
- readonly type: "string";
1727
- readonly description: "Full name of the rights";
2715
+ readonly measurers: {
2716
+ readonly type: "array";
2717
+ readonly description: "DIDs of the entities that performed this measurement";
2718
+ readonly items: {
2719
+ readonly type: "ref";
2720
+ readonly ref: "lex:app.certified.defs#did";
2721
+ };
1728
2722
  readonly maxLength: 100;
1729
2723
  };
1730
- readonly rightsType: {
1731
- readonly type: "string";
1732
- readonly description: "Short rights identifier for easier search";
1733
- readonly maxLength: 10;
1734
- };
1735
- readonly rightsDescription: {
2724
+ readonly comment: {
1736
2725
  readonly type: "string";
1737
- readonly description: "Description of the rights of this hypercert";
2726
+ readonly description: "Short comment of this measurement, suitable for previews and list views. Rich text annotations may be provided via `commentFacets`.";
2727
+ readonly maxLength: 3000;
2728
+ readonly maxGraphemes: 300;
1738
2729
  };
1739
- readonly attachment: {
1740
- readonly type: "union";
1741
- readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
1742
- readonly description: "An attachment to define the rights further, e.g. a legal document.";
2730
+ readonly commentFacets: {
2731
+ readonly type: "array";
2732
+ readonly description: "Rich text annotations for `comment` (mentions, URLs, hashtags, etc).";
2733
+ readonly items: {
2734
+ readonly type: "ref";
2735
+ readonly ref: "lex:app.bsky.richtext.facet";
2736
+ };
1743
2737
  };
1744
2738
  readonly createdAt: {
1745
2739
  readonly type: "string";
@@ -1753,6 +2747,7 @@ export declare const schemas: ({
1753
2747
  } | {
1754
2748
  readonly lexicon: 1;
1755
2749
  readonly id: "org.hypercerts.defs";
2750
+ readonly description: "Common type definitions used across all Hypercerts protocols.";
1756
2751
  readonly defs: {
1757
2752
  readonly uri: {
1758
2753
  readonly type: "object";
@@ -1762,7 +2757,6 @@ export declare const schemas: ({
1762
2757
  readonly uri: {
1763
2758
  readonly type: "string";
1764
2759
  readonly format: "uri";
1765
- readonly maxGraphemes: 1024;
1766
2760
  readonly description: "URI to external data";
1767
2761
  };
1768
2762
  };
@@ -1806,6 +2800,19 @@ export declare const schemas: ({
1806
2800
  };
1807
2801
  };
1808
2802
  };
2803
+ readonly smallVideo: {
2804
+ readonly type: "object";
2805
+ readonly required: ["video"];
2806
+ readonly description: "Object containing a small video";
2807
+ readonly properties: {
2808
+ readonly video: {
2809
+ readonly type: "blob";
2810
+ readonly accept: ["video/mp4", "video/webm"];
2811
+ readonly maxSize: 20971520;
2812
+ readonly description: "Video (up to 20MB)";
2813
+ };
2814
+ };
2815
+ };
1809
2816
  readonly largeImage: {
1810
2817
  readonly type: "object";
1811
2818
  readonly required: ["image"];
@@ -1819,79 +2826,6 @@ export declare const schemas: ({
1819
2826
  };
1820
2827
  };
1821
2828
  };
1822
- readonly workScopeAll: {
1823
- readonly type: "object";
1824
- readonly required: ["op", "args"];
1825
- readonly description: "Logical AND operation: all arguments must be satisfied.";
1826
- readonly properties: {
1827
- readonly op: {
1828
- readonly type: "string";
1829
- readonly const: "all";
1830
- readonly description: "Operator type: 'all' (logical AND)";
1831
- };
1832
- readonly args: {
1833
- readonly type: "array";
1834
- readonly items: {
1835
- readonly type: "union";
1836
- readonly refs: ["lex:org.hypercerts.defs#workScopeAll", "lex:org.hypercerts.defs#workScopeAny", "lex:org.hypercerts.defs#workScopeNot", "lex:org.hypercerts.defs#workScopeAtom"];
1837
- };
1838
- readonly minLength: 1;
1839
- readonly maxLength: 100;
1840
- readonly description: "Array of work scope expressions that must all be satisfied";
1841
- };
1842
- };
1843
- };
1844
- readonly workScopeAny: {
1845
- readonly type: "object";
1846
- readonly required: ["op", "args"];
1847
- readonly description: "Logical OR operation: at least one argument must be satisfied.";
1848
- readonly properties: {
1849
- readonly op: {
1850
- readonly type: "string";
1851
- readonly const: "any";
1852
- readonly description: "Operator type: 'any' (logical OR)";
1853
- };
1854
- readonly args: {
1855
- readonly type: "array";
1856
- readonly items: {
1857
- readonly type: "union";
1858
- readonly refs: ["lex:org.hypercerts.defs#workScopeAll", "lex:org.hypercerts.defs#workScopeAny", "lex:org.hypercerts.defs#workScopeNot", "lex:org.hypercerts.defs#workScopeAtom"];
1859
- };
1860
- readonly minLength: 1;
1861
- readonly maxLength: 100;
1862
- readonly description: "Array of work scope expressions, at least one of which must be satisfied";
1863
- };
1864
- };
1865
- };
1866
- readonly workScopeNot: {
1867
- readonly type: "object";
1868
- readonly required: ["op", "arg"];
1869
- readonly description: "Logical NOT operation: the argument must not be satisfied.";
1870
- readonly properties: {
1871
- readonly op: {
1872
- readonly type: "string";
1873
- readonly const: "not";
1874
- readonly description: "Operator type: 'not' (logical NOT)";
1875
- };
1876
- readonly arg: {
1877
- readonly type: "union";
1878
- readonly refs: ["lex:org.hypercerts.defs#workScopeAll", "lex:org.hypercerts.defs#workScopeAny", "lex:org.hypercerts.defs#workScopeNot", "lex:org.hypercerts.defs#workScopeAtom"];
1879
- readonly description: "Work scope expression that must not be satisfied";
1880
- };
1881
- };
1882
- };
1883
- readonly workScopeAtom: {
1884
- readonly type: "object";
1885
- readonly required: ["atom"];
1886
- readonly description: "Atomic scope reference: a strong reference to a scope record.";
1887
- readonly properties: {
1888
- readonly atom: {
1889
- readonly type: "ref";
1890
- readonly ref: "lex:com.atproto.repo.strongRef";
1891
- readonly description: "Strong reference to an org.hypercerts.helper.workScopeTag record";
1892
- };
1893
- };
1894
- };
1895
2829
  };
1896
2830
  } | {
1897
2831
  readonly lexicon: 1;
@@ -1913,26 +2847,32 @@ export declare const schemas: ({
1913
2847
  readonly to: {
1914
2848
  readonly type: "string";
1915
2849
  readonly description: "The recipient of the funds. Can be identified by DID or a clear-text name.";
2850
+ readonly maxLength: 2048;
1916
2851
  };
1917
2852
  readonly amount: {
1918
2853
  readonly type: "string";
1919
- readonly description: "Amount of funding received.";
2854
+ readonly description: "Amount of funding received as a numeric string (e.g. '1000.50').";
2855
+ readonly maxLength: 50;
1920
2856
  };
1921
2857
  readonly currency: {
1922
2858
  readonly type: "string";
1923
2859
  readonly description: "Currency of the payment (e.g. EUR, USD, ETH).";
2860
+ readonly maxLength: 10;
1924
2861
  };
1925
2862
  readonly paymentRail: {
1926
2863
  readonly type: "string";
1927
2864
  readonly description: "How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor).";
2865
+ readonly maxLength: 50;
1928
2866
  };
1929
2867
  readonly paymentNetwork: {
1930
2868
  readonly type: "string";
1931
2869
  readonly description: "Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal).";
2870
+ readonly maxLength: 50;
1932
2871
  };
1933
2872
  readonly transactionId: {
1934
2873
  readonly type: "string";
1935
2874
  readonly 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.";
2875
+ readonly maxLength: 256;
1936
2876
  };
1937
2877
  readonly for: {
1938
2878
  readonly type: "string";
@@ -1960,34 +2900,68 @@ export declare const schemas: ({
1960
2900
  };
1961
2901
  } | {
1962
2902
  readonly lexicon: 1;
1963
- readonly id: "org.hypercerts.helper.workScopeTag";
2903
+ readonly id: "org.hypercerts.workscope.cel";
2904
+ readonly defs: {
2905
+ readonly main: {
2906
+ readonly type: "object";
2907
+ readonly 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.";
2908
+ readonly required: ["expression", "usedTags", "version", "createdAt"];
2909
+ readonly properties: {
2910
+ readonly expression: {
2911
+ readonly type: "string";
2912
+ readonly maxLength: 10000;
2913
+ readonly maxGraphemes: 5000;
2914
+ readonly description: "A CEL expression encoding the work scope conditions. Example: scope.hasAll(['mangrove_restoration', 'environmental_education']) && location.country == 'KE'";
2915
+ };
2916
+ readonly usedTags: {
2917
+ readonly type: "array";
2918
+ readonly items: {
2919
+ readonly type: "ref";
2920
+ readonly ref: "lex:com.atproto.repo.strongRef";
2921
+ };
2922
+ readonly maxLength: 100;
2923
+ readonly 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.";
2924
+ };
2925
+ readonly version: {
2926
+ readonly type: "string";
2927
+ readonly maxLength: 16;
2928
+ readonly knownValues: ["v1"];
2929
+ readonly description: "CEL context schema version.";
2930
+ };
2931
+ readonly createdAt: {
2932
+ readonly type: "string";
2933
+ readonly format: "datetime";
2934
+ readonly description: "Client-declared timestamp when this expression was originally created.";
2935
+ };
2936
+ };
2937
+ };
2938
+ };
2939
+ } | {
2940
+ readonly lexicon: 1;
2941
+ readonly id: "org.hypercerts.workscope.tag";
1964
2942
  readonly defs: {
1965
2943
  readonly main: {
1966
2944
  readonly type: "record";
1967
- readonly description: "A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels.";
2945
+ readonly 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.";
1968
2946
  readonly key: "tid";
1969
2947
  readonly record: {
1970
2948
  readonly type: "object";
1971
- readonly required: ["createdAt", "key", "label"];
2949
+ readonly required: ["key", "name", "createdAt"];
1972
2950
  readonly properties: {
1973
- readonly createdAt: {
1974
- readonly type: "string";
1975
- readonly format: "datetime";
1976
- readonly description: "Client-declared timestamp when this record was originally created";
1977
- };
1978
2951
  readonly key: {
1979
2952
  readonly type: "string";
1980
- readonly description: "Lowercase, hyphenated machine-readable key for this scope (e.g., 'ipfs', 'go-lang', 'filecoin').";
2953
+ readonly description: "Lowercase, underscore-separated machine-readable key for this scope (e.g., 'mangrove_restoration', 'biodiversity_monitoring'). Used as the canonical identifier in CEL expressions.";
1981
2954
  readonly maxLength: 120;
1982
2955
  };
1983
- readonly label: {
2956
+ readonly name: {
1984
2957
  readonly type: "string";
1985
- readonly description: "Human-readable label for this scope.";
2958
+ readonly description: "Human-readable name for this scope.";
1986
2959
  readonly maxLength: 200;
1987
2960
  };
1988
- readonly kind: {
2961
+ readonly category: {
1989
2962
  readonly type: "string";
1990
- readonly description: "Category type of this scope. Recommended values: topic, language, domain, method, tag.";
2963
+ readonly description: "Category type of this scope.";
2964
+ readonly knownValues: ["topic", "language", "domain", "method"];
1991
2965
  readonly maxLength: 50;
1992
2966
  };
1993
2967
  readonly description: {
@@ -1999,7 +2973,18 @@ export declare const schemas: ({
1999
2973
  readonly parent: {
2000
2974
  readonly type: "ref";
2001
2975
  readonly ref: "lex:com.atproto.repo.strongRef";
2002
- readonly description: "Optional strong reference to a parent scope record for taxonomy/hierarchy support.";
2976
+ readonly 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.";
2977
+ };
2978
+ readonly status: {
2979
+ readonly type: "string";
2980
+ readonly description: "Lifecycle status of this tag. Communities propose tags, curators accept them, deprecated tags point to replacements via supersededBy.";
2981
+ readonly knownValues: ["proposed", "accepted", "deprecated"];
2982
+ readonly maxLength: 20;
2983
+ };
2984
+ readonly supersededBy: {
2985
+ readonly type: "ref";
2986
+ readonly ref: "lex:com.atproto.repo.strongRef";
2987
+ readonly 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.";
2003
2988
  };
2004
2989
  readonly aliases: {
2005
2990
  readonly type: "array";
@@ -2008,12 +2993,27 @@ export declare const schemas: ({
2008
2993
  readonly maxLength: 200;
2009
2994
  };
2010
2995
  readonly maxLength: 50;
2011
- readonly description: "Optional array of alternative names or identifiers for this scope.";
2996
+ readonly 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.";
2997
+ };
2998
+ readonly sameAs: {
2999
+ readonly type: "array";
3000
+ readonly items: {
3001
+ readonly type: "string";
3002
+ readonly format: "uri";
3003
+ readonly maxLength: 2048;
3004
+ };
3005
+ readonly maxLength: 20;
3006
+ readonly 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.";
2012
3007
  };
2013
- readonly externalReference: {
3008
+ readonly referenceDocument: {
2014
3009
  readonly type: "union";
2015
3010
  readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
2016
- readonly description: "Optional external reference for this scope as a URI or blob.";
3011
+ readonly description: "Link to a governance or reference document where this work scope tag is defined and further explained.";
3012
+ };
3013
+ readonly createdAt: {
3014
+ readonly type: "string";
3015
+ readonly format: "datetime";
3016
+ readonly description: "Client-declared timestamp when this record was originally created.";
2017
3017
  };
2018
3018
  };
2019
3019
  };
@@ -2028,22 +3028,28 @@ export declare function validate<T extends {
2028
3028
  $type?: string;
2029
3029
  }>(v: unknown, id: string, hash: string, requiredType?: false): ValidationResult<T>;
2030
3030
  export declare const ids: {
3031
+ readonly AppCertifiedActorOrganization: "app.certified.actor.organization";
3032
+ readonly AppCertifiedActorProfile: "app.certified.actor.profile";
2031
3033
  readonly AppCertifiedBadgeAward: "app.certified.badge.award";
2032
3034
  readonly AppCertifiedBadgeDefinition: "app.certified.badge.definition";
2033
3035
  readonly AppCertifiedBadgeResponse: "app.certified.badge.response";
2034
3036
  readonly AppCertifiedDefs: "app.certified.defs";
2035
3037
  readonly AppCertifiedLocation: "app.certified.location";
2036
3038
  readonly ComAtprotoRepoStrongRef: "com.atproto.repo.strongRef";
3039
+ readonly OrgHyperboardsBoard: "org.hyperboards.board";
3040
+ readonly OrgHyperboardsDisplayProfile: "org.hyperboards.displayProfile";
2037
3041
  readonly OrgHypercertsClaimActivity: "org.hypercerts.claim.activity";
2038
- readonly OrgHypercertsClaimCollection: "org.hypercerts.claim.collection";
2039
- readonly OrgHypercertsClaimContributionDetails: "org.hypercerts.claim.contributionDetails";
3042
+ readonly OrgHypercertsClaimContribution: "org.hypercerts.claim.contribution";
2040
3043
  readonly OrgHypercertsClaimContributorInformation: "org.hypercerts.claim.contributorInformation";
2041
- readonly OrgHypercertsClaimEvaluation: "org.hypercerts.claim.evaluation";
2042
- readonly OrgHypercertsClaimEvidence: "org.hypercerts.claim.evidence";
2043
- readonly OrgHypercertsClaimMeasurement: "org.hypercerts.claim.measurement";
2044
3044
  readonly OrgHypercertsClaimRights: "org.hypercerts.claim.rights";
3045
+ readonly OrgHypercertsCollection: "org.hypercerts.collection";
3046
+ readonly OrgHypercertsContextAcknowledgement: "org.hypercerts.context.acknowledgement";
3047
+ readonly OrgHypercertsContextAttachment: "org.hypercerts.context.attachment";
3048
+ readonly OrgHypercertsContextEvaluation: "org.hypercerts.context.evaluation";
3049
+ readonly OrgHypercertsContextMeasurement: "org.hypercerts.context.measurement";
2045
3050
  readonly OrgHypercertsDefs: "org.hypercerts.defs";
2046
3051
  readonly OrgHypercertsFundingReceipt: "org.hypercerts.funding.receipt";
2047
- readonly OrgHypercertsHelperWorkScopeTag: "org.hypercerts.helper.workScopeTag";
3052
+ readonly OrgHypercertsWorkscopeCel: "org.hypercerts.workscope.cel";
3053
+ readonly OrgHypercertsWorkscopeTag: "org.hypercerts.workscope.tag";
2048
3054
  };
2049
3055
  //# sourceMappingURL=lexicons.d.ts.map