Team Ai
Apppublic

Yash030/claude-code-proxy

sourceHugging Faceupdated 5mo agoView on Hugging Face
2likes
app.cpython-312.pyc58 linesDownload Raw Back to __pycache__
1�

2sj��� �dZddlZddlmZddlmZddlmZmZddl	m3Z4ddlmZddl
mZdd	lmZdd5lmZmZmZddlmZddlmZdd
lmZddlmZddlmZddlm Z m!Z!ddl"m#Z#edefd��Z$Gd�d�Z%dd�de&defd�Z'de%fd�Z(y)z.FastAPI application factory and configuration.�N)�asynccontextmanager)�Any)�FastAPI�Request)�$request_validation_exception_handler)�RequestValidationError)�JSONResponse)�logger)�Receive�Scope�Send)�configure_logging)�get_settings)�
ProviderError�)�router)�6AppRuntime�startup_failure_message)�!summarize_request_validation_body�appc�K�tj|t���}|j��d{���d���|j	��d{���y7�"7��w)zApplication lifespan manager.��settingsN)r�for_appr�startup�shutdown)r�runtimes  �2C:\Users\yashw\.claude\claude-code-free\api\app.py�lifespanrsL����� � ��|�~�>�G�7�/�/�8���	�9�10�11�12���	���s!�3A�A�A�A�A�Ac�X�eZdZdZdefd�Zdedefd�Zde	de13d	edd14fd�Zde15d	edd16fd�Z
y17)
�GracefulLifespanAppzHASGI wrapper that reports startup failures without Starlette tracebacks.rc��||_y�N)r)�selfrs  r�__init__zGracefulLifespanApp.__init__&s	������name�returnc�.�t|j|�Sr#)�getattrr)r$r's  r�__getattr__zGracefulLifespanApp.__getattr__)s���t�x�x��&�&r&�scope�receive�sendNc��K�|ddk7r|j|||��d{���y|j||��d{���y7� 7��w)N�typer)r�	_lifespan)r$r,r-r.s    r�__call__zGracefulLifespanApp.__call__,sH������=�J�&��(�(�5�'�4�0�0�0���n�n�W�d�+�+�+�
1��+�s�A�A�A�A�A�Ac��K�t�}tj|j|��}d}	|��d{���}|ddk(r.	|j	��d{���d}|ddi��d{����F|dd	k(r.|r	|j��d{���|dd
i��d{���y�|7�q7�R#t18$r(}|dt
||�d���d{���7Yd}~yd}~wwxYw7�t7�R#t19$rG}tjd20t|�j�|ddd���d{���7Yd}~yd}~wwxYw7���w)NrFTr0zlifespan.startupzlifespan.startup.failed�r0�messagezlifespan.startup.completezlifespan.shutdownzShutdown failed: exc_type={}zlifespan.shutdown.failed�zlifespan.shutdown.complete)rrrrr�	Exceptionrrr21�errorr0�__name__)r$r-r.rr�startup_completer5�excs        rr1zGracefulLifespanApp._lifespan2sP�����>���$�$�T�X�X��A�� ���#�I�o�G��v��"4�4�	�!�/�/�+�+�+�$(� ��F�$?�@�A�A�A���v��"5�5�#��%�.�.�0�0�0�22�F�$@�A�B�B�B��5�%��,�� ���$=�'>�x��'M���������B��1��$�����%C�T�#�Y�EW�EW�X�"�,F�SU�#V�W�W�W�����C�s��9D>�B-�D>�	B1�B/�B1�!D>�0C%�1D>�C)�C'�C)�
D>�&D<�'D>�/B1�1	C"�:C�C�C�D>�C"�"D>�'C)�)	D9�27D4�)D,�*D4�/D>�4D9�9D>)r9�23__module__�__qualname__�__doc__rr%�strrr+rrr
r2r1�r&rr!r!#s_��R��G��'��'��'�,�E�,�G�,�4�,�D�,��w��d��t�r&r!T��lifespan_enabledrBr(c���t�}t|j|j��ddd�}|r	t|d<tdi|��}|j
t�|j
t�|jt�dtdtfd��}|jt�dtdtfd	��}|jt�dtdtfd24��}|S)z-Create and configure the FastAPI application.)�verbose_third_partyzClaude Code Proxyz2.0.0)�title�versionr�requestr;c��bK�	|j��d{���}t	|�\}}tjd|jjt|jj�|j�D�cgc]}t|jdd����c}|j�D�cgc]}t|jdd����c}||�t||��d{���S7��#t$r!}dt|�ji}Yd}~��d}~wwxYwcc}wcc}w7�=�w)z;Log request shape for 422 debugging without content values.N�_json_errorziRequest validation failed: path={} query={} error_locs={} error_types={} message_summary={} tool_names={}�locr@r0r6)�jsonr7r0r9rr25�debug�url�pathr?�query�errors�list�getr)rGr;�body�e�message_summary�26tool_namesr8s       r�validation_error_handlerz,create_app.<locals>.validation_error_handlergs�����	5� ����'�D�'H��&M�#������w��K�K�������!�!�"�58�Z�Z�\�B�\�E�T�%�)�)�E�2�&�
'�\�B�58�Z�Z�\�B�\�E�S����6�2�&�
'�\�B���	27�:�'�3�G�G�G�(���	5�!�4��7�#3�#3�4�D��	5��
C��B�H�sb�D/�C6�C4�C6�A#D/�?"D#�!D/�5"D(�D/�/D-�0D/�4C6�6	D �?D�D/�D � D/c��DK�t�}|jr7tjd|j|j28|j�n+tjd|j|j29�t|j30|j���S�w)z<Handle provider-specific errors and return Anthropic format.z7Provider Error: error_type={} status_code={} message={}z,Provider Error: error_type={} status_code={}��status_code�content)	r�log_api_error_tracebacksr31r8�32error_typerZr5r	�to_anthropic_format)rGr;�err_settingss   r�provider_error_handlerz*create_app.<locals>.provider_error_handler}s}����$�~���0�0��L�L�I����������	
�
�L�L�>�������
�33�����+�+�-�34�	35�s�BB c��jK�t�}|jr>tjd|�tjt	j36��nItjd|jj|jt|�j�tddddd�d��	�S�w)37z2Handle general errors and return Anthropic format.zGeneral Error: {}z,General Error: path={} method={} exc_type={}i�r8�	api_errorzAn unexpected error occurred.r4)r0r8rY)rr\r38r8�	traceback�39format_excrMrN�methodr0r9r	)rGr;rs   r�general_error_handlerz)create_app.<locals>.general_error_handler�s����� �>���,�,��L�L�,�c�2��L�L��-�-�/�0��L�L�>���� � �����S�	�"�"�	
����'�>���	40�		41�s�B1B3r@)rr�log_file�log_raw_api_payloadsrr�include_routerr�admin_router�exception_handlerrrrr7)rBr�42app_kwargsrrWr`rfs       r�43create_apprmSs����~�H�����x�/L�/L��44%��"�J��!)�45�:��46�47�J�48�C����v�����|�$�	���1�2�H��H�>T�H�3�H�*	���=�)�49�g�50�M�51�*�52�*	���9�%�53�W�54�9�55�&�56�0�Jr&c�,�ttd���S)zDCreate the server ASGI app with graceful lifespan failure reporting.FrA)r!rmr@r&r�create_asgi_appro�s���z�5�A�B�Br&))r>rc�57contextlibr�typingr�fastapirr�fastapi.exception_handlersr�fastapi.exceptionsr�fastapi.responsesr	�logurur58�starlette.typesrrr
�config.logging_configr�config.settingsr�providers.exceptionsr�adminrrj�routesrrr�validation_logrrr!�boolrmror@r&r�<module>rs���4��*��$�K�5�*��0�0�3�(�.�)��8�=�������-�-�`,0�Y�D�Y�G�Y�xC�,�Cr&