
    _iM                       S SK Jr  S SKJrJrJr  S SKJr  S SKrSSK	J
r
  SSKJrJrJrJrJrJrJr  SSKJrJr  SS	KJr  SS
KJrJr  SSKJrJr  SSKJrJ r   SSK!J"r"J#r#J$r$  SSK%J&r&J'r'  SSK(J)r)  SSK*J+r+  SSK,J-r-  SSK.J/r/  SSK0J1r1  SSK2J3r3  SSK4J5r5  SS/r6 " S S\5      r7 " S S\5      r8 " S S5      r9 " S S5      r: " S S5      r; " S  S!5      r<g)"    )annotations)UnionIterableOptional)LiteralN   )_legacy_response)BodyOmitQueryHeadersNotGivenomit	not_given)maybe_transformasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncCursorPageAsyncCursorPage)assistant_list_paramsassistant_create_paramsassistant_update_params)AsyncPaginatormake_request_options)	Assistant)	ChatModel)AssistantDeleted)Metadata)ReasoningEffort)AssistantToolParam)"AssistantResponseFormatOptionParam
AssistantsAsyncAssistantsc                     \ rS rSr\SS j5       r\SS j5       r\\\\\\\\\\SSS\S.                               SS jjr	SSS\S.           SS jjr
\\\\\\\\\\\SSS\S	.                                 SS
 jjr\\\\SSS\S.                 SS jjrSSS\S.           SS jjrSrg)r&   "   c                    [        U 5      $ z
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.

For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers
)AssistantsWithRawResponseselfs    \/var/www/html/land-ocr/venv/lib/python3.13/site-packages/openai/resources/beta/assistants.pywith_raw_responseAssistants.with_raw_response#   s     )..    c                    [        U 5      $ z
An alternative to `.with_raw_response` that doesn't eagerly read the response body.

For more information, see https://www.github.com/openai/openai-python#with_streaming_response
)AssistantsWithStreamingResponser-   s    r/   with_streaming_response"Assistants.with_streaming_response-   s     /t44r2   Ndescriptioninstructionsmetadatanamereasoning_effortresponse_formattemperaturetool_resourcestoolstop_pextra_headersextra_query
extra_bodytimeoutc                   SS0U=(       d    0 EnU R                  S[        UUUUUUUUU	U
US.[        R                  5      [	        XXS9[
        S9$ )  
Create an assistant with a model and instructions.

Args:
  model: ID of the model to use. You can use the
      [List models](https://platform.openai.com/docs/api-reference/models/list) API to
      see all of your available models, or see our
      [Model overview](https://platform.openai.com/docs/models) for descriptions of
      them.

  description: The description of the assistant. The maximum length is 512 characters.

  instructions: The system instructions that the assistant uses. The maximum length is 256,000
      characters.

  metadata: Set of 16 key-value pairs that can be attached to an object. This can be useful
      for storing additional information about the object in a structured format, and
      querying for objects via API or the dashboard.

      Keys are strings with a maximum length of 64 characters. Values are strings with
      a maximum length of 512 characters.

  name: The name of the assistant. The maximum length is 256 characters.

  reasoning_effort: Constrains effort on reasoning for
      [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
      supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
      Reducing reasoning effort can result in faster responses and fewer tokens used
      on reasoning in a response.

      - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
        reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
        calls are supported for all reasoning values in gpt-5.1.
      - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
        support `none`.
      - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
      - `xhigh` is supported for all models after `gpt-5.1-codex-max`.

  response_format: Specifies the format that the model must output. Compatible with
      [GPT-4o](https://platform.openai.com/docs/models#gpt-4o),
      [GPT-4 Turbo](https://platform.openai.com/docs/models#gpt-4-turbo-and-gpt-4),
      and all GPT-3.5 Turbo models since `gpt-3.5-turbo-1106`.

      Setting to `{ "type": "json_schema", "json_schema": {...} }` enables Structured
      Outputs which ensures the model will match your supplied JSON schema. Learn more
      in the
      [Structured Outputs guide](https://platform.openai.com/docs/guides/structured-outputs).

      Setting to `{ "type": "json_object" }` enables JSON mode, which ensures the
      message the model generates is valid JSON.

      **Important:** when using JSON mode, you **must** also instruct the model to
      produce JSON yourself via a system or user message. Without this, the model may
      generate an unending stream of whitespace until the generation reaches the token
      limit, resulting in a long-running and seemingly "stuck" request. Also note that
      the message content may be partially cut off if `finish_reason="length"`, which
      indicates the generation exceeded `max_tokens` or the conversation exceeded the
      max context length.

  temperature: What sampling temperature to use, between 0 and 2. Higher values like 0.8 will
      make the output more random, while lower values like 0.2 will make it more
      focused and deterministic.

  tool_resources: A set of resources that are used by the assistant's tools. The resources are
      specific to the type of tool. For example, the `code_interpreter` tool requires
      a list of file IDs, while the `file_search` tool requires a list of vector store
      IDs.

  tools: A list of tool enabled on the assistant. There can be a maximum of 128 tools per
      assistant. Tools can be of types `code_interpreter`, `file_search`, or
      `function`.

  top_p: An alternative to sampling with temperature, called nucleus sampling, where the
      model considers the results of the tokens with top_p probability mass. So 0.1
      means only the tokens comprising the top 10% probability mass are considered.

      We generally recommend altering this or temperature but not both.

  extra_headers: Send extra headers

  extra_query: Add additional query parameters to the request

  extra_body: Add additional JSON properties to the request

  timeout: Override the client-level default timeout for this request, in seconds
OpenAI-Betaassistants=v2/assistantsmodelr9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   bodyoptionscast_to)_postr   r   AssistantCreateParamsr   r   r.   rM   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   s                   r/   createAssistants.create6   s    V 'QM<ORQzz "#.$0 ( (8'6#.&4"" (==  )+Q[ +  
 	
r2   rN   c          
         U(       d  [        SU< 35      eSS0U=(       d    0 EnU R                  SU 3[        X#XES9[        S9$ )  
Retrieves an assistant.

Args:
  extra_headers: Send extra headers

  extra_query: Add additional query parameters to the request

  extra_body: Add additional JSON properties to the request

  timeout: Override the client-level default timeout for this request, in seconds
;Expected a non-empty value for `assistant_id` but received rI   rJ   /assistants/rN   rQ   rR   
ValueError_getr   r   r.   assistant_idrC   rD   rE   rF   s         r/   retrieveAssistants.retrieve   sc    . Z[gZjkll&QM<ORQyy<.)(+Q[   
 	
r2   r9   r:   r;   rM   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   c                   U(       d  [        SU< 35      eSS0U=(       d    0 EnU R                  SU 3[        UUUUUUUU	U
UUS.[        R                  5      [        XUUS9[        S9$ )  Modifies an assistant.

Args:
  description: The description of the assistant.

The maximum length is 512 characters.

  instructions: The system instructions that the assistant uses. The maximum length is 256,000
      characters.

  metadata: Set of 16 key-value pairs that can be attached to an object. This can be useful
      for storing additional information about the object in a structured format, and
      querying for objects via API or the dashboard.

      Keys are strings with a maximum length of 64 characters. Values are strings with
      a maximum length of 512 characters.

  model: ID of the model to use. You can use the
      [List models](https://platform.openai.com/docs/api-reference/models/list) API to
      see all of your available models, or see our
      [Model overview](https://platform.openai.com/docs/models) for descriptions of
      them.

  name: The name of the assistant. The maximum length is 256 characters.

  reasoning_effort: Constrains effort on reasoning for
      [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
      supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
      Reducing reasoning effort can result in faster responses and fewer tokens used
      on reasoning in a response.

      - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
        reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
        calls are supported for all reasoning values in gpt-5.1.
      - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
        support `none`.
      - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
      - `xhigh` is supported for all models after `gpt-5.1-codex-max`.

  response_format: Specifies the format that the model must output. Compatible with
      [GPT-4o](https://platform.openai.com/docs/models#gpt-4o),
      [GPT-4 Turbo](https://platform.openai.com/docs/models#gpt-4-turbo-and-gpt-4),
      and all GPT-3.5 Turbo models since `gpt-3.5-turbo-1106`.

      Setting to `{ "type": "json_schema", "json_schema": {...} }` enables Structured
      Outputs which ensures the model will match your supplied JSON schema. Learn more
      in the
      [Structured Outputs guide](https://platform.openai.com/docs/guides/structured-outputs).

      Setting to `{ "type": "json_object" }` enables JSON mode, which ensures the
      message the model generates is valid JSON.

      **Important:** when using JSON mode, you **must** also instruct the model to
      produce JSON yourself via a system or user message. Without this, the model may
      generate an unending stream of whitespace until the generation reaches the token
      limit, resulting in a long-running and seemingly "stuck" request. Also note that
      the message content may be partially cut off if `finish_reason="length"`, which
      indicates the generation exceeded `max_tokens` or the conversation exceeded the
      max context length.

  temperature: What sampling temperature to use, between 0 and 2. Higher values like 0.8 will
      make the output more random, while lower values like 0.2 will make it more
      focused and deterministic.

  tool_resources: A set of resources that are used by the assistant's tools. The resources are
      specific to the type of tool. For example, the `code_interpreter` tool requires
      a list of file IDs, while the `file_search` tool requires a list of vector store
      IDs.

  tools: A list of tool enabled on the assistant. There can be a maximum of 128 tools per
      assistant. Tools can be of types `code_interpreter`, `file_search`, or
      `function`.

  top_p: An alternative to sampling with temperature, called nucleus sampling, where the
      model considers the results of the tokens with top_p probability mass. So 0.1
      means only the tokens comprising the top 10% probability mass are considered.

      We generally recommend altering this or temperature but not both.

  extra_headers: Send extra headers

  extra_query: Add additional query parameters to the request

  extra_body: Add additional JSON properties to the request

  timeout: Override the client-level default timeout for this request, in seconds
rZ   rI   rJ   r[   r9   r:   r;   rM   r<   r=   r>   r?   r@   rA   rB   rN   rO   )r^   rS   r   r   AssistantUpdateParamsr   r   r.   ra   r9   r:   r;   rM   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   s                    r/   updateAssistants.update   s    x Z[gZjkll&QM<ORQzz<.) #.$0 (" (8'6#.&4"" (==  )+Q[el +  
 	
r2   afterbeforelimitorderrC   rD   rE   rF   c                   SS0U=(       d    0 EnU R                  S[        [           [        UUUU[	        UUUUS.[
        R                  5      S9[        S9$ ay  Returns a list of assistants.

Args:
  after: A cursor for use in pagination.

`after` is an object ID that defines your place
      in the list. For instance, if you make a list request and receive 100 objects,
      ending with obj_foo, your subsequent call can include after=obj_foo in order to
      fetch the next page of the list.

  before: A cursor for use in pagination. `before` is an object ID that defines your place
      in the list. For instance, if you make a list request and receive 100 objects,
      starting with obj_foo, your subsequent call can include before=obj_foo in order
      to fetch the previous page of the list.

  limit: A limit on the number of objects to be returned. Limit can range between 1 and
      100, and the default is 20.

  order: Sort order by the `created_at` timestamp of the objects. `asc` for ascending
      order and `desc` for descending order.

  extra_headers: Send extra headers

  extra_query: Add additional query parameters to the request

  extra_body: Add additional JSON properties to the request

  timeout: Override the client-level default timeout for this request, in seconds
rI   rJ   rK   )rm   rn   ro   rp   )rC   rD   rE   rF   query)pagerQ   rM   )_get_api_listr   r   r   r   r   AssistantListParams	r.   rm   rn   ro   rp   rC   rD   rE   rF   s	            r/   listAssistants.list  sy    V 'QM<ORQ!!	*(+'%%!&"(!&!&	 *== % " 
 	
r2   c          
         U(       d  [        SU< 35      eSS0U=(       d    0 EnU R                  SU 3[        X#XES9[        S9$ )  
Delete an assistant.

Args:
  extra_headers: Send extra headers

  extra_query: Add additional query parameters to the request

  extra_body: Add additional JSON properties to the request

  timeout: Override the client-level default timeout for this request, in seconds
rZ   rI   rJ   r[   rN   r\   r^   _deleter   r!   r`   s         r/   deleteAssistants.delete  sc    . Z[gZjkll&QM<ORQ||<.)(+Q[ %  
 	
r2    )returnr,   )r   r5    rM   zUnion[str, ChatModel]r9   Optional[str] | Omitr:   r   r;   Optional[Metadata] | Omitr<   r   r=    Optional[ReasoningEffort] | Omitr>   3Optional[AssistantResponseFormatOptionParam] | Omitr?   Optional[float] | Omitr@   z6Optional[assistant_create_params.ToolResources] | OmitrA   #Iterable[AssistantToolParam] | OmitrB   r   rC   Headers | NonerD   Query | NonerE   Body | NonerF   'float | httpx.Timeout | None | NotGivenr   r   ra   strrC   r   rD   r   rE   r   rF   r   r   r   "ra   r   r9   r   r:   r   r;   r   rM   a3  Union[str, Literal['gpt-5', 'gpt-5-mini', 'gpt-5-nano', 'gpt-5-2025-08-07', 'gpt-5-mini-2025-08-07', 'gpt-5-nano-2025-08-07', 'gpt-4.1', 'gpt-4.1-mini', 'gpt-4.1-nano', 'gpt-4.1-2025-04-14', 'gpt-4.1-mini-2025-04-14', 'gpt-4.1-nano-2025-04-14', 'o3-mini', 'o3-mini-2025-01-31', 'o1', 'o1-2024-12-17', 'gpt-4o', 'gpt-4o-2024-11-20', 'gpt-4o-2024-08-06', 'gpt-4o-2024-05-13', 'gpt-4o-mini', 'gpt-4o-mini-2024-07-18', 'gpt-4.5-preview', 'gpt-4.5-preview-2025-02-27', 'gpt-4-turbo', 'gpt-4-turbo-2024-04-09', 'gpt-4-0125-preview', 'gpt-4-turbo-preview', 'gpt-4-1106-preview', 'gpt-4-vision-preview', 'gpt-4', 'gpt-4-0314', 'gpt-4-0613', 'gpt-4-32k', 'gpt-4-32k-0314', 'gpt-4-32k-0613', 'gpt-3.5-turbo', 'gpt-3.5-turbo-16k', 'gpt-3.5-turbo-0613', 'gpt-3.5-turbo-1106', 'gpt-3.5-turbo-0125', 'gpt-3.5-turbo-16k-0613']] | Omitr<   r   r=   r   r>   r   r?   r   r@   z6Optional[assistant_update_params.ToolResources] | OmitrA   r   rB   r   rC   r   rD   r   rE   r   rF   r   r   r   )rm   
str | Omitrn   r   ro   
int | Omitrp   Literal['asc', 'desc'] | OmitrC   r   rD   r   rE   r   rF   r   r   zSyncCursorPage[Assistant]ra   r   rC   r   rD   r   rE   r   rF   r   r   r!   __name__
__module____qualname____firstlineno__r   r0   r6   r   r   rV   rb   rj   rx   r~   __static_attributes__r   r2   r/   r&   r&   "   s:   / / 5 5 -1-1.2%)=AOS.2QU59(, )-$("&;D'B
 %B
 *	B

 +B
 ,B
 #B
 ;B
 MB
 ,B
 OB
 3B
 &B
  &!B
" "#B
$  %B
& 9'B
( 
)B
T )-$("&;D 
 
 & 
 " 
   
 9 
 
 
L -1-1.2` %)=AOS.2QU59(, )-$("&;DGu
u
 *	u

 +u
 ,u
/u
n #ou
p ;qu
r Msu
t ,uu
v Owu
x 3yu
z &{u
@ &Au
B "Cu
D  Eu
F 9Gu
H 
Iu
t !! /3 )-$("&;D?
 ?
 	?

 ?
 -?
 &?
 "?
  ?
 9?
 
#?
N )-$("&;D 
 
 & 
 " 
   
 9 
 
 
  
r2   c                     \ rS rSr\SS j5       r\SS j5       r\\\\\\\\\\SSS\S.                               SS jjr	SSS\S.           SS jjr
\\\\\\\\\\\SSS\S	.                                 SS
 jjr\\\\SSS\S.                 SS jjrSSS\S.           SS jjrSrg)r'   i  c                    [        U 5      $ r+   )AsyncAssistantsWithRawResponser-   s    r/   r0   !AsyncAssistants.with_raw_response  s     .d33r2   c                    [        U 5      $ r4   )$AsyncAssistantsWithStreamingResponser-   s    r/   r6   'AsyncAssistants.with_streaming_response  s     4D99r2   Nr8   c                  #    SS0U=(       d    0 EnU R                  S[        UUUUUUUUU	U
US.[        R                  5      I Sh  vN [	        XXS9[
        S9I Sh  vN $  N N7f)rH   rI   rJ   rK   rL   NrN   rO   )rS   r   r   rT   r   r   rU   s                   r/   rV   AsyncAssistants.create  s     V 'QM<ORQZZ,"#.$0 ( (8'6#.&4"" (==   )+Q[ +   
 
 	

s$   AA(A$
A(A& A(&A(rN   c          
        #    U(       d  [        SU< 35      eSS0U=(       d    0 EnU R                  SU 3[        X#XES9[        S9I Sh  vN $  N7f)rY   rZ   rI   rJ   r[   rN   r\   Nr]   r`   s         r/   rb   AsyncAssistants.retrieve  sp     . Z[gZjkll&QM<ORQYY<.)(+Q[   
 
 	
 
   A	AAArd   c                 #    U(       d  [        SU< 35      eSS0U=(       d    0 EnU R                  SU 3[        UUUUUUUU	U
UUS.[        R                  5      I Sh  vN [        XUUS9[        S9I Sh  vN $  N N7f)	rf   rZ   rI   rJ   r[   rg   NrN   rO   )r^   rS   r   r   rh   r   r   ri   s                    r/   rj   AsyncAssistants.update  s     x Z[gZjkll&QM<ORQZZ<.),#.$0 (" (8'6#.&4"" (==   )+Q[el +   
 
 	

s$   AB A>
!B9B :B Brl   c                   SS0U=(       d    0 EnU R                  S[        [           [        UUUU[	        UUUUS.[
        R                  5      S9[        S9$ rr   )ru   r   r   r   r   r   rv   rw   s	            r/   rx   AsyncAssistants.listh  sy    V 'QM<ORQ!! +(+'%%!&"(!&!&	 *== % " 
 	
r2   c          
        #    U(       d  [        SU< 35      eSS0U=(       d    0 EnU R                  SU 3[        X#XES9[        S9I Sh  vN $  N7f)r{   rZ   rI   rJ   r[   rN   r\   Nr|   r`   s         r/   r~   AsyncAssistants.delete  sp     . Z[gZjkll&QM<ORQ\\<.)(+Q[ % " 
 
 	
 
r   r   )r   r   )r   r   r   r   r   )rm   r   rn   r   ro   r   rp   r   rC   r   rD   r   rE   r   rF   r   r   z5AsyncPaginator[Assistant, AsyncCursorPage[Assistant]]r   r   r   r2   r/   r'   r'     s:   4 4 : : -1-1.2%)=AOS.2QU59(, )-$("&;D'B
 %B
 *	B

 +B
 ,B
 #B
 ;B
 MB
 ,B
 OB
 3B
 &B
  &!B
" "#B
$  %B
& 9'B
( 
)B
T )-$("&;D 
 
 & 
 " 
   
 9 
 
 
L -1-1.2` %)=AOS.2QU59(, )-$("&;DGu
u
 *	u

 +u
 ,u
/u
n #ou
p ;qu
r Msu
t ,uu
v Owu
x 3yu
z &{u
@ &Au
B "Cu
D  Eu
F 9Gu
H 
Iu
t !! /3 )-$("&;D?
 ?
 	?

 ?
 -?
 &?
 "?
  ?
 9?
 
??
N )-$("&;D 
 
 & 
 " 
   
 9 
 
 
  
r2   c                      \ rS rSrSS jrSrg)r,   i  c                   Xl         [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR
                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        g N)_assistantsr	   to_raw_response_wrapperrV   rb   rj   rx   r~   r.   
assistantss     r/   __init__"AssistantsWithRawResponse.__init__  s    %&>>
 )@@
 '>>
 %<<OO
	 '>>
r2   r   rV   r~   rx   rb   rj   Nr   r&   r   Noner   r   r   r   r   r   r   r2   r/   r,   r,         
r2   r,   c                      \ rS rSrSS jrSrg)r   i  c                   Xl         [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR
                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        g r   )r   r	   async_to_raw_response_wrapperrV   rb   rj   rx   r~   r   s     r/   r   'AsyncAssistantsWithRawResponse.__init__  s    %&DD
 )FF
 'DD
 %BBOO
	 'DD
r2   r   Nr   r'   r   r   r   r   r2   r/   r   r     r   r2   r   c                      \ rS rSrSS jrSrg)r5   i  c                   Xl         [        UR                  5      U l        [        UR                  5      U l        [        UR                  5      U l        [        UR
                  5      U l        [        UR                  5      U l        g r   )r   r   rV   rb   rj   rx   r~   r   s     r/   r   (AssistantsWithStreamingResponse.__init__  sw    %2
 5
 3
 1OO
	 3
r2   r   Nr   r   r   r2   r/   r5   r5     r   r2   r5   c                      \ rS rSrSS jrSrg)r   i  c                   Xl         [        UR                  5      U l        [        UR                  5      U l        [        UR                  5      U l        [        UR
                  5      U l        [        UR                  5      U l        g r   )r   r   rV   rb   rj   rx   r~   r   s     r/   r   -AsyncAssistantsWithStreamingResponse.__init__  sw    %8
 ;
 9
 7OO
	 9
r2   r   Nr   r   r   r2   r/   r   r     r   r2   r   )=
__future__r   typingr   r   r   typing_extensionsr   httpx r	   _typesr
   r   r   r   r   r   r   _utilsr   r   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   
types.betar   r   r   _base_clientr   r   types.beta.assistantr   types.shared.chat_modelr    types.beta.assistant_deletedr!   types.shared_params.metadatar"   types.shared.reasoning_effortr#   types.beta.assistant_tool_paramr$   1types.beta.assistant_response_format_option_paramr%   __all__r&   r'   r,   r   r5   r   r   r2   r/   <module>r      s    # , , %    K K K < & : Y 9 
 A - 0 < 4 < A c*
+R
 R
jR
& R
j
 
*
 
*
 
*
 
r2   