
    hA"                        d dl mZmZmZmZ d dl d dlmZmZ d dl	m
Z
  e       Zej                  d ee      gdg      ej                  d ee      gdg       ee      fd	ed
edefd              Zej                  d ee      gdg      ej                  d ee      gdg       ee      fded	ed
edefd              Zej#                  d ee      gdg      ej#                  d ee      gdg       ee      fded	ed
edefd              Zej                  d ee      gdg      ej                  d ee      gdg       ee      fded	ed
edefd              Zy)    )	APIRouterDependsRequestResponse)*)UserAPIKeyAuthuser_api_key_auth)ProxyBaseLLMRequestProcessingz/v1/responses	responses)dependenciestagsz
/responsesrequestfastapi_responseuser_api_key_dictc                 6  K   ddl m}m}m}m}m}m}m}	m}
m	}m
}m}m}  ||        d{   }t        |      }	 |j                  | ||d|||||d||||
|	|       d{   S 7 :7 # t        $ r#}|j!                  ||||       d{  7  d}~ww xY ww)	aQ  
    Follows the OpenAI Responses API spec: https://platform.openai.com/docs/api-reference/responses

    ```bash
    curl -X POST http://localhost:4000/v1/responses     -H "Content-Type: application/json"     -H "Authorization: Bearer sk-1234"     -d '{
        "model": "gpt-4o",
        "input": "Tell me about AI"
    }'
    ```
    r   _read_request_bodygeneral_settings
llm_routerproxy_configproxy_logging_objselect_data_generatoruser_api_baseuser_max_tokens
user_modeluser_request_timeoutuser_temperatureversionr   Ndata
aresponsesr   r   r   
route_typer   r   r   r   r   modelr   r   r   r   r   r   er   r   r   litellm.proxy.proxy_serverr   r   r   r   r   r   r   r   r   r   r   r   r
   base_process_llm_request	Exception_handle_llm_api_exception)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r!   	processorr'   s                     j/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/proxy/response_api_endpoints/endpoints.pyresponses_apir/   
   s     8    $G44D-48I
77-/#/!-%"7!-!5+'! 8 
 
 	
 5
$  
77//	 8 
 
 
 	

sP   )BA&B$A* !A("A* %B(A* *	B3BBBBBz/v1/responses/{response_id}z/responses/{response_id}response_idc                 @  K   ddl m}m}m}m}m}m}	m}
m}m	}m
}m}m}  ||       d{   }| |d<   t        |      }	 |j                  |||d|||||	d|||||
|       d{   S 7 ?7 # t        $ r#}|j!                  ||||	       d{  7  d}~ww xY ww)
a  
    Get a response by ID.
    
    Follows the OpenAI Responses API spec: https://platform.openai.com/docs/api-reference/responses/get
    
    ```bash
    curl -X GET http://localhost:4000/v1/responses/resp_abc123     -H "Authorization: Bearer sk-1234"
    ```
    r   r   r   Nr0   r    aget_responsesr#   r&   r(   r0   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r!   r-   r'   s                      r.   get_responser4   S   s     4    $G44D%D-48I
77-/'/!-%"7!-!5+'! 8 
 
 	
	 5
$  
77//	 8 
 
 
 	

Q   )BA+B$A/ &A-'A/ *B-A/ /	B8BBBBBc                 @  K   ddl m}m}m}m}m}m}	m}
m}m	}m
}m}m}  ||       d{   }| |d<   t        |      }	 |j                  |||d|||||	d|||||
|       d{   S 7 ?7 # t        $ r#}|j!                  ||||	       d{  7  d}~ww xY ww)
a  
    Delete a response by ID.
    
    Follows the OpenAI Responses API spec: https://platform.openai.com/docs/api-reference/responses/delete
    
    ```bash
    curl -X DELETE http://localhost:4000/v1/responses/resp_abc123     -H "Authorization: Bearer sk-1234"
    ```
    r   r   r   Nr0   r    adelete_responsesr#   r&   r(   r3   s                      r.   delete_responser8      s     4    $G44D%D-48I
77-/*/!-%"7!-!5+'! 8 
 
 	
	 5
$  
77//	 8 
 
 
 	

r5   z'/v1/responses/{response_id}/input_itemsz$/responses/{response_id}/input_itemsc                 @  K   ddl m}m}m}m}m}m}	m}
m}m	}m
}m}m}  ||       d{   }| |d<   t        |      }	 |j                  |||d|||||	d|||||
|       d{   S 7 ?7 # t        $ r#}|j!                  ||||	       d{  7  d}~ww xY ww)
z List input items for a response.r   r   r   Nr0   r    alist_input_itemsr#   r&   r(   r3   s                      r.   get_response_input_itemsr;      s     "    $G44D%D-48I
77-/*/!-%"7!-!5+'! 8 
 
 	
	 5
$  
77//	 8 
 
 
 	

r5   N)fastapir   r   r   r   litellm.proxy._types$litellm.proxy.auth.user_api_key_authr   r	   'litellm.proxy.common_request_processingr
   routerpostr/   getstrr4   deleter8   r;        r.   <module>rG      sX   9 9 " R Q	 +,-
  
 +,-
   )00A(B<
<
<
 &<
<
~ !+,-
  
 +,-
   )00A(B	;
;
;
 ;
 &	;
;
| !+,-
  
 +,-
   )00A(B	;
;
;
 ;
 &	;
;
| -+,-
  
 *+,-
   )00A(B	2
2
2
 2
 &	2
2
rF   