@hypercerts-org/lexicon 0.9.0-beta.0 → 0.10.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +346 -164
  2. package/dist/exports.d.ts +1018 -0
  3. package/dist/exports.d.ts.map +1 -0
  4. package/dist/generated/exports.d.ts +1018 -0
  5. package/dist/generated/exports.d.ts.map +1 -0
  6. package/dist/generated/lexicons.d.ts +1805 -0
  7. package/dist/generated/lexicons.d.ts.map +1 -0
  8. package/dist/generated/types/app/certified/badge/award.d.ts +24 -0
  9. package/dist/generated/types/app/certified/badge/award.d.ts.map +1 -0
  10. package/dist/generated/types/app/certified/badge/definition.d.ts +25 -0
  11. package/dist/generated/types/app/certified/badge/definition.d.ts.map +1 -0
  12. package/dist/generated/types/app/certified/badge/response.d.ts +20 -0
  13. package/dist/generated/types/app/certified/badge/response.d.ts.map +1 -0
  14. package/dist/generated/types/app/certified/defs.d.ts +3 -0
  15. package/dist/generated/types/app/certified/defs.d.ts.map +1 -0
  16. package/dist/generated/types/app/certified/location.d.ts +29 -0
  17. package/dist/generated/types/app/certified/location.d.ts.map +1 -0
  18. package/dist/generated/types/com/atproto/repo/strongRef.d.ts +12 -0
  19. package/dist/generated/types/com/atproto/repo/strongRef.d.ts.map +1 -0
  20. package/dist/generated/types/org/hypercerts/claim/activity.d.ts +57 -0
  21. package/dist/generated/types/org/hypercerts/claim/activity.d.ts.map +1 -0
  22. package/dist/generated/types/org/hypercerts/claim/collection.d.ts +25 -0
  23. package/dist/generated/types/org/hypercerts/claim/collection.d.ts.map +1 -0
  24. package/dist/generated/types/org/hypercerts/claim/contribution.d.ts +24 -0
  25. package/dist/generated/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
  26. package/dist/generated/types/org/hypercerts/claim/evaluation.d.ts +43 -0
  27. package/dist/generated/types/org/hypercerts/claim/evaluation.d.ts.map +1 -0
  28. package/dist/generated/types/org/hypercerts/claim/evidence.d.ts +29 -0
  29. package/dist/generated/types/org/hypercerts/claim/evidence.d.ts.map +1 -0
  30. package/dist/generated/types/org/hypercerts/claim/measurement.d.ts +30 -0
  31. package/dist/generated/types/org/hypercerts/claim/measurement.d.ts.map +1 -0
  32. package/dist/generated/types/org/hypercerts/claim/project.d.ts +29 -0
  33. package/dist/generated/types/org/hypercerts/claim/project.d.ts.map +1 -0
  34. package/dist/generated/types/org/hypercerts/claim/rights.d.ts +25 -0
  35. package/dist/generated/types/org/hypercerts/claim/rights.d.ts.map +1 -0
  36. package/dist/generated/types/org/hypercerts/defs.d.ts +45 -0
  37. package/dist/generated/types/org/hypercerts/defs.d.ts.map +1 -0
  38. package/dist/generated/types/org/hypercerts/funding/receipt.d.ts +34 -0
  39. package/dist/generated/types/org/hypercerts/funding/receipt.d.ts.map +1 -0
  40. package/dist/generated/types/pub/leaflet/pages/linearDocument.d.ts +2 -0
  41. package/dist/generated/types/pub/leaflet/pages/linearDocument.d.ts.map +1 -0
  42. package/dist/generated/util.d.ts +37 -0
  43. package/dist/generated/util.d.ts.map +1 -0
  44. package/dist/index.cjs +2119 -955
  45. package/dist/index.cjs.map +1 -1
  46. package/dist/index.mjs +2054 -935
  47. package/dist/index.mjs.map +1 -1
  48. package/dist/lexicons.cjs +1002 -0
  49. package/dist/lexicons.cjs.map +1 -0
  50. package/dist/lexicons.d.ts +1805 -0
  51. package/dist/lexicons.d.ts.map +1 -0
  52. package/dist/lexicons.mjs +996 -0
  53. package/dist/lexicons.mjs.map +1 -0
  54. package/dist/types/app/certified/badge/award.d.ts +24 -0
  55. package/dist/types/app/certified/badge/award.d.ts.map +1 -0
  56. package/dist/types/app/certified/badge/definition.d.ts +25 -0
  57. package/dist/types/app/certified/badge/definition.d.ts.map +1 -0
  58. package/dist/types/app/certified/badge/response.d.ts +20 -0
  59. package/dist/types/app/certified/badge/response.d.ts.map +1 -0
  60. package/dist/types/app/certified/defs.d.ts +3 -0
  61. package/dist/types/app/certified/defs.d.ts.map +1 -0
  62. package/dist/types/app/certified/location.d.ts +29 -0
  63. package/dist/types/app/certified/location.d.ts.map +1 -0
  64. package/dist/types/com/atproto/repo/strongRef.d.ts +12 -0
  65. package/dist/types/com/atproto/repo/strongRef.d.ts.map +1 -0
  66. package/dist/types/org/hypercerts/claim/activity.d.ts +57 -0
  67. package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -0
  68. package/dist/types/org/hypercerts/claim/collection.d.ts +25 -0
  69. package/dist/types/org/hypercerts/claim/collection.d.ts.map +1 -0
  70. package/dist/types/org/hypercerts/claim/contribution.d.ts +24 -0
  71. package/dist/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
  72. package/dist/types/org/hypercerts/claim/evaluation.d.ts +43 -0
  73. package/dist/types/org/hypercerts/claim/evaluation.d.ts.map +1 -0
  74. package/dist/types/org/hypercerts/claim/evidence.d.ts +29 -0
  75. package/dist/types/org/hypercerts/claim/evidence.d.ts.map +1 -0
  76. package/dist/types/org/hypercerts/claim/measurement.d.ts +30 -0
  77. package/dist/types/org/hypercerts/claim/measurement.d.ts.map +1 -0
  78. package/dist/types/org/hypercerts/claim/project.d.ts +29 -0
  79. package/dist/types/org/hypercerts/claim/project.d.ts.map +1 -0
  80. package/dist/types/org/hypercerts/claim/rights.d.ts +25 -0
  81. package/dist/types/org/hypercerts/claim/rights.d.ts.map +1 -0
  82. package/dist/types/org/hypercerts/defs.d.ts +45 -0
  83. package/dist/types/org/hypercerts/defs.d.ts.map +1 -0
  84. package/dist/types/org/hypercerts/funding/receipt.d.ts +34 -0
  85. package/dist/types/org/hypercerts/funding/receipt.d.ts.map +1 -0
  86. package/dist/types/pub/leaflet/pages/linearDocument.d.ts +2 -0
  87. package/dist/types/pub/leaflet/pages/linearDocument.d.ts.map +1 -0
  88. package/dist/util.d.ts +37 -0
  89. package/dist/util.d.ts.map +1 -0
  90. package/lexicons/app/certified/badge/award.json +36 -0
  91. package/lexicons/app/certified/badge/definition.json +53 -0
  92. package/lexicons/app/certified/badge/response.json +36 -0
  93. package/lexicons/app/certified/defs.json +4 -16
  94. package/lexicons/app/certified/location.json +5 -8
  95. package/lexicons/com/atproto/repo/strongRef.json +1 -1
  96. package/lexicons/org/hypercerts/claim/activity.json +135 -0
  97. package/lexicons/org/hypercerts/claim/collection.json +54 -0
  98. package/lexicons/org/hypercerts/claim/contribution.json +4 -11
  99. package/lexicons/org/hypercerts/claim/evaluation.json +50 -9
  100. package/lexicons/org/hypercerts/claim/evidence.json +29 -16
  101. package/lexicons/org/hypercerts/claim/measurement.json +18 -8
  102. package/lexicons/org/hypercerts/claim/project.json +64 -0
  103. package/lexicons/org/hypercerts/claim/rights.json +16 -3
  104. package/lexicons/org/hypercerts/defs.json +71 -0
  105. package/lexicons/org/hypercerts/funding/receipt.json +66 -0
  106. package/package.json +46 -26
  107. package/dist/index.d.ts +0 -2094
  108. package/lexicons/org/hypercerts/claim.json +0 -95
  109. package/lexicons/org/hypercerts/collection.json +0 -62
package/dist/index.mjs CHANGED
@@ -1,670 +1,179 @@
1
1
  import { Lexicons, ValidationError } from '@atproto/lexicon';
2
2
 
3
- var lexicon$9 = 1;
4
- var id$i = "app.certified.defs";
5
- var defs$a = {
6
- uri: {
7
- type: "string",
8
- format: "uri",
9
- maxGraphemes: 1000,
10
- description: "URI to external data"
11
- },
12
- smallBlob: {
13
- type: "blob",
14
- accept: [
15
- "*/*"
16
- ],
17
- maxSize: 10485760,
18
- description: "Blob to external data (up to 10MB)"
19
- },
20
- largeBlob: {
21
- type: "blob",
22
- accept: [
23
- "*/*"
24
- ],
25
- maxSize: 104857600,
26
- description: "Blob to external data (up to 100MB)"
27
- }
28
- };
29
- var defsLexicon = {
30
- lexicon: lexicon$9,
31
- id: id$i,
32
- defs: defs$a
33
- };
34
-
35
- var lexicon$8 = 1;
36
- var id$h = "app.certified.location";
37
- var defs$9 = {
38
- main: {
39
- type: "record",
40
- description: "A location reference",
41
- key: "any",
42
- record: {
43
- type: "object",
44
- required: [
45
- "lpVersion",
46
- "srs",
47
- "locationType",
48
- "location",
49
- "createdAt"
50
- ],
51
- properties: {
52
- lpVersion: {
53
- type: "string",
54
- description: "The version of the Location Protocol",
55
- maxLength: 10
56
- },
57
- srs: {
58
- type: "string",
59
- format: "uri",
60
- description: "The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system.",
61
- maxLength: 100
62
- },
63
- locationType: {
64
- type: "string",
65
- description: "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point)",
66
- knownValues: [
67
- "coordinate-decimal",
68
- "geojson-point"
69
- ],
70
- maxLength: 20
71
- },
72
- location: {
73
- type: "union",
74
- refs: [
75
- "app.certified.defs#uri",
76
- "app.certified.defs#smallBlob"
77
- ],
78
- description: "The location of where the work was performed as a URI or blob."
79
- },
80
- name: {
81
- type: "string",
82
- description: "Optional name for this location",
83
- maxLength: 1000,
84
- maxGraphemes: 100
85
- },
86
- description: {
87
- type: "string",
88
- description: "Optional description for this location",
89
- maxLength: 2000,
90
- maxGraphemes: 500
91
- },
92
- createdAt: {
93
- type: "string",
94
- format: "datetime",
95
- description: "Client-declared timestamp when this record was originally created"
96
- }
97
- }
98
- }
99
- }
100
- };
101
- var locationLexicon = {
102
- lexicon: lexicon$8,
103
- id: id$h,
104
- defs: defs$9
105
- };
106
-
107
- var lexicon$7 = 1;
108
- var id$g = "org.hypercerts.claim";
109
- var defs$8 = {
110
- main: {
111
- type: "record",
112
- description: "A hypercert record tracking impact work.",
113
- key: "any",
114
- record: {
115
- type: "object",
116
- required: [
117
- "title",
118
- "shortDescription",
119
- "createdAt",
120
- "workScope",
121
- "workTimeFrameFrom",
122
- "workTimeFrameTo"
123
- ],
124
- properties: {
125
- title: {
126
- type: "string",
127
- description: "Title of the hypercert",
128
- maxLength: 256
129
- },
130
- shortDescription: {
131
- type: "string",
132
- description: "Short blurb of the impact work done.",
133
- maxLength: 3000,
134
- maxGraphemes: 300
135
- },
136
- description: {
137
- type: "string",
138
- description: "Optional longer description of the impact work done.",
139
- maxLength: 30000,
140
- maxGraphemes: 3000
141
- },
142
- image: {
143
- type: "union",
144
- refs: [
145
- "app.certified.defs#uri",
146
- "app.certified.defs#smallBlob"
147
- ],
148
- description: "The hypercert visual representation as a URI or blob"
149
- },
150
- workScope: {
151
- type: "string",
152
- description: "Scope of the work performed",
153
- maxLength: 5000,
154
- maxGraphemes: 1000
155
- },
156
- workTimeFrameFrom: {
157
- type: "string",
158
- format: "datetime",
159
- description: "When the work began"
160
- },
161
- workTimeFrameTo: {
162
- type: "string",
163
- format: "datetime",
164
- description: "When the work ended"
165
- },
166
- evidence: {
167
- type: "array",
168
- description: "Supporting evidence, documentation, or external data URIs",
169
- items: {
170
- type: "ref",
171
- ref: "com.atproto.repo.strongRef",
172
- description: "A strong reference to the evidence that supports this impact claim. The record referenced must conform with the org.hypercerts.claim.evidence lexicon"
173
- },
174
- maxLength: 100
175
- },
176
- contributions: {
177
- type: "array",
178
- description: "A strong reference to the contributions done to create the impact in the hypercerts. The record referenced must conform with the lexicon org.hypercerts.claim.contributions",
179
- items: {
180
- type: "ref",
181
- ref: "com.atproto.repo.strongRef"
182
- }
183
- },
184
- rights: {
185
- type: "ref",
186
- ref: "com.atproto.repo.strongRef",
187
- description: "A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights"
188
- },
189
- location: {
190
- type: "ref",
191
- ref: "com.atproto.repo.strongRef",
192
- description: "A strong reference to the location where the work for done hypercert was located. The record referenced must conform with the lexicon org.hypercerts.claim.location"
193
- },
194
- createdAt: {
195
- type: "string",
196
- format: "datetime",
197
- description: "Client-declared timestamp when this record was originally created"
198
- }
199
- }
200
- }
201
- }
202
- };
203
- var claimLexicon = {
204
- lexicon: lexicon$7,
205
- id: id$g,
206
- defs: defs$8
207
- };
208
-
209
- var lexicon$6 = 1;
210
- var id$f = "org.hypercerts.claim.contribution";
211
- var defs$7 = {
212
- main: {
213
- type: "record",
214
- description: "A contribution made toward a hypercert's impact.",
215
- key: "any",
216
- record: {
217
- type: "object",
218
- required: [
219
- "hypercert",
220
- "contributors",
221
- "createdAt"
222
- ],
223
- properties: {
224
- hypercert: {
225
- type: "ref",
226
- ref: "com.atproto.repo.strongRef",
227
- description: "A strong reference to the hypercert this contribution is for. The record referenced must conform with the lexicon org.hypercerts.claim."
228
- },
229
- role: {
230
- type: "string",
231
- description: "Role or title of the contributor(s).",
232
- maxLength: 100
233
- },
234
- contributors: {
235
- type: "array",
236
- description: "List of the contributors (names, pseudonyms, or DIDs). If multiple contributors are stored in the same hypercertContribution, then they would have the exact same role.",
237
- items: {
238
- type: "string"
239
- }
240
- },
241
- description: {
242
- type: "string",
243
- description: "What the contribution concretely achieved",
244
- maxLength: 2000,
245
- maxGraphemes: 500
246
- },
247
- workTimeframeFrom: {
248
- type: "string",
249
- format: "datetime",
250
- description: "When this contribution started. This should be a subset of the hypercert timeframe."
251
- },
252
- workTimeframeTo: {
253
- type: "string",
254
- format: "datetime",
255
- description: "When this contribution finished. This should be a subset of the hypercert timeframe."
256
- },
257
- createdAt: {
258
- type: "string",
259
- format: "datetime",
260
- description: "Client-declared timestamp when this record was originally created"
261
- }
262
- }
263
- }
264
- }
265
- };
266
- var contributionLexicon = {
267
- lexicon: lexicon$6,
268
- id: id$f,
269
- defs: defs$7
270
- };
271
-
272
- var lexicon$5 = 1;
273
- var id$e = "org.hypercerts.claim.evaluation";
274
- var defs$6 = {
275
- main: {
276
- type: "record",
277
- description: "An evaluation of a hypercert or other claim",
278
- key: "tid",
279
- record: {
280
- type: "object",
281
- required: [
282
- "subject",
283
- "evaluators",
284
- "summary",
285
- "createdAt"
286
- ],
287
- properties: {
288
- subject: {
289
- type: "ref",
290
- ref: "com.atproto.repo.strongRef",
291
- description: "A strong reference to the evaluated claim. (e.g measurement, hypercert, contribution, etc)"
292
- },
293
- evaluators: {
294
- type: "array",
295
- description: "DIDs of the evaluators",
296
- items: {
297
- type: "string",
298
- format: "did"
299
- },
300
- maxLength: 100
301
- },
302
- evaluations: {
303
- type: "array",
304
- description: "Evaluation data (URIs or blobs) containing detailed reports or methodology",
305
- items: {
306
- type: "union",
307
- refs: [
308
- "app.certified.defs#uri",
309
- "app.certified.defs#smallBlob"
310
- ]
311
- },
312
- maxLength: 100
313
- },
314
- summary: {
315
- type: "string",
316
- description: "Brief evaluation summary",
317
- maxLength: 5000,
318
- maxGraphemes: 1000
319
- },
320
- createdAt: {
321
- type: "string",
322
- format: "datetime",
323
- description: "Client-declared timestamp when this record was originally created"
324
- }
325
- }
326
- }
327
- }
328
- };
329
- var evaluationLexicon = {
330
- lexicon: lexicon$5,
331
- id: id$e,
332
- defs: defs$6
333
- };
334
-
335
- var lexicon$4 = 1;
336
- var id$d = "org.hypercerts.claim.evidence";
337
- var defs$5 = {
338
- main: {
339
- type: "record",
340
- description: "A piece of evidence supporting a hypercert claim",
341
- key: "any",
342
- record: {
343
- type: "object",
344
- required: [
345
- "content",
346
- "shortDescription",
347
- "createdAt"
348
- ],
349
- properties: {
350
- content: {
351
- type: "union",
352
- refs: [
353
- "app.certified.defs#uri",
354
- "app.certified.defs#smallBlob"
355
- ],
356
- description: "A piece of evidence (URI or blobs) supporting a hypercert claim"
357
- },
358
- title: {
359
- type: "string",
360
- maxLength: 256,
361
- description: "Optional title to describe the nature of the evidence"
362
- },
363
- shortDescription: {
364
- type: "string",
365
- maxLength: 3000,
366
- maxGraphemes: 300,
367
- description: "Short description explaining what this evidence demonstrates or proves"
368
- },
369
- description: {
370
- type: "string",
371
- description: "Optional longer description describing the impact claim evidence.",
372
- maxLength: 30000,
373
- maxGraphemes: 3000
374
- },
375
- createdAt: {
376
- type: "string",
377
- format: "datetime",
378
- description: "Client-declared timestamp when this hypercert claim was originally created"
379
- }
380
- }
381
- }
382
- }
383
- };
384
- var evidenceLexicon = {
385
- lexicon: lexicon$4,
386
- id: id$d,
387
- defs: defs$5
388
- };
389
-
390
- var lexicon$3 = 1;
391
- var id$c = "org.hypercerts.claim.measurement";
392
- var defs$4 = {
393
- main: {
394
- type: "record",
395
- description: "External measurement data supporting a hypercert claim",
396
- key: "tid",
397
- record: {
398
- type: "object",
399
- required: [
400
- "hypercert",
401
- "measurers",
402
- "metric",
403
- "value",
404
- "createdAt"
405
- ],
406
- properties: {
407
- hypercert: {
408
- type: "ref",
409
- ref: "com.atproto.repo.strongRef",
410
- description: "A strong reference to the hypercert that this measurement is for. The record referenced must conform with the lexicon org.hypercerts.claim."
411
- },
412
- measurers: {
413
- type: "array",
414
- description: "DIDs of the entity (or entities) that measured this data",
415
- items: {
416
- type: "string",
417
- format: "did"
418
- },
419
- maxLength: 100
420
- },
421
- metric: {
422
- type: "string",
423
- description: "The metric being measured",
424
- maxLength: 500
425
- },
426
- value: {
427
- type: "string",
428
- description: "The measured value",
429
- maxLength: 500
430
- },
431
- measurementMethodURI: {
432
- type: "string",
433
- format: "uri",
434
- description: "URI to methodology documentation, standard protocol, or measurement procedure"
435
- },
436
- evidenceURI: {
437
- type: "array",
438
- description: "URIs to supporting evidence or data",
439
- items: {
440
- type: "string",
441
- format: "uri"
442
- },
443
- maxLength: 50
444
- },
445
- createdAt: {
446
- type: "string",
447
- format: "datetime",
448
- description: "Client-declared timestamp when this record was originally created"
449
- }
450
- }
451
- }
452
- }
453
- };
454
- var measurementLexicon = {
455
- lexicon: lexicon$3,
456
- id: id$c,
457
- defs: defs$4
458
- };
459
-
460
- var lexicon$2 = 1;
461
- var id$b = "org.hypercerts.claim.rights";
462
- var defs$3 = {
463
- main: {
464
- type: "record",
465
- description: "Describes the rights that a user has with a hypercert, such as whether it can be sold, transferred, and under what conditions.",
466
- key: "any",
467
- record: {
468
- type: "object",
469
- required: [
470
- "rightsName",
471
- "rightsType",
472
- "rightsDescription",
473
- "createdAt"
474
- ],
475
- properties: {
476
- rightsName: {
477
- type: "string",
478
- description: "Full name of the rights",
479
- maxLength: 100
480
- },
481
- rightsType: {
482
- type: "string",
483
- description: "Short rights identifier for easier search",
484
- maxLength: 10
485
- },
486
- rightsDescription: {
487
- type: "string",
488
- description: "Description of the rights of this hypercert"
489
- },
490
- createdAt: {
491
- type: "string",
492
- format: "datetime",
493
- description: "Client-declared timestamp when this record was originally created"
494
- }
495
- }
496
- }
497
- }
498
- };
499
- var rightsLexicon = {
500
- lexicon: lexicon$2,
501
- id: id$b,
502
- defs: defs$3
503
- };
504
-
505
- var lexicon$1 = 1;
506
- var id$a = "com.atproto.repo.strongRef";
507
- var description = "A URI with a content-hash fingerprint.";
508
- var defs$2 = {
509
- main: {
510
- type: "object",
511
- required: [
512
- "uri",
513
- "cid"
514
- ],
515
- properties: {
516
- uri: {
517
- type: "string",
518
- format: "at-uri"
519
- },
520
- cid: {
521
- type: "string",
522
- format: "cid"
523
- }
524
- }
525
- }
526
- };
527
- var strongRef$1 = {
528
- lexicon: lexicon$1,
529
- id: id$a,
530
- description: description,
531
- defs: defs$2
532
- };
533
-
534
- var lexicon = 1;
535
- var id$9 = "org.hypercerts.collection";
536
- var defs$1 = {
537
- main: {
538
- type: "record",
539
- description: "A collection/group of hypercerts that have a specific property.",
540
- key: "tid",
541
- record: {
542
- type: "object",
543
- required: [
544
- "title",
545
- "claims",
546
- "createdAt"
547
- ],
548
- properties: {
549
- title: {
550
- type: "string",
551
- description: "The title of this collection",
552
- maxLength: 800,
553
- maxGraphemes: 80
554
- },
555
- shortDescription: {
556
- type: "string",
557
- maxLength: 3000,
558
- maxGraphemes: 300,
559
- description: "A short description of this collection"
560
- },
561
- coverPhoto: {
562
- type: "union",
563
- refs: [
564
- "app.certified.defs#uri",
565
- "app.certified.defs#smallBlob"
566
- ],
567
- description: "The cover photo of this collection (either in URI format or in a blob)."
568
- },
569
- claims: {
570
- type: "array",
571
- description: "Array of claims with their associated weights in this collection",
572
- items: {
573
- type: "ref",
574
- ref: "#claimItem"
575
- }
576
- },
577
- createdAt: {
578
- type: "string",
579
- format: "datetime",
580
- description: "Client-declared timestamp when this record was originally created"
581
- }
582
- }
583
- }
584
- },
585
- claimItem: {
586
- type: "object",
587
- required: [
588
- "claim",
589
- "weight"
590
- ],
591
- properties: {
592
- claim: {
593
- type: "ref",
594
- ref: "com.atproto.repo.strongRef",
595
- description: "A strong reference to a hypercert claim record. This claim must conform to the lexicon org.hypercerts.claim.record"
596
- },
597
- weight: {
598
- type: "string",
599
- description: "The weight/importance of this hypercert claim in the collection (a percentage from 0-100, stored as a string to avoid float precision issues). The total claim weights should add up to 100."
600
- }
601
- }
602
- }
603
- };
604
- var collectionLexicon = {
605
- lexicon: lexicon,
606
- id: id$9,
607
- defs: defs$1
608
- };
609
-
610
- /**
611
- * GENERATED CODE - DO NOT MODIFY
612
- */
613
- function isObject(v) {
614
- return v != null && typeof v === 'object';
615
- }
616
- function is$type($type, id, hash) {
617
- return hash === 'main'
618
- ? $type === id
619
- : // $type === `${id}#${hash}`
620
- typeof $type === 'string' &&
621
- $type.length === id.length + 1 + hash.length &&
622
- $type.charCodeAt(id.length) === 35 /* '#' */ &&
623
- $type.startsWith(id) &&
624
- $type.endsWith(hash);
625
- }
626
- function is$typed$9(v, id, hash) {
627
- return isObject(v) && '$type' in v && is$type(v.$type, id, hash);
628
- }
629
- function maybe$typed(v, id, hash) {
630
- return (isObject(v) &&
631
- ('$type' in v ? v.$type === undefined || is$type(v.$type, id, hash) : true));
632
- }
633
- /**
634
- * Utility function that allows to convert a "validate*" utility function into a
635
- * type predicate.
636
- */
637
- function asPredicate(validate) {
638
- return function (v) {
639
- return validate(v).success;
640
- };
641
- }
3
+ /**
4
+ * GENERATED CODE - DO NOT MODIFY
5
+ */
6
+ function isObject(v) {
7
+ return v != null && typeof v === 'object';
8
+ }
9
+ function is$type($type, id, hash) {
10
+ return hash === 'main'
11
+ ? $type === id
12
+ : // $type === `${id}#${hash}`
13
+ typeof $type === 'string' &&
14
+ $type.length === id.length + 1 + hash.length &&
15
+ $type.charCodeAt(id.length) === 35 /* '#' */ &&
16
+ $type.startsWith(id) &&
17
+ $type.endsWith(hash);
18
+ }
19
+ function is$typed$f(v, id, hash) {
20
+ return isObject(v) && '$type' in v && is$type(v.$type, id, hash);
21
+ }
22
+ function maybe$typed(v, id, hash) {
23
+ return (isObject(v) &&
24
+ ('$type' in v ? v.$type === undefined || is$type(v.$type, id, hash) : true));
25
+ }
26
+ /**
27
+ * Utility function that allows to convert a "validate*" utility function into a
28
+ * type predicate.
29
+ */
30
+ function asPredicate(validate) {
31
+ return function (v) {
32
+ return validate(v).success;
33
+ };
34
+ }
642
35
 
643
36
  /**
644
37
  * GENERATED CODE - DO NOT MODIFY
645
38
  */
646
39
  const schemaDict = {
40
+ AppCertifiedBadgeAward: {
41
+ lexicon: 1,
42
+ id: 'app.certified.badge.award',
43
+ defs: {
44
+ main: {
45
+ type: 'record',
46
+ description: 'Records a badge award to a user, project, or activity claim.',
47
+ key: 'tid',
48
+ record: {
49
+ type: 'object',
50
+ required: ['badge', 'subject', 'createdAt'],
51
+ properties: {
52
+ badge: {
53
+ type: 'ref',
54
+ ref: 'lex:app.certified.badge.definition',
55
+ description: 'Reference to the badge definition for this award.',
56
+ },
57
+ subject: {
58
+ type: 'union',
59
+ 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.',
60
+ refs: [
61
+ 'lex:app.certified.defs#did',
62
+ 'lex:com.atproto.repo.strongRef',
63
+ ],
64
+ },
65
+ note: {
66
+ type: 'string',
67
+ description: 'Optional statement explaining the reason for this badge award.',
68
+ },
69
+ createdAt: {
70
+ type: 'string',
71
+ format: 'datetime',
72
+ description: 'Client-declared timestamp when this record was originally created',
73
+ },
74
+ },
75
+ },
76
+ },
77
+ },
78
+ },
79
+ AppCertifiedBadgeDefinition: {
80
+ lexicon: 1,
81
+ id: 'app.certified.badge.definition',
82
+ defs: {
83
+ main: {
84
+ type: 'record',
85
+ description: 'Defines a badge that can be awarded via badge award records to users, projects, or activity claims.',
86
+ key: 'tid',
87
+ record: {
88
+ type: 'object',
89
+ required: ['title', 'badgeType', 'icon', 'createdAt'],
90
+ properties: {
91
+ badgeType: {
92
+ type: 'string',
93
+ description: 'Category of the badge (e.g. endorsement, participation, affiliation).',
94
+ },
95
+ title: {
96
+ type: 'string',
97
+ description: 'Human-readable title of the badge.',
98
+ },
99
+ icon: {
100
+ type: 'blob',
101
+ description: 'Icon representing the badge, stored as a blob for compact visual display.',
102
+ accept: [
103
+ 'image/png',
104
+ 'image/jpeg',
105
+ 'image/webp',
106
+ 'image/svg+xml',
107
+ ],
108
+ maxSize: 1048576,
109
+ },
110
+ description: {
111
+ type: 'string',
112
+ description: 'Optional short statement describing what the badge represents.',
113
+ },
114
+ allowedIssuers: {
115
+ type: 'array',
116
+ description: 'Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it.',
117
+ items: {
118
+ type: 'ref',
119
+ ref: 'lex:app.certified.defs#did',
120
+ },
121
+ },
122
+ createdAt: {
123
+ type: 'string',
124
+ format: 'datetime',
125
+ description: 'Client-declared timestamp when this record was originally created',
126
+ },
127
+ },
128
+ },
129
+ },
130
+ },
131
+ },
132
+ AppCertifiedBadgeResponse: {
133
+ lexicon: 1,
134
+ id: 'app.certified.badge.response',
135
+ defs: {
136
+ main: {
137
+ type: 'record',
138
+ description: 'Recipient response to a badge award.',
139
+ key: 'tid',
140
+ record: {
141
+ type: 'object',
142
+ required: ['badgeAward', 'response', 'createdAt'],
143
+ properties: {
144
+ badgeAward: {
145
+ type: 'ref',
146
+ ref: 'lex:app.certified.badge.award',
147
+ description: 'Reference to the badge award.',
148
+ },
149
+ response: {
150
+ type: 'string',
151
+ enum: ['accepted', 'rejected'],
152
+ description: 'The recipient’s response for the badge (accepted or rejected).',
153
+ },
154
+ weight: {
155
+ type: 'string',
156
+ description: 'Optional relative weight for accepted badges, assigned by the recipient.',
157
+ },
158
+ createdAt: {
159
+ type: 'string',
160
+ format: 'datetime',
161
+ description: 'Client-declared timestamp when this record was originally created',
162
+ },
163
+ },
164
+ },
165
+ },
166
+ },
167
+ },
647
168
  AppCertifiedDefs: {
648
169
  lexicon: 1,
649
170
  id: 'app.certified.defs',
171
+ description: 'Common type definitions used across certified protocols.',
650
172
  defs: {
651
- uri: {
173
+ did: {
652
174
  type: 'string',
653
- format: 'uri',
654
- maxGraphemes: 1000,
655
- description: 'URI to external data',
656
- },
657
- smallBlob: {
658
- type: 'blob',
659
- accept: ['*/*'],
660
- maxSize: 10485760,
661
- description: 'Blob to external data (up to 10MB)',
662
- },
663
- largeBlob: {
664
- type: 'blob',
665
- accept: ['*/*'],
666
- maxSize: 104857600,
667
- description: 'Blob to external data (up to 100MB)',
175
+ format: 'did',
176
+ description: 'A Decentralized Identifier (DID) string.',
668
177
  },
669
178
  },
670
179
  },
@@ -675,7 +184,7 @@ const schemaDict = {
675
184
  main: {
676
185
  type: 'record',
677
186
  description: 'A location reference',
678
- key: 'any',
187
+ key: 'tid',
679
188
  record: {
680
189
  type: 'object',
681
190
  required: [
@@ -706,8 +215,8 @@ const schemaDict = {
706
215
  location: {
707
216
  type: 'union',
708
217
  refs: [
709
- 'lex:app.certified.defs#uri',
710
- 'lex:app.certified.defs#smallBlob',
218
+ 'lex:org.hypercerts.defs#uri',
219
+ 'lex:org.hypercerts.defs#smallBlob',
711
220
  ],
712
221
  description: 'The location of where the work was performed as a URI or blob.',
713
222
  },
@@ -754,9 +263,9 @@ const schemaDict = {
754
263
  },
755
264
  },
756
265
  },
757
- OrgHypercertsClaim: {
266
+ OrgHypercertsClaimActivity: {
758
267
  lexicon: 1,
759
- id: 'org.hypercerts.claim',
268
+ id: 'org.hypercerts.claim.activity',
760
269
  defs: {
761
270
  main: {
762
271
  type: 'record',
@@ -768,14 +277,13 @@ const schemaDict = {
768
277
  'title',
769
278
  'shortDescription',
770
279
  'createdAt',
771
- 'workScope',
772
- 'workTimeFrameFrom',
773
- 'workTimeFrameTo',
280
+ 'startDate',
281
+ 'endDate',
774
282
  ],
775
283
  properties: {
776
284
  title: {
777
285
  type: 'string',
778
- description: 'Title of the hypercert',
286
+ description: 'Title of the hypercert.',
779
287
  maxLength: 256,
780
288
  },
781
289
  shortDescription: {
@@ -793,40 +301,28 @@ const schemaDict = {
793
301
  image: {
794
302
  type: 'union',
795
303
  refs: [
796
- 'lex:app.certified.defs#uri',
797
- 'lex:app.certified.defs#smallBlob',
304
+ 'lex:org.hypercerts.defs#uri',
305
+ 'lex:org.hypercerts.defs#smallImage',
798
306
  ],
799
- description: 'The hypercert visual representation as a URI or blob',
307
+ description: 'The hypercert visual representation as a URI or image blob.',
800
308
  },
801
309
  workScope: {
802
- type: 'string',
803
- description: 'Scope of the work performed',
804
- maxLength: 5000,
805
- maxGraphemes: 1000,
310
+ type: 'ref',
311
+ ref: 'lex:org.hypercerts.claim.activity#workScope',
806
312
  },
807
- workTimeFrameFrom: {
313
+ startDate: {
808
314
  type: 'string',
809
315
  format: 'datetime',
810
316
  description: 'When the work began',
811
317
  },
812
- workTimeFrameTo: {
318
+ endDate: {
813
319
  type: 'string',
814
320
  format: 'datetime',
815
321
  description: 'When the work ended',
816
322
  },
817
- evidence: {
818
- type: 'array',
819
- description: 'Supporting evidence, documentation, or external data URIs',
820
- items: {
821
- type: 'ref',
822
- ref: 'lex:com.atproto.repo.strongRef',
823
- description: 'A strong reference to the evidence that supports this impact claim. The record referenced must conform with the org.hypercerts.claim.evidence lexicon',
824
- },
825
- maxLength: 100,
826
- },
827
323
  contributions: {
828
324
  type: 'array',
829
- description: 'A strong reference to the contributions done to create the impact in the hypercerts. The record referenced must conform with the lexicon org.hypercerts.claim.contributions',
325
+ description: 'A strong reference to the contributions done to create the impact in the hypercerts. The record referenced must conform with the lexicon org.hypercerts.claim.contribution.',
830
326
  items: {
831
327
  type: 'ref',
832
328
  ref: 'lex:com.atproto.repo.strongRef',
@@ -835,12 +331,116 @@ const schemaDict = {
835
331
  rights: {
836
332
  type: 'ref',
837
333
  ref: 'lex:com.atproto.repo.strongRef',
838
- description: 'A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights',
334
+ description: 'A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights.',
839
335
  },
840
336
  location: {
841
337
  type: 'ref',
842
338
  ref: 'lex:com.atproto.repo.strongRef',
843
- description: 'A strong reference to the location where the work for done hypercert was located. The record referenced must conform with the lexicon org.hypercerts.claim.location',
339
+ description: 'A strong reference to the location where the activity was performed. The record referenced must conform with the lexicon app.certified.location.',
340
+ },
341
+ project: {
342
+ type: 'string',
343
+ format: 'at-uri',
344
+ description: 'A reference (AT-URI) to the project record that this activity is part of. The record referenced must conform with the lexicon org.hypercerts.claim.project. This activity must also be referenced by the project, establishing a bidirectional link.',
345
+ },
346
+ createdAt: {
347
+ type: 'string',
348
+ format: 'datetime',
349
+ description: 'Client-declared timestamp when this record was originally created',
350
+ },
351
+ },
352
+ },
353
+ },
354
+ workScope: {
355
+ type: 'object',
356
+ description: 'Logical scope of the work using label-based conditions. All labels in `withinAllOf` must apply; at least one label in `withinAnyOf` must apply if provided; no label in `withinNoneOf` may apply.',
357
+ properties: {
358
+ withinAllOf: {
359
+ type: 'array',
360
+ description: 'Labels that MUST all hold for the scope to apply.',
361
+ items: {
362
+ type: 'string',
363
+ },
364
+ maxLength: 100,
365
+ },
366
+ withinAnyOf: {
367
+ type: 'array',
368
+ description: 'Labels of which AT LEAST ONE must hold (optional). If omitted or empty, imposes no additional condition.',
369
+ items: {
370
+ type: 'string',
371
+ },
372
+ maxLength: 100,
373
+ },
374
+ withinNoneOf: {
375
+ type: 'array',
376
+ description: 'Labels that MUST NOT hold for the scope to apply.',
377
+ items: {
378
+ type: 'string',
379
+ },
380
+ maxLength: 100,
381
+ },
382
+ },
383
+ },
384
+ activityWeight: {
385
+ type: 'object',
386
+ required: ['activity', 'weight'],
387
+ properties: {
388
+ activity: {
389
+ type: 'ref',
390
+ ref: 'lex:com.atproto.repo.strongRef',
391
+ description: 'A strong reference to a hypercert activity record. This activity must conform to the lexicon org.hypercerts.claim.activity',
392
+ },
393
+ weight: {
394
+ type: 'string',
395
+ description: 'The relative weight/importance of this hypercert activity (stored as a string to avoid float precision issues). Weights can be any positive numeric values and do not need to sum to a specific total; normalization can be performed by the consuming application as needed.',
396
+ },
397
+ },
398
+ },
399
+ },
400
+ },
401
+ OrgHypercertsClaimCollection: {
402
+ lexicon: 1,
403
+ id: 'org.hypercerts.claim.collection',
404
+ defs: {
405
+ main: {
406
+ type: 'record',
407
+ description: 'A collection/group of hypercerts that have a specific property.',
408
+ key: 'tid',
409
+ record: {
410
+ type: 'object',
411
+ required: ['title', 'activities', 'createdAt'],
412
+ properties: {
413
+ title: {
414
+ type: 'string',
415
+ description: 'The title of this collection',
416
+ maxLength: 800,
417
+ maxGraphemes: 80,
418
+ },
419
+ shortDescription: {
420
+ type: 'string',
421
+ maxLength: 3000,
422
+ maxGraphemes: 300,
423
+ description: 'A short description of this collection',
424
+ },
425
+ avatar: {
426
+ type: 'blob',
427
+ description: 'Primary avatar image representing this collection across apps and views; typically a square image.',
428
+ accept: ['image/png', 'image/jpeg'],
429
+ maxSize: 1000000,
430
+ },
431
+ coverPhoto: {
432
+ type: 'blob',
433
+ description: 'The cover photo of this collection.',
434
+ accept: ['image/png', 'image/jpeg'],
435
+ maxSize: 1000000,
436
+ },
437
+ activities: {
438
+ type: 'array',
439
+ description: 'Array of activities with their associated weights in this collection',
440
+ items: {
441
+ type: 'ref',
442
+ ref: 'lex:org.hypercerts.claim.activity#activityWeight',
443
+ },
844
444
  },
845
445
  createdAt: {
846
446
  type: 'string',
@@ -859,16 +459,11 @@ const schemaDict = {
859
459
  main: {
860
460
  type: 'record',
861
461
  description: "A contribution made toward a hypercert's impact.",
862
- key: 'any',
462
+ key: 'tid',
863
463
  record: {
864
464
  type: 'object',
865
- required: ['hypercert', 'contributors', 'createdAt'],
465
+ required: ['contributors', 'createdAt'],
866
466
  properties: {
867
- hypercert: {
868
- type: 'ref',
869
- ref: 'lex:com.atproto.repo.strongRef',
870
- description: 'A strong reference to the hypercert this contribution is for. The record referenced must conform with the lexicon org.hypercerts.claim.',
871
- },
872
467
  role: {
873
468
  type: 'string',
874
469
  description: 'Role or title of the contributor(s).',
@@ -887,12 +482,12 @@ const schemaDict = {
887
482
  maxLength: 2000,
888
483
  maxGraphemes: 500,
889
484
  },
890
- workTimeframeFrom: {
485
+ startDate: {
891
486
  type: 'string',
892
487
  format: 'datetime',
893
488
  description: 'When this contribution started. This should be a subset of the hypercert timeframe.',
894
489
  },
895
- workTimeframeTo: {
490
+ endDate: {
896
491
  type: 'string',
897
492
  format: 'datetime',
898
493
  description: 'When this contribution finished. This should be a subset of the hypercert timeframe.',
@@ -911,46 +506,84 @@ const schemaDict = {
911
506
  lexicon: 1,
912
507
  id: 'org.hypercerts.claim.evaluation',
913
508
  defs: {
509
+ score: {
510
+ type: 'object',
511
+ description: 'Overall score for an evaluation on a numeric scale.',
512
+ required: ['min', 'max', 'value'],
513
+ properties: {
514
+ min: {
515
+ type: 'integer',
516
+ description: 'Minimum value of the scale, e.g. 0 or 1.',
517
+ },
518
+ max: {
519
+ type: 'integer',
520
+ description: 'Maximum value of the scale, e.g. 5 or 10.',
521
+ },
522
+ value: {
523
+ type: 'integer',
524
+ description: 'Score within the inclusive range [min, max].',
525
+ },
526
+ },
527
+ },
914
528
  main: {
915
529
  type: 'record',
916
- description: 'An evaluation of a hypercert or other claim',
530
+ description: 'An evaluation of a hypercert record (e.g. an activity and its impact).',
917
531
  key: 'tid',
918
532
  record: {
919
533
  type: 'object',
920
- required: ['subject', 'evaluators', 'summary', 'createdAt'],
534
+ required: ['evaluators', 'summary', 'createdAt'],
921
535
  properties: {
922
536
  subject: {
923
537
  type: 'ref',
924
538
  ref: 'lex:com.atproto.repo.strongRef',
925
- description: 'A strong reference to the evaluated claim. (e.g measurement, hypercert, contribution, etc)',
539
+ description: 'A strong reference to what is being evaluated. (e.g activity, measurement, contribution, etc.)',
926
540
  },
927
541
  evaluators: {
928
542
  type: 'array',
929
543
  description: 'DIDs of the evaluators',
930
544
  items: {
931
- type: 'string',
932
- format: 'did',
545
+ type: 'ref',
546
+ ref: 'lex:app.certified.defs#did',
933
547
  },
934
- maxLength: 100,
548
+ maxLength: 1000,
935
549
  },
936
- evaluations: {
550
+ content: {
937
551
  type: 'array',
938
552
  description: 'Evaluation data (URIs or blobs) containing detailed reports or methodology',
939
553
  items: {
940
554
  type: 'union',
941
555
  refs: [
942
- 'lex:app.certified.defs#uri',
943
- 'lex:app.certified.defs#smallBlob',
556
+ 'lex:org.hypercerts.defs#uri',
557
+ 'lex:org.hypercerts.defs#smallBlob',
944
558
  ],
945
559
  },
946
560
  maxLength: 100,
947
561
  },
562
+ measurements: {
563
+ type: 'array',
564
+ description: 'Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.claim.measurement ',
565
+ items: {
566
+ type: 'ref',
567
+ ref: 'lex:com.atproto.repo.strongRef',
568
+ },
569
+ maxLength: 100,
570
+ },
948
571
  summary: {
949
572
  type: 'string',
950
573
  description: 'Brief evaluation summary',
951
574
  maxLength: 5000,
952
575
  maxGraphemes: 1000,
953
576
  },
577
+ score: {
578
+ type: 'ref',
579
+ ref: 'lex:org.hypercerts.claim.evaluation#score',
580
+ description: 'Optional overall score for this evaluation on a numeric scale.',
581
+ },
582
+ location: {
583
+ type: 'ref',
584
+ ref: 'lex:com.atproto.repo.strongRef',
585
+ description: 'An optional reference for georeferenced evaluations. The record referenced must conform with the lexicon app.certified.location.',
586
+ },
954
587
  createdAt: {
955
588
  type: 'string',
956
589
  format: 'datetime',
@@ -967,41 +600,51 @@ const schemaDict = {
967
600
  defs: {
968
601
  main: {
969
602
  type: 'record',
970
- description: 'A piece of evidence supporting a hypercert claim',
971
- key: 'any',
603
+ 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.',
604
+ key: 'tid',
972
605
  record: {
973
606
  type: 'object',
974
- required: ['content', 'shortDescription', 'createdAt'],
607
+ required: ['content', 'title', 'createdAt'],
975
608
  properties: {
609
+ subject: {
610
+ type: 'ref',
611
+ ref: 'lex:com.atproto.repo.strongRef',
612
+ description: 'A strong reference to the record this evidence relates to (e.g. an activity, project, claim, or evaluation).',
613
+ },
976
614
  content: {
977
615
  type: 'union',
978
616
  refs: [
979
- 'lex:app.certified.defs#uri',
980
- 'lex:app.certified.defs#smallBlob',
617
+ 'lex:org.hypercerts.defs#uri',
618
+ 'lex:org.hypercerts.defs#smallBlob',
981
619
  ],
982
- description: 'A piece of evidence (URI or blobs) supporting a hypercert claim',
620
+ description: 'A piece of evidence (URI or blob) related to the subject record; it may support, clarify, or challenge a hypercert claim.',
983
621
  },
984
622
  title: {
985
623
  type: 'string',
986
624
  maxLength: 256,
987
- description: 'Optional title to describe the nature of the evidence',
625
+ description: 'Title to describe the nature of the evidence.',
988
626
  },
989
627
  shortDescription: {
990
628
  type: 'string',
991
629
  maxLength: 3000,
992
630
  maxGraphemes: 300,
993
- description: 'Short description explaining what this evidence demonstrates or proves',
631
+ description: 'Short description explaining what this evidence shows.',
994
632
  },
995
633
  description: {
996
634
  type: 'string',
997
- description: 'Optional longer description describing the impact claim evidence.',
635
+ description: 'Longer description describing the evidence in more detail.',
998
636
  maxLength: 30000,
999
637
  maxGraphemes: 3000,
1000
638
  },
639
+ relationType: {
640
+ type: 'string',
641
+ description: 'How this evidence relates to the subject.',
642
+ knownValues: ['supports', 'challenges', 'clarifies'],
643
+ },
1001
644
  createdAt: {
1002
645
  type: 'string',
1003
646
  format: 'datetime',
1004
- description: 'Client-declared timestamp when this hypercert claim was originally created',
647
+ description: 'Client-declared timestamp when this record was originally created',
1005
648
  },
1006
649
  },
1007
650
  },
@@ -1014,23 +657,23 @@ const schemaDict = {
1014
657
  defs: {
1015
658
  main: {
1016
659
  type: 'record',
1017
- description: 'External measurement data supporting a hypercert claim',
660
+ description: 'Measurement data related to a hypercert record (e.g. an activity and its impact).',
1018
661
  key: 'tid',
1019
662
  record: {
1020
663
  type: 'object',
1021
- required: ['hypercert', 'measurers', 'metric', 'value', 'createdAt'],
664
+ required: ['measurers', 'metric', 'value', 'createdAt'],
1022
665
  properties: {
1023
- hypercert: {
666
+ subject: {
1024
667
  type: 'ref',
1025
668
  ref: 'lex:com.atproto.repo.strongRef',
1026
- description: 'A strong reference to the hypercert that this measurement is for. The record referenced must conform with the lexicon org.hypercerts.claim.',
669
+ description: 'A strong reference to the record this measurement refers to (e.g. an activity, project, or claim).',
1027
670
  },
1028
671
  measurers: {
1029
672
  type: 'array',
1030
673
  description: 'DIDs of the entity (or entities) that measured this data',
1031
674
  items: {
1032
- type: 'string',
1033
- format: 'did',
675
+ type: 'ref',
676
+ ref: 'lex:app.certified.defs#did',
1034
677
  },
1035
678
  maxLength: 100,
1036
679
  },
@@ -1044,20 +687,94 @@ const schemaDict = {
1044
687
  description: 'The measured value',
1045
688
  maxLength: 500,
1046
689
  },
1047
- measurementMethodURI: {
690
+ methodType: {
691
+ type: 'string',
692
+ description: 'Short identifier for the measurement methodology',
693
+ maxLength: 30,
694
+ },
695
+ methodURI: {
1048
696
  type: 'string',
1049
697
  format: 'uri',
1050
698
  description: 'URI to methodology documentation, standard protocol, or measurement procedure',
1051
699
  },
1052
700
  evidenceURI: {
1053
701
  type: 'array',
1054
- description: 'URIs to supporting evidence or data',
702
+ description: 'URIs to related evidence or underlying data (e.g. org.hypercerts.claim.evidence records or raw datasets)',
1055
703
  items: {
1056
704
  type: 'string',
1057
705
  format: 'uri',
1058
706
  },
1059
707
  maxLength: 50,
1060
708
  },
709
+ location: {
710
+ type: 'ref',
711
+ ref: 'lex:com.atproto.repo.strongRef',
712
+ description: 'A strong reference to the location where the measurement was taken. The record referenced must conform with the lexicon app.certified.location',
713
+ },
714
+ createdAt: {
715
+ type: 'string',
716
+ format: 'datetime',
717
+ description: 'Client-declared timestamp when this record was originally created',
718
+ },
719
+ },
720
+ },
721
+ },
722
+ },
723
+ },
724
+ OrgHypercertsClaimProject: {
725
+ lexicon: 1,
726
+ id: 'org.hypercerts.claim.project',
727
+ defs: {
728
+ main: {
729
+ type: 'record',
730
+ description: 'A project that can include multiple activities, each of which may be linked to at most one project.',
731
+ key: 'tid',
732
+ record: {
733
+ type: 'object',
734
+ required: ['title', 'shortDescription', 'createdAt'],
735
+ properties: {
736
+ title: {
737
+ type: 'string',
738
+ description: 'Title of this project',
739
+ maxLength: 800,
740
+ maxGraphemes: 80,
741
+ },
742
+ shortDescription: {
743
+ type: 'string',
744
+ maxLength: 3000,
745
+ maxGraphemes: 300,
746
+ description: 'Short summary of this project, suitable for previews and list views.',
747
+ },
748
+ description: {
749
+ type: 'ref',
750
+ ref: 'lex:pub.leaflet.pages.linearDocument#main',
751
+ description: 'Rich-text description of this project, represented as a Leaflet linear document.',
752
+ },
753
+ avatar: {
754
+ type: 'blob',
755
+ description: 'Primary avatar image representing this project across apps and views; typically a square logo or project identity image.',
756
+ accept: ['image/png', 'image/jpeg'],
757
+ maxSize: 1000000,
758
+ },
759
+ coverPhoto: {
760
+ type: 'blob',
761
+ description: 'The cover photo of this project.',
762
+ accept: ['image/png', 'image/jpeg'],
763
+ maxSize: 1000000,
764
+ },
765
+ activities: {
766
+ type: 'array',
767
+ description: 'Array of activities with their associated weights in this project',
768
+ items: {
769
+ type: 'ref',
770
+ ref: 'lex:org.hypercerts.claim.activity#activityWeight',
771
+ },
772
+ },
773
+ location: {
774
+ type: 'ref',
775
+ ref: 'lex:com.atproto.repo.strongRef',
776
+ description: 'A strong reference to a location record describing where the work for this project took place. The referenced record must conform to the app.certified.location lexicon.',
777
+ },
1061
778
  createdAt: {
1062
779
  type: 'string',
1063
780
  format: 'datetime',
@@ -1074,8 +791,8 @@ const schemaDict = {
1074
791
  defs: {
1075
792
  main: {
1076
793
  type: 'record',
1077
- description: 'Describes the rights that a user has with a hypercert, such as whether it can be sold, transferred, and under what conditions.',
1078
- key: 'any',
794
+ 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.',
795
+ key: 'tid',
1079
796
  record: {
1080
797
  type: 'object',
1081
798
  required: [
@@ -1099,6 +816,14 @@ const schemaDict = {
1099
816
  type: 'string',
1100
817
  description: 'Description of the rights of this hypercert',
1101
818
  },
819
+ attachment: {
820
+ type: 'union',
821
+ refs: [
822
+ 'lex:org.hypercerts.defs#uri',
823
+ 'lex:org.hypercerts.defs#smallBlob',
824
+ ],
825
+ description: 'An attachment to define the rights further, e.g. a legal document.',
826
+ },
1102
827
  createdAt: {
1103
828
  type: 'string',
1104
829
  format: 'datetime',
@@ -1109,243 +834,1589 @@ const schemaDict = {
1109
834
  },
1110
835
  },
1111
836
  },
1112
- OrgHypercertsCollection: {
837
+ OrgHypercertsDefs: {
838
+ lexicon: 1,
839
+ id: 'org.hypercerts.defs',
840
+ defs: {
841
+ uri: {
842
+ type: 'object',
843
+ required: ['uri'],
844
+ description: 'Object containing a URI to external data',
845
+ properties: {
846
+ uri: {
847
+ type: 'string',
848
+ format: 'uri',
849
+ maxGraphemes: 1024,
850
+ description: 'URI to external data',
851
+ },
852
+ },
853
+ },
854
+ smallBlob: {
855
+ type: 'object',
856
+ required: ['blob'],
857
+ description: 'Object containing a blob to external data',
858
+ properties: {
859
+ blob: {
860
+ type: 'blob',
861
+ accept: ['*/*'],
862
+ maxSize: 10485760,
863
+ description: 'Blob to external data (up to 10MB)',
864
+ },
865
+ },
866
+ },
867
+ largeBlob: {
868
+ type: 'object',
869
+ required: ['blob'],
870
+ description: 'Object containing a blob to external data',
871
+ properties: {
872
+ blob: {
873
+ type: 'blob',
874
+ accept: ['*/*'],
875
+ maxSize: 104857600,
876
+ description: 'Blob to external data (up to 100MB)',
877
+ },
878
+ },
879
+ },
880
+ smallImage: {
881
+ type: 'object',
882
+ required: ['image'],
883
+ description: 'Object containing a small image',
884
+ properties: {
885
+ image: {
886
+ type: 'blob',
887
+ accept: ['image/jpeg', 'image/jpg', 'image/png', 'image/webp'],
888
+ maxSize: 5242880,
889
+ description: 'Image (up to 5MB)',
890
+ },
891
+ },
892
+ },
893
+ largeImage: {
894
+ type: 'object',
895
+ required: ['image'],
896
+ description: 'Object containing a large image',
897
+ properties: {
898
+ image: {
899
+ type: 'blob',
900
+ accept: ['image/jpeg', 'image/jpg', 'image/png', 'image/webp'],
901
+ maxSize: 10485760,
902
+ description: 'Image (up to 10MB)',
903
+ },
904
+ },
905
+ },
906
+ },
907
+ },
908
+ OrgHypercertsFundingReceipt: {
1113
909
  lexicon: 1,
1114
- id: 'org.hypercerts.collection',
910
+ id: 'org.hypercerts.funding.receipt',
1115
911
  defs: {
1116
912
  main: {
1117
913
  type: 'record',
1118
- description: 'A collection/group of hypercerts that have a specific property.',
914
+ description: 'Records a funding receipt for a payment from one user to another user. It may be recorded by the recipient, by the sender, or by a third party. The sender may remain anonymous.',
1119
915
  key: 'tid',
1120
916
  record: {
1121
917
  type: 'object',
1122
- required: ['title', 'claims', 'createdAt'],
918
+ required: ['from', 'to', 'amount', 'currency', 'createdAt'],
1123
919
  properties: {
1124
- title: {
920
+ from: {
921
+ type: 'ref',
922
+ ref: 'lex:app.certified.defs#did',
923
+ description: 'DID of the sender who transferred the funds. Leave empty if sender wants to stay anonymous.',
924
+ },
925
+ to: {
1125
926
  type: 'string',
1126
- description: 'The title of this collection',
1127
- maxLength: 800,
1128
- maxGraphemes: 80,
927
+ description: 'The recipient of the funds. Can be identified by DID or a clear-text name.',
1129
928
  },
1130
- shortDescription: {
929
+ amount: {
1131
930
  type: 'string',
1132
- maxLength: 3000,
1133
- maxGraphemes: 300,
1134
- description: 'A short description of this collection',
931
+ description: 'Amount of funding received.',
1135
932
  },
1136
- coverPhoto: {
1137
- type: 'union',
1138
- refs: [
1139
- 'lex:app.certified.defs#uri',
1140
- 'lex:app.certified.defs#smallBlob',
1141
- ],
1142
- description: 'The cover photo of this collection (either in URI format or in a blob).',
933
+ currency: {
934
+ type: 'string',
935
+ description: 'Currency of the payment (e.g. EUR, USD, ETH).',
1143
936
  },
1144
- claims: {
1145
- type: 'array',
1146
- description: 'Array of claims with their associated weights in this collection',
1147
- items: {
1148
- type: 'ref',
1149
- ref: 'lex:org.hypercerts.collection#claimItem',
1150
- },
937
+ paymentRail: {
938
+ type: 'string',
939
+ description: 'How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor).',
940
+ },
941
+ paymentNetwork: {
942
+ type: 'string',
943
+ description: 'Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal).',
944
+ },
945
+ transactionId: {
946
+ type: 'string',
947
+ 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.',
948
+ },
949
+ for: {
950
+ type: 'string',
951
+ format: 'at-uri',
952
+ description: 'Optional reference to the activity, project, or organization this funding relates to.',
953
+ },
954
+ notes: {
955
+ type: 'string',
956
+ description: 'Optional notes or additional context for this funding receipt.',
957
+ maxLength: 500,
958
+ },
959
+ occurredAt: {
960
+ type: 'string',
961
+ format: 'datetime',
962
+ description: 'Timestamp when the payment occurred.',
1151
963
  },
1152
964
  createdAt: {
1153
965
  type: 'string',
1154
966
  format: 'datetime',
1155
- description: 'Client-declared timestamp when this record was originally created',
967
+ description: 'Client-declared timestamp when this receipt record was created.',
1156
968
  },
1157
969
  },
1158
970
  },
1159
971
  },
1160
- claimItem: {
1161
- type: 'object',
1162
- required: ['claim', 'weight'],
1163
- properties: {
1164
- claim: {
1165
- type: 'ref',
1166
- ref: 'lex:com.atproto.repo.strongRef',
1167
- description: 'A strong reference to a hypercert claim record. This claim must conform to the lexicon org.hypercerts.claim.record',
1168
- },
1169
- weight: {
1170
- type: 'string',
1171
- description: 'The weight/importance of this hypercert claim in the collection (a percentage from 0-100, stored as a string to avoid float precision issues). The total claim weights should add up to 100.',
1172
- },
1173
- },
1174
- },
1175
972
  },
1176
973
  },
1177
974
  };
1178
- const schemas = Object.values(schemaDict);
1179
- const lexicons = new Lexicons(schemas);
1180
- function validate$9(v, id, hash, requiredType) {
1181
- return (requiredType ? is$typed$9 : maybe$typed)(v, id, hash)
1182
- ? lexicons.validate(`${id}#${hash}`, v)
1183
- : {
1184
- success: false,
1185
- error: new ValidationError(`Must be an object with "${hash === 'main' ? id : `${id}#${hash}`}" $type property`),
1186
- };
1187
- }
1188
- const ids = {
1189
- AppCertifiedDefs: 'app.certified.defs',
1190
- AppCertifiedLocation: 'app.certified.location',
1191
- ComAtprotoRepoStrongRef: 'com.atproto.repo.strongRef',
1192
- OrgHypercertsClaim: 'org.hypercerts.claim',
1193
- OrgHypercertsClaimContribution: 'org.hypercerts.claim.contribution',
1194
- OrgHypercertsClaimEvaluation: 'org.hypercerts.claim.evaluation',
1195
- OrgHypercertsClaimEvidence: 'org.hypercerts.claim.evidence',
1196
- OrgHypercertsClaimMeasurement: 'org.hypercerts.claim.measurement',
1197
- OrgHypercertsClaimRights: 'org.hypercerts.claim.rights',
1198
- OrgHypercertsCollection: 'org.hypercerts.collection',
975
+ const schemas = Object.values(schemaDict);
976
+ const lexicons = new Lexicons(schemas);
977
+ function validate$f(v, id, hash, requiredType) {
978
+ return (requiredType ? is$typed$f : maybe$typed)(v, id, hash)
979
+ ? lexicons.validate(`${id}#${hash}`, v)
980
+ : {
981
+ success: false,
982
+ error: new ValidationError(`Must be an object with "${hash === 'main' ? id : `${id}#${hash}`}" $type property`),
983
+ };
984
+ }
985
+ const ids = {
986
+ AppCertifiedBadgeAward: 'app.certified.badge.award',
987
+ AppCertifiedBadgeDefinition: 'app.certified.badge.definition',
988
+ AppCertifiedBadgeResponse: 'app.certified.badge.response',
989
+ AppCertifiedDefs: 'app.certified.defs',
990
+ AppCertifiedLocation: 'app.certified.location',
991
+ ComAtprotoRepoStrongRef: 'com.atproto.repo.strongRef',
992
+ OrgHypercertsClaimActivity: 'org.hypercerts.claim.activity',
993
+ OrgHypercertsClaimCollection: 'org.hypercerts.claim.collection',
994
+ OrgHypercertsClaimContribution: 'org.hypercerts.claim.contribution',
995
+ OrgHypercertsClaimEvaluation: 'org.hypercerts.claim.evaluation',
996
+ OrgHypercertsClaimEvidence: 'org.hypercerts.claim.evidence',
997
+ OrgHypercertsClaimMeasurement: 'org.hypercerts.claim.measurement',
998
+ OrgHypercertsClaimProject: 'org.hypercerts.claim.project',
999
+ OrgHypercertsClaimRights: 'org.hypercerts.claim.rights',
1000
+ OrgHypercertsDefs: 'org.hypercerts.defs',
1001
+ OrgHypercertsFundingReceipt: 'org.hypercerts.funding.receipt',
1002
+ };
1003
+
1004
+ var lexicon$f = 1;
1005
+ var id$u = "app.certified.badge.award";
1006
+ var defs$h = {
1007
+ main: {
1008
+ type: "record",
1009
+ description: "Records a badge award to a user, project, or activity claim.",
1010
+ key: "tid",
1011
+ record: {
1012
+ type: "object",
1013
+ required: [
1014
+ "badge",
1015
+ "subject",
1016
+ "createdAt"
1017
+ ],
1018
+ properties: {
1019
+ badge: {
1020
+ type: "ref",
1021
+ ref: "app.certified.badge.definition",
1022
+ description: "Reference to the badge definition for this award."
1023
+ },
1024
+ subject: {
1025
+ type: "union",
1026
+ 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.",
1027
+ refs: [
1028
+ "app.certified.defs#did",
1029
+ "com.atproto.repo.strongRef"
1030
+ ]
1031
+ },
1032
+ note: {
1033
+ type: "string",
1034
+ description: "Optional statement explaining the reason for this badge award."
1035
+ },
1036
+ createdAt: {
1037
+ type: "string",
1038
+ format: "datetime",
1039
+ description: "Client-declared timestamp when this record was originally created"
1040
+ }
1041
+ }
1042
+ }
1043
+ }
1044
+ };
1045
+ var BADGE_AWARD_LEXICON_JSON = {
1046
+ lexicon: lexicon$f,
1047
+ id: id$u,
1048
+ defs: defs$h
1049
+ };
1050
+
1051
+ var lexicon$e = 1;
1052
+ var id$t = "app.certified.badge.definition";
1053
+ var defs$g = {
1054
+ main: {
1055
+ type: "record",
1056
+ description: "Defines a badge that can be awarded via badge award records to users, projects, or activity claims.",
1057
+ key: "tid",
1058
+ record: {
1059
+ type: "object",
1060
+ required: [
1061
+ "title",
1062
+ "badgeType",
1063
+ "icon",
1064
+ "createdAt"
1065
+ ],
1066
+ properties: {
1067
+ badgeType: {
1068
+ type: "string",
1069
+ description: "Category of the badge (e.g. endorsement, participation, affiliation)."
1070
+ },
1071
+ title: {
1072
+ type: "string",
1073
+ description: "Human-readable title of the badge."
1074
+ },
1075
+ icon: {
1076
+ type: "blob",
1077
+ description: "Icon representing the badge, stored as a blob for compact visual display.",
1078
+ accept: [
1079
+ "image/png",
1080
+ "image/jpeg",
1081
+ "image/webp",
1082
+ "image/svg+xml"
1083
+ ],
1084
+ maxSize: 1048576
1085
+ },
1086
+ description: {
1087
+ type: "string",
1088
+ description: "Optional short statement describing what the badge represents."
1089
+ },
1090
+ allowedIssuers: {
1091
+ type: "array",
1092
+ description: "Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it.",
1093
+ items: {
1094
+ type: "ref",
1095
+ ref: "app.certified.defs#did"
1096
+ }
1097
+ },
1098
+ createdAt: {
1099
+ type: "string",
1100
+ format: "datetime",
1101
+ description: "Client-declared timestamp when this record was originally created"
1102
+ }
1103
+ }
1104
+ }
1105
+ }
1106
+ };
1107
+ var BADGE_DEFINITION_LEXICON_JSON = {
1108
+ lexicon: lexicon$e,
1109
+ id: id$t,
1110
+ defs: defs$g
1111
+ };
1112
+
1113
+ var lexicon$d = 1;
1114
+ var id$s = "app.certified.badge.response";
1115
+ var defs$f = {
1116
+ main: {
1117
+ type: "record",
1118
+ description: "Recipient response to a badge award.",
1119
+ key: "tid",
1120
+ record: {
1121
+ type: "object",
1122
+ required: [
1123
+ "badgeAward",
1124
+ "response",
1125
+ "createdAt"
1126
+ ],
1127
+ properties: {
1128
+ badgeAward: {
1129
+ type: "ref",
1130
+ ref: "app.certified.badge.award",
1131
+ description: "Reference to the badge award."
1132
+ },
1133
+ response: {
1134
+ type: "string",
1135
+ "enum": [
1136
+ "accepted",
1137
+ "rejected"
1138
+ ],
1139
+ description: "The recipient’s response for the badge (accepted or rejected)."
1140
+ },
1141
+ weight: {
1142
+ type: "string",
1143
+ description: "Optional relative weight for accepted badges, assigned by the recipient."
1144
+ },
1145
+ createdAt: {
1146
+ type: "string",
1147
+ format: "datetime",
1148
+ description: "Client-declared timestamp when this record was originally created"
1149
+ }
1150
+ }
1151
+ }
1152
+ }
1153
+ };
1154
+ var BADGE_RESPONSE_LEXICON_JSON = {
1155
+ lexicon: lexicon$d,
1156
+ id: id$s,
1157
+ defs: defs$f
1158
+ };
1159
+
1160
+ var lexicon$c = 1;
1161
+ var id$r = "app.certified.defs";
1162
+ var description$1 = "Common type definitions used across certified protocols.";
1163
+ var defs$e = {
1164
+ did: {
1165
+ type: "string",
1166
+ format: "did",
1167
+ description: "A Decentralized Identifier (DID) string."
1168
+ }
1169
+ };
1170
+ var CERTIFIED_DEFS_LEXICON_JSON = {
1171
+ lexicon: lexicon$c,
1172
+ id: id$r,
1173
+ description: description$1,
1174
+ defs: defs$e
1175
+ };
1176
+
1177
+ var lexicon$b = 1;
1178
+ var id$q = "app.certified.location";
1179
+ var defs$d = {
1180
+ main: {
1181
+ type: "record",
1182
+ description: "A location reference",
1183
+ key: "tid",
1184
+ record: {
1185
+ type: "object",
1186
+ required: [
1187
+ "lpVersion",
1188
+ "srs",
1189
+ "locationType",
1190
+ "location",
1191
+ "createdAt"
1192
+ ],
1193
+ properties: {
1194
+ lpVersion: {
1195
+ type: "string",
1196
+ description: "The version of the Location Protocol",
1197
+ maxLength: 10
1198
+ },
1199
+ srs: {
1200
+ type: "string",
1201
+ format: "uri",
1202
+ description: "The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system.",
1203
+ maxLength: 100
1204
+ },
1205
+ locationType: {
1206
+ type: "string",
1207
+ description: "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point)",
1208
+ knownValues: [
1209
+ "coordinate-decimal",
1210
+ "geojson-point"
1211
+ ],
1212
+ maxLength: 20
1213
+ },
1214
+ location: {
1215
+ type: "union",
1216
+ refs: [
1217
+ "org.hypercerts.defs#uri",
1218
+ "org.hypercerts.defs#smallBlob"
1219
+ ],
1220
+ description: "The location of where the work was performed as a URI or blob."
1221
+ },
1222
+ name: {
1223
+ type: "string",
1224
+ description: "Optional name for this location",
1225
+ maxLength: 1000,
1226
+ maxGraphemes: 100
1227
+ },
1228
+ description: {
1229
+ type: "string",
1230
+ description: "Optional description for this location",
1231
+ maxLength: 2000,
1232
+ maxGraphemes: 500
1233
+ },
1234
+ createdAt: {
1235
+ type: "string",
1236
+ format: "datetime",
1237
+ description: "Client-declared timestamp when this record was originally created"
1238
+ }
1239
+ }
1240
+ }
1241
+ }
1242
+ };
1243
+ var LOCATION_LEXICON_JSON = {
1244
+ lexicon: lexicon$b,
1245
+ id: id$q,
1246
+ defs: defs$d
1247
+ };
1248
+
1249
+ var lexicon$a = 1;
1250
+ var id$p = "com.atproto.repo.strongRef";
1251
+ var description = "A URI with a content-hash fingerprint.";
1252
+ var defs$c = {
1253
+ main: {
1254
+ type: "object",
1255
+ required: [
1256
+ "uri",
1257
+ "cid"
1258
+ ],
1259
+ properties: {
1260
+ uri: {
1261
+ type: "string",
1262
+ format: "at-uri"
1263
+ },
1264
+ cid: {
1265
+ type: "string",
1266
+ format: "cid"
1267
+ }
1268
+ }
1269
+ }
1270
+ };
1271
+ var STRONGREF_LEXICON_JSON = {
1272
+ lexicon: lexicon$a,
1273
+ id: id$p,
1274
+ description: description,
1275
+ defs: defs$c
1276
+ };
1277
+
1278
+ var lexicon$9 = 1;
1279
+ var id$o = "org.hypercerts.claim.activity";
1280
+ var defs$b = {
1281
+ main: {
1282
+ type: "record",
1283
+ description: "A hypercert record tracking impact work.",
1284
+ key: "any",
1285
+ record: {
1286
+ type: "object",
1287
+ required: [
1288
+ "title",
1289
+ "shortDescription",
1290
+ "createdAt",
1291
+ "startDate",
1292
+ "endDate"
1293
+ ],
1294
+ properties: {
1295
+ title: {
1296
+ type: "string",
1297
+ description: "Title of the hypercert.",
1298
+ maxLength: 256
1299
+ },
1300
+ shortDescription: {
1301
+ type: "string",
1302
+ description: "Short blurb of the impact work done.",
1303
+ maxLength: 3000,
1304
+ maxGraphemes: 300
1305
+ },
1306
+ description: {
1307
+ type: "string",
1308
+ description: "Optional longer description of the impact work done.",
1309
+ maxLength: 30000,
1310
+ maxGraphemes: 3000
1311
+ },
1312
+ image: {
1313
+ type: "union",
1314
+ refs: [
1315
+ "org.hypercerts.defs#uri",
1316
+ "org.hypercerts.defs#smallImage"
1317
+ ],
1318
+ description: "The hypercert visual representation as a URI or image blob."
1319
+ },
1320
+ workScope: {
1321
+ type: "ref",
1322
+ ref: "#workScope"
1323
+ },
1324
+ startDate: {
1325
+ type: "string",
1326
+ format: "datetime",
1327
+ description: "When the work began"
1328
+ },
1329
+ endDate: {
1330
+ type: "string",
1331
+ format: "datetime",
1332
+ description: "When the work ended"
1333
+ },
1334
+ contributions: {
1335
+ type: "array",
1336
+ description: "A strong reference to the contributions done to create the impact in the hypercerts. The record referenced must conform with the lexicon org.hypercerts.claim.contribution.",
1337
+ items: {
1338
+ type: "ref",
1339
+ ref: "com.atproto.repo.strongRef"
1340
+ }
1341
+ },
1342
+ rights: {
1343
+ type: "ref",
1344
+ ref: "com.atproto.repo.strongRef",
1345
+ description: "A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights."
1346
+ },
1347
+ location: {
1348
+ type: "ref",
1349
+ ref: "com.atproto.repo.strongRef",
1350
+ description: "A strong reference to the location where the activity was performed. The record referenced must conform with the lexicon app.certified.location."
1351
+ },
1352
+ project: {
1353
+ type: "string",
1354
+ format: "at-uri",
1355
+ description: "A reference (AT-URI) to the project record that this activity is part of. The record referenced must conform with the lexicon org.hypercerts.claim.project. This activity must also be referenced by the project, establishing a bidirectional link."
1356
+ },
1357
+ createdAt: {
1358
+ type: "string",
1359
+ format: "datetime",
1360
+ description: "Client-declared timestamp when this record was originally created"
1361
+ }
1362
+ }
1363
+ }
1364
+ },
1365
+ workScope: {
1366
+ type: "object",
1367
+ description: "Logical scope of the work using label-based conditions. All labels in `withinAllOf` must apply; at least one label in `withinAnyOf` must apply if provided; no label in `withinNoneOf` may apply.",
1368
+ properties: {
1369
+ withinAllOf: {
1370
+ type: "array",
1371
+ description: "Labels that MUST all hold for the scope to apply.",
1372
+ items: {
1373
+ type: "string"
1374
+ },
1375
+ maxLength: 100
1376
+ },
1377
+ withinAnyOf: {
1378
+ type: "array",
1379
+ description: "Labels of which AT LEAST ONE must hold (optional). If omitted or empty, imposes no additional condition.",
1380
+ items: {
1381
+ type: "string"
1382
+ },
1383
+ maxLength: 100
1384
+ },
1385
+ withinNoneOf: {
1386
+ type: "array",
1387
+ description: "Labels that MUST NOT hold for the scope to apply.",
1388
+ items: {
1389
+ type: "string"
1390
+ },
1391
+ maxLength: 100
1392
+ }
1393
+ }
1394
+ },
1395
+ activityWeight: {
1396
+ type: "object",
1397
+ required: [
1398
+ "activity",
1399
+ "weight"
1400
+ ],
1401
+ properties: {
1402
+ activity: {
1403
+ type: "ref",
1404
+ ref: "com.atproto.repo.strongRef",
1405
+ description: "A strong reference to a hypercert activity record. This activity must conform to the lexicon org.hypercerts.claim.activity"
1406
+ },
1407
+ weight: {
1408
+ type: "string",
1409
+ description: "The relative weight/importance of this hypercert activity (stored as a string to avoid float precision issues). Weights can be any positive numeric values and do not need to sum to a specific total; normalization can be performed by the consuming application as needed."
1410
+ }
1411
+ }
1412
+ }
1413
+ };
1414
+ var ACTIVITY_LEXICON_JSON = {
1415
+ lexicon: lexicon$9,
1416
+ id: id$o,
1417
+ defs: defs$b
1418
+ };
1419
+
1420
+ var lexicon$8 = 1;
1421
+ var id$n = "org.hypercerts.claim.collection";
1422
+ var defs$a = {
1423
+ main: {
1424
+ type: "record",
1425
+ description: "A collection/group of hypercerts that have a specific property.",
1426
+ key: "tid",
1427
+ record: {
1428
+ type: "object",
1429
+ required: [
1430
+ "title",
1431
+ "activities",
1432
+ "createdAt"
1433
+ ],
1434
+ properties: {
1435
+ title: {
1436
+ type: "string",
1437
+ description: "The title of this collection",
1438
+ maxLength: 800,
1439
+ maxGraphemes: 80
1440
+ },
1441
+ shortDescription: {
1442
+ type: "string",
1443
+ maxLength: 3000,
1444
+ maxGraphemes: 300,
1445
+ description: "A short description of this collection"
1446
+ },
1447
+ avatar: {
1448
+ type: "blob",
1449
+ description: "Primary avatar image representing this collection across apps and views; typically a square image.",
1450
+ accept: [
1451
+ "image/png",
1452
+ "image/jpeg"
1453
+ ],
1454
+ maxSize: 1000000
1455
+ },
1456
+ coverPhoto: {
1457
+ type: "blob",
1458
+ description: "The cover photo of this collection.",
1459
+ accept: [
1460
+ "image/png",
1461
+ "image/jpeg"
1462
+ ],
1463
+ maxSize: 1000000
1464
+ },
1465
+ activities: {
1466
+ type: "array",
1467
+ description: "Array of activities with their associated weights in this collection",
1468
+ items: {
1469
+ type: "ref",
1470
+ ref: "org.hypercerts.claim.activity#activityWeight"
1471
+ }
1472
+ },
1473
+ createdAt: {
1474
+ type: "string",
1475
+ format: "datetime",
1476
+ description: "Client-declared timestamp when this record was originally created"
1477
+ }
1478
+ }
1479
+ }
1480
+ }
1481
+ };
1482
+ var COLLECTION_LEXICON_JSON = {
1483
+ lexicon: lexicon$8,
1484
+ id: id$n,
1485
+ defs: defs$a
1486
+ };
1487
+
1488
+ var lexicon$7 = 1;
1489
+ var id$m = "org.hypercerts.claim.contribution";
1490
+ var defs$9 = {
1491
+ main: {
1492
+ type: "record",
1493
+ description: "A contribution made toward a hypercert's impact.",
1494
+ key: "tid",
1495
+ record: {
1496
+ type: "object",
1497
+ required: [
1498
+ "contributors",
1499
+ "createdAt"
1500
+ ],
1501
+ properties: {
1502
+ role: {
1503
+ type: "string",
1504
+ description: "Role or title of the contributor(s).",
1505
+ maxLength: 100
1506
+ },
1507
+ contributors: {
1508
+ type: "array",
1509
+ description: "List of the contributors (names, pseudonyms, or DIDs). If multiple contributors are stored in the same hypercertContribution, then they would have the exact same role.",
1510
+ items: {
1511
+ type: "string"
1512
+ }
1513
+ },
1514
+ description: {
1515
+ type: "string",
1516
+ description: "What the contribution concretely achieved",
1517
+ maxLength: 2000,
1518
+ maxGraphemes: 500
1519
+ },
1520
+ startDate: {
1521
+ type: "string",
1522
+ format: "datetime",
1523
+ description: "When this contribution started. This should be a subset of the hypercert timeframe."
1524
+ },
1525
+ endDate: {
1526
+ type: "string",
1527
+ format: "datetime",
1528
+ description: "When this contribution finished. This should be a subset of the hypercert timeframe."
1529
+ },
1530
+ createdAt: {
1531
+ type: "string",
1532
+ format: "datetime",
1533
+ description: "Client-declared timestamp when this record was originally created"
1534
+ }
1535
+ }
1536
+ }
1537
+ }
1538
+ };
1539
+ var CONTRIBUTION_LEXICON_JSON = {
1540
+ lexicon: lexicon$7,
1541
+ id: id$m,
1542
+ defs: defs$9
1543
+ };
1544
+
1545
+ var lexicon$6 = 1;
1546
+ var id$l = "org.hypercerts.claim.evaluation";
1547
+ var defs$8 = {
1548
+ score: {
1549
+ type: "object",
1550
+ description: "Overall score for an evaluation on a numeric scale.",
1551
+ required: [
1552
+ "min",
1553
+ "max",
1554
+ "value"
1555
+ ],
1556
+ properties: {
1557
+ min: {
1558
+ type: "integer",
1559
+ description: "Minimum value of the scale, e.g. 0 or 1."
1560
+ },
1561
+ max: {
1562
+ type: "integer",
1563
+ description: "Maximum value of the scale, e.g. 5 or 10."
1564
+ },
1565
+ value: {
1566
+ type: "integer",
1567
+ description: "Score within the inclusive range [min, max]."
1568
+ }
1569
+ }
1570
+ },
1571
+ main: {
1572
+ type: "record",
1573
+ description: "An evaluation of a hypercert record (e.g. an activity and its impact).",
1574
+ key: "tid",
1575
+ record: {
1576
+ type: "object",
1577
+ required: [
1578
+ "evaluators",
1579
+ "summary",
1580
+ "createdAt"
1581
+ ],
1582
+ properties: {
1583
+ subject: {
1584
+ type: "ref",
1585
+ ref: "com.atproto.repo.strongRef",
1586
+ description: "A strong reference to what is being evaluated. (e.g activity, measurement, contribution, etc.)"
1587
+ },
1588
+ evaluators: {
1589
+ type: "array",
1590
+ description: "DIDs of the evaluators",
1591
+ items: {
1592
+ type: "ref",
1593
+ ref: "app.certified.defs#did"
1594
+ },
1595
+ maxLength: 1000
1596
+ },
1597
+ content: {
1598
+ type: "array",
1599
+ description: "Evaluation data (URIs or blobs) containing detailed reports or methodology",
1600
+ items: {
1601
+ type: "union",
1602
+ refs: [
1603
+ "org.hypercerts.defs#uri",
1604
+ "org.hypercerts.defs#smallBlob"
1605
+ ]
1606
+ },
1607
+ maxLength: 100
1608
+ },
1609
+ measurements: {
1610
+ type: "array",
1611
+ description: "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.claim.measurement ",
1612
+ items: {
1613
+ type: "ref",
1614
+ ref: "com.atproto.repo.strongRef"
1615
+ },
1616
+ maxLength: 100
1617
+ },
1618
+ summary: {
1619
+ type: "string",
1620
+ description: "Brief evaluation summary",
1621
+ maxLength: 5000,
1622
+ maxGraphemes: 1000
1623
+ },
1624
+ score: {
1625
+ type: "ref",
1626
+ ref: "#score",
1627
+ description: "Optional overall score for this evaluation on a numeric scale."
1628
+ },
1629
+ location: {
1630
+ type: "ref",
1631
+ ref: "com.atproto.repo.strongRef",
1632
+ description: "An optional reference for georeferenced evaluations. The record referenced must conform with the lexicon app.certified.location."
1633
+ },
1634
+ createdAt: {
1635
+ type: "string",
1636
+ format: "datetime",
1637
+ description: "Client-declared timestamp when this record was originally created"
1638
+ }
1639
+ }
1640
+ }
1641
+ }
1642
+ };
1643
+ var EVALUATION_LEXICON_JSON = {
1644
+ lexicon: lexicon$6,
1645
+ id: id$l,
1646
+ defs: defs$8
1647
+ };
1648
+
1649
+ var lexicon$5 = 1;
1650
+ var id$k = "org.hypercerts.claim.evidence";
1651
+ var defs$7 = {
1652
+ main: {
1653
+ type: "record",
1654
+ 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.",
1655
+ key: "tid",
1656
+ record: {
1657
+ type: "object",
1658
+ required: [
1659
+ "content",
1660
+ "title",
1661
+ "createdAt"
1662
+ ],
1663
+ properties: {
1664
+ subject: {
1665
+ type: "ref",
1666
+ ref: "com.atproto.repo.strongRef",
1667
+ description: "A strong reference to the record this evidence relates to (e.g. an activity, project, claim, or evaluation)."
1668
+ },
1669
+ content: {
1670
+ type: "union",
1671
+ refs: [
1672
+ "org.hypercerts.defs#uri",
1673
+ "org.hypercerts.defs#smallBlob"
1674
+ ],
1675
+ description: "A piece of evidence (URI or blob) related to the subject record; it may support, clarify, or challenge a hypercert claim."
1676
+ },
1677
+ title: {
1678
+ type: "string",
1679
+ maxLength: 256,
1680
+ description: "Title to describe the nature of the evidence."
1681
+ },
1682
+ shortDescription: {
1683
+ type: "string",
1684
+ maxLength: 3000,
1685
+ maxGraphemes: 300,
1686
+ description: "Short description explaining what this evidence shows."
1687
+ },
1688
+ description: {
1689
+ type: "string",
1690
+ description: "Longer description describing the evidence in more detail.",
1691
+ maxLength: 30000,
1692
+ maxGraphemes: 3000
1693
+ },
1694
+ relationType: {
1695
+ type: "string",
1696
+ description: "How this evidence relates to the subject.",
1697
+ knownValues: [
1698
+ "supports",
1699
+ "challenges",
1700
+ "clarifies"
1701
+ ]
1702
+ },
1703
+ createdAt: {
1704
+ type: "string",
1705
+ format: "datetime",
1706
+ description: "Client-declared timestamp when this record was originally created"
1707
+ }
1708
+ }
1709
+ }
1710
+ }
1711
+ };
1712
+ var EVIDENCE_LEXICON_JSON = {
1713
+ lexicon: lexicon$5,
1714
+ id: id$k,
1715
+ defs: defs$7
1716
+ };
1717
+
1718
+ var lexicon$4 = 1;
1719
+ var id$j = "org.hypercerts.claim.measurement";
1720
+ var defs$6 = {
1721
+ main: {
1722
+ type: "record",
1723
+ description: "Measurement data related to a hypercert record (e.g. an activity and its impact).",
1724
+ key: "tid",
1725
+ record: {
1726
+ type: "object",
1727
+ required: [
1728
+ "measurers",
1729
+ "metric",
1730
+ "value",
1731
+ "createdAt"
1732
+ ],
1733
+ properties: {
1734
+ subject: {
1735
+ type: "ref",
1736
+ ref: "com.atproto.repo.strongRef",
1737
+ description: "A strong reference to the record this measurement refers to (e.g. an activity, project, or claim)."
1738
+ },
1739
+ measurers: {
1740
+ type: "array",
1741
+ description: "DIDs of the entity (or entities) that measured this data",
1742
+ items: {
1743
+ type: "ref",
1744
+ ref: "app.certified.defs#did"
1745
+ },
1746
+ maxLength: 100
1747
+ },
1748
+ metric: {
1749
+ type: "string",
1750
+ description: "The metric being measured",
1751
+ maxLength: 500
1752
+ },
1753
+ value: {
1754
+ type: "string",
1755
+ description: "The measured value",
1756
+ maxLength: 500
1757
+ },
1758
+ methodType: {
1759
+ type: "string",
1760
+ description: "Short identifier for the measurement methodology",
1761
+ maxLength: 30
1762
+ },
1763
+ methodURI: {
1764
+ type: "string",
1765
+ format: "uri",
1766
+ description: "URI to methodology documentation, standard protocol, or measurement procedure"
1767
+ },
1768
+ evidenceURI: {
1769
+ type: "array",
1770
+ description: "URIs to related evidence or underlying data (e.g. org.hypercerts.claim.evidence records or raw datasets)",
1771
+ items: {
1772
+ type: "string",
1773
+ format: "uri"
1774
+ },
1775
+ maxLength: 50
1776
+ },
1777
+ location: {
1778
+ type: "ref",
1779
+ ref: "com.atproto.repo.strongRef",
1780
+ description: "A strong reference to the location where the measurement was taken. The record referenced must conform with the lexicon app.certified.location"
1781
+ },
1782
+ createdAt: {
1783
+ type: "string",
1784
+ format: "datetime",
1785
+ description: "Client-declared timestamp when this record was originally created"
1786
+ }
1787
+ }
1788
+ }
1789
+ }
1790
+ };
1791
+ var MEASUREMENT_LEXICON_JSON = {
1792
+ lexicon: lexicon$4,
1793
+ id: id$j,
1794
+ defs: defs$6
1795
+ };
1796
+
1797
+ var lexicon$3 = 1;
1798
+ var id$i = "org.hypercerts.claim.project";
1799
+ var defs$5 = {
1800
+ main: {
1801
+ type: "record",
1802
+ description: "A project that can include multiple activities, each of which may be linked to at most one project.",
1803
+ key: "tid",
1804
+ record: {
1805
+ type: "object",
1806
+ required: [
1807
+ "title",
1808
+ "shortDescription",
1809
+ "createdAt"
1810
+ ],
1811
+ properties: {
1812
+ title: {
1813
+ type: "string",
1814
+ description: "Title of this project",
1815
+ maxLength: 800,
1816
+ maxGraphemes: 80
1817
+ },
1818
+ shortDescription: {
1819
+ type: "string",
1820
+ maxLength: 3000,
1821
+ maxGraphemes: 300,
1822
+ description: "Short summary of this project, suitable for previews and list views."
1823
+ },
1824
+ description: {
1825
+ type: "ref",
1826
+ ref: "pub.leaflet.pages.linearDocument#main",
1827
+ description: "Rich-text description of this project, represented as a Leaflet linear document."
1828
+ },
1829
+ avatar: {
1830
+ type: "blob",
1831
+ description: "Primary avatar image representing this project across apps and views; typically a square logo or project identity image.",
1832
+ accept: [
1833
+ "image/png",
1834
+ "image/jpeg"
1835
+ ],
1836
+ maxSize: 1000000
1837
+ },
1838
+ coverPhoto: {
1839
+ type: "blob",
1840
+ description: "The cover photo of this project.",
1841
+ accept: [
1842
+ "image/png",
1843
+ "image/jpeg"
1844
+ ],
1845
+ maxSize: 1000000
1846
+ },
1847
+ activities: {
1848
+ type: "array",
1849
+ description: "Array of activities with their associated weights in this project",
1850
+ items: {
1851
+ type: "ref",
1852
+ ref: "org.hypercerts.claim.activity#activityWeight"
1853
+ }
1854
+ },
1855
+ location: {
1856
+ type: "ref",
1857
+ ref: "com.atproto.repo.strongRef",
1858
+ description: "A strong reference to a location record describing where the work for this project took place. The referenced record must conform to the app.certified.location lexicon."
1859
+ },
1860
+ createdAt: {
1861
+ type: "string",
1862
+ format: "datetime",
1863
+ description: "Client-declared timestamp when this record was originally created"
1864
+ }
1865
+ }
1866
+ }
1867
+ }
1868
+ };
1869
+ var PROJECT_LEXICON_JSON = {
1870
+ lexicon: lexicon$3,
1871
+ id: id$i,
1872
+ defs: defs$5
1199
1873
  };
1200
1874
 
1201
- var defs = /*#__PURE__*/Object.freeze({
1202
- __proto__: null
1875
+ var lexicon$2 = 1;
1876
+ var id$h = "org.hypercerts.claim.rights";
1877
+ var defs$4 = {
1878
+ main: {
1879
+ type: "record",
1880
+ 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.",
1881
+ key: "tid",
1882
+ record: {
1883
+ type: "object",
1884
+ required: [
1885
+ "rightsName",
1886
+ "rightsType",
1887
+ "rightsDescription",
1888
+ "createdAt"
1889
+ ],
1890
+ properties: {
1891
+ rightsName: {
1892
+ type: "string",
1893
+ description: "Full name of the rights",
1894
+ maxLength: 100
1895
+ },
1896
+ rightsType: {
1897
+ type: "string",
1898
+ description: "Short rights identifier for easier search",
1899
+ maxLength: 10
1900
+ },
1901
+ rightsDescription: {
1902
+ type: "string",
1903
+ description: "Description of the rights of this hypercert"
1904
+ },
1905
+ attachment: {
1906
+ type: "union",
1907
+ refs: [
1908
+ "org.hypercerts.defs#uri",
1909
+ "org.hypercerts.defs#smallBlob"
1910
+ ],
1911
+ description: "An attachment to define the rights further, e.g. a legal document."
1912
+ },
1913
+ createdAt: {
1914
+ type: "string",
1915
+ format: "datetime",
1916
+ description: "Client-declared timestamp when this record was originally created"
1917
+ }
1918
+ }
1919
+ }
1920
+ }
1921
+ };
1922
+ var RIGHTS_LEXICON_JSON = {
1923
+ lexicon: lexicon$2,
1924
+ id: id$h,
1925
+ defs: defs$4
1926
+ };
1927
+
1928
+ var lexicon$1 = 1;
1929
+ var id$g = "org.hypercerts.defs";
1930
+ var defs$3 = {
1931
+ uri: {
1932
+ type: "object",
1933
+ required: [
1934
+ "uri"
1935
+ ],
1936
+ description: "Object containing a URI to external data",
1937
+ properties: {
1938
+ uri: {
1939
+ type: "string",
1940
+ format: "uri",
1941
+ maxGraphemes: 1024,
1942
+ description: "URI to external data"
1943
+ }
1944
+ }
1945
+ },
1946
+ smallBlob: {
1947
+ type: "object",
1948
+ required: [
1949
+ "blob"
1950
+ ],
1951
+ description: "Object containing a blob to external data",
1952
+ properties: {
1953
+ blob: {
1954
+ type: "blob",
1955
+ accept: [
1956
+ "*/*"
1957
+ ],
1958
+ maxSize: 10485760,
1959
+ description: "Blob to external data (up to 10MB)"
1960
+ }
1961
+ }
1962
+ },
1963
+ largeBlob: {
1964
+ type: "object",
1965
+ required: [
1966
+ "blob"
1967
+ ],
1968
+ description: "Object containing a blob to external data",
1969
+ properties: {
1970
+ blob: {
1971
+ type: "blob",
1972
+ accept: [
1973
+ "*/*"
1974
+ ],
1975
+ maxSize: 104857600,
1976
+ description: "Blob to external data (up to 100MB)"
1977
+ }
1978
+ }
1979
+ },
1980
+ smallImage: {
1981
+ type: "object",
1982
+ required: [
1983
+ "image"
1984
+ ],
1985
+ description: "Object containing a small image",
1986
+ properties: {
1987
+ image: {
1988
+ type: "blob",
1989
+ accept: [
1990
+ "image/jpeg",
1991
+ "image/jpg",
1992
+ "image/png",
1993
+ "image/webp"
1994
+ ],
1995
+ maxSize: 5242880,
1996
+ description: "Image (up to 5MB)"
1997
+ }
1998
+ }
1999
+ },
2000
+ largeImage: {
2001
+ type: "object",
2002
+ required: [
2003
+ "image"
2004
+ ],
2005
+ description: "Object containing a large image",
2006
+ properties: {
2007
+ image: {
2008
+ type: "blob",
2009
+ accept: [
2010
+ "image/jpeg",
2011
+ "image/jpg",
2012
+ "image/png",
2013
+ "image/webp"
2014
+ ],
2015
+ maxSize: 10485760,
2016
+ description: "Image (up to 10MB)"
2017
+ }
2018
+ }
2019
+ }
2020
+ };
2021
+ var HYPERCERTS_DEFS_LEXICON_JSON = {
2022
+ lexicon: lexicon$1,
2023
+ id: id$g,
2024
+ defs: defs$3
2025
+ };
2026
+
2027
+ var lexicon = 1;
2028
+ var id$f = "org.hypercerts.funding.receipt";
2029
+ var defs$2 = {
2030
+ main: {
2031
+ type: "record",
2032
+ description: "Records a funding receipt for a payment from one user to another user. It may be recorded by the recipient, by the sender, or by a third party. The sender may remain anonymous.",
2033
+ key: "tid",
2034
+ record: {
2035
+ type: "object",
2036
+ required: [
2037
+ "from",
2038
+ "to",
2039
+ "amount",
2040
+ "currency",
2041
+ "createdAt"
2042
+ ],
2043
+ properties: {
2044
+ from: {
2045
+ type: "ref",
2046
+ ref: "app.certified.defs#did",
2047
+ description: "DID of the sender who transferred the funds. Leave empty if sender wants to stay anonymous."
2048
+ },
2049
+ to: {
2050
+ type: "string",
2051
+ description: "The recipient of the funds. Can be identified by DID or a clear-text name."
2052
+ },
2053
+ amount: {
2054
+ type: "string",
2055
+ description: "Amount of funding received."
2056
+ },
2057
+ currency: {
2058
+ type: "string",
2059
+ description: "Currency of the payment (e.g. EUR, USD, ETH)."
2060
+ },
2061
+ paymentRail: {
2062
+ type: "string",
2063
+ description: "How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor)."
2064
+ },
2065
+ paymentNetwork: {
2066
+ type: "string",
2067
+ description: "Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal)."
2068
+ },
2069
+ transactionId: {
2070
+ type: "string",
2071
+ 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."
2072
+ },
2073
+ "for": {
2074
+ type: "string",
2075
+ format: "at-uri",
2076
+ description: "Optional reference to the activity, project, or organization this funding relates to."
2077
+ },
2078
+ notes: {
2079
+ type: "string",
2080
+ description: "Optional notes or additional context for this funding receipt.",
2081
+ maxLength: 500
2082
+ },
2083
+ occurredAt: {
2084
+ type: "string",
2085
+ format: "datetime",
2086
+ description: "Timestamp when the payment occurred."
2087
+ },
2088
+ createdAt: {
2089
+ type: "string",
2090
+ format: "datetime",
2091
+ description: "Client-declared timestamp when this receipt record was created."
2092
+ }
2093
+ }
2094
+ }
2095
+ }
2096
+ };
2097
+ var FUNDING_RECEIPT_LEXICON_JSON = {
2098
+ lexicon: lexicon,
2099
+ id: id$f,
2100
+ defs: defs$2
2101
+ };
2102
+
2103
+ const is$typed$e = is$typed$f, validate$e = validate$f;
2104
+ const id$e = 'app.certified.badge.award';
2105
+ const hashMain$d = 'main';
2106
+ function isMain$d(v) {
2107
+ return is$typed$e(v, id$e, hashMain$d);
2108
+ }
2109
+ function validateMain$d(v) {
2110
+ return validate$e(v, id$e, hashMain$d, true);
2111
+ }
2112
+
2113
+ var award = /*#__PURE__*/Object.freeze({
2114
+ __proto__: null,
2115
+ isMain: isMain$d,
2116
+ isRecord: isMain$d,
2117
+ validateMain: validateMain$d,
2118
+ validateRecord: validateMain$d
2119
+ });
2120
+
2121
+ const is$typed$d = is$typed$f, validate$d = validate$f;
2122
+ const id$d = 'app.certified.badge.definition';
2123
+ const hashMain$c = 'main';
2124
+ function isMain$c(v) {
2125
+ return is$typed$d(v, id$d, hashMain$c);
2126
+ }
2127
+ function validateMain$c(v) {
2128
+ return validate$d(v, id$d, hashMain$c, true);
2129
+ }
2130
+
2131
+ var definition = /*#__PURE__*/Object.freeze({
2132
+ __proto__: null,
2133
+ isMain: isMain$c,
2134
+ isRecord: isMain$c,
2135
+ validateMain: validateMain$c,
2136
+ validateRecord: validateMain$c
2137
+ });
2138
+
2139
+ const is$typed$c = is$typed$f, validate$c = validate$f;
2140
+ const id$c = 'app.certified.badge.response';
2141
+ const hashMain$b = 'main';
2142
+ function isMain$b(v) {
2143
+ return is$typed$c(v, id$c, hashMain$b);
2144
+ }
2145
+ function validateMain$b(v) {
2146
+ return validate$c(v, id$c, hashMain$b, true);
2147
+ }
2148
+
2149
+ var response = /*#__PURE__*/Object.freeze({
2150
+ __proto__: null,
2151
+ isMain: isMain$b,
2152
+ isRecord: isMain$b,
2153
+ validateMain: validateMain$b,
2154
+ validateRecord: validateMain$b
2155
+ });
2156
+
2157
+ var defs$1 = /*#__PURE__*/Object.freeze({
2158
+ __proto__: null
2159
+ });
2160
+
2161
+ const is$typed$b = is$typed$f, validate$b = validate$f;
2162
+ const id$b = 'app.certified.location';
2163
+ const hashMain$a = 'main';
2164
+ function isMain$a(v) {
2165
+ return is$typed$b(v, id$b, hashMain$a);
2166
+ }
2167
+ function validateMain$a(v) {
2168
+ return validate$b(v, id$b, hashMain$a, true);
2169
+ }
2170
+
2171
+ var location = /*#__PURE__*/Object.freeze({
2172
+ __proto__: null,
2173
+ isMain: isMain$a,
2174
+ isRecord: isMain$a,
2175
+ validateMain: validateMain$a,
2176
+ validateRecord: validateMain$a
2177
+ });
2178
+
2179
+ const is$typed$a = is$typed$f, validate$a = validate$f;
2180
+ const id$a = 'com.atproto.repo.strongRef';
2181
+ const hashMain$9 = 'main';
2182
+ function isMain$9(v) {
2183
+ return is$typed$a(v, id$a, hashMain$9);
2184
+ }
2185
+ function validateMain$9(v) {
2186
+ return validate$a(v, id$a, hashMain$9);
2187
+ }
2188
+
2189
+ var strongRef = /*#__PURE__*/Object.freeze({
2190
+ __proto__: null,
2191
+ isMain: isMain$9,
2192
+ validateMain: validateMain$9
1203
2193
  });
1204
2194
 
1205
- const is$typed$8 = is$typed$9, validate$8 = validate$9;
1206
- const id$8 = 'app.certified.location';
2195
+ const is$typed$9 = is$typed$f, validate$9 = validate$f;
2196
+ const id$9 = 'org.hypercerts.claim.activity';
1207
2197
  const hashMain$8 = 'main';
1208
2198
  function isMain$8(v) {
1209
- return is$typed$8(v, id$8, hashMain$8);
2199
+ return is$typed$9(v, id$9, hashMain$8);
1210
2200
  }
1211
2201
  function validateMain$8(v) {
1212
- return validate$8(v, id$8, hashMain$8, true);
2202
+ return validate$9(v, id$9, hashMain$8, true);
2203
+ }
2204
+ const hashWorkScope = 'workScope';
2205
+ function isWorkScope(v) {
2206
+ return is$typed$9(v, id$9, hashWorkScope);
2207
+ }
2208
+ function validateWorkScope(v) {
2209
+ return validate$9(v, id$9, hashWorkScope);
2210
+ }
2211
+ const hashActivityWeight = 'activityWeight';
2212
+ function isActivityWeight(v) {
2213
+ return is$typed$9(v, id$9, hashActivityWeight);
2214
+ }
2215
+ function validateActivityWeight(v) {
2216
+ return validate$9(v, id$9, hashActivityWeight);
1213
2217
  }
1214
2218
 
1215
- var location = /*#__PURE__*/Object.freeze({
1216
- __proto__: null,
1217
- isMain: isMain$8,
1218
- isRecord: isMain$8,
1219
- validateMain: validateMain$8,
1220
- validateRecord: validateMain$8
2219
+ var activity = /*#__PURE__*/Object.freeze({
2220
+ __proto__: null,
2221
+ isActivityWeight: isActivityWeight,
2222
+ isMain: isMain$8,
2223
+ isRecord: isMain$8,
2224
+ isWorkScope: isWorkScope,
2225
+ validateActivityWeight: validateActivityWeight,
2226
+ validateMain: validateMain$8,
2227
+ validateRecord: validateMain$8,
2228
+ validateWorkScope: validateWorkScope
1221
2229
  });
1222
2230
 
1223
- const is$typed$7 = is$typed$9, validate$7 = validate$9;
1224
- const id$7 = 'com.atproto.repo.strongRef';
2231
+ const is$typed$8 = is$typed$f, validate$8 = validate$f;
2232
+ const id$8 = 'org.hypercerts.claim.collection';
1225
2233
  const hashMain$7 = 'main';
1226
2234
  function isMain$7(v) {
1227
- return is$typed$7(v, id$7, hashMain$7);
2235
+ return is$typed$8(v, id$8, hashMain$7);
1228
2236
  }
1229
2237
  function validateMain$7(v) {
1230
- return validate$7(v, id$7, hashMain$7);
2238
+ return validate$8(v, id$8, hashMain$7, true);
1231
2239
  }
1232
2240
 
1233
- var strongRef = /*#__PURE__*/Object.freeze({
1234
- __proto__: null,
1235
- isMain: isMain$7,
1236
- validateMain: validateMain$7
2241
+ var collection = /*#__PURE__*/Object.freeze({
2242
+ __proto__: null,
2243
+ isMain: isMain$7,
2244
+ isRecord: isMain$7,
2245
+ validateMain: validateMain$7,
2246
+ validateRecord: validateMain$7
1237
2247
  });
1238
2248
 
1239
- const is$typed$6 = is$typed$9, validate$6 = validate$9;
1240
- const id$6 = 'org.hypercerts.claim';
2249
+ const is$typed$7 = is$typed$f, validate$7 = validate$f;
2250
+ const id$7 = 'org.hypercerts.claim.contribution';
1241
2251
  const hashMain$6 = 'main';
1242
2252
  function isMain$6(v) {
1243
- return is$typed$6(v, id$6, hashMain$6);
2253
+ return is$typed$7(v, id$7, hashMain$6);
1244
2254
  }
1245
2255
  function validateMain$6(v) {
1246
- return validate$6(v, id$6, hashMain$6, true);
2256
+ return validate$7(v, id$7, hashMain$6, true);
1247
2257
  }
1248
2258
 
1249
- var claim = /*#__PURE__*/Object.freeze({
1250
- __proto__: null,
1251
- isMain: isMain$6,
1252
- isRecord: isMain$6,
1253
- validateMain: validateMain$6,
1254
- validateRecord: validateMain$6
2259
+ var contribution = /*#__PURE__*/Object.freeze({
2260
+ __proto__: null,
2261
+ isMain: isMain$6,
2262
+ isRecord: isMain$6,
2263
+ validateMain: validateMain$6,
2264
+ validateRecord: validateMain$6
1255
2265
  });
1256
2266
 
1257
- const is$typed$5 = is$typed$9, validate$5 = validate$9;
1258
- const id$5 = 'org.hypercerts.claim.contribution';
2267
+ const is$typed$6 = is$typed$f, validate$6 = validate$f;
2268
+ const id$6 = 'org.hypercerts.claim.evaluation';
2269
+ const hashScore = 'score';
2270
+ function isScore(v) {
2271
+ return is$typed$6(v, id$6, hashScore);
2272
+ }
2273
+ function validateScore(v) {
2274
+ return validate$6(v, id$6, hashScore);
2275
+ }
1259
2276
  const hashMain$5 = 'main';
1260
2277
  function isMain$5(v) {
1261
- return is$typed$5(v, id$5, hashMain$5);
2278
+ return is$typed$6(v, id$6, hashMain$5);
1262
2279
  }
1263
2280
  function validateMain$5(v) {
1264
- return validate$5(v, id$5, hashMain$5, true);
2281
+ return validate$6(v, id$6, hashMain$5, true);
1265
2282
  }
1266
2283
 
1267
- var contribution = /*#__PURE__*/Object.freeze({
1268
- __proto__: null,
1269
- isMain: isMain$5,
1270
- isRecord: isMain$5,
1271
- validateMain: validateMain$5,
1272
- validateRecord: validateMain$5
2284
+ var evaluation = /*#__PURE__*/Object.freeze({
2285
+ __proto__: null,
2286
+ isMain: isMain$5,
2287
+ isRecord: isMain$5,
2288
+ isScore: isScore,
2289
+ validateMain: validateMain$5,
2290
+ validateRecord: validateMain$5,
2291
+ validateScore: validateScore
1273
2292
  });
1274
2293
 
1275
- const is$typed$4 = is$typed$9, validate$4 = validate$9;
1276
- const id$4 = 'org.hypercerts.claim.evaluation';
2294
+ const is$typed$5 = is$typed$f, validate$5 = validate$f;
2295
+ const id$5 = 'org.hypercerts.claim.evidence';
1277
2296
  const hashMain$4 = 'main';
1278
2297
  function isMain$4(v) {
1279
- return is$typed$4(v, id$4, hashMain$4);
2298
+ return is$typed$5(v, id$5, hashMain$4);
1280
2299
  }
1281
2300
  function validateMain$4(v) {
1282
- return validate$4(v, id$4, hashMain$4, true);
2301
+ return validate$5(v, id$5, hashMain$4, true);
1283
2302
  }
1284
2303
 
1285
- var evaluation = /*#__PURE__*/Object.freeze({
1286
- __proto__: null,
1287
- isMain: isMain$4,
1288
- isRecord: isMain$4,
1289
- validateMain: validateMain$4,
1290
- validateRecord: validateMain$4
2304
+ var evidence = /*#__PURE__*/Object.freeze({
2305
+ __proto__: null,
2306
+ isMain: isMain$4,
2307
+ isRecord: isMain$4,
2308
+ validateMain: validateMain$4,
2309
+ validateRecord: validateMain$4
1291
2310
  });
1292
2311
 
1293
- const is$typed$3 = is$typed$9, validate$3 = validate$9;
1294
- const id$3 = 'org.hypercerts.claim.evidence';
2312
+ const is$typed$4 = is$typed$f, validate$4 = validate$f;
2313
+ const id$4 = 'org.hypercerts.claim.measurement';
1295
2314
  const hashMain$3 = 'main';
1296
2315
  function isMain$3(v) {
1297
- return is$typed$3(v, id$3, hashMain$3);
2316
+ return is$typed$4(v, id$4, hashMain$3);
1298
2317
  }
1299
2318
  function validateMain$3(v) {
1300
- return validate$3(v, id$3, hashMain$3, true);
2319
+ return validate$4(v, id$4, hashMain$3, true);
1301
2320
  }
1302
2321
 
1303
- var evidence = /*#__PURE__*/Object.freeze({
1304
- __proto__: null,
1305
- isMain: isMain$3,
1306
- isRecord: isMain$3,
1307
- validateMain: validateMain$3,
1308
- validateRecord: validateMain$3
2322
+ var measurement = /*#__PURE__*/Object.freeze({
2323
+ __proto__: null,
2324
+ isMain: isMain$3,
2325
+ isRecord: isMain$3,
2326
+ validateMain: validateMain$3,
2327
+ validateRecord: validateMain$3
1309
2328
  });
1310
2329
 
1311
- const is$typed$2 = is$typed$9, validate$2 = validate$9;
1312
- const id$2 = 'org.hypercerts.claim.measurement';
2330
+ const is$typed$3 = is$typed$f, validate$3 = validate$f;
2331
+ const id$3 = 'org.hypercerts.claim.project';
1313
2332
  const hashMain$2 = 'main';
1314
2333
  function isMain$2(v) {
1315
- return is$typed$2(v, id$2, hashMain$2);
2334
+ return is$typed$3(v, id$3, hashMain$2);
1316
2335
  }
1317
2336
  function validateMain$2(v) {
1318
- return validate$2(v, id$2, hashMain$2, true);
2337
+ return validate$3(v, id$3, hashMain$2, true);
1319
2338
  }
1320
2339
 
1321
- var measurement = /*#__PURE__*/Object.freeze({
1322
- __proto__: null,
1323
- isMain: isMain$2,
1324
- isRecord: isMain$2,
1325
- validateMain: validateMain$2,
1326
- validateRecord: validateMain$2
2340
+ var project = /*#__PURE__*/Object.freeze({
2341
+ __proto__: null,
2342
+ isMain: isMain$2,
2343
+ isRecord: isMain$2,
2344
+ validateMain: validateMain$2,
2345
+ validateRecord: validateMain$2
1327
2346
  });
1328
2347
 
1329
- const is$typed$1 = is$typed$9, validate$1 = validate$9;
1330
- const id$1 = 'org.hypercerts.claim.rights';
2348
+ const is$typed$2 = is$typed$f, validate$2 = validate$f;
2349
+ const id$2 = 'org.hypercerts.claim.rights';
1331
2350
  const hashMain$1 = 'main';
1332
2351
  function isMain$1(v) {
1333
- return is$typed$1(v, id$1, hashMain$1);
2352
+ return is$typed$2(v, id$2, hashMain$1);
1334
2353
  }
1335
2354
  function validateMain$1(v) {
1336
- return validate$1(v, id$1, hashMain$1, true);
2355
+ return validate$2(v, id$2, hashMain$1, true);
1337
2356
  }
1338
2357
 
1339
2358
  var rights = /*#__PURE__*/Object.freeze({
1340
- __proto__: null,
1341
- isMain: isMain$1,
1342
- isRecord: isMain$1,
1343
- validateMain: validateMain$1,
1344
- validateRecord: validateMain$1
2359
+ __proto__: null,
2360
+ isMain: isMain$1,
2361
+ isRecord: isMain$1,
2362
+ validateMain: validateMain$1,
2363
+ validateRecord: validateMain$1
2364
+ });
2365
+
2366
+ const is$typed$1 = is$typed$f, validate$1 = validate$f;
2367
+ const id$1 = 'org.hypercerts.defs';
2368
+ const hashUri = 'uri';
2369
+ function isUri(v) {
2370
+ return is$typed$1(v, id$1, hashUri);
2371
+ }
2372
+ function validateUri(v) {
2373
+ return validate$1(v, id$1, hashUri);
2374
+ }
2375
+ const hashSmallBlob = 'smallBlob';
2376
+ function isSmallBlob(v) {
2377
+ return is$typed$1(v, id$1, hashSmallBlob);
2378
+ }
2379
+ function validateSmallBlob(v) {
2380
+ return validate$1(v, id$1, hashSmallBlob);
2381
+ }
2382
+ const hashLargeBlob = 'largeBlob';
2383
+ function isLargeBlob(v) {
2384
+ return is$typed$1(v, id$1, hashLargeBlob);
2385
+ }
2386
+ function validateLargeBlob(v) {
2387
+ return validate$1(v, id$1, hashLargeBlob);
2388
+ }
2389
+ const hashSmallImage = 'smallImage';
2390
+ function isSmallImage(v) {
2391
+ return is$typed$1(v, id$1, hashSmallImage);
2392
+ }
2393
+ function validateSmallImage(v) {
2394
+ return validate$1(v, id$1, hashSmallImage);
2395
+ }
2396
+ const hashLargeImage = 'largeImage';
2397
+ function isLargeImage(v) {
2398
+ return is$typed$1(v, id$1, hashLargeImage);
2399
+ }
2400
+ function validateLargeImage(v) {
2401
+ return validate$1(v, id$1, hashLargeImage);
2402
+ }
2403
+
2404
+ var defs = /*#__PURE__*/Object.freeze({
2405
+ __proto__: null,
2406
+ isLargeBlob: isLargeBlob,
2407
+ isLargeImage: isLargeImage,
2408
+ isSmallBlob: isSmallBlob,
2409
+ isSmallImage: isSmallImage,
2410
+ isUri: isUri,
2411
+ validateLargeBlob: validateLargeBlob,
2412
+ validateLargeImage: validateLargeImage,
2413
+ validateSmallBlob: validateSmallBlob,
2414
+ validateSmallImage: validateSmallImage,
2415
+ validateUri: validateUri
1345
2416
  });
1346
2417
 
1347
- const is$typed = is$typed$9, validate = validate$9;
1348
- const id = 'org.hypercerts.collection';
2418
+ const is$typed = is$typed$f, validate = validate$f;
2419
+ const id = 'org.hypercerts.funding.receipt';
1349
2420
  const hashMain = 'main';
1350
2421
  function isMain(v) {
1351
2422
  return is$typed(v, id, hashMain);
@@ -1353,25 +2424,30 @@ function isMain(v) {
1353
2424
  function validateMain(v) {
1354
2425
  return validate(v, id, hashMain, true);
1355
2426
  }
1356
- const hashClaimItem = 'claimItem';
1357
- function isClaimItem(v) {
1358
- return is$typed(v, id, hashClaimItem);
1359
- }
1360
- function validateClaimItem(v) {
1361
- return validate(v, id, hashClaimItem);
1362
- }
1363
2427
 
1364
- var collection = /*#__PURE__*/Object.freeze({
1365
- __proto__: null,
1366
- isClaimItem: isClaimItem,
1367
- isMain: isMain,
1368
- isRecord: isMain,
1369
- validateClaimItem: validateClaimItem,
1370
- validateMain: validateMain,
1371
- validateRecord: validateMain
2428
+ var receipt = /*#__PURE__*/Object.freeze({
2429
+ __proto__: null,
2430
+ isMain: isMain,
2431
+ isRecord: isMain,
2432
+ validateMain: validateMain,
2433
+ validateRecord: validateMain
1372
2434
  });
1373
2435
 
1374
2436
  /**
2437
+ * @file Auto-generated exports for hypercert lexicons
2438
+ *
2439
+ * ⚠️ DO NOT EDIT THIS FILE MANUALLY ⚠️
2440
+ *
2441
+ * This file is automatically generated by scripts/generate-exports.js
2442
+ * Generated: 2026-01-02T20:37:58.264Z
2443
+ *
2444
+ * To regenerate this file, run:
2445
+ * npm run gen-api
2446
+ * or:
2447
+ * npm run gen-index
2448
+ *
2449
+ * ---
2450
+ *
1375
2451
  * Hypercert lexicon definitions for AT Protocol.
1376
2452
  *
1377
2453
  * This module exports the lexicon documents, collection names,
@@ -1379,63 +2455,106 @@ var collection = /*#__PURE__*/Object.freeze({
1379
2455
  *
1380
2456
  * @packageDocumentation
1381
2457
  */
2458
+ // Individual NSID constants
2459
+ const BADGE_AWARD_NSID = "app.certified.badge.award";
2460
+ const BADGE_DEFINITION_NSID = "app.certified.badge.definition";
2461
+ const BADGE_RESPONSE_NSID = "app.certified.badge.response";
2462
+ const CERTIFIED_DEFS_NSID = "app.certified.defs";
2463
+ const LOCATION_NSID = "app.certified.location";
2464
+ const STRONGREF_NSID = "com.atproto.repo.strongRef";
2465
+ const ACTIVITY_NSID = "org.hypercerts.claim.activity";
2466
+ const COLLECTION_NSID = "org.hypercerts.claim.collection";
2467
+ const CONTRIBUTION_NSID = "org.hypercerts.claim.contribution";
2468
+ const EVALUATION_NSID = "org.hypercerts.claim.evaluation";
2469
+ const EVIDENCE_NSID = "org.hypercerts.claim.evidence";
2470
+ const MEASUREMENT_NSID = "org.hypercerts.claim.measurement";
2471
+ const PROJECT_NSID = "org.hypercerts.claim.project";
2472
+ const RIGHTS_NSID = "org.hypercerts.claim.rights";
2473
+ const HYPERCERTS_DEFS_NSID = "org.hypercerts.defs";
2474
+ const FUNDING_RECEIPT_NSID = "org.hypercerts.funding.receipt";
1382
2475
  /**
1383
- * All hypercert-related lexicons for registration with AT Protocol Agent.
1384
- *
1385
- * This array contains all lexicon documents needed to work with
1386
- * hypercert records.
1387
- */
1388
- const HYPERCERT_LEXICONS = [
1389
- defsLexicon,
1390
- locationLexicon,
1391
- claimLexicon,
1392
- rightsLexicon,
1393
- contributionLexicon,
1394
- measurementLexicon,
1395
- evaluationLexicon,
1396
- evidenceLexicon,
1397
- collectionLexicon,
1398
- ];
1399
- /**
1400
- * Collection NSIDs (Namespaced Identifiers) for hypercert records.
2476
+ * Collection NSIDs organized by semantic record type.
1401
2477
  *
1402
2478
  * Use these constants when performing record operations to ensure
1403
2479
  * correct collection names.
1404
2480
  */
1405
- const HYPERCERT_COLLECTIONS = {
1406
- /**
1407
- * Main hypercert claim record collection.
1408
- */
1409
- CLAIM: "org.hypercerts.claim",
1410
- /**
1411
- * Rights record collection.
1412
- */
1413
- RIGHTS: "org.hypercerts.claim.rights",
1414
- /**
1415
- * Location record collection (shared certified lexicon).
1416
- */
1417
- LOCATION: "app.certified.location",
1418
- /**
1419
- * Contribution record collection.
1420
- */
1421
- CONTRIBUTION: "org.hypercerts.claim.contribution",
1422
- /**
1423
- * Measurement record collection.
1424
- */
1425
- MEASUREMENT: "org.hypercerts.claim.measurement",
1426
- /**
1427
- * Evaluation record collection.
1428
- */
1429
- EVALUATION: "org.hypercerts.claim.evaluation",
1430
- /**
1431
- * Evidence record collection.
1432
- */
1433
- EVIDENCE: "org.hypercerts.claim.evidence",
1434
- /**
1435
- * Collection record collection (groups of hypercerts).
1436
- */
1437
- COLLECTION: "org.hypercerts.collection",
2481
+ const HYPERCERTS_NSIDS = {
2482
+ BADGE_AWARD: BADGE_AWARD_NSID,
2483
+ BADGE_DEFINITION: BADGE_DEFINITION_NSID,
2484
+ BADGE_RESPONSE: BADGE_RESPONSE_NSID,
2485
+ CERTIFIED_DEFS: CERTIFIED_DEFS_NSID,
2486
+ LOCATION: LOCATION_NSID,
2487
+ STRONGREF: STRONGREF_NSID,
2488
+ ACTIVITY: ACTIVITY_NSID,
2489
+ COLLECTION: COLLECTION_NSID,
2490
+ CONTRIBUTION: CONTRIBUTION_NSID,
2491
+ EVALUATION: EVALUATION_NSID,
2492
+ EVIDENCE: EVIDENCE_NSID,
2493
+ MEASUREMENT: MEASUREMENT_NSID,
2494
+ PROJECT: PROJECT_NSID,
2495
+ RIGHTS: RIGHTS_NSID,
2496
+ HYPERCERTS_DEFS: HYPERCERTS_DEFS_NSID,
2497
+ FUNDING_RECEIPT: FUNDING_RECEIPT_NSID,
2498
+ };
2499
+ /**
2500
+ * Lexicon JSON objects organized by semantic record type.
2501
+ */
2502
+ const HYPERCERTS_LEXICON_JSON = {
2503
+ BADGE_AWARD: BADGE_AWARD_LEXICON_JSON,
2504
+ BADGE_DEFINITION: BADGE_DEFINITION_LEXICON_JSON,
2505
+ BADGE_RESPONSE: BADGE_RESPONSE_LEXICON_JSON,
2506
+ CERTIFIED_DEFS: CERTIFIED_DEFS_LEXICON_JSON,
2507
+ LOCATION: LOCATION_LEXICON_JSON,
2508
+ STRONGREF: STRONGREF_LEXICON_JSON,
2509
+ ACTIVITY: ACTIVITY_LEXICON_JSON,
2510
+ COLLECTION: COLLECTION_LEXICON_JSON,
2511
+ CONTRIBUTION: CONTRIBUTION_LEXICON_JSON,
2512
+ EVALUATION: EVALUATION_LEXICON_JSON,
2513
+ EVIDENCE: EVIDENCE_LEXICON_JSON,
2514
+ MEASUREMENT: MEASUREMENT_LEXICON_JSON,
2515
+ PROJECT: PROJECT_LEXICON_JSON,
2516
+ RIGHTS: RIGHTS_LEXICON_JSON,
2517
+ HYPERCERTS_DEFS: HYPERCERTS_DEFS_LEXICON_JSON,
2518
+ FUNDING_RECEIPT: FUNDING_RECEIPT_LEXICON_JSON,
2519
+ };
2520
+ // Individual lexicon objects (from lexicons.get())
2521
+ const BADGE_AWARD_LEXICON_DOC = lexicons.get(BADGE_AWARD_NSID);
2522
+ const BADGE_DEFINITION_LEXICON_DOC = lexicons.get(BADGE_DEFINITION_NSID);
2523
+ const BADGE_RESPONSE_LEXICON_DOC = lexicons.get(BADGE_RESPONSE_NSID);
2524
+ const CERTIFIED_DEFS_LEXICON_DOC = lexicons.get(CERTIFIED_DEFS_NSID);
2525
+ const LOCATION_LEXICON_DOC = lexicons.get(LOCATION_NSID);
2526
+ const STRONGREF_LEXICON_DOC = lexicons.get(STRONGREF_NSID);
2527
+ const ACTIVITY_LEXICON_DOC = lexicons.get(ACTIVITY_NSID);
2528
+ const COLLECTION_LEXICON_DOC = lexicons.get(COLLECTION_NSID);
2529
+ const CONTRIBUTION_LEXICON_DOC = lexicons.get(CONTRIBUTION_NSID);
2530
+ const EVALUATION_LEXICON_DOC = lexicons.get(EVALUATION_NSID);
2531
+ const EVIDENCE_LEXICON_DOC = lexicons.get(EVIDENCE_NSID);
2532
+ const MEASUREMENT_LEXICON_DOC = lexicons.get(MEASUREMENT_NSID);
2533
+ const PROJECT_LEXICON_DOC = lexicons.get(PROJECT_NSID);
2534
+ const RIGHTS_LEXICON_DOC = lexicons.get(RIGHTS_NSID);
2535
+ const HYPERCERTS_DEFS_LEXICON_DOC = lexicons.get(HYPERCERTS_DEFS_NSID);
2536
+ const FUNDING_RECEIPT_LEXICON_DOC = lexicons.get(FUNDING_RECEIPT_NSID);
2537
+ /**
2538
+ * Lexicon document objects organized by semantic record type.
2539
+ */
2540
+ const HYPERCERTS_LEXICON_DOC = {
2541
+ BADGE_AWARD: BADGE_AWARD_LEXICON_DOC,
2542
+ BADGE_DEFINITION: BADGE_DEFINITION_LEXICON_DOC,
2543
+ BADGE_RESPONSE: BADGE_RESPONSE_LEXICON_DOC,
2544
+ CERTIFIED_DEFS: CERTIFIED_DEFS_LEXICON_DOC,
2545
+ LOCATION: LOCATION_LEXICON_DOC,
2546
+ STRONGREF: STRONGREF_LEXICON_DOC,
2547
+ ACTIVITY: ACTIVITY_LEXICON_DOC,
2548
+ COLLECTION: COLLECTION_LEXICON_DOC,
2549
+ CONTRIBUTION: CONTRIBUTION_LEXICON_DOC,
2550
+ EVALUATION: EVALUATION_LEXICON_DOC,
2551
+ EVIDENCE: EVIDENCE_LEXICON_DOC,
2552
+ MEASUREMENT: MEASUREMENT_LEXICON_DOC,
2553
+ PROJECT: PROJECT_LEXICON_DOC,
2554
+ RIGHTS: RIGHTS_LEXICON_DOC,
2555
+ HYPERCERTS_DEFS: HYPERCERTS_DEFS_LEXICON_DOC,
2556
+ FUNDING_RECEIPT: FUNDING_RECEIPT_LEXICON_DOC,
1438
2557
  };
1439
2558
 
1440
- export { defs as AppCertifiedDefs, location as AppCertifiedLocation, strongRef as ComAtprotoRepoStrongRef, HYPERCERT_COLLECTIONS, HYPERCERT_LEXICONS, claim as OrgHypercertsClaim, contribution as OrgHypercertsClaimContribution, evaluation as OrgHypercertsClaimEvaluation, evidence as OrgHypercertsClaimEvidence, measurement as OrgHypercertsClaimMeasurement, rights as OrgHypercertsClaimRights, collection as OrgHypercertsCollection, asPredicate, claimLexicon, collectionLexicon, contributionLexicon, defsLexicon, evaluationLexicon, evidenceLexicon, ids, is$typed$9 as is$typed, lexicons, locationLexicon, maybe$typed, measurementLexicon, rightsLexicon, schemaDict, schemas, strongRef$1 as strongRefLexicon, validate$9 as validate };
2559
+ export { ACTIVITY_LEXICON_DOC, ACTIVITY_LEXICON_JSON, ACTIVITY_NSID, award as AppCertifiedBadgeAward, definition as AppCertifiedBadgeDefinition, response as AppCertifiedBadgeResponse, defs$1 as AppCertifiedDefs, location as AppCertifiedLocation, BADGE_AWARD_LEXICON_DOC, BADGE_AWARD_LEXICON_JSON, BADGE_AWARD_NSID, BADGE_DEFINITION_LEXICON_DOC, BADGE_DEFINITION_LEXICON_JSON, BADGE_DEFINITION_NSID, BADGE_RESPONSE_LEXICON_DOC, BADGE_RESPONSE_LEXICON_JSON, BADGE_RESPONSE_NSID, CERTIFIED_DEFS_LEXICON_DOC, CERTIFIED_DEFS_LEXICON_JSON, CERTIFIED_DEFS_NSID, COLLECTION_LEXICON_DOC, COLLECTION_LEXICON_JSON, COLLECTION_NSID, CONTRIBUTION_LEXICON_DOC, CONTRIBUTION_LEXICON_JSON, CONTRIBUTION_NSID, strongRef as ComAtprotoRepoStrongRef, EVALUATION_LEXICON_DOC, EVALUATION_LEXICON_JSON, EVALUATION_NSID, EVIDENCE_LEXICON_DOC, EVIDENCE_LEXICON_JSON, EVIDENCE_NSID, FUNDING_RECEIPT_LEXICON_DOC, FUNDING_RECEIPT_LEXICON_JSON, FUNDING_RECEIPT_NSID, HYPERCERTS_DEFS_LEXICON_DOC, HYPERCERTS_DEFS_LEXICON_JSON, HYPERCERTS_DEFS_NSID, HYPERCERTS_LEXICON_DOC, HYPERCERTS_LEXICON_JSON, HYPERCERTS_NSIDS, ids as HYPERCERTS_NSIDS_BY_TYPE, schemas as HYPERCERTS_SCHEMAS, schemaDict as HYPERCERTS_SCHEMA_DICT, LOCATION_LEXICON_DOC, LOCATION_LEXICON_JSON, LOCATION_NSID, MEASUREMENT_LEXICON_DOC, MEASUREMENT_LEXICON_JSON, MEASUREMENT_NSID, activity as OrgHypercertsClaimActivity, collection as OrgHypercertsClaimCollection, contribution as OrgHypercertsClaimContribution, evaluation as OrgHypercertsClaimEvaluation, evidence as OrgHypercertsClaimEvidence, measurement as OrgHypercertsClaimMeasurement, project as OrgHypercertsClaimProject, rights as OrgHypercertsClaimRights, defs as OrgHypercertsDefs, receipt as OrgHypercertsFundingReceipt, PROJECT_LEXICON_DOC, PROJECT_LEXICON_JSON, PROJECT_NSID, RIGHTS_LEXICON_DOC, RIGHTS_LEXICON_JSON, RIGHTS_NSID, STRONGREF_LEXICON_DOC, STRONGREF_LEXICON_JSON, STRONGREF_NSID, asPredicate, is$typed$f as is$typed, lexicons, maybe$typed, validate$f as validate };
1441
2560
  //# sourceMappingURL=index.mjs.map