{
  "id": "abda257a-d6bd-4a44-b069-4ca884890e9e",
  "prevId": "9b4f6d81-94e7-450c-bf71-e3fa5da5fd4e",
  "version": "7",
  "dialect": "postgresql",
  "tables": {
    "public.admin_providers": {
      "name": "admin_providers",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "slug": {
          "name": "slug",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "display_name": {
          "name": "display_name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "provider_type": {
          "name": "provider_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "base_url": {
          "name": "base_url",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "api_key_ciphertext": {
          "name": "api_key_ciphertext",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "api_key_iv": {
          "name": "api_key_iv",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "api_key_last4": {
          "name": "api_key_last4",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "default_model": {
          "name": "default_model",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "default_instructions": {
          "name": "default_instructions",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "enabled": {
          "name": "enabled",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 1
        },
        "created_at": {
          "name": "created_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "admin_providers_slug_unique": {
          "name": "admin_providers_slug_unique",
          "nullsNotDistinct": false,
          "columns": [
            "slug"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.admin_settings": {
      "name": "admin_settings",
      "schema": "",
      "columns": {
        "key": {
          "name": "key",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "value_json": {
          "name": "value_json",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true
        },
        "source": {
          "name": "source",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'admin'"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.audiobook_chapters": {
      "name": "audiobook_chapters",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "book_id": {
          "name": "book_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "chapter_index": {
          "name": "chapter_index",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "title": {
          "name": "title",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "duration": {
          "name": "duration",
          "type": "real",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "file_path": {
          "name": "file_path",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "format": {
          "name": "format",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {},
      "foreignKeys": {
        "audiobook_chapters_user_id_user_id_fk": {
          "name": "audiobook_chapters_user_id_user_id_fk",
          "tableFrom": "audiobook_chapters",
          "tableTo": "user",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "audiobook_chapters_book_id_user_id_audiobooks_id_user_id_fk": {
          "name": "audiobook_chapters_book_id_user_id_audiobooks_id_user_id_fk",
          "tableFrom": "audiobook_chapters",
          "tableTo": "audiobooks",
          "columnsFrom": [
            "book_id",
            "user_id"
          ],
          "columnsTo": [
            "id",
            "user_id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "audiobook_chapters_id_user_id_pk": {
          "name": "audiobook_chapters_id_user_id_pk",
          "columns": [
            "id",
            "user_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.audiobooks": {
      "name": "audiobooks",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "title": {
          "name": "title",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "author": {
          "name": "author",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "cover_path": {
          "name": "cover_path",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "duration": {
          "name": "duration",
          "type": "real",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "audiobooks_user_id_user_id_fk": {
          "name": "audiobooks_user_id_user_id_fk",
          "tableFrom": "audiobooks",
          "tableTo": "user",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "audiobooks_id_user_id_pk": {
          "name": "audiobooks_id_user_id_pk",
          "columns": [
            "id",
            "user_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.document_previews": {
      "name": "document_previews",
      "schema": "",
      "columns": {
        "document_id": {
          "name": "document_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "namespace": {
          "name": "namespace",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "''"
        },
        "variant": {
          "name": "variant",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'card-240-jpeg'"
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'queued'"
        },
        "source_last_modified_ms": {
          "name": "source_last_modified_ms",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "object_key": {
          "name": "object_key",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "content_type": {
          "name": "content_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'image/jpeg'"
        },
        "width": {
          "name": "width",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 240
        },
        "height": {
          "name": "height",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "byte_size": {
          "name": "byte_size",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false
        },
        "etag": {
          "name": "etag",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "lease_owner": {
          "name": "lease_owner",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "lease_until_ms": {
          "name": "lease_until_ms",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "attempt_count": {
          "name": "attempt_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "last_error": {
          "name": "last_error",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at_ms": {
          "name": "created_at_ms",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "updated_at_ms": {
          "name": "updated_at_ms",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        }
      },
      "indexes": {
        "idx_document_previews_status_lease": {
          "name": "idx_document_previews_status_lease",
          "columns": [
            {
              "expression": "status",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "lease_until_ms",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "document_previews_document_id_namespace_variant_pk": {
          "name": "document_previews_document_id_namespace_variant_pk",
          "columns": [
            "document_id",
            "namespace",
            "variant"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.documents": {
      "name": "documents",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "type": {
          "name": "type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "size": {
          "name": "size",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "last_modified": {
          "name": "last_modified",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "file_path": {
          "name": "file_path",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        }
      },
      "indexes": {
        "idx_documents_user_id": {
          "name": "idx_documents_user_id",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "idx_documents_user_id_last_modified": {
          "name": "idx_documents_user_id_last_modified",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "last_modified",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "documents_user_id_user_id_fk": {
          "name": "documents_user_id_user_id_fk",
          "tableFrom": "documents",
          "tableTo": "user",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "documents_id_user_id_pk": {
          "name": "documents_id_user_id_pk",
          "columns": [
            "id",
            "user_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.tts_segment_entries": {
      "name": "tts_segment_entries",
      "schema": "",
      "columns": {
        "segment_entry_id": {
          "name": "segment_entry_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "document_id": {
          "name": "document_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "reader_type": {
          "name": "reader_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "document_version": {
          "name": "document_version",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true
        },
        "segment_index": {
          "name": "segment_index",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "segment_key": {
          "name": "segment_key",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "locator_reader_rank": {
          "name": "locator_reader_rank",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "locator_reader_type": {
          "name": "locator_reader_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "locator_page": {
          "name": "locator_page",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "locator_spine_index": {
          "name": "locator_spine_index",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "locator_spine_href": {
          "name": "locator_spine_href",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "locator_char_offset": {
          "name": "locator_char_offset",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "locator_location": {
          "name": "locator_location",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "locator_identity_key": {
          "name": "locator_identity_key",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "text_hash": {
          "name": "text_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "text_length": {
          "name": "text_length",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        }
      },
      "indexes": {
        "idx_tts_segment_entries_manifest_sort": {
          "name": "idx_tts_segment_entries_manifest_sort",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "document_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "document_version",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "locator_reader_rank",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "locator_spine_index",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "locator_char_offset",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "locator_spine_href",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "locator_page",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "locator_location",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "segment_index",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "locator_identity_key",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "idx_tts_segment_entries_manifest_group": {
          "name": "idx_tts_segment_entries_manifest_group",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "document_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "document_version",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "segment_index",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "locator_identity_key",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "idx_tts_segment_entries_scope": {
          "name": "idx_tts_segment_entries_scope",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "document_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "document_version",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "tts_segment_entries_user_id_user_id_fk": {
          "name": "tts_segment_entries_user_id_user_id_fk",
          "tableFrom": "tts_segment_entries",
          "tableTo": "user",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "tts_segment_entries_segment_entry_id_user_id_pk": {
          "name": "tts_segment_entries_segment_entry_id_user_id_pk",
          "columns": [
            "segment_entry_id",
            "user_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.tts_segment_variants": {
      "name": "tts_segment_variants",
      "schema": "",
      "columns": {
        "segment_id": {
          "name": "segment_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "segment_entry_id": {
          "name": "segment_entry_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "settings_hash": {
          "name": "settings_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "settings_json": {
          "name": "settings_json",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true
        },
        "audio_key": {
          "name": "audio_key",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "audio_format": {
          "name": "audio_format",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'mp3'"
        },
        "duration_ms": {
          "name": "duration_ms",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "alignment_json": {
          "name": "alignment_json",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'pending'"
        },
        "error": {
          "name": "error",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        }
      },
      "indexes": {
        "idx_tts_segment_variants_entry": {
          "name": "idx_tts_segment_variants_entry",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "segment_entry_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "updated_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "idx_tts_segment_variants_status": {
          "name": "idx_tts_segment_variants_status",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "status",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "idx_tts_segment_variants_unique_settings": {
          "name": "idx_tts_segment_variants_unique_settings",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "segment_entry_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "settings_hash",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "tts_segment_variants_user_id_user_id_fk": {
          "name": "tts_segment_variants_user_id_user_id_fk",
          "tableFrom": "tts_segment_variants",
          "tableTo": "user",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "tts_segment_variants_segment_entry_id_user_id_tts_segment_entries_segment_entry_id_user_id_fk": {
          "name": "tts_segment_variants_segment_entry_id_user_id_tts_segment_entries_segment_entry_id_user_id_fk",
          "tableFrom": "tts_segment_variants",
          "tableTo": "tts_segment_entries",
          "columnsFrom": [
            "segment_entry_id",
            "user_id"
          ],
          "columnsTo": [
            "segment_entry_id",
            "user_id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "tts_segment_variants_segment_id_user_id_pk": {
          "name": "tts_segment_variants_segment_id_user_id_pk",
          "columns": [
            "segment_id",
            "user_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.user_document_progress": {
      "name": "user_document_progress",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "document_id": {
          "name": "document_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "reader_type": {
          "name": "reader_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "location": {
          "name": "location",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "progress": {
          "name": "progress",
          "type": "real",
          "primaryKey": false,
          "notNull": false
        },
        "client_updated_at_ms": {
          "name": "client_updated_at_ms",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        }
      },
      "indexes": {
        "idx_user_document_progress_user_id_updated_at": {
          "name": "idx_user_document_progress_user_id_updated_at",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "updated_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "user_document_progress_user_id_user_id_fk": {
          "name": "user_document_progress_user_id_user_id_fk",
          "tableFrom": "user_document_progress",
          "tableTo": "user",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "user_document_progress_user_id_document_id_pk": {
          "name": "user_document_progress_user_id_document_id_pk",
          "columns": [
            "user_id",
            "document_id"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.user_preferences": {
      "name": "user_preferences",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "data_json": {
          "name": "data_json",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'{}'::jsonb"
        },
        "client_updated_at_ms": {
          "name": "client_updated_at_ms",
          "type": "bigint",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "user_preferences_user_id_user_id_fk": {
          "name": "user_preferences_user_id_user_id_fk",
          "tableFrom": "user_preferences",
          "tableTo": "user",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.user_tts_chars": {
      "name": "user_tts_chars",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "date": {
          "name": "date",
          "type": "date",
          "primaryKey": false,
          "notNull": true
        },
        "char_count": {
          "name": "char_count",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "bigint",
          "primaryKey": false,
          "notNull": false,
          "default": "(extract(epoch from now()) * 1000)::bigint"
        }
      },
      "indexes": {
        "idx_user_tts_chars_date": {
          "name": "idx_user_tts_chars_date",
          "columns": [
            {
              "expression": "date",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "user_tts_chars_user_id_date_pk": {
          "name": "user_tts_chars_user_id_date_pk",
          "columns": [
            "user_id",
            "date"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.account": {
      "name": "account",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "account_id": {
          "name": "account_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "provider_id": {
          "name": "provider_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "access_token": {
          "name": "access_token",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "refresh_token": {
          "name": "refresh_token",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "id_token": {
          "name": "id_token",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "access_token_expires_at": {
          "name": "access_token_expires_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "refresh_token_expires_at": {
          "name": "refresh_token_expires_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "scope": {
          "name": "scope",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "password": {
          "name": "password",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {
        "account_userId_idx": {
          "name": "account_userId_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "account_user_id_user_id_fk": {
          "name": "account_user_id_user_id_fk",
          "tableFrom": "account",
          "tableTo": "user",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.session": {
      "name": "session",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true
        },
        "token": {
          "name": "token",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true
        },
        "ip_address": {
          "name": "ip_address",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "user_agent": {
          "name": "user_agent",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "user_id": {
          "name": "user_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {
        "session_userId_idx": {
          "name": "session_userId_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "session_user_id_user_id_fk": {
          "name": "session_user_id_user_id_fk",
          "tableFrom": "session",
          "tableTo": "user",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "session_token_unique": {
          "name": "session_token_unique",
          "nullsNotDistinct": false,
          "columns": [
            "token"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.user": {
      "name": "user",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "email": {
          "name": "email",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "email_verified": {
          "name": "email_verified",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "image": {
          "name": "image",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "is_anonymous": {
          "name": "is_anonymous",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": false
        },
        "is_admin": {
          "name": "is_admin",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "user_email_unique": {
          "name": "user_email_unique",
          "nullsNotDistinct": false,
          "columns": [
            "email"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.verification": {
      "name": "verification",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "identifier": {
          "name": "identifier",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "value": {
          "name": "value",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "verification_identifier_idx": {
          "name": "verification_identifier_idx",
          "columns": [
            {
              "expression": "identifier",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    }
  },
  "enums": {},
  "schemas": {},
  "sequences": {},
  "roles": {},
  "policies": {},
  "views": {},
  "_meta": {
    "columns": {},
    "schemas": {},
    "tables": {}
  }
}