o
    ùT·j5T ã                   @  sÄ  d dl 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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 m!Z!m"Z"m#Z#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/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z> ddl?m@Z@ ddgZAG dd„ deƒZBG dd„ deƒZCG dd„ dƒZDG dd „ d ƒZEG d!d"„ d"ƒZFG d#d$„ d$ƒZGdS )%é    )Úannotations)ÚList)ÚLiteralNé   )Ú_legacy_response)ÚBodyÚOmitÚQueryÚHeadersÚNotGivenÚSequenceNotStrÚomitÚ	not_given)Úmaybe_transformÚasync_maybe_transform)Úcached_property)ÚSyncAPIResourceÚAsyncAPIResource)Úto_streamed_response_wrapperÚ"async_to_streamed_response_wrapper)Úmake_request_options)Úusage_costs_paramsÚusage_images_paramsÚusage_embeddings_paramsÚusage_completions_paramsÚusage_moderations_paramsÚusage_vector_stores_paramsÚusage_audio_speeches_paramsÚusage_web_search_calls_paramsÚusage_file_search_calls_paramsÚ!usage_audio_transcriptions_paramsÚ&usage_code_interpreter_sessions_params)ÚUsageCostsResponse)ÚUsageImagesResponse)ÚUsageEmbeddingsResponse)ÚUsageCompletionsResponse)ÚUsageModerationsResponse)ÚUsageVectorStoresResponse)ÚUsageAudioSpeechesResponse)ÚUsageWebSearchCallsResponse)ÚUsageFileSearchCallsResponse)Ú UsageAudioTranscriptionsResponse)Ú$UsageCodeInterpreterSessionsResponseÚUsageÚ
AsyncUsagec                   @  óÚ  e Zd ZedZdd„ƒZed[dd„ƒZeeeeeeeeeddded	œd\d#d$„Zeeeeeeeeeddded	œd]d&d'„Z	eeeeeeddded(œ
d^d+d,„Z
eeeeeeeeeeddded-œd_d2d3„Zeeeeeeeeddded4œd`d9d:„Zeeeeeeeeeddded	œdad<d=„Zeeeeeeeeeddded>œdbdBdC„ZeeeeeeeeeeedddedDœdcdKdL„Zeeeeeeeeeddded	œdddNdO„Zeeeeeeddded(œ
dedQdR„ZeeeeeeeeeedddedSœdfdXdY„ZdS )gr-   ÚreturnÚUsageWithRawResponsec                 C  ó   t | ƒS ©a  
        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
        )r1   ©Úself© r6   úl/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/site-packages/openai/resources/admin/organization/usage.pyÚwith_raw_response.   ó   zUsage.with_raw_responseÚUsageWithStreamingResponsec                 C  r2   ©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
        )r:   r4   r6   r6   r7   Úwith_streaming_response8   ó   zUsage.with_streaming_responseN©Úapi_key_idsÚbucket_widthÚend_timeÚgroup_byÚlimitÚmodelsÚpageÚproject_idsÚuser_idsÚextra_headersÚextra_queryÚ
extra_bodyÚtimeoutÚ
start_timeÚintr?   úSequenceNotStr[str] | Omitr@   ú Literal['1m', '1h', '1d'] | OmitrA   ú
int | OmitrB   úDList[Literal['project_id', 'user_id', 'api_key_id', 'model']] | OmitrC   rD   rE   ú
str | OmitrF   rG   rH   úHeaders | NonerI   úQuery | NonerJ   úBody | NonerK   ú(float | httpx2.Timeout | None | NotGivenr(   c                C  óB   | j dt||||t|||||||||	|
dœ
tjƒddid�td�S )á¤  
        Get audio speeches usage details for the organization.

        Args:
          start_time: Start time (Unix seconds) of the query time range, inclusive.

          api_key_ids: Return only usage for these API keys.

          bucket_width: Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
              supported, default to `1d`.

          end_time: End time (Unix seconds) of the query time range, exclusive.

          group_by: Group the usage data by the specified fields. Support fields include
              `project_id`, `user_id`, `api_key_id`, `model` or any combination of them.

          limit: Specifies the number of buckets to return.

              - `bucket_width=1d`: default: 7, max: 31
              - `bucket_width=1h`: default: 24, max: 168
              - `bucket_width=1m`: default: 60, max: 1440

          models: Return only usage for these models.

          page: A cursor for use in pagination. Corresponding to the `next_page` field from the
              previous response.

          project_ids: Return only usage for these projects.

          user_ids: Return only usage for these users.

          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
        ú"/organization/usage/audio_speeches©
rL   r?   r@   rA   rB   rC   rD   rE   rF   rG   Úadmin_api_key_authT©rH   rI   rJ   rK   ÚqueryÚsecurity©ÚoptionsÚcast_to)Ú_getr   r   r   ÚUsageAudioSpeechesParamsr(   ©r5   rL   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   r6   r6   r7   Úaudio_speechesA   ó2   ;öóìèzUsage.audio_speechesr+   c                C  rW   )áª  
        Get audio transcriptions usage details for the organization.

        Args:
          start_time: Start time (Unix seconds) of the query time range, inclusive.

          api_key_ids: Return only usage for these API keys.

          bucket_width: Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
              supported, default to `1d`.

          end_time: End time (Unix seconds) of the query time range, exclusive.

          group_by: Group the usage data by the specified fields. Support fields include
              `project_id`, `user_id`, `api_key_id`, `model` or any combination of them.

          limit: Specifies the number of buckets to return.

              - `bucket_width=1d`: default: 7, max: 31
              - `bucket_width=1h`: default: 24, max: 168
              - `bucket_width=1m`: default: 60, max: 1440

          models: Return only usage for these models.

          page: A cursor for use in pagination. Corresponding to the `next_page` field from the
              previous response.

          project_ids: Return only usage for these projects.

          user_ids: Return only usage for these users.

          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
        ú(/organization/usage/audio_transcriptionsrZ   r[   Tr\   r_   )rb   r   r   r    ÚUsageAudioTranscriptionsParamsr+   rd   r6   r6   r7   Úaudio_transcriptions—   rf   zUsage.audio_transcriptions©
r@   rA   rB   rC   rE   rF   rH   rI   rJ   rK   ú"List[Literal['project_id']] | Omitr,   c                C  ó<   | j dt||	|
|t|||||||dœtjƒddid�td�S )áÅ  
        Get code interpreter sessions usage details for the organization.

        Args:
          start_time: Start time (Unix seconds) of the query time range, inclusive.

          bucket_width: Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
              supported, default to `1d`.

          end_time: End time (Unix seconds) of the query time range, exclusive.

          group_by: Group the usage data by the specified fields. Support fields include
              `project_id`.

          limit: Specifies the number of buckets to return.

              - `bucket_width=1d`: default: 7, max: 31
              - `bucket_width=1h`: default: 24, max: 168
              - `bucket_width=1m`: default: 60, max: 1440

          page: A cursor for use in pagination. Corresponding to the `next_page` field from the
              previous response.

          project_ids: Return only usage for these projects.

          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
        ú-/organization/usage/code_interpreter_sessions©rL   r@   rA   rB   rC   rE   rF   r[   Tr\   r_   )rb   r   r   r!   Ú"UsageCodeInterpreterSessionsParamsr,   ©r5   rL   r@   rA   rB   rC   rE   rF   rH   rI   rJ   rK   r6   r6   r7   Úcode_interpreter_sessionsí   ó,   2ù	öïëzUsage.code_interpreter_sessions©r?   Úbatchr@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rv   úbool | Omitú]List[Literal['project_id', 'user_id', 'api_key_id', 'model', 'batch', 'service_tier']] | Omitr%   c                C  óD   | j dt||||t|||||||||	|
|dœtjƒddid�td�S )áL  
        Get completions usage details for the organization.

        Args:
          start_time: Start time (Unix seconds) of the query time range, inclusive.

          api_key_ids: Return only usage for these API keys.

          batch: If `true`, return batch jobs only. If `false`, return non-batch jobs only. By
              default, return both.

          bucket_width: Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
              supported, default to `1d`.

          end_time: End time (Unix seconds) of the query time range, exclusive.

          group_by: Group the usage data by the specified fields. Support fields include
              `project_id`, `user_id`, `api_key_id`, `model`, `batch`, `service_tier` or any
              combination of them.

          limit: Specifies the number of buckets to return.

              - `bucket_width=1d`: default: 7, max: 31
              - `bucket_width=1h`: default: 24, max: 168
              - `bucket_width=1m`: default: 60, max: 1440

          models: Return only usage for these models.

          page: A cursor for use in pagination. Corresponding to the `next_page` field from the
              previous response.

          project_ids: Return only usage for these projects.

          user_ids: Return only usage for these users.

          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
        ú/organization/usage/completions©rL   r?   rv   r@   rA   rB   rC   rD   rE   rF   rG   r[   Tr\   r_   )rb   r   r   r   ÚUsageCompletionsParamsr%   ©r5   rL   r?   rv   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   r6   r6   r7   Úcompletions7  s4   @õòëçzUsage.completions©r?   r@   rA   rB   rC   Ú
line_itemsrE   rF   rH   rI   rJ   rK   úLiteral['1d'] | Omitú=List[Literal['project_id', 'line_item', 'api_key_id']] | Omitr�   r"   c                C  s@   | j dt|
|||t|||||||||	dœ	tjƒddid�td�S )ái  
        Get costs details for the organization.

        Args:
          start_time: Start time (Unix seconds) of the query time range, inclusive.

          api_key_ids: Return only costs for these API keys.

          bucket_width: Width of each time bucket in response. Currently only `1d` is supported, default
              to `1d`.

          end_time: End time (Unix seconds) of the query time range, exclusive.

          group_by: Group the costs by the specified fields. Support fields include `project_id`,
              `line_item`, `api_key_id` and any combination of them.

          limit: A limit on the number of buckets to be returned. Limit can range between 1 and
              180, and the default is 7.

          line_items: Return only costs for these exact line item names. Each value must match the
              complete `line_item` value, for example `gpt-6-astra, input_tokens`.

          page: A cursor for use in pagination. Corresponding to the `next_page` field from the
              previous response.

          project_ids: Return only costs for these projects.

          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
        ú/organization/costs©	rL   r?   r@   rA   rB   rC   r�   rE   rF   r[   Tr\   r_   )rb   r   r   r   ÚUsageCostsParamsr"   ©r5   rL   r?   r@   rA   rB   rC   r�   rE   rF   rH   rI   rJ   rK   r6   r6   r7   Úcosts“  s0   6÷ôíézUsage.costsr$   c                C  rW   )á   
        Get embeddings usage details for the organization.

        Args:
          start_time: Start time (Unix seconds) of the query time range, inclusive.

          api_key_ids: Return only usage for these API keys.

          bucket_width: Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
              supported, default to `1d`.

          end_time: End time (Unix seconds) of the query time range, exclusive.

          group_by: Group the usage data by the specified fields. Support fields include
              `project_id`, `user_id`, `api_key_id`, `model` or any combination of them.

          limit: Specifies the number of buckets to return.

              - `bucket_width=1d`: default: 7, max: 31
              - `bucket_width=1h`: default: 24, max: 168
              - `bucket_width=1m`: default: 60, max: 1440

          models: Return only usage for these models.

          page: A cursor for use in pagination. Corresponding to the `next_page` field from the
              previous response.

          project_ids: Return only usage for these projects.

          user_ids: Return only usage for these users.

          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
        ú/organization/usage/embeddingsrZ   r[   Tr\   r_   )rb   r   r   r   ÚUsageEmbeddingsParamsr$   rd   r6   r6   r7   Ú
embeddingsã  rf   zUsage.embeddings©r?   r@   rA   rB   rC   rE   rF   rG   Úvector_store_idsrH   rI   rJ   rK   úNList[Literal['project_id', 'user_id', 'api_key_id', 'vector_store_id']] | Omitr�   r*   c                C  rW   )áÐ  
        Get file search calls usage details for the organization.

        Args:
          start_time: Start time (Unix seconds) of the query time range, inclusive.

          api_key_ids: Return only usage for these API keys.

          bucket_width: Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
              supported, default to `1d`.

          end_time: End time (Unix seconds) of the query time range, exclusive.

          group_by: Group the usage data by the specified fields. Support fields include
              `project_id`, `user_id`, `api_key_id`, `vector_store_id` or any combination of
              them.

          limit: Specifies the number of buckets to return.

              - `bucket_width=1d`: default: 7, max: 31
              - `bucket_width=1h`: default: 24, max: 168
              - `bucket_width=1m`: default: 60, max: 1440

          page: A cursor for use in pagination. Corresponding to the `next_page` field from the
              previous response.

          project_ids: Return only usage for these projects.

          user_ids: Return only usage for these users.

          vector_store_ids: Return only usage for these vector stores.

          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
        ú%/organization/usage/file_search_calls©
rL   r?   r@   rA   rB   rC   rE   rF   rG   r�   r[   Tr\   r_   )rb   r   r   r   ÚUsageFileSearchCallsParamsr*   ©r5   rL   r?   r@   rA   rB   rC   rE   rF   rG   r�   rH   rI   rJ   rK   r6   r6   r7   Úfile_search_calls9  s2   <öóìèzUsage.file_search_calls©r?   r@   rA   rB   rC   rD   rE   rF   ÚsizesÚsourcesrG   rH   rI   rJ   rK   úVList[Literal['project_id', 'user_id', 'api_key_id', 'model', 'size', 'source']] | Omitr˜   úQList[Literal['256x256', '512x512', '1024x1024', '1792x1792', '1024x1792']] | Omitr™   úIList[Literal['image.generation', 'image.edit', 'image.variation']] | Omitr#   c                C  sF   | j dt||||t|||||||||	|
||dœtjƒddid�td�S )á  
        Get images usage details for the organization.

        Args:
          start_time: Start time (Unix seconds) of the query time range, inclusive.

          api_key_ids: Return only usage for these API keys.

          bucket_width: Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
              supported, default to `1d`.

          end_time: End time (Unix seconds) of the query time range, exclusive.

          group_by: Group the usage data by the specified fields. Support fields include
              `project_id`, `user_id`, `api_key_id`, `model`, `size`, `source` or any
              combination of them.

          limit: Specifies the number of buckets to return.

              - `bucket_width=1d`: default: 7, max: 31
              - `bucket_width=1h`: default: 24, max: 168
              - `bucket_width=1m`: default: 60, max: 1440

          models: Return only usage for these models.

          page: A cursor for use in pagination. Corresponding to the `next_page` field from the
              previous response.

          project_ids: Return only usage for these projects.

          sizes: Return only usages for these image sizes. Possible values are `256x256`,
              `512x512`, `1024x1024`, `1792x1792`, `1024x1792` or any combination of them.

          sources: Return only usages for these sources. Possible values are `image.generation`,
              `image.edit`, `image.variation` or any combination of them.

          user_ids: Return only usage for these users.

          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
        ú/organization/usage/images©rL   r?   r@   rA   rB   rC   rD   rE   rF   r˜   r™   rG   r[   Tr\   r_   )rb   r   r   r   ÚUsageImagesParamsr#   ©r5   rL   r?   r@   rA   rB   rC   rD   rE   rF   r˜   r™   rG   rH   rI   rJ   rK   r6   r6   r7   Úimages�  s6   DôñêæzUsage.imagesr&   c                C  rW   )á¡  
        Get moderations usage details for the organization.

        Args:
          start_time: Start time (Unix seconds) of the query time range, inclusive.

          api_key_ids: Return only usage for these API keys.

          bucket_width: Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
              supported, default to `1d`.

          end_time: End time (Unix seconds) of the query time range, exclusive.

          group_by: Group the usage data by the specified fields. Support fields include
              `project_id`, `user_id`, `api_key_id`, `model` or any combination of them.

          limit: Specifies the number of buckets to return.

              - `bucket_width=1d`: default: 7, max: 31
              - `bucket_width=1h`: default: 24, max: 168
              - `bucket_width=1m`: default: 60, max: 1440

          models: Return only usage for these models.

          page: A cursor for use in pagination. Corresponding to the `next_page` field from the
              previous response.

          project_ids: Return only usage for these projects.

          user_ids: Return only usage for these users.

          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
        ú/organization/usage/moderationsrZ   r[   Tr\   r_   )rb   r   r   r   ÚUsageModerationsParamsr&   rd   r6   r6   r7   Úmoderationsñ  rf   zUsage.moderationsr'   c                C  rm   )á¹  
        Get vector stores usage details for the organization.

        Args:
          start_time: Start time (Unix seconds) of the query time range, inclusive.

          bucket_width: Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
              supported, default to `1d`.

          end_time: End time (Unix seconds) of the query time range, exclusive.

          group_by: Group the usage data by the specified fields. Support fields include
              `project_id`.

          limit: Specifies the number of buckets to return.

              - `bucket_width=1d`: default: 7, max: 31
              - `bucket_width=1h`: default: 24, max: 168
              - `bucket_width=1m`: default: 60, max: 1440

          page: A cursor for use in pagination. Corresponding to the `next_page` field from the
              previous response.

          project_ids: Return only usage for these projects.

          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
        ú!/organization/usage/vector_storesrp   r[   Tr\   r_   )rb   r   r   r   ÚUsageVectorStoresParamsr'   rr   r6   r6   r7   Úvector_storesG  rt   zUsage.vector_stores©r?   r@   Úcontext_levelsrA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   r¬   ú-List[Literal['low', 'medium', 'high']] | OmitúUList[Literal['project_id', 'user_id', 'api_key_id', 'model', 'context_level']] | Omitr)   c                C  ry   )á  
        Get web search calls usage details for the organization.

        Args:
          start_time: Start time (Unix seconds) of the query time range, inclusive.

          api_key_ids: Return only usage for these API keys.

          bucket_width: Width of each time bucket in response. Currently `1m`, `1h` and `1d` are
              supported, default to `1d`.

          context_levels: Return only web search usage for these context levels.

          end_time: End time (Unix seconds) of the query time range, exclusive.

          group_by: Group the usage data by the specified fields. Support fields include
              `project_id`, `user_id`, `api_key_id`, `model`, `context_level` or any
              combination of them.

          limit: Specifies the number of buckets to return.

              - `bucket_width=1d`: default: 7, max: 31
              - `bucket_width=1h`: default: 24, max: 168
              - `bucket_width=1m`: default: 60, max: 1440

          models: Return only usage for these models.

          page: A cursor for use in pagination. Corresponding to the `next_page` field from the
              previous response.

          project_ids: Return only usage for these projects.

          user_ids: Return only usage for these users.

          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
        ú$/organization/usage/web_search_calls©rL   r?   r@   r¬   rA   rB   rC   rD   rE   rF   rG   r[   Tr\   r_   )rb   r   r   r   ÚUsageWebSearchCallsParamsr)   ©r5   rL   r?   r@   r¬   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   r6   r6   r7   Úweb_search_calls‘  s4   ?õòëçzUsage.web_search_calls)r0   r1   )r0   r:   ©rL   rM   r?   rN   r@   rO   rA   rP   rB   rQ   rC   rP   rD   rN   rE   rR   rF   rN   rG   rN   rH   rS   rI   rT   rJ   rU   rK   rV   r0   r(   ©rL   rM   r?   rN   r@   rO   rA   rP   rB   rQ   rC   rP   rD   rN   rE   rR   rF   rN   rG   rN   rH   rS   rI   rT   rJ   rU   rK   rV   r0   r+   ©rL   rM   r@   rO   rA   rP   rB   rl   rC   rP   rE   rR   rF   rN   rH   rS   rI   rT   rJ   rU   rK   rV   r0   r,   © rL   rM   r?   rN   rv   rw   r@   rO   rA   rP   rB   rx   rC   rP   rD   rN   rE   rR   rF   rN   rG   rN   rH   rS   rI   rT   rJ   rU   rK   rV   r0   r%   ©rL   rM   r?   rN   r@   r‚   rA   rP   rB   rƒ   rC   rP   r�   rN   rE   rR   rF   rN   rH   rS   rI   rT   rJ   rU   rK   rV   r0   r"   ©rL   rM   r?   rN   r@   rO   rA   rP   rB   rQ   rC   rP   rD   rN   rE   rR   rF   rN   rG   rN   rH   rS   rI   rT   rJ   rU   rK   rV   r0   r$   ©rL   rM   r?   rN   r@   rO   rA   rP   rB   r�   rC   rP   rE   rR   rF   rN   rG   rN   r�   rN   rH   rS   rI   rT   rJ   rU   rK   rV   r0   r*   ©"rL   rM   r?   rN   r@   rO   rA   rP   rB   rš   rC   rP   rD   rN   rE   rR   rF   rN   r˜   r›   r™   rœ   rG   rN   rH   rS   rI   rT   rJ   rU   rK   rV   r0   r#   ©rL   rM   r?   rN   r@   rO   rA   rP   rB   rQ   rC   rP   rD   rN   rE   rR   rF   rN   rG   rN   rH   rS   rI   rT   rJ   rU   rK   rV   r0   r&   ©rL   rM   r@   rO   rA   rP   rB   rl   rC   rP   rE   rR   rF   rN   rH   rS   rI   rT   rJ   rU   rK   rV   r0   r'   © rL   rM   r?   rN   r@   rO   r¬   r­   rA   rP   rB   r®   rC   rP   rD   rN   rE   rR   rF   rN   rG   rN   rH   rS   rI   rT   rJ   rU   rK   rV   r0   r)   ©Ú__name__Ú
__module__Ú__qualname__r   r8   r<   r   r   re   rj   rs   r   r‰   r�   r–   r¢   r¦   rª   r´   r6   r6   r6   r7   r-   -   ó8   	îZîZñNí`ïTîZî[ìeîZñNíc                   @  r/   )gr.   r0   ÚAsyncUsageWithRawResponsec                 C  r2   r3   )rÅ   r4   r6   r6   r7   r8   î  r9   zAsyncUsage.with_raw_responseÚAsyncUsageWithStreamingResponsec                 C  r2   r;   )rÆ   r4   r6   r6   r7   r<   ø  r=   z"AsyncUsage.with_streaming_responseNr>   rL   rM   r?   rN   r@   rO   rA   rP   rB   rQ   rC   rD   rE   rR   rF   rG   rH   rS   rI   rT   rJ   rU   rK   rV   r(   c                Ã  óP   �| j dt||||t|||||||||	|
dœ
tjƒI dH ddid�td�I dH S )rX   rY   rZ   Nr[   Tr\   r_   )rb   r   r   r   rc   r(   rd   r6   r6   r7   re     ó4   €;öóìèzAsyncUsage.audio_speechesr+   c                Ã  rÇ   )rg   rh   rZ   Nr[   Tr\   r_   )rb   r   r   r    ri   r+   rd   r6   r6   r7   rj   W  rÈ   zAsyncUsage.audio_transcriptionsrk   rl   r,   c                Ã  óJ   �| j dt||	|
|t|||||||dœtjƒI dH ddid�td�I dH S )rn   ro   rp   Nr[   Tr\   r_   )rb   r   r   r!   rq   r,   rr   r6   r6   r7   rs   ­  ó.   €2ù	öïëz$AsyncUsage.code_interpreter_sessionsru   rv   rw   rx   r%   c                Ã  óR   �| j dt||||t|||||||||	|
|dœtjƒI dH ddid�td�I dH S )rz   r{   r|   Nr[   Tr\   r_   )rb   r   r   r   r}   r%   r~   r6   r6   r7   r   ÷  s6   €@õòëçzAsyncUsage.completionsr€   r‚   rƒ   r�   r"   c                Ã  sN   �| j dt|
|||t|||||||||	dœ	tjƒI dH ddid�td�I dH S )r„   r…   r†   Nr[   Tr\   r_   )rb   r   r   r   r‡   r"   rˆ   r6   r6   r7   r‰   S  s2   €6÷ôíézAsyncUsage.costsr$   c                Ã  rÇ   )rŠ   r‹   rZ   Nr[   Tr\   r_   )rb   r   r   r   rŒ   r$   rd   r6   r6   r7   r�   £  rÈ   zAsyncUsage.embeddingsrŽ   r�   r�   r*   c                Ã  rÇ   )r‘   r’   r“   Nr[   Tr\   r_   )rb   r   r   r   r”   r*   r•   r6   r6   r7   r–   ù  s4   €<öóìèzAsyncUsage.file_search_callsr—   rš   r˜   r›   r™   rœ   r#   c                Ã  sT   �| j dt||||t|||||||||	|
||dœtjƒI dH ddid�td�I dH S )r�   rž   rŸ   Nr[   Tr\   r_   )rb   r   r   r   r    r#   r¡   r6   r6   r7   r¢   P  s8   €DôñêæzAsyncUsage.imagesr&   c                Ã  rÇ   )r£   r¤   rZ   Nr[   Tr\   r_   )rb   r   r   r   r¥   r&   rd   r6   r6   r7   r¦   ±  rÈ   zAsyncUsage.moderationsr'   c                Ã  rÉ   )r§   r¨   rp   Nr[   Tr\   r_   )rb   r   r   r   r©   r'   rr   r6   r6   r7   rª     rÊ   zAsyncUsage.vector_storesr«   r¬   r­   r®   r)   c                Ã  rË   )r¯   r°   r±   Nr[   Tr\   r_   )rb   r   r   r   r²   r)   r³   r6   r6   r7   r´   Q  s6   €?õòëçzAsyncUsage.web_search_calls)r0   rÅ   )r0   rÆ   rµ   r¶   r·   r¸   r¹   rº   r»   r¼   r½   r¾   r¿   rÀ   r6   r6   r6   r7   r.   í  rÄ   c                   @  ó   e Zd Zddd„ZdS )	r1   Úusager-   r0   ÚNonec                 C  ó¤   || _ t |j¡| _t |j¡| _t |j¡| _t |j¡| _t |j¡| _t |j¡| _t |j	¡| _	t |j
¡| _
t |j¡| _t |j¡| _t |j¡| _d S ©N)Ú_usager   Úto_raw_response_wrapperre   rj   rs   r   r‰   r�   r–   r¢   r¦   rª   r´   ©r5   rÍ   r6   r6   r7   Ú__init__®  óD   ÿÿÿÿÿÿÿÿÿÿ
ÿzUsageWithRawResponse.__init__N©rÍ   r-   r0   rÎ   ©rÁ   rÂ   rÃ   rÔ   r6   r6   r6   r7   r1   ­  ó    r1   c                   @  rÌ   )	rÅ   rÍ   r.   r0   rÎ   c                 C  rÏ   rÐ   )rÑ   r   Úasync_to_raw_response_wrapperre   rj   rs   r   r‰   r�   r–   r¢   r¦   rª   r´   rÓ   r6   r6   r7   rÔ   Õ  rÕ   z"AsyncUsageWithRawResponse.__init__N©rÍ   r.   r0   rÎ   r×   r6   r6   r6   r7   rÅ   Ô  rØ   rÅ   c                   @  rÌ   )	r:   rÍ   r-   r0   rÎ   c                 C  óŽ   || _ t|jƒ| _t|jƒ| _t|jƒ| _t|jƒ| _t|jƒ| _t|jƒ| _t|jƒ| _t|j	ƒ| _	t|j
ƒ| _
t|jƒ| _t|jƒ| _d S rÐ   )rÑ   r   re   rj   rs   r   r‰   r�   r–   r¢   r¦   rª   r´   rÓ   r6   r6   r7   rÔ   ü  óD   ÿÿÿÿÿÿÿÿÿÿ
ÿz#UsageWithStreamingResponse.__init__NrÖ   r×   r6   r6   r6   r7   r:   û  rØ   r:   c                   @  rÌ   )	rÆ   rÍ   r.   r0   rÎ   c                 C  rÛ   rÐ   )rÑ   r   re   rj   rs   r   r‰   r�   r–   r¢   r¦   rª   r´   rÓ   r6   r6   r7   rÔ   #  rÜ   z(AsyncUsageWithStreamingResponse.__init__NrÚ   r×   r6   r6   r6   r7   rÆ   "  rØ   rÆ   )HÚ
__future__r   Útypingr   Útyping_extensionsr   Úhttpx2Ú r   Ú_typesr   r   r	   r
   r   r   r   r   Ú_utilsr   r   Ú_compatr   Ú	_resourcer   r   Ú	_responser   r   Ú_base_clientr   Útypes.admin.organizationr   r   r   r   r   r   r   r   r   r    r!   Ú-types.admin.organization.usage_costs_responser"   Ú.types.admin.organization.usage_images_responser#   Ú2types.admin.organization.usage_embeddings_responser$   Ú3types.admin.organization.usage_completions_responser%   Ú3types.admin.organization.usage_moderations_responser&   Ú5types.admin.organization.usage_vector_stores_responser'   Ú6types.admin.organization.usage_audio_speeches_responser(   Ú8types.admin.organization.usage_web_search_calls_responser)   Ú9types.admin.organization.usage_file_search_calls_responser*   Ú<types.admin.organization.usage_audio_transcriptions_responser+   ÚAtypes.admin.organization.usage_code_interpreter_sessions_responser,   Ú__all__r-   r.   r1   rÅ   r:   rÆ   r6   r6   r6   r7   Ú<module>   sX   (4       G       G'''