@hypercerts-org/lexicon 0.10.0-beta.0 → 0.10.0-beta.2

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 (110) hide show
  1. package/README.md +126 -13
  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 +2636 -0
  45. package/dist/index.cjs.map +1 -0
  46. package/dist/index.mjs +2560 -0
  47. package/dist/index.mjs.map +1 -0
  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/package.json +51 -21
  91. package/README.md.orig +0 -267
  92. package/types/index.ts +0 -1257
  93. package/types/lexicons.ts +0 -1071
  94. package/types/types/app/certified/badge/award.ts +0 -48
  95. package/types/types/app/certified/badge/definition.ts +0 -49
  96. package/types/types/app/certified/badge/response.ts +0 -44
  97. package/types/types/app/certified/defs.ts +0 -14
  98. package/types/types/app/certified/location.ts +0 -49
  99. package/types/types/com/atproto/repo/strongRef.ts +0 -31
  100. package/types/types/org/hypercerts/claim/activity.ts +0 -99
  101. package/types/types/org/hypercerts/claim/collection.ts +0 -49
  102. package/types/types/org/hypercerts/claim/contribution.ts +0 -48
  103. package/types/types/org/hypercerts/claim/evaluation.ts +0 -77
  104. package/types/types/org/hypercerts/claim/evidence.ts +0 -53
  105. package/types/types/org/hypercerts/claim/measurement.ts +0 -54
  106. package/types/types/org/hypercerts/claim/project.ts +0 -53
  107. package/types/types/org/hypercerts/claim/rights.ts +0 -49
  108. package/types/types/org/hypercerts/defs.ts +0 -96
  109. package/types/types/org/hypercerts/funding/receipt.ts +0 -58
  110. package/types/util.ts +0 -82
@@ -0,0 +1,1805 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import { Lexicons, type ValidationResult } from '@atproto/lexicon';
5
+ export declare const schemaDict: {
6
+ readonly AppCertifiedBadgeAward: {
7
+ readonly lexicon: 1;
8
+ readonly id: "app.certified.badge.award";
9
+ readonly defs: {
10
+ readonly main: {
11
+ readonly type: "record";
12
+ readonly description: "Records a badge award to a user, project, or activity claim.";
13
+ readonly key: "tid";
14
+ readonly record: {
15
+ readonly type: "object";
16
+ readonly required: ["badge", "subject", "createdAt"];
17
+ readonly properties: {
18
+ readonly badge: {
19
+ readonly type: "ref";
20
+ readonly ref: "lex:app.certified.badge.definition";
21
+ readonly description: "Reference to the badge definition for this award.";
22
+ };
23
+ readonly subject: {
24
+ readonly type: "union";
25
+ readonly description: "Entity the badge award is for (either an account DID or any specific AT Protocol record), e.g. a user, a project, or a specific activity claim.";
26
+ readonly refs: ["lex:app.certified.defs#did", "lex:com.atproto.repo.strongRef"];
27
+ };
28
+ readonly note: {
29
+ readonly type: "string";
30
+ readonly description: "Optional statement explaining the reason for this badge award.";
31
+ };
32
+ readonly createdAt: {
33
+ readonly type: "string";
34
+ readonly format: "datetime";
35
+ readonly description: "Client-declared timestamp when this record was originally created";
36
+ };
37
+ };
38
+ };
39
+ };
40
+ };
41
+ };
42
+ readonly AppCertifiedBadgeDefinition: {
43
+ readonly lexicon: 1;
44
+ readonly id: "app.certified.badge.definition";
45
+ readonly defs: {
46
+ readonly main: {
47
+ readonly type: "record";
48
+ readonly description: "Defines a badge that can be awarded via badge award records to users, projects, or activity claims.";
49
+ readonly key: "tid";
50
+ readonly record: {
51
+ readonly type: "object";
52
+ readonly required: ["title", "badgeType", "icon", "createdAt"];
53
+ readonly properties: {
54
+ readonly badgeType: {
55
+ readonly type: "string";
56
+ readonly description: "Category of the badge (e.g. endorsement, participation, affiliation).";
57
+ };
58
+ readonly title: {
59
+ readonly type: "string";
60
+ readonly description: "Human-readable title of the badge.";
61
+ };
62
+ readonly icon: {
63
+ readonly type: "blob";
64
+ readonly description: "Icon representing the badge, stored as a blob for compact visual display.";
65
+ readonly accept: ["image/png", "image/jpeg", "image/webp", "image/svg+xml"];
66
+ readonly maxSize: 1048576;
67
+ };
68
+ readonly description: {
69
+ readonly type: "string";
70
+ readonly description: "Optional short statement describing what the badge represents.";
71
+ };
72
+ readonly allowedIssuers: {
73
+ readonly type: "array";
74
+ readonly description: "Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it.";
75
+ readonly items: {
76
+ readonly type: "ref";
77
+ readonly ref: "lex:app.certified.defs#did";
78
+ };
79
+ };
80
+ readonly createdAt: {
81
+ readonly type: "string";
82
+ readonly format: "datetime";
83
+ readonly description: "Client-declared timestamp when this record was originally created";
84
+ };
85
+ };
86
+ };
87
+ };
88
+ };
89
+ };
90
+ readonly AppCertifiedBadgeResponse: {
91
+ readonly lexicon: 1;
92
+ readonly id: "app.certified.badge.response";
93
+ readonly defs: {
94
+ readonly main: {
95
+ readonly type: "record";
96
+ readonly description: "Recipient response to a badge award.";
97
+ readonly key: "tid";
98
+ readonly record: {
99
+ readonly type: "object";
100
+ readonly required: ["badgeAward", "response", "createdAt"];
101
+ readonly properties: {
102
+ readonly badgeAward: {
103
+ readonly type: "ref";
104
+ readonly ref: "lex:app.certified.badge.award";
105
+ readonly description: "Reference to the badge award.";
106
+ };
107
+ readonly response: {
108
+ readonly type: "string";
109
+ readonly enum: ["accepted", "rejected"];
110
+ readonly description: "The recipient’s response for the badge (accepted or rejected).";
111
+ };
112
+ readonly weight: {
113
+ readonly type: "string";
114
+ readonly description: "Optional relative weight for accepted badges, assigned by the recipient.";
115
+ };
116
+ readonly createdAt: {
117
+ readonly type: "string";
118
+ readonly format: "datetime";
119
+ readonly description: "Client-declared timestamp when this record was originally created";
120
+ };
121
+ };
122
+ };
123
+ };
124
+ };
125
+ };
126
+ readonly AppCertifiedDefs: {
127
+ readonly lexicon: 1;
128
+ readonly id: "app.certified.defs";
129
+ readonly description: "Common type definitions used across certified protocols.";
130
+ readonly defs: {
131
+ readonly did: {
132
+ readonly type: "string";
133
+ readonly format: "did";
134
+ readonly description: "A Decentralized Identifier (DID) string.";
135
+ };
136
+ };
137
+ };
138
+ readonly AppCertifiedLocation: {
139
+ readonly lexicon: 1;
140
+ readonly id: "app.certified.location";
141
+ readonly defs: {
142
+ readonly main: {
143
+ readonly type: "record";
144
+ readonly description: "A location reference";
145
+ readonly key: "tid";
146
+ readonly record: {
147
+ readonly type: "object";
148
+ readonly required: ["lpVersion", "srs", "locationType", "location", "createdAt"];
149
+ readonly properties: {
150
+ readonly lpVersion: {
151
+ readonly type: "string";
152
+ readonly description: "The version of the Location Protocol";
153
+ readonly maxLength: 10;
154
+ };
155
+ readonly srs: {
156
+ readonly type: "string";
157
+ readonly format: "uri";
158
+ readonly description: "The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system.";
159
+ readonly maxLength: 100;
160
+ };
161
+ readonly locationType: {
162
+ readonly type: "string";
163
+ readonly description: "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point)";
164
+ readonly knownValues: ["coordinate-decimal", "geojson-point"];
165
+ readonly maxLength: 20;
166
+ };
167
+ readonly location: {
168
+ readonly type: "union";
169
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
170
+ readonly description: "The location of where the work was performed as a URI or blob.";
171
+ };
172
+ readonly name: {
173
+ readonly type: "string";
174
+ readonly description: "Optional name for this location";
175
+ readonly maxLength: 1000;
176
+ readonly maxGraphemes: 100;
177
+ };
178
+ readonly description: {
179
+ readonly type: "string";
180
+ readonly description: "Optional description for this location";
181
+ readonly maxLength: 2000;
182
+ readonly maxGraphemes: 500;
183
+ };
184
+ readonly createdAt: {
185
+ readonly type: "string";
186
+ readonly format: "datetime";
187
+ readonly description: "Client-declared timestamp when this record was originally created";
188
+ };
189
+ };
190
+ };
191
+ };
192
+ };
193
+ };
194
+ readonly ComAtprotoRepoStrongRef: {
195
+ readonly lexicon: 1;
196
+ readonly id: "com.atproto.repo.strongRef";
197
+ readonly description: "A URI with a content-hash fingerprint.";
198
+ readonly defs: {
199
+ readonly main: {
200
+ readonly type: "object";
201
+ readonly required: ["uri", "cid"];
202
+ readonly properties: {
203
+ readonly uri: {
204
+ readonly type: "string";
205
+ readonly format: "at-uri";
206
+ };
207
+ readonly cid: {
208
+ readonly type: "string";
209
+ readonly format: "cid";
210
+ };
211
+ };
212
+ };
213
+ };
214
+ };
215
+ readonly OrgHypercertsClaimActivity: {
216
+ readonly lexicon: 1;
217
+ readonly id: "org.hypercerts.claim.activity";
218
+ readonly defs: {
219
+ readonly main: {
220
+ readonly type: "record";
221
+ readonly description: "A hypercert record tracking impact work.";
222
+ readonly key: "any";
223
+ readonly record: {
224
+ readonly type: "object";
225
+ readonly required: ["title", "shortDescription", "createdAt", "startDate", "endDate"];
226
+ readonly properties: {
227
+ readonly title: {
228
+ readonly type: "string";
229
+ readonly description: "Title of the hypercert.";
230
+ readonly maxLength: 256;
231
+ };
232
+ readonly shortDescription: {
233
+ readonly type: "string";
234
+ readonly description: "Short blurb of the impact work done.";
235
+ readonly maxLength: 3000;
236
+ readonly maxGraphemes: 300;
237
+ };
238
+ readonly description: {
239
+ readonly type: "string";
240
+ readonly description: "Optional longer description of the impact work done.";
241
+ readonly maxLength: 30000;
242
+ readonly maxGraphemes: 3000;
243
+ };
244
+ readonly image: {
245
+ readonly type: "union";
246
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
247
+ readonly description: "The hypercert visual representation as a URI or image blob.";
248
+ };
249
+ readonly workScope: {
250
+ readonly type: "ref";
251
+ readonly ref: "lex:org.hypercerts.claim.activity#workScope";
252
+ };
253
+ readonly startDate: {
254
+ readonly type: "string";
255
+ readonly format: "datetime";
256
+ readonly description: "When the work began";
257
+ };
258
+ readonly endDate: {
259
+ readonly type: "string";
260
+ readonly format: "datetime";
261
+ readonly description: "When the work ended";
262
+ };
263
+ readonly contributions: {
264
+ readonly type: "array";
265
+ readonly 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.";
266
+ readonly items: {
267
+ readonly type: "ref";
268
+ readonly ref: "lex:com.atproto.repo.strongRef";
269
+ };
270
+ };
271
+ readonly rights: {
272
+ readonly type: "ref";
273
+ readonly ref: "lex:com.atproto.repo.strongRef";
274
+ readonly description: "A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights.";
275
+ };
276
+ readonly location: {
277
+ readonly type: "ref";
278
+ readonly ref: "lex:com.atproto.repo.strongRef";
279
+ readonly description: "A strong reference to the location where the activity was performed. The record referenced must conform with the lexicon app.certified.location.";
280
+ };
281
+ readonly project: {
282
+ readonly type: "string";
283
+ readonly format: "at-uri";
284
+ readonly 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.";
285
+ };
286
+ readonly createdAt: {
287
+ readonly type: "string";
288
+ readonly format: "datetime";
289
+ readonly description: "Client-declared timestamp when this record was originally created";
290
+ };
291
+ };
292
+ };
293
+ };
294
+ readonly workScope: {
295
+ readonly type: "object";
296
+ readonly 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.";
297
+ readonly properties: {
298
+ readonly withinAllOf: {
299
+ readonly type: "array";
300
+ readonly description: "Labels that MUST all hold for the scope to apply.";
301
+ readonly items: {
302
+ readonly type: "string";
303
+ };
304
+ readonly maxLength: 100;
305
+ };
306
+ readonly withinAnyOf: {
307
+ readonly type: "array";
308
+ readonly description: "Labels of which AT LEAST ONE must hold (optional). If omitted or empty, imposes no additional condition.";
309
+ readonly items: {
310
+ readonly type: "string";
311
+ };
312
+ readonly maxLength: 100;
313
+ };
314
+ readonly withinNoneOf: {
315
+ readonly type: "array";
316
+ readonly description: "Labels that MUST NOT hold for the scope to apply.";
317
+ readonly items: {
318
+ readonly type: "string";
319
+ };
320
+ readonly maxLength: 100;
321
+ };
322
+ };
323
+ };
324
+ readonly activityWeight: {
325
+ readonly type: "object";
326
+ readonly required: ["activity", "weight"];
327
+ readonly properties: {
328
+ readonly activity: {
329
+ readonly type: "ref";
330
+ readonly ref: "lex:com.atproto.repo.strongRef";
331
+ readonly description: "A strong reference to a hypercert activity record. This activity must conform to the lexicon org.hypercerts.claim.activity";
332
+ };
333
+ readonly weight: {
334
+ readonly type: "string";
335
+ readonly 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.";
336
+ };
337
+ };
338
+ };
339
+ };
340
+ };
341
+ readonly OrgHypercertsClaimCollection: {
342
+ readonly lexicon: 1;
343
+ readonly id: "org.hypercerts.claim.collection";
344
+ readonly defs: {
345
+ readonly main: {
346
+ readonly type: "record";
347
+ readonly description: "A collection/group of hypercerts that have a specific property.";
348
+ readonly key: "tid";
349
+ readonly record: {
350
+ readonly type: "object";
351
+ readonly required: ["title", "activities", "createdAt"];
352
+ readonly properties: {
353
+ readonly title: {
354
+ readonly type: "string";
355
+ readonly description: "The title of this collection";
356
+ readonly maxLength: 800;
357
+ readonly maxGraphemes: 80;
358
+ };
359
+ readonly shortDescription: {
360
+ readonly type: "string";
361
+ readonly maxLength: 3000;
362
+ readonly maxGraphemes: 300;
363
+ readonly description: "A short description of this collection";
364
+ };
365
+ readonly avatar: {
366
+ readonly type: "blob";
367
+ readonly description: "Primary avatar image representing this collection across apps and views; typically a square image.";
368
+ readonly accept: ["image/png", "image/jpeg"];
369
+ readonly maxSize: 1000000;
370
+ };
371
+ readonly coverPhoto: {
372
+ readonly type: "blob";
373
+ readonly description: "The cover photo of this collection.";
374
+ readonly accept: ["image/png", "image/jpeg"];
375
+ readonly maxSize: 1000000;
376
+ };
377
+ readonly activities: {
378
+ readonly type: "array";
379
+ readonly description: "Array of activities with their associated weights in this collection";
380
+ readonly items: {
381
+ readonly type: "ref";
382
+ readonly ref: "lex:org.hypercerts.claim.activity#activityWeight";
383
+ };
384
+ };
385
+ readonly createdAt: {
386
+ readonly type: "string";
387
+ readonly format: "datetime";
388
+ readonly description: "Client-declared timestamp when this record was originally created";
389
+ };
390
+ };
391
+ };
392
+ };
393
+ };
394
+ };
395
+ readonly OrgHypercertsClaimContribution: {
396
+ readonly lexicon: 1;
397
+ readonly id: "org.hypercerts.claim.contribution";
398
+ readonly defs: {
399
+ readonly main: {
400
+ readonly type: "record";
401
+ readonly description: "A contribution made toward a hypercert's impact.";
402
+ readonly key: "tid";
403
+ readonly record: {
404
+ readonly type: "object";
405
+ readonly required: ["contributors", "createdAt"];
406
+ readonly properties: {
407
+ readonly role: {
408
+ readonly type: "string";
409
+ readonly description: "Role or title of the contributor(s).";
410
+ readonly maxLength: 100;
411
+ };
412
+ readonly contributors: {
413
+ readonly type: "array";
414
+ readonly 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.";
415
+ readonly items: {
416
+ readonly type: "string";
417
+ };
418
+ };
419
+ readonly description: {
420
+ readonly type: "string";
421
+ readonly description: "What the contribution concretely achieved";
422
+ readonly maxLength: 2000;
423
+ readonly maxGraphemes: 500;
424
+ };
425
+ readonly startDate: {
426
+ readonly type: "string";
427
+ readonly format: "datetime";
428
+ readonly description: "When this contribution started. This should be a subset of the hypercert timeframe.";
429
+ };
430
+ readonly endDate: {
431
+ readonly type: "string";
432
+ readonly format: "datetime";
433
+ readonly description: "When this contribution finished. This should be a subset of the hypercert timeframe.";
434
+ };
435
+ readonly createdAt: {
436
+ readonly type: "string";
437
+ readonly format: "datetime";
438
+ readonly description: "Client-declared timestamp when this record was originally created";
439
+ };
440
+ };
441
+ };
442
+ };
443
+ };
444
+ };
445
+ readonly OrgHypercertsClaimEvaluation: {
446
+ readonly lexicon: 1;
447
+ readonly id: "org.hypercerts.claim.evaluation";
448
+ readonly defs: {
449
+ readonly score: {
450
+ readonly type: "object";
451
+ readonly description: "Overall score for an evaluation on a numeric scale.";
452
+ readonly required: ["min", "max", "value"];
453
+ readonly properties: {
454
+ readonly min: {
455
+ readonly type: "integer";
456
+ readonly description: "Minimum value of the scale, e.g. 0 or 1.";
457
+ };
458
+ readonly max: {
459
+ readonly type: "integer";
460
+ readonly description: "Maximum value of the scale, e.g. 5 or 10.";
461
+ };
462
+ readonly value: {
463
+ readonly type: "integer";
464
+ readonly description: "Score within the inclusive range [min, max].";
465
+ };
466
+ };
467
+ };
468
+ readonly main: {
469
+ readonly type: "record";
470
+ readonly description: "An evaluation of a hypercert record (e.g. an activity and its impact).";
471
+ readonly key: "tid";
472
+ readonly record: {
473
+ readonly type: "object";
474
+ readonly required: ["evaluators", "summary", "createdAt"];
475
+ readonly properties: {
476
+ readonly subject: {
477
+ readonly type: "ref";
478
+ readonly ref: "lex:com.atproto.repo.strongRef";
479
+ readonly description: "A strong reference to what is being evaluated. (e.g activity, measurement, contribution, etc.)";
480
+ };
481
+ readonly evaluators: {
482
+ readonly type: "array";
483
+ readonly description: "DIDs of the evaluators";
484
+ readonly items: {
485
+ readonly type: "ref";
486
+ readonly ref: "lex:app.certified.defs#did";
487
+ };
488
+ readonly maxLength: 1000;
489
+ };
490
+ readonly content: {
491
+ readonly type: "array";
492
+ readonly description: "Evaluation data (URIs or blobs) containing detailed reports or methodology";
493
+ readonly items: {
494
+ readonly type: "union";
495
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
496
+ };
497
+ readonly maxLength: 100;
498
+ };
499
+ readonly measurements: {
500
+ readonly type: "array";
501
+ readonly description: "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.claim.measurement ";
502
+ readonly items: {
503
+ readonly type: "ref";
504
+ readonly ref: "lex:com.atproto.repo.strongRef";
505
+ };
506
+ readonly maxLength: 100;
507
+ };
508
+ readonly summary: {
509
+ readonly type: "string";
510
+ readonly description: "Brief evaluation summary";
511
+ readonly maxLength: 5000;
512
+ readonly maxGraphemes: 1000;
513
+ };
514
+ readonly score: {
515
+ readonly type: "ref";
516
+ readonly ref: "lex:org.hypercerts.claim.evaluation#score";
517
+ readonly description: "Optional overall score for this evaluation on a numeric scale.";
518
+ };
519
+ readonly location: {
520
+ readonly type: "ref";
521
+ readonly ref: "lex:com.atproto.repo.strongRef";
522
+ readonly description: "An optional reference for georeferenced evaluations. The record referenced must conform with the lexicon app.certified.location.";
523
+ };
524
+ readonly createdAt: {
525
+ readonly type: "string";
526
+ readonly format: "datetime";
527
+ readonly description: "Client-declared timestamp when this record was originally created";
528
+ };
529
+ };
530
+ };
531
+ };
532
+ };
533
+ };
534
+ readonly OrgHypercertsClaimEvidence: {
535
+ readonly lexicon: 1;
536
+ readonly id: "org.hypercerts.claim.evidence";
537
+ readonly defs: {
538
+ readonly main: {
539
+ readonly type: "record";
540
+ readonly description: "A piece of evidence related to a hypercert record (e.g. an activity, project, claim, or evaluation). Evidence may support, clarify, or challenge the referenced subject.";
541
+ readonly key: "tid";
542
+ readonly record: {
543
+ readonly type: "object";
544
+ readonly required: ["content", "title", "createdAt"];
545
+ readonly properties: {
546
+ readonly subject: {
547
+ readonly type: "ref";
548
+ readonly ref: "lex:com.atproto.repo.strongRef";
549
+ readonly description: "A strong reference to the record this evidence relates to (e.g. an activity, project, claim, or evaluation).";
550
+ };
551
+ readonly content: {
552
+ readonly type: "union";
553
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
554
+ readonly description: "A piece of evidence (URI or blob) related to the subject record; it may support, clarify, or challenge a hypercert claim.";
555
+ };
556
+ readonly title: {
557
+ readonly type: "string";
558
+ readonly maxLength: 256;
559
+ readonly description: "Title to describe the nature of the evidence.";
560
+ };
561
+ readonly shortDescription: {
562
+ readonly type: "string";
563
+ readonly maxLength: 3000;
564
+ readonly maxGraphemes: 300;
565
+ readonly description: "Short description explaining what this evidence shows.";
566
+ };
567
+ readonly description: {
568
+ readonly type: "string";
569
+ readonly description: "Longer description describing the evidence in more detail.";
570
+ readonly maxLength: 30000;
571
+ readonly maxGraphemes: 3000;
572
+ };
573
+ readonly relationType: {
574
+ readonly type: "string";
575
+ readonly description: "How this evidence relates to the subject.";
576
+ readonly knownValues: ["supports", "challenges", "clarifies"];
577
+ };
578
+ readonly createdAt: {
579
+ readonly type: "string";
580
+ readonly format: "datetime";
581
+ readonly description: "Client-declared timestamp when this record was originally created";
582
+ };
583
+ };
584
+ };
585
+ };
586
+ };
587
+ };
588
+ readonly OrgHypercertsClaimMeasurement: {
589
+ readonly lexicon: 1;
590
+ readonly id: "org.hypercerts.claim.measurement";
591
+ readonly defs: {
592
+ readonly main: {
593
+ readonly type: "record";
594
+ readonly description: "Measurement data related to a hypercert record (e.g. an activity and its impact).";
595
+ readonly key: "tid";
596
+ readonly record: {
597
+ readonly type: "object";
598
+ readonly required: ["measurers", "metric", "value", "createdAt"];
599
+ readonly properties: {
600
+ readonly subject: {
601
+ readonly type: "ref";
602
+ readonly ref: "lex:com.atproto.repo.strongRef";
603
+ readonly description: "A strong reference to the record this measurement refers to (e.g. an activity, project, or claim).";
604
+ };
605
+ readonly measurers: {
606
+ readonly type: "array";
607
+ readonly description: "DIDs of the entity (or entities) that measured this data";
608
+ readonly items: {
609
+ readonly type: "ref";
610
+ readonly ref: "lex:app.certified.defs#did";
611
+ };
612
+ readonly maxLength: 100;
613
+ };
614
+ readonly metric: {
615
+ readonly type: "string";
616
+ readonly description: "The metric being measured";
617
+ readonly maxLength: 500;
618
+ };
619
+ readonly value: {
620
+ readonly type: "string";
621
+ readonly description: "The measured value";
622
+ readonly maxLength: 500;
623
+ };
624
+ readonly methodType: {
625
+ readonly type: "string";
626
+ readonly description: "Short identifier for the measurement methodology";
627
+ readonly maxLength: 30;
628
+ };
629
+ readonly methodURI: {
630
+ readonly type: "string";
631
+ readonly format: "uri";
632
+ readonly description: "URI to methodology documentation, standard protocol, or measurement procedure";
633
+ };
634
+ readonly evidenceURI: {
635
+ readonly type: "array";
636
+ readonly description: "URIs to related evidence or underlying data (e.g. org.hypercerts.claim.evidence records or raw datasets)";
637
+ readonly items: {
638
+ readonly type: "string";
639
+ readonly format: "uri";
640
+ };
641
+ readonly maxLength: 50;
642
+ };
643
+ readonly location: {
644
+ readonly type: "ref";
645
+ readonly ref: "lex:com.atproto.repo.strongRef";
646
+ readonly description: "A strong reference to the location where the measurement was taken. The record referenced must conform with the lexicon app.certified.location";
647
+ };
648
+ readonly createdAt: {
649
+ readonly type: "string";
650
+ readonly format: "datetime";
651
+ readonly description: "Client-declared timestamp when this record was originally created";
652
+ };
653
+ };
654
+ };
655
+ };
656
+ };
657
+ };
658
+ readonly OrgHypercertsClaimProject: {
659
+ readonly lexicon: 1;
660
+ readonly id: "org.hypercerts.claim.project";
661
+ readonly defs: {
662
+ readonly main: {
663
+ readonly type: "record";
664
+ readonly description: "A project that can include multiple activities, each of which may be linked to at most one project.";
665
+ readonly key: "tid";
666
+ readonly record: {
667
+ readonly type: "object";
668
+ readonly required: ["title", "shortDescription", "createdAt"];
669
+ readonly properties: {
670
+ readonly title: {
671
+ readonly type: "string";
672
+ readonly description: "Title of this project";
673
+ readonly maxLength: 800;
674
+ readonly maxGraphemes: 80;
675
+ };
676
+ readonly shortDescription: {
677
+ readonly type: "string";
678
+ readonly maxLength: 3000;
679
+ readonly maxGraphemes: 300;
680
+ readonly description: "Short summary of this project, suitable for previews and list views.";
681
+ };
682
+ readonly description: {
683
+ readonly type: "ref";
684
+ readonly ref: "lex:pub.leaflet.pages.linearDocument#main";
685
+ readonly description: "Rich-text description of this project, represented as a Leaflet linear document.";
686
+ };
687
+ readonly avatar: {
688
+ readonly type: "blob";
689
+ readonly description: "Primary avatar image representing this project across apps and views; typically a square logo or project identity image.";
690
+ readonly accept: ["image/png", "image/jpeg"];
691
+ readonly maxSize: 1000000;
692
+ };
693
+ readonly coverPhoto: {
694
+ readonly type: "blob";
695
+ readonly description: "The cover photo of this project.";
696
+ readonly accept: ["image/png", "image/jpeg"];
697
+ readonly maxSize: 1000000;
698
+ };
699
+ readonly activities: {
700
+ readonly type: "array";
701
+ readonly description: "Array of activities with their associated weights in this project";
702
+ readonly items: {
703
+ readonly type: "ref";
704
+ readonly ref: "lex:org.hypercerts.claim.activity#activityWeight";
705
+ };
706
+ };
707
+ readonly location: {
708
+ readonly type: "ref";
709
+ readonly ref: "lex:com.atproto.repo.strongRef";
710
+ readonly 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.";
711
+ };
712
+ readonly createdAt: {
713
+ readonly type: "string";
714
+ readonly format: "datetime";
715
+ readonly description: "Client-declared timestamp when this record was originally created";
716
+ };
717
+ };
718
+ };
719
+ };
720
+ };
721
+ };
722
+ readonly OrgHypercertsClaimRights: {
723
+ readonly lexicon: 1;
724
+ readonly id: "org.hypercerts.claim.rights";
725
+ readonly defs: {
726
+ readonly main: {
727
+ readonly type: "record";
728
+ readonly description: "Describes the rights that a contributor and/or an owner has, such as whether the hypercert can be sold, transferred, and under what conditions.";
729
+ readonly key: "tid";
730
+ readonly record: {
731
+ readonly type: "object";
732
+ readonly required: ["rightsName", "rightsType", "rightsDescription", "createdAt"];
733
+ readonly properties: {
734
+ readonly rightsName: {
735
+ readonly type: "string";
736
+ readonly description: "Full name of the rights";
737
+ readonly maxLength: 100;
738
+ };
739
+ readonly rightsType: {
740
+ readonly type: "string";
741
+ readonly description: "Short rights identifier for easier search";
742
+ readonly maxLength: 10;
743
+ };
744
+ readonly rightsDescription: {
745
+ readonly type: "string";
746
+ readonly description: "Description of the rights of this hypercert";
747
+ };
748
+ readonly attachment: {
749
+ readonly type: "union";
750
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
751
+ readonly description: "An attachment to define the rights further, e.g. a legal document.";
752
+ };
753
+ readonly createdAt: {
754
+ readonly type: "string";
755
+ readonly format: "datetime";
756
+ readonly description: "Client-declared timestamp when this record was originally created";
757
+ };
758
+ };
759
+ };
760
+ };
761
+ };
762
+ };
763
+ readonly OrgHypercertsDefs: {
764
+ readonly lexicon: 1;
765
+ readonly id: "org.hypercerts.defs";
766
+ readonly defs: {
767
+ readonly uri: {
768
+ readonly type: "object";
769
+ readonly required: ["uri"];
770
+ readonly description: "Object containing a URI to external data";
771
+ readonly properties: {
772
+ readonly uri: {
773
+ readonly type: "string";
774
+ readonly format: "uri";
775
+ readonly maxGraphemes: 1024;
776
+ readonly description: "URI to external data";
777
+ };
778
+ };
779
+ };
780
+ readonly smallBlob: {
781
+ readonly type: "object";
782
+ readonly required: ["blob"];
783
+ readonly description: "Object containing a blob to external data";
784
+ readonly properties: {
785
+ readonly blob: {
786
+ readonly type: "blob";
787
+ readonly accept: ["*/*"];
788
+ readonly maxSize: 10485760;
789
+ readonly description: "Blob to external data (up to 10MB)";
790
+ };
791
+ };
792
+ };
793
+ readonly largeBlob: {
794
+ readonly type: "object";
795
+ readonly required: ["blob"];
796
+ readonly description: "Object containing a blob to external data";
797
+ readonly properties: {
798
+ readonly blob: {
799
+ readonly type: "blob";
800
+ readonly accept: ["*/*"];
801
+ readonly maxSize: 104857600;
802
+ readonly description: "Blob to external data (up to 100MB)";
803
+ };
804
+ };
805
+ };
806
+ readonly smallImage: {
807
+ readonly type: "object";
808
+ readonly required: ["image"];
809
+ readonly description: "Object containing a small image";
810
+ readonly properties: {
811
+ readonly image: {
812
+ readonly type: "blob";
813
+ readonly accept: ["image/jpeg", "image/jpg", "image/png", "image/webp"];
814
+ readonly maxSize: 5242880;
815
+ readonly description: "Image (up to 5MB)";
816
+ };
817
+ };
818
+ };
819
+ readonly largeImage: {
820
+ readonly type: "object";
821
+ readonly required: ["image"];
822
+ readonly description: "Object containing a large image";
823
+ readonly properties: {
824
+ readonly image: {
825
+ readonly type: "blob";
826
+ readonly accept: ["image/jpeg", "image/jpg", "image/png", "image/webp"];
827
+ readonly maxSize: 10485760;
828
+ readonly description: "Image (up to 10MB)";
829
+ };
830
+ };
831
+ };
832
+ };
833
+ };
834
+ readonly OrgHypercertsFundingReceipt: {
835
+ readonly lexicon: 1;
836
+ readonly id: "org.hypercerts.funding.receipt";
837
+ readonly defs: {
838
+ readonly main: {
839
+ readonly type: "record";
840
+ readonly 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.";
841
+ readonly key: "tid";
842
+ readonly record: {
843
+ readonly type: "object";
844
+ readonly required: ["from", "to", "amount", "currency", "createdAt"];
845
+ readonly properties: {
846
+ readonly from: {
847
+ readonly type: "ref";
848
+ readonly ref: "lex:app.certified.defs#did";
849
+ readonly description: "DID of the sender who transferred the funds. Leave empty if sender wants to stay anonymous.";
850
+ };
851
+ readonly to: {
852
+ readonly type: "string";
853
+ readonly description: "The recipient of the funds. Can be identified by DID or a clear-text name.";
854
+ };
855
+ readonly amount: {
856
+ readonly type: "string";
857
+ readonly description: "Amount of funding received.";
858
+ };
859
+ readonly currency: {
860
+ readonly type: "string";
861
+ readonly description: "Currency of the payment (e.g. EUR, USD, ETH).";
862
+ };
863
+ readonly paymentRail: {
864
+ readonly type: "string";
865
+ readonly description: "How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor).";
866
+ };
867
+ readonly paymentNetwork: {
868
+ readonly type: "string";
869
+ readonly description: "Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal).";
870
+ };
871
+ readonly transactionId: {
872
+ readonly type: "string";
873
+ readonly description: "Identifier of the underlying payment transaction (e.g. bank reference, onchain transaction hash, or processor-specific ID). Use paymentNetwork to specify the network where applicable.";
874
+ };
875
+ readonly for: {
876
+ readonly type: "string";
877
+ readonly format: "at-uri";
878
+ readonly description: "Optional reference to the activity, project, or organization this funding relates to.";
879
+ };
880
+ readonly notes: {
881
+ readonly type: "string";
882
+ readonly description: "Optional notes or additional context for this funding receipt.";
883
+ readonly maxLength: 500;
884
+ };
885
+ readonly occurredAt: {
886
+ readonly type: "string";
887
+ readonly format: "datetime";
888
+ readonly description: "Timestamp when the payment occurred.";
889
+ };
890
+ readonly createdAt: {
891
+ readonly type: "string";
892
+ readonly format: "datetime";
893
+ readonly description: "Client-declared timestamp when this receipt record was created.";
894
+ };
895
+ };
896
+ };
897
+ };
898
+ };
899
+ };
900
+ };
901
+ export declare const schemas: ({
902
+ readonly lexicon: 1;
903
+ readonly id: "app.certified.badge.award";
904
+ readonly defs: {
905
+ readonly main: {
906
+ readonly type: "record";
907
+ readonly description: "Records a badge award to a user, project, or activity claim.";
908
+ readonly key: "tid";
909
+ readonly record: {
910
+ readonly type: "object";
911
+ readonly required: ["badge", "subject", "createdAt"];
912
+ readonly properties: {
913
+ readonly badge: {
914
+ readonly type: "ref";
915
+ readonly ref: "lex:app.certified.badge.definition";
916
+ readonly description: "Reference to the badge definition for this award.";
917
+ };
918
+ readonly subject: {
919
+ readonly type: "union";
920
+ readonly description: "Entity the badge award is for (either an account DID or any specific AT Protocol record), e.g. a user, a project, or a specific activity claim.";
921
+ readonly refs: ["lex:app.certified.defs#did", "lex:com.atproto.repo.strongRef"];
922
+ };
923
+ readonly note: {
924
+ readonly type: "string";
925
+ readonly description: "Optional statement explaining the reason for this badge award.";
926
+ };
927
+ readonly createdAt: {
928
+ readonly type: "string";
929
+ readonly format: "datetime";
930
+ readonly description: "Client-declared timestamp when this record was originally created";
931
+ };
932
+ };
933
+ };
934
+ };
935
+ };
936
+ } | {
937
+ readonly lexicon: 1;
938
+ readonly id: "app.certified.badge.definition";
939
+ readonly defs: {
940
+ readonly main: {
941
+ readonly type: "record";
942
+ readonly description: "Defines a badge that can be awarded via badge award records to users, projects, or activity claims.";
943
+ readonly key: "tid";
944
+ readonly record: {
945
+ readonly type: "object";
946
+ readonly required: ["title", "badgeType", "icon", "createdAt"];
947
+ readonly properties: {
948
+ readonly badgeType: {
949
+ readonly type: "string";
950
+ readonly description: "Category of the badge (e.g. endorsement, participation, affiliation).";
951
+ };
952
+ readonly title: {
953
+ readonly type: "string";
954
+ readonly description: "Human-readable title of the badge.";
955
+ };
956
+ readonly icon: {
957
+ readonly type: "blob";
958
+ readonly description: "Icon representing the badge, stored as a blob for compact visual display.";
959
+ readonly accept: ["image/png", "image/jpeg", "image/webp", "image/svg+xml"];
960
+ readonly maxSize: 1048576;
961
+ };
962
+ readonly description: {
963
+ readonly type: "string";
964
+ readonly description: "Optional short statement describing what the badge represents.";
965
+ };
966
+ readonly allowedIssuers: {
967
+ readonly type: "array";
968
+ readonly description: "Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it.";
969
+ readonly items: {
970
+ readonly type: "ref";
971
+ readonly ref: "lex:app.certified.defs#did";
972
+ };
973
+ };
974
+ readonly createdAt: {
975
+ readonly type: "string";
976
+ readonly format: "datetime";
977
+ readonly description: "Client-declared timestamp when this record was originally created";
978
+ };
979
+ };
980
+ };
981
+ };
982
+ };
983
+ } | {
984
+ readonly lexicon: 1;
985
+ readonly id: "app.certified.badge.response";
986
+ readonly defs: {
987
+ readonly main: {
988
+ readonly type: "record";
989
+ readonly description: "Recipient response to a badge award.";
990
+ readonly key: "tid";
991
+ readonly record: {
992
+ readonly type: "object";
993
+ readonly required: ["badgeAward", "response", "createdAt"];
994
+ readonly properties: {
995
+ readonly badgeAward: {
996
+ readonly type: "ref";
997
+ readonly ref: "lex:app.certified.badge.award";
998
+ readonly description: "Reference to the badge award.";
999
+ };
1000
+ readonly response: {
1001
+ readonly type: "string";
1002
+ readonly enum: ["accepted", "rejected"];
1003
+ readonly description: "The recipient’s response for the badge (accepted or rejected).";
1004
+ };
1005
+ readonly weight: {
1006
+ readonly type: "string";
1007
+ readonly description: "Optional relative weight for accepted badges, assigned by the recipient.";
1008
+ };
1009
+ readonly createdAt: {
1010
+ readonly type: "string";
1011
+ readonly format: "datetime";
1012
+ readonly description: "Client-declared timestamp when this record was originally created";
1013
+ };
1014
+ };
1015
+ };
1016
+ };
1017
+ };
1018
+ } | {
1019
+ readonly lexicon: 1;
1020
+ readonly id: "app.certified.defs";
1021
+ readonly description: "Common type definitions used across certified protocols.";
1022
+ readonly defs: {
1023
+ readonly did: {
1024
+ readonly type: "string";
1025
+ readonly format: "did";
1026
+ readonly description: "A Decentralized Identifier (DID) string.";
1027
+ };
1028
+ };
1029
+ } | {
1030
+ readonly lexicon: 1;
1031
+ readonly id: "app.certified.location";
1032
+ readonly defs: {
1033
+ readonly main: {
1034
+ readonly type: "record";
1035
+ readonly description: "A location reference";
1036
+ readonly key: "tid";
1037
+ readonly record: {
1038
+ readonly type: "object";
1039
+ readonly required: ["lpVersion", "srs", "locationType", "location", "createdAt"];
1040
+ readonly properties: {
1041
+ readonly lpVersion: {
1042
+ readonly type: "string";
1043
+ readonly description: "The version of the Location Protocol";
1044
+ readonly maxLength: 10;
1045
+ };
1046
+ readonly srs: {
1047
+ readonly type: "string";
1048
+ readonly format: "uri";
1049
+ readonly description: "The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system.";
1050
+ readonly maxLength: 100;
1051
+ };
1052
+ readonly locationType: {
1053
+ readonly type: "string";
1054
+ readonly description: "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point)";
1055
+ readonly knownValues: ["coordinate-decimal", "geojson-point"];
1056
+ readonly maxLength: 20;
1057
+ };
1058
+ readonly location: {
1059
+ readonly type: "union";
1060
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
1061
+ readonly description: "The location of where the work was performed as a URI or blob.";
1062
+ };
1063
+ readonly name: {
1064
+ readonly type: "string";
1065
+ readonly description: "Optional name for this location";
1066
+ readonly maxLength: 1000;
1067
+ readonly maxGraphemes: 100;
1068
+ };
1069
+ readonly description: {
1070
+ readonly type: "string";
1071
+ readonly description: "Optional description for this location";
1072
+ readonly maxLength: 2000;
1073
+ readonly maxGraphemes: 500;
1074
+ };
1075
+ readonly createdAt: {
1076
+ readonly type: "string";
1077
+ readonly format: "datetime";
1078
+ readonly description: "Client-declared timestamp when this record was originally created";
1079
+ };
1080
+ };
1081
+ };
1082
+ };
1083
+ };
1084
+ } | {
1085
+ readonly lexicon: 1;
1086
+ readonly id: "com.atproto.repo.strongRef";
1087
+ readonly description: "A URI with a content-hash fingerprint.";
1088
+ readonly defs: {
1089
+ readonly main: {
1090
+ readonly type: "object";
1091
+ readonly required: ["uri", "cid"];
1092
+ readonly properties: {
1093
+ readonly uri: {
1094
+ readonly type: "string";
1095
+ readonly format: "at-uri";
1096
+ };
1097
+ readonly cid: {
1098
+ readonly type: "string";
1099
+ readonly format: "cid";
1100
+ };
1101
+ };
1102
+ };
1103
+ };
1104
+ } | {
1105
+ readonly lexicon: 1;
1106
+ readonly id: "org.hypercerts.claim.activity";
1107
+ readonly defs: {
1108
+ readonly main: {
1109
+ readonly type: "record";
1110
+ readonly description: "A hypercert record tracking impact work.";
1111
+ readonly key: "any";
1112
+ readonly record: {
1113
+ readonly type: "object";
1114
+ readonly required: ["title", "shortDescription", "createdAt", "startDate", "endDate"];
1115
+ readonly properties: {
1116
+ readonly title: {
1117
+ readonly type: "string";
1118
+ readonly description: "Title of the hypercert.";
1119
+ readonly maxLength: 256;
1120
+ };
1121
+ readonly shortDescription: {
1122
+ readonly type: "string";
1123
+ readonly description: "Short blurb of the impact work done.";
1124
+ readonly maxLength: 3000;
1125
+ readonly maxGraphemes: 300;
1126
+ };
1127
+ readonly description: {
1128
+ readonly type: "string";
1129
+ readonly description: "Optional longer description of the impact work done.";
1130
+ readonly maxLength: 30000;
1131
+ readonly maxGraphemes: 3000;
1132
+ };
1133
+ readonly image: {
1134
+ readonly type: "union";
1135
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallImage"];
1136
+ readonly description: "The hypercert visual representation as a URI or image blob.";
1137
+ };
1138
+ readonly workScope: {
1139
+ readonly type: "ref";
1140
+ readonly ref: "lex:org.hypercerts.claim.activity#workScope";
1141
+ };
1142
+ readonly startDate: {
1143
+ readonly type: "string";
1144
+ readonly format: "datetime";
1145
+ readonly description: "When the work began";
1146
+ };
1147
+ readonly endDate: {
1148
+ readonly type: "string";
1149
+ readonly format: "datetime";
1150
+ readonly description: "When the work ended";
1151
+ };
1152
+ readonly contributions: {
1153
+ readonly type: "array";
1154
+ readonly 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.";
1155
+ readonly items: {
1156
+ readonly type: "ref";
1157
+ readonly ref: "lex:com.atproto.repo.strongRef";
1158
+ };
1159
+ };
1160
+ readonly rights: {
1161
+ readonly type: "ref";
1162
+ readonly ref: "lex:com.atproto.repo.strongRef";
1163
+ readonly description: "A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights.";
1164
+ };
1165
+ readonly location: {
1166
+ readonly type: "ref";
1167
+ readonly ref: "lex:com.atproto.repo.strongRef";
1168
+ readonly description: "A strong reference to the location where the activity was performed. The record referenced must conform with the lexicon app.certified.location.";
1169
+ };
1170
+ readonly project: {
1171
+ readonly type: "string";
1172
+ readonly format: "at-uri";
1173
+ readonly 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.";
1174
+ };
1175
+ readonly createdAt: {
1176
+ readonly type: "string";
1177
+ readonly format: "datetime";
1178
+ readonly description: "Client-declared timestamp when this record was originally created";
1179
+ };
1180
+ };
1181
+ };
1182
+ };
1183
+ readonly workScope: {
1184
+ readonly type: "object";
1185
+ readonly 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.";
1186
+ readonly properties: {
1187
+ readonly withinAllOf: {
1188
+ readonly type: "array";
1189
+ readonly description: "Labels that MUST all hold for the scope to apply.";
1190
+ readonly items: {
1191
+ readonly type: "string";
1192
+ };
1193
+ readonly maxLength: 100;
1194
+ };
1195
+ readonly withinAnyOf: {
1196
+ readonly type: "array";
1197
+ readonly description: "Labels of which AT LEAST ONE must hold (optional). If omitted or empty, imposes no additional condition.";
1198
+ readonly items: {
1199
+ readonly type: "string";
1200
+ };
1201
+ readonly maxLength: 100;
1202
+ };
1203
+ readonly withinNoneOf: {
1204
+ readonly type: "array";
1205
+ readonly description: "Labels that MUST NOT hold for the scope to apply.";
1206
+ readonly items: {
1207
+ readonly type: "string";
1208
+ };
1209
+ readonly maxLength: 100;
1210
+ };
1211
+ };
1212
+ };
1213
+ readonly activityWeight: {
1214
+ readonly type: "object";
1215
+ readonly required: ["activity", "weight"];
1216
+ readonly properties: {
1217
+ readonly activity: {
1218
+ readonly type: "ref";
1219
+ readonly ref: "lex:com.atproto.repo.strongRef";
1220
+ readonly description: "A strong reference to a hypercert activity record. This activity must conform to the lexicon org.hypercerts.claim.activity";
1221
+ };
1222
+ readonly weight: {
1223
+ readonly type: "string";
1224
+ readonly 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.";
1225
+ };
1226
+ };
1227
+ };
1228
+ };
1229
+ } | {
1230
+ readonly lexicon: 1;
1231
+ readonly id: "org.hypercerts.claim.collection";
1232
+ readonly defs: {
1233
+ readonly main: {
1234
+ readonly type: "record";
1235
+ readonly description: "A collection/group of hypercerts that have a specific property.";
1236
+ readonly key: "tid";
1237
+ readonly record: {
1238
+ readonly type: "object";
1239
+ readonly required: ["title", "activities", "createdAt"];
1240
+ readonly properties: {
1241
+ readonly title: {
1242
+ readonly type: "string";
1243
+ readonly description: "The title of this collection";
1244
+ readonly maxLength: 800;
1245
+ readonly maxGraphemes: 80;
1246
+ };
1247
+ readonly shortDescription: {
1248
+ readonly type: "string";
1249
+ readonly maxLength: 3000;
1250
+ readonly maxGraphemes: 300;
1251
+ readonly description: "A short description of this collection";
1252
+ };
1253
+ readonly avatar: {
1254
+ readonly type: "blob";
1255
+ readonly description: "Primary avatar image representing this collection across apps and views; typically a square image.";
1256
+ readonly accept: ["image/png", "image/jpeg"];
1257
+ readonly maxSize: 1000000;
1258
+ };
1259
+ readonly coverPhoto: {
1260
+ readonly type: "blob";
1261
+ readonly description: "The cover photo of this collection.";
1262
+ readonly accept: ["image/png", "image/jpeg"];
1263
+ readonly maxSize: 1000000;
1264
+ };
1265
+ readonly activities: {
1266
+ readonly type: "array";
1267
+ readonly description: "Array of activities with their associated weights in this collection";
1268
+ readonly items: {
1269
+ readonly type: "ref";
1270
+ readonly ref: "lex:org.hypercerts.claim.activity#activityWeight";
1271
+ };
1272
+ };
1273
+ readonly createdAt: {
1274
+ readonly type: "string";
1275
+ readonly format: "datetime";
1276
+ readonly description: "Client-declared timestamp when this record was originally created";
1277
+ };
1278
+ };
1279
+ };
1280
+ };
1281
+ };
1282
+ } | {
1283
+ readonly lexicon: 1;
1284
+ readonly id: "org.hypercerts.claim.contribution";
1285
+ readonly defs: {
1286
+ readonly main: {
1287
+ readonly type: "record";
1288
+ readonly description: "A contribution made toward a hypercert's impact.";
1289
+ readonly key: "tid";
1290
+ readonly record: {
1291
+ readonly type: "object";
1292
+ readonly required: ["contributors", "createdAt"];
1293
+ readonly properties: {
1294
+ readonly role: {
1295
+ readonly type: "string";
1296
+ readonly description: "Role or title of the contributor(s).";
1297
+ readonly maxLength: 100;
1298
+ };
1299
+ readonly contributors: {
1300
+ readonly type: "array";
1301
+ readonly 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.";
1302
+ readonly items: {
1303
+ readonly type: "string";
1304
+ };
1305
+ };
1306
+ readonly description: {
1307
+ readonly type: "string";
1308
+ readonly description: "What the contribution concretely achieved";
1309
+ readonly maxLength: 2000;
1310
+ readonly maxGraphemes: 500;
1311
+ };
1312
+ readonly startDate: {
1313
+ readonly type: "string";
1314
+ readonly format: "datetime";
1315
+ readonly description: "When this contribution started. This should be a subset of the hypercert timeframe.";
1316
+ };
1317
+ readonly endDate: {
1318
+ readonly type: "string";
1319
+ readonly format: "datetime";
1320
+ readonly description: "When this contribution finished. This should be a subset of the hypercert timeframe.";
1321
+ };
1322
+ readonly createdAt: {
1323
+ readonly type: "string";
1324
+ readonly format: "datetime";
1325
+ readonly description: "Client-declared timestamp when this record was originally created";
1326
+ };
1327
+ };
1328
+ };
1329
+ };
1330
+ };
1331
+ } | {
1332
+ readonly lexicon: 1;
1333
+ readonly id: "org.hypercerts.claim.evaluation";
1334
+ readonly defs: {
1335
+ readonly score: {
1336
+ readonly type: "object";
1337
+ readonly description: "Overall score for an evaluation on a numeric scale.";
1338
+ readonly required: ["min", "max", "value"];
1339
+ readonly properties: {
1340
+ readonly min: {
1341
+ readonly type: "integer";
1342
+ readonly description: "Minimum value of the scale, e.g. 0 or 1.";
1343
+ };
1344
+ readonly max: {
1345
+ readonly type: "integer";
1346
+ readonly description: "Maximum value of the scale, e.g. 5 or 10.";
1347
+ };
1348
+ readonly value: {
1349
+ readonly type: "integer";
1350
+ readonly description: "Score within the inclusive range [min, max].";
1351
+ };
1352
+ };
1353
+ };
1354
+ readonly main: {
1355
+ readonly type: "record";
1356
+ readonly description: "An evaluation of a hypercert record (e.g. an activity and its impact).";
1357
+ readonly key: "tid";
1358
+ readonly record: {
1359
+ readonly type: "object";
1360
+ readonly required: ["evaluators", "summary", "createdAt"];
1361
+ readonly properties: {
1362
+ readonly subject: {
1363
+ readonly type: "ref";
1364
+ readonly ref: "lex:com.atproto.repo.strongRef";
1365
+ readonly description: "A strong reference to what is being evaluated. (e.g activity, measurement, contribution, etc.)";
1366
+ };
1367
+ readonly evaluators: {
1368
+ readonly type: "array";
1369
+ readonly description: "DIDs of the evaluators";
1370
+ readonly items: {
1371
+ readonly type: "ref";
1372
+ readonly ref: "lex:app.certified.defs#did";
1373
+ };
1374
+ readonly maxLength: 1000;
1375
+ };
1376
+ readonly content: {
1377
+ readonly type: "array";
1378
+ readonly description: "Evaluation data (URIs or blobs) containing detailed reports or methodology";
1379
+ readonly items: {
1380
+ readonly type: "union";
1381
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
1382
+ };
1383
+ readonly maxLength: 100;
1384
+ };
1385
+ readonly measurements: {
1386
+ readonly type: "array";
1387
+ readonly description: "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.claim.measurement ";
1388
+ readonly items: {
1389
+ readonly type: "ref";
1390
+ readonly ref: "lex:com.atproto.repo.strongRef";
1391
+ };
1392
+ readonly maxLength: 100;
1393
+ };
1394
+ readonly summary: {
1395
+ readonly type: "string";
1396
+ readonly description: "Brief evaluation summary";
1397
+ readonly maxLength: 5000;
1398
+ readonly maxGraphemes: 1000;
1399
+ };
1400
+ readonly score: {
1401
+ readonly type: "ref";
1402
+ readonly ref: "lex:org.hypercerts.claim.evaluation#score";
1403
+ readonly description: "Optional overall score for this evaluation on a numeric scale.";
1404
+ };
1405
+ readonly location: {
1406
+ readonly type: "ref";
1407
+ readonly ref: "lex:com.atproto.repo.strongRef";
1408
+ readonly description: "An optional reference for georeferenced evaluations. The record referenced must conform with the lexicon app.certified.location.";
1409
+ };
1410
+ readonly createdAt: {
1411
+ readonly type: "string";
1412
+ readonly format: "datetime";
1413
+ readonly description: "Client-declared timestamp when this record was originally created";
1414
+ };
1415
+ };
1416
+ };
1417
+ };
1418
+ };
1419
+ } | {
1420
+ readonly lexicon: 1;
1421
+ readonly id: "org.hypercerts.claim.evidence";
1422
+ readonly defs: {
1423
+ readonly main: {
1424
+ readonly type: "record";
1425
+ readonly description: "A piece of evidence related to a hypercert record (e.g. an activity, project, claim, or evaluation). Evidence may support, clarify, or challenge the referenced subject.";
1426
+ readonly key: "tid";
1427
+ readonly record: {
1428
+ readonly type: "object";
1429
+ readonly required: ["content", "title", "createdAt"];
1430
+ readonly properties: {
1431
+ readonly subject: {
1432
+ readonly type: "ref";
1433
+ readonly ref: "lex:com.atproto.repo.strongRef";
1434
+ readonly description: "A strong reference to the record this evidence relates to (e.g. an activity, project, claim, or evaluation).";
1435
+ };
1436
+ readonly content: {
1437
+ readonly type: "union";
1438
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
1439
+ readonly description: "A piece of evidence (URI or blob) related to the subject record; it may support, clarify, or challenge a hypercert claim.";
1440
+ };
1441
+ readonly title: {
1442
+ readonly type: "string";
1443
+ readonly maxLength: 256;
1444
+ readonly description: "Title to describe the nature of the evidence.";
1445
+ };
1446
+ readonly shortDescription: {
1447
+ readonly type: "string";
1448
+ readonly maxLength: 3000;
1449
+ readonly maxGraphemes: 300;
1450
+ readonly description: "Short description explaining what this evidence shows.";
1451
+ };
1452
+ readonly description: {
1453
+ readonly type: "string";
1454
+ readonly description: "Longer description describing the evidence in more detail.";
1455
+ readonly maxLength: 30000;
1456
+ readonly maxGraphemes: 3000;
1457
+ };
1458
+ readonly relationType: {
1459
+ readonly type: "string";
1460
+ readonly description: "How this evidence relates to the subject.";
1461
+ readonly knownValues: ["supports", "challenges", "clarifies"];
1462
+ };
1463
+ readonly createdAt: {
1464
+ readonly type: "string";
1465
+ readonly format: "datetime";
1466
+ readonly description: "Client-declared timestamp when this record was originally created";
1467
+ };
1468
+ };
1469
+ };
1470
+ };
1471
+ };
1472
+ } | {
1473
+ readonly lexicon: 1;
1474
+ readonly id: "org.hypercerts.claim.measurement";
1475
+ readonly defs: {
1476
+ readonly main: {
1477
+ readonly type: "record";
1478
+ readonly description: "Measurement data related to a hypercert record (e.g. an activity and its impact).";
1479
+ readonly key: "tid";
1480
+ readonly record: {
1481
+ readonly type: "object";
1482
+ readonly required: ["measurers", "metric", "value", "createdAt"];
1483
+ readonly properties: {
1484
+ readonly subject: {
1485
+ readonly type: "ref";
1486
+ readonly ref: "lex:com.atproto.repo.strongRef";
1487
+ readonly description: "A strong reference to the record this measurement refers to (e.g. an activity, project, or claim).";
1488
+ };
1489
+ readonly measurers: {
1490
+ readonly type: "array";
1491
+ readonly description: "DIDs of the entity (or entities) that measured this data";
1492
+ readonly items: {
1493
+ readonly type: "ref";
1494
+ readonly ref: "lex:app.certified.defs#did";
1495
+ };
1496
+ readonly maxLength: 100;
1497
+ };
1498
+ readonly metric: {
1499
+ readonly type: "string";
1500
+ readonly description: "The metric being measured";
1501
+ readonly maxLength: 500;
1502
+ };
1503
+ readonly value: {
1504
+ readonly type: "string";
1505
+ readonly description: "The measured value";
1506
+ readonly maxLength: 500;
1507
+ };
1508
+ readonly methodType: {
1509
+ readonly type: "string";
1510
+ readonly description: "Short identifier for the measurement methodology";
1511
+ readonly maxLength: 30;
1512
+ };
1513
+ readonly methodURI: {
1514
+ readonly type: "string";
1515
+ readonly format: "uri";
1516
+ readonly description: "URI to methodology documentation, standard protocol, or measurement procedure";
1517
+ };
1518
+ readonly evidenceURI: {
1519
+ readonly type: "array";
1520
+ readonly description: "URIs to related evidence or underlying data (e.g. org.hypercerts.claim.evidence records or raw datasets)";
1521
+ readonly items: {
1522
+ readonly type: "string";
1523
+ readonly format: "uri";
1524
+ };
1525
+ readonly maxLength: 50;
1526
+ };
1527
+ readonly location: {
1528
+ readonly type: "ref";
1529
+ readonly ref: "lex:com.atproto.repo.strongRef";
1530
+ readonly description: "A strong reference to the location where the measurement was taken. The record referenced must conform with the lexicon app.certified.location";
1531
+ };
1532
+ readonly createdAt: {
1533
+ readonly type: "string";
1534
+ readonly format: "datetime";
1535
+ readonly description: "Client-declared timestamp when this record was originally created";
1536
+ };
1537
+ };
1538
+ };
1539
+ };
1540
+ };
1541
+ } | {
1542
+ readonly lexicon: 1;
1543
+ readonly id: "org.hypercerts.claim.project";
1544
+ readonly defs: {
1545
+ readonly main: {
1546
+ readonly type: "record";
1547
+ readonly description: "A project that can include multiple activities, each of which may be linked to at most one project.";
1548
+ readonly key: "tid";
1549
+ readonly record: {
1550
+ readonly type: "object";
1551
+ readonly required: ["title", "shortDescription", "createdAt"];
1552
+ readonly properties: {
1553
+ readonly title: {
1554
+ readonly type: "string";
1555
+ readonly description: "Title of this project";
1556
+ readonly maxLength: 800;
1557
+ readonly maxGraphemes: 80;
1558
+ };
1559
+ readonly shortDescription: {
1560
+ readonly type: "string";
1561
+ readonly maxLength: 3000;
1562
+ readonly maxGraphemes: 300;
1563
+ readonly description: "Short summary of this project, suitable for previews and list views.";
1564
+ };
1565
+ readonly description: {
1566
+ readonly type: "ref";
1567
+ readonly ref: "lex:pub.leaflet.pages.linearDocument#main";
1568
+ readonly description: "Rich-text description of this project, represented as a Leaflet linear document.";
1569
+ };
1570
+ readonly avatar: {
1571
+ readonly type: "blob";
1572
+ readonly description: "Primary avatar image representing this project across apps and views; typically a square logo or project identity image.";
1573
+ readonly accept: ["image/png", "image/jpeg"];
1574
+ readonly maxSize: 1000000;
1575
+ };
1576
+ readonly coverPhoto: {
1577
+ readonly type: "blob";
1578
+ readonly description: "The cover photo of this project.";
1579
+ readonly accept: ["image/png", "image/jpeg"];
1580
+ readonly maxSize: 1000000;
1581
+ };
1582
+ readonly activities: {
1583
+ readonly type: "array";
1584
+ readonly description: "Array of activities with their associated weights in this project";
1585
+ readonly items: {
1586
+ readonly type: "ref";
1587
+ readonly ref: "lex:org.hypercerts.claim.activity#activityWeight";
1588
+ };
1589
+ };
1590
+ readonly location: {
1591
+ readonly type: "ref";
1592
+ readonly ref: "lex:com.atproto.repo.strongRef";
1593
+ readonly 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.";
1594
+ };
1595
+ readonly createdAt: {
1596
+ readonly type: "string";
1597
+ readonly format: "datetime";
1598
+ readonly description: "Client-declared timestamp when this record was originally created";
1599
+ };
1600
+ };
1601
+ };
1602
+ };
1603
+ };
1604
+ } | {
1605
+ readonly lexicon: 1;
1606
+ readonly id: "org.hypercerts.claim.rights";
1607
+ readonly defs: {
1608
+ readonly main: {
1609
+ readonly type: "record";
1610
+ readonly description: "Describes the rights that a contributor and/or an owner has, such as whether the hypercert can be sold, transferred, and under what conditions.";
1611
+ readonly key: "tid";
1612
+ readonly record: {
1613
+ readonly type: "object";
1614
+ readonly required: ["rightsName", "rightsType", "rightsDescription", "createdAt"];
1615
+ readonly properties: {
1616
+ readonly rightsName: {
1617
+ readonly type: "string";
1618
+ readonly description: "Full name of the rights";
1619
+ readonly maxLength: 100;
1620
+ };
1621
+ readonly rightsType: {
1622
+ readonly type: "string";
1623
+ readonly description: "Short rights identifier for easier search";
1624
+ readonly maxLength: 10;
1625
+ };
1626
+ readonly rightsDescription: {
1627
+ readonly type: "string";
1628
+ readonly description: "Description of the rights of this hypercert";
1629
+ };
1630
+ readonly attachment: {
1631
+ readonly type: "union";
1632
+ readonly refs: ["lex:org.hypercerts.defs#uri", "lex:org.hypercerts.defs#smallBlob"];
1633
+ readonly description: "An attachment to define the rights further, e.g. a legal document.";
1634
+ };
1635
+ readonly createdAt: {
1636
+ readonly type: "string";
1637
+ readonly format: "datetime";
1638
+ readonly description: "Client-declared timestamp when this record was originally created";
1639
+ };
1640
+ };
1641
+ };
1642
+ };
1643
+ };
1644
+ } | {
1645
+ readonly lexicon: 1;
1646
+ readonly id: "org.hypercerts.defs";
1647
+ readonly defs: {
1648
+ readonly uri: {
1649
+ readonly type: "object";
1650
+ readonly required: ["uri"];
1651
+ readonly description: "Object containing a URI to external data";
1652
+ readonly properties: {
1653
+ readonly uri: {
1654
+ readonly type: "string";
1655
+ readonly format: "uri";
1656
+ readonly maxGraphemes: 1024;
1657
+ readonly description: "URI to external data";
1658
+ };
1659
+ };
1660
+ };
1661
+ readonly smallBlob: {
1662
+ readonly type: "object";
1663
+ readonly required: ["blob"];
1664
+ readonly description: "Object containing a blob to external data";
1665
+ readonly properties: {
1666
+ readonly blob: {
1667
+ readonly type: "blob";
1668
+ readonly accept: ["*/*"];
1669
+ readonly maxSize: 10485760;
1670
+ readonly description: "Blob to external data (up to 10MB)";
1671
+ };
1672
+ };
1673
+ };
1674
+ readonly largeBlob: {
1675
+ readonly type: "object";
1676
+ readonly required: ["blob"];
1677
+ readonly description: "Object containing a blob to external data";
1678
+ readonly properties: {
1679
+ readonly blob: {
1680
+ readonly type: "blob";
1681
+ readonly accept: ["*/*"];
1682
+ readonly maxSize: 104857600;
1683
+ readonly description: "Blob to external data (up to 100MB)";
1684
+ };
1685
+ };
1686
+ };
1687
+ readonly smallImage: {
1688
+ readonly type: "object";
1689
+ readonly required: ["image"];
1690
+ readonly description: "Object containing a small image";
1691
+ readonly properties: {
1692
+ readonly image: {
1693
+ readonly type: "blob";
1694
+ readonly accept: ["image/jpeg", "image/jpg", "image/png", "image/webp"];
1695
+ readonly maxSize: 5242880;
1696
+ readonly description: "Image (up to 5MB)";
1697
+ };
1698
+ };
1699
+ };
1700
+ readonly largeImage: {
1701
+ readonly type: "object";
1702
+ readonly required: ["image"];
1703
+ readonly description: "Object containing a large image";
1704
+ readonly properties: {
1705
+ readonly image: {
1706
+ readonly type: "blob";
1707
+ readonly accept: ["image/jpeg", "image/jpg", "image/png", "image/webp"];
1708
+ readonly maxSize: 10485760;
1709
+ readonly description: "Image (up to 10MB)";
1710
+ };
1711
+ };
1712
+ };
1713
+ };
1714
+ } | {
1715
+ readonly lexicon: 1;
1716
+ readonly id: "org.hypercerts.funding.receipt";
1717
+ readonly defs: {
1718
+ readonly main: {
1719
+ readonly type: "record";
1720
+ readonly 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.";
1721
+ readonly key: "tid";
1722
+ readonly record: {
1723
+ readonly type: "object";
1724
+ readonly required: ["from", "to", "amount", "currency", "createdAt"];
1725
+ readonly properties: {
1726
+ readonly from: {
1727
+ readonly type: "ref";
1728
+ readonly ref: "lex:app.certified.defs#did";
1729
+ readonly description: "DID of the sender who transferred the funds. Leave empty if sender wants to stay anonymous.";
1730
+ };
1731
+ readonly to: {
1732
+ readonly type: "string";
1733
+ readonly description: "The recipient of the funds. Can be identified by DID or a clear-text name.";
1734
+ };
1735
+ readonly amount: {
1736
+ readonly type: "string";
1737
+ readonly description: "Amount of funding received.";
1738
+ };
1739
+ readonly currency: {
1740
+ readonly type: "string";
1741
+ readonly description: "Currency of the payment (e.g. EUR, USD, ETH).";
1742
+ };
1743
+ readonly paymentRail: {
1744
+ readonly type: "string";
1745
+ readonly description: "How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor).";
1746
+ };
1747
+ readonly paymentNetwork: {
1748
+ readonly type: "string";
1749
+ readonly description: "Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal).";
1750
+ };
1751
+ readonly transactionId: {
1752
+ readonly type: "string";
1753
+ readonly description: "Identifier of the underlying payment transaction (e.g. bank reference, onchain transaction hash, or processor-specific ID). Use paymentNetwork to specify the network where applicable.";
1754
+ };
1755
+ readonly for: {
1756
+ readonly type: "string";
1757
+ readonly format: "at-uri";
1758
+ readonly description: "Optional reference to the activity, project, or organization this funding relates to.";
1759
+ };
1760
+ readonly notes: {
1761
+ readonly type: "string";
1762
+ readonly description: "Optional notes or additional context for this funding receipt.";
1763
+ readonly maxLength: 500;
1764
+ };
1765
+ readonly occurredAt: {
1766
+ readonly type: "string";
1767
+ readonly format: "datetime";
1768
+ readonly description: "Timestamp when the payment occurred.";
1769
+ };
1770
+ readonly createdAt: {
1771
+ readonly type: "string";
1772
+ readonly format: "datetime";
1773
+ readonly description: "Client-declared timestamp when this receipt record was created.";
1774
+ };
1775
+ };
1776
+ };
1777
+ };
1778
+ };
1779
+ })[];
1780
+ export declare const lexicons: Lexicons;
1781
+ export declare function validate<T extends {
1782
+ $type: string;
1783
+ }>(v: unknown, id: string, hash: string, requiredType: true): ValidationResult<T>;
1784
+ export declare function validate<T extends {
1785
+ $type?: string;
1786
+ }>(v: unknown, id: string, hash: string, requiredType?: false): ValidationResult<T>;
1787
+ export declare const ids: {
1788
+ readonly AppCertifiedBadgeAward: "app.certified.badge.award";
1789
+ readonly AppCertifiedBadgeDefinition: "app.certified.badge.definition";
1790
+ readonly AppCertifiedBadgeResponse: "app.certified.badge.response";
1791
+ readonly AppCertifiedDefs: "app.certified.defs";
1792
+ readonly AppCertifiedLocation: "app.certified.location";
1793
+ readonly ComAtprotoRepoStrongRef: "com.atproto.repo.strongRef";
1794
+ readonly OrgHypercertsClaimActivity: "org.hypercerts.claim.activity";
1795
+ readonly OrgHypercertsClaimCollection: "org.hypercerts.claim.collection";
1796
+ readonly OrgHypercertsClaimContribution: "org.hypercerts.claim.contribution";
1797
+ readonly OrgHypercertsClaimEvaluation: "org.hypercerts.claim.evaluation";
1798
+ readonly OrgHypercertsClaimEvidence: "org.hypercerts.claim.evidence";
1799
+ readonly OrgHypercertsClaimMeasurement: "org.hypercerts.claim.measurement";
1800
+ readonly OrgHypercertsClaimProject: "org.hypercerts.claim.project";
1801
+ readonly OrgHypercertsClaimRights: "org.hypercerts.claim.rights";
1802
+ readonly OrgHypercertsDefs: "org.hypercerts.defs";
1803
+ readonly OrgHypercertsFundingReceipt: "org.hypercerts.funding.receipt";
1804
+ };
1805
+ //# sourceMappingURL=lexicons.d.ts.map