-- This file is auto-generated by hatk on startup. Do not edit. -- Database engine: sqlite CREATE TABLE _cursor ( key TEXT PRIMARY KEY, value TEXT NOT NULL ); CREATE TABLE _labels ( id INTEGER PRIMARY KEY AUTOINCREMENT, src TEXT NOT NULL, uri TEXT NOT NULL, val TEXT NOT NULL, neg INTEGER DEFAULT 0, cts TEXT NOT NULL, exp TEXT ); CREATE TABLE _mutes ( did TEXT NOT NULL, subject TEXT NOT NULL, created_at TEXT NOT NULL, PRIMARY KEY (did, subject) ); CREATE TABLE _oauth_codes ( code TEXT PRIMARY KEY, request_uri TEXT NOT NULL, created_at INTEGER NOT NULL ); CREATE TABLE _oauth_dpop_jtis ( jti TEXT PRIMARY KEY, expires_at INTEGER NOT NULL ); CREATE TABLE _oauth_keys ( kid TEXT PRIMARY KEY, private_key TEXT NOT NULL, public_key TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE _oauth_refresh_tokens ( token TEXT PRIMARY KEY, client_id TEXT NOT NULL, did TEXT NOT NULL, dpop_jkt TEXT NOT NULL, scope TEXT, created_at INTEGER NOT NULL, expires_at INTEGER, revoked INTEGER NOT NULL DEFAULT 0 ); CREATE TABLE _oauth_requests ( request_uri TEXT PRIMARY KEY, client_id TEXT NOT NULL, redirect_uri TEXT NOT NULL, scope TEXT, state TEXT, code_challenge TEXT NOT NULL, code_challenge_method TEXT NOT NULL DEFAULT 'S256', dpop_jkt TEXT NOT NULL, pds_request_uri TEXT, pds_auth_server TEXT, pds_endpoint TEXT, pds_code_verifier TEXT, pds_state TEXT, did TEXT, login_hint TEXT, expires_at INTEGER NOT NULL ); CREATE TABLE _oauth_sessions ( did TEXT PRIMARY KEY, pds_endpoint TEXT NOT NULL, pds_auth_server TEXT, access_token TEXT NOT NULL, refresh_token TEXT, dpop_jkt TEXT NOT NULL, token_expires_at INTEGER, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE _preferences ( did TEXT NOT NULL, key TEXT NOT NULL, value TEXT NOT NULL, updated_at TEXT DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (did, key) ); CREATE TABLE _push_tokens ( did TEXT NOT NULL, token TEXT NOT NULL, platform TEXT NOT NULL, created_at TEXT NOT NULL, PRIMARY KEY (did, token) ); CREATE TABLE _reports ( id INTEGER PRIMARY KEY AUTOINCREMENT, subject_uri TEXT NOT NULL, subject_did TEXT NOT NULL, label TEXT NOT NULL, reason TEXT, reported_by TEXT NOT NULL, status TEXT NOT NULL DEFAULT 'open', resolved_by TEXT, resolved_at TEXT, created_at TEXT NOT NULL ); CREATE TABLE _repos ( did TEXT PRIMARY KEY, status TEXT NOT NULL DEFAULT 'pending', handle TEXT, backfilled_at TEXT, rev TEXT, retry_count INTEGER NOT NULL DEFAULT 0, retry_after INTEGER NOT NULL DEFAULT 0 ); CREATE TABLE "app.bsky.actor.profile" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, display_name TEXT, description TEXT, avatar TEXT, banner TEXT, created_at TEXT ); CREATE TABLE "app.bsky.feed.post" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, tags TEXT, text TEXT NOT NULL, embed TEXT, langs TEXT, reply TEXT, facets TEXT, labels TEXT, created_at TEXT NOT NULL ); CREATE TABLE "app.bsky.feed.post__embed_external" ( parent_uri TEXT NOT NULL, parent_did TEXT NOT NULL, uri TEXT, thumb TEXT, title TEXT, description TEXT ); CREATE TABLE "app.bsky.feed.post__embed_images" ( parent_uri TEXT NOT NULL, parent_did TEXT NOT NULL, alt TEXT, image TEXT, aspect_ratio TEXT ); CREATE TABLE "app.bsky.feed.post__embed_record" ( parent_uri TEXT NOT NULL, parent_did TEXT NOT NULL, uri TEXT, cid TEXT ); CREATE TABLE "app.bsky.feed.post__embed_recordWithMedia" ( parent_uri TEXT NOT NULL, parent_did TEXT NOT NULL, media TEXT NOT NULL, record TEXT NOT NULL ); CREATE TABLE "app.bsky.feed.post__embed_video" ( parent_uri TEXT NOT NULL, parent_did TEXT NOT NULL, alt TEXT, video TEXT NOT NULL, captions TEXT, aspect_ratio TEXT, presentation TEXT ); CREATE TABLE "app.bsky.feed.post__entities" ( parent_uri TEXT NOT NULL, parent_did TEXT NOT NULL, type TEXT NOT NULL, index TEXT NOT NULL, value TEXT NOT NULL ); CREATE TABLE "app.bsky.feed.post__labels_self_labels" ( parent_uri TEXT NOT NULL, parent_did TEXT NOT NULL, val TEXT ); CREATE TABLE "app.bsky.feed.postgate" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, post TEXT NOT NULL, created_at TEXT NOT NULL, embedding_rules TEXT, detached_embedding_uris TEXT ); CREATE TABLE "app.bsky.feed.threadgate" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, post TEXT NOT NULL, allow TEXT, created_at TEXT NOT NULL, hidden_replies TEXT ); CREATE TABLE "app.bsky.graph.follow" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, subject TEXT NOT NULL, created_at TEXT NOT NULL ); CREATE TABLE "com.germnetwork.declaration" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, version TEXT NOT NULL, current_key BLOB NOT NULL, message_me TEXT, key_package BLOB, continuity_proofs TEXT ); CREATE TABLE "social.grain.actor.profile" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, display_name TEXT, description TEXT, avatar TEXT, created_at TEXT ); CREATE TABLE "social.grain.comment" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, text TEXT NOT NULL, facets TEXT, subject TEXT NOT NULL, focus TEXT, reply_to TEXT, created_at TEXT NOT NULL ); CREATE TABLE "social.grain.favorite" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, created_at TEXT NOT NULL, subject TEXT NOT NULL ); CREATE TABLE "social.grain.gallery" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, title TEXT NOT NULL, description TEXT, facets TEXT, labels TEXT, location TEXT, address TEXT, updated_at TEXT, created_at TEXT NOT NULL ); CREATE TABLE "social.grain.gallery.item" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, created_at TEXT NOT NULL, gallery TEXT NOT NULL, item TEXT NOT NULL, position INTEGER ); CREATE TABLE "social.grain.gallery__labels_self_labels" ( parent_uri TEXT NOT NULL, parent_did TEXT NOT NULL, val TEXT ); CREATE TABLE "social.grain.graph.block" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, subject TEXT NOT NULL, created_at TEXT NOT NULL ); CREATE TABLE "social.grain.graph.follow" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, subject TEXT NOT NULL, created_at TEXT NOT NULL ); CREATE TABLE "social.grain.photo" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, photo TEXT NOT NULL, alt TEXT, aspect_ratio TEXT NOT NULL, created_at TEXT NOT NULL ); CREATE TABLE "social.grain.photo.exif" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, photo TEXT NOT NULL, created_at TEXT NOT NULL, date_time_original TEXT, exposure_time INTEGER, f_number INTEGER, flash TEXT, focal_length_in35mm_format INTEGER, i_s_o INTEGER, lens_make TEXT, lens_model TEXT, make TEXT, model TEXT ); CREATE TABLE "social.grain.story" ( uri TEXT PRIMARY KEY, cid TEXT, did TEXT NOT NULL, indexed_at TEXT NOT NULL, media TEXT NOT NULL, aspect_ratio TEXT NOT NULL, location TEXT, address TEXT, labels TEXT, created_at TEXT NOT NULL ); CREATE TABLE "social.grain.story__labels_self_labels" ( parent_uri TEXT NOT NULL, parent_did TEXT NOT NULL, val TEXT );