
    Ti                     `   d dl Z d dlZd dlZ ej                  ej                  j
                  d      e_         ej                  ej                  j
                  d      e_         ed       d dl  ed       d dl	m
Z
mZmZmZmZmZmZmZmZ d dlmZ d d	lmZ d d
lmZ d dlZd dlmZ d dlmZ d dlmZ d dl Z  ed       d dl!m"Z"  ed       d dl#m$Z$  ed       d dl%m&Z&  ed       d dl'm(Z( d Z)e jT                  jW                  e,      Z-edefd       Z. ed        ee.      Z/ ed       e/ja                  e
jb                         e/ja                  ejb                         e/ja                  ejb                         e/ja                  ejb                         e/ja                  ejb                         e/ja                  ejb                         e/ja                  ejb                         e/ja                  ejb                         e/ja                  ejb                         e jd                  jg                  de jT                  ji                  e jT                  jW                  e-      dd            Z5 G d d e      Z6e jT                  ji                  e5d!      Z7e jT                  jq                  e7      re/js                  d" e6e7#      d!$       e/jg                  d%      d&        Z: ed'        e jv                  e"e/d()      Z<e=d*k(  rh d+Z> e?e jd                  jg                  d,d-      j                  d.             e?e jd                  jg                  d/d-      j                  d.            z  ZAd.ji                   eBe>eAd-hz
  z              xe jd                  d,<   e jd                  d/<    ej                         ZDeDj                  d0eFd1d23       eDj                         ZHd dlIZI ed4e jd                  jg                  d              eIj                  e<d5eHj                  6       yy)7    Nzutf-8)encodingzImporting websocket_router)*zImporting routers)	config_routerimage_routerroot_router	workspacecanvasssl_testchat_routersettingstool_confirmation)FileResponse)StaticFiles)FastAPI)asynccontextmanager)Scope)ResponsezImporting websocket_state)siozImporting websocket_service)broadcast_init_donezImporting config_service)config_servicezImporting tool_service)tool_servicec                     K   t        d       t        j                          d {    t        d       t                d {    y 7 "7 w)NzInitializing config_servicez Initializing broadcast_init_done)printr   
initializer        >/home/jay/workspace/tools/ai-image-gen/jaaz-app/server/main.pyr   r      s?     	
'(

#
#
%%%	
,-

 &s!   #AAAA
A
Aappc                z   K   t                d {    t        j                           d {    d  y 7 &7 w)N)r   r   )r   s    r   lifespanr    $   s1      ,

!
!
###	 #s   ;7;9;;zCreating FastAPI app)r    zIncluding routersUI_DIST_DIRreactdistc                   ,     e Zd Zdededef fdZ xZS )NoCacheStaticFilespathscopereturnc                    K   t         |   ||       d {   }|j                  dk(  r-d|j                  d<   d|j                  d<   d|j                  d<   |S 7 Bw)N   .no-store, no-cache, must-revalidate, max-age=0Cache-Controlno-cachePragma0Expires)superget_responsestatus_codeheaders)selfr&   r'   response	__class__s       r   r2   zNoCacheStaticFiles.get_responseC   sc     -dE::3&0`H_-)3HX&*-HY' ;s   AAAA)__name__
__module____qualname__strr   r   r2   __classcell__)r7   s   @r   r%   r%   B   s"    s 5 X  r   r%   assetsz/assets)	directory)name/c                     K   t        t        j                  j                  t        d            } d| j
                  d<   d| j
                  d<   d| j
                  d<   | S w)Nz
index.htmlr+   r,   r-   r.   r/   r0   )r   osr&   joinreact_build_dirr4   )r6   s    r   serve_react_apprE   Q   sT     BGGLL,GHH(XH_%!+HX"%HYOs   AAzCreating socketio appz
/socket.io)other_asgi_appsocketio_path__main__>   ::1	localhost	127.0.0.1no_proxy ,NO_PROXYz--porti  zPort to run the server on)typedefaulthelpu!   🌟Starting server, UI_DIST_DIR:rK   )hostport)LrB   sysioTextIOWrapperstdoutbufferstderrr   routers.websocket_routerroutersr   r   r   r   r	   r
   r   r   r   fastapi.responsesr   fastapi.staticfilesr   fastapir   argparse
contextlibr   starlette.typesr   starlette.responsesr   socketioservices.websocket_stater   services.websocket_servicer   services.config_servicer   services.tool_servicer   r   r&   dirname__file__root_dirr    r   include_routerrouterenvirongetrC   rD   r%   static_siteexistsmountrE   ASGIApp
socket_appr8   _bypasssetsplitcurrentsortedArgumentParserparseradd_argumentint
parse_argsargsuvicornrunrT   r   r   r   <module>r      s   	 
 	Rcjj//'B
Rcjj//'B
 " # &   D  D  D * +   * ! (  ! " ( # $ :   ! 2   .  77??8$
 
 
  x      ='' (   8?? #   ;%% &   6== !   9## $   <&& '   8?? #   ;%% &   $++ , **..GGOOHw10 1
  ggll?H577>>+IIi+kBIR    Xc#\R
z/G"**..R066s;<s


z2&,,S1@3 3G69hhwB4'(7* *BJJzRZZ
3 %X$$&F
sE8  :D	
-rzz~~m/LMGKK
499= r   