
    $h                     *   S r SSKrSSKrSSKrSSKrSSKrSSKJrJrJ	r	J
r
  SSKJr  SSKJr   SSKrSq\R$                  " \5      rS\4S	 jrS\\\
\\4   4   4S
 jr\R4                  " SS9S\4S j5       r\R4                  " SS9S\	\   4S j5       r\R4                  " SS9S\	\   4S j5       r\R4                  " SS9S\	\   4S j5       r\R4                  " SS9S\	\   4S j5       r\R4                  " SS9S\	\\      4S j5       r \R4                  " SS9S\4S j5       r!S\4S jr"\R4                  " SS9S\4S j5       r#\R4                  " SS9S\	\   4S j5       r$\R4                  " SS9S\\\4   4S j5       r%g! \ a    Sq GN[f = f)zEnvironment information.    N)DictListOptionalUnion)get_docker_compose_command)exec_gitTFreturnc                  .    0 [        5       E[        5       E$ )z/Get the runtime information as well as metrics.)get_runtime_environmentget_system_metrics     R/var/www/html/shao/venv/lib/python3.13/site-packages/langsmith/env/_runtime_env.pyget_runtime_and_metricsr      s    @%'@+=+?@@r   c                     [         (       d  0 $  [        R                  " [        R                  " 5       5      n 0 nU R                  5          U R                  5       n[        U R                  5       5      US'   S[        UR                  5      0US'   U R                  5       nU R                  5       nUR                  UR                  S.[        UR                  5      [        UR                  5      S.U R!                  5       S.US'   SSS5        U$ ! , (       d  f       U$ = f! ["         a$  nS	q [$        R'                  S
U5        0 s SnA$ SnAff = f)z&Get CPU and other performance metrics.thread_countrssmem)sysuser)	voluntaryinvoluntary)timectx_switchespercentcpuNFz Failed to get system metrics: %s)_PSUTIL_AVAILABLEpsutilProcessosgetpidoneshotmemory_infofloatnum_threadsr   num_ctx_switches	cpu_timessystemr   r   r   cpu_percent	Exceptionloggerdebug)processmetricsmem_infor   r'   es         r   r   r      s.    	..-13__**,H&+G,?,?,A&BGN#uX\\*GEN #335L))+I %++%NN
 "'|'='=!>#()A)A#B! #..0
GEN & ' &   "7;	s<   ;D$ 
B>D	D$ 
D!D$ !D$ $
E.EEE   )maxsizec            
          SSK Jn   [        5       nSU S[        R                  " 5       S[        R                  " 5       [        R
                  " 5       [        5       [        5       S.	UE$ )&Get information about the environment.r   )__version__zlangsmith-py	langsmithpython)	sdksdk_versionlibraryplatformruntimepy_implementationruntime_versionlangchain_versionlangchain_core_version)r6   r5   get_release_shasr;   python_implementationpython_versionget_langchain_environmentget_langchain_core_version)r5   shass     r   r   r   A   s_     &D"%%'%;;=#22468"<">  r   c                  2     SS K n U R                  $ !    g = fNr   )	langchainr5   )rI   s    r   rD   rD   V   s     $$$s    c                  D     SS K n U R                  $ ! [         a     g f = frH   )langchain_corer5   ImportError)rK   s    r   rE   rE   `   s(    ))) s    
c                      SS K n  U R                  " SS/5      R                  S5      R                  5       nU$ ! [         a    Sn U$    g = f)Nr   docker	--versionutf-8unknown
subprocesscheck_outputdecodestripFileNotFoundError)rS   docker_versions     r   get_docker_versionrY   j   s_    ##X{$;<CCGLRRT 	 	  #" s   19 AAc                       [         R                  " SS/5      R                  S5      R                  5       n U $ ! [         a    Sn  U $    g = f)Nzdocker-composerO   rP   rQ   rR   )docker_compose_versions    r   get_docker_compose_versionr\   y   sZ    	##%5{$CDVG_UW 	 "!	  +!* "!s   59 AAc                  \     [        5       n U $ ! [         a  nSU 3/n  S nAU $ S nAf   g = f)NzNOT INSTALLED: )r   
ValueError)compose_commandr0   s     r   _get_compose_commandr`      sC    46
 	  2,QC01 s   
 
+$+c                  j    [        5       n [        5       U b  SR                  U 5      OS[        5       S.$ )r4   N )rX   docker_compose_commandr[   )r`   rY   joinr\   )r_   s    r   get_docker_environmentre      s5     +,O,.)8)DCHH_%$"<"> r   c                  :   [         R                  R                  5        V Vs0 sH  u  pU R                  S5      (       d  M  X_M!     nn n[	        U5       H<  nSUR                  5       ;   d  M  X#   nUSS S[        U5      S-
  -  -   USS -   X#'   M>     U$ s  snn f )-Retrieve the langchain environment variables.
LANGCHAIN_keyN   *   )r    environitems
startswithlistlowerlen)kvenv_varsri   s       r   get_langchain_env_varsrw      s    !#!1!1!3R!3q||L7Q!3HRH~CIIKAbqEC3q6A:$6623?HM  O Ss   BBc                     1 Skn [         R                  R                  5        VVs0 sH~  u  pUR                  S5      (       d  UR                  S5      (       d  M3  X;  d  M:  SUR	                  5       ;  d  MP  SUR	                  5       ;  d  Mf  SUR	                  5       ;  d  M|  X_M     nnnUR                  SS5      nU(       a  XCS	'   U$ [        5       =n(       a  XSS	'   U$ s  snnf )
rg   >   LANGCHAIN_API_KEYLANGCHAIN_PROJECTLANGCHAIN_SESSIONLANGCHAIN_ENDPOINTLANGCHAIN_TRACING_V2LANGSMITH_RUNS_ENDPOINTSrh   
LANGSMITH_ri   secrettokenLANGCHAIN_REVISION_IDNrevision_id)r    rn   ro   rp   rr   pop_get_default_revision_id)excludedrt   ru   langchain_metadataenv_revision_iddefault_revision_ids         r   get_langchain_env_var_metadatar      s    H JJ$$&&DALL&&!,,|*D 	  	 "	 	
 AGGI% 	 1779$ 	&   ),,-DdKO,;=)  !9 :	:		:,?=)s#   1C#C#"C#8C#C#$C#c                  >     [        / SQ5      $ ! [         a     gf = f)z4Get the default revision ID based on `git describe`.)describez--tagsz--alwaysz--dirtyN)r   BaseExceptionr   r   r   r   r      s%    EFF s    
c                  t    / SQn 0 nU  H+  n[         R                  R                  U5      nUc  M'  X1U'   M-     U$ )N)VERCEL_GIT_COMMIT_SHA!NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA
COMMIT_REFRENDER_GIT_COMMITCI_COMMIT_SHACIRCLE_SHA1CF_PAGES_COMMIT_SHAREACT_APP_GIT_SHASOURCE_VERSION
GITHUB_SHATRAVIS_COMMIT
GIT_COMMITBUILD_VCS_NUMBERbamboo_planRepository_revisionzBuild.SourceVersionBITBUCKET_COMMITDRONE_COMMIT_SHASEMAPHORE_GIT_SHABUILDKITE_COMMIT)r    rn   get)common_release_envsrF   envenv_vars       r   rA   rA      sA    * D"**..%I # Kr   )&__doc__	functoolsloggingr    r;   rS   typingr   r   r   r   langsmith.utilsr   langsmith.env._gitr   r   r   rL   	getLogger__name__r+   dictr   strr$   r   	lru_cacher   rD   rE   rY   r\   r`   re   rw   r   r   rA   r   r   r   <module>r      s6      	   . . 6 ' 
		8	$A A
"DeE4K&8!89 "J Q   ( Q8C=    QHSM    QHSM    Q"HSM "  " QhtCy1    Q	 	  	  Q   8 Q(3-    Q$sCx.     s   F FF