
    j                     b   U d dl Z d dlZd dlmZ d dlZd dlmZ erd dlZdZee	   e
d<   dZee	   e
d<   dZee	   e
d	<   d
Zee	   e
d<   de	de	fdZde	fdZde	de	de	de	fdZde	de	de	fdZde	de	de	fdZde	de	de	fdZde	de	fdZde	de	fdZde	de	fdZde	de	fdZde	defdZde	de	fd Zy)!    N)Final)TYPE_CHECKINGzapi/rest/v2/account-detailsURL_ACCOUNT_DETAILS_POSTFIXzapi/rest/v2/workspacesURL_WORKSPACE_GET_LIST_POSTFIXz/is-alive/pingHEALTH_CHECK_URL_POSTFIXz:/&?=ALLOWED_URL_CHARACTERSurlreturnc                 *    | j                  d      dz   S )N/)rstripr	   s    i/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/url_helpers.pyensure_ending_slashr      s    ::c?S      c                  ~    t         j                  j                         } | j                  }|j	                  d      dz   S )Nz/apir   )opikconfig
OpikConfigurl_overrider   )r   opik_url_overrides     r   
get_ui_urlr      s6    [[##%F++##F+c11r   
dataset_idexperiment_idr   c                    t        j                  |j                  d            j                  d      }t        j
                  j                  d| d|  d| t              }t        j
                  j                  t        |      |      S )Nutf-8z/v1/session/redirect/experiments/?experiment_id=z&dataset_id=&path=safe
base64	b64encodeencodedecodeurllibparsequoter   urljoinr   )r   r   r   encoded_opik_urlproject_paths        r   get_experiment_url_by_idr+      s     ''(;(;G(DELLWU<<%%
9-U_T``fgwfxy# & L << 3L A<PPr   	workspaceproject_namec                     t               }t        j                  j                  |  d| t              }t        j                  j                  ||      S )Nz/redirect/projects?name=r   )r   r%   r&   r'   r   r(   )r,   r-   ui_urlr*   s       r   get_project_url_by_workspacer0   *   sO     \F<<%%+-l^<# & L <<55r   trace_idc                    t        j                  |j                  d            j                  d      }t        j
                  j                  d|  d| t              }t        j
                  j                  t        |      |      S )Nr   z'v1/session/redirect/projects/?trace_id=r   r   r    )r1   r   r)   r*   s       r   get_project_url_by_trace_idr3   6   sv    ''(;(;G(DELLWU<<%%
1(6BRAST# & L << 3L A<PPr   c                    t        j                  |j                  d            j                  d      }t        j
                  j                  d|  d| t              }t        j
                  j                  t        |      |      S )Nr   z)v1/session/redirect/datasets/?dataset_id=r   r   r    )r   r   r)   r*   s       r   get_dataset_url_by_idr5   ?   sv    ''(;(;G(DELLWU<<%%
3J<vFVEWX# & L << 3L A<PPr   c                 |    t         j                  j                  |       }|j                   d|j                   d}|S )Nz://r   )r%   r&   urlparseschemenetloc)r	   parsedbase_urls      r   get_base_urlr<   I   s5    \\""3'F--FMM?!4HOr   r;   c                 J    t         j                  j                  | t              S N)r%   r&   r(   r   r;   s    r   get_account_details_urlr@   P   s    <<*EFFr   c                 J    t         j                  j                  | t              S r>   )r%   r&   r(   r   r?   s    r   get_workspace_list_urlrB   T   s    <<*HIIr   c                 J    t         j                  j                  | t              S r>   )r%   r&   r(   r   r?   s    r   get_is_alive_ping_urlrD   X   s    <<*BCCr   c                 "    d| v xs
 d| v xr d| v S )NzX-Amz-Signaturez
Signature=zAWSAccessKeyId= r   s    r   is_aws_presigned_urlrG   \   s'    # 8 1S 8r   c                 B    t         j                  j                  | d      S )Nz v1/private/workspace-permissions)r%   r&   r(   )r   s    r   get_user_permissions_urlrI   b   s    <<.PQQr   )r!   urllib.parser%   typingr   opik.configr   r   r   str__annotations__r   r   r   r   r   r+   r0   r3   r5   r<   r@   rB   rD   boolrG   rI   rF   r   r   <module>rP      sy         +H U3Z G-E c
 E'7 %* 7%, c
 ,!S !S !2C 2	Q	Q$'	Q7:	Q	Q	6	6"%	6	6Q# QS QS QQc Q Q Qc c Gc Gc GJS JS JDC DC Dc d R3 R3 Rr   