@hypercerts-org/lexicon 0.10.0-beta.14 → 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 +36 -0
- package/README.md +117 -12
- package/SCHEMAS.md +300 -158
- package/dist/exports.d.ts +604 -171
- package/dist/exports.d.ts.map +1 -1
- package/dist/generated/exports.d.ts +604 -171
- package/dist/generated/exports.d.ts.map +1 -1
- package/dist/generated/lexicons.d.ts +1256 -440
- 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 +4 -4
- 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/{types/org/hypercerts/claim → generated/types/org/hypercerts}/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 +1931 -805
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +1883 -777
- package/dist/index.mjs.map +1 -1
- package/dist/lexicons.cjs +689 -240
- package/dist/lexicons.cjs.map +1 -1
- package/dist/lexicons.d.ts +1256 -440
- package/dist/lexicons.d.ts.map +1 -1
- package/dist/lexicons.mjs +689 -240
- 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 +4 -4
- 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/{generated/types/org/hypercerts/claim → types/org/hypercerts}/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 +13 -4
- 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/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/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/helper/workScopeTag.json +0 -65
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import { type ValidationResult } from '@atproto/lexicon';
|
|
5
|
+
import { type $Typed } from '../../../../util';
|
|
6
|
+
import type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef.js';
|
|
7
|
+
import type * as OrgHypercertsDefs from '../defs.js';
|
|
8
|
+
export interface Main {
|
|
9
|
+
$type: 'org.hypercerts.workscope.tag';
|
|
10
|
+
/** Lowercase, underscore-separated machine-readable key for this scope (e.g., 'mangrove_restoration', 'biodiversity_monitoring'). Used as the canonical identifier in CEL expressions. */
|
|
11
|
+
key: string;
|
|
12
|
+
/** Human-readable name for this scope. */
|
|
13
|
+
name: string;
|
|
14
|
+
/** Category type of this scope. */
|
|
15
|
+
category?: 'topic' | 'language' | 'domain' | 'method' | (string & {});
|
|
16
|
+
/** Optional longer description of this scope. */
|
|
17
|
+
description?: string;
|
|
18
|
+
parent?: ComAtprotoRepoStrongRef.Main;
|
|
19
|
+
/** Lifecycle status of this tag. Communities propose tags, curators accept them, deprecated tags point to replacements via supersededBy. */
|
|
20
|
+
status?: 'proposed' | 'accepted' | 'deprecated' | (string & {});
|
|
21
|
+
supersededBy?: ComAtprotoRepoStrongRef.Main;
|
|
22
|
+
/** 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. */
|
|
23
|
+
aliases?: string[];
|
|
24
|
+
/** URIs to semantically equivalent concepts in external ontologies or taxonomies (e.g., Wikidata QIDs, ENVO terms, SDG targets). Used for interoperability, not as documentation. */
|
|
25
|
+
sameAs?: string[];
|
|
26
|
+
referenceDocument?: $Typed<OrgHypercertsDefs.Uri> | $Typed<OrgHypercertsDefs.SmallBlob> | {
|
|
27
|
+
$type: string;
|
|
28
|
+
};
|
|
29
|
+
/** Client-declared timestamp when this record was originally created. */
|
|
30
|
+
createdAt: string;
|
|
31
|
+
[k: string]: unknown;
|
|
32
|
+
}
|
|
33
|
+
export declare function isMain<V>(v: V): v is import("../../../../util").$TypedObject<V, "org.hypercerts.workscope.tag", "main">;
|
|
34
|
+
export declare function validateMain<V>(v: V): ValidationResult<Main & V>;
|
|
35
|
+
export { type Main as Record, isMain as isRecord, validateMain as validateRecord, };
|
|
36
|
+
//# sourceMappingURL=tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../../../generated/types/org/hypercerts/workscope/tag.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAGjE,OAAO,EACL,KAAK,MAAM,EAGZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,KAAK,uBAAuB,MAAM,wCAAwC,CAAA;AACtF,OAAO,KAAK,KAAK,iBAAiB,MAAM,YAAY,CAAA;AAMpD,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,8BAA8B,CAAA;IACrC,0LAA0L;IAC1L,GAAG,EAAE,MAAM,CAAA;IACX,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IACrE,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAA;IACrC,4IAA4I;IAC5I,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IAC/D,YAAY,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAA;IAC3C,6LAA6L;IAC7L,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,qLAAqL;IACrL,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,iBAAiB,CAAC,EACd,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAC7B,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,GACnC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACrB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAID,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,2FAE7B;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,8BAEnC;AAED,OAAO,EACL,KAAK,IAAI,IAAI,MAAM,EACnB,MAAM,IAAI,QAAQ,EAClB,YAAY,IAAI,cAAc,GAC/B,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lexicon": 1,
|
|
3
|
+
"id": "app.certified.actor.organization",
|
|
4
|
+
"defs": {
|
|
5
|
+
"main": {
|
|
6
|
+
"type": "record",
|
|
7
|
+
"description": "Extended metadata for an organization actor. Complements the base actor profile with organization-specific fields like legal structure and reference links.",
|
|
8
|
+
"key": "literal:self",
|
|
9
|
+
"record": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"required": ["createdAt"],
|
|
12
|
+
"properties": {
|
|
13
|
+
"organizationType": {
|
|
14
|
+
"type": "array",
|
|
15
|
+
"description": "Legal or operational structures of the organization (e.g. 'nonprofit', 'ngo', 'government', 'social-enterprise', 'cooperative').",
|
|
16
|
+
"items": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"maxLength": 128,
|
|
19
|
+
"maxGraphemes": 100
|
|
20
|
+
},
|
|
21
|
+
"maxLength": 10
|
|
22
|
+
},
|
|
23
|
+
"urls": {
|
|
24
|
+
"type": "array",
|
|
25
|
+
"description": "Additional reference URLs (social media profiles, contact pages, donation links, etc.) with a display label for each URL.",
|
|
26
|
+
"items": {
|
|
27
|
+
"type": "ref",
|
|
28
|
+
"ref": "#urlItem"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"location": {
|
|
32
|
+
"type": "ref",
|
|
33
|
+
"ref": "com.atproto.repo.strongRef",
|
|
34
|
+
"description": "A strong reference to the location where the organization is based. The record referenced must conform with the lexicon app.certified.location."
|
|
35
|
+
},
|
|
36
|
+
"foundedDate": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"format": "datetime",
|
|
39
|
+
"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."
|
|
40
|
+
},
|
|
41
|
+
"createdAt": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"format": "datetime",
|
|
44
|
+
"description": "Client-declared timestamp when this record was originally created."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"urlItem": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"description": "A labeled URL reference.",
|
|
52
|
+
"required": ["url"],
|
|
53
|
+
"properties": {
|
|
54
|
+
"url": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"format": "uri",
|
|
57
|
+
"description": "The URL.",
|
|
58
|
+
"maxLength": 10000,
|
|
59
|
+
"maxGraphemes": 2048
|
|
60
|
+
},
|
|
61
|
+
"label": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "Optional human-readable label for this URL (e.g. 'Support page', 'Donation page').",
|
|
64
|
+
"maxLength": 640,
|
|
65
|
+
"maxGraphemes": 64
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -4,13 +4,15 @@
|
|
|
4
4
|
"defs": {
|
|
5
5
|
"main": {
|
|
6
6
|
"type": "record",
|
|
7
|
-
"description": "A declaration of a
|
|
7
|
+
"description": "A declaration of a Certified account profile.",
|
|
8
8
|
"key": "literal:self",
|
|
9
9
|
"record": {
|
|
10
10
|
"type": "object",
|
|
11
|
+
"required": ["createdAt"],
|
|
11
12
|
"properties": {
|
|
12
13
|
"displayName": {
|
|
13
14
|
"type": "string",
|
|
15
|
+
"description": "Display name for the account",
|
|
14
16
|
"maxGraphemes": 64,
|
|
15
17
|
"maxLength": 640
|
|
16
18
|
},
|
|
@@ -26,7 +28,11 @@
|
|
|
26
28
|
"maxGraphemes": 20,
|
|
27
29
|
"maxLength": 200
|
|
28
30
|
},
|
|
29
|
-
"website": {
|
|
31
|
+
"website": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"format": "uri",
|
|
34
|
+
"description": "Account website URL"
|
|
35
|
+
},
|
|
30
36
|
"avatar": {
|
|
31
37
|
"type": "union",
|
|
32
38
|
"refs": [
|
|
@@ -43,7 +49,11 @@
|
|
|
43
49
|
],
|
|
44
50
|
"description": "Larger horizontal image to display behind profile view."
|
|
45
51
|
},
|
|
46
|
-
"createdAt": {
|
|
52
|
+
"createdAt": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"format": "datetime",
|
|
55
|
+
"description": "Client-declared timestamp when this record was originally created"
|
|
56
|
+
}
|
|
47
57
|
}
|
|
48
58
|
}
|
|
49
59
|
}
|
|
@@ -22,7 +22,14 @@
|
|
|
22
22
|
},
|
|
23
23
|
"note": {
|
|
24
24
|
"type": "string",
|
|
25
|
-
"description": "Optional statement explaining the reason for this badge award."
|
|
25
|
+
"description": "Optional statement explaining the reason for this badge award.",
|
|
26
|
+
"maxLength": 500
|
|
27
|
+
},
|
|
28
|
+
"url": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"format": "uri",
|
|
31
|
+
"description": "Optional URL the badge award links to.",
|
|
32
|
+
"maxLength": 2048
|
|
26
33
|
},
|
|
27
34
|
"createdAt": {
|
|
28
35
|
"type": "string",
|
|
@@ -12,11 +12,13 @@
|
|
|
12
12
|
"properties": {
|
|
13
13
|
"badgeType": {
|
|
14
14
|
"type": "string",
|
|
15
|
-
"description": "Category of the badge (e.g. endorsement, participation, affiliation)."
|
|
15
|
+
"description": "Category of the badge (e.g. endorsement, participation, affiliation).",
|
|
16
|
+
"maxLength": 100
|
|
16
17
|
},
|
|
17
18
|
"title": {
|
|
18
19
|
"type": "string",
|
|
19
|
-
"description": "Human-readable title of the badge."
|
|
20
|
+
"description": "Human-readable title of the badge.",
|
|
21
|
+
"maxLength": 256
|
|
20
22
|
},
|
|
21
23
|
"icon": {
|
|
22
24
|
"type": "blob",
|
|
@@ -31,11 +33,14 @@
|
|
|
31
33
|
},
|
|
32
34
|
"description": {
|
|
33
35
|
"type": "string",
|
|
34
|
-
"description": "Optional short statement describing what the badge represents."
|
|
36
|
+
"description": "Optional short statement describing what the badge represents.",
|
|
37
|
+
"maxLength": 5000,
|
|
38
|
+
"maxGraphemes": 500
|
|
35
39
|
},
|
|
36
40
|
"allowedIssuers": {
|
|
37
41
|
"type": "array",
|
|
38
42
|
"description": "Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it.",
|
|
43
|
+
"maxLength": 100,
|
|
39
44
|
"items": {
|
|
40
45
|
"type": "ref",
|
|
41
46
|
"ref": "app.certified.defs#did"
|
|
@@ -17,12 +17,13 @@
|
|
|
17
17
|
},
|
|
18
18
|
"response": {
|
|
19
19
|
"type": "string",
|
|
20
|
-
"
|
|
20
|
+
"knownValues": ["accepted", "rejected"],
|
|
21
21
|
"description": "The recipient’s response for the badge (accepted or rejected)."
|
|
22
22
|
},
|
|
23
23
|
"weight": {
|
|
24
24
|
"type": "string",
|
|
25
|
-
"description": "Optional relative weight for accepted badges, assigned by the recipient."
|
|
25
|
+
"description": "Optional relative weight for accepted badges, assigned by the recipient.",
|
|
26
|
+
"maxLength": 50
|
|
26
27
|
},
|
|
27
28
|
"createdAt": {
|
|
28
29
|
"type": "string",
|
|
@@ -29,8 +29,17 @@
|
|
|
29
29
|
},
|
|
30
30
|
"locationType": {
|
|
31
31
|
"type": "string",
|
|
32
|
-
"description": "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point)",
|
|
33
|
-
"knownValues": [
|
|
32
|
+
"description": "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point). See the Location Protocol spec for the full registry: https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry",
|
|
33
|
+
"knownValues": [
|
|
34
|
+
"coordinate-decimal",
|
|
35
|
+
"geojson-point",
|
|
36
|
+
"geojson",
|
|
37
|
+
"h3",
|
|
38
|
+
"geohash",
|
|
39
|
+
"wkt",
|
|
40
|
+
"address",
|
|
41
|
+
"scaledCoordinates"
|
|
42
|
+
],
|
|
34
43
|
"maxLength": 20
|
|
35
44
|
},
|
|
36
45
|
"location": {
|
|
@@ -44,13 +53,13 @@
|
|
|
44
53
|
},
|
|
45
54
|
"name": {
|
|
46
55
|
"type": "string",
|
|
47
|
-
"description": "
|
|
56
|
+
"description": "Human-readable name for this location (e.g. 'Golden Gate Park', 'San Francisco Bay Area')",
|
|
48
57
|
"maxLength": 1000,
|
|
49
58
|
"maxGraphemes": 100
|
|
50
59
|
},
|
|
51
60
|
"description": {
|
|
52
61
|
"type": "string",
|
|
53
|
-
"description": "
|
|
62
|
+
"description": "Additional context about this location, such as its significance to the work or specific boundaries",
|
|
54
63
|
"maxLength": 2000,
|
|
55
64
|
"maxGraphemes": 500
|
|
56
65
|
},
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lexicon": 1,
|
|
3
|
+
"id": "org.hyperboards.board",
|
|
4
|
+
"defs": {
|
|
5
|
+
"main": {
|
|
6
|
+
"type": "record",
|
|
7
|
+
"description": "Configuration record for a hyperboard, wrapping an underlying activity or collection with visual presentation settings. Stored in the creator's PDS.",
|
|
8
|
+
"key": "tid",
|
|
9
|
+
"record": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"required": ["subject", "createdAt"],
|
|
12
|
+
"properties": {
|
|
13
|
+
"subject": {
|
|
14
|
+
"type": "ref",
|
|
15
|
+
"ref": "com.atproto.repo.strongRef",
|
|
16
|
+
"description": "Reference to the org.hypercerts.claim.activity or org.hypercerts.claim.collection this board visualizes."
|
|
17
|
+
},
|
|
18
|
+
"config": {
|
|
19
|
+
"type": "ref",
|
|
20
|
+
"ref": "#boardConfig",
|
|
21
|
+
"description": "Board-level visual configuration (background, colors, aspect ratio)."
|
|
22
|
+
},
|
|
23
|
+
"contributorConfigs": {
|
|
24
|
+
"type": "array",
|
|
25
|
+
"description": "Per-contributor configuration entries for this board.",
|
|
26
|
+
"maxLength": 1000,
|
|
27
|
+
"items": {
|
|
28
|
+
"type": "ref",
|
|
29
|
+
"ref": "#contributorConfig"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"createdAt": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"format": "datetime",
|
|
35
|
+
"description": "Client-declared timestamp when this record was originally created."
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"boardConfig": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"description": "Visual configuration for a hyperboard's background, colors, and layout.",
|
|
43
|
+
"properties": {
|
|
44
|
+
"backgroundType": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"description": "Type of background content.",
|
|
47
|
+
"knownValues": ["image", "iframe"],
|
|
48
|
+
"maxLength": 10
|
|
49
|
+
},
|
|
50
|
+
"backgroundImage": {
|
|
51
|
+
"type": "union",
|
|
52
|
+
"refs": ["org.hypercerts.defs#uri", "org.hypercerts.defs#smallImage"],
|
|
53
|
+
"description": "Background image as a URI or image blob."
|
|
54
|
+
},
|
|
55
|
+
"backgroundIframeUrl": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"format": "uri",
|
|
58
|
+
"description": "URI of the background iframe.",
|
|
59
|
+
"maxLength": 2048
|
|
60
|
+
},
|
|
61
|
+
"backgroundGrayscale": {
|
|
62
|
+
"type": "boolean",
|
|
63
|
+
"description": "Whether the background is rendered in grayscale. Default: true."
|
|
64
|
+
},
|
|
65
|
+
"backgroundOpacity": {
|
|
66
|
+
"type": "integer",
|
|
67
|
+
"description": "Background opacity as a percentage (0–100).",
|
|
68
|
+
"minimum": 0,
|
|
69
|
+
"maximum": 100
|
|
70
|
+
},
|
|
71
|
+
"backgroundColor": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"description": "Background color as a hex string (e.g. '#ffffff').",
|
|
74
|
+
"maxLength": 20
|
|
75
|
+
},
|
|
76
|
+
"borderColor": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"description": "Border color as a hex string (e.g. '#000000').",
|
|
79
|
+
"maxLength": 20
|
|
80
|
+
},
|
|
81
|
+
"grayscaleImages": {
|
|
82
|
+
"type": "boolean",
|
|
83
|
+
"description": "Whether contributor images are rendered in grayscale. Default: false."
|
|
84
|
+
},
|
|
85
|
+
"imageShape": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"description": "Shape used to crop contributor images on this board.",
|
|
88
|
+
"knownValues": ["circular", "square"],
|
|
89
|
+
"maxLength": 20
|
|
90
|
+
},
|
|
91
|
+
"aspectRatio": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"description": "Display aspect ratio of the board.",
|
|
94
|
+
"knownValues": ["16:9", "4:3", "1:1"],
|
|
95
|
+
"maxLength": 10
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"contributorConfig": {
|
|
100
|
+
"type": "object",
|
|
101
|
+
"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.",
|
|
102
|
+
"required": ["contributor"],
|
|
103
|
+
"properties": {
|
|
104
|
+
"contributor": {
|
|
105
|
+
"type": "union",
|
|
106
|
+
"refs": [
|
|
107
|
+
"com.atproto.repo.strongRef",
|
|
108
|
+
"org.hypercerts.claim.activity#contributorIdentity"
|
|
109
|
+
],
|
|
110
|
+
"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."
|
|
111
|
+
},
|
|
112
|
+
"override": {
|
|
113
|
+
"type": "boolean",
|
|
114
|
+
"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."
|
|
115
|
+
},
|
|
116
|
+
"displayName": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"description": "Display name for this contributor on this board.",
|
|
119
|
+
"maxLength": 640,
|
|
120
|
+
"maxGraphemes": 64
|
|
121
|
+
},
|
|
122
|
+
"image": {
|
|
123
|
+
"type": "union",
|
|
124
|
+
"refs": ["org.hypercerts.defs#uri", "org.hypercerts.defs#smallImage"],
|
|
125
|
+
"description": "Avatar or face image for this contributor on this board, as a URI or image blob."
|
|
126
|
+
},
|
|
127
|
+
"video": {
|
|
128
|
+
"type": "union",
|
|
129
|
+
"refs": ["org.hypercerts.defs#uri", "org.hypercerts.defs#smallVideo"],
|
|
130
|
+
"description": "Video for this contributor, as a URI (embed/direct link) or uploaded video blob."
|
|
131
|
+
},
|
|
132
|
+
"hoverImage": {
|
|
133
|
+
"type": "union",
|
|
134
|
+
"refs": ["org.hypercerts.defs#uri", "org.hypercerts.defs#smallImage"],
|
|
135
|
+
"description": "Image overlay shown when hovering over this contributor, as a URI or image blob."
|
|
136
|
+
},
|
|
137
|
+
"hoverIframeUrl": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"format": "uri",
|
|
140
|
+
"description": "Iframe overlay shown when hovering over this contributor.",
|
|
141
|
+
"maxLength": 2048
|
|
142
|
+
},
|
|
143
|
+
"url": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"format": "uri",
|
|
146
|
+
"description": "Click-through link URL for this contributor.",
|
|
147
|
+
"maxLength": 2048
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lexicon": 1,
|
|
3
|
+
"id": "org.hyperboards.displayProfile",
|
|
4
|
+
"defs": {
|
|
5
|
+
"main": {
|
|
6
|
+
"type": "record",
|
|
7
|
+
"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.",
|
|
8
|
+
"key": "literal:self",
|
|
9
|
+
"record": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"required": ["createdAt"],
|
|
12
|
+
"properties": {
|
|
13
|
+
"displayName": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Display name override for this user on hyperboards.",
|
|
16
|
+
"maxLength": 640,
|
|
17
|
+
"maxGraphemes": 64
|
|
18
|
+
},
|
|
19
|
+
"image": {
|
|
20
|
+
"type": "union",
|
|
21
|
+
"refs": [
|
|
22
|
+
"org.hypercerts.defs#uri",
|
|
23
|
+
"org.hypercerts.defs#smallImage"
|
|
24
|
+
],
|
|
25
|
+
"description": "Avatar or face image override for this user on hyperboards, as a URI or image blob."
|
|
26
|
+
},
|
|
27
|
+
"video": {
|
|
28
|
+
"type": "union",
|
|
29
|
+
"refs": [
|
|
30
|
+
"org.hypercerts.defs#uri",
|
|
31
|
+
"org.hypercerts.defs#smallVideo"
|
|
32
|
+
],
|
|
33
|
+
"description": "Default video for this user across boards, as a URI (embed/direct link) or uploaded video blob."
|
|
34
|
+
},
|
|
35
|
+
"hoverImage": {
|
|
36
|
+
"type": "union",
|
|
37
|
+
"refs": [
|
|
38
|
+
"org.hypercerts.defs#uri",
|
|
39
|
+
"org.hypercerts.defs#smallImage"
|
|
40
|
+
],
|
|
41
|
+
"description": "Default hover image for this user across boards, as a URI or image blob."
|
|
42
|
+
},
|
|
43
|
+
"hoverIframeUrl": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"format": "uri",
|
|
46
|
+
"description": "Default hover iframe URL for this user across boards.",
|
|
47
|
+
"maxLength": 2048
|
|
48
|
+
},
|
|
49
|
+
"url": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"format": "uri",
|
|
52
|
+
"description": "Default click-through link URL for this user across boards.",
|
|
53
|
+
"maxLength": 2048
|
|
54
|
+
},
|
|
55
|
+
"createdAt": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"format": "datetime",
|
|
58
|
+
"description": "Client-declared timestamp when this record was originally created."
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"properties": {
|
|
13
13
|
"title": {
|
|
14
14
|
"type": "string",
|
|
15
|
-
"description": "
|
|
15
|
+
"description": "Display title summarizing the impact work (e.g. 'Reforestation in Amazon Basin 2024')",
|
|
16
16
|
"maxLength": 256
|
|
17
17
|
},
|
|
18
18
|
"shortDescription": {
|
|
@@ -30,18 +30,9 @@
|
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"description": {
|
|
33
|
-
"type": "
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"maxGraphemes": 3000
|
|
37
|
-
},
|
|
38
|
-
"descriptionFacets": {
|
|
39
|
-
"type": "array",
|
|
40
|
-
"description": "Rich text annotations for `description` (mentions, URLs, hashtags, etc).",
|
|
41
|
-
"items": {
|
|
42
|
-
"type": "ref",
|
|
43
|
-
"ref": "app.bsky.richtext.facet"
|
|
44
|
-
}
|
|
33
|
+
"type": "ref",
|
|
34
|
+
"ref": "pub.leaflet.pages.linearDocument#main",
|
|
35
|
+
"description": "Rich-text description, represented as a Leaflet linear document."
|
|
45
36
|
},
|
|
46
37
|
"image": {
|
|
47
38
|
"type": "union",
|
|
@@ -51,10 +42,19 @@
|
|
|
51
42
|
],
|
|
52
43
|
"description": "The hypercert visual representation as a URI or image blob."
|
|
53
44
|
},
|
|
45
|
+
"contributors": {
|
|
46
|
+
"type": "array",
|
|
47
|
+
"description": "An array of contributor objects, each containing contributor information, weight, and contribution details.",
|
|
48
|
+
"maxLength": 1000,
|
|
49
|
+
"items": {
|
|
50
|
+
"type": "ref",
|
|
51
|
+
"ref": "#contributor"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
54
|
"workScope": {
|
|
55
55
|
"type": "union",
|
|
56
|
-
"refs": ["
|
|
57
|
-
"description": "Work scope definition.
|
|
56
|
+
"refs": ["org.hypercerts.workscope.cel", "#workScopeString"],
|
|
57
|
+
"description": "Work scope definition. A CEL expression for structured, machine-evaluable scopes or a free-form string for simple and legacy scopes."
|
|
58
58
|
},
|
|
59
59
|
"startDate": {
|
|
60
60
|
"type": "string",
|
|
@@ -66,12 +66,13 @@
|
|
|
66
66
|
"format": "datetime",
|
|
67
67
|
"description": "When the work ended"
|
|
68
68
|
},
|
|
69
|
-
"
|
|
69
|
+
"locations": {
|
|
70
70
|
"type": "array",
|
|
71
|
-
"description": "An array of
|
|
71
|
+
"description": "An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.",
|
|
72
|
+
"maxLength": 1000,
|
|
72
73
|
"items": {
|
|
73
74
|
"type": "ref",
|
|
74
|
-
"ref": "
|
|
75
|
+
"ref": "com.atproto.repo.strongRef"
|
|
75
76
|
}
|
|
76
77
|
},
|
|
77
78
|
"rights": {
|
|
@@ -79,14 +80,6 @@
|
|
|
79
80
|
"ref": "com.atproto.repo.strongRef",
|
|
80
81
|
"description": "A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights."
|
|
81
82
|
},
|
|
82
|
-
"locations": {
|
|
83
|
-
"type": "array",
|
|
84
|
-
"description": "An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.",
|
|
85
|
-
"items": {
|
|
86
|
-
"type": "ref",
|
|
87
|
-
"ref": "com.atproto.repo.strongRef"
|
|
88
|
-
}
|
|
89
|
-
},
|
|
90
83
|
"createdAt": {
|
|
91
84
|
"type": "string",
|
|
92
85
|
"format": "datetime",
|
|
@@ -102,16 +95,17 @@
|
|
|
102
95
|
"contributorIdentity": {
|
|
103
96
|
"type": "union",
|
|
104
97
|
"refs": ["#contributorIdentity", "com.atproto.repo.strongRef"],
|
|
105
|
-
"description": "
|
|
98
|
+
"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."
|
|
106
99
|
},
|
|
107
100
|
"contributionWeight": {
|
|
108
101
|
"type": "string",
|
|
109
|
-
"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."
|
|
102
|
+
"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.",
|
|
103
|
+
"maxLength": 100
|
|
110
104
|
},
|
|
111
105
|
"contributionDetails": {
|
|
112
106
|
"type": "union",
|
|
113
107
|
"refs": ["#contributorRole", "com.atproto.repo.strongRef"],
|
|
114
|
-
"description": "
|
|
108
|
+
"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."
|
|
115
109
|
}
|
|
116
110
|
}
|
|
117
111
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"lexicon": 1,
|
|
3
|
-
"id": "org.hypercerts.claim.
|
|
3
|
+
"id": "org.hypercerts.claim.contribution",
|
|
4
4
|
"defs": {
|
|
5
5
|
"main": {
|
|
6
6
|
"type": "record",
|
|
@@ -17,19 +17,19 @@
|
|
|
17
17
|
},
|
|
18
18
|
"contributionDescription": {
|
|
19
19
|
"type": "string",
|
|
20
|
-
"description": "
|
|
20
|
+
"description": "Description of what the contribution concretely involved.",
|
|
21
21
|
"maxLength": 10000,
|
|
22
22
|
"maxGraphemes": 1000
|
|
23
23
|
},
|
|
24
24
|
"startDate": {
|
|
25
25
|
"type": "string",
|
|
26
26
|
"format": "datetime",
|
|
27
|
-
"description": "When this contribution started.
|
|
27
|
+
"description": "When this contribution started. Should fall within the parent hypercert's timeframe."
|
|
28
28
|
},
|
|
29
29
|
"endDate": {
|
|
30
30
|
"type": "string",
|
|
31
31
|
"format": "datetime",
|
|
32
|
-
"description": "When this contribution finished.
|
|
32
|
+
"description": "When this contribution finished. Should fall within the parent hypercert's timeframe."
|
|
33
33
|
},
|
|
34
34
|
"createdAt": {
|
|
35
35
|
"type": "string",
|
|
@@ -12,11 +12,12 @@
|
|
|
12
12
|
"properties": {
|
|
13
13
|
"identifier": {
|
|
14
14
|
"type": "string",
|
|
15
|
-
"description": "DID or
|
|
15
|
+
"description": "DID (did:plc:...) or URI to a social profile of the contributor.",
|
|
16
|
+
"maxLength": 2048
|
|
16
17
|
},
|
|
17
18
|
"displayName": {
|
|
18
19
|
"type": "string",
|
|
19
|
-
"description": "
|
|
20
|
+
"description": "Human-readable name for the contributor as it should appear in UI.",
|
|
20
21
|
"maxLength": 100
|
|
21
22
|
},
|
|
22
23
|
"image": {
|
|
@@ -17,17 +17,19 @@
|
|
|
17
17
|
"properties": {
|
|
18
18
|
"rightsName": {
|
|
19
19
|
"type": "string",
|
|
20
|
-
"description": "
|
|
20
|
+
"description": "Human-readable name for these rights (e.g. 'All Rights Reserved', 'CC BY-SA 4.0')",
|
|
21
21
|
"maxLength": 100
|
|
22
22
|
},
|
|
23
23
|
"rightsType": {
|
|
24
24
|
"type": "string",
|
|
25
|
-
"description": "Short
|
|
25
|
+
"description": "Short identifier code for this rights type (e.g. 'ARR', 'CC-BY-SA') to facilitate filtering and search",
|
|
26
26
|
"maxLength": 10
|
|
27
27
|
},
|
|
28
28
|
"rightsDescription": {
|
|
29
29
|
"type": "string",
|
|
30
|
-
"description": "
|
|
30
|
+
"description": "Detailed explanation of the rights holders' permissions, restrictions, and conditions",
|
|
31
|
+
"maxLength": 10000,
|
|
32
|
+
"maxGraphemes": 1000
|
|
31
33
|
},
|
|
32
34
|
"attachment": {
|
|
33
35
|
"type": "union",
|