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