Ë
    $Æ%hÂq  ã                  ó  — d dl mZ d dlmZmZmZmZmZmZm	Z	 d dl
mZ d dlmZ d dlZddlmZ ddlmZmZmZmZmZ dd	lmZ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)m*Z+m,Z-m.Z/ ddl0m1Z1 ddl2m3Z3m4Z4 ddl5m6Z6m7Z7 ddl8m9Z9 ddl:m;Z; ddl<m=Z= ddl>m?Z? ddl@mAZA ddlBmCZC ddlDmEZE ddlFmGZG ddlHmIZI ddgZJ G d„ de«      ZK G d „ de«      ZL G d!„ d"«      ZM G d#„ d$«      ZN G d%„ d&«      ZO G d'„ d(«      ZPy))é    )Úannotations)ÚDictÚListÚTypeÚUnionÚIterableÚOptionalÚcast)Úpartial)ÚLiteralNé   )Ú_legacy_response)Ú	NOT_GIVENÚBodyÚQueryÚHeadersÚNotGiven)Úmaybe_transformÚasync_maybe_transform)Úcached_property)ÚSyncAPIResourceÚAsyncAPIResource)Úto_streamed_response_wrapperÚ"async_to_streamed_response_wrapper)ÚStream)Úcompletion_create_params)Úmake_request_options)ÚResponseFormatTÚvalidate_input_toolsÚparse_chat_completionÚtype_to_response_format_param)Ú	ChatModel)ÚChatCompletionStreamManagerÚ AsyncChatCompletionStreamManager)ÚMetadataÚReasoningEffort)ÚChatCompletion)ÚChatCompletionChunk)ÚParsedChatCompletion)ÚChatCompletionToolParam)ÚChatCompletionAudioParam)ÚChatCompletionMessageParam)Ú ChatCompletionStreamOptionsParam)Ú$ChatCompletionPredictionContentParam)Ú#ChatCompletionToolChoiceOptionParamÚCompletionsÚAsyncCompletionsc            !      óÜ  — e Zd Zedd„«       Zedd„«       Zeeeeeeeeeeeeeeeeeeeeeeeeeeeedddedœ 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d	d„Zeeeeeeeeeeeeeeeeeeeeeeeeeeeedddedœ 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d
d„Zy)r0   c                ó   — t        | «      S ©a  
        This property can be used as a prefix for any HTTP method call to return the
        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
        )ÚCompletionsWithRawResponse©Úselfs    úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/openai/resources/beta/chat/completions.pyÚwith_raw_responsezCompletions.with_raw_response+   s   € ô *¨$Ó/Ð/ó    c                ó   — t        | «      S ©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
        )Ú CompletionsWithStreamingResponser6   s    r8   Úwith_streaming_responsez#Completions.with_streaming_response5   s   € ô 0°Ó5Ð5r:   N© ÚaudioÚresponse_formatÚfrequency_penaltyÚfunction_callÚ	functionsÚ
logit_biasÚlogprobsÚmax_completion_tokensÚ
max_tokensÚmetadataÚ
modalitiesÚnÚparallel_tool_callsÚ
predictionÚpresence_penaltyÚreasoning_effortÚseedÚservice_tierÚstopÚstoreÚstream_optionsÚtemperatureÚtool_choiceÚtoolsÚtop_logprobsÚtop_pÚuserÚweb_search_optionsÚextra_headersÚextra_queryÚ
extra_bodyÚtimeoutc       "        ó�  ‡‡— t        ‰«       ddi|xs i ¥}dˆˆfd„}#| j                  dt        i d|“d|“d|“d|“d	|“d
|“d|“d|	“d|
“d|“d|“d|“d|“d|“d|“d|“d|“t        ‰«      ||||d|||‰||||dœ¥t        j
                  «      t        || |!|"|#¬«      t        t        t        t              t        «      d¬«      S )aÔ  Wrapper over the `client.chat.completions.create()` method that provides richer integrations with Python specific types
        & returns a `ParsedChatCompletion` object, which is a subclass of the standard `ChatCompletion` class.

        You can pass a pydantic model to this method and it will automatically convert the model
        into a JSON schema, send it to the API and parse the response content back into the given model.

        This method will also automatically parse `function` tool calls if:
        - You use the `openai.pydantic_function_tool()` helper method
        - You mark your tool schema with `"strict": True`

        Example usage:
        ```py
        from pydantic import BaseModel
        from openai import OpenAI


        class Step(BaseModel):
            explanation: str
            output: str


        class MathResponse(BaseModel):
            steps: List[Step]
            final_answer: str


        client = OpenAI()
        completion = client.beta.chat.completions.parse(
            model="gpt-4o-2024-08-06",
            messages=[
                {"role": "system", "content": "You are a helpful math tutor."},
                {"role": "user", "content": "solve 8x + 31 = 2"},
            ],
            response_format=MathResponse,
        )

        message = completion.choices[0].message
        if message.parsed:
            print(message.parsed.steps)
            print("answer: ", message.parsed.final_answer)
        ```
        úX-Stainless-Helper-Methodúbeta.chat.completions.parsec                ó    •— t        ‰| ‰¬«      S ©N)rA   Úchat_completionÚinput_tools©Ú_parse_chat_completion©Úraw_completionrA   rW   s    €€r8   Úparserz!Completions.parse.<locals>.parser—   ó   ø€ Ü)Ø /Ø .Ø!ôð r:   ú/chat/completionsÚmessagesÚmodelr@   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   F)rA   rP   rQ   rR   rS   ÚstreamrT   rU   rV   rW   rX   rY   rZ   r[   ©r\   r]   r^   r_   Úpost_parser©ÚbodyÚoptionsÚcast_torp   ©rj   r'   Úreturnú%ParsedChatCompletion[ResponseFormatT])Ú_validate_input_toolsÚ_postr   Ú_type_to_response_formatr   ÚCompletionCreateParamsr   r
   r   r)   r   r'   ©$r7   rn   ro   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   rk   s$       `                     `         r8   ÚparsezCompletions.parse>   s�  ù€ ôd 	˜eÔ$ð (Ð)Fð
àÒ" ð
ˆö
	ð �z‰zØÜ ð Ø ð à˜Uð ð ˜Uð ð (Ð):ð	 ð
 $ ]ð ð   ð ð ! *ð ð  ð ð ,Ð-Bð ð ! *ð ð  ð ð ! *ð ð ˜ð ð *Ð+>ð ð ! *ð ð  'Ð(8ð! ð" 'Ð(8ð# ô$ (@ÀÓ'PØ Ø$0Ø Ø"Ø#Ø&4Ø#.Ø#.Ø"Ø$0Ø"Ø Ø*<ò? ôB )×?Ñ?óE#ôH )Ø+Ø'Ø%ØØ"ôô œÔ2´?ÑCÑDÄnÓUØða ó 1
ð 1	
r:   c       "        óz  — ddi|xs i ¥}t        | j                  j                  j                  j                  fi d|“d|“d|“dd“dt        |«      “d	|“d
|“d|“d|“d|	“d|
“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d |“d!|“d"|“d#|“d$| “d%|!“d&|"“Ž}#t        |#||¬'«      S )(a˜  Wrapper over the `client.chat.completions.create(stream=True)` method that provides a more granular event API
        and automatic accumulation of each delta.

        This also supports all of the parsing utilities that `.parse()` does.

        Unlike `.create(stream=True)`, the `.stream()` method requires usage within a context manager to prevent accidental leakage of the response:

        ```py
        with client.beta.chat.completions.stream(
            model="gpt-4o-2024-08-06",
            messages=[...],
        ) as stream:
            for event in stream:
                if event.type == "content.delta":
                    print(event.delta, flush=True, end="")
        ```

        When the context manager is entered, a `ChatCompletionStream` instance is returned which, like `.create(stream=True)` is an iterator. The full list of events that are yielded by the iterator are outlined in [these docs](https://github.com/openai/openai-python/blob/main/helpers.md#chat-completions-events).

        When the context manager exits, the response will be closed, however the `stream` instance is still available outside
        the context manager.
        ra   úbeta.chat.completions.streamrn   ro   r@   rp   TrA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rS   rR   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   ©rA   rf   )r   Ú_clientÚchatÚcompletionsÚcreater|   r#   ©$r7   rn   ro   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   Úapi_requests$                                       r8   rp   zCompletions.streamÑ   sÉ  € ð~ (Ð)Gð
àÒ" ð
ˆô
 =DØ�L‰L×Ñ×)Ñ)×0Ñ0ò%=
áð%=
ñ ð%=
ñ ð	%=
ñ
 ð%=
ô 5°_ÔEð%=
ñ 0ð%=
ñ (ð%=
ñ  ð%=
ñ "ð%=
ñ ð%=
ñ #8ð%=
ñ "ð%=
ñ ð%=
ñ "ð%=
ñ  ð!%=
ñ" !4ð#%=
ñ$ "ð%%=
ñ& .ð'%=
ñ( .ð)%=
ñ* ð+%=
ñ, &ð-%=
ñ. ð/%=
ñ0 ð1%=
ñ2 *ð3%=
ñ4 $ð5%=
ñ6 $ð7%=
ñ8 ð9%=
ñ: &ð;%=
ñ< ð=%=
ñ> ð?%=
ñ@  2ðA%=
ñB (ðC%=
ñD $ðE%=
ñF "ðG%=
ñH ðI%=
ˆôL +ØØ+Øô
ð 	
r:   )rx   r5   )rx   r=   ©Frn   ú$Iterable[ChatCompletionMessageParam]ro   úUnion[str, ChatModel]r@   ú-Optional[ChatCompletionAudioParam] | NotGivenrA   z type[ResponseFormatT] | NotGivenrB   úOptional[float] | NotGivenrC   ú0completion_create_params.FunctionCall | NotGivenrD   ú6Iterable[completion_create_params.Function] | NotGivenrE   ú#Optional[Dict[str, int]] | NotGivenrF   úOptional[bool] | NotGivenrG   úOptional[int] | NotGivenrH   r’   rI   úOptional[Metadata] | NotGivenrJ   ú3Optional[List[Literal['text', 'audio']]] | NotGivenrK   r’   rL   úbool | NotGivenrM   ú9Optional[ChatCompletionPredictionContentParam] | NotGivenrN   r�   rO   ú$Optional[ReasoningEffort] | NotGivenrP   r’   rQ   ú7Optional[Literal['auto', 'default', 'flex']] | NotGivenrR   ú0Union[Optional[str], List[str], None] | NotGivenrS   r‘   rT   ú5Optional[ChatCompletionStreamOptionsParam] | NotGivenrU   r�   rV   ú.ChatCompletionToolChoiceOptionParam | NotGivenrW   ú,Iterable[ChatCompletionToolParam] | NotGivenrX   r’   rY   r�   rZ   ústr | NotGivenr[   ú4completion_create_params.WebSearchOptions | NotGivenr\   úHeaders | Noner]   úQuery | Noner^   úBody | Noner_   ú'float | httpx.Timeout | None | NotGivenrx   ry   )Frn   rŠ   ro   r‹   r@   rŒ   rA   úJcompletion_create_params.ResponseFormat | type[ResponseFormatT] | NotGivenrB   r�   rC   rŽ   rD   r�   rE   r�   rF   r‘   rG   r’   rH   r’   rI   r“   rJ   r”   rK   r’   rL   r•   rM   r–   rN   r�   rO   r—   rP   r’   rQ   r˜   rR   r™   rS   r‘   rT   rš   rU   r�   rV   r›   rW   rœ   rX   r’   rY   r�   rZ   r�   r[   rž   r\   rŸ   r]   r    r^   r¡   r_   r¢   rx   z,ChatCompletionStreamManager[ResponseFormatT]©	Ú__name__Ú
__module__Ú__qualname__r   r9   r>   r   r   rp   © r:   r8   r0   r0   *   s.  „ Øò0ó ð0ð ò6ó ð6ð @IØ<EØ8AØJSØLUØ:CØ.7Ø:CØ/8Ø2;ØJSØ&/Ø/8ØPYØ7@ØAJØ)2ØPYØAJØ+4ØPYØ2;ØFOØ>GØ1:Ø,5Ø(ØS\ð )-Ø$(Ø"&Ø;DñMQ
ð 7ðQ
ð %ð	Q
ð
 =ðQ
ð :ðQ
ð 6ðQ
ð HðQ
ð JðQ
ð 8ðQ
ð ,ðQ
ð  8ðQ
ð -ðQ
ð 0ðQ
ð HðQ
ð  $ð!Q
ð" -ð#Q
ð$ Nð%Q
ð& 5ð'Q
ð( ?ð)Q
ð* 'ð+Q
ð, Nð-Q
ð. ?ð/Q
ð0 )ð1Q
ð2 Nð3Q
ð4 0ð5Q
ð6 Dð7Q
ð8 <ð9Q
ð: /ð;Q
ð< *ð=Q
ð> ð?Q
ð@ QðAQ
ðF &ðGQ
ðH "ðIQ
ðJ  ðKQ
ðL 9ðMQ
ðN 
/óOQ
ðp @IØfoØ8AØJSØLUØ:CØ.7Ø:CØ/8Ø2;ØJSØ&/Ø/8ØPYØ7@ØAJØ)2ØPYØAJØ+4ØPYØ2;ØFOØ>GØ1:Ø,5Ø(ØS\ð )-Ø$(Ø"&Ø;DñMm
ð 7ðm
ð %ð	m
ð
 =ðm
ð dðm
ð 6ðm
ð Hðm
ð Jðm
ð 8ðm
ð ,ðm
ð  8ðm
ð -ðm
ð 0ðm
ð Hðm
ð  $ð!m
ð" -ð#m
ð$ Nð%m
ð& 5ð'm
ð( ?ð)m
ð* 'ð+m
ð, Nð-m
ð. ?ð/m
ð0 )ð1m
ð2 Nð3m
ð4 0ð5m
ð6 Dð7m
ð8 <ð9m
ð: /ð;m
ð< *ð=m
ð> ð?m
ð@ QðAm
ðF &ðGm
ðH "ðIm
ðJ  ðKm
ðL 9ðMm
ðN 
6ôOm
r:   c            !      óÜ  — e Zd Zedd„«       Zedd„«       Zeeeeeeeeeeeeeeeeeeeeeeeeeeeedddedœ 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d	d„Zeeeeeeeeeeeeeeeeeeeeeeeeeeeedddedœ 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d
d„Zy)r1   c                ó   — t        | «      S r4   )ÚAsyncCompletionsWithRawResponser6   s    r8   r9   z"AsyncCompletions.with_raw_responseB  s   € ô /¨tÓ4Ð4r:   c                ó   — t        | «      S r<   )Ú%AsyncCompletionsWithStreamingResponser6   s    r8   r>   z(AsyncCompletions.with_streaming_responseL  s   € ô 5°TÓ:Ð:r:   Nr?   c       "      ƒ  óÀ  ‡‡K  — t        ‰«       ddi|xs i ¥}dˆˆfd„}#| j                  dt        i d|“d|“d|“d|“d	|“d
|“d|“d|	“d|
“d|“d|“d|“d|“d|“d|“d|“d|“t        ‰«      ||||d|||‰||||dœ¥t        j
                  «      ƒ d{  –—† t        || |!|"|#¬«      t        t        t        t              t        «      d¬«      ƒ d{  –—† S 7 ŒB7 Œ­w)aä  Wrapper over the `client.chat.completions.create()` method that provides richer integrations with Python specific types
        & returns a `ParsedChatCompletion` object, which is a subclass of the standard `ChatCompletion` class.

        You can pass a pydantic model to this method and it will automatically convert the model
        into a JSON schema, send it to the API and parse the response content back into the given model.

        This method will also automatically parse `function` tool calls if:
        - You use the `openai.pydantic_function_tool()` helper method
        - You mark your tool schema with `"strict": True`

        Example usage:
        ```py
        from pydantic import BaseModel
        from openai import AsyncOpenAI


        class Step(BaseModel):
            explanation: str
            output: str


        class MathResponse(BaseModel):
            steps: List[Step]
            final_answer: str


        client = AsyncOpenAI()
        completion = await client.beta.chat.completions.parse(
            model="gpt-4o-2024-08-06",
            messages=[
                {"role": "system", "content": "You are a helpful math tutor."},
                {"role": "user", "content": "solve 8x + 31 = 2"},
            ],
            response_format=MathResponse,
        )

        message = completion.choices[0].message
        if message.parsed:
            print(message.parsed.steps)
            print("answer: ", message.parsed.final_answer)
        ```
        ra   rb   c                ó    •— t        ‰| ‰¬«      S rd   rg   ri   s    €€r8   rk   z&AsyncCompletions.parse.<locals>.parser®  rl   r:   rm   rn   ro   r@   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   F)rA   rP   rQ   rS   rR   rp   rT   rU   rV   rW   rX   rY   rZ   r[   Nrq   rs   rw   )rz   r{   r   r|   r   r}   r   r
   r   r)   r   r'   r~   s$       `                     `         r8   r   zAsyncCompletions.parseU  s¶  ùè ø€ ôd 	˜eÔ$ð (Ð)Fð
àÒ" ð
ˆö
	ð —Z‘ZØÜ,ð Ø ð à˜Uð ð ˜Uð ð (Ð):ð	 ð
 $ ]ð ð   ð ð ! *ð ð  ð ð ,Ð-Bð ð ! *ð ð  ð ð ! *ð ð ˜ð ð *Ð+>ð ð ! *ð ð  'Ð(8ð! ð" 'Ð(8ð# ô$ (@ÀÓ'PØ Ø$0Ø"Ø Ø#Ø&4Ø#.Ø#.Ø"Ø$0Ø"Ø Ø*<ò? ôB )×?Ñ?óE#÷ #ôH )Ø+Ø'Ø%ØØ"ôô œÔ2´?ÑCÑDÄnÓUØða  ó 1
÷ 1
ð 1	
ð#øð1
ús$   „BCÂC
Â=CÃCÃCÃCc       "        óˆ  — t        |«       ddi|xs i ¥} | j                  j                  j                  j                  d(i d|“d|“d|“dd“dt        |«      “d	|“d
|“d|“d|“d|	“d|
“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d |“d!|“d"|“d#| “d$|!“d%|"“d&|“Ž}#t        |#||¬'«      S ))a°  Wrapper over the `client.chat.completions.create(stream=True)` method that provides a more granular event API
        and automatic accumulation of each delta.

        This also supports all of the parsing utilities that `.parse()` does.

        Unlike `.create(stream=True)`, the `.stream()` method requires usage within a context manager to prevent accidental leakage of the response:

        ```py
        async with client.beta.chat.completions.stream(
            model="gpt-4o-2024-08-06",
            messages=[...],
        ) as stream:
            async for event in stream:
                if event.type == "content.delta":
                    print(event.delta, flush=True, end="")
        ```

        When the context manager is entered, an `AsyncChatCompletionStream` instance is returned which, like `.create(stream=True)` is an async iterator. The full list of events that are yielded by the iterator are outlined in [these docs](https://github.com/openai/openai-python/blob/main/helpers.md#chat-completions-events).

        When the context manager exits, the response will be closed, however the `stream` instance is still available outside
        the context manager.
        ra   r�   rn   ro   r@   rp   TrA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r\   r]   r^   r_   r[   r‚   r¨   )rz   rƒ   r„   r…   r†   r|   r$   r‡   s$                                       r8   rp   zAsyncCompletions.streamè  sÍ  € ô| 	˜eÔ$ð (Ð)Gð
àÒ" ð
ˆð
 ;�d—l‘l×'Ñ'×3Ñ3×:Ñ:ò $
Ùð$
áð$
ñ ð$
ñ ð	$
ô
 5°_ÔEð$
ñ 0ð$
ñ (ð$
ñ  ð$
ñ "ð$
ñ ð$
ñ #8ð$
ñ "ð$
ñ ð$
ñ "ð$
ñ ð$
ñ  !4ð!$
ñ" "ð#$
ñ$ .ð%$
ñ& .ð'$
ñ( ð)$
ñ* &ð+$
ñ, ð-$
ñ. ð/$
ñ0 *ð1$
ñ2 $ð3$
ñ4 $ð5$
ñ6 ð7$
ñ8 &ð9$
ñ: ð;$
ñ< ð=$
ñ> (ð?$
ñ@ $ðA$
ñB "ðC$
ñD ðE$
ñF  2ðG$
ˆôJ 0ØØ+Øô
ð 	
r:   )rx   r«   )rx   r­   r‰   )Frn   rŠ   ro   r‹   r@   rŒ   rA   r£   rB   r�   rC   rŽ   rD   r�   rE   r�   rF   r‘   rG   r’   rH   r’   rI   r“   rJ   r”   rK   r’   rL   r•   rM   r–   rN   r�   rO   r—   rP   r’   rQ   r˜   rR   r™   rS   r‘   rT   rš   rU   r�   rV   r›   rW   rœ   rX   r’   rY   r�   rZ   r�   r[   rž   r\   rŸ   r]   r    r^   r¡   r_   r¢   rx   z1AsyncChatCompletionStreamManager[ResponseFormatT]r¤   r¨   r:   r8   r1   r1   A  s.  „ Øò5ó ð5ð ò;ó ð;ð @IØ<EØ8AØJSØLUØ:CØ.7Ø:CØ/8Ø2;ØJSØ&/Ø/8ØPYØ7@ØAJØ)2ØPYØAJØ+4ØPYØ2;ØFOØ>GØ1:Ø,5Ø(ØS\ð )-Ø$(Ø"&Ø;DñMQ
ð 7ðQ
ð %ð	Q
ð
 =ðQ
ð :ðQ
ð 6ðQ
ð HðQ
ð JðQ
ð 8ðQ
ð ,ðQ
ð  8ðQ
ð -ðQ
ð 0ðQ
ð HðQ
ð  $ð!Q
ð" -ð#Q
ð$ Nð%Q
ð& 5ð'Q
ð( ?ð)Q
ð* 'ð+Q
ð, Nð-Q
ð. ?ð/Q
ð0 )ð1Q
ð2 Nð3Q
ð4 0ð5Q
ð6 Dð7Q
ð8 <ð9Q
ð: /ð;Q
ð< *ð=Q
ð> ð?Q
ð@ QðAQ
ðF &ðGQ
ðH "ðIQ
ðJ  ðKQ
ðL 9ðMQ
ðN 
/óOQ
ðp @IØfoØ8AØJSØLUØ:CØ.7Ø:CØ/8Ø2;ØJSØ&/Ø/8ØPYØ7@ØAJØ)2ØPYØAJØ+4ØPYØ2;ØFOØ>GØ1:Ø,5Ø(ØS\ð )-Ø$(Ø"&Ø;DñMn
ð 7ðn
ð %ð	n
ð
 =ðn
ð dðn
ð 6ðn
ð Hðn
ð Jðn
ð 8ðn
ð ,ðn
ð  8ðn
ð -ðn
ð 0ðn
ð Hðn
ð  $ð!n
ð" -ð#n
ð$ Nð%n
ð& 5ð'n
ð( ?ð)n
ð* 'ð+n
ð, Nð-n
ð. ?ð/n
ð0 )ð1n
ð2 Nð3n
ð4 0ð5n
ð6 Dð7n
ð8 <ð9n
ð: /ð;n
ð< *ð=n
ð> ð?n
ð@ QðAn
ðF &ðGn
ðH "ðIn
ðJ  ðKn
ðL 9ðMn
ðN 
;ôOn
r:   c                  ó   — e Zd Zdd„Zy)r5   c                óZ   — || _         t        j                  |j                  «      | _        y ©N)Ú_completionsr   Úto_raw_response_wrapperr   ©r7   r…   s     r8   Ú__init__z#CompletionsWithRawResponse.__init__Z  s%   € Ø'ˆÔä%×=Ñ=Ø×Ñó
ˆ�
r:   N©r…   r0   rx   ÚNone©r¥   r¦   r§   r·   r¨   r:   r8   r5   r5   Y  ó   „ ô
r:   r5   c                  ó   — e Zd Zdd„Zy)r«   c                óZ   — || _         t        j                  |j                  «      | _        y r³   )r´   r   Úasync_to_raw_response_wrapperr   r¶   s     r8   r·   z(AsyncCompletionsWithRawResponse.__init__c  s%   € Ø'ˆÔä%×CÑCØ×Ñó
ˆ�
r:   N©r…   r1   rx   r¹   rº   r¨   r:   r8   r«   r«   b  r»   r:   r«   c                  ó   — e Zd Zdd„Zy)r=   c                óF   — || _         t        |j                  «      | _        y r³   )r´   r   r   r¶   s     r8   r·   z)CompletionsWithStreamingResponse.__init__l  s   € Ø'ˆÔä1Ø×Ñó
ˆ�
r:   Nr¸   rº   r¨   r:   r8   r=   r=   k  r»   r:   r=   c                  ó   — e Zd Zdd„Zy)r­   c                óF   — || _         t        |j                  «      | _        y r³   )r´   r   r   r¶   s     r8   r·   z.AsyncCompletionsWithStreamingResponse.__init__u  s   € Ø'ˆÔä7Ø×Ñó
ˆ�
r:   Nr¿   rº   r¨   r:   r8   r­   r­   t  r»   r:   r­   )QÚ
__future__r   Útypingr   r   r   r   r   r	   r
   Ú	functoolsr   Útyping_extensionsr   ÚhttpxÚ r   Ú_typesr   r   r   r   r   Ú_utilsr   r   Ú_compatr   Ú	_resourcer   r   Ú	_responser   r   Ú
_streamingr   Ú
types.chatr   Ú_base_clientr   Úlib._parsingr   r   rz   r    rh   r!   r|   Útypes.chat_modelr"   Úlib.streaming.chatr#   r$   Útypes.shared_paramsr%   r&   Útypes.chat.chat_completionr'   Ú types.chat.chat_completion_chunkr(   Ú!types.chat.parsed_chat_completionr)   Ú%types.chat.chat_completion_tool_paramr*   Ú&types.chat.chat_completion_audio_paramr+   Ú(types.chat.chat_completion_message_paramr,   Ú/types.chat.chat_completion_stream_options_paramr-   Ú3types.chat.chat_completion_prediction_content_paramr.   Ú3types.chat.chat_completion_tool_choice_option_paramr/   Ú__all__r0   r1   r5   r«   r=   r­   r¨   r:   r8   ú<module>rà      s¼   ðõ #ç D× DÑ DÝ Ý %ã å !ß @Õ @ß =Ý 'ß ;ß ZÝ !Ý 3Ý 1÷ó õ +ß `ß =Ý 9Ý DÝ FÝ MÝ OÝ SÝ `Ý hÝ gàÐ,Ð
-€ôT
�/ô T
ônU
Ð'ô U
÷p
ñ 
÷
ñ 
÷
ñ 
÷
ò 
r:   