SPB Git forge

spb/rareindex

Public
54commits 1branches 0releases
7.1 MBsize
maindefault branch
10 days agolast push
TypeScript 61.9% HTML 37.2% SQL 0.7%
223.8 KB · 8,890 lines json
Raw Blame History
1{2  "id": "c11ee010-c4bb-44df-aeea-a93ad2c1d1bb",3  "prevId": "c02c1e51-b253-4180-ac80-82ae47732592",4  "version": "7",5  "dialect": "postgresql",6  "tables": {7    "public.brands": {8      "name": "brands",9      "schema": "",10      "columns": {11        "slug": {12          "name": "slug",13          "type": "text",14          "primaryKey": true,15          "notNull": true16        },17        "name": {18          "name": "name",19          "type": "text",20          "primaryKey": false,21          "notNull": true22        },23        "category_slugs": {24          "name": "category_slugs",25          "type": "text[]",26          "primaryKey": false,27          "notNull": true,28          "default": "'{}'::text[]"29        },30        "country": {31          "name": "country",32          "type": "text",33          "primaryKey": false,34          "notNull": false35        },36        "founded_year": {37          "name": "founded_year",38          "type": "integer",39          "primaryKey": false,40          "notNull": false41        },42        "metadata": {43          "name": "metadata",44          "type": "jsonb",45          "primaryKey": false,46          "notNull": true,47          "default": "'{}'::jsonb"48        },49        "created_at": {50          "name": "created_at",51          "type": "timestamp with time zone",52          "primaryKey": false,53          "notNull": true,54          "default": "now()"55        }56      },57      "indexes": {58        "brands_name_idx": {59          "name": "brands_name_idx",60          "columns": [61            {62              "expression": "name",63              "isExpression": false,64              "asc": true,65              "nulls": "last"66            }67          ],68          "isUnique": false,69          "concurrently": false,70          "method": "btree",71          "with": {}72        }73      },74      "foreignKeys": {},75      "compositePrimaryKeys": {},76      "uniqueConstraints": {},77      "policies": {},78      "checkConstraints": {},79      "isRLSEnabled": false80    },81    "public.categories": {82      "name": "categories",83      "schema": "",84      "columns": {85        "slug": {86          "name": "slug",87          "type": "text",88          "primaryKey": true,89          "notNull": true90        },91        "parent_slug": {92          "name": "parent_slug",93          "type": "text",94          "primaryKey": false,95          "notNull": false96        },97        "family_slug": {98          "name": "family_slug",99          "type": "text",100          "primaryKey": false,101          "notNull": true102        },103        "name": {104          "name": "name",105          "type": "text",106          "primaryKey": false,107          "notNull": true108        },109        "short_name": {110          "name": "short_name",111          "type": "text",112          "primaryKey": false,113          "notNull": false114        },115        "description": {116          "name": "description",117          "type": "text",118          "primaryKey": false,119          "notNull": false120        },121        "level": {122          "name": "level",123          "type": "integer",124          "primaryKey": false,125          "notNull": true,126          "default": 0127        },128        "phase": {129          "name": "phase",130          "type": "integer",131          "primaryKey": false,132          "notNull": true,133          "default": 3134        },135        "active": {136          "name": "active",137          "type": "boolean",138          "primaryKey": false,139          "notNull": true,140          "default": true141        },142        "condition_scale": {143          "name": "condition_scale",144          "type": "text",145          "primaryKey": false,146          "notNull": false147        },148        "graders": {149          "name": "graders",150          "type": "text[]",151          "primaryKey": false,152          "notNull": true,153          "default": "'{}'::text[]"154        },155        "index_ticker": {156          "name": "index_ticker",157          "type": "text",158          "primaryKey": false,159          "notNull": false160        },161        "attribute_schema": {162          "name": "attribute_schema",163          "type": "jsonb",164          "primaryKey": false,165          "notNull": true,166          "default": "'{}'::jsonb"167        },168        "sort_order": {169          "name": "sort_order",170          "type": "integer",171          "primaryKey": false,172          "notNull": true,173          "default": 0174        },175        "compliance_flags": {176          "name": "compliance_flags",177          "type": "text[]",178          "primaryKey": false,179          "notNull": true,180          "default": "'{}'::text[]"181        },182        "icon": {183          "name": "icon",184          "type": "text",185          "primaryKey": false,186          "notNull": false187        },188        "created_at": {189          "name": "created_at",190          "type": "timestamp with time zone",191          "primaryKey": false,192          "notNull": true,193          "default": "now()"194        },195        "updated_at": {196          "name": "updated_at",197          "type": "timestamp with time zone",198          "primaryKey": false,199          "notNull": true,200          "default": "now()"201        }202      },203      "indexes": {204        "categories_parent_idx": {205          "name": "categories_parent_idx",206          "columns": [207            {208              "expression": "parent_slug",209              "isExpression": false,210              "asc": true,211              "nulls": "last"212            }213          ],214          "isUnique": false,215          "concurrently": false,216          "method": "btree",217          "with": {}218        },219        "categories_family_idx": {220          "name": "categories_family_idx",221          "columns": [222            {223              "expression": "family_slug",224              "isExpression": false,225              "asc": true,226              "nulls": "last"227            }228          ],229          "isUnique": false,230          "concurrently": false,231          "method": "btree",232          "with": {}233        }234      },235      "foreignKeys": {},236      "compositePrimaryKeys": {},237      "uniqueConstraints": {},238      "policies": {},239      "checkConstraints": {},240      "isRLSEnabled": false241    },242    "public.franchises": {243      "name": "franchises",244      "schema": "",245      "columns": {246        "slug": {247          "name": "slug",248          "type": "text",249          "primaryKey": true,250          "notNull": true251        },252        "name": {253          "name": "name",254          "type": "text",255          "primaryKey": false,256          "notNull": true257        },258        "owner": {259          "name": "owner",260          "type": "text",261          "primaryKey": false,262          "notNull": false263        },264        "category_slugs": {265          "name": "category_slugs",266          "type": "text[]",267          "primaryKey": false,268          "notNull": true,269          "default": "'{}'::text[]"270        },271        "metadata": {272          "name": "metadata",273          "type": "jsonb",274          "primaryKey": false,275          "notNull": true,276          "default": "'{}'::jsonb"277        },278        "created_at": {279          "name": "created_at",280          "type": "timestamp with time zone",281          "primaryKey": false,282          "notNull": true,283          "default": "now()"284        }285      },286      "indexes": {},287      "foreignKeys": {},288      "compositePrimaryKeys": {},289      "uniqueConstraints": {},290      "policies": {},291      "checkConstraints": {},292      "isRLSEnabled": false293    },294    "public.graders": {295      "name": "graders",296      "schema": "",297      "columns": {298        "slug": {299          "name": "slug",300          "type": "text",301          "primaryKey": true,302          "notNull": true303        },304        "name": {305          "name": "name",306          "type": "text",307          "primaryKey": false,308          "notNull": true309        },310        "category_slugs": {311          "name": "category_slugs",312          "type": "text[]",313          "primaryKey": false,314          "notNull": true,315          "default": "'{}'::text[]"316        },317        "scale": {318          "name": "scale",319          "type": "jsonb",320          "primaryKey": false,321          "notNull": true,322          "default": "'{}'::jsonb"323        },324        "population_url": {325          "name": "population_url",326          "type": "text",327          "primaryKey": false,328          "notNull": false329        },330        "verify_url": {331          "name": "verify_url",332          "type": "text",333          "primaryKey": false,334          "notNull": false335        },336        "active": {337          "name": "active",338          "type": "boolean",339          "primaryKey": false,340          "notNull": true,341          "default": true342        }343      },344      "indexes": {},345      "foreignKeys": {},346      "compositePrimaryKeys": {},347      "uniqueConstraints": {},348      "policies": {},349      "checkConstraints": {},350      "isRLSEnabled": false351    },352    "public.sets": {353      "name": "sets",354      "schema": "",355      "columns": {356        "slug": {357          "name": "slug",358          "type": "text",359          "primaryKey": true,360          "notNull": true361        },362        "name": {363          "name": "name",364          "type": "text",365          "primaryKey": false,366          "notNull": true367        },368        "code": {369          "name": "code",370          "type": "text",371          "primaryKey": false,372          "notNull": false373        },374        "category_slug": {375          "name": "category_slug",376          "type": "text",377          "primaryKey": false,378          "notNull": true379        },380        "franchise_slug": {381          "name": "franchise_slug",382          "type": "text",383          "primaryKey": false,384          "notNull": false385        },386        "brand_slug": {387          "name": "brand_slug",388          "type": "text",389          "primaryKey": false,390          "notNull": false391        },392        "release_year": {393          "name": "release_year",394          "type": "integer",395          "primaryKey": false,396          "notNull": false397        },398        "release_date": {399          "name": "release_date",400          "type": "text",401          "primaryKey": false,402          "notNull": false403        },404        "language": {405          "name": "language",406          "type": "text",407          "primaryKey": false,408          "notNull": false409        },410        "total_items": {411          "name": "total_items",412          "type": "integer",413          "primaryKey": false,414          "notNull": false415        },416        "identifiers": {417          "name": "identifiers",418          "type": "jsonb",419          "primaryKey": false,420          "notNull": true,421          "default": "'{}'::jsonb"422        },423        "metadata": {424          "name": "metadata",425          "type": "jsonb",426          "primaryKey": false,427          "notNull": true,428          "default": "'{}'::jsonb"429        },430        "created_at": {431          "name": "created_at",432          "type": "timestamp with time zone",433          "primaryKey": false,434          "notNull": true,435          "default": "now()"436        }437      },438      "indexes": {439        "sets_category_idx": {440          "name": "sets_category_idx",441          "columns": [442            {443              "expression": "category_slug",444              "isExpression": false,445              "asc": true,446              "nulls": "last"447            }448          ],449          "isUnique": false,450          "concurrently": false,451          "method": "btree",452          "with": {}453        },454        "sets_category_code_uq": {455          "name": "sets_category_code_uq",456          "columns": [457            {458              "expression": "category_slug",459              "isExpression": false,460              "asc": true,461              "nulls": "last"462            },463            {464              "expression": "code",465              "isExpression": false,466              "asc": true,467              "nulls": "last"468            }469          ],470          "isUnique": true,471          "concurrently": false,472          "method": "btree",473          "with": {}474        }475      },476      "foreignKeys": {},477      "compositePrimaryKeys": {},478      "uniqueConstraints": {},479      "policies": {},480      "checkConstraints": {},481      "isRLSEnabled": false482    },483    "public.taxonomy_proposals": {484      "name": "taxonomy_proposals",485      "schema": "",486      "columns": {487        "id": {488          "name": "id",489          "type": "text",490          "primaryKey": true,491          "notNull": true492        },493        "proposed_slug": {494          "name": "proposed_slug",495          "type": "text",496          "primaryKey": false,497          "notNull": true498        },499        "name": {500          "name": "name",501          "type": "text",502          "primaryKey": false,503          "notNull": true504        },505        "parent_slug": {506          "name": "parent_slug",507          "type": "text",508          "primaryKey": false,509          "notNull": false510        },511        "evidence": {512          "name": "evidence",513          "type": "jsonb",514          "primaryKey": false,515          "notNull": true,516          "default": "'{}'::jsonb"517        },518        "volume_estimate": {519          "name": "volume_estimate",520          "type": "integer",521          "primaryKey": false,522          "notNull": false523        },524        "status": {525          "name": "status",526          "type": "text",527          "primaryKey": false,528          "notNull": true,529          "default": "'pending'"530        },531        "decided_by": {532          "name": "decided_by",533          "type": "text",534          "primaryKey": false,535          "notNull": false536        },537        "decided_at": {538          "name": "decided_at",539          "type": "text",540          "primaryKey": false,541          "notNull": false542        },543        "created_at": {544          "name": "created_at",545          "type": "timestamp with time zone",546          "primaryKey": false,547          "notNull": true,548          "default": "now()"549        }550      },551      "indexes": {},552      "foreignKeys": {},553      "compositePrimaryKeys": {},554      "uniqueConstraints": {},555      "policies": {},556      "checkConstraints": {},557      "isRLSEnabled": false558    },559    "public.certificate_sightings": {560      "name": "certificate_sightings",561      "schema": "",562      "columns": {563        "id": {564          "name": "id",565          "type": "text",566          "primaryKey": true,567          "notNull": true568        },569        "certificate_id": {570          "name": "certificate_id",571          "type": "text",572          "primaryKey": false,573          "notNull": true574        },575        "kind": {576          "name": "kind",577          "type": "text",578          "primaryKey": false,579          "notNull": true580        },581        "target_id": {582          "name": "target_id",583          "type": "text",584          "primaryKey": false,585          "notNull": false586        },587        "source_id": {588          "name": "source_id",589          "type": "text",590          "primaryKey": false,591          "notNull": true592        },593        "connector_id": {594          "name": "connector_id",595          "type": "text",596          "primaryKey": false,597          "notNull": false598        },599        "source_url": {600          "name": "source_url",601          "type": "text",602          "primaryKey": false,603          "notNull": false604        },605        "price_usd": {606          "name": "price_usd",607          "type": "numeric(18, 4)",608          "primaryKey": false,609          "notNull": false610        },611        "currency": {612          "name": "currency",613          "type": "text",614          "primaryKey": false,615          "notNull": false616        },617        "price": {618          "name": "price",619          "type": "numeric(18, 4)",620          "primaryKey": false,621          "notNull": false622        },623        "observed_at": {624          "name": "observed_at",625          "type": "timestamp with time zone",626          "primaryKey": false,627          "notNull": true628        },629        "created_at": {630          "name": "created_at",631          "type": "timestamp with time zone",632          "primaryKey": false,633          "notNull": true,634          "default": "now()"635        }636      },637      "indexes": {638        "certificate_sightings_cert_idx": {639          "name": "certificate_sightings_cert_idx",640          "columns": [641            {642              "expression": "certificate_id",643              "isExpression": false,644              "asc": true,645              "nulls": "last"646            },647            {648              "expression": "observed_at",649              "isExpression": false,650              "asc": true,651              "nulls": "last"652            }653          ],654          "isUnique": false,655          "concurrently": false,656          "method": "btree",657          "with": {}658        },659        "certificate_sightings_uq": {660          "name": "certificate_sightings_uq",661          "columns": [662            {663              "expression": "certificate_id",664              "isExpression": false,665              "asc": true,666              "nulls": "last"667            },668            {669              "expression": "kind",670              "isExpression": false,671              "asc": true,672              "nulls": "last"673            },674            {675              "expression": "target_id",676              "isExpression": false,677              "asc": true,678              "nulls": "last"679            }680          ],681          "isUnique": true,682          "concurrently": false,683          "method": "btree",684          "with": {}685        }686      },687      "foreignKeys": {},688      "compositePrimaryKeys": {},689      "uniqueConstraints": {},690      "policies": {},691      "checkConstraints": {},692      "isRLSEnabled": false693    },694    "public.certificates": {695      "name": "certificates",696      "schema": "",697      "columns": {698        "id": {699          "name": "id",700          "type": "text",701          "primaryKey": true,702          "notNull": true703        },704        "grader": {705          "name": "grader",706          "type": "text",707          "primaryKey": false,708          "notNull": true709        },710        "cert_number": {711          "name": "cert_number",712          "type": "text",713          "primaryKey": false,714          "notNull": true715        },716        "asset_id": {717          "name": "asset_id",718          "type": "text",719          "primaryKey": false,720          "notNull": false721        },722        "variant_id": {723          "name": "variant_id",724          "type": "text",725          "primaryKey": false,726          "notNull": false727        },728        "grade": {729          "name": "grade",730          "type": "text",731          "primaryKey": false,732          "notNull": false733        },734        "qualifier": {735          "name": "qualifier",736          "type": "text",737          "primaryKey": false,738          "notNull": false739        },740        "verify_url": {741          "name": "verify_url",742          "type": "text",743          "primaryKey": false,744          "notNull": false745        },746        "first_seen_at": {747          "name": "first_seen_at",748          "type": "timestamp with time zone",749          "primaryKey": false,750          "notNull": true751        },752        "last_seen_at": {753          "name": "last_seen_at",754          "type": "timestamp with time zone",755          "primaryKey": false,756          "notNull": true757        },758        "sightings": {759          "name": "sightings",760          "type": "integer",761          "primaryKey": false,762          "notNull": true,763          "default": 0764        },765        "source_ids": {766          "name": "source_ids",767          "type": "text[]",768          "primaryKey": false,769          "notNull": true,770          "default": "'{}'::text[]"771        },772        "last_source_url": {773          "name": "last_source_url",774          "type": "text",775          "primaryKey": false,776          "notNull": false777        },778        "last_price_usd": {779          "name": "last_price_usd",780          "type": "numeric(18, 4)",781          "primaryKey": false,782          "notNull": false783        },784        "verified_at": {785          "name": "verified_at",786          "type": "timestamp with time zone",787          "primaryKey": false,788          "notNull": false789        },790        "verification": {791          "name": "verification",792          "type": "jsonb",793          "primaryKey": false,794          "notNull": true,795          "default": "'{}'::jsonb"796        },797        "created_at": {798          "name": "created_at",799          "type": "timestamp with time zone",800          "primaryKey": false,801          "notNull": true,802          "default": "now()"803        }804      },805      "indexes": {806        "certificates_grader_cert_uq": {807          "name": "certificates_grader_cert_uq",808          "columns": [809            {810              "expression": "grader",811              "isExpression": false,812              "asc": true,813              "nulls": "last"814            },815            {816              "expression": "cert_number",817              "isExpression": false,818              "asc": true,819              "nulls": "last"820            }821          ],822          "isUnique": true,823          "concurrently": false,824          "method": "btree",825          "with": {}826        },827        "certificates_asset_idx": {828          "name": "certificates_asset_idx",829          "columns": [830            {831              "expression": "asset_id",832              "isExpression": false,833              "asc": true,834              "nulls": "last"835            }836          ],837          "isUnique": false,838          "concurrently": false,839          "method": "btree",840          "with": {}841        },842        "certificates_last_seen_idx": {843          "name": "certificates_last_seen_idx",844          "columns": [845            {846              "expression": "last_seen_at",847              "isExpression": false,848              "asc": true,849              "nulls": "last"850            }851          ],852          "isUnique": false,853          "concurrently": false,854          "method": "btree",855          "with": {}856        }857      },858      "foreignKeys": {},859      "compositePrimaryKeys": {},860      "uniqueConstraints": {},861      "policies": {},862      "checkConstraints": {},863      "isRLSEnabled": false864    },865    "public.connector_backfills": {866      "name": "connector_backfills",867      "schema": "",868      "columns": {869        "id": {870          "name": "id",871          "type": "text",872          "primaryKey": true,873          "notNull": true874        },875        "connector_id": {876          "name": "connector_id",877          "type": "text",878          "primaryKey": false,879          "notNull": true880        },881        "status": {882          "name": "status",883          "type": "text",884          "primaryKey": false,885          "notNull": true,886          "default": "'running'"887        },888        "started_at": {889          "name": "started_at",890          "type": "timestamp with time zone",891          "primaryKey": false,892          "notNull": true893        },894        "updated_at": {895          "name": "updated_at",896          "type": "timestamp with time zone",897          "primaryKey": false,898          "notNull": true,899          "default": "now()"900        },901        "finished_at": {902          "name": "finished_at",903          "type": "timestamp with time zone",904          "primaryKey": false,905          "notNull": false906        },907        "backfill_start_date": {908          "name": "backfill_start_date",909          "type": "date",910          "primaryKey": false,911          "notNull": false912        },913        "backfill_end_date": {914          "name": "backfill_end_date",915          "type": "date",916          "primaryKey": false,917          "notNull": false918        },919        "reached_date": {920          "name": "reached_date",921          "type": "date",922          "primaryKey": false,923          "notNull": false924        },925        "pages_processed": {926          "name": "pages_processed",927          "type": "integer",928          "primaryKey": false,929          "notNull": true,930          "default": 0931        },932        "total_pages": {933          "name": "total_pages",934          "type": "integer",935          "primaryKey": false,936          "notNull": false937        },938        "items_processed": {939          "name": "items_processed",940          "type": "integer",941          "primaryKey": false,942          "notNull": true,943          "default": 0944        },945        "last_cursor": {946          "name": "last_cursor",947          "type": "jsonb",948          "primaryKey": false,949          "notNull": true,950          "default": "'{}'::jsonb"951        },952        "last_successful_page": {953          "name": "last_successful_page",954          "type": "integer",955          "primaryKey": false,956          "notNull": false957        },958        "runs": {959          "name": "runs",960          "type": "integer",961          "primaryKey": false,962          "notNull": true,963          "default": 0964        },965        "errors": {966          "name": "errors",967          "type": "integer",968          "primaryKey": false,969          "notNull": true,970          "default": 0971        },972        "retry_count": {973          "name": "retry_count",974          "type": "integer",975          "primaryKey": false,976          "notNull": true,977          "default": 0978        },979        "last_error": {980          "name": "last_error",981          "type": "text",982          "primaryKey": false,983          "notNull": false984        },985        "percent": {986          "name": "percent",987          "type": "real",988          "primaryKey": false,989          "notNull": false990        }991      },992      "indexes": {993        "connector_backfills_connector_idx": {994          "name": "connector_backfills_connector_idx",995          "columns": [996            {997              "expression": "connector_id",998              "isExpression": false,999              "asc": true,1000              "nulls": "last"1001            },1002            {1003              "expression": "status",1004              "isExpression": false,1005              "asc": true,1006              "nulls": "last"1007            }1008          ],1009          "isUnique": false,1010          "concurrently": false,1011          "method": "btree",1012          "with": {}1013        }1014      },1015      "foreignKeys": {},1016      "compositePrimaryKeys": {},1017      "uniqueConstraints": {},1018      "policies": {},1019      "checkConstraints": {},1020      "isRLSEnabled": false1021    },1022    "public.connector_field_stats": {1023      "name": "connector_field_stats",1024      "schema": "",1025      "columns": {1026        "connector_id": {1027          "name": "connector_id",1028          "type": "text",1029          "primaryKey": false,1030          "notNull": true1031        },1032        "day": {1033          "name": "day",1034          "type": "date",1035          "primaryKey": false,1036          "notNull": true1037        },1038        "field": {1039          "name": "field",1040          "type": "text",1041          "primaryKey": false,1042          "notNull": true1043        },1044        "total": {1045          "name": "total",1046          "type": "integer",1047          "primaryKey": false,1048          "notNull": true,1049          "default": 01050        },1051        "nulls": {1052          "name": "nulls",1053          "type": "integer",1054          "primaryKey": false,1055          "notNull": true,1056          "default": 01057        }1058      },1059      "indexes": {},1060      "foreignKeys": {},1061      "compositePrimaryKeys": {1062        "connector_field_stats_connector_id_day_field_pk": {1063          "name": "connector_field_stats_connector_id_day_field_pk",1064          "columns": [1065            "connector_id",1066            "day",1067            "field"1068          ]1069        }1070      },1071      "uniqueConstraints": {},1072      "policies": {},1073      "checkConstraints": {},1074      "isRLSEnabled": false1075    },1076    "public.connector_health": {1077      "name": "connector_health",1078      "schema": "",1079      "columns": {1080        "connector_id": {1081          "name": "connector_id",1082          "type": "text",1083          "primaryKey": true,1084          "notNull": true1085        },1086        "computed_at": {1087          "name": "computed_at",1088          "type": "timestamp with time zone",1089          "primaryKey": false,1090          "notNull": true1091        },1092        "status": {1093          "name": "status",1094          "type": "text",1095          "primaryKey": false,1096          "notNull": true1097        },1098        "health": {1099          "name": "health",1100          "type": "jsonb",1101          "primaryKey": false,1102          "notNull": true,1103          "default": "'{}'::jsonb"1104        }1105      },1106      "indexes": {},1107      "foreignKeys": {},1108      "compositePrimaryKeys": {},1109      "uniqueConstraints": {},1110      "policies": {},1111      "checkConstraints": {},1112      "isRLSEnabled": false1113    },1114    "public.connector_runs": {1115      "name": "connector_runs",1116      "schema": "",1117      "columns": {1118        "id": {1119          "name": "id",1120          "type": "text",1121          "primaryKey": true,1122          "notNull": true1123        },1124        "connector_id": {1125          "name": "connector_id",1126          "type": "text",1127          "primaryKey": false,1128          "notNull": true1129        },1130        "trigger": {1131          "name": "trigger",1132          "type": "text",1133          "primaryKey": false,1134          "notNull": true,1135          "default": "'schedule'"1136        },1137        "started_at": {1138          "name": "started_at",1139          "type": "timestamp with time zone",1140          "primaryKey": false,1141          "notNull": true1142        },1143        "finished_at": {1144          "name": "finished_at",1145          "type": "timestamp with time zone",1146          "primaryKey": false,1147          "notNull": false1148        },1149        "status": {1150          "name": "status",1151          "type": "text",1152          "primaryKey": false,1153          "notNull": true,1154          "default": "'running'"1155        },1156        "pages_attempted": {1157          "name": "pages_attempted",1158          "type": "integer",1159          "primaryKey": false,1160          "notNull": true,1161          "default": 01162        },1163        "pages_success": {1164          "name": "pages_success",1165          "type": "integer",1166          "primaryKey": false,1167          "notNull": true,1168          "default": 01169        },1170        "records_raw": {1171          "name": "records_raw",1172          "type": "integer",1173          "primaryKey": false,1174          "notNull": true,1175          "default": 01176        },1177        "records_normalized": {1178          "name": "records_normalized",1179          "type": "integer",1180          "primaryKey": false,1181          "notNull": true,1182          "default": 01183        },1184        "records_duplicate": {1185          "name": "records_duplicate",1186          "type": "integer",1187          "primaryKey": false,1188          "notNull": true,1189          "default": 01190        },1191        "records_rejected": {1192          "name": "records_rejected",1193          "type": "integer",1194          "primaryKey": false,1195          "notNull": true,1196          "default": 01197        },1198        "engine_stats": {1199          "name": "engine_stats",1200          "type": "jsonb",1201          "primaryKey": false,1202          "notNull": true,1203          "default": "'{}'::jsonb"1204        },1205        "anomalies": {1206          "name": "anomalies",1207          "type": "jsonb",1208          "primaryKey": false,1209          "notNull": true,1210          "default": "'[]'::jsonb"1211        },1212        "error": {1213          "name": "error",1214          "type": "text",1215          "primaryKey": false,1216          "notNull": false1217        },1218        "cost_credits": {1219          "name": "cost_credits",1220          "type": "real",1221          "primaryKey": false,1222          "notNull": true,1223          "default": 01224        },1225        "cost_usd_est": {1226          "name": "cost_usd_est",1227          "type": "real",1228          "primaryKey": false,1229          "notNull": true,1230          "default": 01231        },1232        "cursor": {1233          "name": "cursor",1234          "type": "jsonb",1235          "primaryKey": false,1236          "notNull": true,1237          "default": "'{}'::jsonb"1238        }1239      },1240      "indexes": {1241        "connector_runs_connector_started_idx": {1242          "name": "connector_runs_connector_started_idx",1243          "columns": [1244            {1245              "expression": "connector_id",1246              "isExpression": false,1247              "asc": true,1248              "nulls": "last"1249            },1250            {1251              "expression": "started_at",1252              "isExpression": false,1253              "asc": true,1254              "nulls": "last"1255            }1256          ],1257          "isUnique": false,1258          "concurrently": false,1259          "method": "btree",1260          "with": {}1261        }1262      },1263      "foreignKeys": {},1264      "compositePrimaryKeys": {},1265      "uniqueConstraints": {},1266      "policies": {},1267      "checkConstraints": {},1268      "isRLSEnabled": false1269    },1270    "public.connectors": {1271      "name": "connectors",1272      "schema": "",1273      "columns": {1274        "id": {1275          "name": "id",1276          "type": "text",1277          "primaryKey": true,1278          "notNull": true1279        },1280        "source_id": {1281          "name": "source_id",1282          "type": "text",1283          "primaryKey": false,1284          "notNull": true1285        },1286        "display_name": {1287          "name": "display_name",1288          "type": "text",1289          "primaryKey": false,1290          "notNull": true1291        },1292        "engine_priority": {1293          "name": "engine_priority",1294          "type": "text[]",1295          "primaryKey": false,1296          "notNull": true,1297          "default": "'{}'::text[]"1298        },1299        "categories": {1300          "name": "categories",1301          "type": "text[]",1302          "primaryKey": false,1303          "notNull": true,1304          "default": "'{}'::text[]"1305        },1306        "regions": {1307          "name": "regions",1308          "type": "text[]",1309          "primaryKey": false,1310          "notNull": true,1311          "default": "'{}'::text[]"1312        },1313        "languages": {1314          "name": "languages",1315          "type": "text[]",1316          "primaryKey": false,1317          "notNull": true,1318          "default": "'{}'::text[]"1319        },1320        "currency": {1321          "name": "currency",1322          "type": "text[]",1323          "primaryKey": false,1324          "notNull": true,1325          "default": "'{}'::text[]"1326        },1327        "supports_listings": {1328          "name": "supports_listings",1329          "type": "boolean",1330          "primaryKey": false,1331          "notNull": true,1332          "default": false1333        },1334        "supports_sold": {1335          "name": "supports_sold",1336          "type": "boolean",1337          "primaryKey": false,1338          "notNull": true,1339          "default": false1340        },1341        "supports_auctions": {1342          "name": "supports_auctions",1343          "type": "boolean",1344          "primaryKey": false,1345          "notNull": true,1346          "default": false1347        },1348        "supports_images": {1349          "name": "supports_images",1350          "type": "boolean",1351          "primaryKey": false,1352          "notNull": true,1353          "default": true1354        },1355        "supports_catalog": {1356          "name": "supports_catalog",1357          "type": "boolean",1358          "primaryKey": false,1359          "notNull": true,1360          "default": false1361        },1362        "supports_population": {1363          "name": "supports_population",1364          "type": "boolean",1365          "primaryKey": false,1366          "notNull": true,1367          "default": false1368        },1369        "refresh_frequency_minutes": {1370          "name": "refresh_frequency_minutes",1371          "type": "integer",1372          "primaryKey": false,1373          "notNull": true,1374          "default": 14401375        },1376        "priority": {1377          "name": "priority",1378          "type": "text",1379          "primaryKey": false,1380          "notNull": true,1381          "default": "'medium'"1382        },1383        "status": {1384          "name": "status",1385          "type": "text",1386          "primaryKey": false,1387          "notNull": true,1388          "default": "'active'"1389        },1390        "schema_version": {1391          "name": "schema_version",1392          "type": "text",1393          "primaryKey": false,1394          "notNull": true,1395          "default": "'1.0'"1396        },1397        "connector_version": {1398          "name": "connector_version",1399          "type": "text",1400          "primaryKey": false,1401          "notNull": true,1402          "default": "'1.0.0'"1403        },1404        "config": {1405          "name": "config",1406          "type": "jsonb",1407          "primaryKey": false,1408          "notNull": true,1409          "default": "'{}'::jsonb"1410        },1411        "meta": {1412          "name": "meta",1413          "type": "jsonb",1414          "primaryKey": false,1415          "notNull": true,1416          "default": "'{}'::jsonb"1417        },1418        "last_run_at": {1419          "name": "last_run_at",1420          "type": "timestamp with time zone",1421          "primaryKey": false,1422          "notNull": false1423        },1424        "last_success_at": {1425          "name": "last_success_at",1426          "type": "timestamp with time zone",1427          "primaryKey": false,1428          "notNull": false1429        },1430        "next_run_at": {1431          "name": "next_run_at",1432          "type": "timestamp with time zone",1433          "primaryKey": false,1434          "notNull": false1435        },1436        "created_at": {1437          "name": "created_at",1438          "type": "timestamp with time zone",1439          "primaryKey": false,1440          "notNull": true,1441          "default": "now()"1442        },1443        "updated_at": {1444          "name": "updated_at",1445          "type": "timestamp with time zone",1446          "primaryKey": false,1447          "notNull": true,1448          "default": "now()"1449        }1450      },1451      "indexes": {},1452      "foreignKeys": {},1453      "compositePrimaryKeys": {},1454      "uniqueConstraints": {},1455      "policies": {},1456      "checkConstraints": {},1457      "isRLSEnabled": false1458    },1459    "public.costs": {1460      "name": "costs",1461      "schema": "",1462      "columns": {1463        "id": {1464          "name": "id",1465          "type": "text",1466          "primaryKey": true,1467          "notNull": true1468        },1469        "occurred_at": {1470          "name": "occurred_at",1471          "type": "timestamp with time zone",1472          "primaryKey": false,1473          "notNull": true1474        },1475        "kind": {1476          "name": "kind",1477          "type": "text",1478          "primaryKey": false,1479          "notNull": true1480        },1481        "provider": {1482          "name": "provider",1483          "type": "text",1484          "primaryKey": false,1485          "notNull": false1486        },1487        "connector_id": {1488          "name": "connector_id",1489          "type": "text",1490          "primaryKey": false,1491          "notNull": false1492        },1493        "category_slug": {1494          "name": "category_slug",1495          "type": "text",1496          "primaryKey": false,1497          "notNull": false1498        },1499        "endpoint": {1500          "name": "endpoint",1501          "type": "text",1502          "primaryKey": false,1503          "notNull": false1504        },1505        "user_id": {1506          "name": "user_id",1507          "type": "text",1508          "primaryKey": false,1509          "notNull": false1510        },1511        "units": {1512          "name": "units",1513          "type": "real",1514          "primaryKey": false,1515          "notNull": true,1516          "default": 11517        },1518        "credits": {1519          "name": "credits",1520          "type": "real",1521          "primaryKey": false,1522          "notNull": true,1523          "default": 01524        },1525        "usd_est": {1526          "name": "usd_est",1527          "type": "real",1528          "primaryKey": false,1529          "notNull": true,1530          "default": 01531        },1532        "metadata": {1533          "name": "metadata",1534          "type": "jsonb",1535          "primaryKey": false,1536          "notNull": true,1537          "default": "'{}'::jsonb"1538        }1539      },1540      "indexes": {1541        "costs_occurred_idx": {1542          "name": "costs_occurred_idx",1543          "columns": [1544            {1545              "expression": "occurred_at",1546              "isExpression": false,1547              "asc": true,1548              "nulls": "last"1549            }1550          ],1551          "isUnique": false,1552          "concurrently": false,1553          "method": "btree",1554          "with": {}1555        },1556        "costs_connector_idx": {1557          "name": "costs_connector_idx",1558          "columns": [1559            {1560              "expression": "connector_id",1561              "isExpression": false,1562              "asc": true,1563              "nulls": "last"1564            }1565          ],1566          "isUnique": false,1567          "concurrently": false,1568          "method": "btree",1569          "with": {}1570        }1571      },1572      "foreignKeys": {},1573      "compositePrimaryKeys": {},1574      "uniqueConstraints": {},1575      "policies": {},1576      "checkConstraints": {},1577      "isRLSEnabled": false1578    },1579    "public.crawl_state": {1580      "name": "crawl_state",1581      "schema": "",1582      "columns": {1583        "url_hash": {1584          "name": "url_hash",1585          "type": "text",1586          "primaryKey": true,1587          "notNull": true1588        },1589        "connector_id": {1590          "name": "connector_id",1591          "type": "text",1592          "primaryKey": false,1593          "notNull": true1594        },1595        "url": {1596          "name": "url",1597          "type": "text",1598          "primaryKey": false,1599          "notNull": true1600        },1601        "etag": {1602          "name": "etag",1603          "type": "text",1604          "primaryKey": false,1605          "notNull": false1606        },1607        "last_modified": {1608          "name": "last_modified",1609          "type": "text",1610          "primaryKey": false,1611          "notNull": false1612        },1613        "content_hash": {1614          "name": "content_hash",1615          "type": "text",1616          "primaryKey": false,1617          "notNull": false1618        },1619        "last_fetched_at": {1620          "name": "last_fetched_at",1621          "type": "timestamp with time zone",1622          "primaryKey": false,1623          "notNull": false1624        },1625        "last_changed_at": {1626          "name": "last_changed_at",1627          "type": "timestamp with time zone",1628          "primaryKey": false,1629          "notNull": false1630        },1631        "fetch_count": {1632          "name": "fetch_count",1633          "type": "integer",1634          "primaryKey": false,1635          "notNull": true,1636          "default": 01637        },1638        "change_count": {1639          "name": "change_count",1640          "type": "integer",1641          "primaryKey": false,1642          "notNull": true,1643          "default": 01644        },1645        "change_interval_hours": {1646          "name": "change_interval_hours",1647          "type": "real",1648          "primaryKey": false,1649          "notNull": false1650        },1651        "next_fetch_at": {1652          "name": "next_fetch_at",1653          "type": "timestamp with time zone",1654          "primaryKey": false,1655          "notNull": false1656        },1657        "last_status": {1658          "name": "last_status",1659          "type": "integer",1660          "primaryKey": false,1661          "notNull": false1662        },1663        "failures": {1664          "name": "failures",1665          "type": "integer",1666          "primaryKey": false,1667          "notNull": true,1668          "default": 01669        }1670      },1671      "indexes": {1672        "crawl_state_next_idx": {1673          "name": "crawl_state_next_idx",1674          "columns": [1675            {1676              "expression": "connector_id",1677              "isExpression": false,1678              "asc": true,1679              "nulls": "last"1680            },1681            {1682              "expression": "next_fetch_at",1683              "isExpression": false,1684              "asc": true,1685              "nulls": "last"1686            }1687          ],1688          "isUnique": false,1689          "concurrently": false,1690          "method": "btree",1691          "with": {}1692        }1693      },1694      "foreignKeys": {},1695      "compositePrimaryKeys": {},1696      "uniqueConstraints": {},1697      "policies": {},1698      "checkConstraints": {},1699      "isRLSEnabled": false1700    },1701    "public.sources": {1702      "name": "sources",1703      "schema": "",1704      "columns": {1705        "id": {1706          "name": "id",1707          "type": "text",1708          "primaryKey": true,1709          "notNull": true1710        },1711        "name": {1712          "name": "name",1713          "type": "text",1714          "primaryKey": false,1715          "notNull": true1716        },1717        "source_type": {1718          "name": "source_type",1719          "type": "text",1720          "primaryKey": false,1721          "notNull": true1722        },1723        "url": {1724          "name": "url",1725          "type": "text",1726          "primaryKey": false,1727          "notNull": false1728        },1729        "countries": {1730          "name": "countries",1731          "type": "text[]",1732          "primaryKey": false,1733          "notNull": true,1734          "default": "'{}'::text[]"1735        },1736        "languages": {1737          "name": "languages",1738          "type": "text[]",1739          "primaryKey": false,1740          "notNull": true,1741          "default": "'{}'::text[]"1742        },1743        "currencies": {1744          "name": "currencies",1745          "type": "text[]",1746          "primaryKey": false,1747          "notNull": true,1748          "default": "'{}'::text[]"1749        },1750        "trust_score": {1751          "name": "trust_score",1752          "type": "numeric(8, 6)",1753          "primaryKey": false,1754          "notNull": true,1755          "default": 0.51756        },1757        "trust_factors": {1758          "name": "trust_factors",1759          "type": "jsonb",1760          "primaryKey": false,1761          "notNull": true,1762          "default": "'{}'::jsonb"1763        },1764        "attribution_required": {1765          "name": "attribution_required",1766          "type": "boolean",1767          "primaryKey": false,1768          "notNull": true,1769          "default": true1770        },1771        "terms_url": {1772          "name": "terms_url",1773          "type": "text",1774          "primaryKey": false,1775          "notNull": false1776        },1777        "active": {1778          "name": "active",1779          "type": "boolean",1780          "primaryKey": false,1781          "notNull": true,1782          "default": true1783        },1784        "created_at": {1785          "name": "created_at",1786          "type": "timestamp with time zone",1787          "primaryKey": false,1788          "notNull": true,1789          "default": "now()"1790        },1791        "updated_at": {1792          "name": "updated_at",1793          "type": "timestamp with time zone",1794          "primaryKey": false,1795          "notNull": true,1796          "default": "now()"1797        }1798      },1799      "indexes": {},1800      "foreignKeys": {},1801      "compositePrimaryKeys": {},1802      "uniqueConstraints": {},1803      "policies": {},1804      "checkConstraints": {},1805      "isRLSEnabled": false1806    },1807    "public.audit_log": {1808      "name": "audit_log",1809      "schema": "",1810      "columns": {1811        "id": {1812          "name": "id",1813          "type": "text",1814          "primaryKey": true,1815          "notNull": true1816        },1817        "entity_type": {1818          "name": "entity_type",1819          "type": "text",1820          "primaryKey": false,1821          "notNull": true1822        },1823        "entity_id": {1824          "name": "entity_id",1825          "type": "text",1826          "primaryKey": false,1827          "notNull": true1828        },1829        "action": {1830          "name": "action",1831          "type": "text",1832          "primaryKey": false,1833          "notNull": true1834        },1835        "reason": {1836          "name": "reason",1837          "type": "text",1838          "primaryKey": false,1839          "notNull": true1840        },1841        "actor": {1842          "name": "actor",1843          "type": "text",1844          "primaryKey": false,1845          "notNull": true,1846          "default": "'system'"1847        },1848        "details": {1849          "name": "details",1850          "type": "jsonb",1851          "primaryKey": false,1852          "notNull": true,1853          "default": "'{}'::jsonb"1854        },1855        "created_at": {1856          "name": "created_at",1857          "type": "timestamp with time zone",1858          "primaryKey": false,1859          "notNull": true,1860          "default": "now()"1861        }1862      },1863      "indexes": {1864        "audit_entity_idx": {1865          "name": "audit_entity_idx",1866          "columns": [1867            {1868              "expression": "entity_type",1869              "isExpression": false,1870              "asc": true,1871              "nulls": "last"1872            },1873            {1874              "expression": "entity_id",1875              "isExpression": false,1876              "asc": true,1877              "nulls": "last"1878            }1879          ],1880          "isUnique": false,1881          "concurrently": false,1882          "method": "btree",1883          "with": {}1884        }1885      },1886      "foreignKeys": {},1887      "compositePrimaryKeys": {},1888      "uniqueConstraints": {},1889      "policies": {},1890      "checkConstraints": {},1891      "isRLSEnabled": false1892    },1893    "public.events": {1894      "name": "events",1895      "schema": "",1896      "columns": {1897        "id": {1898          "name": "id",1899          "type": "text",1900          "primaryKey": true,1901          "notNull": true1902        },1903        "type": {1904          "name": "type",1905          "type": "text",1906          "primaryKey": false,1907          "notNull": true1908        },1909        "entity_type": {1910          "name": "entity_type",1911          "type": "text",1912          "primaryKey": false,1913          "notNull": false1914        },1915        "entity_id": {1916          "name": "entity_id",1917          "type": "text",1918          "primaryKey": false,1919          "notNull": false1920        },1921        "payload": {1922          "name": "payload",1923          "type": "jsonb",1924          "primaryKey": false,1925          "notNull": true,1926          "default": "'{}'::jsonb"1927        },1928        "created_at": {1929          "name": "created_at",1930          "type": "timestamp with time zone",1931          "primaryKey": false,1932          "notNull": true,1933          "default": "now()"1934        }1935      },1936      "indexes": {1937        "events_type_created_idx": {1938          "name": "events_type_created_idx",1939          "columns": [1940            {1941              "expression": "type",1942              "isExpression": false,1943              "asc": true,1944              "nulls": "last"1945            },1946            {1947              "expression": "created_at",1948              "isExpression": false,1949              "asc": true,1950              "nulls": "last"1951            }1952          ],1953          "isUnique": false,1954          "concurrently": false,1955          "method": "btree",1956          "with": {}1957        },1958        "events_entity_idx": {1959          "name": "events_entity_idx",1960          "columns": [1961            {1962              "expression": "entity_type",1963              "isExpression": false,1964              "asc": true,1965              "nulls": "last"1966            },1967            {1968              "expression": "entity_id",1969              "isExpression": false,1970              "asc": true,1971              "nulls": "last"1972            }1973          ],1974          "isUnique": false,1975          "concurrently": false,1976          "method": "btree",1977          "with": {}1978        }1979      },1980      "foreignKeys": {},1981      "compositePrimaryKeys": {},1982      "uniqueConstraints": {},1983      "policies": {},1984      "checkConstraints": {},1985      "isRLSEnabled": false1986    },1987    "public.normalized_records": {1988      "name": "normalized_records",1989      "schema": "",1990      "columns": {1991        "id": {1992          "name": "id",1993          "type": "text",1994          "primaryKey": true,1995          "notNull": true1996        },1997        "raw_record_id": {1998          "name": "raw_record_id",1999          "type": "text",2000          "primaryKey": false,2001          "notNull": true2002        },2003        "connector_id": {2004          "name": "connector_id",2005          "type": "text",2006          "primaryKey": false,2007          "notNull": true2008        },2009        "source_id": {2010          "name": "source_id",2011          "type": "text",2012          "primaryKey": false,2013          "notNull": true2014        },2015        "kind": {2016          "name": "kind",2017          "type": "text",2018          "primaryKey": false,2019          "notNull": true2020        },2021        "payload": {2022          "name": "payload",2023          "type": "jsonb",2024          "primaryKey": false,2025          "notNull": true2026        },2027        "seq": {2028          "name": "seq",2029          "type": "integer",2030          "primaryKey": false,2031          "notNull": true,2032          "default": 02033        },2034        "asset_id": {2035          "name": "asset_id",2036          "type": "text",2037          "primaryKey": false,2038          "notNull": false2039        },2040        "variant_id": {2041          "name": "variant_id",2042          "type": "text",2043          "primaryKey": false,2044          "notNull": false2045        },2046        "match_method": {2047          "name": "match_method",2048          "type": "text",2049          "primaryKey": false,2050          "notNull": false2051        },2052        "match_confidence": {2053          "name": "match_confidence",2054          "type": "numeric(8, 6)",2055          "primaryKey": false,2056          "notNull": false2057        },2058        "status": {2059          "name": "status",2060          "type": "text",2061          "primaryKey": false,2062          "notNull": true,2063          "default": "'pending'"2064        },2065        "reject_reason": {2066          "name": "reject_reason",2067          "type": "text",2068          "primaryKey": false,2069          "notNull": false2070        },2071        "target_id": {2072          "name": "target_id",2073          "type": "text",2074          "primaryKey": false,2075          "notNull": false2076        },2077        "created_at": {2078          "name": "created_at",2079          "type": "timestamp with time zone",2080          "primaryKey": false,2081          "notNull": true,2082          "default": "now()"2083        },2084        "processed_at": {2085          "name": "processed_at",2086          "type": "timestamp with time zone",2087          "primaryKey": false,2088          "notNull": false2089        }2090      },2091      "indexes": {2092        "normalized_records_status_idx": {2093          "name": "normalized_records_status_idx",2094          "columns": [2095            {2096              "expression": "status",2097              "isExpression": false,2098              "asc": true,2099              "nulls": "last"2100            },2101            {2102              "expression": "created_at",2103              "isExpression": false,2104              "asc": true,2105              "nulls": "last"2106            }2107          ],2108          "isUnique": false,2109          "concurrently": false,2110          "method": "btree",2111          "with": {}2112        },2113        "normalized_records_status_kind_idx": {2114          "name": "normalized_records_status_kind_idx",2115          "columns": [2116            {2117              "expression": "status",2118              "isExpression": false,2119              "asc": true,2120              "nulls": "last"2121            },2122            {2123              "expression": "kind",2124              "isExpression": false,2125              "asc": true,2126              "nulls": "last"2127            },2128            {2129              "expression": "created_at",2130              "isExpression": false,2131              "asc": true,2132              "nulls": "last"2133            }2134          ],2135          "isUnique": false,2136          "concurrently": false,2137          "method": "btree",2138          "with": {}2139        },2140        "normalized_records_asset_idx": {2141          "name": "normalized_records_asset_idx",2142          "columns": [2143            {2144              "expression": "asset_id",2145              "isExpression": false,2146              "asc": true,2147              "nulls": "last"2148            }2149          ],2150          "isUnique": false,2151          "concurrently": false,2152          "method": "btree",2153          "with": {}2154        },2155        "normalized_records_raw_uq": {2156          "name": "normalized_records_raw_uq",2157          "columns": [2158            {2159              "expression": "raw_record_id",2160              "isExpression": false,2161              "asc": true,2162              "nulls": "last"2163            },2164            {2165              "expression": "kind",2166              "isExpression": false,2167              "asc": true,2168              "nulls": "last"2169            },2170            {2171              "expression": "seq",2172              "isExpression": false,2173              "asc": true,2174              "nulls": "last"2175            }2176          ],2177          "isUnique": true,2178          "concurrently": false,2179          "method": "btree",2180          "with": {}2181        }2182      },2183      "foreignKeys": {},2184      "compositePrimaryKeys": {},2185      "uniqueConstraints": {},2186      "policies": {},2187      "checkConstraints": {},2188      "isRLSEnabled": false2189    },2190    "public.raw_records": {2191      "name": "raw_records",2192      "schema": "",2193      "columns": {2194        "id": {2195          "name": "id",2196          "type": "text",2197          "primaryKey": true,2198          "notNull": true2199        },2200        "connector_id": {2201          "name": "connector_id",2202          "type": "text",2203          "primaryKey": false,2204          "notNull": true2205        },2206        "source_id": {2207          "name": "source_id",2208          "type": "text",2209          "primaryKey": false,2210          "notNull": true2211        },2212        "run_id": {2213          "name": "run_id",2214          "type": "text",2215          "primaryKey": false,2216          "notNull": false2217        },2218        "engine": {2219          "name": "engine",2220          "type": "text",2221          "primaryKey": false,2222          "notNull": true2223        },2224        "url": {2225          "name": "url",2226          "type": "text",2227          "primaryKey": false,2228          "notNull": true2229        },2230        "external_id": {2231          "name": "external_id",2232          "type": "text",2233          "primaryKey": false,2234          "notNull": false2235        },2236        "kind": {2237          "name": "kind",2238          "type": "text",2239          "primaryKey": false,2240          "notNull": true2241        },2242        "fetched_at": {2243          "name": "fetched_at",2244          "type": "timestamp with time zone",2245          "primaryKey": false,2246          "notNull": true2247        },2248        "content_hash": {2249          "name": "content_hash",2250          "type": "text",2251          "primaryKey": false,2252          "notNull": true2253        },2254        "http_status": {2255          "name": "http_status",2256          "type": "integer",2257          "primaryKey": false,2258          "notNull": false2259        },2260        "payload": {2261          "name": "payload",2262          "type": "jsonb",2263          "primaryKey": false,2264          "notNull": true2265        },2266        "snapshot_ref": {2267          "name": "snapshot_ref",2268          "type": "text",2269          "primaryKey": false,2270          "notNull": false2271        },2272        "parser_version": {2273          "name": "parser_version",2274          "type": "text",2275          "primaryKey": false,2276          "notNull": true2277        },2278        "connector_version": {2279          "name": "connector_version",2280          "type": "text",2281          "primaryKey": false,2282          "notNull": true2283        },2284        "processed_at": {2285          "name": "processed_at",2286          "type": "timestamp with time zone",2287          "primaryKey": false,2288          "notNull": false2289        },2290        "process_error": {2291          "name": "process_error",2292          "type": "text",2293          "primaryKey": false,2294          "notNull": false2295        },2296        "created_at": {2297          "name": "created_at",2298          "type": "timestamp with time zone",2299          "primaryKey": false,2300          "notNull": true,2301          "default": "now()"2302        }2303      },2304      "indexes": {2305        "raw_records_connector_hash_uq": {2306          "name": "raw_records_connector_hash_uq",2307          "columns": [2308            {2309              "expression": "connector_id",2310              "isExpression": false,2311              "asc": true,2312              "nulls": "last"2313            },2314            {2315              "expression": "content_hash",2316              "isExpression": false,2317              "asc": true,2318              "nulls": "last"2319            }2320          ],2321          "isUnique": true,2322          "concurrently": false,2323          "method": "btree",2324          "with": {}2325        },2326        "raw_records_connector_fetched_idx": {2327          "name": "raw_records_connector_fetched_idx",2328          "columns": [2329            {2330              "expression": "connector_id",2331              "isExpression": false,2332              "asc": true,2333              "nulls": "last"2334            },2335            {2336              "expression": "fetched_at",2337              "isExpression": false,2338              "asc": true,2339              "nulls": "last"2340            }2341          ],2342          "isUnique": false,2343          "concurrently": false,2344          "method": "btree",2345          "with": {}2346        },2347        "raw_records_unprocessed_idx": {2348          "name": "raw_records_unprocessed_idx",2349          "columns": [2350            {2351              "expression": "processed_at",2352              "isExpression": false,2353              "asc": true,2354              "nulls": "last"2355            }2356          ],2357          "isUnique": false,2358          "concurrently": false,2359          "method": "btree",2360          "with": {}2361        },2362        "raw_records_external_idx": {2363          "name": "raw_records_external_idx",2364          "columns": [2365            {2366              "expression": "connector_id",2367              "isExpression": false,2368              "asc": true,2369              "nulls": "last"2370            },2371            {2372              "expression": "external_id",2373              "isExpression": false,2374              "asc": true,2375              "nulls": "last"2376            }2377          ],2378          "isUnique": false,2379          "concurrently": false,2380          "method": "btree",2381          "with": {}2382        }2383      },2384      "foreignKeys": {},2385      "compositePrimaryKeys": {},2386      "uniqueConstraints": {},2387      "policies": {},2388      "checkConstraints": {},2389      "isRLSEnabled": false2390    },2391    "public.asset_embeddings": {2392      "name": "asset_embeddings",2393      "schema": "",2394      "columns": {2395        "asset_id": {2396          "name": "asset_id",2397          "type": "text",2398          "primaryKey": true,2399          "notNull": true2400        },2401        "model": {2402          "name": "model",2403          "type": "text",2404          "primaryKey": false,2405          "notNull": true2406        },2407        "embedding": {2408          "name": "embedding",2409          "type": "vector(1536)",2410          "primaryKey": false,2411          "notNull": true2412        },2413        "updated_at": {2414          "name": "updated_at",2415          "type": "timestamp with time zone",2416          "primaryKey": false,2417          "notNull": true,2418          "default": "now()"2419        }2420      },2421      "indexes": {},2422      "foreignKeys": {},2423      "compositePrimaryKeys": {},2424      "uniqueConstraints": {},2425      "policies": {},2426      "checkConstraints": {},2427      "isRLSEnabled": false2428    },2429    "public.asset_stats": {2430      "name": "asset_stats",2431      "schema": "",2432      "columns": {2433        "asset_id": {2434          "name": "asset_id",2435          "type": "text",2436          "primaryKey": true,2437          "notNull": true2438        },2439        "riv_usd": {2440          "name": "riv_usd",2441          "type": "numeric(18, 4)",2442          "primaryKey": false,2443          "notNull": false2444        },2445        "riv_low_usd": {2446          "name": "riv_low_usd",2447          "type": "numeric(18, 4)",2448          "primaryKey": false,2449          "notNull": false2450        },2451        "riv_high_usd": {2452          "name": "riv_high_usd",2453          "type": "numeric(18, 4)",2454          "primaryKey": false,2455          "notNull": false2456        },2457        "riv_confidence": {2458          "name": "riv_confidence",2459          "type": "numeric(8, 6)",2460          "primaryKey": false,2461          "notNull": false2462        },2463        "riv_sample_size": {2464          "name": "riv_sample_size",2465          "type": "integer",2466          "primaryKey": false,2467          "notNull": true,2468          "default": 02469        },2470        "riv_variant_id": {2471          "name": "riv_variant_id",2472          "type": "text",2473          "primaryKey": false,2474          "notNull": false2475        },2476        "latest_sale_usd": {2477          "name": "latest_sale_usd",2478          "type": "numeric(18, 4)",2479          "primaryKey": false,2480          "notNull": false2481        },2482        "latest_sale_at": {2483          "name": "latest_sale_at",2484          "type": "timestamp with time zone",2485          "primaryKey": false,2486          "notNull": false2487        },2488        "change_1d": {2489          "name": "change_1d",2490          "type": "numeric(8, 6)",2491          "primaryKey": false,2492          "notNull": false2493        },2494        "change_7d": {2495          "name": "change_7d",2496          "type": "numeric(8, 6)",2497          "primaryKey": false,2498          "notNull": false2499        },2500        "change_30d": {2501          "name": "change_30d",2502          "type": "numeric(8, 6)",2503          "primaryKey": false,2504          "notNull": false2505        },2506        "change_90d": {2507          "name": "change_90d",2508          "type": "numeric(8, 6)",2509          "primaryKey": false,2510          "notNull": false2511        },2512        "change_1y": {2513          "name": "change_1y",2514          "type": "numeric(8, 6)",2515          "primaryKey": false,2516          "notNull": false2517        },2518        "ath_usd": {2519          "name": "ath_usd",2520          "type": "numeric(18, 4)",2521          "primaryKey": false,2522          "notNull": false2523        },2524        "ath_at": {2525          "name": "ath_at",2526          "type": "timestamp with time zone",2527          "primaryKey": false,2528          "notNull": false2529        },2530        "atl_usd": {2531          "name": "atl_usd",2532          "type": "numeric(18, 4)",2533          "primaryKey": false,2534          "notNull": false2535        },2536        "atl_at": {2537          "name": "atl_at",2538          "type": "timestamp with time zone",2539          "primaryKey": false,2540          "notNull": false2541        },2542        "sales_count": {2543          "name": "sales_count",2544          "type": "integer",2545          "primaryKey": false,2546          "notNull": true,2547          "default": 02548        },2549        "sales_30d": {2550          "name": "sales_30d",2551          "type": "integer",2552          "primaryKey": false,2553          "notNull": true,2554          "default": 02555        },2556        "sales_1y": {2557          "name": "sales_1y",2558          "type": "integer",2559          "primaryKey": false,2560          "notNull": true,2561          "default": 02562        },2563        "volume_30d_usd": {2564          "name": "volume_30d_usd",2565          "type": "numeric(18, 4)",2566          "primaryKey": false,2567          "notNull": false2568        },2569        "active_listings": {2570          "name": "active_listings",2571          "type": "integer",2572          "primaryKey": false,2573          "notNull": true,2574          "default": 02575        },2576        "min_ask_usd": {2577          "name": "min_ask_usd",2578          "type": "numeric(18, 4)",2579          "primaryKey": false,2580          "notNull": false2581        },2582        "observations_count": {2583          "name": "observations_count",2584          "type": "integer",2585          "primaryKey": false,2586          "notNull": true,2587          "default": 02588        },2589        "sources_count": {2590          "name": "sources_count",2591          "type": "integer",2592          "primaryKey": false,2593          "notNull": true,2594          "default": 02595        },2596        "liquidity_score": {2597          "name": "liquidity_score",2598          "type": "real",2599          "primaryKey": false,2600          "notNull": false2601        },2602        "rarity_score": {2603          "name": "rarity_score",2604          "type": "real",2605          "primaryKey": false,2606          "notNull": false2607        },2608        "momentum_7d": {2609          "name": "momentum_7d",2610          "type": "real",2611          "primaryKey": false,2612          "notNull": false2613        },2614        "momentum_30d": {2615          "name": "momentum_30d",2616          "type": "real",2617          "primaryKey": false,2618          "notNull": false2619        },2620        "momentum_90d": {2621          "name": "momentum_90d",2622          "type": "real",2623          "primaryKey": false,2624          "notNull": false2625        },2626        "momentum_1y": {2627          "name": "momentum_1y",2628          "type": "real",2629          "primaryKey": false,2630          "notNull": false2631        },2632        "trending_score": {2633          "name": "trending_score",2634          "type": "real",2635          "primaryKey": false,2636          "notNull": false2637        },2638        "value_opportunity": {2639          "name": "value_opportunity",2640          "type": "real",2641          "primaryKey": false,2642          "notNull": false2643        },2644        "data_quality": {2645          "name": "data_quality",2646          "type": "real",2647          "primaryKey": false,2648          "notNull": false2649        },2650        "watchers": {2651          "name": "watchers",2652          "type": "integer",2653          "primaryKey": false,2654          "notNull": true,2655          "default": 02656        },2657        "views_30d": {2658          "name": "views_30d",2659          "type": "integer",2660          "primaryKey": false,2661          "notNull": true,2662          "default": 02663        },2664        "updated_at": {2665          "name": "updated_at",2666          "type": "timestamp with time zone",2667          "primaryKey": false,2668          "notNull": true,2669          "default": "now()"2670        }2671      },2672      "indexes": {2673        "asset_stats_riv_idx": {2674          "name": "asset_stats_riv_idx",2675          "columns": [2676            {2677              "expression": "riv_usd",2678              "isExpression": false,2679              "asc": true,2680              "nulls": "last"2681            }2682          ],2683          "isUnique": false,2684          "concurrently": false,2685          "method": "btree",2686          "with": {}2687        },2688        "asset_stats_trending_idx": {2689          "name": "asset_stats_trending_idx",2690          "columns": [2691            {2692              "expression": "trending_score",2693              "isExpression": false,2694              "asc": true,2695              "nulls": "last"2696            }2697          ],2698          "isUnique": false,2699          "concurrently": false,2700          "method": "btree",2701          "with": {}2702        },2703        "asset_stats_liquidity_idx": {2704          "name": "asset_stats_liquidity_idx",2705          "columns": [2706            {2707              "expression": "liquidity_score",2708              "isExpression": false,2709              "asc": true,2710              "nulls": "last"2711            }2712          ],2713          "isUnique": false,2714          "concurrently": false,2715          "method": "btree",2716          "with": {}2717        }2718      },2719      "foreignKeys": {},2720      "compositePrimaryKeys": {},2721      "uniqueConstraints": {},2722      "policies": {},2723      "checkConstraints": {},2724      "isRLSEnabled": false2725    },2726    "public.asset_variants": {2727      "name": "asset_variants",2728      "schema": "",2729      "columns": {2730        "id": {2731          "name": "id",2732          "type": "text",2733          "primaryKey": true,2734          "notNull": true2735        },2736        "asset_id": {2737          "name": "asset_id",2738          "type": "text",2739          "primaryKey": false,2740          "notNull": true2741        },2742        "variant_key": {2743          "name": "variant_key",2744          "type": "text",2745          "primaryKey": false,2746          "notNull": true2747        },2748        "grader": {2749          "name": "grader",2750          "type": "text",2751          "primaryKey": false,2752          "notNull": false2753        },2754        "grade": {2755          "name": "grade",2756          "type": "text",2757          "primaryKey": false,2758          "notNull": false2759        },2760        "qualifier": {2761          "name": "qualifier",2762          "type": "text",2763          "primaryKey": false,2764          "notNull": false2765        },2766        "condition": {2767          "name": "condition",2768          "type": "text",2769          "primaryKey": false,2770          "notNull": false2771        },2772        "completeness": {2773          "name": "completeness",2774          "type": "text",2775          "primaryKey": false,2776          "notNull": false2777        },2778        "size_label": {2779          "name": "size_label",2780          "type": "text",2781          "primaryKey": false,2782          "notNull": false2783        },2784        "label": {2785          "name": "label",2786          "type": "text",2787          "primaryKey": false,2788          "notNull": true2789        },2790        "is_default": {2791          "name": "is_default",2792          "type": "boolean",2793          "primaryKey": false,2794          "notNull": true,2795          "default": false2796        },2797        "created_at": {2798          "name": "created_at",2799          "type": "timestamp with time zone",2800          "primaryKey": false,2801          "notNull": true,2802          "default": "now()"2803        }2804      },2805      "indexes": {2806        "asset_variants_uq": {2807          "name": "asset_variants_uq",2808          "columns": [2809            {2810              "expression": "asset_id",2811              "isExpression": false,2812              "asc": true,2813              "nulls": "last"2814            },2815            {2816              "expression": "variant_key",2817              "isExpression": false,2818              "asc": true,2819              "nulls": "last"2820            }2821          ],2822          "isUnique": true,2823          "concurrently": false,2824          "method": "btree",2825          "with": {}2826        },2827        "asset_variants_asset_idx": {2828          "name": "asset_variants_asset_idx",2829          "columns": [2830            {2831              "expression": "asset_id",2832              "isExpression": false,2833              "asc": true,2834              "nulls": "last"2835            }2836          ],2837          "isUnique": false,2838          "concurrently": false,2839          "method": "btree",2840          "with": {}2841        }2842      },2843      "foreignKeys": {},2844      "compositePrimaryKeys": {},2845      "uniqueConstraints": {},2846      "policies": {},2847      "checkConstraints": {},2848      "isRLSEnabled": false2849    },2850    "public.assets": {2851      "name": "assets",2852      "schema": "",2853      "columns": {2854        "id": {2855          "name": "id",2856          "type": "text",2857          "primaryKey": true,2858          "notNull": true2859        },2860        "slug": {2861          "name": "slug",2862          "type": "text",2863          "primaryKey": false,2864          "notNull": true2865        },2866        "canonical_key": {2867          "name": "canonical_key",2868          "type": "text",2869          "primaryKey": false,2870          "notNull": true2871        },2872        "category_slug": {2873          "name": "category_slug",2874          "type": "text",2875          "primaryKey": false,2876          "notNull": true2877        },2878        "subcategory_slug": {2879          "name": "subcategory_slug",2880          "type": "text",2881          "primaryKey": false,2882          "notNull": false2883        },2884        "family_slug": {2885          "name": "family_slug",2886          "type": "text",2887          "primaryKey": false,2888          "notNull": true2889        },2890        "franchise": {2891          "name": "franchise",2892          "type": "text",2893          "primaryKey": false,2894          "notNull": false2895        },2896        "brand": {2897          "name": "brand",2898          "type": "text",2899          "primaryKey": false,2900          "notNull": false2901        },2902        "series": {2903          "name": "series",2904          "type": "text",2905          "primaryKey": false,2906          "notNull": false2907        },2908        "set_slug": {2909          "name": "set_slug",2910          "type": "text",2911          "primaryKey": false,2912          "notNull": false2913        },2914        "set_name": {2915          "name": "set_name",2916          "type": "text",2917          "primaryKey": false,2918          "notNull": false2919        },2920        "set_code": {2921          "name": "set_code",2922          "type": "text",2923          "primaryKey": false,2924          "notNull": false2925        },2926        "name": {2927          "name": "name",2928          "type": "text",2929          "primaryKey": false,2930          "notNull": true2931        },2932        "title": {2933          "name": "title",2934          "type": "text",2935          "primaryKey": false,2936          "notNull": true2937        },2938        "model": {2939          "name": "model",2940          "type": "text",2941          "primaryKey": false,2942          "notNull": false2943        },2944        "reference": {2945          "name": "reference",2946          "type": "text",2947          "primaryKey": false,2948          "notNull": false2949        },2950        "number": {2951          "name": "number",2952          "type": "text",2953          "primaryKey": false,2954          "notNull": false2955        },2956        "year": {2957          "name": "year",2958          "type": "integer",2959          "primaryKey": false,2960          "notNull": false2961        },2962        "edition": {2963          "name": "edition",2964          "type": "text",2965          "primaryKey": false,2966          "notNull": false2967        },2968        "variant": {2969          "name": "variant",2970          "type": "text",2971          "primaryKey": false,2972          "notNull": false2973        },2974        "language": {2975          "name": "language",2976          "type": "text",2977          "primaryKey": false,2978          "notNull": false2979        },2980        "region": {2981          "name": "region",2982          "type": "text",2983          "primaryKey": false,2984          "notNull": false2985        },2986        "country": {2987          "name": "country",2988          "type": "text",2989          "primaryKey": false,2990          "notNull": false2991        },2992        "material": {2993          "name": "material",2994          "type": "text",2995          "primaryKey": false,2996          "notNull": false2997        },2998        "size": {2999          "name": "size",3000          "type": "text",3001          "primaryKey": false,3002          "notNull": false3003        },3004        "color": {3005          "name": "color",3006          "type": "text",3007          "primaryKey": false,3008          "notNull": false3009        },3010        "rarity": {3011          "name": "rarity",3012          "type": "text",3013          "primaryKey": false,3014          "notNull": false3015        },3016        "production_quantity": {3017          "name": "production_quantity",3018          "type": "integer",3019          "primaryKey": false,3020          "notNull": false3021        },3022        "original_msrp": {3023          "name": "original_msrp",3024          "type": "numeric(18, 4)",3025          "primaryKey": false,3026          "notNull": false3027        },3028        "original_msrp_currency": {3029          "name": "original_msrp_currency",3030          "type": "text",3031          "primaryKey": false,3032          "notNull": false3033        },3034        "release_date": {3035          "name": "release_date",3036          "type": "text",3037          "primaryKey": false,3038          "notNull": false3039        },3040        "description": {3041          "name": "description",3042          "type": "text",3043          "primaryKey": false,3044          "notNull": false3045        },3046        "hero_image_url": {3047          "name": "hero_image_url",3048          "type": "text",3049          "primaryKey": false,3050          "notNull": false3051        },3052        "identifiers": {3053          "name": "identifiers",3054          "type": "jsonb",3055          "primaryKey": false,3056          "notNull": true,3057          "default": "'{}'::jsonb"3058        },3059        "metadata": {3060          "name": "metadata",3061          "type": "jsonb",3062          "primaryKey": false,3063          "notNull": true,3064          "default": "'{}'::jsonb"3065        },3066        "merged_from": {3067          "name": "merged_from",3068          "type": "text[]",3069          "primaryKey": false,3070          "notNull": true,3071          "default": "'{}'::text[]"3072        },3073        "data_quality": {3074          "name": "data_quality",3075          "type": "real",3076          "primaryKey": false,3077          "notNull": true,3078          "default": 03079        },3080        "verified": {3081          "name": "verified",3082          "type": "boolean",3083          "primaryKey": false,3084          "notNull": true,3085          "default": false3086        },3087        "search": {3088          "name": "search",3089          "type": "tsvector",3090          "primaryKey": false,3091          "notNull": false,3092          "generated": {3093            "as": "setweight(to_tsvector('simple', coalesce(name, '')), 'A') || setweight(to_tsvector('simple', coalesce(set_name, '') || ' ' || coalesce(number, '') || ' ' || coalesce(variant, '') || ' ' || coalesce(edition, '')), 'B') || setweight(to_tsvector('simple', coalesce(brand, '') || ' ' || coalesce(franchise, '') || ' ' || coalesce(reference, '') || ' ' || coalesce(model, '') || ' ' || coalesce(year::text, '') || ' ' || coalesce(category_slug, '')), 'C')",3094            "type": "stored"3095          }3096        },3097        "created_at": {3098          "name": "created_at",3099          "type": "timestamp with time zone",3100          "primaryKey": false,3101          "notNull": true,3102          "default": "now()"3103        },3104        "updated_at": {3105          "name": "updated_at",3106          "type": "timestamp with time zone",3107          "primaryKey": false,3108          "notNull": true,3109          "default": "now()"3110        }3111      },3112      "indexes": {3113        "assets_canonical_key_uq": {3114          "name": "assets_canonical_key_uq",3115          "columns": [3116            {3117              "expression": "canonical_key",3118              "isExpression": false,3119              "asc": true,3120              "nulls": "last"3121            }3122          ],3123          "isUnique": true,3124          "concurrently": false,3125          "method": "btree",3126          "with": {}3127        },3128        "assets_slug_uq": {3129          "name": "assets_slug_uq",3130          "columns": [3131            {3132              "expression": "slug",3133              "isExpression": false,3134              "asc": true,3135              "nulls": "last"3136            }3137          ],3138          "isUnique": true,3139          "concurrently": false,3140          "method": "btree",3141          "with": {}3142        },3143        "assets_category_idx": {3144          "name": "assets_category_idx",3145          "columns": [3146            {3147              "expression": "category_slug",3148              "isExpression": false,3149              "asc": true,3150              "nulls": "last"3151            }3152          ],3153          "isUnique": false,3154          "concurrently": false,3155          "method": "btree",3156          "with": {}3157        },3158        "assets_family_idx": {3159          "name": "assets_family_idx",3160          "columns": [3161            {3162              "expression": "family_slug",3163              "isExpression": false,3164              "asc": true,3165              "nulls": "last"3166            }3167          ],3168          "isUnique": false,3169          "concurrently": false,3170          "method": "btree",3171          "with": {}3172        },3173        "assets_set_idx": {3174          "name": "assets_set_idx",3175          "columns": [3176            {3177              "expression": "set_slug",3178              "isExpression": false,3179              "asc": true,3180              "nulls": "last"3181            }3182          ],3183          "isUnique": false,3184          "concurrently": false,3185          "method": "btree",3186          "with": {}3187        },3188        "assets_search_gin": {3189          "name": "assets_search_gin",3190          "columns": [3191            {3192              "expression": "search",3193              "isExpression": false,3194              "asc": true,3195              "nulls": "last"3196            }3197          ],3198          "isUnique": false,3199          "concurrently": false,3200          "method": "gin",3201          "with": {}3202        },3203        "assets_title_trgm": {3204          "name": "assets_title_trgm",3205          "columns": [3206            {3207              "expression": "\"title\" gin_trgm_ops",3208              "asc": true,3209              "isExpression": true,3210              "nulls": "last"3211            }3212          ],3213          "isUnique": false,3214          "concurrently": false,3215          "method": "gin",3216          "with": {}3217        },3218        "assets_identifiers_gin": {3219          "name": "assets_identifiers_gin",3220          "columns": [3221            {3222              "expression": "identifiers",3223              "isExpression": false,3224              "asc": true,3225              "nulls": "last"3226            }3227          ],3228          "isUnique": false,3229          "concurrently": false,3230          "method": "gin",3231          "with": {}3232        }3233      },3234      "foreignKeys": {},3235      "compositePrimaryKeys": {},3236      "uniqueConstraints": {},3237      "policies": {},3238      "checkConstraints": {},3239      "isRLSEnabled": false3240    },3241    "public.grade_premiums": {3242      "name": "grade_premiums",3243      "schema": "",3244      "columns": {3245        "id": {3246          "name": "id",3247          "type": "text",3248          "primaryKey": true,3249          "notNull": true3250        },3251        "category_slug": {3252          "name": "category_slug",3253          "type": "text",3254          "primaryKey": false,3255          "notNull": true3256        },3257        "grader": {3258          "name": "grader",3259          "type": "text",3260          "primaryKey": false,3261          "notNull": true3262        },3263        "grade": {3264          "name": "grade",3265          "type": "text",3266          "primaryKey": false,3267          "notNull": true3268        },3269        "market_multiplier": {3270          "name": "market_multiplier",3271          "type": "real",3272          "primaryKey": false,3273          "notNull": true3274        },3275        "sample_size": {3276          "name": "sample_size",3277          "type": "integer",3278          "primaryKey": false,3279          "notNull": true3280        },3281        "computed_at": {3282          "name": "computed_at",3283          "type": "timestamp with time zone",3284          "primaryKey": false,3285          "notNull": true3286        }3287      },3288      "indexes": {3289        "grade_premiums_uq": {3290          "name": "grade_premiums_uq",3291          "columns": [3292            {3293              "expression": "category_slug",3294              "isExpression": false,3295              "asc": true,3296              "nulls": "last"3297            },3298            {3299              "expression": "grader",3300              "isExpression": false,3301              "asc": true,3302              "nulls": "last"3303            },3304            {3305              "expression": "grade",3306              "isExpression": false,3307              "asc": true,3308              "nulls": "last"3309            }3310          ],3311          "isUnique": true,3312          "concurrently": false,3313          "method": "btree",3314          "with": {}3315        }3316      },3317      "foreignKeys": {},3318      "compositePrimaryKeys": {},3319      "uniqueConstraints": {},3320      "policies": {},3321      "checkConstraints": {},3322      "isRLSEnabled": false3323    },3324    "public.images": {3325      "name": "images",3326      "schema": "",3327      "columns": {3328        "id": {3329          "name": "id",3330          "type": "text",3331          "primaryKey": true,3332          "notNull": true3333        },3334        "asset_id": {3335          "name": "asset_id",3336          "type": "text",3337          "primaryKey": false,3338          "notNull": false3339        },3340        "listing_id": {3341          "name": "listing_id",3342          "type": "text",3343          "primaryKey": false,3344          "notNull": false3345        },3346        "sale_id": {3347          "name": "sale_id",3348          "type": "text",3349          "primaryKey": false,3350          "notNull": false3351        },3352        "source_id": {3353          "name": "source_id",3354          "type": "text",3355          "primaryKey": false,3356          "notNull": false3357        },3358        "url": {3359          "name": "url",3360          "type": "text",3361          "primaryKey": false,3362          "notNull": true3363        },3364        "role": {3365          "name": "role",3366          "type": "text",3367          "primaryKey": false,3368          "notNull": true,3369          "default": "'gallery'"3370        },3371        "width": {3372          "name": "width",3373          "type": "integer",3374          "primaryKey": false,3375          "notNull": false3376        },3377        "height": {3378          "name": "height",3379          "type": "integer",3380          "primaryKey": false,3381          "notNull": false3382        },3383        "phash": {3384          "name": "phash",3385          "type": "text",3386          "primaryKey": false,3387          "notNull": false3388        },3389        "embedding": {3390          "name": "embedding",3391          "type": "vector(512)",3392          "primaryKey": false,3393          "notNull": false3394        },3395        "attribution": {3396          "name": "attribution",3397          "type": "text",3398          "primaryKey": false,3399          "notNull": false3400        },3401        "status": {3402          "name": "status",3403          "type": "text",3404          "primaryKey": false,3405          "notNull": true,3406          "default": "'unchecked'"3407        },3408        "checked_at": {3409          "name": "checked_at",3410          "type": "timestamp with time zone",3411          "primaryKey": false,3412          "notNull": false3413        },3414        "bytes": {3415          "name": "bytes",3416          "type": "integer",3417          "primaryKey": false,3418          "notNull": false3419        },3420        "content_type": {3421          "name": "content_type",3422          "type": "text",3423          "primaryKey": false,3424          "notNull": false3425        },3426        "cache_key": {3427          "name": "cache_key",3428          "type": "text",3429          "primaryKey": false,3430          "notNull": false3431        },3432        "error": {3433          "name": "error",3434          "type": "text",3435          "primaryKey": false,3436          "notNull": false3437        },3438        "created_at": {3439          "name": "created_at",3440          "type": "timestamp with time zone",3441          "primaryKey": false,3442          "notNull": true,3443          "default": "now()"3444        }3445      },3446      "indexes": {3447        "images_asset_idx": {3448          "name": "images_asset_idx",3449          "columns": [3450            {3451              "expression": "asset_id",3452              "isExpression": false,3453              "asc": true,3454              "nulls": "last"3455            }3456          ],3457          "isUnique": false,3458          "concurrently": false,3459          "method": "btree",3460          "with": {}3461        },3462        "images_phash_idx": {3463          "name": "images_phash_idx",3464          "columns": [3465            {3466              "expression": "phash",3467              "isExpression": false,3468              "asc": true,3469              "nulls": "last"3470            }3471          ],3472          "isUnique": false,3473          "concurrently": false,3474          "method": "btree",3475          "with": {}3476        },3477        "images_url_uq": {3478          "name": "images_url_uq",3479          "columns": [3480            {3481              "expression": "url",3482              "isExpression": false,3483              "asc": true,3484              "nulls": "last"3485            }3486          ],3487          "isUnique": true,3488          "concurrently": false,3489          "method": "btree",3490          "with": {}3491        },3492        "images_cache_key_idx": {3493          "name": "images_cache_key_idx",3494          "columns": [3495            {3496              "expression": "cache_key",3497              "isExpression": false,3498              "asc": true,3499              "nulls": "last"3500            }3501          ],3502          "isUnique": false,3503          "concurrently": false,3504          "method": "btree",3505          "with": {}3506        },3507        "images_status_idx": {3508          "name": "images_status_idx",3509          "columns": [3510            {3511              "expression": "status",3512              "isExpression": false,3513              "asc": true,3514              "nulls": "last"3515            },3516            {3517              "expression": "checked_at",3518              "isExpression": false,3519              "asc": true,3520              "nulls": "last"3521            }3522          ],3523          "isUnique": false,3524          "concurrently": false,3525          "method": "btree",3526          "with": {}3527        }3528      },3529      "foreignKeys": {},3530      "compositePrimaryKeys": {},3531      "uniqueConstraints": {},3532      "policies": {},3533      "checkConstraints": {},3534      "isRLSEnabled": false3535    },3536    "public.population_reports": {3537      "name": "population_reports",3538      "schema": "",3539      "columns": {3540        "id": {3541          "name": "id",3542          "type": "text",3543          "primaryKey": true,3544          "notNull": true3545        },3546        "asset_id": {3547          "name": "asset_id",3548          "type": "text",3549          "primaryKey": false,3550          "notNull": true3551        },3552        "grader": {3553          "name": "grader",3554          "type": "text",3555          "primaryKey": false,3556          "notNull": true3557        },3558        "source_id": {3559          "name": "source_id",3560          "type": "text",3561          "primaryKey": false,3562          "notNull": true3563        },3564        "source_url": {3565          "name": "source_url",3566          "type": "text",3567          "primaryKey": false,3568          "notNull": false3569        },3570        "report_date": {3571          "name": "report_date",3572          "type": "text",3573          "primaryKey": false,3574          "notNull": true3575        },3576        "total": {3577          "name": "total",3578          "type": "integer",3579          "primaryKey": false,3580          "notNull": true3581        },3582        "by_grade": {3583          "name": "by_grade",3584          "type": "jsonb",3585          "primaryKey": false,3586          "notNull": true3587        },3588        "created_at": {3589          "name": "created_at",3590          "type": "timestamp with time zone",3591          "primaryKey": false,3592          "notNull": true,3593          "default": "now()"3594        }3595      },3596      "indexes": {3597        "population_reports_uq": {3598          "name": "population_reports_uq",3599          "columns": [3600            {3601              "expression": "asset_id",3602              "isExpression": false,3603              "asc": true,3604              "nulls": "last"3605            },3606            {3607              "expression": "grader",3608              "isExpression": false,3609              "asc": true,3610              "nulls": "last"3611            },3612            {3613              "expression": "report_date",3614              "isExpression": false,3615              "asc": true,3616              "nulls": "last"3617            }3618          ],3619          "isUnique": true,3620          "concurrently": false,3621          "method": "btree",3622          "with": {}3623        }3624      },3625      "foreignKeys": {},3626      "compositePrimaryKeys": {},3627      "uniqueConstraints": {},3628      "policies": {},3629      "checkConstraints": {},3630      "isRLSEnabled": false3631    },3632    "public.variant_stats": {3633      "name": "variant_stats",3634      "schema": "",3635      "columns": {3636        "variant_id": {3637          "name": "variant_id",3638          "type": "text",3639          "primaryKey": true,3640          "notNull": true3641        },3642        "asset_id": {3643          "name": "asset_id",3644          "type": "text",3645          "primaryKey": false,3646          "notNull": true3647        },3648        "riv_usd": {3649          "name": "riv_usd",3650          "type": "numeric(18, 4)",3651          "primaryKey": false,3652          "notNull": false3653        },3654        "riv_low_usd": {3655          "name": "riv_low_usd",3656          "type": "numeric(18, 4)",3657          "primaryKey": false,3658          "notNull": false3659        },3660        "riv_high_usd": {3661          "name": "riv_high_usd",3662          "type": "numeric(18, 4)",3663          "primaryKey": false,3664          "notNull": false3665        },3666        "riv_confidence": {3667          "name": "riv_confidence",3668          "type": "numeric(8, 6)",3669          "primaryKey": false,3670          "notNull": false3671        },3672        "riv_sample_size": {3673          "name": "riv_sample_size",3674          "type": "integer",3675          "primaryKey": false,3676          "notNull": true,3677          "default": 03678        },3679        "latest_sale_usd": {3680          "name": "latest_sale_usd",3681          "type": "numeric(18, 4)",3682          "primaryKey": false,3683          "notNull": false3684        },3685        "latest_sale_at": {3686          "name": "latest_sale_at",3687          "type": "timestamp with time zone",3688          "primaryKey": false,3689          "notNull": false3690        },3691        "change_30d": {3692          "name": "change_30d",3693          "type": "numeric(8, 6)",3694          "primaryKey": false,3695          "notNull": false3696        },3697        "change_1y": {3698          "name": "change_1y",3699          "type": "numeric(8, 6)",3700          "primaryKey": false,3701          "notNull": false3702        },3703        "sales_count": {3704          "name": "sales_count",3705          "type": "integer",3706          "primaryKey": false,3707          "notNull": true,3708          "default": 03709        },3710        "sales_30d": {3711          "name": "sales_30d",3712          "type": "integer",3713          "primaryKey": false,3714          "notNull": true,3715          "default": 03716        },3717        "active_listings": {3718          "name": "active_listings",3719          "type": "integer",3720          "primaryKey": false,3721          "notNull": true,3722          "default": 03723        },3724        "min_ask_usd": {3725          "name": "min_ask_usd",3726          "type": "numeric(18, 4)",3727          "primaryKey": false,3728          "notNull": false3729        },3730        "liquidity_score": {3731          "name": "liquidity_score",3732          "type": "real",3733          "primaryKey": false,3734          "notNull": false3735        },3736        "updated_at": {3737          "name": "updated_at",3738          "type": "timestamp with time zone",3739          "primaryKey": false,3740          "notNull": true,3741          "default": "now()"3742        }3743      },3744      "indexes": {},3745      "foreignKeys": {},3746      "compositePrimaryKeys": {},3747      "uniqueConstraints": {},3748      "policies": {},3749      "checkConstraints": {},3750      "isRLSEnabled": false3751    },3752    "public.auction_lots": {3753      "name": "auction_lots",3754      "schema": "",3755      "columns": {3756        "id": {3757          "name": "id",3758          "type": "text",3759          "primaryKey": true,3760          "notNull": true3761        },3762        "auction_id": {3763          "name": "auction_id",3764          "type": "text",3765          "primaryKey": false,3766          "notNull": true3767        },3768        "asset_id": {3769          "name": "asset_id",3770          "type": "text",3771          "primaryKey": false,3772          "notNull": false3773        },3774        "variant_id": {3775          "name": "variant_id",3776          "type": "text",3777          "primaryKey": false,3778          "notNull": false3779        },3780        "source_id": {3781          "name": "source_id",3782          "type": "text",3783          "primaryKey": false,3784          "notNull": true3785        },3786        "lot_number": {3787          "name": "lot_number",3788          "type": "text",3789          "primaryKey": false,3790          "notNull": false3791        },3792        "title": {3793          "name": "title",3794          "type": "text",3795          "primaryKey": false,3796          "notNull": true3797        },3798        "url": {3799          "name": "url",3800          "type": "text",3801          "primaryKey": false,3802          "notNull": true3803        },3804        "estimate_low": {3805          "name": "estimate_low",3806          "type": "numeric(18, 4)",3807          "primaryKey": false,3808          "notNull": false3809        },3810        "estimate_high": {3811          "name": "estimate_high",3812          "type": "numeric(18, 4)",3813          "primaryKey": false,3814          "notNull": false3815        },3816        "current_bid": {3817          "name": "current_bid",3818          "type": "numeric(18, 4)",3819          "primaryKey": false,3820          "notNull": false3821        },3822        "hammer_price": {3823          "name": "hammer_price",3824          "type": "numeric(18, 4)",3825          "primaryKey": false,3826          "notNull": false3827        },3828        "currency": {3829          "name": "currency",3830          "type": "text",3831          "primaryKey": false,3832          "notNull": false3833        },3834        "bid_count": {3835          "name": "bid_count",3836          "type": "integer",3837          "primaryKey": false,3838          "notNull": false3839        },3840        "starts_at": {3841          "name": "starts_at",3842          "type": "timestamp with time zone",3843          "primaryKey": false,3844          "notNull": false3845        },3846        "ends_at": {3847          "name": "ends_at",3848          "type": "timestamp with time zone",3849          "primaryKey": false,3850          "notNull": false3851        },3852        "status": {3853          "name": "status",3854          "type": "text",3855          "primaryKey": false,3856          "notNull": true,3857          "default": "'upcoming'"3858        },3859        "image_urls": {3860          "name": "image_urls",3861          "type": "jsonb",3862          "primaryKey": false,3863          "notNull": true,3864          "default": "'[]'::jsonb"3865        },3866        "grader": {3867          "name": "grader",3868          "type": "text",3869          "primaryKey": false,3870          "notNull": false3871        },3872        "grade": {3873          "name": "grade",3874          "type": "text",3875          "primaryKey": false,3876          "notNull": false3877        },3878        "created_at": {3879          "name": "created_at",3880          "type": "timestamp with time zone",3881          "primaryKey": false,3882          "notNull": true,3883          "default": "now()"3884        },3885        "updated_at": {3886          "name": "updated_at",3887          "type": "timestamp with time zone",3888          "primaryKey": false,3889          "notNull": true,3890          "default": "now()"3891        }3892      },3893      "indexes": {3894        "auction_lots_url_uq": {3895          "name": "auction_lots_url_uq",3896          "columns": [3897            {3898              "expression": "url",3899              "isExpression": false,3900              "asc": true,3901              "nulls": "last"3902            }3903          ],3904          "isUnique": true,3905          "concurrently": false,3906          "method": "btree",3907          "with": {}3908        },3909        "auction_lots_auction_idx": {3910          "name": "auction_lots_auction_idx",3911          "columns": [3912            {3913              "expression": "auction_id",3914              "isExpression": false,3915              "asc": true,3916              "nulls": "last"3917            }3918          ],3919          "isUnique": false,3920          "concurrently": false,3921          "method": "btree",3922          "with": {}3923        },3924        "auction_lots_asset_idx": {3925          "name": "auction_lots_asset_idx",3926          "columns": [3927            {3928              "expression": "asset_id",3929              "isExpression": false,3930              "asc": true,3931              "nulls": "last"3932            }3933          ],3934          "isUnique": false,3935          "concurrently": false,3936          "method": "btree",3937          "with": {}3938        },3939        "auction_lots_ends_idx": {3940          "name": "auction_lots_ends_idx",3941          "columns": [3942            {3943              "expression": "ends_at",3944              "isExpression": false,3945              "asc": true,3946              "nulls": "last"3947            }3948          ],3949          "isUnique": false,3950          "concurrently": false,3951          "method": "btree",3952          "with": {}3953        }3954      },3955      "foreignKeys": {},3956      "compositePrimaryKeys": {},3957      "uniqueConstraints": {},3958      "policies": {},3959      "checkConstraints": {},3960      "isRLSEnabled": false3961    },3962    "public.auctions": {3963      "name": "auctions",3964      "schema": "",3965      "columns": {3966        "id": {3967          "name": "id",3968          "type": "text",3969          "primaryKey": true,3970          "notNull": true3971        },3972        "source_id": {3973          "name": "source_id",3974          "type": "text",3975          "primaryKey": false,3976          "notNull": true3977        },3978        "auction_house": {3979          "name": "auction_house",3980          "type": "text",3981          "primaryKey": false,3982          "notNull": true3983        },3984        "name": {3985          "name": "name",3986          "type": "text",3987          "primaryKey": false,3988          "notNull": true3989        },3990        "url": {3991          "name": "url",3992          "type": "text",3993          "primaryKey": false,3994          "notNull": true3995        },3996        "starts_at": {3997          "name": "starts_at",3998          "type": "timestamp with time zone",3999          "primaryKey": false,4000          "notNull": false4001        },4002        "ends_at": {4003          "name": "ends_at",4004          "type": "timestamp with time zone",4005          "primaryKey": false,4006          "notNull": false4007        },4008        "location": {4009          "name": "location",4010          "type": "text",4011          "primaryKey": false,4012          "notNull": false4013        },4014        "category_slugs": {4015          "name": "category_slugs",4016          "type": "text[]",4017          "primaryKey": false,4018          "notNull": true,4019          "default": "'{}'::text[]"4020        },4021        "lot_count": {4022          "name": "lot_count",4023          "type": "integer",4024          "primaryKey": false,4025          "notNull": false4026        },4027        "status": {4028          "name": "status",4029          "type": "text",4030          "primaryKey": false,4031          "notNull": true,4032          "default": "'upcoming'"4033        },4034        "currency": {4035          "name": "currency",4036          "type": "text",4037          "primaryKey": false,4038          "notNull": false4039        },4040        "created_at": {4041          "name": "created_at",4042          "type": "timestamp with time zone",4043          "primaryKey": false,4044          "notNull": true,4045          "default": "now()"4046        },4047        "updated_at": {4048          "name": "updated_at",4049          "type": "timestamp with time zone",4050          "primaryKey": false,4051          "notNull": true,4052          "default": "now()"4053        }4054      },4055      "indexes": {4056        "auctions_url_uq": {4057          "name": "auctions_url_uq",4058          "columns": [4059            {4060              "expression": "url",4061              "isExpression": false,4062              "asc": true,4063              "nulls": "last"4064            }4065          ],4066          "isUnique": true,4067          "concurrently": false,4068          "method": "btree",4069          "with": {}4070        },4071        "auctions_ends_idx": {4072          "name": "auctions_ends_idx",4073          "columns": [4074            {4075              "expression": "ends_at",4076              "isExpression": false,4077              "asc": true,4078              "nulls": "last"4079            }4080          ],4081          "isUnique": false,4082          "concurrently": false,4083          "method": "btree",4084          "with": {}4085        }4086      },4087      "foreignKeys": {},4088      "compositePrimaryKeys": {},4089      "uniqueConstraints": {},4090      "policies": {},4091      "checkConstraints": {},4092      "isRLSEnabled": false4093    },4094    "public.cross_listing_groups": {4095      "name": "cross_listing_groups",4096      "schema": "",4097      "columns": {4098        "id": {4099          "name": "id",4100          "type": "text",4101          "primaryKey": true,4102          "notNull": true4103        },4104        "asset_id": {4105          "name": "asset_id",4106          "type": "text",4107          "primaryKey": false,4108          "notNull": false4109        },4110        "signals": {4111          "name": "signals",4112          "type": "jsonb",4113          "primaryKey": false,4114          "notNull": true,4115          "default": "'{}'::jsonb"4116        },4117        "created_at": {4118          "name": "created_at",4119          "type": "timestamp with time zone",4120          "primaryKey": false,4121          "notNull": true,4122          "default": "now()"4123        }4124      },4125      "indexes": {},4126      "foreignKeys": {},4127      "compositePrimaryKeys": {},4128      "uniqueConstraints": {},4129      "policies": {},4130      "checkConstraints": {},4131      "isRLSEnabled": false4132    },4133    "public.fx_rates": {4134      "name": "fx_rates",4135      "schema": "",4136      "columns": {4137        "date": {4138          "name": "date",4139          "type": "date",4140          "primaryKey": false,4141          "notNull": true4142        },4143        "base": {4144          "name": "base",4145          "type": "text",4146          "primaryKey": false,4147          "notNull": true4148        },4149        "quote": {4150          "name": "quote",4151          "type": "text",4152          "primaryKey": false,4153          "notNull": true4154        },4155        "rate": {4156          "name": "rate",4157          "type": "real",4158          "primaryKey": false,4159          "notNull": true4160        },4161        "source": {4162          "name": "source",4163          "type": "text",4164          "primaryKey": false,4165          "notNull": true,4166          "default": "'ecb'"4167        }4168      },4169      "indexes": {4170        "fx_rates_uq": {4171          "name": "fx_rates_uq",4172          "columns": [4173            {4174              "expression": "date",4175              "isExpression": false,4176              "asc": true,4177              "nulls": "last"4178            },4179            {4180              "expression": "base",4181              "isExpression": false,4182              "asc": true,4183              "nulls": "last"4184            },4185            {4186              "expression": "quote",4187              "isExpression": false,4188              "asc": true,4189              "nulls": "last"4190            }4191          ],4192          "isUnique": true,4193          "concurrently": false,4194          "method": "btree",4195          "with": {}4196        }4197      },4198      "foreignKeys": {},4199      "compositePrimaryKeys": {},4200      "uniqueConstraints": {},4201      "policies": {},4202      "checkConstraints": {},4203      "isRLSEnabled": false4204    },4205    "public.listing_events": {4206      "name": "listing_events",4207      "schema": "",4208      "columns": {4209        "id": {4210          "name": "id",4211          "type": "text",4212          "primaryKey": true,4213          "notNull": true4214        },4215        "listing_id": {4216          "name": "listing_id",4217          "type": "text",4218          "primaryKey": false,4219          "notNull": true4220        },4221        "event_type": {4222          "name": "event_type",4223          "type": "text",4224          "primaryKey": false,4225          "notNull": true4226        },4227        "old_price": {4228          "name": "old_price",4229          "type": "numeric(18, 4)",4230          "primaryKey": false,4231          "notNull": false4232        },4233        "new_price": {4234          "name": "new_price",4235          "type": "numeric(18, 4)",4236          "primaryKey": false,4237          "notNull": false4238        },4239        "currency": {4240          "name": "currency",4241          "type": "text",4242          "primaryKey": false,4243          "notNull": false4244        },4245        "occurred_at": {4246          "name": "occurred_at",4247          "type": "timestamp with time zone",4248          "primaryKey": false,4249          "notNull": true4250        }4251      },4252      "indexes": {4253        "listing_events_listing_idx": {4254          "name": "listing_events_listing_idx",4255          "columns": [4256            {4257              "expression": "listing_id",4258              "isExpression": false,4259              "asc": true,4260              "nulls": "last"4261            },4262            {4263              "expression": "occurred_at",4264              "isExpression": false,4265              "asc": true,4266              "nulls": "last"4267            }4268          ],4269          "isUnique": false,4270          "concurrently": false,4271          "method": "btree",4272          "with": {}4273        }4274      },4275      "foreignKeys": {},4276      "compositePrimaryKeys": {},4277      "uniqueConstraints": {},4278      "policies": {},4279      "checkConstraints": {},4280      "isRLSEnabled": false4281    },4282    "public.listings": {4283      "name": "listings",4284      "schema": "",4285      "columns": {4286        "id": {4287          "name": "id",4288          "type": "text",4289          "primaryKey": true,4290          "notNull": true4291        },4292        "asset_id": {4293          "name": "asset_id",4294          "type": "text",4295          "primaryKey": false,4296          "notNull": true4297        },4298        "variant_id": {4299          "name": "variant_id",4300          "type": "text",4301          "primaryKey": false,4302          "notNull": false4303        },4304        "source_id": {4305          "name": "source_id",4306          "type": "text",4307          "primaryKey": false,4308          "notNull": true4309        },4310        "connector_id": {4311          "name": "connector_id",4312          "type": "text",4313          "primaryKey": false,4314          "notNull": true4315        },4316        "raw_record_id": {4317          "name": "raw_record_id",4318          "type": "text",4319          "primaryKey": false,4320          "notNull": false4321        },4322        "source_url": {4323          "name": "source_url",4324          "type": "text",4325          "primaryKey": false,4326          "notNull": true4327        },4328        "external_id": {4329          "name": "external_id",4330          "type": "text",4331          "primaryKey": false,4332          "notNull": true4333        },4334        "listing_type": {4335          "name": "listing_type",4336          "type": "text",4337          "primaryKey": false,4338          "notNull": true,4339          "default": "'unknown'"4340        },4341        "price": {4342          "name": "price",4343          "type": "numeric(18, 4)",4344          "primaryKey": false,4345          "notNull": false4346        },4347        "currency": {4348          "name": "currency",4349          "type": "text",4350          "primaryKey": false,4351          "notNull": false4352        },4353        "price_usd": {4354          "name": "price_usd",4355          "type": "numeric(18, 4)",4356          "primaryKey": false,4357          "notNull": false4358        },4359        "seller": {4360          "name": "seller",4361          "type": "text",4362          "primaryKey": false,4363          "notNull": false4364        },4365        "seller_reputation": {4366          "name": "seller_reputation",4367          "type": "text",4368          "primaryKey": false,4369          "notNull": false4370        },4371        "location": {4372          "name": "location",4373          "type": "text",4374          "primaryKey": false,4375          "notNull": false4376        },4377        "shipping_cost": {4378          "name": "shipping_cost",4379          "type": "numeric(18, 4)",4380          "primaryKey": false,4381          "notNull": false4382        },4383        "quantity": {4384          "name": "quantity",4385          "type": "integer",4386          "primaryKey": false,4387          "notNull": false4388        },4389        "condition": {4390          "name": "condition",4391          "type": "text",4392          "primaryKey": false,4393          "notNull": false4394        },4395        "grader": {4396          "name": "grader",4397          "type": "text",4398          "primaryKey": false,4399          "notNull": false4400        },4401        "grade": {4402          "name": "grade",4403          "type": "text",4404          "primaryKey": false,4405          "notNull": false4406        },4407        "certification_number": {4408          "name": "certification_number",4409          "type": "text",4410          "primaryKey": false,4411          "notNull": false4412        },4413        "image_urls": {4414          "name": "image_urls",4415          "type": "jsonb",4416          "primaryKey": false,4417          "notNull": true,4418          "default": "'[]'::jsonb"4419        },4420        "raw_title": {4421          "name": "raw_title",4422          "type": "text",4423          "primaryKey": false,4424          "notNull": true4425        },4426        "description": {4427          "name": "description",4428          "type": "text",4429          "primaryKey": false,4430          "notNull": false4431        },4432        "listed_at": {4433          "name": "listed_at",4434          "type": "timestamp with time zone",4435          "primaryKey": false,4436          "notNull": false4437        },4438        "ends_at": {4439          "name": "ends_at",4440          "type": "timestamp with time zone",4441          "primaryKey": false,4442          "notNull": false4443        },4444        "availability": {4445          "name": "availability",4446          "type": "text",4447          "primaryKey": false,4448          "notNull": true,4449          "default": "'available'"4450        },4451        "bid_count": {4452          "name": "bid_count",4453          "type": "integer",4454          "primaryKey": false,4455          "notNull": false4456        },4457        "first_seen_at": {4458          "name": "first_seen_at",4459          "type": "timestamp with time zone",4460          "primaryKey": false,4461          "notNull": true4462        },4463        "last_seen_at": {4464          "name": "last_seen_at",4465          "type": "timestamp with time zone",4466          "primaryKey": false,4467          "notNull": true4468        },4469        "price_changed_at": {4470          "name": "price_changed_at",4471          "type": "timestamp with time zone",4472          "primaryKey": false,4473          "notNull": false4474        },4475        "cross_listing_group_id": {4476          "name": "cross_listing_group_id",4477          "type": "text",4478          "primaryKey": false,4479          "notNull": false4480        },4481        "confidence": {4482          "name": "confidence",4483          "type": "numeric(8, 6)",4484          "primaryKey": false,4485          "notNull": true,4486          "default": 0.84487        },4488        "data_quality": {4489          "name": "data_quality",4490          "type": "real",4491          "primaryKey": false,4492          "notNull": true,4493          "default": 04494        },4495        "flags": {4496          "name": "flags",4497          "type": "text[]",4498          "primaryKey": false,4499          "notNull": true,4500          "default": "'{}'::text[]"4501        },4502        "discount_to_riv": {4503          "name": "discount_to_riv",4504          "type": "numeric(8, 6)",4505          "primaryKey": false,4506          "notNull": false4507        },4508        "created_at": {4509          "name": "created_at",4510          "type": "timestamp with time zone",4511          "primaryKey": false,4512          "notNull": true,4513          "default": "now()"4514        },4515        "updated_at": {4516          "name": "updated_at",4517          "type": "timestamp with time zone",4518          "primaryKey": false,4519          "notNull": true,4520          "default": "now()"4521        }4522      },4523      "indexes": {4524        "listings_source_external_uq": {4525          "name": "listings_source_external_uq",4526          "columns": [4527            {4528              "expression": "source_id",4529              "isExpression": false,4530              "asc": true,4531              "nulls": "last"4532            },4533            {4534              "expression": "external_id",4535              "isExpression": false,4536              "asc": true,4537              "nulls": "last"4538            }4539          ],4540          "isUnique": true,4541          "concurrently": false,4542          "method": "btree",4543          "with": {}4544        },4545        "listings_asset_avail_idx": {4546          "name": "listings_asset_avail_idx",4547          "columns": [4548            {4549              "expression": "asset_id",4550              "isExpression": false,4551              "asc": true,4552              "nulls": "last"4553            },4554            {4555              "expression": "availability",4556              "isExpression": false,4557              "asc": true,4558              "nulls": "last"4559            }4560          ],4561          "isUnique": false,4562          "concurrently": false,4563          "method": "btree",4564          "with": {}4565        },4566        "listings_avail_price_idx": {4567          "name": "listings_avail_price_idx",4568          "columns": [4569            {4570              "expression": "availability",4571              "isExpression": false,4572              "asc": true,4573              "nulls": "last"4574            },4575            {4576              "expression": "price_usd",4577              "isExpression": false,4578              "asc": true,4579              "nulls": "last"4580            }4581          ],4582          "isUnique": false,4583          "concurrently": false,4584          "method": "btree",4585          "with": {}4586        },4587        "listings_ends_idx": {4588          "name": "listings_ends_idx",4589          "columns": [4590            {4591              "expression": "ends_at",4592              "isExpression": false,4593              "asc": true,4594              "nulls": "last"4595            }4596          ],4597          "isUnique": false,4598          "concurrently": false,4599          "method": "btree",4600          "with": {}4601        },4602        "listings_last_seen_idx": {4603          "name": "listings_last_seen_idx",4604          "columns": [4605            {4606              "expression": "last_seen_at",4607              "isExpression": false,4608              "asc": true,4609              "nulls": "last"4610            }4611          ],4612          "isUnique": false,4613          "concurrently": false,4614          "method": "btree",4615          "with": {}4616        }4617      },4618      "foreignKeys": {},4619      "compositePrimaryKeys": {},4620      "uniqueConstraints": {},4621      "policies": {},4622      "checkConstraints": {},4623      "isRLSEnabled": false4624    },4625    "public.news": {4626      "name": "news",4627      "schema": "",4628      "columns": {4629        "id": {4630          "name": "id",4631          "type": "text",4632          "primaryKey": true,4633          "notNull": true4634        },4635        "source_id": {4636          "name": "source_id",4637          "type": "text",4638          "primaryKey": false,4639          "notNull": true4640        },4641        "url": {4642          "name": "url",4643          "type": "text",4644          "primaryKey": false,4645          "notNull": true4646        },4647        "title": {4648          "name": "title",4649          "type": "text",4650          "primaryKey": false,4651          "notNull": true4652        },4653        "summary": {4654          "name": "summary",4655          "type": "text",4656          "primaryKey": false,4657          "notNull": false4658        },4659        "ai_summary": {4660          "name": "ai_summary",4661          "type": "text",4662          "primaryKey": false,4663          "notNull": false4664        },4665        "published_at": {4666          "name": "published_at",4667          "type": "timestamp with time zone",4668          "primaryKey": false,4669          "notNull": false4670        },4671        "category_slugs": {4672          "name": "category_slugs",4673          "type": "text[]",4674          "primaryKey": false,4675          "notNull": true,4676          "default": "'{}'::text[]"4677        },4678        "news_type": {4679          "name": "news_type",4680          "type": "text",4681          "primaryKey": false,4682          "notNull": false4683        },4684        "image_url": {4685          "name": "image_url",4686          "type": "text",4687          "primaryKey": false,4688          "notNull": false4689        },4690        "fetched_at": {4691          "name": "fetched_at",4692          "type": "timestamp with time zone",4693          "primaryKey": false,4694          "notNull": true4695        }4696      },4697      "indexes": {4698        "news_url_uq": {4699          "name": "news_url_uq",4700          "columns": [4701            {4702              "expression": "url",4703              "isExpression": false,4704              "asc": true,4705              "nulls": "last"4706            }4707          ],4708          "isUnique": true,4709          "concurrently": false,4710          "method": "btree",4711          "with": {}4712        },4713        "news_published_idx": {4714          "name": "news_published_idx",4715          "columns": [4716            {4717              "expression": "published_at",4718              "isExpression": false,4719              "asc": true,4720              "nulls": "last"4721            }4722          ],4723          "isUnique": false,4724          "concurrently": false,4725          "method": "btree",4726          "with": {}4727        }4728      },4729      "foreignKeys": {},4730      "compositePrimaryKeys": {},4731      "uniqueConstraints": {},4732      "policies": {},4733      "checkConstraints": {},4734      "isRLSEnabled": false4735    },4736    "public.price_observations": {4737      "name": "price_observations",4738      "schema": "",4739      "columns": {4740        "id": {4741          "name": "id",4742          "type": "text",4743          "primaryKey": true,4744          "notNull": true4745        },4746        "asset_id": {4747          "name": "asset_id",4748          "type": "text",4749          "primaryKey": false,4750          "notNull": true4751        },4752        "variant_id": {4753          "name": "variant_id",4754          "type": "text",4755          "primaryKey": false,4756          "notNull": false4757        },4758        "source_id": {4759          "name": "source_id",4760          "type": "text",4761          "primaryKey": false,4762          "notNull": true4763        },4764        "connector_id": {4765          "name": "connector_id",4766          "type": "text",4767          "primaryKey": false,4768          "notNull": true4769        },4770        "raw_record_id": {4771          "name": "raw_record_id",4772          "type": "text",4773          "primaryKey": false,4774          "notNull": false4775        },4776        "source_url": {4777          "name": "source_url",4778          "type": "text",4779          "primaryKey": false,4780          "notNull": true4781        },4782        "price_kind": {4783          "name": "price_kind",4784          "type": "text",4785          "primaryKey": false,4786          "notNull": true4787        },4788        "price": {4789          "name": "price",4790          "type": "numeric(18, 4)",4791          "primaryKey": false,4792          "notNull": true4793        },4794        "currency": {4795          "name": "currency",4796          "type": "text",4797          "primaryKey": false,4798          "notNull": true4799        },4800        "price_usd": {4801          "name": "price_usd",4802          "type": "numeric(18, 4)",4803          "primaryKey": false,4804          "notNull": true4805        },4806        "observation_date": {4807          "name": "observation_date",4808          "type": "date",4809          "primaryKey": false,4810          "notNull": true4811        },4812        "sample_size": {4813          "name": "sample_size",4814          "type": "integer",4815          "primaryKey": false,4816          "notNull": false4817        },4818        "dedupe_key": {4819          "name": "dedupe_key",4820          "type": "text",4821          "primaryKey": false,4822          "notNull": true4823        },4824        "created_at": {4825          "name": "created_at",4826          "type": "timestamp with time zone",4827          "primaryKey": false,4828          "notNull": true,4829          "default": "now()"4830        }4831      },4832      "indexes": {4833        "price_observations_dedupe_uq": {4834          "name": "price_observations_dedupe_uq",4835          "columns": [4836            {4837              "expression": "dedupe_key",4838              "isExpression": false,4839              "asc": true,4840              "nulls": "last"4841            }4842          ],4843          "isUnique": true,4844          "concurrently": false,4845          "method": "btree",4846          "with": {}4847        },4848        "price_observations_asset_date_idx": {4849          "name": "price_observations_asset_date_idx",4850          "columns": [4851            {4852              "expression": "asset_id",4853              "isExpression": false,4854              "asc": true,4855              "nulls": "last"4856            },4857            {4858              "expression": "observation_date",4859              "isExpression": false,4860              "asc": true,4861              "nulls": "last"4862            }4863          ],4864          "isUnique": false,4865          "concurrently": false,4866          "method": "btree",4867          "with": {}4868        }4869      },4870      "foreignKeys": {},4871      "compositePrimaryKeys": {},4872      "uniqueConstraints": {},4873      "policies": {},4874      "checkConstraints": {},4875      "isRLSEnabled": false4876    },4877    "public.sales": {4878      "name": "sales",4879      "schema": "",4880      "columns": {4881        "id": {4882          "name": "id",4883          "type": "text",4884          "primaryKey": true,4885          "notNull": true4886        },4887        "asset_id": {4888          "name": "asset_id",4889          "type": "text",4890          "primaryKey": false,4891          "notNull": true4892        },4893        "variant_id": {4894          "name": "variant_id",4895          "type": "text",4896          "primaryKey": false,4897          "notNull": false4898        },4899        "source_id": {4900          "name": "source_id",4901          "type": "text",4902          "primaryKey": false,4903          "notNull": true4904        },4905        "connector_id": {4906          "name": "connector_id",4907          "type": "text",4908          "primaryKey": false,4909          "notNull": true4910        },4911        "raw_record_id": {4912          "name": "raw_record_id",4913          "type": "text",4914          "primaryKey": false,4915          "notNull": false4916        },4917        "normalized_record_id": {4918          "name": "normalized_record_id",4919          "type": "text",4920          "primaryKey": false,4921          "notNull": false4922        },4923        "source_url": {4924          "name": "source_url",4925          "type": "text",4926          "primaryKey": false,4927          "notNull": true4928        },4929        "external_id": {4930          "name": "external_id",4931          "type": "text",4932          "primaryKey": false,4933          "notNull": false4934        },4935        "sale_type": {4936          "name": "sale_type",4937          "type": "text",4938          "primaryKey": false,4939          "notNull": true,4940          "default": "'unknown'"4941        },4942        "sale_date": {4943          "name": "sale_date",4944          "type": "timestamp with time zone",4945          "primaryKey": false,4946          "notNull": true4947        },4948        "price": {4949          "name": "price",4950          "type": "numeric(18, 4)",4951          "primaryKey": false,4952          "notNull": true4953        },4954        "currency": {4955          "name": "currency",4956          "type": "text",4957          "primaryKey": false,4958          "notNull": true4959        },4960        "price_usd": {4961          "name": "price_usd",4962          "type": "numeric(18, 4)",4963          "primaryKey": false,4964          "notNull": true4965        },4966        "fx_rate": {4967          "name": "fx_rate",4968          "type": "real",4969          "primaryKey": false,4970          "notNull": false4971        },4972        "fx_date": {4973          "name": "fx_date",4974          "type": "date",4975          "primaryKey": false,4976          "notNull": false4977        },4978        "buyer_premium_included": {4979          "name": "buyer_premium_included",4980          "type": "boolean",4981          "primaryKey": false,4982          "notNull": false4983        },4984        "quantity": {4985          "name": "quantity",4986          "type": "integer",4987          "primaryKey": false,4988          "notNull": true,4989          "default": 14990        },4991        "is_bundle": {4992          "name": "is_bundle",4993          "type": "boolean",4994          "primaryKey": false,4995          "notNull": true,4996          "default": false4997        },4998        "condition": {4999          "name": "condition",5000          "type": "text",5001          "primaryKey": false,5002          "notNull": false5003        },5004        "grader": {5005          "name": "grader",5006          "type": "text",5007          "primaryKey": false,5008          "notNull": false5009        },5010        "grade": {5011          "name": "grade",5012          "type": "text",5013          "primaryKey": false,5014          "notNull": false5015        },5016        "certification_number": {5017          "name": "certification_number",5018          "type": "text",5019          "primaryKey": false,5020          "notNull": false5021        },5022        "location": {5023          "name": "location",5024          "type": "text",5025          "primaryKey": false,5026          "notNull": false5027        },5028        "auction_house": {5029          "name": "auction_house",5030          "type": "text",5031          "primaryKey": false,5032          "notNull": false5033        },5034        "lot_number": {5035          "name": "lot_number",5036          "type": "text",5037          "primaryKey": false,5038          "notNull": false5039        },5040        "image_urls": {5041          "name": "image_urls",5042          "type": "jsonb",5043          "primaryKey": false,5044          "notNull": true,5045          "default": "'[]'::jsonb"5046        },5047        "raw_title": {5048          "name": "raw_title",5049          "type": "text",5050          "primaryKey": false,5051          "notNull": true5052        },5053        "confidence": {5054          "name": "confidence",5055          "type": "numeric(8, 6)",5056          "primaryKey": false,5057          "notNull": true,5058          "default": 0.85059        },5060        "data_quality": {5061          "name": "data_quality",5062          "type": "real",5063          "primaryKey": false,5064          "notNull": true,5065          "default": 05066        },5067        "status": {5068          "name": "status",5069          "type": "text",5070          "primaryKey": false,5071          "notNull": true,5072          "default": "'valid'"5073        },5074        "flags": {5075          "name": "flags",5076          "type": "text[]",5077          "primaryKey": false,5078          "notNull": true,5079          "default": "'{}'::text[]"5080        },5081        "dedupe_key": {5082          "name": "dedupe_key",5083          "type": "text",5084          "primaryKey": false,5085          "notNull": true5086        },5087        "created_at": {5088          "name": "created_at",5089          "type": "timestamp with time zone",5090          "primaryKey": false,5091          "notNull": true,5092          "default": "now()"5093        }5094      },5095      "indexes": {5096        "sales_dedupe_uq": {5097          "name": "sales_dedupe_uq",5098          "columns": [5099            {5100              "expression": "dedupe_key",5101              "isExpression": false,5102              "asc": true,5103              "nulls": "last"5104            }5105          ],5106          "isUnique": true,5107          "concurrently": false,5108          "method": "btree",5109          "with": {}5110        },5111        "sales_asset_date_idx": {5112          "name": "sales_asset_date_idx",5113          "columns": [5114            {5115              "expression": "asset_id",5116              "isExpression": false,5117              "asc": true,5118              "nulls": "last"5119            },5120            {5121              "expression": "sale_date",5122              "isExpression": false,5123              "asc": true,5124              "nulls": "last"5125            }5126          ],5127          "isUnique": false,5128          "concurrently": false,5129          "method": "btree",5130          "with": {}5131        },5132        "sales_variant_date_idx": {5133          "name": "sales_variant_date_idx",5134          "columns": [5135            {5136              "expression": "variant_id",5137              "isExpression": false,5138              "asc": true,5139              "nulls": "last"5140            },5141            {5142              "expression": "sale_date",5143              "isExpression": false,5144              "asc": true,5145              "nulls": "last"5146            }5147          ],5148          "isUnique": false,5149          "concurrently": false,5150          "method": "btree",5151          "with": {}5152        },5153        "sales_source_idx": {5154          "name": "sales_source_idx",5155          "columns": [5156            {5157              "expression": "source_id",5158              "isExpression": false,5159              "asc": true,5160              "nulls": "last"5161            },5162            {5163              "expression": "sale_date",5164              "isExpression": false,5165              "asc": true,5166              "nulls": "last"5167            }5168          ],5169          "isUnique": false,5170          "concurrently": false,5171          "method": "btree",5172          "with": {}5173        },5174        "sales_date_idx": {5175          "name": "sales_date_idx",5176          "columns": [5177            {5178              "expression": "sale_date",5179              "isExpression": false,5180              "asc": true,5181              "nulls": "last"5182            }5183          ],5184          "isUnique": false,5185          "concurrently": false,5186          "method": "btree",5187          "with": {}5188        },5189        "sales_price_idx": {5190          "name": "sales_price_idx",5191          "columns": [5192            {5193              "expression": "price_usd",5194              "isExpression": false,5195              "asc": true,5196              "nulls": "last"5197            }5198          ],5199          "isUnique": false,5200          "concurrently": false,5201          "method": "btree",5202          "with": {}5203        }5204      },5205      "foreignKeys": {},5206      "compositePrimaryKeys": {},5207      "uniqueConstraints": {},5208      "policies": {},5209      "checkConstraints": {},5210      "isRLSEnabled": false5211    },5212    "public.benchmarks": {5213      "name": "benchmarks",5214      "schema": "",5215      "columns": {5216        "ticker": {5217          "name": "ticker",5218          "type": "text",5219          "primaryKey": false,5220          "notNull": true5221        },5222        "date": {5223          "name": "date",5224          "type": "date",5225          "primaryKey": false,5226          "notNull": true5227        },5228        "value": {5229          "name": "value",5230          "type": "real",5231          "primaryKey": false,5232          "notNull": true5233        },5234        "source": {5235          "name": "source",5236          "type": "text",5237          "primaryKey": false,5238          "notNull": true5239        }5240      },5241      "indexes": {},5242      "foreignKeys": {},5243      "compositePrimaryKeys": {5244        "benchmarks_ticker_date_pk": {5245          "name": "benchmarks_ticker_date_pk",5246          "columns": [5247            "ticker",5248            "date"5249          ]5250        }5251      },5252      "uniqueConstraints": {},5253      "policies": {},5254      "checkConstraints": {},5255      "isRLSEnabled": false5256    },5257    "public.category_snapshots": {5258      "name": "category_snapshots",5259      "schema": "",5260      "columns": {5261        "category_slug": {5262          "name": "category_slug",5263          "type": "text",5264          "primaryKey": false,5265          "notNull": true5266        },5267        "date": {5268          "name": "date",5269          "type": "date",5270          "primaryKey": false,5271          "notNull": true5272        },5273        "index_value": {5274          "name": "index_value",5275          "type": "real",5276          "primaryKey": false,5277          "notNull": false5278        },5279        "tracked_assets": {5280          "name": "tracked_assets",5281          "type": "integer",5282          "primaryKey": false,5283          "notNull": true,5284          "default": 05285        },5286        "assets_with_valuation": {5287          "name": "assets_with_valuation",5288          "type": "integer",5289          "primaryKey": false,5290          "notNull": true,5291          "default": 05292        },5293        "sales": {5294          "name": "sales",5295          "type": "integer",5296          "primaryKey": false,5297          "notNull": true,5298          "default": 05299        },5300        "volume_usd": {5301          "name": "volume_usd",5302          "type": "numeric(18, 4)",5303          "primaryKey": false,5304          "notNull": false5305        },5306        "median_sale_usd": {5307          "name": "median_sale_usd",5308          "type": "numeric(18, 4)",5309          "primaryKey": false,5310          "notNull": false5311        },5312        "active_listings": {5313          "name": "active_listings",5314          "type": "integer",5315          "primaryKey": false,5316          "notNull": true,5317          "default": 05318        },5319        "market_cap_est_usd": {5320          "name": "market_cap_est_usd",5321          "type": "numeric(18, 4)",5322          "primaryKey": false,5323          "notNull": false5324        },5325        "liquidity_score": {5326          "name": "liquidity_score",5327          "type": "real",5328          "primaryKey": false,5329          "notNull": false5330        },5331        "change_1d": {5332          "name": "change_1d",5333          "type": "numeric(8, 6)",5334          "primaryKey": false,5335          "notNull": false5336        },5337        "change_7d": {5338          "name": "change_7d",5339          "type": "numeric(8, 6)",5340          "primaryKey": false,5341          "notNull": false5342        },5343        "change_30d": {5344          "name": "change_30d",5345          "type": "numeric(8, 6)",5346          "primaryKey": false,5347          "notNull": false5348        },5349        "change_1y": {5350          "name": "change_1y",5351          "type": "numeric(8, 6)",5352          "primaryKey": false,5353          "notNull": false5354        }5355      },5356      "indexes": {},5357      "foreignKeys": {},5358      "compositePrimaryKeys": {5359        "category_snapshots_category_slug_date_pk": {5360          "name": "category_snapshots_category_slug_date_pk",5361          "columns": [5362            "category_slug",5363            "date"5364          ]5365        }5366      },5367      "uniqueConstraints": {},5368      "policies": {},5369      "checkConstraints": {},5370      "isRLSEnabled": false5371    },5372    "public.correlations": {5373      "name": "correlations",5374      "schema": "",5375      "columns": {5376        "a": {5377          "name": "a",5378          "type": "text",5379          "primaryKey": false,5380          "notNull": true5381        },5382        "b": {5383          "name": "b",5384          "type": "text",5385          "primaryKey": false,5386          "notNull": true5387        },5388        "window_days": {5389          "name": "window_days",5390          "type": "integer",5391          "primaryKey": false,5392          "notNull": true5393        },5394        "coefficient": {5395          "name": "coefficient",5396          "type": "real",5397          "primaryKey": false,5398          "notNull": true5399        },5400        "observations": {5401          "name": "observations",5402          "type": "integer",5403          "primaryKey": false,5404          "notNull": true5405        },5406        "computed_at": {5407          "name": "computed_at",5408          "type": "timestamp with time zone",5409          "primaryKey": false,5410          "notNull": true5411        }5412      },5413      "indexes": {},5414      "foreignKeys": {},5415      "compositePrimaryKeys": {5416        "correlations_a_b_window_days_pk": {5417          "name": "correlations_a_b_window_days_pk",5418          "columns": [5419            "a",5420            "b",5421            "window_days"5422          ]5423        }5424      },5425      "uniqueConstraints": {},5426      "policies": {},5427      "checkConstraints": {},5428      "isRLSEnabled": false5429    },5430    "public.index_constituents": {5431      "name": "index_constituents",5432      "schema": "",5433      "columns": {5434        "index_id": {5435          "name": "index_id",5436          "type": "text",5437          "primaryKey": false,5438          "notNull": true5439        },5440        "asset_id": {5441          "name": "asset_id",5442          "type": "text",5443          "primaryKey": false,5444          "notNull": true5445        },5446        "variant_id": {5447          "name": "variant_id",5448          "type": "text",5449          "primaryKey": false,5450          "notNull": true,5451          "default": "''"5452        },5453        "weight": {5454          "name": "weight",5455          "type": "real",5456          "primaryKey": false,5457          "notNull": true,5458          "default": 15459        },5460        "added_at": {5461          "name": "added_at",5462          "type": "date",5463          "primaryKey": false,5464          "notNull": true5465        },5466        "removed_at": {5467          "name": "removed_at",5468          "type": "date",5469          "primaryKey": false,5470          "notNull": false5471        },5472        "reason": {5473          "name": "reason",5474          "type": "text",5475          "primaryKey": false,5476          "notNull": false5477        }5478      },5479      "indexes": {5480        "index_constituents_asset_idx": {5481          "name": "index_constituents_asset_idx",5482          "columns": [5483            {5484              "expression": "asset_id",5485              "isExpression": false,5486              "asc": true,5487              "nulls": "last"5488            }5489          ],5490          "isUnique": false,5491          "concurrently": false,5492          "method": "btree",5493          "with": {}5494        }5495      },5496      "foreignKeys": {},5497      "compositePrimaryKeys": {5498        "index_constituents_index_id_asset_id_variant_id_added_at_pk": {5499          "name": "index_constituents_index_id_asset_id_variant_id_added_at_pk",5500          "columns": [5501            "index_id",5502            "asset_id",5503            "variant_id",5504            "added_at"5505          ]5506        }5507      },5508      "uniqueConstraints": {},5509      "policies": {},5510      "checkConstraints": {},5511      "isRLSEnabled": false5512    },5513    "public.index_values": {5514      "name": "index_values",5515      "schema": "",5516      "columns": {5517        "index_id": {5518          "name": "index_id",5519          "type": "text",5520          "primaryKey": false,5521          "notNull": true5522        },5523        "date": {5524          "name": "date",5525          "type": "date",5526          "primaryKey": false,5527          "notNull": true5528        },5529        "value": {5530          "name": "value",5531          "type": "real",5532          "primaryKey": false,5533          "notNull": true5534        },5535        "constituents_count": {5536          "name": "constituents_count",5537          "type": "integer",5538          "primaryKey": false,5539          "notNull": true,5540          "default": 05541        },5542        "transactions": {5543          "name": "transactions",5544          "type": "integer",5545          "primaryKey": false,5546          "notNull": true,5547          "default": 05548        },5549        "volume_usd": {5550          "name": "volume_usd",5551          "type": "numeric(18, 4)",5552          "primaryKey": false,5553          "notNull": false5554        },5555        "median_sale_usd": {5556          "name": "median_sale_usd",5557          "type": "numeric(18, 4)",5558          "primaryKey": false,5559          "notNull": false5560        },5561        "avg_sale_usd": {5562          "name": "avg_sale_usd",5563          "type": "numeric(18, 4)",5564          "primaryKey": false,5565          "notNull": false5566        },5567        "market_cap_est_usd": {5568          "name": "market_cap_est_usd",5569          "type": "numeric(18, 4)",5570          "primaryKey": false,5571          "notNull": false5572        },5573        "market_cap_confidence": {5574          "name": "market_cap_confidence",5575          "type": "text",5576          "primaryKey": false,5577          "notNull": false5578        },5579        "liquidity_score": {5580          "name": "liquidity_score",5581          "type": "real",5582          "primaryKey": false,5583          "notNull": false5584        },5585        "momentum": {5586          "name": "momentum",5587          "type": "real",5588          "primaryKey": false,5589          "notNull": false5590        },5591        "breadth": {5592          "name": "breadth",5593          "type": "integer",5594          "primaryKey": false,5595          "notNull": false5596        },5597        "tracked_assets": {5598          "name": "tracked_assets",5599          "type": "integer",5600          "primaryKey": false,5601          "notNull": false5602        },5603        "coverage": {5604          "name": "coverage",5605          "type": "real",5606          "primaryKey": false,5607          "notNull": false5608        }5609      },5610      "indexes": {},5611      "foreignKeys": {},5612      "compositePrimaryKeys": {5613        "index_values_index_id_date_pk": {5614          "name": "index_values_index_id_date_pk",5615          "columns": [5616            "index_id",5617            "date"5618          ]5619        }5620      },5621      "uniqueConstraints": {},5622      "policies": {},5623      "checkConstraints": {},5624      "isRLSEnabled": false5625    },5626    "public.indices": {5627      "name": "indices",5628      "schema": "",5629      "columns": {5630        "id": {5631          "name": "id",5632          "type": "text",5633          "primaryKey": true,5634          "notNull": true5635        },5636        "ticker": {5637          "name": "ticker",5638          "type": "text",5639          "primaryKey": false,5640          "notNull": true5641        },5642        "name": {5643          "name": "name",5644          "type": "text",5645          "primaryKey": false,5646          "notNull": true5647        },5648        "description": {5649          "name": "description",5650          "type": "text",5651          "primaryKey": false,5652          "notNull": false5653        },5654        "category_slugs": {5655          "name": "category_slugs",5656          "type": "text[]",5657          "primaryKey": false,5658          "notNull": true,5659          "default": "'{}'::text[]"5660        },5661        "family_slugs": {5662          "name": "family_slugs",5663          "type": "text[]",5664          "primaryKey": false,5665          "notNull": true,5666          "default": "'{}'::text[]"5667        },5668        "parent_ticker": {5669          "name": "parent_ticker",5670          "type": "text",5671          "primaryKey": false,5672          "notNull": false5673        },5674        "methodology": {5675          "name": "methodology",5676          "type": "text",5677          "primaryKey": false,5678          "notNull": true,5679          "default": "'chain_linked_equal_weight_v1'"5680        },5681        "weighting": {5682          "name": "weighting",5683          "type": "text",5684          "primaryKey": false,5685          "notNull": true,5686          "default": "'equal'"5687        },5688        "base_date": {5689          "name": "base_date",5690          "type": "date",5691          "primaryKey": false,5692          "notNull": true5693        },5694        "base_value": {5695          "name": "base_value",5696          "type": "real",5697          "primaryKey": false,5698          "notNull": true,5699          "default": 10005700        },5701        "min_constituents": {5702          "name": "min_constituents",5703          "type": "integer",5704          "primaryKey": false,5705          "notNull": true,5706          "default": 105707        },5708        "active": {5709          "name": "active",5710          "type": "boolean",5711          "primaryKey": false,5712          "notNull": true,5713          "default": true5714        },5715        "is_flagship": {5716          "name": "is_flagship",5717          "type": "boolean",5718          "primaryKey": false,5719          "notNull": true,5720          "default": false5721        },5722        "color": {5723          "name": "color",5724          "type": "text",5725          "primaryKey": false,5726          "notNull": false5727        },5728        "created_at": {5729          "name": "created_at",5730          "type": "timestamp with time zone",5731          "primaryKey": false,5732          "notNull": true,5733          "default": "now()"5734        }5735      },5736      "indexes": {},5737      "foreignKeys": {},5738      "compositePrimaryKeys": {},5739      "uniqueConstraints": {5740        "indices_ticker_unique": {5741          "name": "indices_ticker_unique",5742          "nullsNotDistinct": false,5743          "columns": [5744            "ticker"5745          ]5746        }5747      },5748      "policies": {},5749      "checkConstraints": {},5750      "isRLSEnabled": false5751    },5752    "public.price_snapshots": {5753      "name": "price_snapshots",5754      "schema": "",5755      "columns": {5756        "asset_id": {5757          "name": "asset_id",5758          "type": "text",5759          "primaryKey": false,5760          "notNull": true5761        },5762        "variant_id": {5763          "name": "variant_id",5764          "type": "text",5765          "primaryKey": false,5766          "notNull": true,5767          "default": "''"5768        },5769        "date": {5770          "name": "date",5771          "type": "date",5772          "primaryKey": false,5773          "notNull": true5774        },5775        "riv_usd": {5776          "name": "riv_usd",5777          "type": "numeric(18, 4)",5778          "primaryKey": false,5779          "notNull": false5780        },5781        "latest_sale_usd": {5782          "name": "latest_sale_usd",5783          "type": "numeric(18, 4)",5784          "primaryKey": false,5785          "notNull": false5786        },5787        "median_usd": {5788          "name": "median_usd",5789          "type": "numeric(18, 4)",5790          "primaryKey": false,5791          "notNull": false5792        },5793        "sales_count": {5794          "name": "sales_count",5795          "type": "integer",5796          "primaryKey": false,5797          "notNull": true,5798          "default": 05799        },5800        "volume_usd": {5801          "name": "volume_usd",5802          "type": "numeric(18, 4)",5803          "primaryKey": false,5804          "notNull": false5805        },5806        "listings_count": {5807          "name": "listings_count",5808          "type": "integer",5809          "primaryKey": false,5810          "notNull": true,5811          "default": 05812        },5813        "min_ask_usd": {5814          "name": "min_ask_usd",5815          "type": "numeric(18, 4)",5816          "primaryKey": false,5817          "notNull": false5818        },5819        "observation_usd": {5820          "name": "observation_usd",5821          "type": "numeric(18, 4)",5822          "primaryKey": false,5823          "notNull": false5824        }5825      },5826      "indexes": {5827        "price_snapshots_date_idx": {5828          "name": "price_snapshots_date_idx",5829          "columns": [5830            {5831              "expression": "date",5832              "isExpression": false,5833              "asc": true,5834              "nulls": "last"5835            }5836          ],5837          "isUnique": false,5838          "concurrently": false,5839          "method": "btree",5840          "with": {}5841        }5842      },5843      "foreignKeys": {},5844      "compositePrimaryKeys": {5845        "price_snapshots_asset_id_variant_id_date_pk": {5846          "name": "price_snapshots_asset_id_variant_id_date_pk",5847          "columns": [5848            "asset_id",5849            "variant_id",5850            "date"5851          ]5852        }5853      },5854      "uniqueConstraints": {},5855      "policies": {},5856      "checkConstraints": {},5857      "isRLSEnabled": false5858    },5859    "public.radar_findings": {5860      "name": "radar_findings",5861      "schema": "",5862      "columns": {5863        "id": {5864          "name": "id",5865          "type": "text",5866          "primaryKey": true,5867          "notNull": true5868        },5869        "asset_id": {5870          "name": "asset_id",5871          "type": "text",5872          "primaryKey": false,5873          "notNull": true5874        },5875        "kind": {5876          "name": "kind",5877          "type": "text",5878          "primaryKey": false,5879          "notNull": true5880        },5881        "score": {5882          "name": "score",5883          "type": "real",5884          "primaryKey": false,5885          "notNull": true5886        },5887        "evidence": {5888          "name": "evidence",5889          "type": "jsonb",5890          "primaryKey": false,5891          "notNull": true,5892          "default": "'{}'::jsonb"5893        },5894        "entity_type": {5895          "name": "entity_type",5896          "type": "text",5897          "primaryKey": false,5898          "notNull": false5899        },5900        "entity_id": {5901          "name": "entity_id",5902          "type": "text",5903          "primaryKey": false,5904          "notNull": false5905        },5906        "detected_at": {5907          "name": "detected_at",5908          "type": "timestamp with time zone",5909          "primaryKey": false,5910          "notNull": true5911        },5912        "expires_at": {5913          "name": "expires_at",5914          "type": "timestamp with time zone",5915          "primaryKey": false,5916          "notNull": false5917        }5918      },5919      "indexes": {5920        "radar_kind_idx": {5921          "name": "radar_kind_idx",5922          "columns": [5923            {5924              "expression": "kind",5925              "isExpression": false,5926              "asc": true,5927              "nulls": "last"5928            },5929            {5930              "expression": "detected_at",5931              "isExpression": false,5932              "asc": true,5933              "nulls": "last"5934            }5935          ],5936          "isUnique": false,5937          "concurrently": false,5938          "method": "btree",5939          "with": {}5940        },5941        "radar_entity_uq": {5942          "name": "radar_entity_uq",5943          "columns": [5944            {5945              "expression": "kind",5946              "isExpression": false,5947              "asc": true,5948              "nulls": "last"5949            },5950            {5951              "expression": "entity_type",5952              "isExpression": false,5953              "asc": true,5954              "nulls": "last"5955            },5956            {5957              "expression": "entity_id",5958              "isExpression": false,5959              "asc": true,5960              "nulls": "last"5961            }5962          ],5963          "isUnique": true,5964          "concurrently": false,5965          "method": "btree",5966          "with": {}5967        }5968      },5969      "foreignKeys": {},5970      "compositePrimaryKeys": {},5971      "uniqueConstraints": {},5972      "policies": {},5973      "checkConstraints": {},5974      "isRLSEnabled": false5975    },5976    "public.valuations": {5977      "name": "valuations",5978      "schema": "",5979      "columns": {5980        "id": {5981          "name": "id",5982          "type": "text",5983          "primaryKey": true,5984          "notNull": true5985        },5986        "asset_id": {5987          "name": "asset_id",5988          "type": "text",5989          "primaryKey": false,5990          "notNull": true5991        },5992        "variant_id": {5993          "name": "variant_id",5994          "type": "text",5995          "primaryKey": false,5996          "notNull": false5997        },5998        "computed_at": {5999          "name": "computed_at",6000          "type": "timestamp with time zone",6001          "primaryKey": false,6002          "notNull": true6003        },6004        "riv_usd": {6005          "name": "riv_usd",6006          "type": "numeric(18, 4)",6007          "primaryKey": false,6008          "notNull": false6009        },6010        "low_usd": {6011          "name": "low_usd",6012          "type": "numeric(18, 4)",6013          "primaryKey": false,6014          "notNull": false6015        },6016        "high_usd": {6017          "name": "high_usd",6018          "type": "numeric(18, 4)",6019          "primaryKey": false,6020          "notNull": false6021        },6022        "confidence": {6023          "name": "confidence",6024          "type": "numeric(8, 6)",6025          "primaryKey": false,6026          "notNull": true,6027          "default": 06028        },6029        "confidence_label": {6030          "name": "confidence_label",6031          "type": "text",6032          "primaryKey": false,6033          "notNull": true,6034          "default": "'insufficient'"6035        },6036        "sample_size": {6037          "name": "sample_size",6038          "type": "integer",6039          "primaryKey": false,6040          "notNull": true,6041          "default": 06042        },6043        "window_days": {6044          "name": "window_days",6045          "type": "integer",6046          "primaryKey": false,6047          "notNull": true,6048          "default": 3656049        },6050        "methods": {6051          "name": "methods",6052          "type": "jsonb",6053          "primaryKey": false,6054          "notNull": true,6055          "default": "'{}'::jsonb"6056        },6057        "sales_used": {6058          "name": "sales_used",6059          "type": "text[]",6060          "primaryKey": false,6061          "notNull": true,6062          "default": "'{}'::text[]"6063        },6064        "observations_used": {6065          "name": "observations_used",6066          "type": "integer",6067          "primaryKey": false,6068          "notNull": true,6069          "default": 06070        },6071        "method": {6072          "name": "method",6073          "type": "text",6074          "primaryKey": false,6075          "notNull": true,6076          "default": "'ensemble_v1'"6077        },6078        "notes": {6079          "name": "notes",6080          "type": "text[]",6081          "primaryKey": false,6082          "notNull": true,6083          "default": "'{}'::text[]"6084        }6085      },6086      "indexes": {6087        "valuations_asset_idx": {6088          "name": "valuations_asset_idx",6089          "columns": [6090            {6091              "expression": "asset_id",6092              "isExpression": false,6093              "asc": true,6094              "nulls": "last"6095            },6096            {6097              "expression": "computed_at",6098              "isExpression": false,6099              "asc": true,6100              "nulls": "last"6101            }6102          ],6103          "isUnique": false,6104          "concurrently": false,6105          "method": "btree",6106          "with": {}6107        },6108        "valuations_variant_idx": {6109          "name": "valuations_variant_idx",6110          "columns": [6111            {6112              "expression": "variant_id",6113              "isExpression": false,6114              "asc": true,6115              "nulls": "last"6116            },6117            {6118              "expression": "computed_at",6119              "isExpression": false,6120              "asc": true,6121              "nulls": "last"6122            }6123          ],6124          "isUnique": false,6125          "concurrently": false,6126          "method": "btree",6127          "with": {}6128        }6129      },6130      "foreignKeys": {},6131      "compositePrimaryKeys": {},6132      "uniqueConstraints": {},6133      "policies": {},6134      "checkConstraints": {},6135      "isRLSEnabled": false6136    },6137    "public.alert_events": {6138      "name": "alert_events",6139      "schema": "",6140      "columns": {6141        "id": {6142          "name": "id",6143          "type": "text",6144          "primaryKey": true,6145          "notNull": true6146        },6147        "alert_id": {6148          "name": "alert_id",6149          "type": "text",6150          "primaryKey": false,6151          "notNull": true6152        },6153        "user_id": {6154          "name": "user_id",6155          "type": "text",6156          "primaryKey": false,6157          "notNull": true6158        },6159        "message": {6160          "name": "message",6161          "type": "text",6162          "primaryKey": false,6163          "notNull": true6164        },6165        "payload": {6166          "name": "payload",6167          "type": "jsonb",6168          "primaryKey": false,6169          "notNull": true,6170          "default": "'{}'::jsonb"6171        },6172        "read_at": {6173          "name": "read_at",6174          "type": "timestamp with time zone",6175          "primaryKey": false,6176          "notNull": false6177        },6178        "created_at": {6179          "name": "created_at",6180          "type": "timestamp with time zone",6181          "primaryKey": false,6182          "notNull": true,6183          "default": "now()"6184        }6185      },6186      "indexes": {6187        "alert_events_user_idx": {6188          "name": "alert_events_user_idx",6189          "columns": [6190            {6191              "expression": "user_id",6192              "isExpression": false,6193              "asc": true,6194              "nulls": "last"6195            },6196            {6197              "expression": "created_at",6198              "isExpression": false,6199              "asc": true,6200              "nulls": "last"6201            }6202          ],6203          "isUnique": false,6204          "concurrently": false,6205          "method": "btree",6206          "with": {}6207        }6208      },6209      "foreignKeys": {},6210      "compositePrimaryKeys": {},6211      "uniqueConstraints": {},6212      "policies": {},6213      "checkConstraints": {},6214      "isRLSEnabled": false6215    },6216    "public.alerts": {6217      "name": "alerts",6218      "schema": "",6219      "columns": {6220        "id": {6221          "name": "id",6222          "type": "text",6223          "primaryKey": true,6224          "notNull": true6225        },6226        "user_id": {6227          "name": "user_id",6228          "type": "text",6229          "primaryKey": false,6230          "notNull": true6231        },6232        "alert_type": {6233          "name": "alert_type",6234          "type": "text",6235          "primaryKey": false,6236          "notNull": true6237        },6238        "target_type": {6239          "name": "target_type",6240          "type": "text",6241          "primaryKey": false,6242          "notNull": true6243        },6244        "target_id": {6245          "name": "target_id",6246          "type": "text",6247          "primaryKey": false,6248          "notNull": true6249        },6250        "threshold": {6251          "name": "threshold",6252          "type": "numeric(18, 4)",6253          "primaryKey": false,6254          "notNull": false6255        },6256        "currency": {6257          "name": "currency",6258          "type": "text",6259          "primaryKey": false,6260          "notNull": false6261        },6262        "params": {6263          "name": "params",6264          "type": "jsonb",6265          "primaryKey": false,6266          "notNull": true,6267          "default": "'{}'::jsonb"6268        },6269        "channel": {6270          "name": "channel",6271          "type": "text",6272          "primaryKey": false,6273          "notNull": true,6274          "default": "'inapp'"6275        },6276        "active": {6277          "name": "active",6278          "type": "boolean",6279          "primaryKey": false,6280          "notNull": true,6281          "default": true6282        },6283        "name": {6284          "name": "name",6285          "type": "text",6286          "primaryKey": false,6287          "notNull": false6288        },6289        "cooldown_minutes": {6290          "name": "cooldown_minutes",6291          "type": "integer",6292          "primaryKey": false,6293          "notNull": true,6294          "default": 14406295        },6296        "last_triggered_at": {6297          "name": "last_triggered_at",6298          "type": "timestamp with time zone",6299          "primaryKey": false,6300          "notNull": false6301        },6302        "trigger_count": {6303          "name": "trigger_count",6304          "type": "integer",6305          "primaryKey": false,6306          "notNull": true,6307          "default": 06308        },6309        "created_at": {6310          "name": "created_at",6311          "type": "timestamp with time zone",6312          "primaryKey": false,6313          "notNull": true,6314          "default": "now()"6315        }6316      },6317      "indexes": {6318        "alerts_user_idx": {6319          "name": "alerts_user_idx",6320          "columns": [6321            {6322              "expression": "user_id",6323              "isExpression": false,6324              "asc": true,6325              "nulls": "last"6326            }6327          ],6328          "isUnique": false,6329          "concurrently": false,6330          "method": "btree",6331          "with": {}6332        },6333        "alerts_target_idx": {6334          "name": "alerts_target_idx",6335          "columns": [6336            {6337              "expression": "target_type",6338              "isExpression": false,6339              "asc": true,6340              "nulls": "last"6341            },6342            {6343              "expression": "target_id",6344              "isExpression": false,6345              "asc": true,6346              "nulls": "last"6347            },6348            {6349              "expression": "active",6350              "isExpression": false,6351              "asc": true,6352              "nulls": "last"6353            }6354          ],6355          "isUnique": false,6356          "concurrently": false,6357          "method": "btree",6358          "with": {}6359        }6360      },6361      "foreignKeys": {},6362      "compositePrimaryKeys": {},6363      "uniqueConstraints": {},6364      "policies": {},6365      "checkConstraints": {},6366      "isRLSEnabled": false6367    },6368    "public.api_keys": {6369      "name": "api_keys",6370      "schema": "",6371      "columns": {6372        "id": {6373          "name": "id",6374          "type": "text",6375          "primaryKey": true,6376          "notNull": true6377        },6378        "user_id": {6379          "name": "user_id",6380          "type": "text",6381          "primaryKey": false,6382          "notNull": false6383        },6384        "name": {6385          "name": "name",6386          "type": "text",6387          "primaryKey": false,6388          "notNull": true6389        },6390        "prefix": {6391          "name": "prefix",6392          "type": "text",6393          "primaryKey": false,6394          "notNull": true6395        },6396        "key_hash": {6397          "name": "key_hash",6398          "type": "text",6399          "primaryKey": false,6400          "notNull": true6401        },6402        "tier": {6403          "name": "tier",6404          "type": "text",6405          "primaryKey": false,6406          "notNull": true,6407          "default": "'free'"6408        },6409        "rate_limit_per_minute": {6410          "name": "rate_limit_per_minute",6411          "type": "integer",6412          "primaryKey": false,6413          "notNull": true,6414          "default": 606415        },6416        "daily_quota": {6417          "name": "daily_quota",6418          "type": "integer",6419          "primaryKey": false,6420          "notNull": true,6421          "default": 10006422        },6423        "created_at": {6424          "name": "created_at",6425          "type": "timestamp with time zone",6426          "primaryKey": false,6427          "notNull": true,6428          "default": "now()"6429        },6430        "last_used_at": {6431          "name": "last_used_at",6432          "type": "timestamp with time zone",6433          "primaryKey": false,6434          "notNull": false6435        },6436        "revoked_at": {6437          "name": "revoked_at",6438          "type": "timestamp with time zone",6439          "primaryKey": false,6440          "notNull": false6441        }6442      },6443      "indexes": {6444        "api_keys_user_idx": {6445          "name": "api_keys_user_idx",6446          "columns": [6447            {6448              "expression": "user_id",6449              "isExpression": false,6450              "asc": true,6451              "nulls": "last"6452            }6453          ],6454          "isUnique": false,6455          "concurrently": false,6456          "method": "btree",6457          "with": {}6458        }6459      },6460      "foreignKeys": {},6461      "compositePrimaryKeys": {},6462      "uniqueConstraints": {6463        "api_keys_key_hash_unique": {6464          "name": "api_keys_key_hash_unique",6465          "nullsNotDistinct": false,6466          "columns": [6467            "key_hash"6468          ]6469        }6470      },6471      "policies": {},6472      "checkConstraints": {},6473      "isRLSEnabled": false6474    },6475    "public.api_usage": {6476      "name": "api_usage",6477      "schema": "",6478      "columns": {6479        "key_id": {6480          "name": "key_id",6481          "type": "text",6482          "primaryKey": false,6483          "notNull": true6484        },6485        "date": {6486          "name": "date",6487          "type": "date",6488          "primaryKey": false,6489          "notNull": true6490        },6491        "endpoint": {6492          "name": "endpoint",6493          "type": "text",6494          "primaryKey": false,6495          "notNull": true6496        },6497        "count": {6498          "name": "count",6499          "type": "integer",6500          "primaryKey": false,6501          "notNull": true,6502          "default": 06503        },6504        "latency_ms_avg": {6505          "name": "latency_ms_avg",6506          "type": "real",6507          "primaryKey": false,6508          "notNull": false6509        }6510      },6511      "indexes": {},6512      "foreignKeys": {},6513      "compositePrimaryKeys": {6514        "api_usage_key_id_date_endpoint_pk": {6515          "name": "api_usage_key_id_date_endpoint_pk",6516          "columns": [6517            "key_id",6518            "date",6519            "endpoint"6520          ]6521        }6522      },6523      "uniqueConstraints": {},6524      "policies": {},6525      "checkConstraints": {},6526      "isRLSEnabled": false6527    },6528    "public.asset_views": {6529      "name": "asset_views",6530      "schema": "",6531      "columns": {6532        "asset_id": {6533          "name": "asset_id",6534          "type": "text",6535          "primaryKey": false,6536          "notNull": true6537        },6538        "date": {6539          "name": "date",6540          "type": "date",6541          "primaryKey": false,6542          "notNull": true6543        },6544        "views": {6545          "name": "views",6546          "type": "integer",6547          "primaryKey": false,6548          "notNull": true,6549          "default": 06550        }6551      },6552      "indexes": {},6553      "foreignKeys": {},6554      "compositePrimaryKeys": {6555        "asset_views_asset_id_date_pk": {6556          "name": "asset_views_asset_id_date_pk",6557          "columns": [6558            "asset_id",6559            "date"6560          ]6561        }6562      },6563      "uniqueConstraints": {},6564      "policies": {},6565      "checkConstraints": {},6566      "isRLSEnabled": false6567    },6568    "public.collection_items": {6569      "name": "collection_items",6570      "schema": "",6571      "columns": {6572        "id": {6573          "name": "id",6574          "type": "text",6575          "primaryKey": true,6576          "notNull": true6577        },6578        "collection_id": {6579          "name": "collection_id",6580          "type": "text",6581          "primaryKey": false,6582          "notNull": true6583        },6584        "asset_id": {6585          "name": "asset_id",6586          "type": "text",6587          "primaryKey": false,6588          "notNull": true6589        },6590        "variant_id": {6591          "name": "variant_id",6592          "type": "text",6593          "primaryKey": false,6594          "notNull": false6595        },6596        "quantity": {6597          "name": "quantity",6598          "type": "integer",6599          "primaryKey": false,6600          "notNull": true,6601          "default": 16602        },6603        "acquired_at": {6604          "name": "acquired_at",6605          "type": "date",6606          "primaryKey": false,6607          "notNull": false6608        },6609        "purchase_price": {6610          "name": "purchase_price",6611          "type": "numeric(18, 4)",6612          "primaryKey": false,6613          "notNull": false6614        },6615        "purchase_currency": {6616          "name": "purchase_currency",6617          "type": "text",6618          "primaryKey": false,6619          "notNull": false6620        },6621        "purchase_price_usd": {6622          "name": "purchase_price_usd",6623          "type": "numeric(18, 4)",6624          "primaryKey": false,6625          "notNull": false6626        },6627        "source": {6628          "name": "source",6629          "type": "text",6630          "primaryKey": false,6631          "notNull": false6632        },6633        "grader": {6634          "name": "grader",6635          "type": "text",6636          "primaryKey": false,6637          "notNull": false6638        },6639        "grade": {6640          "name": "grade",6641          "type": "text",6642          "primaryKey": false,6643          "notNull": false6644        },6645        "certification_number": {6646          "name": "certification_number",6647          "type": "text",6648          "primaryKey": false,6649          "notNull": false6650        },6651        "serial": {6652          "name": "serial",6653          "type": "text",6654          "primaryKey": false,6655          "notNull": false6656        },6657        "photos": {6658          "name": "photos",6659          "type": "jsonb",6660          "primaryKey": false,6661          "notNull": true,6662          "default": "'[]'::jsonb"6663        },6664        "notes": {6665          "name": "notes",6666          "type": "text",6667          "primaryKey": false,6668          "notNull": false6669        },6670        "tags": {6671          "name": "tags",6672          "type": "jsonb",6673          "primaryKey": false,6674          "notNull": true,6675          "default": "'[]'::jsonb"6676        },6677        "condition": {6678          "name": "condition",6679          "type": "text",6680          "primaryKey": false,6681          "notNull": false6682        },6683        "manual_value_usd": {6684          "name": "manual_value_usd",6685          "type": "numeric(18, 4)",6686          "primaryKey": false,6687          "notNull": false6688        },6689        "sold_at": {6690          "name": "sold_at",6691          "type": "date",6692          "primaryKey": false,6693          "notNull": false6694        },6695        "sold_price_usd": {6696          "name": "sold_price_usd",6697          "type": "numeric(18, 4)",6698          "primaryKey": false,6699          "notNull": false6700        },6701        "created_at": {6702          "name": "created_at",6703          "type": "timestamp with time zone",6704          "primaryKey": false,6705          "notNull": true,6706          "default": "now()"6707        },6708        "updated_at": {6709          "name": "updated_at",6710          "type": "timestamp with time zone",6711          "primaryKey": false,6712          "notNull": true,6713          "default": "now()"6714        }6715      },6716      "indexes": {6717        "collection_items_collection_idx": {6718          "name": "collection_items_collection_idx",6719          "columns": [6720            {6721              "expression": "collection_id",6722              "isExpression": false,6723              "asc": true,6724              "nulls": "last"6725            }6726          ],6727          "isUnique": false,6728          "concurrently": false,6729          "method": "btree",6730          "with": {}6731        },6732        "collection_items_asset_idx": {6733          "name": "collection_items_asset_idx",6734          "columns": [6735            {6736              "expression": "asset_id",6737              "isExpression": false,6738              "asc": true,6739              "nulls": "last"6740            }6741          ],6742          "isUnique": false,6743          "concurrently": false,6744          "method": "btree",6745          "with": {}6746        }6747      },6748      "foreignKeys": {},6749      "compositePrimaryKeys": {},6750      "uniqueConstraints": {},6751      "policies": {},6752      "checkConstraints": {},6753      "isRLSEnabled": false6754    },6755    "public.collection_snapshots": {6756      "name": "collection_snapshots",6757      "schema": "",6758      "columns": {6759        "collection_id": {6760          "name": "collection_id",6761          "type": "text",6762          "primaryKey": false,6763          "notNull": true6764        },6765        "date": {6766          "name": "date",6767          "type": "date",6768          "primaryKey": false,6769          "notNull": true6770        },6771        "value_usd": {6772          "name": "value_usd",6773          "type": "numeric(18, 4)",6774          "primaryKey": false,6775          "notNull": true6776        },6777        "cost_basis_usd": {6778          "name": "cost_basis_usd",6779          "type": "numeric(18, 4)",6780          "primaryKey": false,6781          "notNull": true6782        },6783        "items": {6784          "name": "items",6785          "type": "integer",6786          "primaryKey": false,6787          "notNull": true6788        }6789      },6790      "indexes": {},6791      "foreignKeys": {},6792      "compositePrimaryKeys": {6793        "collection_snapshots_collection_id_date_pk": {6794          "name": "collection_snapshots_collection_id_date_pk",6795          "columns": [6796            "collection_id",6797            "date"6798          ]6799        }6800      },6801      "uniqueConstraints": {},6802      "policies": {},6803      "checkConstraints": {},6804      "isRLSEnabled": false6805    },6806    "public.collections": {6807      "name": "collections",6808      "schema": "",6809      "columns": {6810        "id": {6811          "name": "id",6812          "type": "text",6813          "primaryKey": true,6814          "notNull": true6815        },6816        "user_id": {6817          "name": "user_id",6818          "type": "text",6819          "primaryKey": false,6820          "notNull": true6821        },6822        "name": {6823          "name": "name",6824          "type": "text",6825          "primaryKey": false,6826          "notNull": true6827        },6828        "description": {6829          "name": "description",6830          "type": "text",6831          "primaryKey": false,6832          "notNull": false6833        },6834        "is_public": {6835          "name": "is_public",6836          "type": "boolean",6837          "primaryKey": false,6838          "notNull": true,6839          "default": false6840        },6841        "public_slug": {6842          "name": "public_slug",6843          "type": "text",6844          "primaryKey": false,6845          "notNull": false6846        },6847        "kind": {6848          "name": "kind",6849          "type": "text",6850          "primaryKey": false,6851          "notNull": true,6852          "default": "'collection'"6853        },6854        "budget_usd": {6855          "name": "budget_usd",6856          "type": "numeric(18, 4)",6857          "primaryKey": false,6858          "notNull": false6859        },6860        "color": {6861          "name": "color",6862          "type": "text",6863          "primaryKey": false,6864          "notNull": false6865        },6866        "created_at": {6867          "name": "created_at",6868          "type": "timestamp with time zone",6869          "primaryKey": false,6870          "notNull": true,6871          "default": "now()"6872        },6873        "updated_at": {6874          "name": "updated_at",6875          "type": "timestamp with time zone",6876          "primaryKey": false,6877          "notNull": true,6878          "default": "now()"6879        }6880      },6881      "indexes": {6882        "collections_user_idx": {6883          "name": "collections_user_idx",6884          "columns": [6885            {6886              "expression": "user_id",6887              "isExpression": false,6888              "asc": true,6889              "nulls": "last"6890            }6891          ],6892          "isUnique": false,6893          "concurrently": false,6894          "method": "btree",6895          "with": {}6896        },6897        "collections_public_slug_uq": {6898          "name": "collections_public_slug_uq",6899          "columns": [6900            {6901              "expression": "public_slug",6902              "isExpression": false,6903              "asc": true,6904              "nulls": "last"6905            }6906          ],6907          "isUnique": true,6908          "concurrently": false,6909          "method": "btree",6910          "with": {}6911        }6912      },6913      "foreignKeys": {},6914      "compositePrimaryKeys": {},6915      "uniqueConstraints": {},6916      "policies": {},6917      "checkConstraints": {},6918      "isRLSEnabled": false6919    },6920    "public.search_log": {6921      "name": "search_log",6922      "schema": "",6923      "columns": {6924        "id": {6925          "name": "id",6926          "type": "text",6927          "primaryKey": true,6928          "notNull": true6929        },6930        "query": {6931          "name": "query",6932          "type": "text",6933          "primaryKey": false,6934          "notNull": true6935        },6936        "normalized": {6937          "name": "normalized",6938          "type": "text",6939          "primaryKey": false,6940          "notNull": true6941        },6942        "results": {6943          "name": "results",6944          "type": "integer",6945          "primaryKey": false,6946          "notNull": true6947        },6948        "user_id": {6949          "name": "user_id",6950          "type": "text",6951          "primaryKey": false,6952          "notNull": false6953        },6954        "created_at": {6955          "name": "created_at",6956          "type": "timestamp with time zone",6957          "primaryKey": false,6958          "notNull": true,6959          "default": "now()"6960        }6961      },6962      "indexes": {6963        "search_log_created_idx": {6964          "name": "search_log_created_idx",6965          "columns": [6966            {6967              "expression": "created_at",6968              "isExpression": false,6969              "asc": true,6970              "nulls": "last"6971            }6972          ],6973          "isUnique": false,6974          "concurrently": false,6975          "method": "btree",6976          "with": {}6977        },6978        "search_log_normalized_idx": {6979          "name": "search_log_normalized_idx",6980          "columns": [6981            {6982              "expression": "normalized",6983              "isExpression": false,6984              "asc": true,6985              "nulls": "last"6986            }6987          ],6988          "isUnique": false,6989          "concurrently": false,6990          "method": "btree",6991          "with": {}6992        }6993      },6994      "foreignKeys": {},6995      "compositePrimaryKeys": {},6996      "uniqueConstraints": {},6997      "policies": {},6998      "checkConstraints": {},6999      "isRLSEnabled": false7000    },7001    "public.sessions": {7002      "name": "sessions",7003      "schema": "",7004      "columns": {7005        "id": {7006          "name": "id",7007          "type": "text",7008          "primaryKey": true,7009          "notNull": true7010        },7011        "user_id": {7012          "name": "user_id",7013          "type": "text",7014          "primaryKey": false,7015          "notNull": true7016        },7017        "expires_at": {7018          "name": "expires_at",7019          "type": "timestamp with time zone",7020          "primaryKey": false,7021          "notNull": true7022        },7023        "user_agent": {7024          "name": "user_agent",7025          "type": "text",7026          "primaryKey": false,7027          "notNull": false7028        },7029        "ip": {7030          "name": "ip",7031          "type": "text",7032          "primaryKey": false,7033          "notNull": false7034        },7035        "last_seen_at": {7036          "name": "last_seen_at",7037          "type": "timestamp with time zone",7038          "primaryKey": false,7039          "notNull": false7040        },7041        "revoked_at": {7042          "name": "revoked_at",7043          "type": "timestamp with time zone",7044          "primaryKey": false,7045          "notNull": false7046        },7047        "created_at": {7048          "name": "created_at",7049          "type": "timestamp with time zone",7050          "primaryKey": false,7051          "notNull": true,7052          "default": "now()"7053        }7054      },7055      "indexes": {7056        "sessions_user_idx": {7057          "name": "sessions_user_idx",7058          "columns": [7059            {7060              "expression": "user_id",7061              "isExpression": false,7062              "asc": true,7063              "nulls": "last"7064            }7065          ],7066          "isUnique": false,7067          "concurrently": false,7068          "method": "btree",7069          "with": {}7070        }7071      },7072      "foreignKeys": {},7073      "compositePrimaryKeys": {},7074      "uniqueConstraints": {},7075      "policies": {},7076      "checkConstraints": {},7077      "isRLSEnabled": false7078    },7079    "public.users": {7080      "name": "users",7081      "schema": "",7082      "columns": {7083        "id": {7084          "name": "id",7085          "type": "text",7086          "primaryKey": true,7087          "notNull": true7088        },7089        "email": {7090          "name": "email",7091          "type": "text",7092          "primaryKey": false,7093          "notNull": true7094        },7095        "email_verified_at": {7096          "name": "email_verified_at",7097          "type": "timestamp with time zone",7098          "primaryKey": false,7099          "notNull": false7100        },7101        "password_hash": {7102          "name": "password_hash",7103          "type": "text",7104          "primaryKey": false,7105          "notNull": false7106        },7107        "name": {7108          "name": "name",7109          "type": "text",7110          "primaryKey": false,7111          "notNull": false7112        },7113        "role": {7114          "name": "role",7115          "type": "text",7116          "primaryKey": false,7117          "notNull": true,7118          "default": "'user'"7119        },7120        "display_currency": {7121          "name": "display_currency",7122          "type": "text",7123          "primaryKey": false,7124          "notNull": true,7125          "default": "'USD'"7126        },7127        "providers": {7128          "name": "providers",7129          "type": "jsonb",7130          "primaryKey": false,7131          "notNull": true,7132          "default": "'[]'::jsonb"7133        },7134        "preferences": {7135          "name": "preferences",7136          "type": "jsonb",7137          "primaryKey": false,7138          "notNull": true,7139          "default": "'{}'::jsonb"7140        },7141        "handle": {7142          "name": "handle",7143          "type": "text",7144          "primaryKey": false,7145          "notNull": false7146        },7147        "avatar_url": {7148          "name": "avatar_url",7149          "type": "text",7150          "primaryKey": false,7151          "notNull": false7152        },7153        "bio": {7154          "name": "bio",7155          "type": "text",7156          "primaryKey": false,7157          "notNull": false7158        },7159        "mfa_enabled": {7160          "name": "mfa_enabled",7161          "type": "boolean",7162          "primaryKey": false,7163          "notNull": true,7164          "default": false7165        },7166        "totp_secret_enc": {7167          "name": "totp_secret_enc",7168          "type": "text",7169          "primaryKey": false,7170          "notNull": false7171        },7172        "always_ask_code": {7173          "name": "always_ask_code",7174          "type": "boolean",7175          "primaryKey": false,7176          "notNull": true,7177          "default": true7178        },7179        "password_changed_at": {7180          "name": "password_changed_at",7181          "type": "timestamp with time zone",7182          "primaryKey": false,7183          "notNull": false7184        },7185        "pending_email": {7186          "name": "pending_email",7187          "type": "text",7188          "primaryKey": false,7189          "notNull": false7190        },7191        "deleted_at": {7192          "name": "deleted_at",7193          "type": "timestamp with time zone",7194          "primaryKey": false,7195          "notNull": false7196        },7197        "purge_after": {7198          "name": "purge_after",7199          "type": "timestamp with time zone",7200          "primaryKey": false,7201          "notNull": false7202        },7203        "created_at": {7204          "name": "created_at",7205          "type": "timestamp with time zone",7206          "primaryKey": false,7207          "notNull": true,7208          "default": "now()"7209        },7210        "last_login_at": {7211          "name": "last_login_at",7212          "type": "timestamp with time zone",7213          "primaryKey": false,7214          "notNull": false7215        }7216      },7217      "indexes": {},7218      "foreignKeys": {},7219      "compositePrimaryKeys": {},7220      "uniqueConstraints": {7221        "users_email_unique": {7222          "name": "users_email_unique",7223          "nullsNotDistinct": false,7224          "columns": [7225            "email"7226          ]7227        },7228        "users_handle_unique": {7229          "name": "users_handle_unique",7230          "nullsNotDistinct": false,7231          "columns": [7232            "handle"7233          ]7234        }7235      },7236      "policies": {},7237      "checkConstraints": {},7238      "isRLSEnabled": false7239    },7240    "public.watchlist_items": {7241      "name": "watchlist_items",7242      "schema": "",7243      "columns": {7244        "id": {7245          "name": "id",7246          "type": "text",7247          "primaryKey": true,7248          "notNull": true7249        },7250        "watchlist_id": {7251          "name": "watchlist_id",7252          "type": "text",7253          "primaryKey": false,7254          "notNull": true7255        },7256        "target_type": {7257          "name": "target_type",7258          "type": "text",7259          "primaryKey": false,7260          "notNull": true7261        },7262        "target_id": {7263          "name": "target_id",7264          "type": "text",7265          "primaryKey": false,7266          "notNull": true7267        },7268        "label": {7269          "name": "label",7270          "type": "text",7271          "primaryKey": false,7272          "notNull": false7273        },7274        "note": {7275          "name": "note",7276          "type": "text",7277          "primaryKey": false,7278          "notNull": false7279        },7280        "target_price_usd": {7281          "name": "target_price_usd",7282          "type": "numeric(18, 4)",7283          "primaryKey": false,7284          "notNull": false7285        },7286        "baseline_usd": {7287          "name": "baseline_usd",7288          "type": "numeric(18, 4)",7289          "primaryKey": false,7290          "notNull": false7291        },7292        "created_at": {7293          "name": "created_at",7294          "type": "timestamp with time zone",7295          "primaryKey": false,7296          "notNull": true,7297          "default": "now()"7298        }7299      },7300      "indexes": {7301        "watchlist_items_uq": {7302          "name": "watchlist_items_uq",7303          "columns": [7304            {7305              "expression": "watchlist_id",7306              "isExpression": false,7307              "asc": true,7308              "nulls": "last"7309            },7310            {7311              "expression": "target_type",7312              "isExpression": false,7313              "asc": true,7314              "nulls": "last"7315            },7316            {7317              "expression": "target_id",7318              "isExpression": false,7319              "asc": true,7320              "nulls": "last"7321            }7322          ],7323          "isUnique": true,7324          "concurrently": false,7325          "method": "btree",7326          "with": {}7327        }7328      },7329      "foreignKeys": {},7330      "compositePrimaryKeys": {},7331      "uniqueConstraints": {},7332      "policies": {},7333      "checkConstraints": {},7334      "isRLSEnabled": false7335    },7336    "public.watchlists": {7337      "name": "watchlists",7338      "schema": "",7339      "columns": {7340        "id": {7341          "name": "id",7342          "type": "text",7343          "primaryKey": true,7344          "notNull": true7345        },7346        "user_id": {7347          "name": "user_id",7348          "type": "text",7349          "primaryKey": false,7350          "notNull": true7351        },7352        "name": {7353          "name": "name",7354          "type": "text",7355          "primaryKey": false,7356          "notNull": true,7357          "default": "'Watchlist'"7358        },7359        "created_at": {7360          "name": "created_at",7361          "type": "timestamp with time zone",7362          "primaryKey": false,7363          "notNull": true,7364          "default": "now()"7365        }7366      },7367      "indexes": {7368        "watchlists_user_idx": {7369          "name": "watchlists_user_idx",7370          "columns": [7371            {7372              "expression": "user_id",7373              "isExpression": false,7374              "asc": true,7375              "nulls": "last"7376            }7377          ],7378          "isUnique": false,7379          "concurrently": false,7380          "method": "btree",7381          "with": {}7382        }7383      },7384      "foreignKeys": {},7385      "compositePrimaryKeys": {},7386      "uniqueConstraints": {},7387      "policies": {},7388      "checkConstraints": {},7389      "isRLSEnabled": false7390    },7391    "public.ai_quotas": {7392      "name": "ai_quotas",7393      "schema": "",7394      "columns": {7395        "key": {7396          "name": "key",7397          "type": "text",7398          "primaryKey": false,7399          "notNull": true7400        },7401        "feature": {7402          "name": "feature",7403          "type": "text",7404          "primaryKey": false,7405          "notNull": true7406        },7407        "date": {7408          "name": "date",7409          "type": "text",7410          "primaryKey": false,7411          "notNull": true7412        },7413        "count": {7414          "name": "count",7415          "type": "integer",7416          "primaryKey": false,7417          "notNull": true,7418          "default": 07419        }7420      },7421      "indexes": {7422        "ai_quotas_uq": {7423          "name": "ai_quotas_uq",7424          "columns": [7425            {7426              "expression": "key",7427              "isExpression": false,7428              "asc": true,7429              "nulls": "last"7430            },7431            {7432              "expression": "feature",7433              "isExpression": false,7434              "asc": true,7435              "nulls": "last"7436            },7437            {7438              "expression": "date",7439              "isExpression": false,7440              "asc": true,7441              "nulls": "last"7442            }7443          ],7444          "isUnique": false,7445          "concurrently": false,7446          "method": "btree",7447          "with": {}7448        }7449      },7450      "foreignKeys": {},7451      "compositePrimaryKeys": {},7452      "uniqueConstraints": {},7453      "policies": {},7454      "checkConstraints": {},7455      "isRLSEnabled": false7456    },7457    "public.research_messages": {7458      "name": "research_messages",7459      "schema": "",7460      "columns": {7461        "id": {7462          "name": "id",7463          "type": "text",7464          "primaryKey": true,7465          "notNull": true7466        },7467        "session_id": {7468          "name": "session_id",7469          "type": "text",7470          "primaryKey": false,7471          "notNull": true7472        },7473        "role": {7474          "name": "role",7475          "type": "text",7476          "primaryKey": false,7477          "notNull": true7478        },7479        "content": {7480          "name": "content",7481          "type": "text",7482          "primaryKey": false,7483          "notNull": true7484        },7485        "tool_calls": {7486          "name": "tool_calls",7487          "type": "jsonb",7488          "primaryKey": false,7489          "notNull": true,7490          "default": "'[]'::jsonb"7491        },7492        "usage": {7493          "name": "usage",7494          "type": "jsonb",7495          "primaryKey": false,7496          "notNull": true,7497          "default": "'{}'::jsonb"7498        },7499        "usd_est": {7500          "name": "usd_est",7501          "type": "real",7502          "primaryKey": false,7503          "notNull": true,7504          "default": 07505        },7506        "model": {7507          "name": "model",7508          "type": "text",7509          "primaryKey": false,7510          "notNull": false7511        },7512        "created_at": {7513          "name": "created_at",7514          "type": "timestamp with time zone",7515          "primaryKey": false,7516          "notNull": true,7517          "default": "now()"7518        }7519      },7520      "indexes": {7521        "research_messages_session_idx": {7522          "name": "research_messages_session_idx",7523          "columns": [7524            {7525              "expression": "session_id",7526              "isExpression": false,7527              "asc": true,7528              "nulls": "last"7529            },7530            {7531              "expression": "created_at",7532              "isExpression": false,7533              "asc": true,7534              "nulls": "last"7535            }7536          ],7537          "isUnique": false,7538          "concurrently": false,7539          "method": "btree",7540          "with": {}7541        }7542      },7543      "foreignKeys": {},7544      "compositePrimaryKeys": {},7545      "uniqueConstraints": {},7546      "policies": {},7547      "checkConstraints": {},7548      "isRLSEnabled": false7549    },7550    "public.research_sessions": {7551      "name": "research_sessions",7552      "schema": "",7553      "columns": {7554        "id": {7555          "name": "id",7556          "type": "text",7557          "primaryKey": true,7558          "notNull": true7559        },7560        "user_id": {7561          "name": "user_id",7562          "type": "text",7563          "primaryKey": false,7564          "notNull": false7565        },7566        "anon_id": {7567          "name": "anon_id",7568          "type": "text",7569          "primaryKey": false,7570          "notNull": false7571        },7572        "title": {7573          "name": "title",7574          "type": "text",7575          "primaryKey": false,7576          "notNull": false7577        },7578        "model": {7579          "name": "model",7580          "type": "text",7581          "primaryKey": false,7582          "notNull": false7583        },7584        "message_count": {7585          "name": "message_count",7586          "type": "integer",7587          "primaryKey": false,7588          "notNull": true,7589          "default": 07590        },7591        "usd_est": {7592          "name": "usd_est",7593          "type": "real",7594          "primaryKey": false,7595          "notNull": true,7596          "default": 07597        },7598        "archived": {7599          "name": "archived",7600          "type": "boolean",7601          "primaryKey": false,7602          "notNull": true,7603          "default": false7604        },7605        "created_at": {7606          "name": "created_at",7607          "type": "timestamp with time zone",7608          "primaryKey": false,7609          "notNull": true,7610          "default": "now()"7611        },7612        "updated_at": {7613          "name": "updated_at",7614          "type": "timestamp with time zone",7615          "primaryKey": false,7616          "notNull": true,7617          "default": "now()"7618        }7619      },7620      "indexes": {7621        "research_sessions_anon_idx": {7622          "name": "research_sessions_anon_idx",7623          "columns": [7624            {7625              "expression": "anon_id",7626              "isExpression": false,7627              "asc": true,7628              "nulls": "last"7629            },7630            {7631              "expression": "updated_at",7632              "isExpression": false,7633              "asc": true,7634              "nulls": "last"7635            }7636          ],7637          "isUnique": false,7638          "concurrently": false,7639          "method": "btree",7640          "with": {}7641        },7642        "research_sessions_user_idx": {7643          "name": "research_sessions_user_idx",7644          "columns": [7645            {7646              "expression": "user_id",7647              "isExpression": false,7648              "asc": true,7649              "nulls": "last"7650            },7651            {7652              "expression": "updated_at",7653              "isExpression": false,7654              "asc": true,7655              "nulls": "last"7656            }7657          ],7658          "isUnique": false,7659          "concurrently": false,7660          "method": "btree",7661          "with": {}7662        }7663      },7664      "foreignKeys": {},7665      "compositePrimaryKeys": {},7666      "uniqueConstraints": {},7667      "policies": {},7668      "checkConstraints": {},7669      "isRLSEnabled": false7670    },7671    "public.scanner_sessions": {7672      "name": "scanner_sessions",7673      "schema": "",7674      "columns": {7675        "id": {7676          "name": "id",7677          "type": "text",7678          "primaryKey": true,7679          "notNull": true7680        },7681        "user_id": {7682          "name": "user_id",7683          "type": "text",7684          "primaryKey": false,7685          "notNull": false7686        },7687        "anon_id": {7688          "name": "anon_id",7689          "type": "text",7690          "primaryKey": false,7691          "notNull": false7692        },7693        "ip_hash": {7694          "name": "ip_hash",7695          "type": "text",7696          "primaryKey": false,7697          "notNull": false7698        },7699        "mode": {7700          "name": "mode",7701          "type": "text",7702          "primaryKey": false,7703          "notNull": true7704        },7705        "input_url": {7706          "name": "input_url",7707          "type": "text",7708          "primaryKey": false,7709          "notNull": false7710        },7711        "input_text": {7712          "name": "input_text",7713          "type": "text",7714          "primaryKey": false,7715          "notNull": false7716        },7717        "image_count": {7718          "name": "image_count",7719          "type": "integer",7720          "primaryKey": false,7721          "notNull": true,7722          "default": 07723        },7724        "thumbnails": {7725          "name": "thumbnails",7726          "type": "jsonb",7727          "primaryKey": false,7728          "notNull": true,7729          "default": "'[]'::jsonb"7730        },7731        "guess": {7732          "name": "guess",7733          "type": "jsonb",7734          "primaryKey": false,7735          "notNull": true,7736          "default": "'{}'::jsonb"7737        },7738        "guess_confidence": {7739          "name": "guess_confidence",7740          "type": "real",7741          "primaryKey": false,7742          "notNull": false7743        },7744        "candidates": {7745          "name": "candidates",7746          "type": "jsonb",7747          "primaryKey": false,7748          "notNull": true,7749          "default": "'[]'::jsonb"7750        },7751        "chosen_asset_id": {7752          "name": "chosen_asset_id",7753          "type": "text",7754          "primaryKey": false,7755          "notNull": false7756        },7757        "listing": {7758          "name": "listing",7759          "type": "jsonb",7760          "primaryKey": false,7761          "notNull": true,7762          "default": "'{}'::jsonb"7763        },7764        "model": {7765          "name": "model",7766          "type": "text",7767          "primaryKey": false,7768          "notNull": false7769        },7770        "usd_est": {7771          "name": "usd_est",7772          "type": "real",7773          "primaryKey": false,7774          "notNull": true,7775          "default": 07776        },7777        "duration_ms": {7778          "name": "duration_ms",7779          "type": "integer",7780          "primaryKey": false,7781          "notNull": false7782        },7783        "error": {7784          "name": "error",7785          "type": "text",7786          "primaryKey": false,7787          "notNull": false7788        },7789        "created_at": {7790          "name": "created_at",7791          "type": "timestamp with time zone",7792          "primaryKey": false,7793          "notNull": true,7794          "default": "now()"7795        },7796        "chosen_at": {7797          "name": "chosen_at",7798          "type": "timestamp with time zone",7799          "primaryKey": false,7800          "notNull": false7801        }7802      },7803      "indexes": {7804        "scanner_sessions_created_idx": {7805          "name": "scanner_sessions_created_idx",7806          "columns": [7807            {7808              "expression": "created_at",7809              "isExpression": false,7810              "asc": true,7811              "nulls": "last"7812            }7813          ],7814          "isUnique": false,7815          "concurrently": false,7816          "method": "btree",7817          "with": {}7818        },7819        "scanner_sessions_ip_idx": {7820          "name": "scanner_sessions_ip_idx",7821          "columns": [7822            {7823              "expression": "ip_hash",7824              "isExpression": false,7825              "asc": true,7826              "nulls": "last"7827            },7828            {7829              "expression": "created_at",7830              "isExpression": false,7831              "asc": true,7832              "nulls": "last"7833            }7834          ],7835          "isUnique": false,7836          "concurrently": false,7837          "method": "btree",7838          "with": {}7839        },7840        "scanner_sessions_user_idx": {7841          "name": "scanner_sessions_user_idx",7842          "columns": [7843            {7844              "expression": "user_id",7845              "isExpression": false,7846              "asc": true,7847              "nulls": "last"7848            }7849          ],7850          "isUnique": false,7851          "concurrently": false,7852          "method": "btree",7853          "with": {}7854        }7855      },7856      "foreignKeys": {},7857      "compositePrimaryKeys": {},7858      "uniqueConstraints": {},7859      "policies": {},7860      "checkConstraints": {},7861      "isRLSEnabled": false7862    },7863    "public.auth_codes": {7864      "name": "auth_codes",7865      "schema": "",7866      "columns": {7867        "id": {7868          "name": "id",7869          "type": "text",7870          "primaryKey": true,7871          "notNull": true7872        },7873        "user_id": {7874          "name": "user_id",7875          "type": "text",7876          "primaryKey": false,7877          "notNull": false7878        },7879        "email": {7880          "name": "email",7881          "type": "text",7882          "primaryKey": false,7883          "notNull": true7884        },7885        "purpose": {7886          "name": "purpose",7887          "type": "text",7888          "primaryKey": false,7889          "notNull": true7890        },7891        "code_hash": {7892          "name": "code_hash",7893          "type": "text",7894          "primaryKey": false,7895          "notNull": true7896        },7897        "expires_at": {7898          "name": "expires_at",7899          "type": "timestamp with time zone",7900          "primaryKey": false,7901          "notNull": true7902        },7903        "attempts": {7904          "name": "attempts",7905          "type": "integer",7906          "primaryKey": false,7907          "notNull": true,7908          "default": 07909        },7910        "consumed_at": {7911          "name": "consumed_at",7912          "type": "timestamp with time zone",7913          "primaryKey": false,7914          "notNull": false7915        },7916        "payload": {7917          "name": "payload",7918          "type": "jsonb",7919          "primaryKey": false,7920          "notNull": true,7921          "default": "'{}'::jsonb"7922        },7923        "created_at": {7924          "name": "created_at",7925          "type": "timestamp with time zone",7926          "primaryKey": false,7927          "notNull": true,7928          "default": "now()"7929        }7930      },7931      "indexes": {7932        "auth_codes_lookup_idx": {7933          "name": "auth_codes_lookup_idx",7934          "columns": [7935            {7936              "expression": "email",7937              "isExpression": false,7938              "asc": true,7939              "nulls": "last"7940            },7941            {7942              "expression": "purpose",7943              "isExpression": false,7944              "asc": true,7945              "nulls": "last"7946            },7947            {7948              "expression": "created_at",7949              "isExpression": false,7950              "asc": true,7951              "nulls": "last"7952            }7953          ],7954          "isUnique": false,7955          "concurrently": false,7956          "method": "btree",7957          "with": {}7958        }7959      },7960      "foreignKeys": {},7961      "compositePrimaryKeys": {},7962      "uniqueConstraints": {},7963      "policies": {},7964      "checkConstraints": {},7965      "isRLSEnabled": false7966    },7967    "public.login_events": {7968      "name": "login_events",7969      "schema": "",7970      "columns": {7971        "id": {7972          "name": "id",7973          "type": "text",7974          "primaryKey": true,7975          "notNull": true7976        },7977        "user_id": {7978          "name": "user_id",7979          "type": "text",7980          "primaryKey": false,7981          "notNull": false7982        },7983        "email": {7984          "name": "email",7985          "type": "text",7986          "primaryKey": false,7987          "notNull": false7988        },7989        "ip": {7990          "name": "ip",7991          "type": "text",7992          "primaryKey": false,7993          "notNull": false7994        },7995        "user_agent": {7996          "name": "user_agent",7997          "type": "text",7998          "primaryKey": false,7999          "notNull": false8000        },8001        "outcome": {8002          "name": "outcome",8003          "type": "text",8004          "primaryKey": false,8005          "notNull": true8006        },8007        "method": {8008          "name": "method",8009          "type": "text",8010          "primaryKey": false,8011          "notNull": false8012        },8013        "created_at": {8014          "name": "created_at",8015          "type": "timestamp with time zone",8016          "primaryKey": false,8017          "notNull": true,8018          "default": "now()"8019        }8020      },8021      "indexes": {8022        "login_events_user_idx": {8023          "name": "login_events_user_idx",8024          "columns": [8025            {8026              "expression": "user_id",8027              "isExpression": false,8028              "asc": true,8029              "nulls": "last"8030            },8031            {8032              "expression": "created_at",8033              "isExpression": false,8034              "asc": true,8035              "nulls": "last"8036            }8037          ],8038          "isUnique": false,8039          "concurrently": false,8040          "method": "btree",8041          "with": {}8042        }8043      },8044      "foreignKeys": {},8045      "compositePrimaryKeys": {},8046      "uniqueConstraints": {},8047      "policies": {},8048      "checkConstraints": {},8049      "isRLSEnabled": false8050    },8051    "public.notifications": {8052      "name": "notifications",8053      "schema": "",8054      "columns": {8055        "id": {8056          "name": "id",8057          "type": "text",8058          "primaryKey": true,8059          "notNull": true8060        },8061        "user_id": {8062          "name": "user_id",8063          "type": "text",8064          "primaryKey": false,8065          "notNull": true8066        },8067        "kind": {8068          "name": "kind",8069          "type": "text",8070          "primaryKey": false,8071          "notNull": true8072        },8073        "title": {8074          "name": "title",8075          "type": "text",8076          "primaryKey": false,8077          "notNull": true8078        },8079        "body": {8080          "name": "body",8081          "type": "text",8082          "primaryKey": false,8083          "notNull": false8084        },8085        "href": {8086          "name": "href",8087          "type": "text",8088          "primaryKey": false,8089          "notNull": false8090        },8091        "payload": {8092          "name": "payload",8093          "type": "jsonb",8094          "primaryKey": false,8095          "notNull": true,8096          "default": "'{}'::jsonb"8097        },8098        "read_at": {8099          "name": "read_at",8100          "type": "timestamp with time zone",8101          "primaryKey": false,8102          "notNull": false8103        },8104        "emailed_at": {8105          "name": "emailed_at",8106          "type": "timestamp with time zone",8107          "primaryKey": false,8108          "notNull": false8109        },8110        "created_at": {8111          "name": "created_at",8112          "type": "timestamp with time zone",8113          "primaryKey": false,8114          "notNull": true,8115          "default": "now()"8116        }8117      },8118      "indexes": {8119        "notifications_user_idx": {8120          "name": "notifications_user_idx",8121          "columns": [8122            {8123              "expression": "user_id",8124              "isExpression": false,8125              "asc": true,8126              "nulls": "last"8127            },8128            {8129              "expression": "created_at",8130              "isExpression": false,8131              "asc": true,8132              "nulls": "last"8133            }8134          ],8135          "isUnique": false,8136          "concurrently": false,8137          "method": "btree",8138          "with": {}8139        },8140        "notifications_unread_idx": {8141          "name": "notifications_unread_idx",8142          "columns": [8143            {8144              "expression": "user_id",8145              "isExpression": false,8146              "asc": true,8147              "nulls": "last"8148            },8149            {8150              "expression": "read_at",8151              "isExpression": false,8152              "asc": true,8153              "nulls": "last"8154            }8155          ],8156          "isUnique": false,8157          "concurrently": false,8158          "method": "btree",8159          "with": {}8160        }8161      },8162      "foreignKeys": {},8163      "compositePrimaryKeys": {},8164      "uniqueConstraints": {},8165      "policies": {},8166      "checkConstraints": {},8167      "isRLSEnabled": false8168    },8169    "public.price_targets": {8170      "name": "price_targets",8171      "schema": "",8172      "columns": {8173        "id": {8174          "name": "id",8175          "type": "text",8176          "primaryKey": true,8177          "notNull": true8178        },8179        "user_id": {8180          "name": "user_id",8181          "type": "text",8182          "primaryKey": false,8183          "notNull": true8184        },8185        "asset_id": {8186          "name": "asset_id",8187          "type": "text",8188          "primaryKey": false,8189          "notNull": true8190        },8191        "variant_id": {8192          "name": "variant_id",8193          "type": "text",8194          "primaryKey": false,8195          "notNull": false8196        },8197        "direction": {8198          "name": "direction",8199          "type": "text",8200          "primaryKey": false,8201          "notNull": true,8202          "default": "'above'"8203        },8204        "target_usd": {8205          "name": "target_usd",8206          "type": "numeric(18, 4)",8207          "primaryKey": false,8208          "notNull": true8209        },8210        "baseline_usd": {8211          "name": "baseline_usd",8212          "type": "numeric(18, 4)",8213          "primaryKey": false,8214          "notNull": false8215        },8216        "note": {8217          "name": "note",8218          "type": "text",8219          "primaryKey": false,8220          "notNull": false8221        },8222        "hit_at": {8223          "name": "hit_at",8224          "type": "timestamp with time zone",8225          "primaryKey": false,8226          "notNull": false8227        },8228        "notified_at": {8229          "name": "notified_at",8230          "type": "timestamp with time zone",8231          "primaryKey": false,8232          "notNull": false8233        },8234        "created_at": {8235          "name": "created_at",8236          "type": "timestamp with time zone",8237          "primaryKey": false,8238          "notNull": true,8239          "default": "now()"8240        }8241      },8242      "indexes": {8243        "price_targets_user_idx": {8244          "name": "price_targets_user_idx",8245          "columns": [8246            {8247              "expression": "user_id",8248              "isExpression": false,8249              "asc": true,8250              "nulls": "last"8251            }8252          ],8253          "isUnique": false,8254          "concurrently": false,8255          "method": "btree",8256          "with": {}8257        },8258        "price_targets_asset_idx": {8259          "name": "price_targets_asset_idx",8260          "columns": [8261            {8262              "expression": "asset_id",8263              "isExpression": false,8264              "asc": true,8265              "nulls": "last"8266            },8267            {8268              "expression": "hit_at",8269              "isExpression": false,8270              "asc": true,8271              "nulls": "last"8272            }8273          ],8274          "isUnique": false,8275          "concurrently": false,8276          "method": "btree",8277          "with": {}8278        }8279      },8280      "foreignKeys": {},8281      "compositePrimaryKeys": {},8282      "uniqueConstraints": {},8283      "policies": {},8284      "checkConstraints": {},8285      "isRLSEnabled": false8286    },8287    "public.rate_limits": {8288      "name": "rate_limits",8289      "schema": "",8290      "columns": {8291        "key": {8292          "name": "key",8293          "type": "text",8294          "primaryKey": true,8295          "notNull": true8296        },8297        "count": {8298          "name": "count",8299          "type": "integer",8300          "primaryKey": false,8301          "notNull": true,8302          "default": 08303        },8304        "reset_at": {8305          "name": "reset_at",8306          "type": "timestamp with time zone",8307          "primaryKey": false,8308          "notNull": true8309        }8310      },8311      "indexes": {},8312      "foreignKeys": {},8313      "compositePrimaryKeys": {},8314      "uniqueConstraints": {},8315      "policies": {},8316      "checkConstraints": {},8317      "isRLSEnabled": false8318    },8319    "public.recovery_codes": {8320      "name": "recovery_codes",8321      "schema": "",8322      "columns": {8323        "id": {8324          "name": "id",8325          "type": "text",8326          "primaryKey": true,8327          "notNull": true8328        },8329        "user_id": {8330          "name": "user_id",8331          "type": "text",8332          "primaryKey": false,8333          "notNull": true8334        },8335        "code_hash": {8336          "name": "code_hash",8337          "type": "text",8338          "primaryKey": false,8339          "notNull": true8340        },8341        "used_at": {8342          "name": "used_at",8343          "type": "timestamp with time zone",8344          "primaryKey": false,8345          "notNull": false8346        },8347        "created_at": {8348          "name": "created_at",8349          "type": "timestamp with time zone",8350          "primaryKey": false,8351          "notNull": true,8352          "default": "now()"8353        }8354      },8355      "indexes": {8356        "recovery_codes_user_idx": {8357          "name": "recovery_codes_user_idx",8358          "columns": [8359            {8360              "expression": "user_id",8361              "isExpression": false,8362              "asc": true,8363              "nulls": "last"8364            }8365          ],8366          "isUnique": false,8367          "concurrently": false,8368          "method": "btree",8369          "with": {}8370        }8371      },8372      "foreignKeys": {},8373      "compositePrimaryKeys": {},8374      "uniqueConstraints": {},8375      "policies": {},8376      "checkConstraints": {},8377      "isRLSEnabled": false8378    },8379    "public.saved_searches": {8380      "name": "saved_searches",8381      "schema": "",8382      "columns": {8383        "id": {8384          "name": "id",8385          "type": "text",8386          "primaryKey": true,8387          "notNull": true8388        },8389        "user_id": {8390          "name": "user_id",8391          "type": "text",8392          "primaryKey": false,8393          "notNull": true8394        },8395        "name": {8396          "name": "name",8397          "type": "text",8398          "primaryKey": false,8399          "notNull": true8400        },8401        "url": {8402          "name": "url",8403          "type": "text",8404          "primaryKey": false,8405          "notNull": true8406        },8407        "params": {8408          "name": "params",8409          "type": "jsonb",8410          "primaryKey": false,8411          "notNull": true,8412          "default": "'{}'::jsonb"8413        },8414        "notify": {8415          "name": "notify",8416          "type": "boolean",8417          "primaryKey": false,8418          "notNull": true,8419          "default": false8420        },8421        "last_run_at": {8422          "name": "last_run_at",8423          "type": "timestamp with time zone",8424          "primaryKey": false,8425          "notNull": false8426        },8427        "last_count": {8428          "name": "last_count",8429          "type": "integer",8430          "primaryKey": false,8431          "notNull": false8432        },8433        "created_at": {8434          "name": "created_at",8435          "type": "timestamp with time zone",8436          "primaryKey": false,8437          "notNull": true,8438          "default": "now()"8439        }8440      },8441      "indexes": {8442        "saved_searches_user_idx": {8443          "name": "saved_searches_user_idx",8444          "columns": [8445            {8446              "expression": "user_id",8447              "isExpression": false,8448              "asc": true,8449              "nulls": "last"8450            }8451          ],8452          "isUnique": false,8453          "concurrently": false,8454          "method": "btree",8455          "with": {}8456        }8457      },8458      "foreignKeys": {},8459      "compositePrimaryKeys": {},8460      "uniqueConstraints": {},8461      "policies": {},8462      "checkConstraints": {},8463      "isRLSEnabled": false8464    },8465    "public.trusted_devices": {8466      "name": "trusted_devices",8467      "schema": "",8468      "columns": {8469        "id": {8470          "name": "id",8471          "type": "text",8472          "primaryKey": true,8473          "notNull": true8474        },8475        "user_id": {8476          "name": "user_id",8477          "type": "text",8478          "primaryKey": false,8479          "notNull": true8480        },8481        "token_hash": {8482          "name": "token_hash",8483          "type": "text",8484          "primaryKey": false,8485          "notNull": true8486        },8487        "label": {8488          "name": "label",8489          "type": "text",8490          "primaryKey": false,8491          "notNull": false8492        },8493        "user_agent": {8494          "name": "user_agent",8495          "type": "text",8496          "primaryKey": false,8497          "notNull": false8498        },8499        "ip": {8500          "name": "ip",8501          "type": "text",8502          "primaryKey": false,8503          "notNull": false8504        },8505        "created_at": {8506          "name": "created_at",8507          "type": "timestamp with time zone",8508          "primaryKey": false,8509          "notNull": true,8510          "default": "now()"8511        },8512        "last_used_at": {8513          "name": "last_used_at",8514          "type": "timestamp with time zone",8515          "primaryKey": false,8516          "notNull": false8517        },8518        "expires_at": {8519          "name": "expires_at",8520          "type": "timestamp with time zone",8521          "primaryKey": false,8522          "notNull": true8523        },8524        "revoked_at": {8525          "name": "revoked_at",8526          "type": "timestamp with time zone",8527          "primaryKey": false,8528          "notNull": false8529        }8530      },8531      "indexes": {8532        "trusted_devices_user_idx": {8533          "name": "trusted_devices_user_idx",8534          "columns": [8535            {8536              "expression": "user_id",8537              "isExpression": false,8538              "asc": true,8539              "nulls": "last"8540            }8541          ],8542          "isUnique": false,8543          "concurrently": false,8544          "method": "btree",8545          "with": {}8546        },8547        "trusted_devices_token_uq": {8548          "name": "trusted_devices_token_uq",8549          "columns": [8550            {8551              "expression": "token_hash",8552              "isExpression": false,8553              "asc": true,8554              "nulls": "last"8555            }8556          ],8557          "isUnique": true,8558          "concurrently": false,8559          "method": "btree",8560          "with": {}8561        }8562      },8563      "foreignKeys": {},8564      "compositePrimaryKeys": {},8565      "uniqueConstraints": {},8566      "policies": {},8567      "checkConstraints": {},8568      "isRLSEnabled": false8569    },8570    "public.uploads": {8571      "name": "uploads",8572      "schema": "",8573      "columns": {8574        "id": {8575          "name": "id",8576          "type": "text",8577          "primaryKey": true,8578          "notNull": true8579        },8580        "user_id": {8581          "name": "user_id",8582          "type": "text",8583          "primaryKey": false,8584          "notNull": true8585        },8586        "kind": {8587          "name": "kind",8588          "type": "text",8589          "primaryKey": false,8590          "notNull": true8591        },8592        "path": {8593          "name": "path",8594          "type": "text",8595          "primaryKey": false,8596          "notNull": true8597        },8598        "mime": {8599          "name": "mime",8600          "type": "text",8601          "primaryKey": false,8602          "notNull": true8603        },8604        "bytes": {8605          "name": "bytes",8606          "type": "integer",8607          "primaryKey": false,8608          "notNull": true8609        },8610        "width": {8611          "name": "width",8612          "type": "integer",8613          "primaryKey": false,8614          "notNull": false8615        },8616        "height": {8617          "name": "height",8618          "type": "integer",8619          "primaryKey": false,8620          "notNull": false8621        },8622        "created_at": {8623          "name": "created_at",8624          "type": "timestamp with time zone",8625          "primaryKey": false,8626          "notNull": true,8627          "default": "now()"8628        }8629      },8630      "indexes": {8631        "uploads_user_idx": {8632          "name": "uploads_user_idx",8633          "columns": [8634            {8635              "expression": "user_id",8636              "isExpression": false,8637              "asc": true,8638              "nulls": "last"8639            }8640          ],8641          "isUnique": false,8642          "concurrently": false,8643          "method": "btree",8644          "with": {}8645        }8646      },8647      "foreignKeys": {},8648      "compositePrimaryKeys": {},8649      "uniqueConstraints": {},8650      "policies": {},8651      "checkConstraints": {},8652      "isRLSEnabled": false8653    },8654    "public.user_badges": {8655      "name": "user_badges",8656      "schema": "",8657      "columns": {8658        "user_id": {8659          "name": "user_id",8660          "type": "text",8661          "primaryKey": false,8662          "notNull": true8663        },8664        "badge": {8665          "name": "badge",8666          "type": "text",8667          "primaryKey": false,8668          "notNull": true8669        },8670        "evidence": {8671          "name": "evidence",8672          "type": "jsonb",8673          "primaryKey": false,8674          "notNull": true,8675          "default": "'{}'::jsonb"8676        },8677        "created_at": {8678          "name": "created_at",8679          "type": "timestamp with time zone",8680          "primaryKey": false,8681          "notNull": true,8682          "default": "now()"8683        }8684      },8685      "indexes": {8686        "user_badges_uq": {8687          "name": "user_badges_uq",8688          "columns": [8689            {8690              "expression": "user_id",8691              "isExpression": false,8692              "asc": true,8693              "nulls": "last"8694            },8695            {8696              "expression": "badge",8697              "isExpression": false,8698              "asc": true,8699              "nulls": "last"8700            }8701          ],8702          "isUnique": true,8703          "concurrently": false,8704          "method": "btree",8705          "with": {}8706        }8707      },8708      "foreignKeys": {},8709      "compositePrimaryKeys": {},8710      "uniqueConstraints": {},8711      "policies": {},8712      "checkConstraints": {},8713      "isRLSEnabled": false8714    }8715  },8716  "enums": {},8717  "schemas": {},8718  "sequences": {},8719  "roles": {},8720  "policies": {},8721  "views": {8722    "public.listings_multi_currency": {8723      "columns": {8724        "listing_id": {8725          "name": "listing_id",8726          "type": "text",8727          "primaryKey": false,8728          "notNull": false8729        },8730        "asset_id": {8731          "name": "asset_id",8732          "type": "text",8733          "primaryKey": false,8734          "notNull": false8735        },8736        "last_seen_at": {8737          "name": "last_seen_at",8738          "type": "timestamp with time zone",8739          "primaryKey": false,8740          "notNull": false8741        },8742        "price": {8743          "name": "price",8744          "type": "numeric(18, 4)",8745          "primaryKey": false,8746          "notNull": false8747        },8748        "currency": {8749          "name": "currency",8750          "type": "text",8751          "primaryKey": false,8752          "notNull": false8753        },8754        "price_usd": {8755          "name": "price_usd",8756          "type": "numeric(18, 4)",8757          "primaryKey": false,8758          "notNull": false8759        },8760        "price_cad": {8761          "name": "price_cad",8762          "type": "numeric(18, 4)",8763          "primaryKey": false,8764          "notNull": false8765        },8766        "price_eur": {8767          "name": "price_eur",8768          "type": "numeric(18, 4)",8769          "primaryKey": false,8770          "notNull": false8771        },8772        "price_gbp": {8773          "name": "price_gbp",8774          "type": "numeric(18, 4)",8775          "primaryKey": false,8776          "notNull": false8777        },8778        "price_jpy": {8779          "name": "price_jpy",8780          "type": "numeric(18, 4)",8781          "primaryKey": false,8782          "notNull": false8783        }8784      },8785      "definition": "\n  select l.id as listing_id, l.asset_id, l.last_seen_at, l.price, l.currency, l.price_usd,\n    l.price_usd * cad.rate as price_cad, l.price_usd * eur.rate as price_eur, l.price_usd * gbp.rate as price_gbp, l.price_usd * jpy.rate as price_jpy\n  from listings l\n  left join lateral (select f.rate from fx_rates f where f.base = 'USD' and f.quote = 'CAD' and f.date <= l.last_seen_at::date order by f.date desc limit 1) cad on true\n  left join lateral (select f.rate from fx_rates f where f.base = 'USD' and f.quote = 'EUR' and f.date <= l.last_seen_at::date order by f.date desc limit 1) eur on true\n  left join lateral (select f.rate from fx_rates f where f.base = 'USD' and f.quote = 'GBP' and f.date <= l.last_seen_at::date order by f.date desc limit 1) gbp on true\n  left join lateral (select f.rate from fx_rates f where f.base = 'USD' and f.quote = 'JPY' and f.date <= l.last_seen_at::date order by f.date desc limit 1) jpy on true\n",8786      "name": "listings_multi_currency",8787      "schema": "public",8788      "isExisting": false,8789      "materialized": false8790    },8791    "public.sales_multi_currency": {8792      "columns": {8793        "sale_id": {8794          "name": "sale_id",8795          "type": "text",8796          "primaryKey": false,8797          "notNull": false8798        },8799        "asset_id": {8800          "name": "asset_id",8801          "type": "text",8802          "primaryKey": false,8803          "notNull": false8804        },8805        "sale_date": {8806          "name": "sale_date",8807          "type": "timestamp with time zone",8808          "primaryKey": false,8809          "notNull": false8810        },8811        "price": {8812          "name": "price",8813          "type": "numeric(18, 4)",8814          "primaryKey": false,8815          "notNull": false8816        },8817        "currency": {8818          "name": "currency",8819          "type": "text",8820          "primaryKey": false,8821          "notNull": false8822        },8823        "price_usd": {8824          "name": "price_usd",8825          "type": "numeric(18, 4)",8826          "primaryKey": false,8827          "notNull": false8828        },8829        "price_cad": {8830          "name": "price_cad",8831          "type": "numeric(18, 4)",8832          "primaryKey": false,8833          "notNull": false8834        },8835        "price_eur": {8836          "name": "price_eur",8837          "type": "numeric(18, 4)",8838          "primaryKey": false,8839          "notNull": false8840        },8841        "price_gbp": {8842          "name": "price_gbp",8843          "type": "numeric(18, 4)",8844          "primaryKey": false,8845          "notNull": false8846        },8847        "price_jpy": {8848          "name": "price_jpy",8849          "type": "numeric(18, 4)",8850          "primaryKey": false,8851          "notNull": false8852        },8853        "fx_date_cad": {8854          "name": "fx_date_cad",8855          "type": "date",8856          "primaryKey": false,8857          "notNull": false8858        },8859        "fx_date_eur": {8860          "name": "fx_date_eur",8861          "type": "date",8862          "primaryKey": false,8863          "notNull": false8864        },8865        "fx_date_gbp": {8866          "name": "fx_date_gbp",8867          "type": "date",8868          "primaryKey": false,8869          "notNull": false8870        },8871        "fx_date_jpy": {8872          "name": "fx_date_jpy",8873          "type": "date",8874          "primaryKey": false,8875          "notNull": false8876        }8877      },8878      "definition": "\n  select s.id as sale_id, s.asset_id, s.sale_date, s.price, s.currency, s.price_usd,\n    s.price_usd * cad.rate as price_cad, s.price_usd * eur.rate as price_eur, s.price_usd * gbp.rate as price_gbp, s.price_usd * jpy.rate as price_jpy,\n    cad.date as fx_date_cad, eur.date as fx_date_eur, gbp.date as fx_date_gbp, jpy.date as fx_date_jpy\n  from sales s\n  left join lateral (select f.rate, f.date from fx_rates f where f.base = 'USD' and f.quote = 'CAD' and f.date <= s.sale_date::date order by f.date desc limit 1) cad on true\n  left join lateral (select f.rate, f.date from fx_rates f where f.base = 'USD' and f.quote = 'EUR' and f.date <= s.sale_date::date order by f.date desc limit 1) eur on true\n  left join lateral (select f.rate, f.date from fx_rates f where f.base = 'USD' and f.quote = 'GBP' and f.date <= s.sale_date::date order by f.date desc limit 1) gbp on true\n  left join lateral (select f.rate, f.date from fx_rates f where f.base = 'USD' and f.quote = 'JPY' and f.date <= s.sale_date::date order by f.date desc limit 1) jpy on true\n",8879      "name": "sales_multi_currency",8880      "schema": "public",8881      "isExisting": false,8882      "materialized": false8883    }8884  },8885  "_meta": {8886    "columns": {},8887    "schemas": {},8888    "tables": {}8889  }8890}