
    =hl                    X   d dl mZ d dlmZmZmZmZ d dlZddlm	Z	m
Z
 ddlmZmZmZmZmZmZmZ ddlmZmZmZmZ ddlmZ dd	lmZmZ dd
lmZmZm Z m!Z! ddl"m#Z# ddl$m%Z% ddl&m'Z' ddgZ( G d de      Z) G d de      Z* G d d      Z+ G d d      Z, G d d      Z- G d d      Z.y)    )annotations)ListMappingIterablecastN   )knowledge_base_create_params!knowledge_base_add_sources_params)	NOT_GIVENBodyQueryHeadersNoneTypeNotGiven	FileTypes)extract_filesmaybe_transformdeepcopy_minimalasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_raw_response_wrapperto_streamed_response_wrapperasync_to_raw_response_wrapper"async_to_streamed_response_wrapper)make_request_options)KnowledgeBaseResponse)KnowledgeBaseListResponseKnowledgeBaseResourceAsyncKnowledgeBaseResourcec            	      V   e Zd Zedd       Zedd       Zeeeeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddded	 	 	 	 	 	 	 	 	 	 	 ddZddded	 	 	 	 	 	 	 	 	 ddZ	ddded	 	 	 	 	 	 	 	 	 	 	 dd	Z
eeeddded
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddded	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)r    c                    t        |       S a  
        This property can be used as a prefix for any HTTP method call to return
        the raw response object instead of the parsed content.

        For more information, see https://www.github.com/RetellAI/retell-python-sdk#accessing-raw-response-data-eg-headers
        )$KnowledgeBaseResourceWithRawResponseselfs    o/var/www/html/phonemate/phone_mate_backend/venv/lib/python3.12/site-packages/retell/resources/knowledge_base.pywith_raw_responsez'KnowledgeBaseResource.with_raw_response!   s     4D99    c                    t        |       S z
        An alternative to `.with_raw_response` that doesn't eagerly read the response body.

        For more information, see https://www.github.com/RetellAI/retell-python-sdk#with_streaming_response
        )*KnowledgeBaseResourceWithStreamingResponser&   s    r(   with_streaming_responsez-KnowledgeBaseResource.with_streaming_response+   s     :$??r*   Nenable_auto_refreshknowledge_base_filesknowledge_base_textsknowledge_base_urlsextra_headersextra_query
extra_bodytimeoutc       	           t        |||||d      }
t        t        t        t        t
        f   |
      ddgg      }ddi|xs i }| j                  dt        |
t        j                        |t        ||||	      t        	      S )
  
        Create a new knowledge base

        Args:
          knowledge_base_name: Name of the knowledge base. Must be less than 40 characters.

          enable_auto_refresh: Whether to enable auto refresh for the knowledge base urls. If set to true, will
              retrieve the data from the specified url every 12 hours.

          knowledge_base_files: Files to add to the knowledge base. Limit to 25 files, where each file is
              limited to 50MB.

          knowledge_base_texts: Texts to add to the knowledge base.

          knowledge_base_urls: URLs to be scraped and added to the knowledge base. Must be valid urls.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        knowledge_base_namer0   r1   r2   r3   r1   <array>pathsContent-Typemultipart/form-data/create-knowledge-baser4   r5   r6   r7   bodyfilesoptionscast_to)r   r   r   r   strobject_postr   r	   KnowledgeBaseCreateParamsr   r   r'   r;   r0   r1   r2   r3   r4   r5   r6   r7   rD   rE   s               r(   createzKnowledgeBaseResource.create4   s    N  ':':(<(<':
 d73;#7>H^`iGjFkl ()>X=CVTVXzz$ 'C']']^(+Q[el *  
 	
r*   rB   c          	     r    |st        d|      | j                  d| t        ||||      t              S )a  
        Retrieve details of a specific knowledge base

        Args:
          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        @Expected a non-empty value for `knowledge_base_id` but received /get-knowledge-base/rB   rF   rG   
ValueError_getr   r   r'   knowledge_base_idr4   r5   r6   r7   s         r(   retrievezKnowledgeBaseResource.retrieves   sV    . !_`q_tuvvyy"#4"56(+Q[el *  
 	
r*   c          	     L    | j                  dt        ||||      t              S )List all knowledge bases/list-knowledge-basesrB   rR   rU   r   r   r'   r4   r5   r6   r7   s        r(   listzKnowledgeBaseResource.list   s5     yy#(+Q[el .  
 	
r*   c          	         |st        d|      ddi|xs i }| j                  d| t        ||||      t              S )U  
        Delete an existing knowledge base

        Args:
          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        rP   Accept*/*/delete-knowledge-base/rB   rR   rT   _deleter   r   rV   s         r(   deletezKnowledgeBaseResource.delete   sj    . !_`q_tuvv!5B]-@bB||%&7%89(+Q[el   
 	
r*   r1   r2   r3   r4   r5   r6   r7   c               .   |st        d|      t        |||d      }	t        t        t        t
        t        f   |	      ddgg      }
ddi|xs i }| j                  d| t        |	t        j                        |
t        ||||	      t        
      S )  
        Add sources to a knowledge base

        Args:
          knowledge_base_files: Files to add to the knowledge base. Limit to 25 files, where each file is
              limited to 50MB.

          knowledge_base_texts: Texts to add to the knowledge base.

          knowledge_base_urls: URLs to be scraped and added to the knowledge base. Must be valid urls.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        rP   r1   r2   r3   r1   r<   r=   r?   r@   /add-knowledge-base-sources/rB   rC   )rT   r   r   r   r   rH   rI   rJ   r   r
   KnowledgeBaseAddSourcesParamsr   r   r'   rW   r1   r2   r3   r4   r5   r6   r7   rD   rE   s              r(   add_sourcesz!KnowledgeBaseResource.add_sources   s    B !_`q_tuvv(<(<':
 d73;#7>H^`iGjFkl ()>X=CVTVXzz*+<*=> 'H'f'fg(+Q[el *  
 	
r*   c          	         |st        d|      |st        d|      | j                  d| d| t        ||||      t              S )a  
        Delete an existing source from knowledge base

        Args:
          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        rP   8Expected a non-empty value for `source_id` but received /delete-knowledge-base-source//source/rB   rR   rT   re   r   r   r'   	source_idrW   r4   r5   r6   r7   s          r(   delete_sourcez#KnowledgeBaseResource.delete_source  st    0 !_`q_tuvvWXaWdeff||,->,?x	{S(+Q[el *  
 	
r*   )returnr%   )rx   r-   r;   rH   r0   zbool | NotGivenr1   List[FileTypes] | NotGivenr2   zCIterable[knowledge_base_create_params.KnowledgeBaseText] | NotGivenr3   List[str] | NotGivenr4   Headers | Noner5   Query | Noner6   Body | Noner7   'float | httpx.Timeout | None | NotGivenrx   r   rW   rH   r4   r|   r5   r}   r6   r~   r7   r   rx   r   
r4   r|   r5   r}   r6   r~   r7   r   rx   r   rW   rH   r4   r|   r5   r}   r6   r~   r7   r   rx   NonerW   rH   r1   rz   r2   zHIterable[knowledge_base_add_sources_params.KnowledgeBaseText] | NotGivenr3   r{   r4   r|   r5   r}   r6   r~   r7   r   rx   r   rv   rH   rW   rH   r4   r|   r5   r}   r6   r~   r7   r   rx   r   __name__
__module____qualname__r   r)   r.   r   rM   rX   r^   rf   rn   rw    r*   r(   r    r        sb   : : @ @ 09;Ddm4= )-$("&;D=
 !=
 -	=

 9=
 b=
 2=
 &=
 "=
  =
 9=
 
=
J )-$("&;D

 &
 "
  
 9
 

L )-$("&;D

 &
 "
  
 9
 
#
2 )-$("&;D 
 
 & 
 " 
   
 9 
 
 
L <Eir4= )-$("&;D7
7
 9	7

 g7
 27
 &7
 "7
  7
 97
 
7
@ )-$("&;D"
"
 	"
 &"
 ""
  "
 9"
 
"
r*   c            	      V   e Zd Zedd       Zedd       Zeeeeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddded	 	 	 	 	 	 	 	 	 	 	 ddZddded	 	 	 	 	 	 	 	 	 ddZ	ddded	 	 	 	 	 	 	 	 	 	 	 dd	Z
eeeddded
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddded	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)r!   c                    t        |       S r$   ))AsyncKnowledgeBaseResourceWithRawResponser&   s    r(   r)   z,AsyncKnowledgeBaseResource.with_raw_response(  s     9>>r*   c                    t        |       S r,   )/AsyncKnowledgeBaseResourceWithStreamingResponser&   s    r(   r.   z2AsyncKnowledgeBaseResource.with_streaming_response2  s     ?tDDr*   Nr/   c       	        <  K   t        |||||d      }
t        t        t        t        t
        f   |
      ddgg      }ddi|xs i }| j                  dt        |
t        j                         d{   |t        ||||		      t        
       d{   S 7 %7 w)r9   r:   r1   r<   r=   r?   r@   rA   NrB   rC   )r   r   r   r   rH   rI   rJ   r   r	   rK   r   r   rL   s               r(   rM   z!AsyncKnowledgeBaseResource.create;  s     N  ':':(<(<':
 d73;#7>H^`iGjFkl ()>X=CVTVXZZ$,T3O3i3ijj(+Q[el *   
 
 	
j
s$   A0B2B
3 BBBBrB   c          	        K   |st        d|      | j                  d| t        ||||      t               d{   S 7 w)rO   rP   rQ   rB   rR   NrS   rV   s         r(   rX   z#AsyncKnowledgeBaseResource.retrievez  sd     . !_`q_tuvvYY"#4"56(+Q[el *  
 
 	
 
s   <AAAc          	     h   K   | j                  dt        ||||      t               d{   S 7 w)rZ   r[   rB   rR   Nr\   r]   s        r(   r^   zAsyncKnowledgeBaseResource.list  sC      YY#(+Q[el .  
 
 	
 
s   )202c          	        K   |st        d|      ddi|xs i }| j                  d| t        ||||      t               d{   S 7 w)r`   rP   ra   rb   rc   rB   rR   Nrd   rV   s         r(   rf   z!AsyncKnowledgeBaseResource.delete  sx     . !_`q_tuvv!5B]-@bB\\%&7%89(+Q[el  " 
 
 	
 
s   AAA	Arg   c               ^  K   |st        d|      t        |||d      }	t        t        t        t
        t        f   |	      ddgg      }
ddi|xs i }| j                  d| t        |	t        j                         d	{   |
t        ||||
      t               d	{   S 7 %7 w)ri   rP   rj   r1   r<   r=   r?   r@   rk   NrB   rC   )rT   r   r   r   r   rH   rI   rJ   r   r
   rl   r   r   rm   s              r(   rn   z&AsyncKnowledgeBaseResource.add_sources  s     B !_`q_tuvv(<(<':
 d73;#7>H^`iGjFkl ()>X=CVTVXZZ*+<*=>,T3T3r3rss(+Q[el *   
 
 	
s
s$   BB-B)
 B-$B+%B-+B-c          	        K   |st        d|      |st        d|      | j                  d| d| t        ||||      t               d{   S 7 w)rp   rP   rq   rr   rs   rB   rR   Nrt   ru   s          r(   rw   z(AsyncKnowledgeBaseResource.delete_source	  s     0 !_`q_tuvvWXaWdeff\\,->,?x	{S(+Q[el * " 
 
 	
 
s   AAAA)rx   r   )rx   r   ry   r   r   r   r   r   r   r   r*   r(   r!   r!   '  sb   ? ? E E 09;Ddm4= )-$("&;D=
 !=
 -	=

 9=
 b=
 2=
 &=
 "=
  =
 9=
 
=
J )-$("&;D

 &
 "
  
 9
 

L )-$("&;D

 &
 "
  
 9
 
#
2 )-$("&;D 
 
 & 
 " 
   
 9 
 
 
L <Eir4= )-$("&;D7
7
 9	7

 g7
 27
 &7
 "7
  7
 97
 
7
@ )-$("&;D"
"
 	"
 &"
 ""
  "
 9"
 
"
r*   c                      e Zd ZddZy)r%   c                J   || _         t        |j                        | _        t        |j                        | _        t        |j                        | _        t        |j
                        | _        t        |j                        | _        t        |j                        | _        y N)_knowledge_baser   rM   rX   r^   rf   rn   rw   r'   knowledge_bases     r(   __init__z-KnowledgeBaseResourceWithRawResponse.__init__/  s    --!!
 0##
 ,
	 .!!
 3&&
 5((
r*   Nr   r    rx   r   r   r   r   r   r   r*   r(   r%   r%   .      
r*   r%   c                      e Zd ZddZy)r   c                J   || _         t        |j                        | _        t        |j                        | _        t        |j                        | _        t        |j
                        | _        t        |j                        | _        t        |j                        | _        y r   )r   r   rM   rX   r^   rf   rn   rw   r   s     r(   r   z2AsyncKnowledgeBaseResourceWithRawResponse.__init__G  s    -3!!
 6##
 2
	 4!!
 9&&
 ;((
r*   Nr   r!   rx   r   r   r   r*   r(   r   r   F  r   r*   r   c                      e Zd ZddZy)r-   c                J   || _         t        |j                        | _        t        |j                        | _        t        |j                        | _        t        |j
                        | _        t        |j                        | _        t        |j                        | _        y r   )r   r   rM   rX   r^   rf   rn   rw   r   s     r(   r   z3KnowledgeBaseResourceWithStreamingResponse.__init___  s    -2!!
 5##
 1
	 3!!
 8&&
 :((
r*   Nr   r   r   r*   r(   r-   r-   ^  r   r*   r-   c                      e Zd ZddZy)r   c                J   || _         t        |j                        | _        t        |j                        | _        t        |j                        | _        t        |j
                        | _        t        |j                        | _        t        |j                        | _        y r   )r   r   rM   rX   r^   rf   rn   rw   r   s     r(   r   z8AsyncKnowledgeBaseResourceWithStreamingResponse.__init__w  s    -8!!
 ;##
 7
	 9!!
 >&&
 @((
r*   Nr   r   r   r*   r(   r   r   v  r   r*   r   )/
__future__r   typingr   r   r   r   httpxtypesr	   r
   _typesr   r   r   r   r   r   r   _utilsr   r   r   r   _compatr   	_resourcer   r   	_responser   r   r   r   _base_clientr   types.knowledge_base_responser   "types.knowledge_base_list_responser   __all__r    r!   r%   r   r-   r   r   r*   r(   <module>r      s    # 0 0  S S S S  & 9  0 A J"$@
AD
O D
ND
!1 D
N
 
0
 
0
 
0
 
r*   