Ë
    tPêjï  ã                   ó  — U d Z ddlmZmZ ddlmZmZmZ ddlm	Z	 ddl
mZmZ ddlmZ ddlmZ  e«       Zeed<    G d	„ d
e«      Z G d„ de«      Zej+                  ddg ee«      g¬«       ee«      fdededefd„«       Zy)zU
USAGE AI CHAT ENDPOINTS

/usage/ai/chat - Stream AI chat responses about usage data
é    )ÚFinalÚLiteral)Ú	APIRouterÚDependsÚRequest)ÚStreamingResponse)Ú	BaseModelÚField)ÚUserAPIKeyAuth)Úuser_api_key_authÚrouterc                   ó(   — e Zd ZU ed   ed<   eed<   y)ÚChatMessage)ÚuserÚ	assistantÚroleÚcontentN)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__Ústr© ó    ú�/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/proxy/management_endpoints/usage_endpoints/endpoints.pyr   r      s   … Ø
Ð%Ñ
&Ó&Ø„Lr   r   c                   óV   — e Zd ZU  edd¬«      Zee   ed<    edd¬«      Ze	dz  ed<   y)	ÚUsageAIChatRequest.z&Chat messages (user/assistant history))ÚdescriptionÚmessagesNzModel to use for AI chat)Údefaultr   Úmodel)
r   r   r   r
   r   Úlistr   r   r!   r   r   r   r   r   r      s/   … Ù"'¨Ð9aÔ"b€Hˆd�;ÑÓbÙ dÐ8RÔS€Eˆ3�‰:ÔSr   r   z/usage/ai/chatzBudget & Spend Tracking)ÚtagsÚdependenciesÚdataÚrequestÚuser_api_key_dictc              ƒ   ó  K  — ddl m}m} ddlm}  ||«      }|r|j
                  }n ||«      }| j                  D �cg c]  }|j                  |j                  dœ‘Œ }	}t         ||	| j                  ||¬«      dddd	œ¬
«      S c c}w ­w)zœ
    AI chat about usage data. Streams SSE events with the AI response.
    The AI agent has access to tools that query aggregated daily activity data.
    r   )Ú_user_has_admin_viewÚ$require_caller_user_id_for_non_admin)Ústream_usage_ai_chat)r   r   )r   r!   Úuser_idÚis_adminztext/event-streamzno-cacheÚno)zCache-ControlzX-Accel-Buffering)Ú
media_typeÚheaders)Ú/litellm.proxy.management_endpoints.common_utilsr)   r*   Ú@litellm.proxy.management_endpoints.usage_endpoints.ai_usage_chatr+   r,   r   r   r   r   r!   )
r%   r&   r'   r)   r*   r+   r-   r,   Úmr   s
             r   Úusage_ai_chatr4      s’   è ø€ ÷õñ +Ð+<Ó=€HÙØ#×+Ñ+‰á6Ð7HÓIˆØGKÇ}Á}ÖUÀ! §¡°1·9±9Ó=ÐU€HÐUäÙØØ—*‘*ØØô		
ð 'Ø",À4ÑHô	ð 	ùò Vùs   ‚<B
¾ BÁ,B
N)Ú__doc__Útypingr   r   Úfastapir   r   r   Úfastapi.responsesr   Úpydanticr	   r
   Úlitellm.proxy._typesr   Ú$litellm.proxy.auth.user_api_key_authr   r   r   r   r   Úpostr4   r   r   r   ú<module>r=      s£   ðò÷ "ç /Ñ /Ý /ß %å /Ý Bá“€ˆÓ ô�)ô ô
T˜ô Tð
 ‡�ØØ
#Ð	$ÙÐ+Ó,Ð-ð ó ñ )0Ð0AÓ(Bñ!Ø
ð!àð!ð &ò!óñ
!r   