1{
2 "lexicon": 1,
3 "id": "sh.tangled.actor.profile",
4 "defs": {
5 "main": {
6 "type": "record",
7 "description": "A declaration of a Tangled account profile.",
8 "key": "literal:self",
9 "record": {
10 "type": "object",
11 "required": [
12 "bluesky"
13 ],
14 "properties": {
15 "description": {
16 "type": "string",
17 "description": "Free-form profile description text.",
18 "maxGraphemes": 256,
19 "maxLength": 2560
20 },
21 "links": {
22 "type": "array",
23 "minLength": 0,
24 "maxLength": 5,
25 "items": {
26 "type": "string",
27 "description": "Any URI, intended for social profiles or websites, can be used to link DIDs/AT-URIs too.",
28 "format": "uri"
29 }
30 },
31 "stats": {
32 "type": "array",
33 "minLength": 0,
34 "maxLength": 2,
35 "items": {
36 "type": "string",
37 "description": "Vanity stats.",
38 "enum": [
39 "merged-pull-request-count",
40 "closed-pull-request-count",
41 "open-pull-request-count",
42 "open-issue-count",
43 "closed-issue-count",
44 "repository-count"
45 ]
46 }
47 },
48 "bluesky": {
49 "type": "boolean",
50 "description": "Include link to this account on Bluesky."
51 },
52 "location": {
53 "type": "string",
54 "description": "Free-form location text.",
55 "maxGraphemes": 40,
56 "maxLength": 400
57 },
58 "pinnedRepositories": {
59 "type": "array",
60 "description": "Any ATURI, it is up to appviews to validate these fields.",
61 "minLength": 0,
62 "maxLength": 6,
63 "items": {
64 "type": "string",
65 "format": "at-uri"
66 }
67 }
68 }
69 }
70 }
71 }
72}