Auto-indexing service and GraphQL API for AT Protocol Records
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Gleam 90.7%
JavaScript 2.8%
Erlang 1.6%
TypeScript 1.5%
HTML 1.1%
CSS 0.7%
Shell 0.4%
Makefile 0.2%
Dockerfile 0.1%
Other 0.9%
173 2 29

Clone this repository

https://tangled.org/byjp.me/quickslice https://tangled.org/did:plc:ephkzpinhaqcabtkugtbzrwu/quickslice
git@tangled.org:byjp.me/quickslice git@tangled.org:did:plc:ephkzpinhaqcabtkugtbzrwu/quickslice

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md
Slices and Lucy

quickslice#

GraphQL API for AT Protocol records with automatic schema generation from Lexicon definitions.

Work in progress. APIs subject to change.

Features#

  • Automatic GraphQL schema generation from AT Protocol Lexicons
  • Relay-compliant cursor-based pagination
  • Real-time ingestion via Jetstream
  • Backfill support for historical data
  • SQLite storage

Example#

The status lexicon (xyz.statusphere.status):

{
  "lexicon": 1,
  "id": "xyz.statusphere.status",
  "defs": {
    "main": {
      "type": "record",
      "key": "tid",
      "record": {
        "type": "object",
        "required": ["status", "createdAt"],
        "properties": {
          "status": {
            "type": "string",
            "minLength": 1,
            "maxGraphemes": 1,
            "maxLength": 32
          },
          "createdAt": { "type": "string", "format": "datetime" }
        }
      }
    }
  }
}

Querying the status records:

query {
  xyzStatusphereStatus(
    first: 50
    sortBy: [
      { field: "createdAt", direction: DESC }
    ]
    where: {
      status: { contains: "👍" }
    }
  ) {
    edges {
      node {
        uri
        did
        status
        createdAt
      }
      cursor
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

Documentation#

Architecture#

  • lexicon_graphql/ - Schema generation from Lexicons
  • server/ - Database layer and record storage