Ë
    uPêj¶Œ  ã                   óì	  — d Z ddlZddlZddlZddlmZmZ ddlm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d	lmZ dd
l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" ddl#m$Z$  e«       Z%	 d3de&e   dz  fd„Z'	 d3dedz  fd„Z(e"	 	 	 	 	 	 	 	 	 	 d4de)dz  de&e)   dz  de*dz  de*dz  de*e)e)f   dz  de*e)e+f   dz  de*e)e+f   dz  de*e)e+f   dz  de,ejZ                  z  dz  de)dz  defd„«       Z.e"	 	 	 	 	 	 	 	 	 	 d4de)dz  de&e)   dz  de*dz  de*dz  de*e)e)f   dz  de*e)e+f   dz  de*e)e+f   dz  de*e)e+f   dz  de,ejZ                  z  dz  de)dz  deee+e+ef   z  fd„«       Z/e"	 	 	 	 	 	 	 	 	 d5de)d e)e&e)   z  d!e*dz  d"e0dz  d#e*dz  d$e1dz  de*e)e+f   dz  de*e)e+f   dz  de*e)e+f   dz  de,ejZ                  z  dz  de)dz  defd%„«       Z2e"	 	 	 	 	 	 	 	 	 d5de)d e)e&e)   z  d!e*dz  d"e0dz  d#e*dz  d$e1dz  de*e)e+f   dz  de*e)e+f   dz  de*e)e+f   dz  de,ejZ                  z  dz  de)dz  deee+e+ef   z  fd&„«       Z3e"	 	 	 	 	 d6de)de*e)e+f   dz  de*e)e+f   dz  de*e)e+f   dz  de,ejZ                  z  dz  de)dz  defd'„«       Z4e"	 	 	 	 	 d6de)de*e)e+f   dz  de*e)e+f   dz  de*e)e+f   dz  de,ejZ                  z  dz  de)dz  deee+e+ef   z  fd(„«       Z5e"	 	 	 	 	 	 	 	 	 d7d)e)dz  d*e)dz  d+e0dz  d,e)dz  de*e)e+f   dz  de*e)e+f   dz  de*e)e+f   dz  de,ejZ                  z  dz  de)dz  dee)e+f   fd-„«       Z6e"	 	 	 	 	 	 	 	 	 d7d)e)dz  d*e)dz  d+e0dz  d,e)dz  de*e)e+f   dz  de*e)e+f   dz  de*e)e+f   dz  de,ejZ                  z  dz  de)dz  fd.„«       Z&e"	 	 	 	 	 	 	 	 d8de)de)dz  de*dz  de*e)e)f   dz  de*e)e+f   dz  de*e)e+f   dz  de*e)e+f   dz  de,ejZ                  z  dz  de)dz  defd/„«       Z7e"	 	 	 	 	 	 	 	 d8de)de)dz  de*dz  de*e)e)f   dz  de*e)e+f   dz  de*e)e+f   dz  de*e)e+f   dz  de,ejZ                  z  dz  de)dz  deee+e+ef   z  fd0„«       Z8e"	 	 	 	 	 d6de)de*e)e+f   dz  de*e)e+f   dz  de*e)e+f   dz  de,ejZ                  z  dz  de)dz  dee)e+f   fd1„«       Z9e"	 	 	 	 	 d6de)de*e)e+f   dz  de*e)e+f   dz  de*e)e+f   dz  de,ejZ                  z  dz  de)dz  fd2„«       Z:y)9z@
LiteLLM SDK Functions for Creating and Searching Vector Stores
é    N)Ú	CoroutineÚMapping)Úpartial)ÚFinal)Úrequest_timeout)Úget_llm_provider)ÚLogging)ÚBaseLLMHTTPHandler)ÚGenericLiteLLMParams)Ú&VectorStoreCreateOptionalRequestParamsÚVectorStoreCreateResponseÚVectorStoreFileCountsÚVectorStoreResultContentÚ&VectorStoreSearchOptionalRequestParamsÚVectorStoreSearchResponseÚVectorStoreSearchResult)ÚProviderConfigManagerÚclient)ÚVectorStoreRequestUtilsÚmock_resultsc                 óV   — | €t        dt        dd¬«      g¬«      g} t        dd| ¬«      S )	z%Mock response for vector store searchgffffffî?z5This is a sample search result from the vector store.Útext)r   Útype)ÚscoreÚcontentz vector_store.search_results.pagezsample query)ÚobjectÚsearch_queryÚdata)r   r   r   ©r   s    ú_/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/vector_stores/main.pyÚ!mock_vector_store_search_responser!   &   sG   € ð Ðä#Øä,ØTØ#ôðôð

ˆô %Ø1Ø#Øôð ó    Úmock_responsec                 óR   — | €$t        dddddt        ddddd¬«      ddddd¬	«      } | S )
z%Mock response for vector store createNÚ
vs_mock123Úvector_storei EezMock Vector Storer   )Úin_progressÚ	completedÚfailedÚ	cancelledÚtotalr(   )Úidr   Ú
created_atÚnameÚbytesÚfile_countsÚstatusÚexpires_afterÚ
expires_atÚlast_active_atÚmetadata)r   r   ©r#   s    r    Ú!mock_vector_store_create_responser7   >   sS   € ð ÐÜ1ØØ!Ø!Ø$ØÜ-ØØØØØôð ØØØØô#
ˆð( Ðr"   r.   Úfile_idsr2   Úchunking_strategyr5   Úextra_headersÚextra_queryÚ
extra_bodyÚtimeoutÚcustom_llm_providerÚreturnc
              ‹   óÀ  K  — t        «       }	 t        j                  «       }d|
d<   |	€d}	t        t        f| |||||||||	dœ
|
¤Ž}t        j                  «       }t        |j                  |«      }|j                  d|«      ƒ d{  –—† }t        j                  |«      r|ƒ d{  –—† }|S |}|S 7 Œ)7 Œ# t        $ r}t        j                  d|	|||
¬«      ‚d}~ww xY w­w)z'
    Async: Create a vector store.
    TÚacreateNÚopenai)
r.   r8   r2   r9   r5   r:   r;   r<   r=   r>   ©Úmodelr>   Úoriginal_exceptionÚcompletion_kwargsÚextra_kwargs)ÚlocalsÚasyncioÚget_event_loopr   ÚcreateÚcontextvarsÚcopy_contextÚrunÚrun_in_executorÚiscoroutineÚ	ExceptionÚlitellmÚexception_type)r.   r8   r2   r9   r5   r:   r;   r<   r=   r>   ÚkwargsÚ
local_varsÚloopÚfuncÚctxÚfunc_with_contextÚinit_responseÚresponseÚes                      r    rA   rA   Z   s  è ø€ ô( ›€Jð(
Ü×,Ñ,Ó.ˆØ ˆˆyÑð Ð&Ø"*ÐäÜð
àØØ'Ø/ØØ'Ø#Ø!ØØ 3ñ
ð ñ
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHàˆð  Søð +ùô
 ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
üsY   ‚CŽA7B3 ÂB/ÂB3 Â$B1Â%B3 Â*CÂ+B3 Â.CÂ/B3 Â1B3 Â3	CÂ<CÃCÃCc
                 ó$  — t        «       }	 |
j                  d«      }|
j                  dd«      }|
j                  dd«      du }t        di |
¤Ž}|j                  r9t        |j                  t        «      rt        t        di |j                  ¤Ž¬«      S |	€d}	d	|	v rt        |	dd¬
«      \  }}	}}nd}|	}	t        j                  t        j                  |	«      |¬«      }|€t        d|	› �«      ‚|j                  |
«       t!        j"                  |«      }|j%                  |
dd| i|¥d|i|	¬«       t&        j)                  |||	|||||xs t*        ||
j                  d«      ¬«
      }|S # t,        $ r}t        j.                  d|	|||
¬«      ‚d}~ww xY w)aÙ  
    Create a vector store.

    Args:
        name: The name of the vector store.
        file_ids: A list of File IDs that the vector store should use.
        expires_after: The expiration policy for the vector store.
        chunking_strategy: The chunking strategy used to chunk the file(s).
        metadata: Set of 16 key-value pairs that can be attached to an object.

    Returns:
        VectorStoreCreateResponse containing the created vector store details.
    Úlitellm_logging_objÚlitellm_call_idNrA   FTr6   rB   ú/©rD   r>   Úlitellm_params©ÚproviderÚapi_typez)Vector store create is not supported for r.   ©rT   rD   Úoptional_paramsrb   r>   r   )
Ú#vector_store_create_optional_paramsÚvector_store_provider_configr>   rb   Úlogging_objr:   r<   r=   Ú	_is_asyncr   rC   © )rH   ÚgetÚpopr   r#   Ú
isinstanceÚdictr7   r   r   r   Ú!get_provider_vector_stores_configrR   ÚLlmProvidersÚ
ValueErrorÚupdater   Ú0get_requested_vector_store_create_optional_paramÚupdate_from_kwargsÚbase_llm_http_handlerÚvector_store_create_handlerr   rQ   rS   )r.   r8   r2   r9   r5   r:   r;   r<   r=   r>   rT   rU   r^   r_   rk   rb   re   Ú_ri   rh   r[   r\   s                         r    rK   rK   š   sò  € ô< ›€JðO
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: i°Ó7¸4Ð?ˆ	ô !5Ñ >°vÑ >ˆð ×'Ò'¬J°~×7SÑ7SÔUYÔ,ZÜ4Ü7ÑW¸.×:VÑ:VÑWôð ð
 Ð&Ø"*ÐàÐ%Ñ%Ü2BØ)Ø$(Ø#ô3Ñ/ˆHÐ)¨1©að ˆHØ"5Ðô /D×.eÑ.eÜ×)Ñ)Ð*=Ó>Øô/
Ð$ð
 (Ð/ÜÐHÐI\ÐH]Ð^Ó_Ð_à×Ñ˜&Ô!ô $×TÑTÐU_Ó`ð 	,ð
 	×.Ñ.ØØà˜ðà5ðð
 " ?ðð !4ð 	/ô 	
ô 0×KÑKØ0SØ)EØ 3Ø)Ø+Ø'Ø!ØÒ.œØØ—:‘:˜hÓ'ð Ló 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ŒBE' ÂCE' Å'	FÅ0F
Æ
FÚvector_store_idÚqueryÚfiltersÚmax_num_resultsÚranking_optionsÚrewrite_queryc              ‹   óÂ  K  — t        «       }	 t        j                  «       }d|d<   |
€d}
t        t        f| |||||||||	|
dœ|¤Ž}t        j                  «       }t        |j                  |«      }|j                  d|«      ƒ d{  –—† }t        j                  |«      r|ƒ d{  –—† }|S |}|S 7 Œ)7 Œ# t        $ r}t        j                  d|
|||¬«      ‚d}~ww xY w­w)zg
    Async: Search a vector store for relevant chunks based on a query and file attributes filter.
    TÚasearchNrB   )rz   r{   r|   r}   r~   r   r:   r;   r<   r=   r>   rC   )rH   rI   rJ   r   ÚsearchrL   rM   rN   rO   rP   rQ   rR   rS   )rz   r{   r|   r}   r~   r   r:   r;   r<   r=   r>   rT   rU   rV   rW   rX   rY   rZ   r[   r\   s                       r    r�   r�     s  è ø€ ô* ›€Jð)
Ü×,Ñ,Ó.ˆØ ˆˆyÑð Ð&Ø"*ÐäÜð
à+ØØØ+Ø+Ø'Ø'Ø#Ø!ØØ 3ñ
ð ñ
ˆô  !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHàˆð  Søð +ùô
 ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
üsY   ‚CŽA8B4 ÂB0ÂB4 Â%B2Â&B4 Â+CÂ,B4 Â/CÂ0B4 Â2B4 Â4	CÂ=CÃCÃCc                 ó\  — t        «       }	 |j                  d«      }|j                  dd«      }|j                  dd«      du }t        j                  �3| �1	 t        j                  j                  | «      }|j                  |«       t        dd| i|¤Ž}|j                  rht        |j                  t        t        j                  f«      r>d}t        |j                  t        j                  «      r|j                  }t        |¬«      S |
€d	}
d
|
v rt        |
dd¬«      \  }}
}}nd}|
}
t!        j"                  t        j$                  |
«      |¬«      }|€t'        d|
› �«      ‚|j                  |«       t)        j*                  ||¬«      }|j-                  ||| |dœ|¥|| dœ|j/                  d¬«      ¥|
¬«       t0        j3                  | ||||
|||||	xs t4        ||j                  d«      ¬«      }|S # t        $ r Y �Œyw xY w# t        $ r}t        j6                  d|
|||¬«      ‚d}~ww xY w)a[  
    Search a vector store for relevant chunks based on a query and file attributes filter.

    Args:
        vector_store_id: The ID of the vector store to search.
        query: A query string or array for the search.
        filters: Optional filter to apply based on file attributes.
        max_num_results: Maximum number of results to return (1-50, default 10).
        ranking_options: Optional ranking options for search.
        rewrite_query: Whether to rewrite the natural language query for vector search.

    Returns:
        VectorStoreSearchResponse containing the search results.
    r^   r_   Nr�   FTrz   r   rB   r`   ra   rc   z)Vector store search is not supported for )ri   )rz   r{   )r_   rz   )Úexclude_nonerf   r   )rz   r{   Ú#vector_store_search_optional_paramsri   r>   rb   rj   r:   r<   r=   rk   r   rC   rl   )rH   rm   rn   rR   Úvector_store_registryÚ get_credentials_for_vector_storert   rQ   r   r#   ro   ÚstrÚbuiltinsÚlistr!   r   r   rq   rr   rs   r   Ú0get_requested_vector_store_search_optional_paramrv   Ú
model_dumprw   Úvector_store_search_handlerr   rS   )rz   r{   r|   r}   r~   r   r:   r;   r<   r=   r>   rT   rU   r^   r_   rk   Úregistry_credentialsrb   r   re   ry   ri   r…   r[   r\   s                            r    r‚   r‚   N  s‘  € ô@ ›€Jð`
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: i°Ó7¸4Ð?ˆ	ô ×(Ñ(Ð4¸Ð9TðÜ'.×'DÑ'D×'eÑ'eÐfuÓ'vÐ$Ø—‘Ð2Ô3ô
 !5Ñ _À_Ð _ÐX^Ñ _ˆð ×'Ò'¬J°~×7SÑ7SÔVYÔ[c×[hÑ[hÐUiÔ,jØˆLÜ˜.×6Ñ6¼¿¹ÔFØ-×;Ñ;�Ü4À,ÔOÐOð Ð&Ø"*ÐàÐ%Ñ%Ü2BØ)Ø$(Ø#ô3Ñ/ˆHÐ)¨1©að ˆHØ"5Ðô /D×.eÑ.eÜ×)Ñ)Ð*=Ó>Øô/
Ð$ð
 (Ð/ÜÐHÐI\ÐH]Ð^Ó_Ð_à×Ñ˜&Ô!ô $×TÑTØØ-Iôð 	,ð 	×.Ñ.ØØà#2Øñð 6ðð $3Ø#2ñð !×+Ñ+¸Ð+Ó>ðð
 !4ð 	/ô 	
ô  0×KÑKØ+ØØ0SØ)EØ 3Ø)Ø+Ø'Ø!ØÒ.œØØ—:‘:˜hÓ'ð Ló 
ˆð ˆøô] ò Úðûô^ ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
úsD   ŒA	H Á0G3 ÂB H ÄC+H Ç3	H Ç<H Ç?H È H È	H+ÈH&È&H+c           
   ‹   ó¸  K  — t        «       }	 t        j                  «       }d|d<   |€d}t        t        f| |||||dœ|¤Ž}	t        j                  «       }
t        |
j                  |	«      }|j                  d|«      ƒ d{  –—† }t        j                  |«      r|ƒ d{  –—† }|S |}|S 7 Œ)7 Œ# t        $ r}t        j                  d||||¬«      ‚d}~ww xY w­w)z)
    Async: Retrieve a vector store.
    TÚ	aretrieveNrB   ©rz   r:   r;   r<   r=   r>   rC   )rH   rI   rJ   r   ÚretrieverL   rM   rN   rO   rP   rQ   rR   rS   ©rz   r:   r;   r<   r=   r>   rT   rU   rV   rW   rX   rY   rZ   r[   r\   s                  r    r�   r�   Ò  s  è ø€ ô ›€Jð#
Ü×,Ñ,Ó.ˆØ"ˆˆ{ÑàÐ&Ø"*ÐäÜð	
à+Ø'Ø#Ø!ØØ 3ñ	
ð ñ	
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHàˆð  Søð +ùô
 ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
üóY   ‚CŽA3B/ ÂB+ÂB/ Â B-Â!B/ Â&CÂ'B/ Â*CÂ+B/ Â-B/ Â/	CÂ8CÃCÃCc                 óJ  — t        «       }	 |j                  d«      }|j                  dd«      }	|j                  dd«      du }
t        di |¤Ž}|€d}d|v rt	        |dd¬	«      \  }}}}nd}|}t        j                  t        j                  |«      |¬
«      }|€t        d|› �«      ‚|j                  |dd| id|	i|¬«       t        j                  | |||||||xs t        |
|j                  d«      ¬«
      }|S # t        $ r}t        j                  d||||¬«      ‚d}~ww xY w)zÃ
    Retrieve a vector store.

    Args:
        vector_store_id: The ID of the vector store to retrieve.

    Returns:
        VectorStoreCreateResponse containing the vector store details.
    r^   r_   Nr�   FTrB   r`   ra   rc   z+Vector store retrieve is not supported for rz   rf   r   ©
rz   ri   r>   rb   rj   r:   r<   r=   rk   r   rC   rl   )rH   rm   rn   r   r   r   rq   rR   rr   rs   rv   rw   Úvector_store_retrieve_handlerr   rQ   rS   ©rz   r:   r;   r<   r=   r>   rT   rU   r^   r_   rk   rb   re   ry   ri   r[   r\   s                    r    r’   r’     s{  € ô& ›€Jð9
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: k°5Ó9¸TÐAˆ	ä 4Ñ >°vÑ >ˆàÐ&Ø"*ÐàÐ%Ñ%Ü2BØ)Ø$(Ø#ô3Ñ/ˆHÐ)¨1©að ˆHØ"5Ðä.C×.eÑ.eÜ×)Ñ)Ð*=Ó>Øô/
Ð$ð
 (Ð/ÜÐJÐK^ÐJ_Ð`ÓaÐaà×.Ñ.ØØØ.°Ð@Ø-¨Ð?Ø 3ð 	/ô 	
ô 0×MÑMØ+Ø)EØ 3Ø)Ø+Ø'Ø!ØÒ.œØØ—:‘:˜hÓ'ð Nó 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
úó   ŒC-C: Ã:	D"ÄDÄD"ÚafterÚbeforeÚlimitÚorderc	              ‹   ó¾  K  — t        «       }
	 t        j                  «       }d|	d<   |€d}t        t        f| ||||||||dœ	|	¤Ž}t        j                  «       }t        |j                  |«      }|j                  d|«      ƒ d{  –—† }t        j                  |«      r|ƒ d{  –—† }|S |}|S 7 Œ)7 Œ# t        $ r}t        j                  d|||
|	¬«      ‚d}~ww xY w­w)z$
    Async: List vector stores.
    TÚalistNrB   )	rš   r›   rœ   r�   r:   r;   r<   r=   r>   rC   )rH   rI   rJ   r   rŠ   rL   rM   rN   rO   rP   rQ   rR   rS   )rš   r›   rœ   r�   r:   r;   r<   r=   r>   rT   rU   rV   rW   rX   rY   rZ   r[   r\   s                     r    rŸ   rŸ   V  s  è ø€ ô  ›€Jð&
Ü×,Ñ,Ó.ˆØˆˆw‰àÐ&Ø"*ÐäÜð
àØØØØ'Ø#Ø!ØØ 3ñ
ð ñ
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø3@×-@ˆHð ˆð %ˆHàˆð  Søð .Aùô
 ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
üóY   ‚CŽA6B2 ÂB.ÂB2 Â#B0Â$B2 Â)CÂ*B2 Â-CÂ.B2 Â0B2 Â2	CÂ;CÃCÃCc	                 óV  — t        «       }
	 |	j                  d«      }|	j                  dd«      }|	j                  dd«      du }t        di |	¤Ž}|€d}d|v rt	        |dd¬	«      \  }}}}nd}|}t        j                  t        j                  |«      |¬
«      }|€t        d|› �«      ‚|j                  |	d| |||dœd|i|¬«       t        j                  | ||||||||||xs t        ||	j                  d«      ¬«      }|S # t        $ r}t        j                  d|||
|	¬«      ‚d}~ww xY w)a+  
    List vector stores.

    Args:
        after: A cursor for use in pagination.
        before: A cursor for use in pagination.
        limit: A limit on the number of objects to be returned.
        order: Sort order by the created_at timestamp.

    Returns:
        List of vector stores.
    r^   r_   NrŸ   FTrB   r`   ra   rc   z'Vector store list is not supported for )rš   r›   rœ   r�   rf   r   )rš   r›   rœ   r�   ri   r>   rb   rj   r:   r<   r=   rk   r   rC   rl   )rH   rm   rn   r   r   r   rq   rR   rr   rs   rv   rw   Úvector_store_list_handlerr   rQ   rS   )rš   r›   rœ   r�   r:   r;   r<   r=   r>   rT   rU   r^   r_   rk   rb   re   ry   ri   r[   r\   s                       r    rŠ   rŠ   �  s�  € ô2 ›€JðA
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: g¨uÓ5¸Ð=ˆ	ä 4Ñ >°vÑ >ˆàÐ&Ø"*ÐàÐ%Ñ%Ü2BØ)Ø$(Ø#ô3Ñ/ˆHÐ)¨1©að ˆHØ"5Ðä.C×.eÑ.eÜ×)Ñ)Ð*=Ó>Øô/
Ð$ð
 (Ð/ÜÐFÐGZÐF[Ð\Ó]Ð]à×.Ñ.ØØàØ ØØñ	ð .¨Ð?Ø 3ð 	/ô 	
ô 0×IÑIØØØØØ)EØ 3Ø)Ø+Ø'Ø!ØÒ.œØØ—:‘:˜hÓ'ð Jó 
ˆð  ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ŒC3D  Ä 	D(Ä	D#Ä#D(c	              ‹   ó¾  K  — t        «       }
	 t        j                  «       }d|	d<   |€d}t        t        f| ||||||||dœ	|	¤Ž}t        j                  «       }t        |j                  |«      }|j                  d|«      ƒ d{  –—† }t        j                  |«      r|ƒ d{  –—† }|S |}|S 7 Œ)7 Œ# t        $ r}t        j                  d|||
|	¬«      ‚d}~ww xY w­w)z'
    Async: Update a vector store.
    TÚaupdateNrB   )	rz   r.   r2   r5   r:   r;   r<   r=   r>   rC   )rH   rI   rJ   r   rt   rL   rM   rN   rO   rP   rQ   rR   rS   )rz   r.   r2   r5   r:   r;   r<   r=   r>   rT   rU   rV   rW   rX   rY   rZ   r[   r\   s                     r    r¤   r¤   î  s  è ø€ ô  ›€Jð&
Ü×,Ñ,Ó.ˆØ ˆˆyÑàÐ&Ø"*ÐäÜð
à+ØØ'ØØ'Ø#Ø!ØØ 3ñ
ð ñ
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHàˆð  Søð +ùô
 ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ür    c	                 óž  — t        «       }
	 |	j                  d«      }|	j                  dd«      }|	j                  dd«      du }t        di |	¤Ž}|€d}d|v rt	        |dd¬	«      \  }}}}nd}|}t        j                  t        j                  |«      |¬
«      }|€t        d|› �«      ‚|
j                  |	«       t        j                  |
«      }|j                  |	d| |dœ|¥d|i|¬«       t        j                  | ||||||||xs t         ||	j                  d«      ¬«      }|S # t"        $ r}t        j$                  d|||
|	¬«      ‚d}~ww xY w)a…  
    Update a vector store.

    Args:
        vector_store_id: The ID of the vector store to update.
        name: The name of the vector store.
        expires_after: The expiration policy for the vector store.
        metadata: Set of 16 key-value pairs that can be attached to an object.

    Returns:
        VectorStoreCreateResponse containing the updated vector store details.
    r^   r_   Nr¤   FTrB   r`   ra   rc   z)Vector store update is not supported for )rz   r.   rf   r   )rz   Ú#vector_store_update_optional_paramsri   r>   rb   rj   r:   r<   r=   rk   r   rC   rl   )rH   rm   rn   r   r   r   rq   rR   rr   rs   rt   r   ru   rv   rw   Úvector_store_update_handlerr   rQ   rS   )rz   r.   r2   r5   r:   r;   r<   r=   r>   rT   rU   r^   r_   rk   rb   re   ry   ri   r¦   r[   r\   s                        r    rt   rt   (  s´  € ô2 ›€JðD
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: i°Ó7¸4Ð?ˆ	ä 4Ñ >°vÑ >ˆàÐ&Ø"*ÐàÐ%Ñ%Ü2BØ)Ø$(Ø#ô3Ñ/ˆHÐ)¨1©að ˆHØ"5Ðä.C×.eÑ.eÜ×)Ñ)Ð*=Ó>Øô/
Ð$ð
 (Ð/ÜÐHÐI\ÐH]Ð^Ó_Ð_à×Ñ˜&Ô!ô $×TÑTÐU_Ó`ð 	,ð 	×.Ñ.ØØà#2Øñð 6ðð
 .¨Ð?Ø 3ð 	/ô 
	
ô 0×KÑKØ+Ø0SØ)EØ 3Ø)Ø+Ø'Ø!ØÒ.œØØ—:‘:˜hÓ'ð Ló 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ŒDD$ Ä$	EÄ-EÅEc           
   ‹   ó¸  K  — t        «       }	 t        j                  «       }d|d<   |€d}t        t        f| |||||dœ|¤Ž}	t        j                  «       }
t        |
j                  |	«      }|j                  d|«      ƒ d{  –—† }t        j                  |«      r|ƒ d{  –—† }|S |}|S 7 Œ)7 Œ# t        $ r}t        j                  d||||¬«      ‚d}~ww xY w­w)z'
    Async: Delete a vector store.
    TÚadeleteNrB   r‘   rC   )rH   rI   rJ   r   ÚdeleterL   rM   rN   rO   rP   rQ   rR   rS   r“   s                  r    r©   r©   ‰  s  è ø€ ô ›€Jð#
Ü×,Ñ,Ó.ˆØ ˆˆyÑàÐ&Ø"*ÐäÜð	
à+Ø'Ø#Ø!ØØ 3ñ	
ð ñ	
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø3@×-@ˆHð ˆð %ˆHàˆð  Søð .Aùô
 ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ür”   c                 óJ  — t        «       }	 |j                  d«      }|j                  dd«      }	|j                  dd«      du }
t        di |¤Ž}|€d}d|v rt	        |dd¬	«      \  }}}}nd}|}t        j                  t        j                  |«      |¬
«      }|€t        d|› �«      ‚|j                  |dd| id|	i|¬«       t        j                  | |||||||xs t        |
|j                  d«      ¬«
      }|S # t        $ r}t        j                  d||||¬«      ‚d}~ww xY w)z 
    Delete a vector store.

    Args:
        vector_store_id: The ID of the vector store to delete.

    Returns:
        Deletion confirmation response.
    r^   r_   Nr©   FTrB   r`   ra   rc   z)Vector store delete is not supported for rz   rf   r   r–   rC   rl   )rH   rm   rn   r   r   r   rq   rR   rr   rs   rv   rw   Úvector_store_delete_handlerr   rQ   rS   r˜   s                    r    rª   rª   ½  s{  € ô& ›€Jð9
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: i°Ó7¸4Ð?ˆ	ä 4Ñ >°vÑ >ˆàÐ&Ø"*ÐàÐ%Ñ%Ü2BØ)Ø$(Ø#ô3Ñ/ˆHÐ)¨1©að ˆHØ"5Ðä.C×.eÑ.eÜ×)Ñ)Ð*=Ó>Øô/
Ð$ð
 (Ð/ÜÐHÐI\ÐH]Ð^Ó_Ð_à×.Ñ.ØØØ.°Ð@Ø-¨Ð?Ø 3ð 	/ô 	
ô 0×KÑKØ+Ø)EØ 3Ø)Ø+Ø'Ø!ØÒ.œØØ—:‘:˜hÓ'ð Ló 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
úr™   )N)
NNNNNNNNNN)	NNNNNNNNN)NNNNN)	NNé   ÚdescNNNNN)NNNNNNNN);Ú__doc__rI   r‰   rL   Úcollections.abcr   r   Ú	functoolsr   Útypingr   ÚhttpxrR   Úlitellm.constantsr   Ú1litellm.litellm_core_utils.get_llm_provider_logicr   Ú*litellm.litellm_core_utils.litellm_loggingr	   ÚLiteLLMLoggingObjÚ*litellm.llms.custom_httpx.llm_http_handlerr
   Úlitellm.types.routerr   Úlitellm.types.vector_storesr   r   r   r   r   r   r   Úlitellm.utilsr   r   Úlitellm.vector_stores.utilsr   rw   rŠ   r!   r7   rˆ   rp   r   ÚfloatÚTimeoutrA   rK   ÚintÚboolr�   r‚   r�   r’   rŸ   r¤   rt   r©   rª   rl   r"   r    ú<module>rÁ      s  ðñó Û Û ß .Ý Ý ã ã Ý -Ý NÝ SÝ IÝ 5÷÷ ñ ÷ 8Ý ?ñ +Ó,Ð ð
 :>ñØÐ.Ñ/°$Ñ6óð2 7;ñØ,¨tÑ3óð8 àØ!%Ø!%Ø%)Ø&*ð /3Ø,0Ø+/Ø,0à&*ñ<
Ø
�‰*ð<
à�3‰i˜$Ñð<
ð ˜$‘;ð<
ð ˜d‘{ð	<
ð
 �3˜�8‰n˜tÑ#ð<
ð ˜˜V˜Ñ$ tÑ+ð<
ð �c˜6�kÑ" TÑ)ð<
ð �S˜&�[Ñ! DÑ(ð<
ð �U—]‘]Ñ" TÑ)ð<
ð ˜t™ð<
ð ò<
ó ð<
ð~ àØ!%Ø!%Ø%)Ø&*ð /3Ø,0Ø+/Ø,0à&*ñm
Ø
�‰*ðm
à�3‰i˜$Ñðm
ð ˜$‘;ðm
ð ˜d‘{ð	m
ð
 �3˜�8‰n˜tÑ#ðm
ð ˜˜V˜Ñ$ tÑ+ðm
ð �c˜6�kÑ" TÑ)ðm
ð �S˜&�[Ñ! DÑ(ðm
ð �U—]‘]Ñ" TÑ)ðm
ð ˜t™ðm
ð  ¨6°6Ð;TÐ+TÑ!UÑUòm
ó ðm
ð` ð  Ø"&Ø#'Ø!%ð /3Ø,0Ø+/Ø,0à&*ñ?
Øð?
à��c‘‰?ð?
ð �D‰[ð?
ð ˜4‘Zð	?
ð
 ˜D‘[ð?
ð ˜$‘;ð?
ð ˜˜V˜Ñ$ tÑ+ð?
ð �c˜6�kÑ" TÑ)ð?
ð �S˜&�[Ñ! DÑ(ð?
ð �U—]‘]Ñ" TÑ)ð?
ð ˜t™ð?
ð  ò!?
ó ð?
ðD ð  Ø"&Ø#'Ø!%ð /3Ø,0Ø+/Ø,0à&*ñ@
Øð@
à��c‘‰?ð@
ð �D‰[ð@
ð ˜4‘Zð	@
ð
 ˜D‘[ð@
ð ˜$‘;ð@
ð ˜˜V˜Ñ$ tÑ+ð@
ð �c˜6�kÑ" TÑ)ð@
ð �S˜&�[Ñ! DÑ(ð@
ð �U—]‘]Ñ" TÑ)ð@
ð ˜t™ð@
ð   ¨6°6Ð;TÐ+TÑ!UÑUò!@
ó ð@
ðF ð /3Ø,0Ø+/Ø,0Ø&*ñ0
Øð0
à˜˜V˜Ñ$ tÑ+ð0
ð �c˜6�kÑ" TÑ)ð0
ð �S˜&�[Ñ! DÑ(ð	0
ð
 �U—]‘]Ñ" TÑ)ð0
ð ˜t™ð0
ð ò0
ó ð0
ðf ð /3Ø,0Ø+/Ø,0Ø&*ñL
ØðL
à˜˜V˜Ñ$ tÑ+ðL
ð �c˜6�kÑ" TÑ)ðL
ð �S˜&�[Ñ! DÑ(ð	L
ð
 �U—]‘]Ñ" TÑ)ðL
ð ˜t™ðL
ð  ¨6°6Ð;TÐ+TÑ!UÑUòL
ó ðL
ð^ àØØØØ.2Ø,0Ø+/Ø,0Ø&*ñ6
Ø�‰:ð6
à�$‰Jð6
ð �‰:ð6
ð �‰:ð	6
ð
 ˜˜V˜Ñ$ tÑ+ð6
ð �c˜6�kÑ" TÑ)ð6
ð �S˜&�[Ñ! DÑ(ð6
ð �U—]‘]Ñ" TÑ)ð6
ð ˜t™ð6
ð ˆS�&ˆ[Ñò6
ó ð6
ðr àØØØØ.2Ø,0Ø+/Ø,0Ø&*ñZ
Ø�‰:ðZ
à�$‰JðZ
ð �‰:ðZ
ð �‰:ð	Z
ð
 ˜˜V˜Ñ$ tÑ+ðZ
ð �c˜6�kÑ" TÑ)ðZ
ð �S˜&�[Ñ! DÑ(ðZ
ð �U—]‘]Ñ" TÑ)ðZ
ð ˜t™òZ
ó ðZ
ðz ð Ø!%Ø&*Ø.2Ø,0Ø+/Ø,0Ø&*ñ6
Øð6
à
�‰*ð6
ð ˜$‘;ð6
ð �3˜�8‰n˜tÑ#ð	6
ð
 ˜˜V˜Ñ$ tÑ+ð6
ð �c˜6�kÑ" TÑ)ð6
ð �S˜&�[Ñ! DÑ(ð6
ð �U—]‘]Ñ" TÑ)ð6
ð ˜t™ð6
ð ò6
ó ð6
ðr ð Ø!%Ø&*Ø.2Ø,0Ø+/Ø,0Ø&*ñ]
Øð]
à
�‰*ð]
ð ˜$‘;ð]
ð �3˜�8‰n˜tÑ#ð	]
ð
 ˜˜V˜Ñ$ tÑ+ð]
ð �c˜6�kÑ" TÑ)ð]
ð �S˜&�[Ñ! DÑ(ð]
ð �U—]‘]Ñ" TÑ)ð]
ð ˜t™ð]
ð  ¨6°6Ð;TÐ+TÑ!UÑUò]
ó ð]
ð@ ð /3Ø,0Ø+/Ø,0Ø&*ñ0
Øð0
à˜˜V˜Ñ$ tÑ+ð0
ð �c˜6�kÑ" TÑ)ð0
ð �S˜&�[Ñ! DÑ(ð	0
ð
 �U—]‘]Ñ" TÑ)ð0
ð ˜t™ð0
ð ˆS�&ˆ[Ñò0
ó ð0
ðf ð /3Ø,0Ø+/Ø,0Ø&*ñL
ØðL
à˜˜V˜Ñ$ tÑ+ðL
ð �c˜6�kÑ" TÑ)ðL
ð �S˜&�[Ñ! DÑ(ð	L
ð
 �U—]‘]Ñ" TÑ)ðL
ð ˜t™òL
ó ñL
r"   