Mirror of @tangled.org/core. Running on a Raspberry Pi Zero 2 (Please be gentle).

lexicons: `sync.requestCrawl` and `knot.subscribeRepos`

Signed-off-by: Seongmin Lee <git@boltless.me>

authored by boltless.me and committed by tangled.org 4b8fa95d 6631a3f7

+86
api/tangled/knotsubscribeRepos.go

This is a binary file and will not be displayed.

api/tangled/syncrequestCrawl.go

This is a binary file and will not be displayed.

+57
lexicons/knot/subscribeRepos.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.knot.subscribeRepos", 4 + "defs": { 5 + "main": { 6 + "type": "subscription", 7 + "description": "Repository event stream, aka Firehose endpoint. Outputs repo commits with diff data, and identity update events, for all repositories on the current server. See the atproto specifications for details around stream sequencing, repo versioning, CAR diff format, and more. Public and does not require auth; implemented by PDS and Relay.", 8 + "parameters": { 9 + "type": "params", 10 + "properties": { 11 + "cursor": { 12 + "type": "integer", 13 + "description": "The last known event seq number to backfill from." 14 + } 15 + } 16 + }, 17 + "message": { 18 + "schema": { 19 + "type": "union", 20 + "refs": ["#identity", "gitRefUpdate"] 21 + } 22 + }, 23 + "errors": [ 24 + { "name": "FutureCursor" }, 25 + { 26 + "name": "ConsumerTooSlow", 27 + "description": "If the consumer of the stream can not keep up with events, and a backlog gets too large, the server will drop the connection." 28 + } 29 + ] 30 + }, 31 + "identity": { 32 + "type": "object", 33 + "required": ["seq", "did", "time"], 34 + "properties": { 35 + "seq": { "type": "integer", "description": "The stream sequence number of this message." }, 36 + "did": { "type": "string", "format": "did", "description": "Repository DID identifier" }, 37 + "time": { "type": "string", "format": "datetime" } 38 + } 39 + }, 40 + "gitSync1": { 41 + "type": "object", 42 + "required": ["seq", "did"], 43 + "properties": { 44 + "seq": { "type": "integer", "description": "The stream sequence number of this message." }, 45 + "did": { "type": "string", "format": "did", "description": "Repository DID identifier" } 46 + } 47 + }, 48 + "gitSync2": { 49 + "type": "object", 50 + "required": ["seq", "repo"], 51 + "properties": { 52 + "seq": { "type": "integer", "description": "The stream sequence number of this message." }, 53 + "did": { "type": "string", "format": "at-uri", "description": "Repository AT-URI identifier" } 54 + } 55 + } 56 + } 57 + }
+29
lexicons/sync/requestCrawl.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.sync.requestCrawl", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Request a service to persistently crawl hosted repos. Does not require auth.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["hostname"], 13 + "properties": { 14 + "hostname": { 15 + "type": "string", 16 + "description": "Hostname of the current service (eg, Knot) that is requesting to be crawled." 17 + }, 18 + "ensureRepo": { 19 + "type": "string", 20 + "format": "at-uri", 21 + "description": "specific repository to ensure crawling" 22 + } 23 + } 24 + } 25 + }, 26 + "errors": [{ "name": "HostBanned" }] 27 + } 28 + } 29 + }