@hypercerts-org/lexicon 0.10.0-beta.3 → 0.10.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +66 -311
  3. package/SCHEMAS.md +276 -0
  4. package/dist/exports.d.ts +34 -130
  5. package/dist/exports.d.ts.map +1 -1
  6. package/dist/generated/exports.d.ts +34 -130
  7. package/dist/generated/exports.d.ts.map +1 -1
  8. package/dist/generated/lexicons.d.ts +96 -278
  9. package/dist/generated/lexicons.d.ts.map +1 -1
  10. package/dist/generated/types/org/hypercerts/claim/activity.d.ts +6 -19
  11. package/dist/generated/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  12. package/dist/generated/types/org/hypercerts/claim/collection.d.ts +9 -9
  13. package/dist/generated/types/org/hypercerts/claim/collection.d.ts.map +1 -1
  14. package/dist/generated/types/org/hypercerts/claim/contributor.d.ts +31 -0
  15. package/dist/generated/types/org/hypercerts/claim/contributor.d.ts.map +1 -0
  16. package/dist/index.cjs +261 -503
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.mjs +253 -491
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/lexicons.cjs +52 -147
  21. package/dist/lexicons.cjs.map +1 -1
  22. package/dist/lexicons.d.ts +96 -278
  23. package/dist/lexicons.d.ts.map +1 -1
  24. package/dist/lexicons.mjs +52 -147
  25. package/dist/lexicons.mjs.map +1 -1
  26. package/dist/types/org/hypercerts/claim/activity.d.ts +6 -19
  27. package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  28. package/dist/types/org/hypercerts/claim/collection.d.ts +9 -9
  29. package/dist/types/org/hypercerts/claim/collection.d.ts.map +1 -1
  30. package/dist/types/org/hypercerts/claim/contributor.d.ts +31 -0
  31. package/dist/types/org/hypercerts/claim/contributor.d.ts.map +1 -0
  32. package/lexicons/org/hypercerts/claim/activity.json +11 -48
  33. package/lexicons/org/hypercerts/claim/collection.json +14 -17
  34. package/lexicons/org/hypercerts/claim/{contribution.json → contributor.json} +24 -14
  35. package/lexicons/org/hypercerts/claim/evaluation.json +1 -1
  36. package/package.json +8 -4
  37. package/dist/generated/types/org/hypercerts/claim/contribution.d.ts +0 -24
  38. package/dist/generated/types/org/hypercerts/claim/contribution.d.ts.map +0 -1
  39. package/dist/generated/types/org/hypercerts/claim/project.d.ts +0 -29
  40. package/dist/generated/types/org/hypercerts/claim/project.d.ts.map +0 -1
  41. package/dist/types/org/hypercerts/claim/contribution.d.ts +0 -24
  42. package/dist/types/org/hypercerts/claim/contribution.d.ts.map +0 -1
  43. package/dist/types/org/hypercerts/claim/project.d.ts +0 -29
  44. package/dist/types/org/hypercerts/claim/project.d.ts.map +0 -1
  45. package/lexicons/org/hypercerts/claim/project.json +0 -64
@@ -16,17 +16,16 @@ export interface Main {
16
16
  image?: $Typed<OrgHypercertsDefs.Uri> | $Typed<OrgHypercertsDefs.SmallImage> | {
17
17
  $type: string;
18
18
  };
19
- workScope?: WorkScope;
19
+ workScope?: ComAtprotoRepoStrongRef.Main;
20
20
  /** When the work began */
21
- startDate: string;
21
+ startDate?: string;
22
22
  /** When the work ended */
23
- endDate: string;
24
- /** A strong reference to the contributions done to create the impact in the hypercerts. The record referenced must conform with the lexicon org.hypercerts.claim.contribution. */
23
+ endDate?: string;
24
+ /** A strong reference to the contributions done to create the impact in the hypercerts. The record referenced must conform with the lexicon org.hypercerts.claim.contributor. */
25
25
  contributions?: ComAtprotoRepoStrongRef.Main[];
26
26
  rights?: ComAtprotoRepoStrongRef.Main;
27
- location?: ComAtprotoRepoStrongRef.Main;
28
- /** A reference (AT-URI) to the project record that this activity is part of. The record referenced must conform with the lexicon org.hypercerts.claim.project. This activity must also be referenced by the project, establishing a bidirectional link. */
29
- project?: string;
27
+ /** An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location. */
28
+ locations?: ComAtprotoRepoStrongRef.Main[];
30
29
  /** Client-declared timestamp when this record was originally created */
31
30
  createdAt: string;
32
31
  [k: string]: unknown;
@@ -34,18 +33,6 @@ export interface Main {
34
33
  export declare function isMain<V>(v: V): v is import("../../../../util").$TypedObject<V, "org.hypercerts.claim.activity", "main">;
35
34
  export declare function validateMain<V>(v: V): ValidationResult<Main & V>;
36
35
  export { type Main as Record, isMain as isRecord, validateMain as validateRecord, };
37
- /** Logical scope of the work using label-based conditions. All labels in `withinAllOf` must apply; at least one label in `withinAnyOf` must apply if provided; no label in `withinNoneOf` may apply. */
38
- export interface WorkScope {
39
- $type?: 'org.hypercerts.claim.activity#workScope';
40
- /** Labels that MUST all hold for the scope to apply. */
41
- withinAllOf?: string[];
42
- /** Labels of which AT LEAST ONE must hold (optional). If omitted or empty, imposes no additional condition. */
43
- withinAnyOf?: string[];
44
- /** Labels that MUST NOT hold for the scope to apply. */
45
- withinNoneOf?: string[];
46
- }
47
- export declare function isWorkScope<V>(v: V): v is import("../../../../util").$TypedObject<V, "org.hypercerts.claim.activity", "workScope">;
48
- export declare function validateWorkScope<V>(v: V): ValidationResult<WorkScope & V>;
49
36
  export interface ActivityWeight {
50
37
  $type?: 'org.hypercerts.claim.activity#activityWeight';
51
38
  activity: ComAtprotoRepoStrongRef.Main;
@@ -1 +1 @@
1
- {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../../../generated/types/org/hypercerts/claim/activity.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,iBAAiB,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,KAAK,uBAAuB,MAAM,wCAAwC,CAAA;AAMtF,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,+BAA+B,CAAA;IACtC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAA;IACxB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EACF,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAC7B,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,GACpC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACrB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,kLAAkL;IAClL,aAAa,CAAC,EAAE,uBAAuB,CAAC,IAAI,EAAE,CAAA;IAC9C,MAAM,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAA;IACvC,2PAA2P;IAC3P,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAID,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,4FAE7B;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;AAED,wMAAwM;AACxM,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,yCAAyC,CAAA;IACjD,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,+GAA+G;IAC/G,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAID,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,iGAElC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,mCAExC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,8CAA8C,CAAA;IACtD,QAAQ,EAAE,uBAAuB,CAAC,IAAI,CAAA;IACtC,oRAAoR;IACpR,MAAM,EAAE,MAAM,CAAA;CACf;AAID,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,sGAEvC;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,wCAE7C"}
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../../../generated/types/org/hypercerts/claim/activity.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,iBAAiB,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,KAAK,uBAAuB,MAAM,wCAAwC,CAAA;AAMtF,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,+BAA+B,CAAA;IACtC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAA;IACxB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EACF,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAC7B,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,GACpC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACrB,SAAS,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAA;IACxC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iLAAiL;IACjL,aAAa,CAAC,EAAE,uBAAuB,CAAC,IAAI,EAAE,CAAA;IAC9C,MAAM,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAA;IACrC,8JAA8J;IAC9J,SAAS,CAAC,EAAE,uBAAuB,CAAC,IAAI,EAAE,CAAA;IAC1C,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAID,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,4FAE7B;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;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,8CAA8C,CAAA;IACtD,QAAQ,EAAE,uBAAuB,CAAC,IAAI,CAAA;IACtC,oRAAoR;IACpR,MAAM,EAAE,MAAM,CAAA;CACf;AAID,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,sGAEvC;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,wCAE7C"}
@@ -1,20 +1,20 @@
1
1
  /**
2
2
  * GENERATED CODE - DO NOT MODIFY
3
3
  */
4
- import { type ValidationResult, BlobRef } from '@atproto/lexicon';
5
- import type * as OrgHypercertsClaimActivity from './activity.js';
4
+ import { type ValidationResult } from '@atproto/lexicon';
5
+ import type * as PubLeafletPagesLinearDocument from '../../../pub/leaflet/pages/linearDocument.js';
6
+ import type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef.js';
6
7
  export interface Main {
7
8
  $type: 'org.hypercerts.claim.collection';
9
+ /** The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection. */
10
+ type?: string;
8
11
  /** The title of this collection */
9
12
  title: string;
10
- /** A short description of this collection */
13
+ /** Short summary of this collection, suitable for previews and list views */
11
14
  shortDescription?: string;
12
- /** Primary avatar image representing this collection across apps and views; typically a square image. */
13
- avatar?: BlobRef;
14
- /** The cover photo of this collection. */
15
- coverPhoto?: BlobRef;
16
- /** Array of activities with their associated weights in this collection */
17
- activities: OrgHypercertsClaimActivity.ActivityWeight[];
15
+ description?: PubLeafletPagesLinearDocument.Main;
16
+ /** Array of strong references to items in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.claim.collection). */
17
+ items: ComAtprotoRepoStrongRef.Main[];
18
18
  /** Client-declared timestamp when this record was originally created */
19
19
  createdAt: string;
20
20
  [k: string]: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../../../generated/types/org/hypercerts/claim/collection.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAQjE,OAAO,KAAK,KAAK,0BAA0B,MAAM,eAAe,CAAA;AAMhE,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,iCAAiC,CAAA;IACxC,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,yGAAyG;IACzG,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,2EAA2E;IAC3E,UAAU,EAAE,0BAA0B,CAAC,cAAc,EAAE,CAAA;IACvD,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAID,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,8FAE7B;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"}
1
+ {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../../../generated/types/org/hypercerts/claim/collection.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAQjE,OAAO,KAAK,KAAK,6BAA6B,MAAM,8CAA8C,CAAA;AAClG,OAAO,KAAK,KAAK,uBAAuB,MAAM,wCAAwC,CAAA;AAMtF,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,iCAAiC,CAAA;IACxC,mHAAmH;IACnH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,6BAA6B,CAAC,IAAI,CAAA;IAChD,kLAAkL;IAClL,KAAK,EAAE,uBAAuB,CAAC,IAAI,EAAE,CAAA;IACrC,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAID,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,8FAE7B;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,31 @@
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 OrgHypercertsDefs from '../defs.js';
7
+ export interface Main {
8
+ $type: 'org.hypercerts.claim.contributor';
9
+ /** DID or a URI to a social profile of the contributor. */
10
+ identifier?: string;
11
+ /** Display name of the contributor. */
12
+ displayName?: string;
13
+ image?: $Typed<OrgHypercertsDefs.Uri> | $Typed<OrgHypercertsDefs.SmallImage> | {
14
+ $type: string;
15
+ };
16
+ /** Role or title of the contributor. */
17
+ role?: string;
18
+ /** What the contribution concretely achieved. */
19
+ contributionDescription?: string;
20
+ /** When this contribution started. This should be a subset of the hypercert timeframe. */
21
+ startDate?: string;
22
+ /** When this contribution finished. This should be a subset of the hypercert timeframe. */
23
+ endDate?: string;
24
+ /** Client-declared timestamp when this record was originally created. */
25
+ createdAt: string;
26
+ [k: string]: unknown;
27
+ }
28
+ export declare function isMain<V>(v: V): v is import("../../../../util").$TypedObject<V, "org.hypercerts.claim.contributor", "main">;
29
+ export declare function validateMain<V>(v: V): ValidationResult<Main & V>;
30
+ export { type Main as Record, isMain as isRecord, validateMain as validateRecord, };
31
+ //# sourceMappingURL=contributor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributor.d.ts","sourceRoot":"","sources":["../../../../../generated/types/org/hypercerts/claim/contributor.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,iBAAiB,MAAM,YAAY,CAAA;AAMpD,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,kCAAkC,CAAA;IACzC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EACF,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAC7B,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,GACpC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACrB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAID,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,+FAE7B;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"}
@@ -8,13 +8,7 @@
8
8
  "key": "any",
9
9
  "record": {
10
10
  "type": "object",
11
- "required": [
12
- "title",
13
- "shortDescription",
14
- "createdAt",
15
- "startDate",
16
- "endDate"
17
- ],
11
+ "required": ["title", "shortDescription", "createdAt"],
18
12
  "properties": {
19
13
  "title": {
20
14
  "type": "string",
@@ -43,7 +37,8 @@
43
37
  },
44
38
  "workScope": {
45
39
  "type": "ref",
46
- "ref": "#workScope"
40
+ "ref": "com.atproto.repo.strongRef",
41
+ "description": "A strong reference to a record defining the scope of work. The record referenced should describe the logical scope using label-based conditions."
47
42
  },
48
43
  "startDate": {
49
44
  "type": "string",
@@ -57,7 +52,7 @@
57
52
  },
58
53
  "contributions": {
59
54
  "type": "array",
60
- "description": "A strong reference to the contributions done to create the impact in the hypercerts. The record referenced must conform with the lexicon org.hypercerts.claim.contribution.",
55
+ "description": "A strong reference to the contributions done to create the impact in the hypercerts. The record referenced must conform with the lexicon org.hypercerts.claim.contributor.",
61
56
  "items": {
62
57
  "type": "ref",
63
58
  "ref": "com.atproto.repo.strongRef"
@@ -68,15 +63,13 @@
68
63
  "ref": "com.atproto.repo.strongRef",
69
64
  "description": "A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights."
70
65
  },
71
- "location": {
72
- "type": "ref",
73
- "ref": "com.atproto.repo.strongRef",
74
- "description": "A strong reference to the location where the activity was performed. The record referenced must conform with the lexicon app.certified.location."
75
- },
76
- "project": {
77
- "type": "string",
78
- "format": "at-uri",
79
- "description": "A reference (AT-URI) to the project record that this activity is part of. The record referenced must conform with the lexicon org.hypercerts.claim.project. This activity must also be referenced by the project, establishing a bidirectional link."
66
+ "locations": {
67
+ "type": "array",
68
+ "description": "An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.",
69
+ "items": {
70
+ "type": "ref",
71
+ "ref": "com.atproto.repo.strongRef"
72
+ }
80
73
  },
81
74
  "createdAt": {
82
75
  "type": "string",
@@ -86,36 +79,6 @@
86
79
  }
87
80
  }
88
81
  },
89
- "workScope": {
90
- "type": "object",
91
- "description": "Logical scope of the work using label-based conditions. All labels in `withinAllOf` must apply; at least one label in `withinAnyOf` must apply if provided; no label in `withinNoneOf` may apply.",
92
- "properties": {
93
- "withinAllOf": {
94
- "type": "array",
95
- "description": "Labels that MUST all hold for the scope to apply.",
96
- "items": {
97
- "type": "string"
98
- },
99
- "maxLength": 100
100
- },
101
- "withinAnyOf": {
102
- "type": "array",
103
- "description": "Labels of which AT LEAST ONE must hold (optional). If omitted or empty, imposes no additional condition.",
104
- "items": {
105
- "type": "string"
106
- },
107
- "maxLength": 100
108
- },
109
- "withinNoneOf": {
110
- "type": "array",
111
- "description": "Labels that MUST NOT hold for the scope to apply.",
112
- "items": {
113
- "type": "string"
114
- },
115
- "maxLength": 100
116
- }
117
- }
118
- },
119
82
  "activityWeight": {
120
83
  "type": "object",
121
84
  "required": ["activity", "weight"],
@@ -4,12 +4,16 @@
4
4
  "defs": {
5
5
  "main": {
6
6
  "type": "record",
7
- "description": "A collection/group of hypercerts that have a specific property.",
7
+ "description": "A collection/group of items (activities and/or other collections). Collections support recursive nesting. Use app.certified.location as a sidecar (same TID) for location metadata.",
8
8
  "key": "tid",
9
9
  "record": {
10
10
  "type": "object",
11
- "required": ["title", "activities", "createdAt"],
11
+ "required": ["title", "items", "createdAt"],
12
12
  "properties": {
13
+ "type": {
14
+ "type": "string",
15
+ "description": "The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection."
16
+ },
13
17
  "title": {
14
18
  "type": "string",
15
19
  "description": "The title of this collection",
@@ -20,26 +24,19 @@
20
24
  "type": "string",
21
25
  "maxLength": 3000,
22
26
  "maxGraphemes": 300,
23
- "description": "A short description of this collection"
24
- },
25
- "avatar": {
26
- "type": "blob",
27
- "description": "Primary avatar image representing this collection across apps and views; typically a square image.",
28
- "accept": ["image/png", "image/jpeg"],
29
- "maxSize": 1000000
27
+ "description": "Short summary of this collection, suitable for previews and list views"
30
28
  },
31
- "coverPhoto": {
32
- "type": "blob",
33
- "description": "The cover photo of this collection.",
34
- "accept": ["image/png", "image/jpeg"],
35
- "maxSize": 1000000
29
+ "description": {
30
+ "type": "ref",
31
+ "ref": "pub.leaflet.pages.linearDocument#main",
32
+ "description": "Rich-text description, represented as a Leaflet linear document."
36
33
  },
37
- "activities": {
34
+ "items": {
38
35
  "type": "array",
39
- "description": "Array of activities with their associated weights in this collection",
36
+ "description": "Array of strong references to items in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.claim.collection).",
40
37
  "items": {
41
38
  "type": "ref",
42
- "ref": "org.hypercerts.claim.activity#activityWeight"
39
+ "ref": "com.atproto.repo.strongRef"
43
40
  }
44
41
  },
45
42
  "createdAt": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "lexicon": 1,
3
- "id": "org.hypercerts.claim.contribution",
3
+ "id": "org.hypercerts.claim.contributor",
4
4
  "defs": {
5
5
  "main": {
6
6
  "type": "record",
@@ -8,23 +8,33 @@
8
8
  "key": "tid",
9
9
  "record": {
10
10
  "type": "object",
11
- "required": ["contributors", "createdAt"],
11
+ "required": ["createdAt"],
12
12
  "properties": {
13
- "role": {
13
+ "identifier": {
14
+ "type": "string",
15
+ "description": "DID or a URI to a social profile of the contributor."
16
+ },
17
+ "displayName": {
14
18
  "type": "string",
15
- "description": "Role or title of the contributor(s).",
19
+ "description": "Display name of the contributor.",
16
20
  "maxLength": 100
17
21
  },
18
- "contributors": {
19
- "type": "array",
20
- "description": "List of the contributors (names, pseudonyms, or DIDs). If multiple contributors are stored in the same hypercertContribution, then they would have the exact same role.",
21
- "items": {
22
- "type": "string"
23
- }
22
+ "image": {
23
+ "type": "union",
24
+ "refs": [
25
+ "org.hypercerts.defs#uri",
26
+ "org.hypercerts.defs#smallImage"
27
+ ],
28
+ "description": "The contributor visual representation as a URI or image blob."
29
+ },
30
+ "role": {
31
+ "type": "string",
32
+ "description": "Role or title of the contributor.",
33
+ "maxLength": 100
24
34
  },
25
- "description": {
35
+ "contributionDescription": {
26
36
  "type": "string",
27
- "description": "What the contribution concretely achieved",
37
+ "description": "What the contribution concretely achieved.",
28
38
  "maxLength": 2000,
29
39
  "maxGraphemes": 500
30
40
  },
@@ -36,12 +46,12 @@
36
46
  "endDate": {
37
47
  "type": "string",
38
48
  "format": "datetime",
39
- "description": "When this contribution finished. This should be a subset of the hypercert timeframe."
49
+ "description": "When this contribution finished. This should be a subset of the hypercert timeframe."
40
50
  },
41
51
  "createdAt": {
42
52
  "type": "string",
43
53
  "format": "datetime",
44
- "description": "Client-declared timestamp when this record was originally created"
54
+ "description": "Client-declared timestamp when this record was originally created."
45
55
  }
46
56
  }
47
57
  }
@@ -57,7 +57,7 @@
57
57
  },
58
58
  "measurements": {
59
59
  "type": "array",
60
- "description": "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.claim.measurement ",
60
+ "description": "Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.claim.measurement",
61
61
  "items": {
62
62
  "type": "ref",
63
63
  "ref": "com.atproto.repo.strongRef"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hypercerts-org/lexicon",
3
- "version": "0.10.0-beta.3",
3
+ "version": "0.10.0-beta.5",
4
4
  "description": "ATProto lexicon definitions and TypeScript types for the Hypercerts protocol",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -22,6 +22,7 @@
22
22
  "files": [
23
23
  "dist",
24
24
  "lexicons",
25
+ "SCHEMAS.md",
25
26
  "CHANGELOG.md"
26
27
  ],
27
28
  "keywords": [
@@ -34,15 +35,16 @@
34
35
  "license": "MIT",
35
36
  "repository": {
36
37
  "type": "git",
37
- "url": "https://github.com/hypercerts-org/hypercerts-lexicon"
38
+ "url": "git+https://github.com/hypercerts-org/hypercerts-lexicon.git"
38
39
  },
39
40
  "scripts": {
40
41
  "list": "find ./lexicons -name '*.json'",
41
- "check": "npm run gen-api && npm run lint && npm run typecheck && npm run build && npm run test",
42
+ "check": "npm run gen-schemas-md && npm run gen-api && npm run lint && npm run typecheck && npm run build && npm run test",
42
43
  "build": "rollup -c && npm run build:types",
43
44
  "build:types": "tsc --project tsconfig.build.json",
44
45
  "gen-api": "find ./lexicons -name '*.json' | xargs lex gen-api --yes ./generated && ./scripts/create-shims.sh && npm run gen-index",
45
46
  "gen-md": "find ./lexicons -name '*.json' | xargs lex gen-md --yes ./lexicons.md",
47
+ "gen-schemas-md": "node ./scripts/generate-schemas.js",
46
48
  "//gen-ts": "UNUSED - use gen-api instead",
47
49
  "gen-ts": "find ./lexicons -name '*.json' | xargs lex gen-ts-obj > generated/DO-NOT-USE-lexicons.ts",
48
50
  "gen-index": "node ./scripts/generate-exports.js",
@@ -58,7 +60,8 @@
58
60
  "prepublishOnly": "npm run check",
59
61
  "changeset": "changeset",
60
62
  "version-packages": "changeset version && npm install --package-lock-only",
61
- "release": "npm run check && changeset publish"
63
+ "release": "npm run check && changeset publish",
64
+ "prepare": "husky && ./scripts/setup-merge-driver.sh"
62
65
  },
63
66
  "dependencies": {
64
67
  "@atcute/leaflet": "^1.0.15",
@@ -77,6 +80,7 @@
77
80
  "@rollup/plugin-typescript": "^12.3.0",
78
81
  "eslint": "^9.39.2",
79
82
  "globals": "^17.0.0",
83
+ "husky": "^9.1.7",
80
84
  "prettier": "^3.2.5",
81
85
  "rollup": "^4.53.3",
82
86
  "tslib": "^2.8.1",
@@ -1,24 +0,0 @@
1
- /**
2
- * GENERATED CODE - DO NOT MODIFY
3
- */
4
- import { type ValidationResult } from '@atproto/lexicon';
5
- export interface Main {
6
- $type: 'org.hypercerts.claim.contribution';
7
- /** Role or title of the contributor(s). */
8
- role?: string;
9
- /** List of the contributors (names, pseudonyms, or DIDs). If multiple contributors are stored in the same hypercertContribution, then they would have the exact same role. */
10
- contributors: string[];
11
- /** What the contribution concretely achieved */
12
- description?: string;
13
- /** When this contribution started. This should be a subset of the hypercert timeframe. */
14
- startDate?: string;
15
- /** When this contribution finished. This should be a subset of the hypercert timeframe. */
16
- endDate?: string;
17
- /** Client-declared timestamp when this record was originally created */
18
- createdAt: string;
19
- [k: string]: unknown;
20
- }
21
- export declare function isMain<V>(v: V): v is import("../../../../util").$TypedObject<V, "org.hypercerts.claim.contribution", "main">;
22
- export declare function validateMain<V>(v: V): ValidationResult<Main & V>;
23
- export { type Main as Record, isMain as isRecord, validateMain as validateRecord, };
24
- //# sourceMappingURL=contribution.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contribution.d.ts","sourceRoot":"","sources":["../../../../../../generated/types/org/hypercerts/claim/contribution.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAajE,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,mCAAmC,CAAA;IAC1C,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8KAA8K;IAC9K,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAID,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,gGAE7B;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"}
@@ -1,29 +0,0 @@
1
- /**
2
- * GENERATED CODE - DO NOT MODIFY
3
- */
4
- import { type ValidationResult, BlobRef } from '@atproto/lexicon';
5
- import type * as PubLeafletPagesLinearDocument from '../../../pub/leaflet/pages/linearDocument.js';
6
- import type * as OrgHypercertsClaimActivity from './activity.js';
7
- import type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef.js';
8
- export interface Main {
9
- $type: 'org.hypercerts.claim.project';
10
- /** Title of this project */
11
- title: string;
12
- /** Short summary of this project, suitable for previews and list views. */
13
- shortDescription: string;
14
- description?: PubLeafletPagesLinearDocument.Main;
15
- /** Primary avatar image representing this project across apps and views; typically a square logo or project identity image. */
16
- avatar?: BlobRef;
17
- /** The cover photo of this project. */
18
- coverPhoto?: BlobRef;
19
- /** Array of activities with their associated weights in this project */
20
- activities?: OrgHypercertsClaimActivity.ActivityWeight[];
21
- location?: ComAtprotoRepoStrongRef.Main;
22
- /** Client-declared timestamp when this record was originally created */
23
- createdAt: string;
24
- [k: string]: unknown;
25
- }
26
- export declare function isMain<V>(v: V): v is import("../../../../util").$TypedObject<V, "org.hypercerts.claim.project", "main">;
27
- export declare function validateMain<V>(v: V): ValidationResult<Main & V>;
28
- export { type Main as Record, isMain as isRecord, validateMain as validateRecord, };
29
- //# sourceMappingURL=project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../../../../generated/types/org/hypercerts/claim/project.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAQjE,OAAO,KAAK,KAAK,6BAA6B,MAAM,8CAA8C,CAAA;AAClG,OAAO,KAAK,KAAK,0BAA0B,MAAM,eAAe,CAAA;AAChE,OAAO,KAAK,KAAK,uBAAuB,MAAM,wCAAwC,CAAA;AAMtF,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,8BAA8B,CAAA;IACrC,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,6BAA6B,CAAC,IAAI,CAAA;IAChD,+HAA+H;IAC/H,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,0BAA0B,CAAC,cAAc,EAAE,CAAA;IACxD,QAAQ,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAA;IACvC,wEAAwE;IACxE,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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * GENERATED CODE - DO NOT MODIFY
3
- */
4
- import { type ValidationResult } from '@atproto/lexicon';
5
- export interface Main {
6
- $type: 'org.hypercerts.claim.contribution';
7
- /** Role or title of the contributor(s). */
8
- role?: string;
9
- /** List of the contributors (names, pseudonyms, or DIDs). If multiple contributors are stored in the same hypercertContribution, then they would have the exact same role. */
10
- contributors: string[];
11
- /** What the contribution concretely achieved */
12
- description?: string;
13
- /** When this contribution started. This should be a subset of the hypercert timeframe. */
14
- startDate?: string;
15
- /** When this contribution finished. This should be a subset of the hypercert timeframe. */
16
- endDate?: string;
17
- /** Client-declared timestamp when this record was originally created */
18
- createdAt: string;
19
- [k: string]: unknown;
20
- }
21
- export declare function isMain<V>(v: V): v is import("../../../../util").$TypedObject<V, "org.hypercerts.claim.contribution", "main">;
22
- export declare function validateMain<V>(v: V): ValidationResult<Main & V>;
23
- export { type Main as Record, isMain as isRecord, validateMain as validateRecord, };
24
- //# sourceMappingURL=contribution.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contribution.d.ts","sourceRoot":"","sources":["../../../../../generated/types/org/hypercerts/claim/contribution.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAajE,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,mCAAmC,CAAA;IAC1C,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8KAA8K;IAC9K,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAID,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,gGAE7B;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"}
@@ -1,29 +0,0 @@
1
- /**
2
- * GENERATED CODE - DO NOT MODIFY
3
- */
4
- import { type ValidationResult, BlobRef } from '@atproto/lexicon';
5
- import type * as PubLeafletPagesLinearDocument from '../../../pub/leaflet/pages/linearDocument.js';
6
- import type * as OrgHypercertsClaimActivity from './activity.js';
7
- import type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef.js';
8
- export interface Main {
9
- $type: 'org.hypercerts.claim.project';
10
- /** Title of this project */
11
- title: string;
12
- /** Short summary of this project, suitable for previews and list views. */
13
- shortDescription: string;
14
- description?: PubLeafletPagesLinearDocument.Main;
15
- /** Primary avatar image representing this project across apps and views; typically a square logo or project identity image. */
16
- avatar?: BlobRef;
17
- /** The cover photo of this project. */
18
- coverPhoto?: BlobRef;
19
- /** Array of activities with their associated weights in this project */
20
- activities?: OrgHypercertsClaimActivity.ActivityWeight[];
21
- location?: ComAtprotoRepoStrongRef.Main;
22
- /** Client-declared timestamp when this record was originally created */
23
- createdAt: string;
24
- [k: string]: unknown;
25
- }
26
- export declare function isMain<V>(v: V): v is import("../../../../util").$TypedObject<V, "org.hypercerts.claim.project", "main">;
27
- export declare function validateMain<V>(v: V): ValidationResult<Main & V>;
28
- export { type Main as Record, isMain as isRecord, validateMain as validateRecord, };
29
- //# sourceMappingURL=project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../../../generated/types/org/hypercerts/claim/project.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAQjE,OAAO,KAAK,KAAK,6BAA6B,MAAM,8CAA8C,CAAA;AAClG,OAAO,KAAK,KAAK,0BAA0B,MAAM,eAAe,CAAA;AAChE,OAAO,KAAK,KAAK,uBAAuB,MAAM,wCAAwC,CAAA;AAMtF,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,8BAA8B,CAAA;IACrC,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,6BAA6B,CAAC,IAAI,CAAA;IAChD,+HAA+H;IAC/H,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,0BAA0B,CAAC,cAAc,EAAE,CAAA;IACxD,QAAQ,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAA;IACvC,wEAAwE;IACxE,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"}
@@ -1,64 +0,0 @@
1
- {
2
- "lexicon": 1,
3
- "id": "org.hypercerts.claim.project",
4
- "defs": {
5
- "main": {
6
- "type": "record",
7
- "description": "A project that can include multiple activities, each of which may be linked to at most one project.",
8
- "key": "tid",
9
- "record": {
10
- "type": "object",
11
- "required": ["title", "shortDescription", "createdAt"],
12
- "properties": {
13
- "title": {
14
- "type": "string",
15
- "description": "Title of this project",
16
- "maxLength": 800,
17
- "maxGraphemes": 80
18
- },
19
- "shortDescription": {
20
- "type": "string",
21
- "maxLength": 3000,
22
- "maxGraphemes": 300,
23
- "description": "Short summary of this project, suitable for previews and list views."
24
- },
25
- "description": {
26
- "type": "ref",
27
- "ref": "pub.leaflet.pages.linearDocument#main",
28
- "description": "Rich-text description of this project, represented as a Leaflet linear document."
29
- },
30
- "avatar": {
31
- "type": "blob",
32
- "description": "Primary avatar image representing this project across apps and views; typically a square logo or project identity image.",
33
- "accept": ["image/png", "image/jpeg"],
34
- "maxSize": 1000000
35
- },
36
- "coverPhoto": {
37
- "type": "blob",
38
- "description": "The cover photo of this project.",
39
- "accept": ["image/png", "image/jpeg"],
40
- "maxSize": 1000000
41
- },
42
- "activities": {
43
- "type": "array",
44
- "description": "Array of activities with their associated weights in this project",
45
- "items": {
46
- "type": "ref",
47
- "ref": "org.hypercerts.claim.activity#activityWeight"
48
- }
49
- },
50
- "location": {
51
- "type": "ref",
52
- "ref": "com.atproto.repo.strongRef",
53
- "description": "A strong reference to a location record describing where the work for this project took place. The referenced record must conform to the app.certified.location lexicon."
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
- }