§
    ÏKÊh 
  ã                   óD   — d Z ddlmZmZmZ ddlmZ  G d„ d¦  «        ZdS )z:
AI Service
Handles AI generation using DeepSite workflow
é    )ÚAsyncGeneratorÚDictÚAny)Ú
AIWorkflowc            	       ót   — e Zd Zd„ Z	 d
dededeedf         fd„Zdedefd„Z	 d
dededeee	f         fd	„Z
dS )Ú	AIServicec                 ó,   — t          ¦   «         | _        d S ©N)r   Úai_workflow)Úselfs    úB/var/www/html/web-builder-api.evdpl.com/src/services/ai_service.pyÚ__init__zAIService.__init__
   s   € Ý%™<œ<ˆÔÐÐó    NÚpromptÚconversation_idÚreturnc                ó¾   K  — 	 | j                              ||pd¬¦  «        2 3 d{V —†}|W V — Œ6 dS # t          $ r }dt          |¦  «        › W V — Y d}~dS d}~ww xY w)zR
        Generate streaming AI response using existing LangGraph workflow
        Údefault©r   Ú	thread_idNúError: )r   Úgenerate_responseÚ	ExceptionÚstr)r   r   r   ÚchunkÚes        r   Úgenerate_streaming_responsez%AIService.generate_streaming_response   sÅ   è è € ð		%à#Ô/×AÒAØØ)Ð6¨Yð  Bñ  ô  ð ð ð ð ð ð ð eð ð	 ð  ð  øõ ð 	%ð 	%ð 	%Ø$C ™FœFÐ$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$øøøøð	%øøøs   „2 ¢/¨2 ²
A¼AÁAÚresponsec                 óÒ   — d|v rP|                      d¦  «        dz   }|                      d|¦  «        }||k    r|||…                              ¦   «         S |                     ¦   «         S )z7
        Extract HTML content from AI response
        z```htmlé   z```)ÚfindÚstrip)r   r   ÚstartÚends       r   Ú_extract_html_from_responsez%AIService._extract_html_from_response    sn   € ð
 ˜Ð Ð Ø—M’M )Ñ,Ô,¨qÑ0ˆEà—-’-  uÑ-Ô-ˆCØUŠ{ˆ{Ø  c 	Ô*×0Ò0Ñ2Ô2Ð2ð ~Š~ÑÔÐr   c              ƒ   ó:  K  — 	 | j                              ||pd¬¦  «        ƒ d{V —†}|                     dd¦  «        pd}|                      |¦  «        }|d||                     d¦  «        dœS # t          $ r!}d	t          |¦  «        › d|ddœcY d}~S d}~ww xY w)
zT
        Generate synchronous AI response using existing LangGraph workflow
        r   r   Nr   Ú TÚerror)ÚcontentÚis_completer   r(   r   )r   Úgenerate_response_syncÚgetr%   r   r   )r   r   r   ÚresultÚraw_responseÚextracted_htmlr   s          r   Úgenerate_sync_responsez AIService.generate_sync_response/   s  è è € ð	àÔ+×BÒBØØ)Ð6¨Yð Cñ ô ð ð ð ð ð ð ˆFð "Ÿ:š: j°"Ñ5Ô5Ð;¸ˆLØ!×=Ò=¸lÑKÔKˆNð *Ø#Ø#2ØŸš GÑ,Ô,ð	ð ð øõ ð 	ð 	ð 	à-¥S¨¡V¤VÐ-Ð-Ø#Ø#2Øð	ð ð ð ð ð ð ð øøøøð	øøøs   „A*A/ Á/
BÁ9BÂBÂBr
   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r%   r   r   r0   © r   r   r   r   	   sÊ   € € € € € ð(ð (ð (ð  $ð%ð %àð%ð ð%ð 
˜˜T˜	Ô	"ð	%ð %ð %ð %ð& °Cð  ¸Cð  ð  ð  ð  ð$  $ð ð  àð ð ð ð 
ˆc3ˆhŒð	 ð  ð  ð  ð  ð  r   r   N)Ú__doc__Útypingr   r   r   Úworkflows.ai_workflowr   r   r4   r   r   ú<module>r8      s}   ððð ð
 -Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ðFð Fð Fð Fð Fñ Fô Fð Fð Fð Fr   