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