
    j                    ~   d dl Z d dlmZ ddlmZ ddlmZmZ ddlm	Z	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 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  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, ddl-m.Z.  e j^                  e j`                  d      Z1 G d d      Z2 G d d      Z3y)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)jsonable_encoder)parse_obj_as)RequestOptions)'convert_and_respect_annotation_metadata)BadRequestError)ConflictError)NotFoundError)UnprocessableEntityError)JsonNodeWrite)PromptDetail)PromptPagePublic)PromptVersionDetail)PromptVersionLinkPublic)PromptVersionPagePublic)PromptVersionUpdate   )*CreatePromptVersionDetailTemplateStructure)PromptWriteTemplateStructure)PromptWriteType.c                      e Zd ZdefdZdddddddddej                  e   dej                  e   dej                  e   dej                  e   d	ej                  e   d
ej                  e   dej                  e	   de
e   fdZeeeeeeeeeedddedej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  ej"                  e      dej                  e	   de
d   fdZeeeedddededej                  e   dej                  ej"                  e      dej                  e   dej                  e   dej                  e	   de
e   fdZedddej"                  e   ded ej                  e   dej                  e	   de
d   f
d!Zdd"dedej                  e	   de
e   fd#Zeedd$dededej                  e   dej                  ej"                  e      dej                  e	   de
d   fd%Zdd"dedej                  e	   de
d   fd&Zdd"dej"                  e   dej                  e	   de
d   fd'Zdd"d(edej                  e	   de
e   fd)Zdd"d*edej                  e	   de
e   fd+Zddddddd,dedej                  e   dej                  e   d-ej                  e   d	ej                  e   d
ej                  e   dej                  e	   de
e    fd.Z!dd"d/ej"                  e   dej                  e	   de
ejD                  e#      fd0Z$dd"d1ed*edej                  e	   de
e   fd2Z%eedd3ded(ej                  e   dej                  e   dej                  e	   de
e   f
d4Z&y)5RawPromptsClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     y/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/rest_api/prompts/raw_client.py__init__zRawPromptsClient.__init__!   
    -    Npagesizename
project_idsortingfiltersrequest_optionsr+   r,   r-   r.   r/   r0   r1   returnc                   | j                   j                  j                  dd||||||d|      }	 d|j                  cxk  rdk  rGn nDt	        j
                  t        t        t        |j                                     }	t        ||	      S |j                         }
t        |j                  t        |j                        |
	      # t        $ r6 t        |j                  t        |j                        |j                  	      w xY w)
a  
        Get prompts

        Parameters
        ----------
        page : typing.Optional[int]

        size : typing.Optional[int]

        name : typing.Optional[str]

        project_id : typing.Optional[str]

        sorting : typing.Optional[str]

        filters : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[PromptPagePublic]
            OK
        v1/private/promptsGETr+   r,   r-   r.   r/   r0   methodparamsr1      ,  type_object_responsedatastatus_codeheadersbody)r#   httpx_clientrequestrC   typingcastr   r   jsonr	   r   r   dictrD   textr%   r+   r,   r-   r.   r/   r0   r1   	_response_data_response_jsons              r&   get_promptszRawPromptsClient.get_prompts$   s    H ((55== ("" , > 
		ti++1c1$ . ) 0 $YUCC&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AC	 C	 	?Didr.   project_namedescriptiontemplatemetadatachange_descriptiontypetemplate_structuretagsr1   rS   rT   rU   rV   rW   rX   rY   rZ   r[   c                ^   | j                   j                  j                  dd|||||||||	|
|dddi|t              }	 d|j                  cxk  rdk  rn nt        |d	
      S |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rt!        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t%        |j                  t        |j                        |      # t"        $ r6 t%        |j                  t        |j                        |j&                        w xY w)a  
        Create prompt

        Parameters
        ----------
        name : str

        id : typing.Optional[str]

        project_id : typing.Optional[str]
            Project ID. Takes precedence over project_name when both are provided.

        project_name : typing.Optional[str]
            For project scope, specify either project_id or project_name. If project_name is provided and the project does not exist, it will be created. Ignored when project_id is provided. If neither is provided, the prompt is created at workspace level.

        description : typing.Optional[str]

        template : typing.Optional[str]

        metadata : typing.Optional[JsonNodeWrite]

        change_description : typing.Optional[str]

        type : typing.Optional[PromptWriteType]

        template_structure : typing.Optional[PromptWriteTemplateStructure]
            Template structure type: 'text' or 'chat'. Immutable after creation.

        tags : typing.Optional[typing.Sequence[str]]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[None]
        r4   POSTrS   r-   r.   rT   rU   rV   rW   rX   rY   rZ   r[   content-typeapplication/jsonr8   rJ   rD   r1   omitr:   r;   Nr?     r<   rD   rE       rB   )r#   rF   rG   OMITrC   r	   r   rK   rD   rH   rI   OptionalAnyr   rJ   r   r   r   r   rL   r%   r-   rS   r.   rT   rU   rV   rW   rX   rY   rZ   r[   r1   rN   rP   s                  r&   create_promptzRawPromptsClient.create_promptd   s1   j ((55== ( ,*$$&8&8  2 ,) > 
	,&	ti++1c1#YTBB$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   $I- $GI- -?J,rZ   %exclude_blueprint_update_for_projectsr.   rT   r1   versionrm   c                   | j                   j                  j                  dd|t        |t        d      ||||dddi|t
              }	 d	|j                  cxk  rd
k  rGn nDt        j                  t        t        t        |j                                     }	t        ||	      S |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                      t        t        j                  t        j                      |j                                           |j                  dk(  rt#        t        |j                        t        j                  t        j                  t        j                      t        t        j                  t        j                      |j                                           |j                  dk(  rt%        t        |j                        t        j                  t        j                  t        j                      t        t        j                  t        j                      |j                                           |j                         }
t)        |j                  t        |j                        |
      # t&        $ r6 t)        |j                  t        |j                        |j*                        w xY w)a  
        Create prompt version

        Parameters
        ----------
        name : str

        version : PromptVersionDetail

        template_structure : typing.Optional[CreatePromptVersionDetailTemplateStructure]
            Template structure for the prompt: 'text' or 'chat'. Note: This field is only used when creating a new prompt. If a prompt with the given name already exists, this field is ignored and the existing prompt's template structure is used. Template structure is immutable after prompt creation.

        exclude_blueprint_update_for_projects : typing.Optional[typing.Sequence[str]]
            Optional set of project IDs to exclude from automatic blueprint creation when this prompt version is committed.

        project_id : typing.Optional[str]
            Project ID. Takes precedence over project_name when both are provided.

        project_name : typing.Optional[str]
            If provided, scopes the prompt to the specified project. Ignored when project_id is provided.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[PromptVersionDetail]
            OK
        v1/private/prompts/versionsr]   writer>   
annotation	directionr-   rn   rZ   rm   r.   rT   r_   r`   ra   r:   r;   r<   r?   rc   rd   re   rf   rB   )r#   rF   rG   r   r   rg   rC   rH   rI   r   rJ   r	   r   rK   rD   rh   ri   r   r   r   r   rL   r%   r-   rn   rZ   rm   r.   rT   r1   rN   rO   rP   s              r&   create_prompt_versionz&RawPromptsClient.create_prompt_version   sY   P ((55==)B#0Cw '99^( ,	  2 ,# > 
	&-	ti++1c1' 1 ) 0 $YUCC$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   
AJ/ &GJ/ /?K.
merge_tagsr1   idsupdatery   c                   | j                   j                  j                  dd|t        |t        d      |dddi|t
              }	 d	|j                  cxk  rd
k  rn nt        |d      S |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j!                                           |j!                         }t%        |j                  t        |j                        |      # t"        $ r6 t%        |j                  t        |j                        |j&                        w xY w)a  
        Update one or more prompt versions.

        Note: Prompt versions are immutable by design.
        Only organizational properties, such as tags etc., can be updated.
        Core properties like template and metadata cannot be modified after creation.

        PATCH semantics:
        - non-empty values update the field
        - null values preserve existing field values (no change)
        - empty values explicitly clear the field

        Parameters
        ----------
        ids : typing.Sequence[str]
            IDs of prompt versions to update

        update : PromptVersionUpdate

        merge_tags : typing.Optional[bool]
            Tag merge behavior:
            - true: Add new tags to existing tags (union)
            - false: Replace all existing tags with new tags (default behaviour if not provided)

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[None]
        rp   PATCHrq   rr   rz   r{   ry   r_   r`   ra   r:   r;   Nr?   rc   r<   rd   rB   )r#   rF   rG   r   r   rg   rC   r	   r   rK   rD   rH   rI   rh   ri   r   rJ   r   r   rL   r%   rz   r{   ry   r1   rN   rP   s          r&   update_prompt_versionsz'RawPromptsClient.update_prompt_versionsC  sV   N ((55==)A"/Bg )  2 , > 
	 	ti++1c1#YTBB$$+% !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   $E ,B*E ?F r1   c                R   | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                  dk(  rt        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     	      |j                         }t#        |j                  t        |j                        |
      # t         $ r6 t#        |j                  t        |j                        |j$                  
      w xY w)a!  
        Get prompt by id

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[PromptDetail]
            Prompt resource
        v1/private/prompts/r5   r8   r1   r:   r;   r<   r?     rd   rB   )r#   rF   rG   r
   rC   rH   rI   r   r   rJ   r	   r   rK   rD   rh   ri   r   r   rL   r%   rS   r1   rN   rO   rP   s         r&   get_prompt_by_idz!RawPromptsClient.get_prompt_by_id  s\   $ ((55==!"22"6!78+ > 
	
	ti++1c1  * ) 0 $YUCC$$+# !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	t   AE' B*E' '?F&rU   r[   r1   c                   | j                   j                  j                  dt        |       d|||dddi|t              }	 d|j
                  cxk  rdk  rn nt        |d	
      S |j
                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j
                  dk(  rt!        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j
                  dk(  rt#        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j
                  dk(  rt%        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t)        |j
                  t        |j                        |      # t&        $ r6 t)        |j
                  t        |j                        |j*                        w xY w)ap  
        Update prompt

        Parameters
        ----------
        id : str

        name : str

        description : typing.Optional[str]

        tags : typing.Optional[typing.Sequence[str]]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[None]
        r   PUTr-   rU   r[   r_   r`   ra   r:   r;   Nr?   rc   r<   rd   r   re   rf   rB   )r#   rF   rG   r
   rg   rC   r	   r   rK   rD   rH   rI   rh   ri   r   rJ   r   r   r   r   r   rL   r%   rS   r-   rU   r[   r1   rN   rP   s           r&   update_promptzRawPromptsClient.update_prompt  s   : ((55==!"22"6!78*  2 , > 
	1	ti++1c1#YTBB$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   $L (I8L ?M
c                   | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  rn nt        |d      S |j                         }t        |j                  t        |j                        |      # t        $ r6 t        |j                  t        |j                        |j                        w xY w)	z
        Delete prompt

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[None]
        r   DELETEr   r:   r;   Nr?   rB   )r#   rF   rG   r
   rC   r	   rJ   r   r   rK   rD   rL   r%   rS   r1   rN   rP   s        r&   delete_promptzRawPromptsClient.delete_prompt  s     ((55==!"22"6!78+ > 
	
	ti++1c1#YTBB&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   $B B ?Cc                   | j                   j                  j                  ddd|iddi|t              }	 d|j                  cxk  rdk  rn nt        |d	
      S |j                         }t        |j                  t        |j                        |      # t        $ r6 t        |j                  t        |j                        |j                        w xY w)a  
        Delete prompts batch

        Parameters
        ----------
        ids : typing.Sequence[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[None]
        v1/private/prompts/deleter]   rz   r_   r`   ra   r:   r;   Nr?   rB   )r#   rF   rG   rg   rC   r	   rJ   r   r   rK   rD   rL   r%   rz   r1   rN   rP   s        r&   delete_prompts_batchz%RawPromptsClient.delete_prompts_batch9  s    " ((55=='s  2 , > 
		ti++1c1#YTBB&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   $B B ?Ccommitc                   | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                  dk(  rt        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     	      |j                  d
k(  rt!        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     	      |j                  dk(  rt#        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     	      |j                         }t'        |j                  t        |j                        |      # t$        $ r6 t'        |j                  t        |j                        |j(                        w xY w)a  
        Get prompt by commit

        Parameters
        ----------
        commit : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[PromptDetail]
            OK
        v1/private/prompts/by-commit/r5   r   r:   r;   r<   r?   rc   rd   r   re   rB   )r#   rF   rG   r
   rC   rH   rI   r   r   rJ   r	   r   rK   rD   rh   ri   r   r   r   r   rL   r%   r   r1   rN   rO   rP   s         r&   get_prompt_by_commitz%RawPromptsClient.get_prompt_by_commit^  s.   $ ((55==+,<V,D+EF+ > 
	
-	ti++1c1  * ) 0 $YUCC$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AJ GJ ?K
version_idc                R   | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                  dk(  rt        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     	      |j                         }t#        |j                  t        |j                        |
      # t         $ r6 t#        |j                  t        |j                        |j$                  
      w xY w)a@  
        Get prompt version by id

        Parameters
        ----------
        version_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[PromptVersionDetail]
            Prompt version resource
        v1/private/prompts/versions/r5   r   r:   r;   r<   r?   r   rd   rB   )r#   rF   rG   r
   rC   rH   rI   r   r   rJ   r	   r   rK   rD   rh   ri   r   r   rL   r%   r   r1   rN   rO   rP   s         r&   get_prompt_version_by_idz)RawPromptsClient.get_prompt_version_by_id  s\   $ ((55==*+;J+G*HI+ > 
	
	ti++1c1' 1 ) 0 $YUCC$$+# !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	tr   r+   r,   searchr/   r0   r1   r   c          
      .   | j                   j                  j                  dt        |       dd|||||d|      }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }	t        ||		      S |j                         }
t        |j                  t        |j                        |

      # t        $ r6 t        |j                  t        |j                        |j                  
      w xY w)a,  
        Get prompt versions

        Parameters
        ----------
        id : str

        page : typing.Optional[int]

        size : typing.Optional[int]

        search : typing.Optional[str]
            Search text to find in template or change description fields

        sorting : typing.Optional[str]

        filters : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[PromptVersionPagePublic]
            OK
        r   	/versionsr5   r+   r,   r   r/   r0   r7   r:   r;   r<   r?   rB   )r#   rF   rG   r
   rC   rH   rI   r   r   rJ   r	   r   r   rK   rD   rL   r%   rS   r+   r,   r   r/   r0   r1   rN   rO   rP   s              r&   get_prompt_versionsz$RawPromptsClient.get_prompt_versions  s   J ((55==!"22"6!7yA "" , > 
		ti++1c1+ 5 ) 0 $YUCC&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AC C ?Dcommitsc                `   | j                   j                  j                  ddd|iddi|t              }	 d|j                  cxk  rdk  rin nft        j                  t
        j                  t           t        t
        j                  t           |j                         	            }t        ||
      S |j                         }t        |j                  t        |j                        |      # t        $ r6 t        |j                  t        |j                        |j                         w xY w)aW  
        Get prompts by prompt version commits

        Parameters
        ----------
        commits : typing.Sequence[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[typing.List[PromptVersionLinkPublic]]
            OK
        &v1/private/prompts/retrieve-by-commitsr]   r   r_   r`   ra   r:   r;   r<   r?   rB   )r#   rF   rG   rg   rC   rH   rI   Listr   r   rJ   r	   r   r   rK   rD   rL   r%   r   r1   rN   rO   rP   s         r&   get_prompts_by_commitsz'RawPromptsClient.get_prompts_by_commits  s   $ ((55==47  2 , > 
		ti++1c1KK 78 $kk*AB ) 0 $YUCC&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   A=C. 3C. .?D-	prompt_idc                   | j                   j                  j                  dt        |       dt        |       dd|      }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||	      S |j                  d
k(  rt        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rt!        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                         }t%        |j                  t        |j                        |      # t"        $ r6 t%        |j                  t        |j                        |j&                        w xY w)a  
        Restore a prompt version by creating a new version with the content from the specified version

        Parameters
        ----------
        prompt_id : str

        version_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[PromptVersionDetail]
            OK
        r   
/versions//restorer]   r   r:   r;   r<   r?   rc   rd   r   rB   )r#   rF   rG   r
   rC   rH   rI   r   r   rJ   r	   r   rK   rD   rh   ri   r   r   r   rL   r%   r   r   r1   rN   rO   rP   s          r&   restore_prompt_versionz'RawPromptsClient.restore_prompt_versionC  s   ( ((55==!"29"=!>jIYZdIeHffno+ > 
	
"	ti++1c1' 1 ) 0 $YUCC$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AH EH ?Ir   rT   r1   c                   | j                   j                  j                  dd|||dddi|t              }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                         	            }t        ||
      S |j                  dk(  rt        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rt!        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rt#        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                         }t'        |j                  t        |j                        |      # t$        $ r6 t'        |j                  t        |j                        |j(                        w xY w)a  
        Retrieve prompt version

        Parameters
        ----------
        name : str

        commit : typing.Optional[str]

        project_name : typing.Optional[str]
            If provided, scopes the search to the specified project

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[PromptVersionDetail]
            OK
        $v1/private/prompts/versions/retriever]   r-   r   rT   r_   r`   ra   r:   r;   r<   r?   rc   rd   r   rf   rB   )r#   rF   rG   rg   rC   rH   rI   r   r   rJ   r	   r   rK   rD   rh   ri   r   r   r   r   rL   r%   r-   r   rT   r1   rN   rO   rP   s           r&   retrieve_prompt_versionz(RawPromptsClient.retrieve_prompt_version  s@   8 ((55==2  ,  2 , > 
	-	ti++1c1' 1 ) 0 $YUCC$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AJ GJ ?K)'__name__
__module____qualname__r   r'   rH   rh   intstrr   r	   r   rQ   rg   r   r   r   Sequencerk   r   r   rw   r   boolr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r)   r&   r   r       sq   .*; . &*%)%)+/(,(,;?>p ooc">p ooc"	>p
 ooc">p OOC(>p %>p %>p  8>p 
&	'>pH $(+/-1,0)-373715LP6:;?rp rp OOC 	rp
 OOC(rp ooc*rp __S)rp //#&rp //-0rp #OOC0rp ooo.rp #OO,HIrp oofooc23rp  8rp 
d	rpr [_W[+/-1;?ip ip %	ip
 #OO,VWip 06vs?S/Tip OOC(ip ooc*ip  8ip 
)	*ip` -1;?Hp __S!Hp $	Hp
 OOD)Hp  8Hp 
d	HpV NR/p/p+1??>+J/p	l	#/pl -16:;?]p]p 	]p
 __S)]p oofooc23]p  8]p 
d	]p~ \` p p9X pdpqudv p: `d#pooc*#p=C__^=\#p	d	#pL RVEpEp/5~/NEp	l	#EpP VZ/p/p39??>3R/p	)	*/pj &*%)'+(,(,;?>p>p ooc"	>p
 ooc">p $>p %>p %>p  8>p 
-	.>pB dh+p //#.+pAGQ_A`+p	fkk"9:	;+p\ fj<p<p*-<pCI??SaCb<p	)	*<pD (,-1;?Xp Xp $	Xp
 ooc*Xp  8Xp 
)	*Xpr)   r   c                      e Zd ZdefdZdddddddddej                  e   dej                  e   dej                  e   dej                  e   d	ej                  e   d
ej                  e   dej                  e	   de
e   fdZeeeeeeeeeedddedej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  ej"                  e      dej                  e	   de
d   fdZeeeedddededej                  e   dej                  ej"                  e      dej                  e   dej                  e   dej                  e	   de
e   fdZedddej"                  e   ded ej                  e   dej                  e	   de
d   f
d!Zdd"dedej                  e	   de
e   fd#Zeedd$dededej                  e   dej                  ej"                  e      dej                  e	   de
d   fd%Zdd"dedej                  e	   de
d   fd&Zdd"dej"                  e   dej                  e	   de
d   fd'Zdd"d(edej                  e	   de
e   fd)Zdd"d*edej                  e	   de
e   fd+Zddddddd,dedej                  e   dej                  e   d-ej                  e   d	ej                  e   d
ej                  e   dej                  e	   de
e    fd.Z!dd"d/ej"                  e   dej                  e	   de
ejD                  e#      fd0Z$dd"d1ed*edej                  e	   de
e   fd2Z%eedd3ded(ej                  e   dej                  e   dej                  e	   de
e   f
d4Z&y)5AsyncRawPromptsClientr   c                    || _         y r!   r"   r$   s     r&   r'   zAsyncRawPromptsClient.__init__  r(   r)   Nr*   r+   r,   r-   r.   r/   r0   r1   r2   c                2  K   | j                   j                  j                  dd||||||d|       d{   }	 d|j                  cxk  rdk  rGn nDt	        j
                  t        t        t        |j                                     }	t        ||		      S |j                         }
t        |j                  t        |j                        |

      7 # t        $ r6 t        |j                  t        |j                        |j                  
      w xY ww)a  
        Get prompts

        Parameters
        ----------
        page : typing.Optional[int]

        size : typing.Optional[int]

        name : typing.Optional[str]

        project_id : typing.Optional[str]

        sorting : typing.Optional[str]

        filters : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[PromptPagePublic]
            OK
        r4   r5   r6   r7   Nr:   r;   r<   r?   rB   )r#   rF   rG   rC   rH   rI   r   r   rJ   r   r   r   rK   rD   rL   rM   s              r&   rQ   z!AsyncRawPromptsClient.get_prompts  s    H ..;;CC ("" , D 
 
		ti++1c1$ . ) 0 ))%HH&^^-N 9#8#8$yGXGXBY`noo5
0  	ty'<'<d9K\K\F]dmdrdrss	ts3   4DCDAC DC (,D?DDrR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   c                |  K   | j                   j                  j                  dd|||||||||	|
|dddi|t               d{   }	 d|j                  cxk  rd	k  rn nt        |d
      S |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rt!        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t%        |j                  t        |j                        |      7 4# t"        $ r6 t%        |j                  t        |j                        |j&                        w xY ww)a  
        Create prompt

        Parameters
        ----------
        name : str

        id : typing.Optional[str]

        project_id : typing.Optional[str]
            Project ID. Takes precedence over project_name when both are provided.

        project_name : typing.Optional[str]
            For project scope, specify either project_id or project_name. If project_name is provided and the project does not exist, it will be created. Ignored when project_id is provided. If neither is provided, the prompt is created at workspace level.

        description : typing.Optional[str]

        template : typing.Optional[str]

        metadata : typing.Optional[JsonNodeWrite]

        change_description : typing.Optional[str]

        type : typing.Optional[PromptWriteType]

        template_structure : typing.Optional[PromptWriteTemplateStructure]
            Template structure type: 'text' or 'chat'. Immutable after creation.

        tags : typing.Optional[typing.Sequence[str]]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[None]
        r4   r]   r^   r_   r`   ra   Nr:   r;   r?   rc   r<   rd   re   rf   rB   )r#   rF   rG   rg   rC   r   r   rK   rD   rH   rI   rh   ri   r   rJ   r   r   r   r   rL   rj   s                  r&   rk   z#AsyncRawPromptsClient.create_prompt   sA    j ..;;CC ( ,*$$&8&8  2 ,) D 
 
	,&	ti++1c1()$GG$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo{
v  	ty'<'<d9K\K\F]dmdrdrss	ts7   AJ<I7J<	$I: -J<.GI: ,J<:?J99J<rl   rn   rm   c                   K   | j                   j                  j                  dd|t        |t        d      ||||dddi|t
               d	{   }	 d
|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }	t        ||	      S |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                      t        t        j                  t        j                      |j                                           |j                  dk(  rt#        t        |j                        t        j                  t        j                  t        j                      t        t        j                  t        j                      |j                                           |j                  dk(  rt%        t        |j                        t        j                  t        j                  t        j                      t        t        j                  t        j                      |j                                           |j                         }
t)        |j                  t        |j                        |
      7 k# t&        $ r6 t)        |j                  t        |j                        |j*                        w xY ww)a  
        Create prompt version

        Parameters
        ----------
        name : str

        version : PromptVersionDetail

        template_structure : typing.Optional[CreatePromptVersionDetailTemplateStructure]
            Template structure for the prompt: 'text' or 'chat'. Note: This field is only used when creating a new prompt. If a prompt with the given name already exists, this field is ignored and the existing prompt's template structure is used. Template structure is immutable after prompt creation.

        exclude_blueprint_update_for_projects : typing.Optional[typing.Sequence[str]]
            Optional set of project IDs to exclude from automatic blueprint creation when this prompt version is committed.

        project_id : typing.Optional[str]
            Project ID. Takes precedence over project_name when both are provided.

        project_name : typing.Optional[str]
            If provided, scopes the prompt to the specified project. Ignored when project_id is provided.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[PromptVersionDetail]
            OK
        rp   r]   rq   rr   ru   r_   r`   ra   Nr:   r;   r<   r?   rc   rd   re   rf   rB   )r#   rF   rG   r   r   rg   rC   rH   rI   r   rJ   r   r   rK   rD   rh   ri   r   r   r   r   rL   rv   s              r&   rw   z+AsyncRawPromptsClient.create_prompt_version  si    P ..;;CC)B#0Cw '99^( ,	  2 ,# D 
 
	&-	ti++1c1' 1 ) 0 ))%HH$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooC
~  	ty'<'<d9K\K\F]dmdrdrss	ts8   AK>J9K>AJ< /K>0GJ< ,K><?K;;K>rx   rz   r{   ry   c                "  K   | j                   j                  j                  dd|t        |t        d      |dddi|t
               d	{   }	 d
|j                  cxk  rdk  rn nt        |d	      S |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j!                                           |j!                         }t%        |j                  t        |j                        |      7 # t"        $ r6 t%        |j                  t        |j                        |j&                        w xY ww)a  
        Update one or more prompt versions.

        Note: Prompt versions are immutable by design.
        Only organizational properties, such as tags etc., can be updated.
        Core properties like template and metadata cannot be modified after creation.

        PATCH semantics:
        - non-empty values update the field
        - null values preserve existing field values (no change)
        - empty values explicitly clear the field

        Parameters
        ----------
        ids : typing.Sequence[str]
            IDs of prompt versions to update

        update : PromptVersionUpdate

        merge_tags : typing.Optional[bool]
            Tag merge behavior:
            - true: Add new tags to existing tags (union)
            - false: Replace all existing tags with new tags (default behaviour if not provided)

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[None]
        rp   r}   rq   rr   r~   r_   r`   ra   Nr:   r;   r?   rc   r<   rd   rB   )r#   rF   rG   r   r   rg   rC   r   r   rK   rD   rH   rI   rh   ri   r   rJ   r   r   rL   r   s          r&   r   z,AsyncRawPromptsClient.update_prompt_versions  se    N ..;;CC)A"/Bg )  2 , D 
 
	 	ti++1c1()$GG$$+% !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooC
>  	ty'<'<d9K\K\F]dmdrdrss	ts7   A	FEF$E 5F6B*E  ,F?FFr   c                p  K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                  d	k(  rt        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     
      |j                         }t#        |j                  t        |j                        |      7 7# t         $ r6 t#        |j                  t        |j                        |j$                        w xY ww)a&  
        Get prompt by id

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[PromptDetail]
            Prompt resource
        r   r5   r   Nr:   r;   r<   r?   r   rd   rB   )r#   rF   rG   r
   rC   rH   rI   r   r   rJ   r   r   rK   rD   rh   ri   r   r   rL   r   s         r&   r   z&AsyncRawPromptsClient.get_prompt_by_idI  sj    $ ..;;CC!"22"6!78+ D 
 
	
	ti++1c1  * ) 0 ))%HH$$+# !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo;
6  	ty'<'<d9K\K\F]dmdrdrss	t5   8F6E1F6 AE4 F6B*E4 ,F64?F33F6r   c                  K   | j                   j                  j                  dt        |       d|||dddi|t               d{   }	 d|j
                  cxk  rd	k  rn nt        |d
      S |j
                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j
                  dk(  rt!        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j
                  dk(  rt#        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j
                  dk(  rt%        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t)        |j
                  t        |j                        |      7 # t&        $ r6 t)        |j
                  t        |j                        |j*                        w xY ww)au  
        Update prompt

        Parameters
        ----------
        id : str

        name : str

        description : typing.Optional[str]

        tags : typing.Optional[typing.Sequence[str]]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[None]
        r   r   r   r_   r`   ra   Nr:   r;   r?   rc   r<   rd   r   re   rf   rB   )r#   rF   rG   r
   rg   rC   r   r   rK   rD   rH   rI   rh   ri   r   rJ   r   r   r   r   r   rL   r   s           r&   r   z#AsyncRawPromptsClient.update_promptz  s    : ..;;CC!"22"6!78*  2 , D 
 
	1	ti++1c1()$GG$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooA
|  	ty'<'<d9K\K\F]dmdrdrss	ts7   AMLM$L 1M2I8L *,M?MMc                  K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  rn nt        |d      S |j                         }t        |j                  t        |j                        |      7 e# t        $ r6 t        |j                  t        |j                        |j                        w xY ww)	z
        Delete prompt

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[None]
        r   r   r   Nr:   r;   r?   rB   )r#   rF   rG   r
   rC   r   rJ   r   r   rK   rD   rL   r   s        r&   r   z#AsyncRawPromptsClient.delete_prompt  s     " ..;;CC!"22"6!78+ D 
 
	
	ti++1c1()$GG&^^-N 9#8#8$yGXGXBY`noo
  	ty'<'<d9K\K\F]dmdrdrss	ts3   8C$B C$ $B" $C$%B" 5,C$"?C!!C$c                  K   | j                   j                  j                  ddd|iddi|t               d{   }	 d|j                  cxk  rd	k  rn nt        |d
      S |j                         }t        |j                  t        |j                        |      7 e# t        $ r6 t        |j                  t        |j                        |j                        w xY ww)a  
        Delete prompts batch

        Parameters
        ----------
        ids : typing.Sequence[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[None]
        r   r]   rz   r_   r`   ra   Nr:   r;   r?   rB   )r#   rF   rG   rg   rC   r   rJ   r   r   rK   rD   rL   r   s        r&   r   z*AsyncRawPromptsClient.delete_prompts_batch  s     " ..;;CC's  2 , D 
 
		ti++1c1()$GG&^^-N 9#8#8$yGXGXBY`noo%
   	ty'<'<d9K\K\F]dmdrdrss	ts2   7C#BC#$B! #C#$B! 4,C#!?C  C#r   c                  K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                  d	k(  rt        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     
      |j                  dk(  rt!        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     
      |j                  dk(  rt#        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     
      |j                         }t'        |j                  t        |j                        |      7 k# t$        $ r6 t'        |j                  t        |j                        |j(                        w xY ww)a!  
        Get prompt by commit

        Parameters
        ----------
        commit : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[PromptDetail]
            OK
        r   r5   r   Nr:   r;   r<   r?   rc   rd   r   re   rB   )r#   rF   rG   r
   rC   rH   rI   r   r   rJ   r   r   rK   rD   rh   ri   r   r   r   r   rL   r   s         r&   r   z*AsyncRawPromptsClient.get_prompt_by_commit  s>    $ ..;;CC+,<V,D+EF+ D 
 
	
-	ti++1c1  * ) 0 ))%HH$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noog
b  	ty'<'<d9K\K\F]dmdrdrss	ts5   8K*J%K* AJ( K*GJ( :,K*(?K''K*r   c                p  K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                  d	k(  rt        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     
      |j                         }t#        |j                  t        |j                        |      7 7# t         $ r6 t#        |j                  t        |j                        |j$                        w xY ww)aE  
        Get prompt version by id

        Parameters
        ----------
        version_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[PromptVersionDetail]
            Prompt version resource
        r   r5   r   Nr:   r;   r<   r?   r   rd   rB   )r#   rF   rG   r
   rC   rH   rI   r   r   rJ   r   r   rK   rD   rh   ri   r   r   rL   r   s         r&   r   z.AsyncRawPromptsClient.get_prompt_version_by_idc  sj    $ ..;;CC*+;J+G*HI+ D 
 
	
	ti++1c1' 1 ) 0 ))%HH$$+# !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo;
6  	ty'<'<d9K\K\F]dmdrdrss	tr   r   r   c          
      J  K   | j                   j                  j                  dt        |       dd|||||d|       d{   }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                         	            }	t        ||	
      S |j                         }
t        |j                  t        |j                        |
      7 # t        $ r6 t        |j                  t        |j                        |j                        w xY ww)a1  
        Get prompt versions

        Parameters
        ----------
        id : str

        page : typing.Optional[int]

        size : typing.Optional[int]

        search : typing.Optional[str]
            Search text to find in template or change description fields

        sorting : typing.Optional[str]

        filters : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[PromptVersionPagePublic]
            OK
        r   r   r5   r   r7   Nr:   r;   r<   r?   rB   )r#   rF   rG   r
   rC   rH   rI   r   r   rJ   r   r   r   rK   rD   rL   r   s              r&   r   z)AsyncRawPromptsClient.get_prompt_versions  s    J ..;;CC!"22"6!7yA "" , D 
 
		ti++1c1+ 5 ) 0 ))%HH&^^-N 9#8#8$yGXGXBY`noo3
.  	ty'<'<d9K\K\F]dmdrdrss	ts7   A D#CD#AC! #D#$C! 4,D#!?D  D#r   c                |  K   | j                   j                  j                  ddd|iddi|t               d{   }	 d|j                  cxk  rd	k  rin nft        j                  t
        j                  t           t        t
        j                  t           |j                         
            }t        ||      S |j                         }t        |j                  t        |j                        |      7 # t        $ r6 t        |j                  t        |j                        |j                         w xY ww)a\  
        Get prompts by prompt version commits

        Parameters
        ----------
        commits : typing.Sequence[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[typing.List[PromptVersionLinkPublic]]
            OK
        r   r]   r   r_   r`   ra   Nr:   r;   r<   r?   rB   )r#   rF   rG   rg   rC   rH   rI   r   r   r   rJ   r   r   r   rK   rD   rL   r   s         r&   r   z,AsyncRawPromptsClient.get_prompts_by_commits  s#    $ ..;;CC47  2 , D 
 
		ti++1c1KK 78 $kk*AB ) 0 ))%HH&^^-N 9#8#8$yGXGXBY`noo3
.  	ty'<'<d9K\K\F]dmdrdrss	ts3   7D<C8D<A=C: <D<=C: ,D<:?D99D<r   c                  K   | j                   j                  j                  dt        |       dt        |       dd|       d{   }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                         	            }t        ||
      S |j                  dk(  rt        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rt!        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                         }t%        |j                  t        |j                        |      7 # t"        $ r6 t%        |j                  t        |j                        |j&                        w xY ww)a  
        Restore a prompt version by creating a new version with the content from the specified version

        Parameters
        ----------
        prompt_id : str

        version_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[PromptVersionDetail]
            OK
        r   r   r   r]   r   Nr:   r;   r<   r?   rc   rd   r   rB   )r#   rF   rG   r
   rC   rH   rI   r   r   rJ   r   r   rK   rD   rh   ri   r   r   r   rL   r   s          r&   r   z,AsyncRawPromptsClient.restore_prompt_version  s    ( ..;;CC!"29"=!>jIYZdIeHffno+ D 
 
	
"	ti++1c1' 1 ) 0 ))%HH$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooQ
L  	ty'<'<d9K\K\F]dmdrdrss	ts8   AIHIAH (I)EH -,I?IIr   c                  K   | j                   j                  j                  dd|||dddi|t               d{   }	 d|j                  cxk  rd	k  rGn nDt        j                  t        t        t        |j                         
            }t        ||      S |j                  dk(  rt        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         
                  |j                  dk(  rt!        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         
                  |j                  dk(  rt#        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         
                  |j                         }t'        |j                  t        |j                        |      7 k# t$        $ r6 t'        |j                  t        |j                        |j(                        w xY ww)a  
        Retrieve prompt version

        Parameters
        ----------
        name : str

        commit : typing.Optional[str]

        project_name : typing.Optional[str]
            If provided, scopes the search to the specified project

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[PromptVersionDetail]
            OK
        r   r]   r   r_   r`   ra   Nr:   r;   r<   r?   rc   rd   r   rf   rB   )r#   rF   rG   rg   rC   rH   rI   r   r   rJ   r   r   rK   rD   rh   ri   r   r   r   r   rL   r   s           r&   r   z-AsyncRawPromptsClient.retrieve_prompt_version?  sP    8 ..;;CC2  ,  2 , D 
 
	-	ti++1c1' 1 ) 0 ))%HH$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooy
t  	ty'<'<d9K\K\F]dmdrdrss	ts5   9K+J&K+AJ) K+GJ) ;,K+)?K((K+)'r   r   r   r   r'   rH   rh   r   r   r   r   r   rQ   rg   r   r   r   r   rk   r   r   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r)   r&   r   r     sr   .*< . &*%)%)+/(,(,;?>p ooc">p ooc"	>p
 ooc">p OOC(>p %>p %>p  8>p 
+	,>pH $(+/-1,0)-373715LP6:;?rp rp OOC 	rp
 OOC(rp ooc*rp __S)rp //#&rp //-0rp #OOC0rp ooo.rp #OO,HIrp oofooc23rp  8rp 
4	 rpr [_W[+/-1;?ip ip %	ip
 #OO,VWip 06vs?S/Tip OOC(ip ooc*ip  8ip 
.	/ip` -1;?Hp __S!Hp $	Hp
 OOD)Hp  8Hp 
4	 HpV NR/p/p+1??>+J/p	<	(/pl -16:;?]p]p 	]p
 __S)]p oofooc23]p  8]p 
4	 ]p@ NRpp+1??>+Jp	4	 p> `d#pooc*#p=C__^=\#p	4	 #pL RVEpEp/5~/NEp	<	(EpP VZ/p/p39??>3R/p	.	//pj &*%)'+(,(,;?>p>p ooc"	>p
 ooc">p $>p %>p %>p  8>p 
2	3>pB dh+p //#.+pAGQ_A`+p	6;;'>?	@+p\ fj<p<p*-<pCI??SaCb<p	.	/<pD (,-1;?Xp Xp $	Xp
 ooc*Xp  8Xp 
.	/Xpr)   r   )4rH   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.http_responser   r	   core.jsonable_encoderr
   core.pydantic_utilitiesr   core.request_optionsr   core.serializationr   errors.bad_request_errorr   errors.conflict_errorr   errors.not_found_errorr   !errors.unprocessable_entity_errorr   types.json_node_writer   types.prompt_detailr   types.prompt_page_publicr   types.prompt_version_detailr    types.prompt_version_link_publicr    types.prompt_version_page_publicr   types.prompt_version_updater   5types.create_prompt_version_detail_template_structurer   %types.prompt_write_template_structurer   types.prompt_write_typer   rI   ri   rg   r   r   r   r)   r&   <module>r      s     ( % G @ 4 2 1 H 6 1 2 H 1 . 7 = F F = m O 4 v{{6::s#yp ypx{p {pr)   