
    "gi
                         d dl mZmZmZmZmZmZmZ d dlm	Z	 d dl
m
Z
  e	       Z G d de      Z G d de      Z G d d	e      Z G d
 de      Zy)    )ColumnIntegerStringDateTimeJSONText
ForeignKey)declarative_base)datetimec                      e Zd ZdZdZ eedd      Z e ed      dd      Z	 ee
d      Z ee
d      Z ee
d      Z eed      Z ee
d      Z eeej&                  d	      Z eeej&                  ej&                  d
      Zy)BnkAIReqResz1Stores AI request, response, and callback detailsbnk_ai_req_resTprimary_keyindexd   F)r   nullabler   defaultr   r   onupdater   N)__name__
__module____qualname____doc____tablename__r   r   idr   
request_idr   requestresponsecallback_resr   callback_urlcallback_res_headerr   r   utcnow
created_at
updated_at     B/var/www/html/BankruptcyAI-uat/bankruptcy-ai/src/modules/models.pyr   r      s    ;$M	T	6Bs4%@JTE*GdT*H$.L$.L 5(//EJJ(//HOO^cdJr)   r   c                      e Zd ZdZdZ eedd      Z ee edd      dd	      Z	 ee
d
      Z ee
d
      Z eed
      Z eed      Z eeej"                  d      Z eeej"                  ej"                  d      Zy)BnkParsedDocumentz/Stores LlamaParse extracted text from documentsbnk_parsed_documentsTr   bnk_ai_req_res.idCASCADEondeleteFr   r   r   r   )r   r   r   N)r   r   r   r   r   r   r   r   r	   ai_req_res_idr   
source_urlextracted_texttoken_countchunkedr   r   r%   r&   r'   r(   r)   r*   r,   r,      s    9*M	T	6B7J/BY$WbgostMu-JD51N51KWa(G(//EJJ(//HOO^cdJr)   r,   c                      e Zd ZdZdZ eedd      Z ee edd      dd	      Z	 eed
      Z
 eed
      Z eed
      Z eed
      Z eeej$                  d      Z eeej$                  ej$                  d      Zy)BnkDocumentChunkz"Stores chunks and their LLM outputbnk_document_chunksTr   zbnk_parsed_documents.idr/   r0   Fr2   r   r   r   N)r   r   r   r   r   r   r   r   r	   parsed_document_idchunk_indexr   
chunk_textr6   r   
llm_outputr   r   r%   r&   r'   r(   r)   r*   r9   r9   %   s    ,)M	T	6B4MXa)bmrz~51Ku-J51Kt,J(//EJJ(//HOO^cdJr)   r9   c                       e Zd ZdZdZ eedd      Z ee edd      dd	      Z	 ee
d
      Z eeej                  d      Z eeej                  ej                  d      Zy)BnkConsolidatedLLMOutputz6Stores final consolidated LLM response from all chunksbnk_consolidated_llm_outputsTr   r.   r/   r0   F)r   uniquer   r   r   N)r   r   r   r   r   r   r   r   r	   r3   r   consolidated_responser   r   r%   r&   r'   r(   r)   r*   r@   r@   3   sj    @2M	T	6B7J/BY$WbgptuM"4%8(//EJJ(//HOO^cdJr)   r@   N)
sqlalchemyr   r   r   r   r   r   r	   sqlalchemy.ext.declarativer
   r   Baser   r,   r9   r@   r(   r)   r*   <module>rG      sT    P P P 7 e$ e e eet eet er)   