@hypercerts-org/lexicon 0.10.0-beta.4 → 0.10.0-beta.6

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 (49) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/README.md +66 -311
  3. package/SCHEMAS.md +284 -0
  4. package/dist/exports.d.ts +76 -118
  5. package/dist/exports.d.ts.map +1 -1
  6. package/dist/generated/exports.d.ts +76 -118
  7. package/dist/generated/exports.d.ts.map +1 -1
  8. package/dist/generated/lexicons.d.ts +182 -266
  9. package/dist/generated/lexicons.d.ts.map +1 -1
  10. package/dist/generated/types/org/hypercerts/claim/activity.d.ts +21 -18
  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/{contribution.d.ts → contributionDetails.d.ts} +8 -10
  15. package/dist/generated/types/org/hypercerts/claim/contributionDetails.d.ts.map +1 -0
  16. package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts +23 -0
  17. package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -0
  18. package/dist/index.cjs +270 -357
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.mjs +263 -350
  21. package/dist/index.mjs.map +1 -1
  22. package/dist/lexicons.cjs +102 -141
  23. package/dist/lexicons.cjs.map +1 -1
  24. package/dist/lexicons.d.ts +182 -266
  25. package/dist/lexicons.d.ts.map +1 -1
  26. package/dist/lexicons.mjs +102 -141
  27. package/dist/lexicons.mjs.map +1 -1
  28. package/dist/types/org/hypercerts/claim/activity.d.ts +21 -18
  29. package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  30. package/dist/types/org/hypercerts/claim/collection.d.ts +9 -9
  31. package/dist/types/org/hypercerts/claim/collection.d.ts.map +1 -1
  32. package/dist/types/org/hypercerts/claim/{contribution.d.ts → contributionDetails.d.ts} +8 -10
  33. package/dist/types/org/hypercerts/claim/contributionDetails.d.ts.map +1 -0
  34. package/dist/types/org/hypercerts/claim/contributorInformation.d.ts +23 -0
  35. package/dist/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -0
  36. package/lexicons/org/hypercerts/claim/activity.json +29 -39
  37. package/lexicons/org/hypercerts/claim/collection.json +14 -17
  38. package/lexicons/org/hypercerts/claim/contributionDetails.json +43 -0
  39. package/lexicons/org/hypercerts/claim/contributorInformation.json +39 -0
  40. package/lexicons/org/hypercerts/claim/evaluation.json +1 -1
  41. package/package.json +6 -2
  42. package/dist/generated/types/org/hypercerts/claim/contribution.d.ts.map +0 -1
  43. package/dist/generated/types/org/hypercerts/claim/project.d.ts +0 -29
  44. package/dist/generated/types/org/hypercerts/claim/project.d.ts.map +0 -1
  45. package/dist/types/org/hypercerts/claim/contribution.d.ts.map +0 -1
  46. package/dist/types/org/hypercerts/claim/project.d.ts +0 -29
  47. package/dist/types/org/hypercerts/claim/project.d.ts.map +0 -1
  48. package/lexicons/org/hypercerts/claim/contribution.json +0 -50
  49. package/lexicons/org/hypercerts/claim/project.json +0 -64
@@ -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": {
@@ -0,0 +1,43 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "org.hypercerts.claim.contributionDetails",
4
+ "defs": {
5
+ "main": {
6
+ "type": "record",
7
+ "description": "Details about a specific contribution including role, description, and timeframe.",
8
+ "key": "tid",
9
+ "record": {
10
+ "type": "object",
11
+ "required": ["createdAt"],
12
+ "properties": {
13
+ "role": {
14
+ "type": "string",
15
+ "description": "Role or title of the contributor.",
16
+ "maxLength": 100
17
+ },
18
+ "contributionDescription": {
19
+ "type": "string",
20
+ "description": "What the contribution concretely was.",
21
+ "maxLength": 10000,
22
+ "maxGraphemes": 1000
23
+ },
24
+ "startDate": {
25
+ "type": "string",
26
+ "format": "datetime",
27
+ "description": "When this contribution started. This should be a subset of the hypercert timeframe."
28
+ },
29
+ "endDate": {
30
+ "type": "string",
31
+ "format": "datetime",
32
+ "description": "When this contribution finished. This should be a subset of the hypercert timeframe."
33
+ },
34
+ "createdAt": {
35
+ "type": "string",
36
+ "format": "datetime",
37
+ "description": "Client-declared timestamp when this record was originally created."
38
+ }
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "org.hypercerts.claim.contributorInformation",
4
+ "defs": {
5
+ "main": {
6
+ "type": "record",
7
+ "description": "Contributor information including identifier, display name, and image.",
8
+ "key": "tid",
9
+ "record": {
10
+ "type": "object",
11
+ "required": ["createdAt"],
12
+ "properties": {
13
+ "identifier": {
14
+ "type": "string",
15
+ "description": "DID or a URI to a social profile of the contributor."
16
+ },
17
+ "displayName": {
18
+ "type": "string",
19
+ "description": "Display name of the contributor.",
20
+ "maxLength": 100
21
+ },
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
+ "createdAt": {
31
+ "type": "string",
32
+ "format": "datetime",
33
+ "description": "Client-declared timestamp when this record was originally created."
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
@@ -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.4",
3
+ "version": "0.10.0-beta.6",
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": [
@@ -43,6 +44,7 @@
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 +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 +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,50 +0,0 @@
1
- {
2
- "lexicon": 1,
3
- "id": "org.hypercerts.claim.contribution",
4
- "defs": {
5
- "main": {
6
- "type": "record",
7
- "description": "A contribution made toward a hypercert's impact.",
8
- "key": "tid",
9
- "record": {
10
- "type": "object",
11
- "required": ["contributors", "createdAt"],
12
- "properties": {
13
- "role": {
14
- "type": "string",
15
- "description": "Role or title of the contributor(s).",
16
- "maxLength": 100
17
- },
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
- }
24
- },
25
- "description": {
26
- "type": "string",
27
- "description": "What the contribution concretely achieved",
28
- "maxLength": 2000,
29
- "maxGraphemes": 500
30
- },
31
- "startDate": {
32
- "type": "string",
33
- "format": "datetime",
34
- "description": "When this contribution started. This should be a subset of the hypercert timeframe."
35
- },
36
- "endDate": {
37
- "type": "string",
38
- "format": "datetime",
39
- "description": "When this contribution finished. This should be a subset of the hypercert timeframe."
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
- }
50
- }
@@ -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
- }