|
|
@@ -0,0 +1,1132 @@
|
|
|
+{
|
|
|
+ "id": "84458c64-5549-40c5-a785-9dfef840b2a2",
|
|
|
+ "prevId": "eb5fc628-9ee3-43dd-9b4f-7c9eaeee1b82",
|
|
|
+ "version": "7",
|
|
|
+ "dialect": "postgresql",
|
|
|
+ "tables": {
|
|
|
+ "public.keys": {
|
|
|
+ "name": "keys",
|
|
|
+ "schema": "",
|
|
|
+ "columns": {
|
|
|
+ "id": {
|
|
|
+ "name": "id",
|
|
|
+ "type": "serial",
|
|
|
+ "primaryKey": true,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "user_id": {
|
|
|
+ "name": "user_id",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "key": {
|
|
|
+ "name": "key",
|
|
|
+ "type": "varchar",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "name": {
|
|
|
+ "name": "name",
|
|
|
+ "type": "varchar",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "is_enabled": {
|
|
|
+ "name": "is_enabled",
|
|
|
+ "type": "boolean",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": true
|
|
|
+ },
|
|
|
+ "expires_at": {
|
|
|
+ "name": "expires_at",
|
|
|
+ "type": "timestamp",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "can_login_web_ui": {
|
|
|
+ "name": "can_login_web_ui",
|
|
|
+ "type": "boolean",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": true
|
|
|
+ },
|
|
|
+ "limit_5h_usd": {
|
|
|
+ "name": "limit_5h_usd",
|
|
|
+ "type": "numeric(10, 2)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "limit_weekly_usd": {
|
|
|
+ "name": "limit_weekly_usd",
|
|
|
+ "type": "numeric(10, 2)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "limit_monthly_usd": {
|
|
|
+ "name": "limit_monthly_usd",
|
|
|
+ "type": "numeric(10, 2)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "limit_concurrent_sessions": {
|
|
|
+ "name": "limit_concurrent_sessions",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": 0
|
|
|
+ },
|
|
|
+ "created_at": {
|
|
|
+ "name": "created_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ },
|
|
|
+ "updated_at": {
|
|
|
+ "name": "updated_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ },
|
|
|
+ "deleted_at": {
|
|
|
+ "name": "deleted_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "indexes": {
|
|
|
+ "idx_keys_user_id": {
|
|
|
+ "name": "idx_keys_user_id",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "user_id",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_keys_created_at": {
|
|
|
+ "name": "idx_keys_created_at",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "created_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_keys_deleted_at": {
|
|
|
+ "name": "idx_keys_deleted_at",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "deleted_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "foreignKeys": {},
|
|
|
+ "compositePrimaryKeys": {},
|
|
|
+ "uniqueConstraints": {},
|
|
|
+ "policies": {},
|
|
|
+ "checkConstraints": {},
|
|
|
+ "isRLSEnabled": false
|
|
|
+ },
|
|
|
+ "public.message_request": {
|
|
|
+ "name": "message_request",
|
|
|
+ "schema": "",
|
|
|
+ "columns": {
|
|
|
+ "id": {
|
|
|
+ "name": "id",
|
|
|
+ "type": "serial",
|
|
|
+ "primaryKey": true,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "provider_id": {
|
|
|
+ "name": "provider_id",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "user_id": {
|
|
|
+ "name": "user_id",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "key": {
|
|
|
+ "name": "key",
|
|
|
+ "type": "varchar",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "model": {
|
|
|
+ "name": "model",
|
|
|
+ "type": "varchar(128)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "duration_ms": {
|
|
|
+ "name": "duration_ms",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "cost_usd": {
|
|
|
+ "name": "cost_usd",
|
|
|
+ "type": "numeric(21, 15)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "'0'"
|
|
|
+ },
|
|
|
+ "cost_multiplier": {
|
|
|
+ "name": "cost_multiplier",
|
|
|
+ "type": "numeric(10, 4)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "session_id": {
|
|
|
+ "name": "session_id",
|
|
|
+ "type": "varchar(64)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "provider_chain": {
|
|
|
+ "name": "provider_chain",
|
|
|
+ "type": "jsonb",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "status_code": {
|
|
|
+ "name": "status_code",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "api_type": {
|
|
|
+ "name": "api_type",
|
|
|
+ "type": "varchar(20)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "original_model": {
|
|
|
+ "name": "original_model",
|
|
|
+ "type": "varchar(128)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "input_tokens": {
|
|
|
+ "name": "input_tokens",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "output_tokens": {
|
|
|
+ "name": "output_tokens",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "cache_creation_input_tokens": {
|
|
|
+ "name": "cache_creation_input_tokens",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "cache_read_input_tokens": {
|
|
|
+ "name": "cache_read_input_tokens",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "error_message": {
|
|
|
+ "name": "error_message",
|
|
|
+ "type": "text",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "blocked_by": {
|
|
|
+ "name": "blocked_by",
|
|
|
+ "type": "varchar(50)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "blocked_reason": {
|
|
|
+ "name": "blocked_reason",
|
|
|
+ "type": "text",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "user_agent": {
|
|
|
+ "name": "user_agent",
|
|
|
+ "type": "varchar(512)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "messages_count": {
|
|
|
+ "name": "messages_count",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "created_at": {
|
|
|
+ "name": "created_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ },
|
|
|
+ "updated_at": {
|
|
|
+ "name": "updated_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ },
|
|
|
+ "deleted_at": {
|
|
|
+ "name": "deleted_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "indexes": {
|
|
|
+ "idx_message_request_user_date_cost": {
|
|
|
+ "name": "idx_message_request_user_date_cost",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "user_id",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "expression": "created_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "expression": "cost_usd",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "where": "\"message_request\".\"deleted_at\" IS NULL",
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_message_request_user_query": {
|
|
|
+ "name": "idx_message_request_user_query",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "user_id",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "expression": "created_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "where": "\"message_request\".\"deleted_at\" IS NULL",
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_message_request_session_id": {
|
|
|
+ "name": "idx_message_request_session_id",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "session_id",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "where": "\"message_request\".\"deleted_at\" IS NULL",
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_message_request_provider_id": {
|
|
|
+ "name": "idx_message_request_provider_id",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "provider_id",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_message_request_user_id": {
|
|
|
+ "name": "idx_message_request_user_id",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "user_id",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_message_request_key": {
|
|
|
+ "name": "idx_message_request_key",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "key",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_message_request_created_at": {
|
|
|
+ "name": "idx_message_request_created_at",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "created_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_message_request_deleted_at": {
|
|
|
+ "name": "idx_message_request_deleted_at",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "deleted_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "foreignKeys": {},
|
|
|
+ "compositePrimaryKeys": {},
|
|
|
+ "uniqueConstraints": {},
|
|
|
+ "policies": {},
|
|
|
+ "checkConstraints": {},
|
|
|
+ "isRLSEnabled": false
|
|
|
+ },
|
|
|
+ "public.model_prices": {
|
|
|
+ "name": "model_prices",
|
|
|
+ "schema": "",
|
|
|
+ "columns": {
|
|
|
+ "id": {
|
|
|
+ "name": "id",
|
|
|
+ "type": "serial",
|
|
|
+ "primaryKey": true,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "model_name": {
|
|
|
+ "name": "model_name",
|
|
|
+ "type": "varchar",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "price_data": {
|
|
|
+ "name": "price_data",
|
|
|
+ "type": "jsonb",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "created_at": {
|
|
|
+ "name": "created_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ },
|
|
|
+ "updated_at": {
|
|
|
+ "name": "updated_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "indexes": {
|
|
|
+ "idx_model_prices_latest": {
|
|
|
+ "name": "idx_model_prices_latest",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "model_name",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "expression": "created_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": false,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_model_prices_model_name": {
|
|
|
+ "name": "idx_model_prices_model_name",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "model_name",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_model_prices_created_at": {
|
|
|
+ "name": "idx_model_prices_created_at",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "created_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": false,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "foreignKeys": {},
|
|
|
+ "compositePrimaryKeys": {},
|
|
|
+ "uniqueConstraints": {},
|
|
|
+ "policies": {},
|
|
|
+ "checkConstraints": {},
|
|
|
+ "isRLSEnabled": false
|
|
|
+ },
|
|
|
+ "public.providers": {
|
|
|
+ "name": "providers",
|
|
|
+ "schema": "",
|
|
|
+ "columns": {
|
|
|
+ "id": {
|
|
|
+ "name": "id",
|
|
|
+ "type": "serial",
|
|
|
+ "primaryKey": true,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "name": {
|
|
|
+ "name": "name",
|
|
|
+ "type": "varchar",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "description": {
|
|
|
+ "name": "description",
|
|
|
+ "type": "text",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "url": {
|
|
|
+ "name": "url",
|
|
|
+ "type": "varchar",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "key": {
|
|
|
+ "name": "key",
|
|
|
+ "type": "varchar",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "is_enabled": {
|
|
|
+ "name": "is_enabled",
|
|
|
+ "type": "boolean",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true,
|
|
|
+ "default": true
|
|
|
+ },
|
|
|
+ "weight": {
|
|
|
+ "name": "weight",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true,
|
|
|
+ "default": 1
|
|
|
+ },
|
|
|
+ "priority": {
|
|
|
+ "name": "priority",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true,
|
|
|
+ "default": 0
|
|
|
+ },
|
|
|
+ "cost_multiplier": {
|
|
|
+ "name": "cost_multiplier",
|
|
|
+ "type": "numeric(10, 4)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "'1.0'"
|
|
|
+ },
|
|
|
+ "group_tag": {
|
|
|
+ "name": "group_tag",
|
|
|
+ "type": "varchar(50)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "provider_type": {
|
|
|
+ "name": "provider_type",
|
|
|
+ "type": "varchar(20)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true,
|
|
|
+ "default": "'claude'"
|
|
|
+ },
|
|
|
+ "model_redirects": {
|
|
|
+ "name": "model_redirects",
|
|
|
+ "type": "jsonb",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "allowed_models": {
|
|
|
+ "name": "allowed_models",
|
|
|
+ "type": "jsonb",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "'null'::jsonb"
|
|
|
+ },
|
|
|
+ "limit_5h_usd": {
|
|
|
+ "name": "limit_5h_usd",
|
|
|
+ "type": "numeric(10, 2)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "limit_weekly_usd": {
|
|
|
+ "name": "limit_weekly_usd",
|
|
|
+ "type": "numeric(10, 2)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "limit_monthly_usd": {
|
|
|
+ "name": "limit_monthly_usd",
|
|
|
+ "type": "numeric(10, 2)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "limit_concurrent_sessions": {
|
|
|
+ "name": "limit_concurrent_sessions",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": 0
|
|
|
+ },
|
|
|
+ "tpm": {
|
|
|
+ "name": "tpm",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": 0
|
|
|
+ },
|
|
|
+ "rpm": {
|
|
|
+ "name": "rpm",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": 0
|
|
|
+ },
|
|
|
+ "rpd": {
|
|
|
+ "name": "rpd",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": 0
|
|
|
+ },
|
|
|
+ "cc": {
|
|
|
+ "name": "cc",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": 0
|
|
|
+ },
|
|
|
+ "created_at": {
|
|
|
+ "name": "created_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ },
|
|
|
+ "updated_at": {
|
|
|
+ "name": "updated_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ },
|
|
|
+ "deleted_at": {
|
|
|
+ "name": "deleted_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "indexes": {
|
|
|
+ "idx_providers_enabled_priority": {
|
|
|
+ "name": "idx_providers_enabled_priority",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "is_enabled",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "expression": "priority",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "expression": "weight",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "where": "\"providers\".\"deleted_at\" IS NULL",
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_providers_group": {
|
|
|
+ "name": "idx_providers_group",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "group_tag",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "where": "\"providers\".\"deleted_at\" IS NULL",
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_providers_created_at": {
|
|
|
+ "name": "idx_providers_created_at",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "created_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_providers_deleted_at": {
|
|
|
+ "name": "idx_providers_deleted_at",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "deleted_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "foreignKeys": {},
|
|
|
+ "compositePrimaryKeys": {},
|
|
|
+ "uniqueConstraints": {},
|
|
|
+ "policies": {},
|
|
|
+ "checkConstraints": {},
|
|
|
+ "isRLSEnabled": false
|
|
|
+ },
|
|
|
+ "public.sensitive_words": {
|
|
|
+ "name": "sensitive_words",
|
|
|
+ "schema": "",
|
|
|
+ "columns": {
|
|
|
+ "id": {
|
|
|
+ "name": "id",
|
|
|
+ "type": "serial",
|
|
|
+ "primaryKey": true,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "word": {
|
|
|
+ "name": "word",
|
|
|
+ "type": "varchar(255)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "match_type": {
|
|
|
+ "name": "match_type",
|
|
|
+ "type": "varchar(20)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true,
|
|
|
+ "default": "'contains'"
|
|
|
+ },
|
|
|
+ "description": {
|
|
|
+ "name": "description",
|
|
|
+ "type": "text",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "is_enabled": {
|
|
|
+ "name": "is_enabled",
|
|
|
+ "type": "boolean",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true,
|
|
|
+ "default": true
|
|
|
+ },
|
|
|
+ "created_at": {
|
|
|
+ "name": "created_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ },
|
|
|
+ "updated_at": {
|
|
|
+ "name": "updated_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "indexes": {
|
|
|
+ "idx_sensitive_words_enabled": {
|
|
|
+ "name": "idx_sensitive_words_enabled",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "is_enabled",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "expression": "match_type",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_sensitive_words_created_at": {
|
|
|
+ "name": "idx_sensitive_words_created_at",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "created_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "foreignKeys": {},
|
|
|
+ "compositePrimaryKeys": {},
|
|
|
+ "uniqueConstraints": {},
|
|
|
+ "policies": {},
|
|
|
+ "checkConstraints": {},
|
|
|
+ "isRLSEnabled": false
|
|
|
+ },
|
|
|
+ "public.system_settings": {
|
|
|
+ "name": "system_settings",
|
|
|
+ "schema": "",
|
|
|
+ "columns": {
|
|
|
+ "id": {
|
|
|
+ "name": "id",
|
|
|
+ "type": "serial",
|
|
|
+ "primaryKey": true,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "site_title": {
|
|
|
+ "name": "site_title",
|
|
|
+ "type": "varchar(128)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true,
|
|
|
+ "default": "'Claude Code Hub'"
|
|
|
+ },
|
|
|
+ "allow_global_usage_view": {
|
|
|
+ "name": "allow_global_usage_view",
|
|
|
+ "type": "boolean",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true,
|
|
|
+ "default": false
|
|
|
+ },
|
|
|
+ "currency_display": {
|
|
|
+ "name": "currency_display",
|
|
|
+ "type": "varchar(10)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true,
|
|
|
+ "default": "'USD'"
|
|
|
+ },
|
|
|
+ "enable_auto_cleanup": {
|
|
|
+ "name": "enable_auto_cleanup",
|
|
|
+ "type": "boolean",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": false
|
|
|
+ },
|
|
|
+ "cleanup_retention_days": {
|
|
|
+ "name": "cleanup_retention_days",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": 30
|
|
|
+ },
|
|
|
+ "cleanup_schedule": {
|
|
|
+ "name": "cleanup_schedule",
|
|
|
+ "type": "varchar(50)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "'0 2 * * *'"
|
|
|
+ },
|
|
|
+ "cleanup_batch_size": {
|
|
|
+ "name": "cleanup_batch_size",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": 10000
|
|
|
+ },
|
|
|
+ "created_at": {
|
|
|
+ "name": "created_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ },
|
|
|
+ "updated_at": {
|
|
|
+ "name": "updated_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "indexes": {},
|
|
|
+ "foreignKeys": {},
|
|
|
+ "compositePrimaryKeys": {},
|
|
|
+ "uniqueConstraints": {},
|
|
|
+ "policies": {},
|
|
|
+ "checkConstraints": {},
|
|
|
+ "isRLSEnabled": false
|
|
|
+ },
|
|
|
+ "public.users": {
|
|
|
+ "name": "users",
|
|
|
+ "schema": "",
|
|
|
+ "columns": {
|
|
|
+ "id": {
|
|
|
+ "name": "id",
|
|
|
+ "type": "serial",
|
|
|
+ "primaryKey": true,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "name": {
|
|
|
+ "name": "name",
|
|
|
+ "type": "varchar",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": true
|
|
|
+ },
|
|
|
+ "description": {
|
|
|
+ "name": "description",
|
|
|
+ "type": "text",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "role": {
|
|
|
+ "name": "role",
|
|
|
+ "type": "varchar",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "'user'"
|
|
|
+ },
|
|
|
+ "rpm_limit": {
|
|
|
+ "name": "rpm_limit",
|
|
|
+ "type": "integer",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": 60
|
|
|
+ },
|
|
|
+ "daily_limit_usd": {
|
|
|
+ "name": "daily_limit_usd",
|
|
|
+ "type": "numeric(10, 2)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "'100.00'"
|
|
|
+ },
|
|
|
+ "provider_group": {
|
|
|
+ "name": "provider_group",
|
|
|
+ "type": "varchar(50)",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ },
|
|
|
+ "created_at": {
|
|
|
+ "name": "created_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ },
|
|
|
+ "updated_at": {
|
|
|
+ "name": "updated_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false,
|
|
|
+ "default": "now()"
|
|
|
+ },
|
|
|
+ "deleted_at": {
|
|
|
+ "name": "deleted_at",
|
|
|
+ "type": "timestamp with time zone",
|
|
|
+ "primaryKey": false,
|
|
|
+ "notNull": false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "indexes": {
|
|
|
+ "idx_users_active_role_sort": {
|
|
|
+ "name": "idx_users_active_role_sort",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "deleted_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "expression": "role",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "expression": "id",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "where": "\"users\".\"deleted_at\" IS NULL",
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_users_created_at": {
|
|
|
+ "name": "idx_users_created_at",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "created_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ },
|
|
|
+ "idx_users_deleted_at": {
|
|
|
+ "name": "idx_users_deleted_at",
|
|
|
+ "columns": [
|
|
|
+ {
|
|
|
+ "expression": "deleted_at",
|
|
|
+ "isExpression": false,
|
|
|
+ "asc": true,
|
|
|
+ "nulls": "last"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "isUnique": false,
|
|
|
+ "concurrently": false,
|
|
|
+ "method": "btree",
|
|
|
+ "with": {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "foreignKeys": {},
|
|
|
+ "compositePrimaryKeys": {},
|
|
|
+ "uniqueConstraints": {},
|
|
|
+ "policies": {},
|
|
|
+ "checkConstraints": {},
|
|
|
+ "isRLSEnabled": false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "enums": {},
|
|
|
+ "schemas": {},
|
|
|
+ "sequences": {},
|
|
|
+ "roles": {},
|
|
|
+ "policies": {},
|
|
|
+ "views": {},
|
|
|
+ "_meta": {
|
|
|
+ "columns": {},
|
|
|
+ "schemas": {},
|
|
|
+ "tables": {}
|
|
|
+ }
|
|
|
+}
|