Ë
    MÞëj?  ã                  óR  — d Z ddlmZ ddlZddlZddlmZ ddlmZ	 ddl
mZ dZ eej                  j                  dd«      «      Z eej                  j                  d	d
«      «      Zddd„Zdd„Zdd„Z e«       Zedk(  r&ddlZ ede› �«        ej0                  eded¬«       yy)a”  CyberBrain26 - modularni monolit (Faze 4).

Spojuje webapp a safe_oi do jednoho FastAPI procesu s mount pointy:
  - /safe-oi/*   -> safe_oi (bezpecnostni API)
  - /v1/*, /ui, / -> webapp (worktree, terminal, openclaw, UI)
  - /health       -> agregovany stav vsech sluzeb

LiteLLM proxy zustava oddeleny proces (vlastni CLI, subprocess).

Monolit se defaultne spousti na portu 8080 (CB26_MONOLITH_PORT).
é    )ÚannotationsN)ÚFastAPI©Úappz4.0.0ÚCB26_MONOLITH_PORTÚ8080ÚCB26_LITELLM_PORTÚ4100c              ƒ  óp  K  — 	 t        j                  |¬«      4 ƒd{  –—† }|j                  |«      ƒ d{  –—† }|j                  dk  rdnd|j                  dœcddd«      ƒd{  –—†  S 7 ŒN7 Œ77 Œ	# 1 ƒd{  –—†7  sw Y   yxY w# t        $ r"}dt        |«      j                  dœcY d}~S d}~ww xY w­w)	z0Zavola health endpoint externi sluzby (litellm).)ÚtimeoutNiô  ÚokÚerror)ÚstatusÚhttpÚunavailable©r   r   )ÚhttpxÚAsyncClientÚgetÚstatus_codeÚ	ExceptionÚtypeÚ__name__)ÚnameÚurlr   ÚcÚrÚes         ú6/home/oem/CyberBrain26-unified/src/cyberbrain26/app.pyÚ_check_externalr       s£   è ø€ ðDÜ×$Ñ$¨WÔ5÷ 	ð 	¸Ø—e‘e˜C“j× ˆAà"#§-¡-°#Ò"5™$¸7ØŸ™ñ÷	÷ 	ò 	øØ øð	ø÷ 	÷ 	ñ 	ûô ò DØ'´$°q³'×2BÑ2BÑCÕCûðDüs•   ‚B6„B žA-ŸB ¢A3·A/¸#A3ÁB Á'A1Á(B Á,B6Á-B Á/A3Á1B Á3BÁ9A<Á:BÂB ÂB6ÂB Â	B3ÂB.Â(B3Â)B6Â.B3Â3B6c                ó   — 	 | dk(  r&ddl m} t        |j                  j                  «      }n/| dk(  r&ddlm} t        |j                  j                  «      }nddiS d|dd	œS # t
        $ r"}d
t        |«      j                  dœcY d}~S d}~ww xY w)zDInterni kontrola sub-app (safe_oi, webapp) - jsou soucasti monolitu.Úsafe_oir   r   Úwebappr   Úunknownr   Úinternal)r   Úroutesr   r   r   N)Úcyberbrain26.services.safe_oir   Úlenr&   Úcyberbrain26.services.webappr   r   r   )r   Ú_safe_oi_modÚnÚ_webapp_modr   s        r   Ú_check_internalr-   )   s„   € ð>Ø�9ÒÝIÜ�L×$Ñ$×+Ñ+Ó,‰AØ�XÒÝGÜ�K—O‘O×*Ñ*Ó+‰Aà˜iÐ(Ð(Ø¨!°ZÑ@Ð@øÜò >Ø!¬D°«G×,<Ñ,<Ñ=Õ=ûð>ús$   ‚AA" ÁA" Á"	BÁ+BÂBÂBc                 ó¸   — t        dt        d¬«      } | j                  ddg¬«      d
d„«       }| j                  dt        «       | j                  d	t
        «       | S )NÚCyberBrain26z-Modularni monolit (Faze 4) - webapp + safe_oi)ÚtitleÚversionÚdescriptionz/healthÚmeta)Útagsc               “  óÜ   K  — t        ddt        › d�«      ƒ d{  –—† } | t        d«      t        d«      dœ}t        d„ |j	                  «       D «       «      rd	nd
}|t
        t        |dœS 7 ŒO­w)z3Vrati stav vsech sluzeb (safe_oi, webapp, litellm).Úlitellmzhttp://127.0.0.1:z/health/livelinessNr"   r#   )r6   r"   r#   c              3  óD   K  — | ]  }|j                  d «      dk(  –— Œ y­w)r   r   N)r   )Ú.0Úss     r   ú	<genexpr>z7create_app.<locals>.aggregate_health.<locals>.<genexpr>P   s   è ø€ ÒK°A˜Ÿ™˜h›¨4Õ/ÑKùs   ‚ r   Údegraded)r   r1   Úmonolith_portÚservices)r    ÚLITELLM_PORTr-   ÚallÚvaluesÚVERSIONÚMONOLITH_PORT)Ú
ext_resultr=   Úoveralls      r   Úaggregate_healthz$create_app.<locals>.aggregate_healthA   s�   è ø€ ô +ØØ¤˜~Ð-?Ð@ó
÷ 
ˆ
ð "Ü& yÓ1Ü% hÓ/ñ
ˆô ÑK¸¿¹Ó9JÔKÔK‰DØð 	ð
 ÜÜ*Ø ñ	
ð 	
ð
ús   ‚A,šA*›AA,z/safe-oiú/)ÚreturnÚdict)r   rA   r   ÚmountÚ_safe_oi_appÚ_webapp_app)r   rE   s     r   Ú
create_apprL   9   s[   € Ü
ØÜØCô€Cð 	‡W�WˆY˜f˜X€WÓ&ò
ó 'ð
ð4 ‡I�Iˆjœ,Ô'Ø‡I�Iˆc”;Ôà€Jó    Ú__main__zCyberBrain26 monolit na portu z0.0.0.0Úinfo)ÚhostÚportÚ	log_level)g      ð?)r   Ústrr   rS   r   ÚfloatrG   rH   )r   rS   rG   rH   )rG   r   )Ú__doc__Ú
__future__r   Úosr   Úfastapir   Ú!cyberbrain26.services.safe_oi.appr   rJ   Ú cyberbrain26.services.webapp.apprK   rA   ÚintÚenvironr   rB   r>   r    r-   rL   r   ÚuvicornÚprintÚrun© rM   r   ú<module>ra      s§   ðñ
õ #ã 	ã Ý å AÝ ?à
€á�B—J‘J—N‘NÐ#7¸Ó@ÓA€Ù�2—:‘:—>‘>Ð"5°vÓ>Ó?€ô
Dó>ó &ñR ƒl€ð ˆzÒÛÙ	Ð*¨=¨/Ð
:Ô;Ø€G‡K�K�˜)¨-À6ÖJð rM   