@hypercerts-org/lexicon 0.10.0-beta.15 → 0.10.0-beta.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/README.md +50 -12
- package/SCHEMAS.md +293 -169
- package/dist/exports.d.ts +566 -179
- package/dist/exports.d.ts.map +1 -1
- package/dist/generated/exports.d.ts +566 -179
- package/dist/generated/exports.d.ts.map +1 -1
- package/dist/generated/lexicons.d.ts +1199 -465
- package/dist/generated/lexicons.d.ts.map +1 -1
- package/dist/generated/types/app/certified/actor/organization.d.ts +32 -0
- package/dist/generated/types/app/certified/actor/organization.d.ts.map +1 -0
- package/dist/generated/types/app/certified/actor/profile.d.ts +4 -1
- package/dist/generated/types/app/certified/actor/profile.d.ts.map +1 -1
- package/dist/generated/types/app/certified/badge/award.d.ts +2 -0
- package/dist/generated/types/app/certified/badge/award.d.ts.map +1 -1
- package/dist/generated/types/app/certified/badge/response.d.ts +1 -1
- package/dist/generated/types/app/certified/badge/response.d.ts.map +1 -1
- package/dist/generated/types/app/certified/location.d.ts +2 -2
- package/dist/generated/types/app/certified/location.d.ts.map +1 -1
- package/dist/generated/types/org/hyperboards/board.d.ts +75 -0
- package/dist/generated/types/org/hyperboards/board.d.ts.map +1 -0
- package/dist/generated/types/org/hyperboards/displayProfile.d.ts +31 -0
- package/dist/generated/types/org/hyperboards/displayProfile.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/claim/activity.d.ts +8 -9
- package/dist/generated/types/org/hypercerts/claim/activity.d.ts.map +1 -1
- package/dist/generated/types/org/hypercerts/claim/{contributionDetails.d.ts → contribution.d.ts} +6 -6
- package/dist/generated/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts +2 -2
- package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -1
- package/dist/generated/types/org/hypercerts/claim/rights.d.ts +3 -3
- package/dist/generated/types/org/hypercerts/claim/rights.d.ts.map +1 -1
- package/dist/generated/types/org/hypercerts/{claim/collection.d.ts → collection.d.ts} +10 -10
- package/dist/generated/types/org/hypercerts/collection.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/context/acknowledgement.d.ts +25 -0
- package/dist/generated/types/org/hypercerts/context/acknowledgement.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/{claim → context}/attachment.d.ts +6 -8
- package/dist/generated/types/org/hypercerts/context/attachment.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/{claim → context}/evaluation.d.ts +15 -15
- package/dist/generated/types/org/hypercerts/context/evaluation.d.ts.map +1 -0
- package/dist/{types/org/hypercerts/claim → generated/types/org/hypercerts/context}/measurement.d.ts +7 -6
- package/dist/generated/types/org/hypercerts/context/measurement.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/defs.d.ts +8 -0
- package/dist/generated/types/org/hypercerts/defs.d.ts.map +1 -1
- package/dist/generated/types/org/hypercerts/funding/receipt.d.ts +1 -1
- package/dist/generated/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
- package/dist/generated/types/org/hypercerts/workscope/cel.d.ts +20 -0
- package/dist/generated/types/org/hypercerts/workscope/cel.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/workscope/tag.d.ts +36 -0
- package/dist/generated/types/org/hypercerts/workscope/tag.d.ts.map +1 -0
- package/dist/index.cjs +1822 -830
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +1774 -798
- package/dist/index.mjs.map +1 -1
- package/dist/lexicons.cjs +651 -253
- package/dist/lexicons.cjs.map +1 -1
- package/dist/lexicons.d.ts +1199 -465
- package/dist/lexicons.d.ts.map +1 -1
- package/dist/lexicons.mjs +651 -253
- package/dist/lexicons.mjs.map +1 -1
- package/dist/types/app/certified/actor/organization.d.ts +32 -0
- package/dist/types/app/certified/actor/organization.d.ts.map +1 -0
- package/dist/types/app/certified/actor/profile.d.ts +4 -1
- package/dist/types/app/certified/actor/profile.d.ts.map +1 -1
- package/dist/types/app/certified/badge/award.d.ts +2 -0
- package/dist/types/app/certified/badge/award.d.ts.map +1 -1
- package/dist/types/app/certified/badge/response.d.ts +1 -1
- package/dist/types/app/certified/badge/response.d.ts.map +1 -1
- package/dist/types/app/certified/location.d.ts +2 -2
- package/dist/types/app/certified/location.d.ts.map +1 -1
- package/dist/types/org/hyperboards/board.d.ts +75 -0
- package/dist/types/org/hyperboards/board.d.ts.map +1 -0
- package/dist/types/org/hyperboards/displayProfile.d.ts +31 -0
- package/dist/types/org/hyperboards/displayProfile.d.ts.map +1 -0
- package/dist/types/org/hypercerts/claim/activity.d.ts +8 -9
- package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -1
- package/dist/types/org/hypercerts/claim/{contributionDetails.d.ts → contribution.d.ts} +6 -6
- package/dist/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
- package/dist/types/org/hypercerts/claim/contributorInformation.d.ts +2 -2
- package/dist/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -1
- package/dist/types/org/hypercerts/claim/rights.d.ts +3 -3
- package/dist/types/org/hypercerts/claim/rights.d.ts.map +1 -1
- package/dist/types/org/hypercerts/{claim/collection.d.ts → collection.d.ts} +10 -10
- package/dist/types/org/hypercerts/collection.d.ts.map +1 -0
- package/dist/types/org/hypercerts/context/acknowledgement.d.ts +25 -0
- package/dist/types/org/hypercerts/context/acknowledgement.d.ts.map +1 -0
- package/dist/types/org/hypercerts/{claim → context}/attachment.d.ts +6 -8
- package/dist/types/org/hypercerts/context/attachment.d.ts.map +1 -0
- package/dist/types/org/hypercerts/{claim → context}/evaluation.d.ts +15 -15
- package/dist/types/org/hypercerts/context/evaluation.d.ts.map +1 -0
- package/dist/{generated/types/org/hypercerts/claim → types/org/hypercerts/context}/measurement.d.ts +7 -6
- package/dist/types/org/hypercerts/context/measurement.d.ts.map +1 -0
- package/dist/types/org/hypercerts/defs.d.ts +8 -0
- package/dist/types/org/hypercerts/defs.d.ts.map +1 -1
- package/dist/types/org/hypercerts/funding/receipt.d.ts +1 -1
- package/dist/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
- package/dist/types/org/hypercerts/workscope/cel.d.ts +20 -0
- package/dist/types/org/hypercerts/workscope/cel.d.ts.map +1 -0
- package/dist/types/org/hypercerts/workscope/tag.d.ts +36 -0
- package/dist/types/org/hypercerts/workscope/tag.d.ts.map +1 -0
- package/lexicons/app/certified/actor/organization.json +70 -0
- package/lexicons/app/certified/actor/profile.json +13 -3
- package/lexicons/app/certified/badge/award.json +8 -1
- package/lexicons/app/certified/badge/definition.json +8 -3
- package/lexicons/app/certified/badge/response.json +3 -2
- package/lexicons/app/certified/location.json +2 -2
- package/lexicons/org/hyperboards/board.json +152 -0
- package/lexicons/org/hyperboards/displayProfile.json +64 -0
- package/lexicons/org/hypercerts/claim/activity.json +23 -29
- package/lexicons/org/hypercerts/claim/{contributionDetails.json → contribution.json} +4 -4
- package/lexicons/org/hypercerts/claim/contributorInformation.json +3 -2
- package/lexicons/org/hypercerts/claim/rights.json +5 -3
- package/lexicons/org/hypercerts/{claim/collection.json → collection.json} +9 -6
- package/lexicons/org/hypercerts/context/acknowledgement.json +42 -0
- package/lexicons/org/hypercerts/{claim → context}/attachment.json +6 -15
- package/lexicons/org/hypercerts/{claim → context}/evaluation.json +22 -22
- package/lexicons/org/hypercerts/{claim → context}/measurement.json +13 -9
- package/lexicons/org/hypercerts/defs.json +14 -1
- package/lexicons/org/hypercerts/funding/receipt.json +12 -6
- package/lexicons/org/hypercerts/workscope/cel.json +39 -0
- package/lexicons/org/hypercerts/workscope/tag.json +87 -0
- package/package.json +1 -1
- package/dist/generated/types/org/hypercerts/acknowledgement.d.ts +0 -21
- package/dist/generated/types/org/hypercerts/acknowledgement.d.ts.map +0 -1
- package/dist/generated/types/org/hypercerts/claim/attachment.d.ts.map +0 -1
- package/dist/generated/types/org/hypercerts/claim/collection.d.ts.map +0 -1
- package/dist/generated/types/org/hypercerts/claim/contributionDetails.d.ts.map +0 -1
- package/dist/generated/types/org/hypercerts/claim/evaluation.d.ts.map +0 -1
- package/dist/generated/types/org/hypercerts/claim/measurement.d.ts.map +0 -1
- package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts +0 -31
- package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts.map +0 -1
- package/dist/types/org/hypercerts/acknowledgement.d.ts +0 -21
- package/dist/types/org/hypercerts/acknowledgement.d.ts.map +0 -1
- package/dist/types/org/hypercerts/claim/attachment.d.ts.map +0 -1
- package/dist/types/org/hypercerts/claim/collection.d.ts.map +0 -1
- package/dist/types/org/hypercerts/claim/contributionDetails.d.ts.map +0 -1
- package/dist/types/org/hypercerts/claim/evaluation.d.ts.map +0 -1
- package/dist/types/org/hypercerts/claim/measurement.d.ts.map +0 -1
- package/dist/types/org/hypercerts/helper/workScopeTag.d.ts +0 -31
- package/dist/types/org/hypercerts/helper/workScopeTag.d.ts.map +0 -1
- package/lexicons/org/hypercerts/acknowledgement.json +0 -41
- package/lexicons/org/hypercerts/helper/workScopeTag.json +0 -65
package/dist/lexicons.mjs
CHANGED
|
@@ -28,19 +28,91 @@ function maybe$typed(v, id, hash) {
|
|
|
28
28
|
* GENERATED CODE - DO NOT MODIFY
|
|
29
29
|
*/
|
|
30
30
|
const schemaDict = {
|
|
31
|
+
AppCertifiedActorOrganization: {
|
|
32
|
+
lexicon: 1,
|
|
33
|
+
id: 'app.certified.actor.organization',
|
|
34
|
+
defs: {
|
|
35
|
+
main: {
|
|
36
|
+
type: 'record',
|
|
37
|
+
description: 'Extended metadata for an organization actor. Complements the base actor profile with organization-specific fields like legal structure and reference links.',
|
|
38
|
+
key: 'literal:self',
|
|
39
|
+
record: {
|
|
40
|
+
type: 'object',
|
|
41
|
+
required: ['createdAt'],
|
|
42
|
+
properties: {
|
|
43
|
+
organizationType: {
|
|
44
|
+
type: 'array',
|
|
45
|
+
description: "Legal or operational structures of the organization (e.g. 'nonprofit', 'ngo', 'government', 'social-enterprise', 'cooperative').",
|
|
46
|
+
items: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
maxLength: 128,
|
|
49
|
+
maxGraphemes: 100,
|
|
50
|
+
},
|
|
51
|
+
maxLength: 10,
|
|
52
|
+
},
|
|
53
|
+
urls: {
|
|
54
|
+
type: 'array',
|
|
55
|
+
description: 'Additional reference URLs (social media profiles, contact pages, donation links, etc.) with a display label for each URL.',
|
|
56
|
+
items: {
|
|
57
|
+
type: 'ref',
|
|
58
|
+
ref: 'lex:app.certified.actor.organization#urlItem',
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
location: {
|
|
62
|
+
type: 'ref',
|
|
63
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
64
|
+
description: 'A strong reference to the location where the organization is based. The record referenced must conform with the lexicon app.certified.location.',
|
|
65
|
+
},
|
|
66
|
+
foundedDate: {
|
|
67
|
+
type: 'string',
|
|
68
|
+
format: 'datetime',
|
|
69
|
+
description: "When the organization was established. Stored as datetime per ATProto conventions (no date-only format exists). Clients should use midnight UTC (e.g., '2005-01-01T00:00:00.000Z'); consumers should treat only the date portion as canonical.",
|
|
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
|
+
urlItem: {
|
|
80
|
+
type: 'object',
|
|
81
|
+
description: 'A labeled URL reference.',
|
|
82
|
+
required: ['url'],
|
|
83
|
+
properties: {
|
|
84
|
+
url: {
|
|
85
|
+
type: 'string',
|
|
86
|
+
format: 'uri',
|
|
87
|
+
description: 'The URL.',
|
|
88
|
+
maxLength: 10000,
|
|
89
|
+
maxGraphemes: 2048,
|
|
90
|
+
},
|
|
91
|
+
label: {
|
|
92
|
+
type: 'string',
|
|
93
|
+
description: "Optional human-readable label for this URL (e.g. 'Support page', 'Donation page').",
|
|
94
|
+
maxLength: 640,
|
|
95
|
+
maxGraphemes: 64,
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
},
|
|
31
101
|
AppCertifiedActorProfile: {
|
|
32
102
|
lexicon: 1,
|
|
33
103
|
id: 'app.certified.actor.profile',
|
|
34
104
|
defs: {
|
|
35
105
|
main: {
|
|
36
106
|
type: 'record',
|
|
37
|
-
description: 'A declaration of a
|
|
107
|
+
description: 'A declaration of a Certified account profile.',
|
|
38
108
|
key: 'literal:self',
|
|
39
109
|
record: {
|
|
40
110
|
type: 'object',
|
|
111
|
+
required: ['createdAt'],
|
|
41
112
|
properties: {
|
|
42
113
|
displayName: {
|
|
43
114
|
type: 'string',
|
|
115
|
+
description: 'Display name for the account',
|
|
44
116
|
maxGraphemes: 64,
|
|
45
117
|
maxLength: 640,
|
|
46
118
|
},
|
|
@@ -59,6 +131,7 @@ const schemaDict = {
|
|
|
59
131
|
website: {
|
|
60
132
|
type: 'string',
|
|
61
133
|
format: 'uri',
|
|
134
|
+
description: 'Account website URL',
|
|
62
135
|
},
|
|
63
136
|
avatar: {
|
|
64
137
|
type: 'union',
|
|
@@ -79,6 +152,7 @@ const schemaDict = {
|
|
|
79
152
|
createdAt: {
|
|
80
153
|
type: 'string',
|
|
81
154
|
format: 'datetime',
|
|
155
|
+
description: 'Client-declared timestamp when this record was originally created',
|
|
82
156
|
},
|
|
83
157
|
},
|
|
84
158
|
},
|
|
@@ -113,6 +187,13 @@ const schemaDict = {
|
|
|
113
187
|
note: {
|
|
114
188
|
type: 'string',
|
|
115
189
|
description: 'Optional statement explaining the reason for this badge award.',
|
|
190
|
+
maxLength: 500,
|
|
191
|
+
},
|
|
192
|
+
url: {
|
|
193
|
+
type: 'string',
|
|
194
|
+
format: 'uri',
|
|
195
|
+
description: 'Optional URL the badge award links to.',
|
|
196
|
+
maxLength: 2048,
|
|
116
197
|
},
|
|
117
198
|
createdAt: {
|
|
118
199
|
type: 'string',
|
|
@@ -139,10 +220,12 @@ const schemaDict = {
|
|
|
139
220
|
badgeType: {
|
|
140
221
|
type: 'string',
|
|
141
222
|
description: 'Category of the badge (e.g. endorsement, participation, affiliation).',
|
|
223
|
+
maxLength: 100,
|
|
142
224
|
},
|
|
143
225
|
title: {
|
|
144
226
|
type: 'string',
|
|
145
227
|
description: 'Human-readable title of the badge.',
|
|
228
|
+
maxLength: 256,
|
|
146
229
|
},
|
|
147
230
|
icon: {
|
|
148
231
|
type: 'blob',
|
|
@@ -158,10 +241,13 @@ const schemaDict = {
|
|
|
158
241
|
description: {
|
|
159
242
|
type: 'string',
|
|
160
243
|
description: 'Optional short statement describing what the badge represents.',
|
|
244
|
+
maxLength: 5000,
|
|
245
|
+
maxGraphemes: 500,
|
|
161
246
|
},
|
|
162
247
|
allowedIssuers: {
|
|
163
248
|
type: 'array',
|
|
164
249
|
description: 'Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it.',
|
|
250
|
+
maxLength: 100,
|
|
165
251
|
items: {
|
|
166
252
|
type: 'ref',
|
|
167
253
|
ref: 'lex:app.certified.defs#did',
|
|
@@ -196,12 +282,13 @@ const schemaDict = {
|
|
|
196
282
|
},
|
|
197
283
|
response: {
|
|
198
284
|
type: 'string',
|
|
199
|
-
|
|
285
|
+
knownValues: ['accepted', 'rejected'],
|
|
200
286
|
description: 'The recipient’s response for the badge (accepted or rejected).',
|
|
201
287
|
},
|
|
202
288
|
weight: {
|
|
203
289
|
type: 'string',
|
|
204
290
|
description: 'Optional relative weight for accepted badges, assigned by the recipient.',
|
|
291
|
+
maxLength: 50,
|
|
205
292
|
},
|
|
206
293
|
createdAt: {
|
|
207
294
|
type: 'string',
|
|
@@ -288,13 +375,13 @@ const schemaDict = {
|
|
|
288
375
|
},
|
|
289
376
|
name: {
|
|
290
377
|
type: 'string',
|
|
291
|
-
description:
|
|
378
|
+
description: "Human-readable name for this location (e.g. 'Golden Gate Park', 'San Francisco Bay Area')",
|
|
292
379
|
maxLength: 1000,
|
|
293
380
|
maxGraphemes: 100,
|
|
294
381
|
},
|
|
295
382
|
description: {
|
|
296
383
|
type: 'string',
|
|
297
|
-
description: '
|
|
384
|
+
description: 'Additional context about this location, such as its significance to the work or specific boundaries',
|
|
298
385
|
maxLength: 2000,
|
|
299
386
|
maxGraphemes: 500,
|
|
300
387
|
},
|
|
@@ -342,36 +429,223 @@ const schemaDict = {
|
|
|
342
429
|
},
|
|
343
430
|
},
|
|
344
431
|
},
|
|
345
|
-
|
|
432
|
+
OrgHyperboardsBoard: {
|
|
346
433
|
lexicon: 1,
|
|
347
|
-
id: 'org.
|
|
434
|
+
id: 'org.hyperboards.board',
|
|
348
435
|
defs: {
|
|
349
436
|
main: {
|
|
350
437
|
type: 'record',
|
|
351
|
-
description: "
|
|
438
|
+
description: "Configuration record for a hyperboard, wrapping an underlying activity or collection with visual presentation settings. Stored in the creator's PDS.",
|
|
352
439
|
key: 'tid',
|
|
353
440
|
record: {
|
|
354
441
|
type: 'object',
|
|
355
|
-
required: ['subject', '
|
|
442
|
+
required: ['subject', 'createdAt'],
|
|
356
443
|
properties: {
|
|
357
444
|
subject: {
|
|
358
445
|
type: 'ref',
|
|
359
446
|
ref: 'lex:com.atproto.repo.strongRef',
|
|
360
|
-
description: '
|
|
447
|
+
description: 'Reference to the org.hypercerts.claim.activity or org.hypercerts.claim.collection this board visualizes.',
|
|
361
448
|
},
|
|
362
|
-
|
|
449
|
+
config: {
|
|
363
450
|
type: 'ref',
|
|
364
|
-
ref: 'lex:
|
|
365
|
-
description: '
|
|
451
|
+
ref: 'lex:org.hyperboards.board#boardConfig',
|
|
452
|
+
description: 'Board-level visual configuration (background, colors, aspect ratio).',
|
|
366
453
|
},
|
|
367
|
-
|
|
368
|
-
type: '
|
|
369
|
-
description: '
|
|
454
|
+
contributorConfigs: {
|
|
455
|
+
type: 'array',
|
|
456
|
+
description: 'Per-contributor configuration entries for this board.',
|
|
457
|
+
maxLength: 1000,
|
|
458
|
+
items: {
|
|
459
|
+
type: 'ref',
|
|
460
|
+
ref: 'lex:org.hyperboards.board#contributorConfig',
|
|
461
|
+
},
|
|
370
462
|
},
|
|
371
|
-
|
|
463
|
+
createdAt: {
|
|
372
464
|
type: 'string',
|
|
373
|
-
|
|
374
|
-
|
|
465
|
+
format: 'datetime',
|
|
466
|
+
description: 'Client-declared timestamp when this record was originally created.',
|
|
467
|
+
},
|
|
468
|
+
},
|
|
469
|
+
},
|
|
470
|
+
},
|
|
471
|
+
boardConfig: {
|
|
472
|
+
type: 'object',
|
|
473
|
+
description: "Visual configuration for a hyperboard's background, colors, and layout.",
|
|
474
|
+
properties: {
|
|
475
|
+
backgroundType: {
|
|
476
|
+
type: 'string',
|
|
477
|
+
description: 'Type of background content.',
|
|
478
|
+
knownValues: ['image', 'iframe'],
|
|
479
|
+
maxLength: 10,
|
|
480
|
+
},
|
|
481
|
+
backgroundImage: {
|
|
482
|
+
type: 'union',
|
|
483
|
+
refs: [
|
|
484
|
+
'lex:org.hypercerts.defs#uri',
|
|
485
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
486
|
+
],
|
|
487
|
+
description: 'Background image as a URI or image blob.',
|
|
488
|
+
},
|
|
489
|
+
backgroundIframeUrl: {
|
|
490
|
+
type: 'string',
|
|
491
|
+
format: 'uri',
|
|
492
|
+
description: 'URI of the background iframe.',
|
|
493
|
+
maxLength: 2048,
|
|
494
|
+
},
|
|
495
|
+
backgroundGrayscale: {
|
|
496
|
+
type: 'boolean',
|
|
497
|
+
description: 'Whether the background is rendered in grayscale. Default: true.',
|
|
498
|
+
},
|
|
499
|
+
backgroundOpacity: {
|
|
500
|
+
type: 'integer',
|
|
501
|
+
description: 'Background opacity as a percentage (0–100).',
|
|
502
|
+
minimum: 0,
|
|
503
|
+
maximum: 100,
|
|
504
|
+
},
|
|
505
|
+
backgroundColor: {
|
|
506
|
+
type: 'string',
|
|
507
|
+
description: "Background color as a hex string (e.g. '#ffffff').",
|
|
508
|
+
maxLength: 20,
|
|
509
|
+
},
|
|
510
|
+
borderColor: {
|
|
511
|
+
type: 'string',
|
|
512
|
+
description: "Border color as a hex string (e.g. '#000000').",
|
|
513
|
+
maxLength: 20,
|
|
514
|
+
},
|
|
515
|
+
grayscaleImages: {
|
|
516
|
+
type: 'boolean',
|
|
517
|
+
description: 'Whether contributor images are rendered in grayscale. Default: false.',
|
|
518
|
+
},
|
|
519
|
+
imageShape: {
|
|
520
|
+
type: 'string',
|
|
521
|
+
description: 'Shape used to crop contributor images on this board.',
|
|
522
|
+
knownValues: ['circular', 'square'],
|
|
523
|
+
maxLength: 20,
|
|
524
|
+
},
|
|
525
|
+
aspectRatio: {
|
|
526
|
+
type: 'string',
|
|
527
|
+
description: 'Display aspect ratio of the board.',
|
|
528
|
+
knownValues: ['16:9', '4:3', '1:1'],
|
|
529
|
+
maxLength: 10,
|
|
530
|
+
},
|
|
531
|
+
},
|
|
532
|
+
},
|
|
533
|
+
contributorConfig: {
|
|
534
|
+
type: 'object',
|
|
535
|
+
description: 'Configuration for a specific contributor within a board. Values serve as fallbacks when the contributor has not defined them on their profile. It can also be used to override contributor settings on this board without changing their global profile.',
|
|
536
|
+
required: ['contributor'],
|
|
537
|
+
properties: {
|
|
538
|
+
contributor: {
|
|
539
|
+
type: 'union',
|
|
540
|
+
refs: [
|
|
541
|
+
'lex:com.atproto.repo.strongRef',
|
|
542
|
+
'lex:org.hypercerts.claim.activity#contributorIdentity',
|
|
543
|
+
],
|
|
544
|
+
description: 'Identifies the contributor being styled. A strong reference to an org.hypercerts.claim.contributorInformation record, or a contributorIdentity (DID or identifier string) for contributors without a dedicated record.',
|
|
545
|
+
},
|
|
546
|
+
override: {
|
|
547
|
+
type: 'boolean',
|
|
548
|
+
description: "When true, these values take precedence over the contributor's own profile and display settings. When false or omitted, they are only used as fallbacks if the contributor has not set their own settings.",
|
|
549
|
+
},
|
|
550
|
+
displayName: {
|
|
551
|
+
type: 'string',
|
|
552
|
+
description: 'Display name for this contributor on this board.',
|
|
553
|
+
maxLength: 640,
|
|
554
|
+
maxGraphemes: 64,
|
|
555
|
+
},
|
|
556
|
+
image: {
|
|
557
|
+
type: 'union',
|
|
558
|
+
refs: [
|
|
559
|
+
'lex:org.hypercerts.defs#uri',
|
|
560
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
561
|
+
],
|
|
562
|
+
description: 'Avatar or face image for this contributor on this board, as a URI or image blob.',
|
|
563
|
+
},
|
|
564
|
+
video: {
|
|
565
|
+
type: 'union',
|
|
566
|
+
refs: [
|
|
567
|
+
'lex:org.hypercerts.defs#uri',
|
|
568
|
+
'lex:org.hypercerts.defs#smallVideo',
|
|
569
|
+
],
|
|
570
|
+
description: 'Video for this contributor, as a URI (embed/direct link) or uploaded video blob.',
|
|
571
|
+
},
|
|
572
|
+
hoverImage: {
|
|
573
|
+
type: 'union',
|
|
574
|
+
refs: [
|
|
575
|
+
'lex:org.hypercerts.defs#uri',
|
|
576
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
577
|
+
],
|
|
578
|
+
description: 'Image overlay shown when hovering over this contributor, as a URI or image blob.',
|
|
579
|
+
},
|
|
580
|
+
hoverIframeUrl: {
|
|
581
|
+
type: 'string',
|
|
582
|
+
format: 'uri',
|
|
583
|
+
description: 'Iframe overlay shown when hovering over this contributor.',
|
|
584
|
+
maxLength: 2048,
|
|
585
|
+
},
|
|
586
|
+
url: {
|
|
587
|
+
type: 'string',
|
|
588
|
+
format: 'uri',
|
|
589
|
+
description: 'Click-through link URL for this contributor.',
|
|
590
|
+
maxLength: 2048,
|
|
591
|
+
},
|
|
592
|
+
},
|
|
593
|
+
},
|
|
594
|
+
},
|
|
595
|
+
},
|
|
596
|
+
OrgHyperboardsDisplayProfile: {
|
|
597
|
+
lexicon: 1,
|
|
598
|
+
id: 'org.hyperboards.displayProfile',
|
|
599
|
+
defs: {
|
|
600
|
+
main: {
|
|
601
|
+
type: 'record',
|
|
602
|
+
description: "User-declared visual presentation defaults for how a contributor appears on hyperboards. Stored in the contributor's own PDS and reusable across multiple boards.",
|
|
603
|
+
key: 'literal:self',
|
|
604
|
+
record: {
|
|
605
|
+
type: 'object',
|
|
606
|
+
required: ['createdAt'],
|
|
607
|
+
properties: {
|
|
608
|
+
displayName: {
|
|
609
|
+
type: 'string',
|
|
610
|
+
description: 'Display name override for this user on hyperboards.',
|
|
611
|
+
maxLength: 640,
|
|
612
|
+
maxGraphemes: 64,
|
|
613
|
+
},
|
|
614
|
+
image: {
|
|
615
|
+
type: 'union',
|
|
616
|
+
refs: [
|
|
617
|
+
'lex:org.hypercerts.defs#uri',
|
|
618
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
619
|
+
],
|
|
620
|
+
description: 'Avatar or face image override for this user on hyperboards, as a URI or image blob.',
|
|
621
|
+
},
|
|
622
|
+
video: {
|
|
623
|
+
type: 'union',
|
|
624
|
+
refs: [
|
|
625
|
+
'lex:org.hypercerts.defs#uri',
|
|
626
|
+
'lex:org.hypercerts.defs#smallVideo',
|
|
627
|
+
],
|
|
628
|
+
description: 'Default video for this user across boards, as a URI (embed/direct link) or uploaded video blob.',
|
|
629
|
+
},
|
|
630
|
+
hoverImage: {
|
|
631
|
+
type: 'union',
|
|
632
|
+
refs: [
|
|
633
|
+
'lex:org.hypercerts.defs#uri',
|
|
634
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
635
|
+
],
|
|
636
|
+
description: 'Default hover image for this user across boards, as a URI or image blob.',
|
|
637
|
+
},
|
|
638
|
+
hoverIframeUrl: {
|
|
639
|
+
type: 'string',
|
|
640
|
+
format: 'uri',
|
|
641
|
+
description: 'Default hover iframe URL for this user across boards.',
|
|
642
|
+
maxLength: 2048,
|
|
643
|
+
},
|
|
644
|
+
url: {
|
|
645
|
+
type: 'string',
|
|
646
|
+
format: 'uri',
|
|
647
|
+
description: 'Default click-through link URL for this user across boards.',
|
|
648
|
+
maxLength: 2048,
|
|
375
649
|
},
|
|
376
650
|
createdAt: {
|
|
377
651
|
type: 'string',
|
|
@@ -397,7 +671,7 @@ const schemaDict = {
|
|
|
397
671
|
properties: {
|
|
398
672
|
title: {
|
|
399
673
|
type: 'string',
|
|
400
|
-
description:
|
|
674
|
+
description: "Display title summarizing the impact work (e.g. 'Reforestation in Amazon Basin 2024')",
|
|
401
675
|
maxLength: 256,
|
|
402
676
|
},
|
|
403
677
|
shortDescription: {
|
|
@@ -415,18 +689,9 @@ const schemaDict = {
|
|
|
415
689
|
},
|
|
416
690
|
},
|
|
417
691
|
description: {
|
|
418
|
-
type: '
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
maxGraphemes: 3000,
|
|
422
|
-
},
|
|
423
|
-
descriptionFacets: {
|
|
424
|
-
type: 'array',
|
|
425
|
-
description: 'Rich text annotations for `description` (mentions, URLs, hashtags, etc).',
|
|
426
|
-
items: {
|
|
427
|
-
type: 'ref',
|
|
428
|
-
ref: 'lex:app.bsky.richtext.facet',
|
|
429
|
-
},
|
|
692
|
+
type: 'ref',
|
|
693
|
+
ref: 'lex:pub.leaflet.pages.linearDocument#main',
|
|
694
|
+
description: 'Rich-text description, represented as a Leaflet linear document.',
|
|
430
695
|
},
|
|
431
696
|
image: {
|
|
432
697
|
type: 'union',
|
|
@@ -436,13 +701,22 @@ const schemaDict = {
|
|
|
436
701
|
],
|
|
437
702
|
description: 'The hypercert visual representation as a URI or image blob.',
|
|
438
703
|
},
|
|
704
|
+
contributors: {
|
|
705
|
+
type: 'array',
|
|
706
|
+
description: 'An array of contributor objects, each containing contributor information, weight, and contribution details.',
|
|
707
|
+
maxLength: 1000,
|
|
708
|
+
items: {
|
|
709
|
+
type: 'ref',
|
|
710
|
+
ref: 'lex:org.hypercerts.claim.activity#contributor',
|
|
711
|
+
},
|
|
712
|
+
},
|
|
439
713
|
workScope: {
|
|
440
714
|
type: 'union',
|
|
441
715
|
refs: [
|
|
442
|
-
'lex:
|
|
716
|
+
'lex:org.hypercerts.workscope.cel',
|
|
443
717
|
'lex:org.hypercerts.claim.activity#workScopeString',
|
|
444
718
|
],
|
|
445
|
-
description: 'Work scope definition.
|
|
719
|
+
description: 'Work scope definition. A CEL expression for structured, machine-evaluable scopes or a free-form string for simple and legacy scopes.',
|
|
446
720
|
},
|
|
447
721
|
startDate: {
|
|
448
722
|
type: 'string',
|
|
@@ -454,12 +728,13 @@ const schemaDict = {
|
|
|
454
728
|
format: 'datetime',
|
|
455
729
|
description: 'When the work ended',
|
|
456
730
|
},
|
|
457
|
-
|
|
731
|
+
locations: {
|
|
458
732
|
type: 'array',
|
|
459
|
-
description: 'An array of
|
|
733
|
+
description: 'An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.',
|
|
734
|
+
maxLength: 1000,
|
|
460
735
|
items: {
|
|
461
736
|
type: 'ref',
|
|
462
|
-
ref: 'lex:
|
|
737
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
463
738
|
},
|
|
464
739
|
},
|
|
465
740
|
rights: {
|
|
@@ -467,14 +742,6 @@ const schemaDict = {
|
|
|
467
742
|
ref: 'lex:com.atproto.repo.strongRef',
|
|
468
743
|
description: 'A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights.',
|
|
469
744
|
},
|
|
470
|
-
locations: {
|
|
471
|
-
type: 'array',
|
|
472
|
-
description: 'An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.',
|
|
473
|
-
items: {
|
|
474
|
-
type: 'ref',
|
|
475
|
-
ref: 'lex:com.atproto.repo.strongRef',
|
|
476
|
-
},
|
|
477
|
-
},
|
|
478
745
|
createdAt: {
|
|
479
746
|
type: 'string',
|
|
480
747
|
format: 'datetime',
|
|
@@ -493,11 +760,12 @@ const schemaDict = {
|
|
|
493
760
|
'lex:org.hypercerts.claim.activity#contributorIdentity',
|
|
494
761
|
'lex:com.atproto.repo.strongRef',
|
|
495
762
|
],
|
|
496
|
-
description: '
|
|
763
|
+
description: 'Inline contributor identity object with an identity string (DID or identifier) via org.hypercerts.claim.activity#contributorIdentity, or a strong reference to a contributor information record. The record referenced must conform with the lexicon org.hypercerts.claim.contributorInformation.',
|
|
497
764
|
},
|
|
498
765
|
contributionWeight: {
|
|
499
766
|
type: 'string',
|
|
500
767
|
description: 'The relative weight/importance of this contribution (stored as a string to avoid float precision issues). Must be a positive numeric value. Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed.',
|
|
768
|
+
maxLength: 100,
|
|
501
769
|
},
|
|
502
770
|
contributionDetails: {
|
|
503
771
|
type: 'union',
|
|
@@ -505,7 +773,7 @@ const schemaDict = {
|
|
|
505
773
|
'lex:org.hypercerts.claim.activity#contributorRole',
|
|
506
774
|
'lex:com.atproto.repo.strongRef',
|
|
507
775
|
],
|
|
508
|
-
description: '
|
|
776
|
+
description: 'Inline contribution role object with a role string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record. The record referenced must conform with the lexicon org.hypercerts.claim.contribution.',
|
|
509
777
|
},
|
|
510
778
|
},
|
|
511
779
|
},
|
|
@@ -550,81 +818,78 @@ const schemaDict = {
|
|
|
550
818
|
},
|
|
551
819
|
},
|
|
552
820
|
},
|
|
553
|
-
|
|
821
|
+
OrgHypercertsClaimContribution: {
|
|
554
822
|
lexicon: 1,
|
|
555
|
-
id: 'org.hypercerts.claim.
|
|
823
|
+
id: 'org.hypercerts.claim.contribution',
|
|
556
824
|
defs: {
|
|
557
825
|
main: {
|
|
558
826
|
type: 'record',
|
|
559
|
-
description: '
|
|
827
|
+
description: 'Details about a specific contribution including role, description, and timeframe.',
|
|
560
828
|
key: 'tid',
|
|
561
829
|
record: {
|
|
562
830
|
type: 'object',
|
|
563
|
-
required: ['
|
|
831
|
+
required: ['createdAt'],
|
|
564
832
|
properties: {
|
|
565
|
-
|
|
566
|
-
type: '
|
|
567
|
-
description: '
|
|
568
|
-
items: {
|
|
569
|
-
type: 'ref',
|
|
570
|
-
ref: 'lex:com.atproto.repo.strongRef',
|
|
571
|
-
},
|
|
833
|
+
role: {
|
|
834
|
+
type: 'string',
|
|
835
|
+
description: 'Role or title of the contributor.',
|
|
572
836
|
maxLength: 100,
|
|
573
837
|
},
|
|
574
|
-
|
|
838
|
+
contributionDescription: {
|
|
575
839
|
type: 'string',
|
|
576
|
-
|
|
577
|
-
|
|
840
|
+
description: 'Description of what the contribution concretely involved.',
|
|
841
|
+
maxLength: 10000,
|
|
842
|
+
maxGraphemes: 1000,
|
|
578
843
|
},
|
|
579
|
-
|
|
580
|
-
type: '
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
type: 'union',
|
|
584
|
-
refs: [
|
|
585
|
-
'lex:org.hypercerts.defs#uri',
|
|
586
|
-
'lex:org.hypercerts.defs#smallBlob',
|
|
587
|
-
],
|
|
588
|
-
},
|
|
589
|
-
maxLength: 100,
|
|
844
|
+
startDate: {
|
|
845
|
+
type: 'string',
|
|
846
|
+
format: 'datetime',
|
|
847
|
+
description: "When this contribution started. Should fall within the parent hypercert's timeframe.",
|
|
590
848
|
},
|
|
591
|
-
|
|
849
|
+
endDate: {
|
|
592
850
|
type: 'string',
|
|
593
|
-
|
|
594
|
-
description:
|
|
851
|
+
format: 'datetime',
|
|
852
|
+
description: "When this contribution finished. Should fall within the parent hypercert's timeframe.",
|
|
595
853
|
},
|
|
596
|
-
|
|
854
|
+
createdAt: {
|
|
597
855
|
type: 'string',
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
maxGraphemes: 300,
|
|
856
|
+
format: 'datetime',
|
|
857
|
+
description: 'Client-declared timestamp when this record was originally created.',
|
|
601
858
|
},
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
859
|
+
},
|
|
860
|
+
},
|
|
861
|
+
},
|
|
862
|
+
},
|
|
863
|
+
},
|
|
864
|
+
OrgHypercertsClaimContributorInformation: {
|
|
865
|
+
lexicon: 1,
|
|
866
|
+
id: 'org.hypercerts.claim.contributorInformation',
|
|
867
|
+
defs: {
|
|
868
|
+
main: {
|
|
869
|
+
type: 'record',
|
|
870
|
+
description: 'Contributor information including identifier, display name, and image.',
|
|
871
|
+
key: 'tid',
|
|
872
|
+
record: {
|
|
873
|
+
type: 'object',
|
|
874
|
+
required: ['createdAt'],
|
|
875
|
+
properties: {
|
|
876
|
+
identifier: {
|
|
611
877
|
type: 'string',
|
|
612
|
-
description: '
|
|
613
|
-
maxLength:
|
|
614
|
-
maxGraphemes: 3000,
|
|
878
|
+
description: 'DID (did:plc:...) or URI to a social profile of the contributor.',
|
|
879
|
+
maxLength: 2048,
|
|
615
880
|
},
|
|
616
|
-
|
|
617
|
-
type: '
|
|
618
|
-
description: '
|
|
619
|
-
|
|
620
|
-
type: 'ref',
|
|
621
|
-
ref: 'lex:app.bsky.richtext.facet',
|
|
622
|
-
},
|
|
881
|
+
displayName: {
|
|
882
|
+
type: 'string',
|
|
883
|
+
description: 'Human-readable name for the contributor as it should appear in UI.',
|
|
884
|
+
maxLength: 100,
|
|
623
885
|
},
|
|
624
|
-
|
|
625
|
-
type: '
|
|
626
|
-
|
|
627
|
-
|
|
886
|
+
image: {
|
|
887
|
+
type: 'union',
|
|
888
|
+
refs: [
|
|
889
|
+
'lex:org.hypercerts.defs#uri',
|
|
890
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
891
|
+
],
|
|
892
|
+
description: 'The contributor visual representation as a URI or image blob.',
|
|
628
893
|
},
|
|
629
894
|
createdAt: {
|
|
630
895
|
type: 'string',
|
|
@@ -636,9 +901,60 @@ const schemaDict = {
|
|
|
636
901
|
},
|
|
637
902
|
},
|
|
638
903
|
},
|
|
639
|
-
|
|
904
|
+
OrgHypercertsClaimRights: {
|
|
905
|
+
lexicon: 1,
|
|
906
|
+
id: 'org.hypercerts.claim.rights',
|
|
907
|
+
defs: {
|
|
908
|
+
main: {
|
|
909
|
+
type: 'record',
|
|
910
|
+
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.',
|
|
911
|
+
key: 'tid',
|
|
912
|
+
record: {
|
|
913
|
+
type: 'object',
|
|
914
|
+
required: [
|
|
915
|
+
'rightsName',
|
|
916
|
+
'rightsType',
|
|
917
|
+
'rightsDescription',
|
|
918
|
+
'createdAt',
|
|
919
|
+
],
|
|
920
|
+
properties: {
|
|
921
|
+
rightsName: {
|
|
922
|
+
type: 'string',
|
|
923
|
+
description: "Human-readable name for these rights (e.g. 'All Rights Reserved', 'CC BY-SA 4.0')",
|
|
924
|
+
maxLength: 100,
|
|
925
|
+
},
|
|
926
|
+
rightsType: {
|
|
927
|
+
type: 'string',
|
|
928
|
+
description: "Short identifier code for this rights type (e.g. 'ARR', 'CC-BY-SA') to facilitate filtering and search",
|
|
929
|
+
maxLength: 10,
|
|
930
|
+
},
|
|
931
|
+
rightsDescription: {
|
|
932
|
+
type: 'string',
|
|
933
|
+
description: "Detailed explanation of the rights holders' permissions, restrictions, and conditions",
|
|
934
|
+
maxLength: 10000,
|
|
935
|
+
maxGraphemes: 1000,
|
|
936
|
+
},
|
|
937
|
+
attachment: {
|
|
938
|
+
type: 'union',
|
|
939
|
+
refs: [
|
|
940
|
+
'lex:org.hypercerts.defs#uri',
|
|
941
|
+
'lex:org.hypercerts.defs#smallBlob',
|
|
942
|
+
],
|
|
943
|
+
description: 'An attachment to define the rights further, e.g. a legal document.',
|
|
944
|
+
},
|
|
945
|
+
createdAt: {
|
|
946
|
+
type: 'string',
|
|
947
|
+
format: 'datetime',
|
|
948
|
+
description: 'Client-declared timestamp when this record was originally created',
|
|
949
|
+
},
|
|
950
|
+
},
|
|
951
|
+
},
|
|
952
|
+
},
|
|
953
|
+
},
|
|
954
|
+
},
|
|
955
|
+
OrgHypercertsCollection: {
|
|
640
956
|
lexicon: 1,
|
|
641
|
-
id: 'org.hypercerts.
|
|
957
|
+
id: 'org.hypercerts.collection',
|
|
642
958
|
defs: {
|
|
643
959
|
main: {
|
|
644
960
|
type: 'record',
|
|
@@ -646,15 +962,16 @@ const schemaDict = {
|
|
|
646
962
|
key: 'tid',
|
|
647
963
|
record: {
|
|
648
964
|
type: 'object',
|
|
649
|
-
required: ['title', '
|
|
965
|
+
required: ['title', 'createdAt'],
|
|
650
966
|
properties: {
|
|
651
967
|
type: {
|
|
652
968
|
type: 'string',
|
|
653
969
|
description: "The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection.",
|
|
970
|
+
maxLength: 64,
|
|
654
971
|
},
|
|
655
972
|
title: {
|
|
656
973
|
type: 'string',
|
|
657
|
-
description:
|
|
974
|
+
description: "Display name for this collection (e.g. 'Q1 2025 Impact Projects')",
|
|
658
975
|
maxLength: 800,
|
|
659
976
|
maxGraphemes: 80,
|
|
660
977
|
},
|
|
@@ -688,9 +1005,10 @@ const schemaDict = {
|
|
|
688
1005
|
items: {
|
|
689
1006
|
type: 'array',
|
|
690
1007
|
description: 'Array of items in this collection with optional weights.',
|
|
1008
|
+
maxLength: 1000,
|
|
691
1009
|
items: {
|
|
692
1010
|
type: 'ref',
|
|
693
|
-
ref: 'lex:org.hypercerts.
|
|
1011
|
+
ref: 'lex:org.hypercerts.collection#item',
|
|
694
1012
|
},
|
|
695
1013
|
},
|
|
696
1014
|
location: {
|
|
@@ -713,48 +1031,51 @@ const schemaDict = {
|
|
|
713
1031
|
itemIdentifier: {
|
|
714
1032
|
type: 'ref',
|
|
715
1033
|
ref: 'lex:com.atproto.repo.strongRef',
|
|
716
|
-
description: 'Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.
|
|
1034
|
+
description: 'Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection).',
|
|
717
1035
|
},
|
|
718
1036
|
itemWeight: {
|
|
719
1037
|
type: 'string',
|
|
720
1038
|
description: 'Optional weight for this item (positive numeric value stored as string). Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed.',
|
|
1039
|
+
maxLength: 100,
|
|
721
1040
|
},
|
|
722
1041
|
},
|
|
723
1042
|
},
|
|
724
1043
|
},
|
|
725
1044
|
},
|
|
726
|
-
|
|
1045
|
+
OrgHypercertsContextAcknowledgement: {
|
|
727
1046
|
lexicon: 1,
|
|
728
|
-
id: 'org.hypercerts.
|
|
1047
|
+
id: 'org.hypercerts.context.acknowledgement',
|
|
729
1048
|
defs: {
|
|
730
1049
|
main: {
|
|
731
1050
|
type: 'record',
|
|
732
|
-
description: '
|
|
1051
|
+
description: "Acknowledges a record (subject) or its relationship in a context. Created in the acknowledging actor's repo to form a bidirectional link. Examples: a contributor acknowledging inclusion in an activity, an activity owner acknowledging inclusion in a collection, or a record owner acknowledging an evaluation.",
|
|
733
1052
|
key: 'tid',
|
|
734
1053
|
record: {
|
|
735
1054
|
type: 'object',
|
|
736
|
-
required: ['createdAt'],
|
|
1055
|
+
required: ['subject', 'acknowledged', 'createdAt'],
|
|
737
1056
|
properties: {
|
|
738
|
-
|
|
739
|
-
type: '
|
|
740
|
-
|
|
741
|
-
|
|
1057
|
+
subject: {
|
|
1058
|
+
type: 'ref',
|
|
1059
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1060
|
+
description: 'The record being acknowledged (e.g. an activity, a contributor information record, an evaluation).',
|
|
742
1061
|
},
|
|
743
|
-
|
|
744
|
-
type: '
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
1062
|
+
context: {
|
|
1063
|
+
type: 'union',
|
|
1064
|
+
refs: [
|
|
1065
|
+
'lex:org.hypercerts.defs#uri',
|
|
1066
|
+
'lex:com.atproto.repo.strongRef',
|
|
1067
|
+
],
|
|
1068
|
+
description: 'Context for the acknowledgement (e.g. the collection that includes an activity, or the activity that includes a contributor). A URI for a lightweight reference or a strong reference for content-hash verification.',
|
|
748
1069
|
},
|
|
749
|
-
|
|
750
|
-
type: '
|
|
751
|
-
|
|
752
|
-
description: 'When this contribution started. This should be a subset of the hypercert timeframe.',
|
|
1070
|
+
acknowledged: {
|
|
1071
|
+
type: 'boolean',
|
|
1072
|
+
description: 'Whether the relationship is acknowledged (true) or rejected (false).',
|
|
753
1073
|
},
|
|
754
|
-
|
|
1074
|
+
comment: {
|
|
755
1075
|
type: 'string',
|
|
756
|
-
|
|
757
|
-
|
|
1076
|
+
description: 'Optional plain-text comment providing additional context or reasoning.',
|
|
1077
|
+
maxLength: 10000,
|
|
1078
|
+
maxGraphemes: 1000,
|
|
758
1079
|
},
|
|
759
1080
|
createdAt: {
|
|
760
1081
|
type: 'string',
|
|
@@ -766,34 +1087,72 @@ const schemaDict = {
|
|
|
766
1087
|
},
|
|
767
1088
|
},
|
|
768
1089
|
},
|
|
769
|
-
|
|
1090
|
+
OrgHypercertsContextAttachment: {
|
|
770
1091
|
lexicon: 1,
|
|
771
|
-
id: 'org.hypercerts.
|
|
1092
|
+
id: 'org.hypercerts.context.attachment',
|
|
772
1093
|
defs: {
|
|
773
1094
|
main: {
|
|
774
1095
|
type: 'record',
|
|
775
|
-
description: '
|
|
1096
|
+
description: 'An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation).',
|
|
776
1097
|
key: 'tid',
|
|
777
1098
|
record: {
|
|
778
1099
|
type: 'object',
|
|
779
|
-
required: ['createdAt'],
|
|
1100
|
+
required: ['title', 'createdAt'],
|
|
780
1101
|
properties: {
|
|
781
|
-
|
|
782
|
-
type: '
|
|
783
|
-
description: '
|
|
1102
|
+
subjects: {
|
|
1103
|
+
type: 'array',
|
|
1104
|
+
description: 'References to the subject(s) the attachment is connected to—this may be an activity claim, outcome claim, measurement, evaluation, or even another attachment. This is optional as the attachment can exist before the claim is recorded.',
|
|
1105
|
+
items: {
|
|
1106
|
+
type: 'ref',
|
|
1107
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1108
|
+
},
|
|
1109
|
+
maxLength: 100,
|
|
784
1110
|
},
|
|
785
|
-
|
|
1111
|
+
contentType: {
|
|
786
1112
|
type: 'string',
|
|
787
|
-
|
|
1113
|
+
maxLength: 64,
|
|
1114
|
+
description: 'The type of attachment, e.g. report, audit, evidence, testimonial, methodology, etc.',
|
|
1115
|
+
},
|
|
1116
|
+
content: {
|
|
1117
|
+
type: 'array',
|
|
1118
|
+
description: 'The files, documents, or external references included in this attachment record.',
|
|
1119
|
+
items: {
|
|
1120
|
+
type: 'union',
|
|
1121
|
+
refs: [
|
|
1122
|
+
'lex:org.hypercerts.defs#uri',
|
|
1123
|
+
'lex:org.hypercerts.defs#smallBlob',
|
|
1124
|
+
],
|
|
1125
|
+
},
|
|
788
1126
|
maxLength: 100,
|
|
789
1127
|
},
|
|
790
|
-
|
|
791
|
-
type: '
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
1128
|
+
title: {
|
|
1129
|
+
type: 'string',
|
|
1130
|
+
maxLength: 256,
|
|
1131
|
+
description: "Display title for this attachment (e.g. 'Impact Assessment Report', 'Audit Findings')",
|
|
1132
|
+
},
|
|
1133
|
+
shortDescription: {
|
|
1134
|
+
type: 'string',
|
|
1135
|
+
description: 'Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.',
|
|
1136
|
+
maxLength: 3000,
|
|
1137
|
+
maxGraphemes: 300,
|
|
1138
|
+
},
|
|
1139
|
+
shortDescriptionFacets: {
|
|
1140
|
+
type: 'array',
|
|
1141
|
+
description: 'Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).',
|
|
1142
|
+
items: {
|
|
1143
|
+
type: 'ref',
|
|
1144
|
+
ref: 'lex:app.bsky.richtext.facet',
|
|
1145
|
+
},
|
|
1146
|
+
},
|
|
1147
|
+
description: {
|
|
1148
|
+
type: 'ref',
|
|
1149
|
+
ref: 'lex:pub.leaflet.pages.linearDocument#main',
|
|
1150
|
+
description: 'Rich-text description, represented as a Leaflet linear document.',
|
|
1151
|
+
},
|
|
1152
|
+
location: {
|
|
1153
|
+
type: 'ref',
|
|
1154
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1155
|
+
description: "A strong reference to the location where this attachment's subject matter occurred. The record referenced must conform with the lexicon app.certified.location.",
|
|
797
1156
|
},
|
|
798
1157
|
createdAt: {
|
|
799
1158
|
type: 'string',
|
|
@@ -805,29 +1164,10 @@ const schemaDict = {
|
|
|
805
1164
|
},
|
|
806
1165
|
},
|
|
807
1166
|
},
|
|
808
|
-
|
|
1167
|
+
OrgHypercertsContextEvaluation: {
|
|
809
1168
|
lexicon: 1,
|
|
810
|
-
id: 'org.hypercerts.
|
|
1169
|
+
id: 'org.hypercerts.context.evaluation',
|
|
811
1170
|
defs: {
|
|
812
|
-
score: {
|
|
813
|
-
type: 'object',
|
|
814
|
-
description: 'Overall score for an evaluation on a numeric scale.',
|
|
815
|
-
required: ['min', 'max', 'value'],
|
|
816
|
-
properties: {
|
|
817
|
-
min: {
|
|
818
|
-
type: 'integer',
|
|
819
|
-
description: 'Minimum value of the scale, e.g. 0 or 1.',
|
|
820
|
-
},
|
|
821
|
-
max: {
|
|
822
|
-
type: 'integer',
|
|
823
|
-
description: 'Maximum value of the scale, e.g. 5 or 10.',
|
|
824
|
-
},
|
|
825
|
-
value: {
|
|
826
|
-
type: 'integer',
|
|
827
|
-
description: 'Score within the inclusive range [min, max].',
|
|
828
|
-
},
|
|
829
|
-
},
|
|
830
|
-
},
|
|
831
1171
|
main: {
|
|
832
1172
|
type: 'record',
|
|
833
1173
|
description: 'An evaluation of a hypercert record (e.g. an activity and its impact).',
|
|
@@ -839,7 +1179,7 @@ const schemaDict = {
|
|
|
839
1179
|
subject: {
|
|
840
1180
|
type: 'ref',
|
|
841
1181
|
ref: 'lex:com.atproto.repo.strongRef',
|
|
842
|
-
description: 'A strong reference to what is being evaluated
|
|
1182
|
+
description: 'A strong reference to what is being evaluated (e.g. activity, measurement, contribution, etc.)',
|
|
843
1183
|
},
|
|
844
1184
|
evaluators: {
|
|
845
1185
|
type: 'array',
|
|
@@ -864,7 +1204,7 @@ const schemaDict = {
|
|
|
864
1204
|
},
|
|
865
1205
|
measurements: {
|
|
866
1206
|
type: 'array',
|
|
867
|
-
description: 'Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.
|
|
1207
|
+
description: 'Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.context.measurement',
|
|
868
1208
|
items: {
|
|
869
1209
|
type: 'ref',
|
|
870
1210
|
ref: 'lex:com.atproto.repo.strongRef',
|
|
@@ -879,7 +1219,7 @@ const schemaDict = {
|
|
|
879
1219
|
},
|
|
880
1220
|
score: {
|
|
881
1221
|
type: 'ref',
|
|
882
|
-
ref: 'lex:org.hypercerts.
|
|
1222
|
+
ref: 'lex:org.hypercerts.context.evaluation#score',
|
|
883
1223
|
description: 'Optional overall score for this evaluation on a numeric scale.',
|
|
884
1224
|
},
|
|
885
1225
|
location: {
|
|
@@ -895,24 +1235,47 @@ const schemaDict = {
|
|
|
895
1235
|
},
|
|
896
1236
|
},
|
|
897
1237
|
},
|
|
1238
|
+
score: {
|
|
1239
|
+
type: 'object',
|
|
1240
|
+
description: 'Overall score for an evaluation on a numeric scale.',
|
|
1241
|
+
required: ['min', 'max', 'value'],
|
|
1242
|
+
properties: {
|
|
1243
|
+
min: {
|
|
1244
|
+
type: 'integer',
|
|
1245
|
+
description: 'Minimum value of the scale, e.g. 0 or 1.',
|
|
1246
|
+
},
|
|
1247
|
+
max: {
|
|
1248
|
+
type: 'integer',
|
|
1249
|
+
description: 'Maximum value of the scale, e.g. 5 or 10.',
|
|
1250
|
+
},
|
|
1251
|
+
value: {
|
|
1252
|
+
type: 'integer',
|
|
1253
|
+
description: 'Score within the inclusive range [min, max].',
|
|
1254
|
+
},
|
|
1255
|
+
},
|
|
1256
|
+
},
|
|
898
1257
|
},
|
|
899
1258
|
},
|
|
900
|
-
|
|
1259
|
+
OrgHypercertsContextMeasurement: {
|
|
901
1260
|
lexicon: 1,
|
|
902
|
-
id: 'org.hypercerts.
|
|
1261
|
+
id: 'org.hypercerts.context.measurement',
|
|
903
1262
|
defs: {
|
|
904
1263
|
main: {
|
|
905
1264
|
type: 'record',
|
|
906
|
-
description: 'Measurement data related to
|
|
1265
|
+
description: 'Measurement data related to one or more records (e.g. activities, projects, etc.).',
|
|
907
1266
|
key: 'tid',
|
|
908
1267
|
record: {
|
|
909
1268
|
type: 'object',
|
|
910
1269
|
required: ['metric', 'unit', 'value', 'createdAt'],
|
|
911
1270
|
properties: {
|
|
912
|
-
|
|
913
|
-
type: '
|
|
914
|
-
|
|
915
|
-
|
|
1271
|
+
subjects: {
|
|
1272
|
+
type: 'array',
|
|
1273
|
+
description: 'Strong references to the records this measurement refers to (e.g. activities, projects, or claims).',
|
|
1274
|
+
items: {
|
|
1275
|
+
type: 'ref',
|
|
1276
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1277
|
+
},
|
|
1278
|
+
maxLength: 100,
|
|
916
1279
|
},
|
|
917
1280
|
metric: {
|
|
918
1281
|
type: 'string',
|
|
@@ -926,7 +1289,7 @@ const schemaDict = {
|
|
|
926
1289
|
},
|
|
927
1290
|
value: {
|
|
928
1291
|
type: 'string',
|
|
929
|
-
description:
|
|
1292
|
+
description: "The measured value as a numeric string (e.g. '1234.56')",
|
|
930
1293
|
maxLength: 500,
|
|
931
1294
|
},
|
|
932
1295
|
startDate: {
|
|
@@ -937,7 +1300,7 @@ const schemaDict = {
|
|
|
937
1300
|
endDate: {
|
|
938
1301
|
type: 'string',
|
|
939
1302
|
format: 'datetime',
|
|
940
|
-
description: 'The end date and time when the measurement ended.
|
|
1303
|
+
description: 'The end date and time when the measurement ended. For one-time measurements, this should equal the start date.',
|
|
941
1304
|
},
|
|
942
1305
|
locations: {
|
|
943
1306
|
type: 'array',
|
|
@@ -969,7 +1332,7 @@ const schemaDict = {
|
|
|
969
1332
|
},
|
|
970
1333
|
measurers: {
|
|
971
1334
|
type: 'array',
|
|
972
|
-
description: 'DIDs of the
|
|
1335
|
+
description: 'DIDs of the entities that performed this measurement',
|
|
973
1336
|
items: {
|
|
974
1337
|
type: 'ref',
|
|
975
1338
|
ref: 'lex:app.certified.defs#did',
|
|
@@ -1000,58 +1363,10 @@ const schemaDict = {
|
|
|
1000
1363
|
},
|
|
1001
1364
|
},
|
|
1002
1365
|
},
|
|
1003
|
-
OrgHypercertsClaimRights: {
|
|
1004
|
-
lexicon: 1,
|
|
1005
|
-
id: 'org.hypercerts.claim.rights',
|
|
1006
|
-
defs: {
|
|
1007
|
-
main: {
|
|
1008
|
-
type: 'record',
|
|
1009
|
-
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.',
|
|
1010
|
-
key: 'tid',
|
|
1011
|
-
record: {
|
|
1012
|
-
type: 'object',
|
|
1013
|
-
required: [
|
|
1014
|
-
'rightsName',
|
|
1015
|
-
'rightsType',
|
|
1016
|
-
'rightsDescription',
|
|
1017
|
-
'createdAt',
|
|
1018
|
-
],
|
|
1019
|
-
properties: {
|
|
1020
|
-
rightsName: {
|
|
1021
|
-
type: 'string',
|
|
1022
|
-
description: 'Full name of the rights',
|
|
1023
|
-
maxLength: 100,
|
|
1024
|
-
},
|
|
1025
|
-
rightsType: {
|
|
1026
|
-
type: 'string',
|
|
1027
|
-
description: 'Short rights identifier for easier search',
|
|
1028
|
-
maxLength: 10,
|
|
1029
|
-
},
|
|
1030
|
-
rightsDescription: {
|
|
1031
|
-
type: 'string',
|
|
1032
|
-
description: 'Description of the rights of this hypercert',
|
|
1033
|
-
},
|
|
1034
|
-
attachment: {
|
|
1035
|
-
type: 'union',
|
|
1036
|
-
refs: [
|
|
1037
|
-
'lex:org.hypercerts.defs#uri',
|
|
1038
|
-
'lex:org.hypercerts.defs#smallBlob',
|
|
1039
|
-
],
|
|
1040
|
-
description: 'An attachment to define the rights further, e.g. a legal document.',
|
|
1041
|
-
},
|
|
1042
|
-
createdAt: {
|
|
1043
|
-
type: 'string',
|
|
1044
|
-
format: 'datetime',
|
|
1045
|
-
description: 'Client-declared timestamp when this record was originally created',
|
|
1046
|
-
},
|
|
1047
|
-
},
|
|
1048
|
-
},
|
|
1049
|
-
},
|
|
1050
|
-
},
|
|
1051
|
-
},
|
|
1052
1366
|
OrgHypercertsDefs: {
|
|
1053
1367
|
lexicon: 1,
|
|
1054
1368
|
id: 'org.hypercerts.defs',
|
|
1369
|
+
description: 'Common type definitions used across all Hypercerts protocols.',
|
|
1055
1370
|
defs: {
|
|
1056
1371
|
uri: {
|
|
1057
1372
|
type: 'object',
|
|
@@ -1061,7 +1376,6 @@ const schemaDict = {
|
|
|
1061
1376
|
uri: {
|
|
1062
1377
|
type: 'string',
|
|
1063
1378
|
format: 'uri',
|
|
1064
|
-
maxGraphemes: 1024,
|
|
1065
1379
|
description: 'URI to external data',
|
|
1066
1380
|
},
|
|
1067
1381
|
},
|
|
@@ -1105,6 +1419,19 @@ const schemaDict = {
|
|
|
1105
1419
|
},
|
|
1106
1420
|
},
|
|
1107
1421
|
},
|
|
1422
|
+
smallVideo: {
|
|
1423
|
+
type: 'object',
|
|
1424
|
+
required: ['video'],
|
|
1425
|
+
description: 'Object containing a small video',
|
|
1426
|
+
properties: {
|
|
1427
|
+
video: {
|
|
1428
|
+
type: 'blob',
|
|
1429
|
+
accept: ['video/mp4', 'video/webm'],
|
|
1430
|
+
maxSize: 20971520,
|
|
1431
|
+
description: 'Video (up to 20MB)',
|
|
1432
|
+
},
|
|
1433
|
+
},
|
|
1434
|
+
},
|
|
1108
1435
|
largeImage: {
|
|
1109
1436
|
type: 'object',
|
|
1110
1437
|
required: ['image'],
|
|
@@ -1140,26 +1467,32 @@ const schemaDict = {
|
|
|
1140
1467
|
to: {
|
|
1141
1468
|
type: 'string',
|
|
1142
1469
|
description: 'The recipient of the funds. Can be identified by DID or a clear-text name.',
|
|
1470
|
+
maxLength: 2048,
|
|
1143
1471
|
},
|
|
1144
1472
|
amount: {
|
|
1145
1473
|
type: 'string',
|
|
1146
|
-
description:
|
|
1474
|
+
description: "Amount of funding received as a numeric string (e.g. '1000.50').",
|
|
1475
|
+
maxLength: 50,
|
|
1147
1476
|
},
|
|
1148
1477
|
currency: {
|
|
1149
1478
|
type: 'string',
|
|
1150
1479
|
description: 'Currency of the payment (e.g. EUR, USD, ETH).',
|
|
1480
|
+
maxLength: 10,
|
|
1151
1481
|
},
|
|
1152
1482
|
paymentRail: {
|
|
1153
1483
|
type: 'string',
|
|
1154
1484
|
description: 'How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor).',
|
|
1485
|
+
maxLength: 50,
|
|
1155
1486
|
},
|
|
1156
1487
|
paymentNetwork: {
|
|
1157
1488
|
type: 'string',
|
|
1158
1489
|
description: 'Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal).',
|
|
1490
|
+
maxLength: 50,
|
|
1159
1491
|
},
|
|
1160
1492
|
transactionId: {
|
|
1161
1493
|
type: 'string',
|
|
1162
1494
|
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.',
|
|
1495
|
+
maxLength: 256,
|
|
1163
1496
|
},
|
|
1164
1497
|
for: {
|
|
1165
1498
|
type: 'string',
|
|
@@ -1186,36 +1519,71 @@ const schemaDict = {
|
|
|
1186
1519
|
},
|
|
1187
1520
|
},
|
|
1188
1521
|
},
|
|
1189
|
-
|
|
1522
|
+
OrgHypercertsWorkscopeCel: {
|
|
1190
1523
|
lexicon: 1,
|
|
1191
|
-
id: 'org.hypercerts.
|
|
1524
|
+
id: 'org.hypercerts.workscope.cel',
|
|
1525
|
+
defs: {
|
|
1526
|
+
main: {
|
|
1527
|
+
type: 'object',
|
|
1528
|
+
description: "A structured, machine-evaluable work scope definition using CEL (Common Expression Language). Tags referenced in the expression correspond to org.hypercerts.workscope.tag keys. See https://github.com/google/cel-spec. Note: this is intentionally type 'object' (not 'record') so it can be directly embedded inline in union types (e.g., activity.workScope) without requiring a separate collection or strongRef indirection.",
|
|
1529
|
+
required: ['expression', 'usedTags', 'version', 'createdAt'],
|
|
1530
|
+
properties: {
|
|
1531
|
+
expression: {
|
|
1532
|
+
type: 'string',
|
|
1533
|
+
maxLength: 10000,
|
|
1534
|
+
maxGraphemes: 5000,
|
|
1535
|
+
description: "A CEL expression encoding the work scope conditions. Example: scope.hasAll(['mangrove_restoration', 'environmental_education']) && location.country == 'KE'",
|
|
1536
|
+
},
|
|
1537
|
+
usedTags: {
|
|
1538
|
+
type: 'array',
|
|
1539
|
+
items: {
|
|
1540
|
+
type: 'ref',
|
|
1541
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1542
|
+
},
|
|
1543
|
+
maxLength: 100,
|
|
1544
|
+
description: 'Strong references to org.hypercerts.workscope.tag records used in the expression. Enables fast indexing by AT-URI and provides referential integrity to the underlying tag records.',
|
|
1545
|
+
},
|
|
1546
|
+
version: {
|
|
1547
|
+
type: 'string',
|
|
1548
|
+
maxLength: 16,
|
|
1549
|
+
knownValues: ['v1'],
|
|
1550
|
+
description: 'CEL context schema version.',
|
|
1551
|
+
},
|
|
1552
|
+
createdAt: {
|
|
1553
|
+
type: 'string',
|
|
1554
|
+
format: 'datetime',
|
|
1555
|
+
description: 'Client-declared timestamp when this expression was originally created.',
|
|
1556
|
+
},
|
|
1557
|
+
},
|
|
1558
|
+
},
|
|
1559
|
+
},
|
|
1560
|
+
},
|
|
1561
|
+
OrgHypercertsWorkscopeTag: {
|
|
1562
|
+
lexicon: 1,
|
|
1563
|
+
id: 'org.hypercerts.workscope.tag',
|
|
1192
1564
|
defs: {
|
|
1193
1565
|
main: {
|
|
1194
1566
|
type: 'record',
|
|
1195
|
-
description: 'A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels.',
|
|
1567
|
+
description: 'A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels. Tags are composed into structured expressions via CEL (Common Expression Language) on activity records.',
|
|
1196
1568
|
key: 'tid',
|
|
1197
1569
|
record: {
|
|
1198
1570
|
type: 'object',
|
|
1199
|
-
required: ['
|
|
1571
|
+
required: ['key', 'name', 'createdAt'],
|
|
1200
1572
|
properties: {
|
|
1201
|
-
createdAt: {
|
|
1202
|
-
type: 'string',
|
|
1203
|
-
format: 'datetime',
|
|
1204
|
-
description: 'Client-declared timestamp when this record was originally created',
|
|
1205
|
-
},
|
|
1206
1573
|
key: {
|
|
1207
1574
|
type: 'string',
|
|
1208
|
-
description: "Lowercase,
|
|
1575
|
+
description: "Lowercase, underscore-separated machine-readable key for this scope (e.g., 'mangrove_restoration', 'biodiversity_monitoring'). Used as the canonical identifier in CEL expressions.",
|
|
1209
1576
|
maxLength: 120,
|
|
1210
1577
|
},
|
|
1211
|
-
|
|
1578
|
+
name: {
|
|
1212
1579
|
type: 'string',
|
|
1213
|
-
description: 'Human-readable
|
|
1580
|
+
description: 'Human-readable name for this scope.',
|
|
1214
1581
|
maxLength: 200,
|
|
1215
1582
|
},
|
|
1216
|
-
|
|
1583
|
+
category: {
|
|
1217
1584
|
type: 'string',
|
|
1218
|
-
description: 'Category type of this scope.
|
|
1585
|
+
description: 'Category type of this scope.',
|
|
1586
|
+
knownValues: ['topic', 'language', 'domain', 'method'],
|
|
1219
1587
|
maxLength: 50,
|
|
1220
1588
|
},
|
|
1221
1589
|
description: {
|
|
@@ -1227,7 +1595,18 @@ const schemaDict = {
|
|
|
1227
1595
|
parent: {
|
|
1228
1596
|
type: 'ref',
|
|
1229
1597
|
ref: 'lex:com.atproto.repo.strongRef',
|
|
1230
|
-
description: 'Optional strong reference to a parent scope record for taxonomy/hierarchy support.',
|
|
1598
|
+
description: 'Optional strong reference to a parent work scope tag record for taxonomy/hierarchy support. The record referenced must conform with the lexicon org.hypercerts.workscope.tag.',
|
|
1599
|
+
},
|
|
1600
|
+
status: {
|
|
1601
|
+
type: 'string',
|
|
1602
|
+
description: 'Lifecycle status of this tag. Communities propose tags, curators accept them, deprecated tags point to replacements via supersededBy.',
|
|
1603
|
+
knownValues: ['proposed', 'accepted', 'deprecated'],
|
|
1604
|
+
maxLength: 20,
|
|
1605
|
+
},
|
|
1606
|
+
supersededBy: {
|
|
1607
|
+
type: 'ref',
|
|
1608
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1609
|
+
description: "When status is 'deprecated', points to the replacement work scope tag record. The record referenced must conform with the lexicon org.hypercerts.workscope.tag.",
|
|
1231
1610
|
},
|
|
1232
1611
|
aliases: {
|
|
1233
1612
|
type: 'array',
|
|
@@ -1236,15 +1615,30 @@ const schemaDict = {
|
|
|
1236
1615
|
maxLength: 200,
|
|
1237
1616
|
},
|
|
1238
1617
|
maxLength: 50,
|
|
1239
|
-
description: '
|
|
1618
|
+
description: 'Alternative human-readable names for this scope (e.g., translations, abbreviations, or common synonyms). Unlike sameAs, these are plain-text labels, not links to external ontologies.',
|
|
1619
|
+
},
|
|
1620
|
+
sameAs: {
|
|
1621
|
+
type: 'array',
|
|
1622
|
+
items: {
|
|
1623
|
+
type: 'string',
|
|
1624
|
+
format: 'uri',
|
|
1625
|
+
maxLength: 2048,
|
|
1626
|
+
},
|
|
1627
|
+
maxLength: 20,
|
|
1628
|
+
description: 'URIs to semantically equivalent concepts in external ontologies or taxonomies (e.g., Wikidata QIDs, ENVO terms, SDG targets). Used for interoperability, not as documentation.',
|
|
1240
1629
|
},
|
|
1241
|
-
|
|
1630
|
+
referenceDocument: {
|
|
1242
1631
|
type: 'union',
|
|
1243
1632
|
refs: [
|
|
1244
1633
|
'lex:org.hypercerts.defs#uri',
|
|
1245
1634
|
'lex:org.hypercerts.defs#smallBlob',
|
|
1246
1635
|
],
|
|
1247
|
-
description: '
|
|
1636
|
+
description: 'Link to a governance or reference document where this work scope tag is defined and further explained.',
|
|
1637
|
+
},
|
|
1638
|
+
createdAt: {
|
|
1639
|
+
type: 'string',
|
|
1640
|
+
format: 'datetime',
|
|
1641
|
+
description: 'Client-declared timestamp when this record was originally created.',
|
|
1248
1642
|
},
|
|
1249
1643
|
},
|
|
1250
1644
|
},
|
|
@@ -1263,6 +1657,7 @@ function validate(v, id, hash, requiredType) {
|
|
|
1263
1657
|
};
|
|
1264
1658
|
}
|
|
1265
1659
|
const ids = {
|
|
1660
|
+
AppCertifiedActorOrganization: 'app.certified.actor.organization',
|
|
1266
1661
|
AppCertifiedActorProfile: 'app.certified.actor.profile',
|
|
1267
1662
|
AppCertifiedBadgeAward: 'app.certified.badge.award',
|
|
1268
1663
|
AppCertifiedBadgeDefinition: 'app.certified.badge.definition',
|
|
@@ -1270,18 +1665,21 @@ const ids = {
|
|
|
1270
1665
|
AppCertifiedDefs: 'app.certified.defs',
|
|
1271
1666
|
AppCertifiedLocation: 'app.certified.location',
|
|
1272
1667
|
ComAtprotoRepoStrongRef: 'com.atproto.repo.strongRef',
|
|
1273
|
-
|
|
1668
|
+
OrgHyperboardsBoard: 'org.hyperboards.board',
|
|
1669
|
+
OrgHyperboardsDisplayProfile: 'org.hyperboards.displayProfile',
|
|
1274
1670
|
OrgHypercertsClaimActivity: 'org.hypercerts.claim.activity',
|
|
1275
|
-
|
|
1276
|
-
OrgHypercertsClaimCollection: 'org.hypercerts.claim.collection',
|
|
1277
|
-
OrgHypercertsClaimContributionDetails: 'org.hypercerts.claim.contributionDetails',
|
|
1671
|
+
OrgHypercertsClaimContribution: 'org.hypercerts.claim.contribution',
|
|
1278
1672
|
OrgHypercertsClaimContributorInformation: 'org.hypercerts.claim.contributorInformation',
|
|
1279
|
-
OrgHypercertsClaimEvaluation: 'org.hypercerts.claim.evaluation',
|
|
1280
|
-
OrgHypercertsClaimMeasurement: 'org.hypercerts.claim.measurement',
|
|
1281
1673
|
OrgHypercertsClaimRights: 'org.hypercerts.claim.rights',
|
|
1674
|
+
OrgHypercertsCollection: 'org.hypercerts.collection',
|
|
1675
|
+
OrgHypercertsContextAcknowledgement: 'org.hypercerts.context.acknowledgement',
|
|
1676
|
+
OrgHypercertsContextAttachment: 'org.hypercerts.context.attachment',
|
|
1677
|
+
OrgHypercertsContextEvaluation: 'org.hypercerts.context.evaluation',
|
|
1678
|
+
OrgHypercertsContextMeasurement: 'org.hypercerts.context.measurement',
|
|
1282
1679
|
OrgHypercertsDefs: 'org.hypercerts.defs',
|
|
1283
1680
|
OrgHypercertsFundingReceipt: 'org.hypercerts.funding.receipt',
|
|
1284
|
-
|
|
1681
|
+
OrgHypercertsWorkscopeCel: 'org.hypercerts.workscope.cel',
|
|
1682
|
+
OrgHypercertsWorkscopeTag: 'org.hypercerts.workscope.tag',
|
|
1285
1683
|
};
|
|
1286
1684
|
|
|
1287
1685
|
export { ids, lexicons, schemaDict, schemas, validate };
|