export type Json = | string | number | boolean | null | { [key: string]: Json | undefined } | Json[] export type Database = { graphql_public: { Tables: { [_ in never]: never } Views: { [_ in never]: never } Functions: { graphql: { Args: { operationName?: string query?: string variables?: Json extensions?: Json } Returns: Json } } Enums: { [_ in never]: never } CompositeTypes: { [_ in never]: never } } public: { Tables: { profiles: { Row: { avatar_url: string | null created_at: string email: string | null full_name: string | null id: string updated_at: string } Insert: { avatar_url?: string | null created_at?: string email?: string | null full_name?: string | null id: string updated_at?: string } Update: { avatar_url?: string | null created_at?: string email?: string | null full_name?: string | null id?: string updated_at?: string } Relationships: [] } email_preferences: { Row: { user_id: string weekly_progress_digest: boolean product_updates: boolean account_notifications: boolean created_at: string updated_at: string } Insert: { user_id: string weekly_progress_digest?: boolean product_updates?: boolean account_notifications?: boolean created_at?: string updated_at?: string } Update: { user_id?: string weekly_progress_digest?: boolean product_updates?: boolean account_notifications?: boolean created_at?: string updated_at?: string } Relationships: [ { foreignKeyName: "email_preferences_user_id_fkey" columns: ["user_id"] isOneToOne: true referencedRelation: "profiles" referencedColumns: ["id"] } ] } books: { Row: { id: string title: string description: string | null status: string word_count: number created_at: string updated_at: string user_id: string author: string | null cover_image_url: string | null genre: string | null target_word_count: number | null settings: Json } Insert: { id?: string title: string description?: string | null status?: string word_count?: number created_at?: string updated_at?: string user_id: string author?: string | null cover_image_url?: string | null genre?: string | null target_word_count?: number | null settings?: Json } Update: { id?: string title?: string description?: string | null status?: string word_count?: number created_at?: string updated_at?: string user_id?: string author?: string | null cover_image_url?: string | null genre?: string | null target_word_count?: number | null settings?: Json } Relationships: [] } file_system_items: { Row: { id: string book_id: string parent_id: string | null name: string type: string content: string | null file_extension: string | null mime_type: string | null file_size: number | null file_url: string | null expanded: boolean sort_order: number created_at: string updated_at: string metadata: Json } Insert: { id?: string book_id: string parent_id?: string | null name: string type: string content?: string | null file_extension?: string | null mime_type?: string | null file_size?: number | null file_url?: string | null expanded?: boolean sort_order?: number created_at?: string updated_at?: string metadata?: Json } Update: { id?: string book_id?: string parent_id?: string | null name?: string type?: string content?: string | null file_extension?: string | null mime_type?: string | null file_size?: number | null file_url?: string | null expanded?: boolean sort_order?: number created_at?: string updated_at?: string metadata?: Json } Relationships: [ { foreignKeyName: "file_system_items_book_id_fkey" columns: ["book_id"] isOneToOne: false referencedRelation: "books" referencedColumns: ["id"] }, { foreignKeyName: "file_system_items_parent_id_fkey" columns: ["parent_id"] isOneToOne: false referencedRelation: "file_system_items" referencedColumns: ["id"] } ] } chats: { Row: { id: string book_id: string user_id: string title: string created_at: string updated_at: string model: string total_messages: number last_message_at: string } Insert: { id?: string book_id: string user_id: string title?: string created_at?: string updated_at?: string model?: string total_messages?: number last_message_at?: string } Update: { id?: string book_id?: string user_id?: string title?: string created_at?: string updated_at?: string model?: string total_messages?: number last_message_at?: string } Relationships: [ { foreignKeyName: "chats_book_id_fkey" columns: ["book_id"] isOneToOne: false referencedRelation: "books" referencedColumns: ["id"] }, { foreignKeyName: "chats_user_id_fkey" columns: ["user_id"] isOneToOne: false referencedRelation: "profiles" referencedColumns: ["id"] } ] } messages: { Row: { id: string chat_id: string type: string content: string created_at: string sequence_number: number model: string | null tool_results: Json | null context_info: Json | null } Insert: { id?: string chat_id: string type: string content: string created_at?: string sequence_number: number model?: string | null tool_results?: Json | null context_info?: Json | null } Update: { id?: string chat_id?: string type?: string content?: string created_at?: string sequence_number?: number model?: string | null tool_results?: Json | null context_info?: Json | null } Relationships: [ { foreignKeyName: "messages_chat_id_fkey" columns: ["chat_id"] isOneToOne: false referencedRelation: "chats" referencedColumns: ["id"] } ] } } Views: { [_ in never]: never } Functions: { [_ in never]: never } Enums: { [_ in never]: never } CompositeTypes: { [_ in never]: never } } } type DefaultSchema = Database[Extract] export type Tables< DefaultSchemaTableNameOrOptions extends | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"]) | { schema: keyof Database }, TableName extends DefaultSchemaTableNameOrOptions extends { schema: keyof Database } ? keyof (Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & Database[DefaultSchemaTableNameOrOptions["schema"]]["Views"]) : never = never, > = DefaultSchemaTableNameOrOptions extends { schema: keyof Database } ? (Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & Database[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends { Row: infer R } ? R : never : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] & DefaultSchema["Views"]) ? (DefaultSchema["Tables"] & DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends { Row: infer R } ? R : never : never export type TablesInsert< DefaultSchemaTableNameOrOptions extends | keyof DefaultSchema["Tables"] | { schema: keyof Database }, TableName extends DefaultSchemaTableNameOrOptions extends { schema: keyof Database } ? keyof Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] : never = never, > = DefaultSchemaTableNameOrOptions extends { schema: keyof Database } ? Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { Insert: infer I } ? I : never : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"] ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends { Insert: infer I } ? I : never : never export type TablesUpdate< DefaultSchemaTableNameOrOptions extends | keyof DefaultSchema["Tables"] | { schema: keyof Database }, TableName extends DefaultSchemaTableNameOrOptions extends { schema: keyof Database } ? keyof Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] : never = never, > = DefaultSchemaTableNameOrOptions extends { schema: keyof Database } ? Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { Update: infer U } ? U : never : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"] ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends { Update: infer U } ? U : never : never export type Enums< DefaultSchemaEnumNameOrOptions extends | keyof DefaultSchema["Enums"] | { schema: keyof Database }, EnumName extends DefaultSchemaEnumNameOrOptions extends { schema: keyof Database } ? keyof Database[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"] : never = never, > = DefaultSchemaEnumNameOrOptions extends { schema: keyof Database } ? Database[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName] : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"] ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions] : never export type CompositeTypes< PublicCompositeTypeNameOrOptions extends | keyof DefaultSchema["CompositeTypes"] | { schema: keyof Database }, CompositeTypeName extends PublicCompositeTypeNameOrOptions extends { schema: keyof Database } ? keyof Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"] : never = never, > = PublicCompositeTypeNameOrOptions extends { schema: keyof Database } ? Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName] : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"] ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions] : never export const Constants = { graphql_public: { Enums: {}, }, public: { Enums: {}, }, } as const