Constellation, Spacedust, Slingshot, UFOs: atproto crates and services for microcosm

add existing lexicons

+183
+29
lexicons/blue/microcosm/links/defs.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "blue.microcosm.links.defs", 4 + "defs": { 5 + "recordId": { 6 + "type": "object", 7 + "description": "Describes a record's location.", 8 + "required": [ 9 + "did", 10 + "collection", 11 + "rkey" 12 + ], 13 + "properties": { 14 + "did": { 15 + "type": "string", 16 + "format": "did" 17 + }, 18 + "collection": { 19 + "type": "string", 20 + "format": "nsid" 21 + }, 22 + "rkey": { 23 + "type": "string", 24 + "format": "record-key" 25 + } 26 + } 27 + } 28 + } 29 + }
+64
lexicons/blue/microcosm/links/getBacklinks.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "blue.microcosm.links.getBacklinks", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "A list of records linking to any record, identity, or uri.", 8 + "parameters": { 9 + "type": "params", 10 + "required": [ 11 + "subject", 12 + "source" 13 + ], 14 + "properties": { 15 + "subject": { 16 + "type": "string", 17 + "description": "Can be an AT-URI, plain DID, or regular URI" 18 + }, 19 + "source": { 20 + "type": "string", 21 + "description": "Filter links only from this link source. eg.: `app.bsky.feed.like:subject.uri`" 22 + }, 23 + "did": { 24 + "type": "array", 25 + "items": { 26 + "type": "string", 27 + "format": "did" 28 + } 29 + }, 30 + "limit": { 31 + "type": "integer", 32 + "default": 16, 33 + "maximum": 100 34 + } 35 + } 36 + }, 37 + "output": { 38 + "encoding": "application/json", 39 + "schema": { 40 + "type": "object", 41 + "required": [ 42 + "total", 43 + "records" 44 + ], 45 + "properties": { 46 + "total": { 47 + "type": "integer" 48 + }, 49 + "records": { 50 + "type": "array", 51 + "items": { 52 + "type": "ref", 53 + "ref": "blue.microcosm.links.defs#recordId" 54 + } 55 + }, 56 + "cursor": { 57 + "type": "string" 58 + } 59 + } 60 + } 61 + } 62 + } 63 + } 64 + }
+90
lexicons/blue/microcosm/links/getManyToManyCounts.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "blue.microcosm.links.getManyToManyCounts", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "Gets a list of records linked by other records at `pathToOther`, where `source` in the linking record is a link to `subject`.", 8 + "parameters": { 9 + "type": "params", 10 + "required": [ 11 + "subject", 12 + "source", 13 + "pathToOther" 14 + ], 15 + "properties": { 16 + "subject": { 17 + "type": "string", 18 + "description": "Example: `at://did:plc:vc7f4oafdgxsihk4cry2xpze/app.bsky.feed.post/3lgwdn7vd722r`" 19 + }, 20 + "source": { 21 + "type": "string", 22 + "description": "Example: `app.bsky.feed.like:subject.uri`" 23 + }, 24 + "pathToOther": { 25 + "description": "Path to the secondary link in the linking record. Example: `otherThing.uri`", 26 + "type": "string" 27 + }, 28 + "did": { 29 + "type": "array", 30 + "items": { 31 + "type": "string", 32 + "format": "did" 33 + } 34 + }, 35 + "otherSubject": { 36 + "type": "string" 37 + }, 38 + "cursor": { 39 + "type": "string" 40 + }, 41 + "limit": { 42 + "type": "integer", 43 + "default": 16, 44 + "maximum": 100 45 + } 46 + } 47 + }, 48 + "output": { 49 + "encoding": "application/json", 50 + "schema": { 51 + "type": "object", 52 + "required": [ 53 + "counts_by_other_subject" 54 + ], 55 + "properties": { 56 + "counts_by_other_subject": { 57 + "type": "array", 58 + "items": { 59 + "type": "ref", 60 + "ref": "#otherSubjectCount" 61 + } 62 + }, 63 + "cursor": { 64 + "type": "string" 65 + } 66 + } 67 + } 68 + } 69 + }, 70 + "otherSubjectCount": { 71 + "type": "object", 72 + "required": [ 73 + "subject", 74 + "total", 75 + "distinct" 76 + ], 77 + "properties": { 78 + "subject": { 79 + "type": "string" 80 + }, 81 + "total": { 82 + "type": "integer" 83 + }, 84 + "distinct": { 85 + "type": "integer" 86 + } 87 + } 88 + } 89 + } 90 + }