diff --git a/.mock/definition/empathic-voice/__package__.yml b/.mock/definition/empathic-voice/__package__.yml index cb0abcf..38e4e91 100644 --- a/.mock/definition/empathic-voice/__package__.yml +++ b/.mock/definition/empathic-voice/__package__.yml @@ -1557,7 +1557,11 @@ types: num_chats: type: integer docs: The total number of Chats in this Chat Group. - active: optional + active: + type: optional + docs: >- + Denotes whether there is an active Chat associated with this Chat + Group. source: openapi: stenographer-openapi.json ReturnPagedChatGroupsPaginationDirection: @@ -1615,6 +1619,21 @@ types: type: list source: openapi: stenographer-openapi.json + ReturnChatGroupPagedChatsPaginationDirection: + enum: + - ASC + - DESC + docs: >- + Indicates the order in which the paginated results are presented, based on + their creation date. + + + It shows `ASC` for ascending order (chronological, with the oldest records + first) or `DESC` for descending order (reverse-chronological, with the + newest records first). This value corresponds to the `ascending_order` + query parameter used in the request. + source: + openapi: stenographer-openapi.json ReturnChatGroupPagedChats: docs: >- A description of chat_group and its status with a paginated list of each @@ -1623,39 +1642,59 @@ types: id: type: string docs: >- - Identifier for the chat group. Any chat resumed from this chat will - have the same chat_group_id. Formatted as a UUID. + Identifier for the Chat Group. Any Chat resumed from this Chat Group + will have the same `chat_group_id`. Formatted as a UUID. first_start_timestamp: type: long docs: >- - The timestamp when the first chat in this chat group started, - formatted as a Unix epoch milliseconds. + Time at which the first Chat in this Chat Group was created. Measured + in seconds since the Unix epoch. most_recent_start_timestamp: type: long docs: >- - The timestamp when the most recent chat in this chat group started, - formatted as a Unix epoch milliseconds. + Time at which the most recent Chat in this Chat Group was created. + Measured in seconds since the Unix epoch. num_chats: type: integer - docs: The total number of chats in this chat group. + docs: The total number of Chats associated with this Chat Group. page_number: type: integer - docs: The page number of the returned results. + docs: >- + The page number of the returned list. + + + This value corresponds to the `page_number` parameter specified in the + request. Pagination uses zero-based indexing. page_size: type: integer - docs: The number of results returned per page. + docs: >- + The maximum number of items returned per page. + + + This value corresponds to the `page_size` parameter specified in the + request. total_pages: type: integer - docs: The total number of pages in the collection + docs: The total number of pages in the collection. pagination_direction: - type: string - docs: The direction of the pagination (ASC or DESC). - chats_page: + type: ReturnChatGroupPagedChatsPaginationDirection docs: >- - List of chats and their metadata returned for the specified page - number and page size. + Indicates the order in which the paginated results are presented, + based on their creation date. + + + It shows `ASC` for ascending order (chronological, with the oldest + records first) or `DESC` for descending order (reverse-chronological, + with the newest records first). This value corresponds to the + `ascending_order` query parameter used in the request. + chats_page: + docs: List of Chats for the specified `page_number` and `page_size`. type: list - active: optional + active: + type: optional + docs: >- + Denotes whether there is an active Chat associated with this Chat + Group. source: openapi: stenographer-openapi.json ReturnChatGroupPagedEventsPaginationDirection: @@ -1728,6 +1767,7 @@ types: docs: When provided, the input is spoken by EVI. properties: type: + display-name: Type type: literal<"assistant_input"> docs: >- The type of message sent through the socket; must be `assistant_input` @@ -1738,6 +1778,7 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: AssistantInput text: type: string docs: >- @@ -1756,6 +1797,7 @@ types: AudioConfiguration: properties: encoding: + display-name: Encoding type: Encoding docs: Encoding format of the audio input, such as `linear16`. channels: @@ -1772,6 +1814,7 @@ types: docs: When provided, the input is audio. properties: type: + display-name: Type type: literal<"audio_input"> docs: >- The type of message sent through the socket; must be `audio_input` for @@ -1787,6 +1830,7 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: AudioInput data: type: string docs: >- @@ -1807,19 +1851,23 @@ types: source: openapi: assistant-asyncapi.json BuiltInTool: + display-name: BuiltInTool type: literal<"web_search"> docs: >- Name of the built-in tool. Set to `web_search` to equip EVI with the built-in Web Search tool. BuiltinToolConfig: properties: - name: BuiltInTool + name: + display-name: BuiltInTool + type: BuiltInTool fallback_content: type: optional docs: >- Optional text passed to the supplemental LLM if the tool call fails. The LLM then uses this text to generate a response back to the user, ensuring continuity in the conversation. + display-name: BuiltinToolConfig source: openapi: assistant-asyncapi.json Context: @@ -1844,6 +1892,7 @@ types: - **Editable**: The original context is updated to reflect the new context. If the type is not specified, it will default to `temporary`. + display-name: Context text: type: string docs: >- @@ -1866,14 +1915,19 @@ types: - temporary source: openapi: assistant-asyncapi.json - Encoding: literal<"linear16"> - ErrorLevel: literal<"warn"> + Encoding: + display-name: Encoding + type: literal<"linear16"> + ErrorLevel: + display-name: ErrorLevel + type: literal<"warn"> PauseAssistantMessage: docs: >- Pause responses from EVI. Chat history is still saved and sent after resuming. properties: type: + display-name: Type type: literal<"pause_assistant_message"> docs: >- The type of message sent through the socket; must be @@ -1891,6 +1945,7 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: PauseAssistantMessage source: openapi: assistant-asyncapi.json ResumeAssistantMessage: @@ -1899,6 +1954,7 @@ types: sent. properties: type: + display-name: Type type: literal<"resume_assistant_message"> docs: >- The type of message sent through the socket; must be @@ -1917,12 +1973,14 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: ResumeAssistantMessage source: openapi: assistant-asyncapi.json SessionSettings: docs: Settings for this chat session. properties: type: + display-name: Type type: literal<"session_settings"> docs: >- The type of message sent through the socket; must be @@ -1957,6 +2015,7 @@ types: language model](/docs/empathic-voice-interface-evi/custom-language-model) with EVI to learn more. + display-name: SessionSettings system_prompt: type: optional docs: >- @@ -1979,6 +2038,7 @@ types: For help writing a system prompt, see our [Prompting Guide](/docs/empathic-voice-interface-evi/prompting). + display-name: SessionSettings context: type: optional docs: >- @@ -1993,6 +2053,7 @@ types: Set to `null` to disable context injection. + display-name: SessionSettings audio: type: optional docs: >- @@ -2006,6 +2067,7 @@ types: Linear 16 audio, please refer to the [Session Settings section](/docs/empathic-voice-interface-evi/configuration#session-settings) on the EVI Configuration page. + display-name: SessionSettings language_model_api_key: type: optional docs: >- @@ -2015,6 +2077,7 @@ types: When provided, EVI will use this key instead of Hume’s API key for the supplemental LLM. This allows you to bypass rate limits and utilize your own API key as needed. + display-name: SessionSettings tools: type: optional> docs: >- @@ -2026,6 +2089,7 @@ types: search, are natively integrated, while user-defined tools are created and invoked by the user. To learn more, see our [Tool Use Guide](/docs/empathic-voice-interface-evi/tool-use). + display-name: SessionSettings builtin_tools: type: optional> docs: >- @@ -2042,15 +2106,20 @@ types: Currently, the only built-in tool Hume provides is **Web Search**. When enabled, Web Search equips EVI with the ability to search the web for up-to-date information. - metadata: optional> + display-name: SessionSettings + metadata: + type: optional> + display-name: SessionSettings variables: type: optional> docs: Dynamic values that can be used to populate EVI prompts. + display-name: SessionSettings source: openapi: assistant-asyncapi.json Tool: properties: type: + display-name: ToolType type: ToolType docs: Type of tool. Set to `function` for user-defined tools. name: @@ -2071,18 +2140,21 @@ types: docs: >- An optional description of what the tool does, used by the supplemental LLM to choose when and how to call the function. + display-name: Tool fallback_content: type: optional docs: >- Optional text passed to the supplemental LLM if the tool call fails. The LLM then uses this text to generate a response back to the user, ensuring continuity in the conversation. + display-name: Tool source: openapi: assistant-asyncapi.json ToolErrorMessage: docs: When provided, the output is a function call error. properties: type: + display-name: Type type: literal<"tool_error"> docs: >- The type of message sent through the socket; for a Tool Error message, @@ -2098,11 +2170,13 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: ToolErrorMessage tool_type: type: optional docs: >- Type of tool called. Either `builtin` for natively implemented tools, like web search, or `function` for user-defined tools. + display-name: ToolErrorMessage tool_call_id: type: string docs: >- @@ -2120,23 +2194,27 @@ types: Optional text passed to the supplemental LLM in place of the tool call result. The LLM then uses this text to generate a response back to the user, ensuring continuity in the conversation if the tool errors. + display-name: ToolErrorMessage error: type: string docs: Error message from the tool call, not exposed to the LLM or user. code: type: optional docs: Error code. Identifies the type of error encountered. + display-name: ToolErrorMessage level: type: optional docs: >- Indicates the severity of an error; for a Tool Error message, this must be `warn` to signal an unexpected event. + display-name: ToolErrorMessage source: openapi: assistant-asyncapi.json ToolResponseMessage: docs: When provided, the output is a function call response. properties: type: + display-name: Type type: literal<"tool_response"> docs: >- The type of message sent through the socket; for a Tool Response @@ -2152,6 +2230,7 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: ToolResponseMessage tool_call_id: type: string docs: >- @@ -2178,11 +2257,13 @@ types: which tool generated the response. The specified `tool_name` must match the one received in the [Tool Call message](/reference/empathic-voice-interface-evi/chat/chat#receive.Tool%20Call%20Message.type). + display-name: ToolResponseMessage tool_type: type: optional docs: >- Type of tool called. Either `builtin` for natively implemented tools, like web search, or `function` for user-defined tools. + display-name: ToolResponseMessage source: openapi: assistant-asyncapi.json ToolType: @@ -2195,6 +2276,7 @@ types: docs: User text to insert into the conversation. properties: type: + display-name: Type type: literal<"user_input"> docs: >- The type of message sent through the socket; must be `user_input` for @@ -2205,6 +2287,7 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: UserInput text: type: string docs: >- @@ -2222,6 +2305,7 @@ types: docs: When provided, the output is an assistant end message. properties: type: + display-name: Type type: literal<"assistant_end"> docs: >- The type of message sent through the socket; for an Assistant End @@ -2236,12 +2320,14 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: AssistantEnd source: openapi: assistant-asyncapi.json AssistantMessage: docs: When provided, the output is an assistant message. properties: type: + display-name: Type type: literal<"assistant_message"> docs: >- The type of message sent through the socket; for an Assistant Message, @@ -2256,15 +2342,19 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: AssistantMessage id: type: optional docs: >- ID of the assistant message. Allows the Assistant Message to be tracked and referenced. + display-name: AssistantMessage message: + display-name: ChatMessage type: ChatMessage docs: Transcript of the message. models: + display-name: Inference type: Inference docs: Inference model results. from_text: @@ -2279,6 +2369,7 @@ types: docs: When provided, the output is audio. properties: type: + display-name: Type type: literal<"audio_output"> docs: >- The type of message sent through the socket; for an Audio Output @@ -2288,6 +2379,7 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: AudioOutput id: type: string docs: >- @@ -2305,30 +2397,37 @@ types: discriminated: false docs: Function call response from client. union: - - ToolResponseMessage - - ToolErrorMessage + - display-name: ToolResponseMessage + type: ToolResponseMessage + - display-name: ToolErrorMessage + type: ToolErrorMessage source: openapi: assistant-asyncapi.json ChatMessage: properties: role: + display-name: Role type: Role docs: Role of who is providing the message. content: type: optional docs: Transcript of the message. + display-name: ChatMessage tool_call: type: optional docs: Function call name and arguments. + display-name: ChatMessage tool_result: type: optional docs: Function call response from client. + display-name: ChatMessage source: openapi: assistant-asyncapi.json ChatMetadata: docs: When provided, the output is a chat metadata message. properties: type: + display-name: Type type: literal<"chat_metadata"> docs: >- The type of message sent through the socket; for a Chat Metadata @@ -2343,6 +2442,7 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: ChatMetadata chat_group_id: type: string docs: >- @@ -2425,6 +2525,7 @@ types: docs: When provided, the output is an error message. properties: type: + display-name: Type type: literal<"error"> docs: >- The type of message sent through the socket; for a Web Socket Error @@ -2439,6 +2540,7 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: Error code: type: string docs: Error code. Identifies the type of error encountered. @@ -2478,6 +2580,7 @@ types: ProsodyInference: properties: scores: + display-name: EmotionScores type: EmotionScores docs: >- The confidence scores for 48 emotions within the detected expression @@ -2528,6 +2631,7 @@ types: invocation, ensuring that the correct response is linked to the appropriate request. type: + display-name: Type type: literal<"tool_call"> docs: >- The type of message sent through the socket; for a Tool Call message, @@ -2541,11 +2645,13 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: ToolCallMessage tool_type: type: optional docs: >- Type of tool called. Either `builtin` for natively implemented tools, like web search, or `function` for user-defined tools. + display-name: ToolCallMessage response_required: type: boolean docs: >- @@ -2560,6 +2666,7 @@ types: docs: When provided, the output is an interruption. properties: type: + display-name: Type type: literal<"user_interruption"> docs: >- The type of message sent through the socket; for a User Interruption @@ -2576,6 +2683,7 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: UserInterruption time: type: integer docs: Unix timestamp of the detected user interruption. @@ -2585,6 +2693,7 @@ types: docs: When provided, the output is a user message. properties: type: + display-name: Type type: literal<"user_message"> docs: >- The type of message sent through the socket; for a User Message, this @@ -2604,13 +2713,17 @@ types: docs: >- Used to manage conversational state, correlate frontend and backend data, and persist conversations across EVI sessions. + display-name: UserMessage message: + display-name: ChatMessage type: ChatMessage docs: Transcript of the message. models: + display-name: Inference type: Inference docs: Inference model results. time: + display-name: MillisecondInterval type: MillisecondInterval docs: Start and End time of user message. from_text: @@ -2625,15 +2738,24 @@ types: JsonMessage: discriminated: false union: - - AssistantEnd - - AssistantMessage - - ChatMetadata - - WebSocketError - - UserInterruption - - UserMessage - - ToolCallMessage - - ToolResponseMessage - - ToolErrorMessage + - display-name: AssistantEnd + type: AssistantEnd + - display-name: AssistantMessage + type: AssistantMessage + - display-name: ChatMetadata + type: ChatMetadata + - display-name: Error + type: WebSocketError + - display-name: UserInterruption + type: UserInterruption + - display-name: UserMessage + type: UserMessage + - display-name: ToolCallMessage + type: ToolCallMessage + - display-name: ToolResponseMessage + type: ToolResponseMessage + - display-name: ToolErrorMessage + type: ToolErrorMessage source: openapi: assistant-asyncapi.json TtsInput: @@ -2654,12 +2776,16 @@ types: ExtendedVoiceArgs: properties: text: string - voice_args: VoiceArgs + voice_args: + display-name: VoiceArgs + type: VoiceArgs source: openapi: assistant-openapi.json HTTPValidationError: properties: - detail: optional> + detail: + type: optional> + display-name: HTTPValidationError source: openapi: assistant-openapi.json ValidationErrorLocItem: @@ -2671,20 +2797,26 @@ types: openapi: assistant-openapi.json ValidationError: properties: - loc: list + loc: + display-name: Location + type: list msg: string type: string source: openapi: assistant-openapi.json VoiceArgs: properties: - voice: optional + voice: + type: optional + display-name: VoiceArgs baseline: type: optional default: false + display-name: VoiceArgs reconstruct: type: optional default: false + display-name: VoiceArgs source: openapi: assistant-openapi.json VoiceNameEnum: diff --git a/.mock/definition/empathic-voice/chat.yml b/.mock/definition/empathic-voice/chat.yml index c99729a..696f82b 100644 --- a/.mock/definition/empathic-voice/chat.yml +++ b/.mock/definition/empathic-voice/chat.yml @@ -119,28 +119,46 @@ types: SubscribeEvent: discriminated: false union: - - root.AssistantEnd - - root.AssistantMessage - - root.AudioOutput - - root.ChatMetadata - - root.WebSocketError - - root.UserInterruption - - root.UserMessage - - root.ToolCallMessage - - root.ToolResponseMessage - - root.ToolErrorMessage + - display-name: AssistantEnd + type: root.AssistantEnd + - display-name: AssistantMessage + type: root.AssistantMessage + - display-name: AudioOutput + type: root.AudioOutput + - display-name: ChatMetadata + type: root.ChatMetadata + - display-name: Error + type: root.WebSocketError + - display-name: UserInterruption + type: root.UserInterruption + - display-name: UserMessage + type: root.UserMessage + - display-name: ToolCallMessage + type: root.ToolCallMessage + - display-name: ToolResponseMessage + type: root.ToolResponseMessage + - display-name: ToolErrorMessage + type: root.ToolErrorMessage source: openapi: assistant-asyncapi.json PublishEvent: discriminated: false union: - - root.AudioInput - - root.SessionSettings - - root.UserInput - - root.AssistantInput - - root.ToolResponseMessage - - root.ToolErrorMessage - - root.PauseAssistantMessage - - root.ResumeAssistantMessage + - display-name: AudioInput + type: root.AudioInput + - display-name: SessionSettings + type: root.SessionSettings + - display-name: UserInput + type: root.UserInput + - display-name: AssistantInput + type: root.AssistantInput + - display-name: ToolResponseMessage + type: root.ToolResponseMessage + - display-name: ToolErrorMessage + type: root.ToolErrorMessage + - display-name: PauseAssistantMessage + type: root.PauseAssistantMessage + - display-name: ResumeAssistantMessage + type: root.ResumeAssistantMessage source: openapi: assistant-asyncapi.json diff --git a/.mock/definition/empathic-voice/chatGroups.yml b/.mock/definition/empathic-voice/chatGroups.yml index 7d15a6e..7d3a5e9 100644 --- a/.mock/definition/empathic-voice/chatGroups.yml +++ b/.mock/definition/empathic-voice/chatGroups.yml @@ -8,6 +8,7 @@ service: path: /v0/evi/chat_groups method: GET auth: true + docs: Fetches a paginated list of **Chat Groups**. display-name: List chat_groups request: name: ChatGroupsListChatGroupsRequest @@ -73,10 +74,87 @@ service: active: false most_recent_chat_id: dfdbdd4d-0ddf-418b-8fc4-80a266579d36 num_chats: 5 + get-chat-group: + path: /v0/evi/chat_groups/{id} + method: GET + auth: true + docs: >- + Fetches a **ChatGroup** by ID, including a paginated list of **Chats** + associated with the **ChatGroup**. + path-parameters: + id: + type: string + docs: Identifier for a Chat Group. Formatted as a UUID. + display-name: Get chat_group + request: + name: ChatGroupsGetChatGroupRequest + query-parameters: + page_size: + type: optional + docs: >- + Specifies the maximum number of results to include per page, + enabling pagination. The value must be between 1 and 100, + inclusive. + + + For example, if `page_size` is set to 10, each page will include + up to 10 items. Defaults to 10. + page_number: + type: optional + docs: >- + Specifies the page number to retrieve, enabling pagination. + + + This parameter uses zero-based indexing. For example, setting + `page_number` to 0 retrieves the first page of results (items 0-9 + if `page_size` is 10), setting `page_number` to 1 retrieves the + second page (items 10-19), and so on. Defaults to 0, which + retrieves the first page. + ascending_order: + type: optional + docs: >- + Specifies the sorting order of the results based on their creation + date. Set to true for ascending order (chronological, with the + oldest records first) and false for descending order + (reverse-chronological, with the newest records first). Defaults + to true. + response: + docs: Success + type: root.ReturnChatGroupPagedChats + errors: + - root.BadRequestError + examples: + - path-parameters: + id: 697056f0-6c7e-487d-9bd8-9c19df79f05f + query-parameters: + page_number: 0 + page_size: 1 + ascending_order: true + response: + body: + id: 369846cf-6ad5-404d-905e-a8acb5cdfc78 + first_start_timestamp: 1712334213647 + most_recent_start_timestamp: 1712334213647 + num_chats: 1 + page_number: 0 + page_size: 1 + total_pages: 1 + pagination_direction: ASC + chats_page: + - id: 6375d4f8-cd3e-4d6b-b13b-ace66b7c8aaa + chat_group_id: 369846cf-6ad5-404d-905e-a8acb5cdfc78 + status: USER_ENDED + start_timestamp: 1712334213647 + end_timestamp: 1712334332571 + event_count: 0 + active: false list-chat-group-events: path: /v0/evi/chat_groups/{id}/events method: GET auth: true + docs: >- + Fetches a paginated list of **Chat** events associated with a **Chat + Group**. path-parameters: id: type: string diff --git a/.mock/definition/empathic-voice/chats.yml b/.mock/definition/empathic-voice/chats.yml index f484d9c..ebda1a7 100644 --- a/.mock/definition/empathic-voice/chats.yml +++ b/.mock/definition/empathic-voice/chats.yml @@ -8,6 +8,7 @@ service: path: /v0/evi/chats method: GET auth: true + docs: Fetches a paginated list of **Chats**. pagination: offset: $request.page_number results: $response.chats_page @@ -75,6 +76,7 @@ service: path: /v0/evi/chats/{id} method: GET auth: true + docs: Fetches a paginated list of **Chat** events. pagination: offset: $request.page_number results: $response.events_page diff --git a/.mock/definition/empathic-voice/configs.yml b/.mock/definition/empathic-voice/configs.yml index 95a6c08..fc80556 100644 --- a/.mock/definition/empathic-voice/configs.yml +++ b/.mock/definition/empathic-voice/configs.yml @@ -8,6 +8,13 @@ service: path: /v0/evi/configs method: GET auth: true + docs: >- + Fetches a paginated list of **Configs**. + + + For more details on configuration options and how to configure EVI, see + our [configuration + guide](/docs/empathic-voice-interface-evi/configuration). display-name: List configs request: name: ConfigsListConfigsRequest @@ -124,6 +131,13 @@ service: path: /v0/evi/configs method: POST auth: true + docs: >- + Creates a **Config** which can be applied to EVI. + + + For more details on configuration options and how to configure EVI, see + our [configuration + guide](/docs/empathic-voice-interface-evi/configuration). display-name: Create config request: name: PostedConfig @@ -272,6 +286,13 @@ service: path: /v0/evi/configs/{id} method: GET auth: true + docs: >- + Fetches a list of a **Config's** versions. + + + For more details on configuration options and how to configure EVI, see + our [configuration + guide](/docs/empathic-voice-interface-evi/configuration). path-parameters: id: type: string @@ -388,6 +409,13 @@ service: path: /v0/evi/configs/{id} method: POST auth: true + docs: >- + Updates a **Config** by creating a new version of the **Config**. + + + For more details on configuration options and how to configure EVI, see + our [configuration + guide](/docs/empathic-voice-interface-evi/configuration). path-parameters: id: type: string @@ -538,6 +566,13 @@ service: path: /v0/evi/configs/{id} method: DELETE auth: true + docs: >- + Deletes a **Config** and its versions. + + + For more details on configuration options and how to configure EVI, see + our [configuration + guide](/docs/empathic-voice-interface-evi/configuration). path-parameters: id: type: string @@ -552,6 +587,13 @@ service: path: /v0/evi/configs/{id} method: PATCH auth: true + docs: >- + Updates the name of a **Config**. + + + For more details on configuration options and how to configure EVI, see + our [configuration + guide](/docs/empathic-voice-interface-evi/configuration). path-parameters: id: type: string @@ -578,6 +620,13 @@ service: path: /v0/evi/configs/{id}/version/{version} method: GET auth: true + docs: >- + Fetches a specified version of a **Config**. + + + For more details on configuration options and how to configure EVI, see + our [configuration + guide](/docs/empathic-voice-interface-evi/configuration). path-parameters: id: type: string @@ -676,6 +725,13 @@ service: path: /v0/evi/configs/{id}/version/{version} method: DELETE auth: true + docs: >- + Deletes a specified version of a **Config**. + + + For more details on configuration options and how to configure EVI, see + our [configuration + guide](/docs/empathic-voice-interface-evi/configuration). path-parameters: id: type: string @@ -706,6 +762,13 @@ service: path: /v0/evi/configs/{id}/version/{version} method: PATCH auth: true + docs: >- + Updates the description of a **Config**. + + + For more details on configuration options and how to configure EVI, see + our [configuration + guide](/docs/empathic-voice-interface-evi/configuration). path-parameters: id: type: string diff --git a/.mock/definition/empathic-voice/customVoices.yml b/.mock/definition/empathic-voice/customVoices.yml index 6fa448a..8e7910c 100644 --- a/.mock/definition/empathic-voice/customVoices.yml +++ b/.mock/definition/empathic-voice/customVoices.yml @@ -4,13 +4,19 @@ service: auth: false base-path: '' endpoints: - getReturnCustomVoicesForUser: + list-custom-voices: path: /v0/evi/custom_voices method: GET auth: true + docs: >- + Fetches a paginated list of **Custom Voices**. + + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) + for details on creating a custom voice. display-name: List custom voices request: - name: GetReturnCustomVoicesForUserRequest + name: CustomVoicesListCustomVoicesRequest query-parameters: page_number: type: optional @@ -56,10 +62,17 @@ service: base_voice: ITO parameter_model: 20240715-4parameter parameters: {} - createNewCustomVoice: + create-custom-voice: path: /v0/evi/custom_voices method: POST auth: true + docs: >- + Creates a **Custom Voice** that can be added to an [EVI + configuration](/reference/empathic-voice-interface-evi/configs/create-config). + + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) + for details on creating a custom voice. display-name: Create custom voice request: body: root.PostedCustomVoice @@ -87,10 +100,16 @@ service: huskiness: 1 nasality: 1 pitch: 1 - getReturnCustomVoiceByCustomVoiceId: + get-custom-voice: path: /v0/evi/custom_voices/{id} method: GET auth: true + docs: >- + Fetches a specific **Custom Voice** by ID. + + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) + for details on creating a custom voice. path-parameters: id: type: string @@ -118,10 +137,17 @@ service: huskiness: 1 nasality: 1 pitch: 1 - addNewCustomVoiceVersion: + create-custom-voice-version: path: /v0/evi/custom_voices/{id} method: POST auth: true + docs: >- + Updates a **Custom Voice** by creating a new version of the **Custom + Voice**. + + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) + for details on creating a custom voice. path-parameters: id: type: string @@ -155,10 +181,16 @@ service: huskiness: 1 nasality: 1 pitch: 1 - deleteCustomVoice: + delete-custom-voice: path: /v0/evi/custom_voices/{id} method: DELETE auth: true + docs: >- + Deletes a **Custom Voice** and its versions. + + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) + for details on creating a custom voice. path-parameters: id: type: string @@ -169,10 +201,16 @@ service: examples: - path-parameters: id: id - updateCustomVoiceName: + update-custom-voice-name: path: /v0/evi/custom_voices/{id} method: PATCH auth: true + docs: >- + Updates the name of a **Custom Voice**. + + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) + for details on creating a custom voice. path-parameters: id: type: string diff --git a/.mock/definition/empathic-voice/prompts.yml b/.mock/definition/empathic-voice/prompts.yml index 3eb701e..f7fc943 100644 --- a/.mock/definition/empathic-voice/prompts.yml +++ b/.mock/definition/empathic-voice/prompts.yml @@ -8,6 +8,13 @@ service: path: /v0/evi/prompts method: GET auth: true + docs: >- + Fetches a paginated list of **Prompts**. + + + See our [prompting + guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on + crafting your system prompt. pagination: offset: $request.page_number results: $response.prompts_page @@ -94,6 +101,14 @@ service: path: /v0/evi/prompts method: POST auth: true + docs: >- + Creates a **Prompt** that can be added to an [EVI + configuration](/reference/empathic-voice-interface-evi/configs/create-config). + + + See our [prompting + guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on + crafting your system prompt. display-name: Create prompt request: name: PostedPrompt @@ -155,6 +170,13 @@ service: path: /v0/evi/prompts/{id} method: GET auth: true + docs: >- + Fetches a list of a **Prompt's** versions. + + + See our [prompting + guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on + crafting your system prompt. path-parameters: id: type: string @@ -222,6 +244,13 @@ service: path: /v0/evi/prompts/{id} method: POST auth: true + docs: >- + Updates a **Prompt** by creating a new version of the **Prompt**. + + + See our [prompting + guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on + crafting your system prompt. path-parameters: id: type: string @@ -288,6 +317,13 @@ service: path: /v0/evi/prompts/{id} method: DELETE auth: true + docs: >- + Deletes a **Prompt** and its versions. + + + See our [prompting + guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on + crafting your system prompt. path-parameters: id: type: string @@ -302,6 +338,13 @@ service: path: /v0/evi/prompts/{id} method: PATCH auth: true + docs: >- + Updates the name of a **Prompt**. + + + See our [prompting + guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on + crafting your system prompt. path-parameters: id: type: string @@ -328,6 +371,13 @@ service: path: /v0/evi/prompts/{id}/version/{version} method: GET auth: true + docs: >- + Fetches a specified version of a **Prompt**. + + + See our [prompting + guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on + crafting your system prompt. path-parameters: id: type: string @@ -377,6 +427,13 @@ service: path: /v0/evi/prompts/{id}/version/{version} method: DELETE auth: true + docs: >- + Deletes a specified version of a **Prompt**. + + + See our [prompting + guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on + crafting your system prompt. path-parameters: id: type: string @@ -407,6 +464,13 @@ service: path: /v0/evi/prompts/{id}/version/{version} method: PATCH auth: true + docs: >- + Updates the description of a **Prompt**. + + + See our [prompting + guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on + crafting your system prompt. path-parameters: id: type: string diff --git a/.mock/definition/empathic-voice/tools.yml b/.mock/definition/empathic-voice/tools.yml index a7fd95a..e6253b1 100644 --- a/.mock/definition/empathic-voice/tools.yml +++ b/.mock/definition/empathic-voice/tools.yml @@ -8,6 +8,14 @@ service: path: /v0/evi/tools method: GET auth: true + docs: >- + Fetches a paginated list of **Tools**. + + + Refer to our [tool + use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide + for comprehensive instructions on defining and integrating tools into + EVI. pagination: offset: $request.page_number results: $response.tools_page @@ -99,6 +107,15 @@ service: path: /v0/evi/tools method: POST auth: true + docs: >- + Creates a **Tool** that can be added to an [EVI + configuration](/reference/empathic-voice-interface-evi/configs/create-config). + + + Refer to our [tool + use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide + for comprehensive instructions on defining and integrating tools into + EVI. display-name: Create tool request: name: PostedUserDefinedTool @@ -178,6 +195,14 @@ service: path: /v0/evi/tools/{id} method: GET auth: true + docs: >- + Fetches a list of a **Tool's** versions. + + + Refer to our [tool + use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide + for comprehensive instructions on defining and integrating tools into + EVI. path-parameters: id: type: string @@ -250,6 +275,14 @@ service: path: /v0/evi/tools/{id} method: POST auth: true + docs: >- + Updates a **Tool** by creating a new version of the **Tool**. + + + Refer to our [tool + use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide + for comprehensive instructions on defining and integrating tools into + EVI. path-parameters: id: type: string @@ -331,6 +364,14 @@ service: path: /v0/evi/tools/{id} method: DELETE auth: true + docs: >- + Deletes a **Tool** and its versions. + + + Refer to our [tool + use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide + for comprehensive instructions on defining and integrating tools into + EVI. path-parameters: id: type: string @@ -345,6 +386,14 @@ service: path: /v0/evi/tools/{id} method: PATCH auth: true + docs: >- + Updates the name of a **Tool**. + + + Refer to our [tool + use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide + for comprehensive instructions on defining and integrating tools into + EVI. path-parameters: id: type: string @@ -371,6 +420,14 @@ service: path: /v0/evi/tools/{id}/version/{version} method: GET auth: true + docs: >- + Fetches a specified version of a **Tool**. + + + Refer to our [tool + use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide + for comprehensive instructions on defining and integrating tools into + EVI. path-parameters: id: type: string @@ -424,6 +481,14 @@ service: path: /v0/evi/tools/{id}/version/{version} method: DELETE auth: true + docs: >- + Deletes a specified version of a **Tool**. + + + Refer to our [tool + use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide + for comprehensive instructions on defining and integrating tools into + EVI. path-parameters: id: type: string @@ -453,6 +518,14 @@ service: path: /v0/evi/tools/{id}/version/{version} method: PATCH auth: true + docs: >- + Updates the description of a specified **Tool** version. + + + Refer to our [tool + use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide + for comprehensive instructions on defining and integrating tools into + EVI. path-parameters: id: type: string diff --git a/.mock/definition/expression-measurement/batch/__package__.yml b/.mock/definition/expression-measurement/batch/__package__.yml index 8fb8047..e4a7cf1 100644 --- a/.mock/definition/expression-measurement/batch/__package__.yml +++ b/.mock/definition/expression-measurement/batch/__package__.yml @@ -427,9 +427,11 @@ types: properties: time: TimeInterval emotions: + display-name: Emotions Scores docs: A high-dimensional embedding in emotion space. type: list descriptions: + display-name: Descriptions Scores docs: Modality-specific descriptive features and their scores. type: list source: @@ -647,6 +649,7 @@ types: docs: The predicted probability that a detected face was actually a face. box: BoundingBox emotions: + display-name: Emotions Scores docs: A high-dimensional embedding in emotion space. type: list facs: @@ -660,6 +663,7 @@ types: FacemeshPrediction: properties: emotions: + display-name: Emotions Scores docs: A high-dimensional embedding in emotion space. type: list source: @@ -1020,6 +1024,7 @@ types: Value between `0.0` and `1.0` that indicates our transcription model's relative confidence that this text was spoken by this speaker. emotions: + display-name: Emotions Scores docs: A high-dimensional embedding in emotion space. type: list sentiment: @@ -1117,6 +1122,7 @@ types: Value between `0.0` and `1.0` that indicates our transcription model's relative confidence that this text was spoken by this speaker. emotions: + display-name: Emotions Scores docs: A high-dimensional embedding in emotion space. type: list source: @@ -1211,6 +1217,7 @@ types: Value between `0.0` and `1.0` that indicates our transcription model's relative confidence that this text was spoken by this speaker. emotions: + display-name: Emotions Scores docs: A high-dimensional embedding in emotion space. type: list source: diff --git a/.mock/definition/expression-measurement/stream/__package__.yml b/.mock/definition/expression-measurement/stream/__package__.yml index a279594..f155235 100644 --- a/.mock/definition/expression-measurement/stream/__package__.yml +++ b/.mock/definition/expression-measurement/stream/__package__.yml @@ -12,6 +12,7 @@ channel: publish: origin: client body: + display-name: Models endpoint payload type: StreamModelsEndpointPayload docs: Models endpoint payload examples: @@ -119,26 +120,33 @@ types: docs: > If a payload ID was passed in the request, the same payload ID will be sent back in the response body. + display-name: Model predictions job_details: type: optional docs: > If the job_details flag was set in the request, details about the current streaming job will be returned in the response body. + display-name: Model predictions burst: type: optional docs: Response for the vocal burst emotion model. + display-name: Model predictions face: type: optional docs: Response for the facial expression emotion model. + display-name: Model predictions facemesh: type: optional docs: Response for the facemesh emotion model. + display-name: Model predictions language: type: optional docs: Response for the language emotion model. + display-name: Model predictions prosody: type: optional docs: Response for the speech prosody emotion model. + display-name: Model predictions source: openapi: streaming-asyncapi.yml JobDetails: @@ -157,19 +165,23 @@ types: error: type: optional docs: Error message text. + display-name: Error message code: type: optional docs: Unique identifier for the error. + display-name: Error message payload_id: type: optional docs: > If a payload ID was passed in the request, the same payload ID will be sent back in the response body. + display-name: Error message job_details: type: optional docs: > If the job_details flag was set in the request, details about the current streaming job will be returned in the response body. + display-name: Error message source: openapi: streaming-asyncapi.yml StreamWarningMessageJobDetails: @@ -188,29 +200,36 @@ types: warning: type: optional docs: Warning message text. + display-name: Warning message code: type: optional docs: Unique identifier for the error. + display-name: Warning message payload_id: type: optional docs: > If a payload ID was passed in the request, the same payload ID will be sent back in the response body. + display-name: Warning message job_details: type: optional docs: > If the job_details flag was set in the request, details about the current streaming job will be returned in the response body. + display-name: Warning message source: openapi: streaming-asyncapi.yml SubscribeEvent: discriminated: false union: - - type: StreamModelPredictions + - display-name: Model predictions + type: StreamModelPredictions docs: Model predictions - - type: StreamErrorMessage + - display-name: Error message + type: StreamErrorMessage docs: Error message - - type: StreamWarningMessage + - display-name: Warning message + type: StreamWarningMessage docs: Warning message source: openapi: streaming-asyncapi.yml @@ -331,12 +350,15 @@ types: StreamModelsEndpointPayload: docs: Models endpoint payload properties: - data: optional + data: + type: optional + display-name: Models endpoint payload models: type: optional docs: > Configuration used to specify which models should be used and with what settings. + display-name: Models endpoint payload stream_window_ms: type: optional docs: > @@ -364,6 +386,7 @@ types: validation: min: 500 max: 10000 + display-name: Models endpoint payload reset_stream: type: optional docs: > @@ -378,6 +401,7 @@ types: Use reset_stream when one audio file is done being processed and you do not want context to leak across files. default: false + display-name: Models endpoint payload raw_text: type: optional docs: > @@ -388,6 +412,7 @@ types: the language model, but it cannot be used with other file types like audio, image, or video. default: false + display-name: Models endpoint payload job_details: type: optional docs: > @@ -401,6 +426,7 @@ types: This parameter is useful to get the unique job ID. default: false + display-name: Models endpoint payload payload_id: type: optional docs: > @@ -411,8 +437,13 @@ types: This can be useful if you have multiple requests running asynchronously and want to disambiguate responses as they are received. - face: optional - language: optional + display-name: Models endpoint payload + face: + type: optional + display-name: Models endpoint payload + language: + type: optional + display-name: Models endpoint payload source: openapi: streaming-asyncapi.yml EmotionEmbeddingItem: diff --git a/.mock/fern.config.json b/.mock/fern.config.json index ba052ca..7e7445e 100644 --- a/.mock/fern.config.json +++ b/.mock/fern.config.json @@ -1,4 +1,4 @@ { "organization" : "hume", - "version" : "0.41.9" + "version" : "0.41.16" } \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index d4f8820..4cd8815 100644 --- a/poetry.lock +++ b/poetry.lock @@ -24,13 +24,13 @@ files = [ [[package]] name = "anyio" -version = "4.4.0" +version = "4.6.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7"}, - {file = "anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94"}, + {file = "anyio-4.6.0-py3-none-any.whl", hash = "sha256:c7d2e9d63e31599eeb636c8c5c03a7e108d73b345f064f1c19fdc87b79036a9a"}, + {file = "anyio-4.6.0.tar.gz", hash = "sha256:137b4559cbb034c477165047febb6ff83f390fc3b20bf181c1fc0a728cb8beeb"}, ] [package.dependencies] @@ -40,9 +40,9 @@ sniffio = ">=1.1" typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} [package.extras] -doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] -trio = ["trio (>=0.23)"] +doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.21.0b1)"] +trio = ["trio (>=0.26.1)"] [[package]] name = "appnope" @@ -577,33 +577,33 @@ toml = ["tomli"] [[package]] name = "debugpy" -version = "1.8.5" +version = "1.8.6" description = "An implementation of the Debug Adapter Protocol for Python" optional = true python-versions = ">=3.8" files = [ - {file = "debugpy-1.8.5-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:7e4d594367d6407a120b76bdaa03886e9eb652c05ba7f87e37418426ad2079f7"}, - {file = "debugpy-1.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4413b7a3ede757dc33a273a17d685ea2b0c09dbd312cc03f5534a0fd4d40750a"}, - {file = "debugpy-1.8.5-cp310-cp310-win32.whl", hash = "sha256:dd3811bd63632bb25eda6bd73bea8e0521794cda02be41fa3160eb26fc29e7ed"}, - {file = "debugpy-1.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:b78c1250441ce893cb5035dd6f5fc12db968cc07f91cc06996b2087f7cefdd8e"}, - {file = "debugpy-1.8.5-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:606bccba19f7188b6ea9579c8a4f5a5364ecd0bf5a0659c8a5d0e10dcee3032a"}, - {file = "debugpy-1.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db9fb642938a7a609a6c865c32ecd0d795d56c1aaa7a7a5722d77855d5e77f2b"}, - {file = "debugpy-1.8.5-cp311-cp311-win32.whl", hash = "sha256:4fbb3b39ae1aa3e5ad578f37a48a7a303dad9a3d018d369bc9ec629c1cfa7408"}, - {file = "debugpy-1.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:345d6a0206e81eb68b1493ce2fbffd57c3088e2ce4b46592077a943d2b968ca3"}, - {file = "debugpy-1.8.5-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:5b5c770977c8ec6c40c60d6f58cacc7f7fe5a45960363d6974ddb9b62dbee156"}, - {file = "debugpy-1.8.5-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0a65b00b7cdd2ee0c2cf4c7335fef31e15f1b7056c7fdbce9e90193e1a8c8cb"}, - {file = "debugpy-1.8.5-cp312-cp312-win32.whl", hash = "sha256:c9f7c15ea1da18d2fcc2709e9f3d6de98b69a5b0fff1807fb80bc55f906691f7"}, - {file = "debugpy-1.8.5-cp312-cp312-win_amd64.whl", hash = "sha256:28ced650c974aaf179231668a293ecd5c63c0a671ae6d56b8795ecc5d2f48d3c"}, - {file = "debugpy-1.8.5-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:3df6692351172a42af7558daa5019651f898fc67450bf091335aa8a18fbf6f3a"}, - {file = "debugpy-1.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cd04a73eb2769eb0bfe43f5bfde1215c5923d6924b9b90f94d15f207a402226"}, - {file = "debugpy-1.8.5-cp38-cp38-win32.whl", hash = "sha256:8f913ee8e9fcf9d38a751f56e6de12a297ae7832749d35de26d960f14280750a"}, - {file = "debugpy-1.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:a697beca97dad3780b89a7fb525d5e79f33821a8bc0c06faf1f1289e549743cf"}, - {file = "debugpy-1.8.5-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:0a1029a2869d01cb777216af8c53cda0476875ef02a2b6ff8b2f2c9a4b04176c"}, - {file = "debugpy-1.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e84c276489e141ed0b93b0af648eef891546143d6a48f610945416453a8ad406"}, - {file = "debugpy-1.8.5-cp39-cp39-win32.whl", hash = "sha256:ad84b7cde7fd96cf6eea34ff6c4a1b7887e0fe2ea46e099e53234856f9d99a34"}, - {file = "debugpy-1.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:7b0fe36ed9d26cb6836b0a51453653f8f2e347ba7348f2bbfe76bfeb670bfb1c"}, - {file = "debugpy-1.8.5-py2.py3-none-any.whl", hash = "sha256:55919dce65b471eff25901acf82d328bbd5b833526b6c1364bd5133754777a44"}, - {file = "debugpy-1.8.5.zip", hash = "sha256:b2112cfeb34b4507399d298fe7023a16656fc553ed5246536060ca7bd0e668d0"}, + {file = "debugpy-1.8.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:30f467c5345d9dfdcc0afdb10e018e47f092e383447500f125b4e013236bf14b"}, + {file = "debugpy-1.8.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d73d8c52614432f4215d0fe79a7e595d0dd162b5c15233762565be2f014803b"}, + {file = "debugpy-1.8.6-cp310-cp310-win32.whl", hash = "sha256:e3e182cd98eac20ee23a00653503315085b29ab44ed66269482349d307b08df9"}, + {file = "debugpy-1.8.6-cp310-cp310-win_amd64.whl", hash = "sha256:e3a82da039cfe717b6fb1886cbbe5c4a3f15d7df4765af857f4307585121c2dd"}, + {file = "debugpy-1.8.6-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:67479a94cf5fd2c2d88f9615e087fcb4fec169ec780464a3f2ba4a9a2bb79955"}, + {file = "debugpy-1.8.6-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fb8653f6cbf1dd0a305ac1aa66ec246002145074ea57933978346ea5afdf70b"}, + {file = "debugpy-1.8.6-cp311-cp311-win32.whl", hash = "sha256:cdaf0b9691879da2d13fa39b61c01887c34558d1ff6e5c30e2eb698f5384cd43"}, + {file = "debugpy-1.8.6-cp311-cp311-win_amd64.whl", hash = "sha256:43996632bee7435583952155c06881074b9a742a86cee74e701d87ca532fe833"}, + {file = "debugpy-1.8.6-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:db891b141fc6ee4b5fc6d1cc8035ec329cabc64bdd2ae672b4550c87d4ecb128"}, + {file = "debugpy-1.8.6-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:567419081ff67da766c898ccf21e79f1adad0e321381b0dfc7a9c8f7a9347972"}, + {file = "debugpy-1.8.6-cp312-cp312-win32.whl", hash = "sha256:c9834dfd701a1f6bf0f7f0b8b1573970ae99ebbeee68314116e0ccc5c78eea3c"}, + {file = "debugpy-1.8.6-cp312-cp312-win_amd64.whl", hash = "sha256:e4ce0570aa4aca87137890d23b86faeadf184924ad892d20c54237bcaab75d8f"}, + {file = "debugpy-1.8.6-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:df5dc9eb4ca050273b8e374a4cd967c43be1327eeb42bfe2f58b3cdfe7c68dcb"}, + {file = "debugpy-1.8.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a85707c6a84b0c5b3db92a2df685b5230dd8fb8c108298ba4f11dba157a615a"}, + {file = "debugpy-1.8.6-cp38-cp38-win32.whl", hash = "sha256:538c6cdcdcdad310bbefd96d7850be1cd46e703079cc9e67d42a9ca776cdc8a8"}, + {file = "debugpy-1.8.6-cp38-cp38-win_amd64.whl", hash = "sha256:22140bc02c66cda6053b6eb56dfe01bbe22a4447846581ba1dd6df2c9f97982d"}, + {file = "debugpy-1.8.6-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:c1cef65cffbc96e7b392d9178dbfd524ab0750da6c0023c027ddcac968fd1caa"}, + {file = "debugpy-1.8.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1e60bd06bb3cc5c0e957df748d1fab501e01416c43a7bdc756d2a992ea1b881"}, + {file = "debugpy-1.8.6-cp39-cp39-win32.whl", hash = "sha256:f7158252803d0752ed5398d291dee4c553bb12d14547c0e1843ab74ee9c31123"}, + {file = "debugpy-1.8.6-cp39-cp39-win_amd64.whl", hash = "sha256:3358aa619a073b620cd0d51d8a6176590af24abcc3fe2e479929a154bf591b51"}, + {file = "debugpy-1.8.6-py2.py3-none-any.whl", hash = "sha256:b48892df4d810eff21d3ef37274f4c60d32cdcafc462ad5647239036b0f0649f"}, + {file = "debugpy-1.8.6.zip", hash = "sha256:c931a9371a86784cee25dec8d65bc2dc7a21f3f1552e3833d9ef8f919d22280a"}, ] [[package]] @@ -1056,13 +1056,13 @@ notebook = "*" [[package]] name = "jupyter-client" -version = "8.6.2" +version = "8.6.3" description = "Jupyter protocol implementation and client libraries" optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_client-8.6.2-py3-none-any.whl", hash = "sha256:50cbc5c66fd1b8f65ecb66bc490ab73217993632809b6e505687de18e9dea39f"}, - {file = "jupyter_client-8.6.2.tar.gz", hash = "sha256:2bda14d55ee5ba58552a8c53ae43d215ad9868853489213f37da060ced54d8df"}, + {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"}, + {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"}, ] [package.dependencies] @@ -1703,13 +1703,13 @@ ptyprocess = ">=0.5" [[package]] name = "platformdirs" -version = "4.3.3" +version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.3.3-py3-none-any.whl", hash = "sha256:50a5450e2e84f44539718293cbb1da0a0885c9d14adf21b77bae4e66fc99d9b5"}, - {file = "platformdirs-4.3.3.tar.gz", hash = "sha256:d4e0b7d8ec176b341fb03cb11ca12d0276faa8c485f9cd218f613840463fc2c0"}, + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] [package.extras] @@ -1734,13 +1734,13 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "prometheus-client" -version = "0.20.0" +version = "0.21.0" description = "Python client for the Prometheus monitoring system." optional = true python-versions = ">=3.8" files = [ - {file = "prometheus_client-0.20.0-py3-none-any.whl", hash = "sha256:cde524a85bce83ca359cc837f28b8c0db5cac7aa653a588fd7e84ba061c329e7"}, - {file = "prometheus_client-0.20.0.tar.gz", hash = "sha256:287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89"}, + {file = "prometheus_client-0.21.0-py3-none-any.whl", hash = "sha256:4fa6b4dd0ac16d58bb587c04b1caae65b8c5043e85f778f42f5f632f6af2e166"}, + {file = "prometheus_client-0.21.0.tar.gz", hash = "sha256:96c83c606b71ff2b0a433c98889d275f51ffec6c5e267de37c7a2b5c9aa9233e"}, ] [package.extras] @@ -1748,13 +1748,13 @@ twisted = ["twisted"] [[package]] name = "prompt-toolkit" -version = "3.0.47" +version = "3.0.48" description = "Library for building powerful interactive command lines in Python" optional = true python-versions = ">=3.7.0" files = [ - {file = "prompt_toolkit-3.0.47-py3-none-any.whl", hash = "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10"}, - {file = "prompt_toolkit-3.0.47.tar.gz", hash = "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360"}, + {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, + {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, ] [package.dependencies] @@ -1827,18 +1827,18 @@ files = [ [[package]] name = "pydantic" -version = "2.9.1" +version = "2.9.2" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.9.1-py3-none-any.whl", hash = "sha256:7aff4db5fdf3cf573d4b3c30926a510a10e19a0774d38fc4967f78beb6deb612"}, - {file = "pydantic-2.9.1.tar.gz", hash = "sha256:1363c7d975c7036df0db2b4a61f2e062fbc0aa5ab5f2772e0ffc7191a4f4bce2"}, + {file = "pydantic-2.9.2-py3-none-any.whl", hash = "sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12"}, + {file = "pydantic-2.9.2.tar.gz", hash = "sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f"}, ] [package.dependencies] annotated-types = ">=0.6.0" -pydantic-core = "2.23.3" +pydantic-core = "2.23.4" typing-extensions = [ {version = ">=4.12.2", markers = "python_version >= \"3.13\""}, {version = ">=4.6.1", markers = "python_version < \"3.13\""}, @@ -1850,100 +1850,100 @@ timezone = ["tzdata"] [[package]] name = "pydantic-core" -version = "2.23.3" +version = "2.23.4" description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.23.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:7f10a5d1b9281392f1bf507d16ac720e78285dfd635b05737c3911637601bae6"}, - {file = "pydantic_core-2.23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3c09a7885dd33ee8c65266e5aa7fb7e2f23d49d8043f089989726391dd7350c5"}, - {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6470b5a1ec4d1c2e9afe928c6cb37eb33381cab99292a708b8cb9aa89e62429b"}, - {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9172d2088e27d9a185ea0a6c8cebe227a9139fd90295221d7d495944d2367700"}, - {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86fc6c762ca7ac8fbbdff80d61b2c59fb6b7d144aa46e2d54d9e1b7b0e780e01"}, - {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0cb80fd5c2df4898693aa841425ea1727b1b6d2167448253077d2a49003e0ed"}, - {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03667cec5daf43ac4995cefa8aaf58f99de036204a37b889c24a80927b629cec"}, - {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:047531242f8e9c2db733599f1c612925de095e93c9cc0e599e96cf536aaf56ba"}, - {file = "pydantic_core-2.23.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5499798317fff7f25dbef9347f4451b91ac2a4330c6669821c8202fd354c7bee"}, - {file = "pydantic_core-2.23.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bbb5e45eab7624440516ee3722a3044b83fff4c0372efe183fd6ba678ff681fe"}, - {file = "pydantic_core-2.23.3-cp310-none-win32.whl", hash = "sha256:8b5b3ed73abb147704a6e9f556d8c5cb078f8c095be4588e669d315e0d11893b"}, - {file = "pydantic_core-2.23.3-cp310-none-win_amd64.whl", hash = "sha256:2b603cde285322758a0279995b5796d64b63060bfbe214b50a3ca23b5cee3e83"}, - {file = "pydantic_core-2.23.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:c889fd87e1f1bbeb877c2ee56b63bb297de4636661cc9bbfcf4b34e5e925bc27"}, - {file = "pydantic_core-2.23.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ea85bda3189fb27503af4c45273735bcde3dd31c1ab17d11f37b04877859ef45"}, - {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7f7f72f721223f33d3dc98a791666ebc6a91fa023ce63733709f4894a7dc611"}, - {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b2b55b0448e9da68f56b696f313949cda1039e8ec7b5d294285335b53104b61"}, - {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c24574c7e92e2c56379706b9a3f07c1e0c7f2f87a41b6ee86653100c4ce343e5"}, - {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2b05e6ccbee333a8f4b8f4d7c244fdb7a979e90977ad9c51ea31261e2085ce0"}, - {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2c409ce1c219c091e47cb03feb3c4ed8c2b8e004efc940da0166aaee8f9d6c8"}, - {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d965e8b325f443ed3196db890d85dfebbb09f7384486a77461347f4adb1fa7f8"}, - {file = "pydantic_core-2.23.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f56af3a420fb1ffaf43ece3ea09c2d27c444e7c40dcb7c6e7cf57aae764f2b48"}, - {file = "pydantic_core-2.23.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5b01a078dd4f9a52494370af21aa52964e0a96d4862ac64ff7cea06e0f12d2c5"}, - {file = "pydantic_core-2.23.3-cp311-none-win32.whl", hash = "sha256:560e32f0df04ac69b3dd818f71339983f6d1f70eb99d4d1f8e9705fb6c34a5c1"}, - {file = "pydantic_core-2.23.3-cp311-none-win_amd64.whl", hash = "sha256:c744fa100fdea0d000d8bcddee95213d2de2e95b9c12be083370b2072333a0fa"}, - {file = "pydantic_core-2.23.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e0ec50663feedf64d21bad0809f5857bac1ce91deded203efc4a84b31b2e4305"}, - {file = "pydantic_core-2.23.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:db6e6afcb95edbe6b357786684b71008499836e91f2a4a1e55b840955b341dbb"}, - {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98ccd69edcf49f0875d86942f4418a4e83eb3047f20eb897bffa62a5d419c8fa"}, - {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a678c1ac5c5ec5685af0133262103defb427114e62eafeda12f1357a12140162"}, - {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01491d8b4d8db9f3391d93b0df60701e644ff0894352947f31fff3e52bd5c801"}, - {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fcf31facf2796a2d3b7fe338fe8640aa0166e4e55b4cb108dbfd1058049bf4cb"}, - {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7200fd561fb3be06827340da066df4311d0b6b8eb0c2116a110be5245dceb326"}, - {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc1636770a809dee2bd44dd74b89cc80eb41172bcad8af75dd0bc182c2666d4c"}, - {file = "pydantic_core-2.23.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:67a5def279309f2e23014b608c4150b0c2d323bd7bccd27ff07b001c12c2415c"}, - {file = "pydantic_core-2.23.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:748bdf985014c6dd3e1e4cc3db90f1c3ecc7246ff5a3cd4ddab20c768b2f1dab"}, - {file = "pydantic_core-2.23.3-cp312-none-win32.whl", hash = "sha256:255ec6dcb899c115f1e2a64bc9ebc24cc0e3ab097775755244f77360d1f3c06c"}, - {file = "pydantic_core-2.23.3-cp312-none-win_amd64.whl", hash = "sha256:40b8441be16c1e940abebed83cd006ddb9e3737a279e339dbd6d31578b802f7b"}, - {file = "pydantic_core-2.23.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6daaf5b1ba1369a22c8b050b643250e3e5efc6a78366d323294aee54953a4d5f"}, - {file = "pydantic_core-2.23.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d015e63b985a78a3d4ccffd3bdf22b7c20b3bbd4b8227809b3e8e75bc37f9cb2"}, - {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3fc572d9b5b5cfe13f8e8a6e26271d5d13f80173724b738557a8c7f3a8a3791"}, - {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f6bd91345b5163ee7448bee201ed7dd601ca24f43f439109b0212e296eb5b423"}, - {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc379c73fd66606628b866f661e8785088afe2adaba78e6bbe80796baf708a63"}, - {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbdce4b47592f9e296e19ac31667daed8753c8367ebb34b9a9bd89dacaa299c9"}, - {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc3cf31edf405a161a0adad83246568647c54404739b614b1ff43dad2b02e6d5"}, - {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8e22b477bf90db71c156f89a55bfe4d25177b81fce4aa09294d9e805eec13855"}, - {file = "pydantic_core-2.23.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:0a0137ddf462575d9bce863c4c95bac3493ba8e22f8c28ca94634b4a1d3e2bb4"}, - {file = "pydantic_core-2.23.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:203171e48946c3164fe7691fc349c79241ff8f28306abd4cad5f4f75ed80bc8d"}, - {file = "pydantic_core-2.23.3-cp313-none-win32.whl", hash = "sha256:76bdab0de4acb3f119c2a4bff740e0c7dc2e6de7692774620f7452ce11ca76c8"}, - {file = "pydantic_core-2.23.3-cp313-none-win_amd64.whl", hash = "sha256:37ba321ac2a46100c578a92e9a6aa33afe9ec99ffa084424291d84e456f490c1"}, - {file = "pydantic_core-2.23.3-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d063c6b9fed7d992bcbebfc9133f4c24b7a7f215d6b102f3e082b1117cddb72c"}, - {file = "pydantic_core-2.23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6cb968da9a0746a0cf521b2b5ef25fc5a0bee9b9a1a8214e0a1cfaea5be7e8a4"}, - {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edbefe079a520c5984e30e1f1f29325054b59534729c25b874a16a5048028d16"}, - {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cbaaf2ef20d282659093913da9d402108203f7cb5955020bd8d1ae5a2325d1c4"}, - {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb539d7e5dc4aac345846f290cf504d2fd3c1be26ac4e8b5e4c2b688069ff4cf"}, - {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e6f33503c5495059148cc486867e1d24ca35df5fc064686e631e314d959ad5b"}, - {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04b07490bc2f6f2717b10c3969e1b830f5720b632f8ae2f3b8b1542394c47a8e"}, - {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:03795b9e8a5d7fda05f3873efc3f59105e2dcff14231680296b87b80bb327295"}, - {file = "pydantic_core-2.23.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c483dab0f14b8d3f0df0c6c18d70b21b086f74c87ab03c59250dbf6d3c89baba"}, - {file = "pydantic_core-2.23.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8b2682038e255e94baf2c473dca914a7460069171ff5cdd4080be18ab8a7fd6e"}, - {file = "pydantic_core-2.23.3-cp38-none-win32.whl", hash = "sha256:f4a57db8966b3a1d1a350012839c6a0099f0898c56512dfade8a1fe5fb278710"}, - {file = "pydantic_core-2.23.3-cp38-none-win_amd64.whl", hash = "sha256:13dd45ba2561603681a2676ca56006d6dee94493f03d5cadc055d2055615c3ea"}, - {file = "pydantic_core-2.23.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:82da2f4703894134a9f000e24965df73cc103e31e8c31906cc1ee89fde72cbd8"}, - {file = "pydantic_core-2.23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dd9be0a42de08f4b58a3cc73a123f124f65c24698b95a54c1543065baca8cf0e"}, - {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89b731f25c80830c76fdb13705c68fef6a2b6dc494402987c7ea9584fe189f5d"}, - {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c6de1ec30c4bb94f3a69c9f5f2182baeda5b809f806676675e9ef6b8dc936f28"}, - {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb68b41c3fa64587412b104294b9cbb027509dc2f6958446c502638d481525ef"}, - {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c3980f2843de5184656aab58698011b42763ccba11c4a8c35936c8dd6c7068c"}, - {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94f85614f2cba13f62c3c6481716e4adeae48e1eaa7e8bac379b9d177d93947a"}, - {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:510b7fb0a86dc8f10a8bb43bd2f97beb63cffad1203071dc434dac26453955cd"}, - {file = "pydantic_core-2.23.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1eba2f7ce3e30ee2170410e2171867ea73dbd692433b81a93758ab2de6c64835"}, - {file = "pydantic_core-2.23.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4b259fd8409ab84b4041b7b3f24dcc41e4696f180b775961ca8142b5b21d0e70"}, - {file = "pydantic_core-2.23.3-cp39-none-win32.whl", hash = "sha256:40d9bd259538dba2f40963286009bf7caf18b5112b19d2b55b09c14dde6db6a7"}, - {file = "pydantic_core-2.23.3-cp39-none-win_amd64.whl", hash = "sha256:5a8cd3074a98ee70173a8633ad3c10e00dcb991ecec57263aacb4095c5efb958"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f399e8657c67313476a121a6944311fab377085ca7f490648c9af97fc732732d"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6b5547d098c76e1694ba85f05b595720d7c60d342f24d5aad32c3049131fa5c4"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0dda0290a6f608504882d9f7650975b4651ff91c85673341789a476b1159f211"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65b6e5da855e9c55a0c67f4db8a492bf13d8d3316a59999cfbaf98cc6e401961"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:09e926397f392059ce0afdcac920df29d9c833256354d0c55f1584b0b70cf07e"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:87cfa0ed6b8c5bd6ae8b66de941cece179281239d482f363814d2b986b79cedc"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e61328920154b6a44d98cabcb709f10e8b74276bc709c9a513a8c37a18786cc4"}, - {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce3317d155628301d649fe5e16a99528d5680af4ec7aa70b90b8dacd2d725c9b"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e89513f014c6be0d17b00a9a7c81b1c426f4eb9224b15433f3d98c1a071f8433"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:4f62c1c953d7ee375df5eb2e44ad50ce2f5aff931723b398b8bc6f0ac159791a"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2718443bc671c7ac331de4eef9b673063b10af32a0bb385019ad61dcf2cc8f6c"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0d90e08b2727c5d01af1b5ef4121d2f0c99fbee692c762f4d9d0409c9da6541"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b676583fc459c64146debea14ba3af54e540b61762dfc0613dc4e98c3f66eeb"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:50e4661f3337977740fdbfbae084ae5693e505ca2b3130a6d4eb0f2281dc43b8"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:68f4cf373f0de6abfe599a38307f4417c1c867ca381c03df27c873a9069cda25"}, - {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:59d52cf01854cb26c46958552a21acb10dd78a52aa34c86f284e66b209db8cab"}, - {file = "pydantic_core-2.23.3.tar.gz", hash = "sha256:3cb0f65d8b4121c1b015c60104a685feb929a29d7cf204387c7f2688c7974690"}, + {file = "pydantic_core-2.23.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b"}, + {file = "pydantic_core-2.23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f"}, + {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3"}, + {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071"}, + {file = "pydantic_core-2.23.4-cp310-none-win32.whl", hash = "sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119"}, + {file = "pydantic_core-2.23.4-cp310-none-win_amd64.whl", hash = "sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f"}, + {file = "pydantic_core-2.23.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8"}, + {file = "pydantic_core-2.23.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b"}, + {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0"}, + {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64"}, + {file = "pydantic_core-2.23.4-cp311-none-win32.whl", hash = "sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f"}, + {file = "pydantic_core-2.23.4-cp311-none-win_amd64.whl", hash = "sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3"}, + {file = "pydantic_core-2.23.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231"}, + {file = "pydantic_core-2.23.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126"}, + {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e"}, + {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24"}, + {file = "pydantic_core-2.23.4-cp312-none-win32.whl", hash = "sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84"}, + {file = "pydantic_core-2.23.4-cp312-none-win_amd64.whl", hash = "sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9"}, + {file = "pydantic_core-2.23.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc"}, + {file = "pydantic_core-2.23.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327"}, + {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6"}, + {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f"}, + {file = "pydantic_core-2.23.4-cp313-none-win32.whl", hash = "sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769"}, + {file = "pydantic_core-2.23.4-cp313-none-win_amd64.whl", hash = "sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5"}, + {file = "pydantic_core-2.23.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d4488a93b071c04dc20f5cecc3631fc78b9789dd72483ba15d423b5b3689b555"}, + {file = "pydantic_core-2.23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:81965a16b675b35e1d09dd14df53f190f9129c0202356ed44ab2728b1c905658"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffa2ebd4c8530079140dd2d7f794a9d9a73cbb8e9d59ffe24c63436efa8f271"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61817945f2fe7d166e75fbfb28004034b48e44878177fc54d81688e7b85a3665"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d2c342c4bc01b88402d60189f3df065fb0dda3654744d5a165a5288a657368"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e11661ce0fd30a6790e8bcdf263b9ec5988e95e63cf901972107efc49218b13"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d18368b137c6295db49ce7218b1a9ba15c5bc254c96d7c9f9e924a9bc7825ad"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec4e55f79b1c4ffb2eecd8a0cfba9955a2588497d96851f4c8f99aa4a1d39b12"}, + {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:374a5e5049eda9e0a44c696c7ade3ff355f06b1fe0bb945ea3cac2bc336478a2"}, + {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5c364564d17da23db1106787675fc7af45f2f7b58b4173bfdd105564e132e6fb"}, + {file = "pydantic_core-2.23.4-cp38-none-win32.whl", hash = "sha256:d7a80d21d613eec45e3d41eb22f8f94ddc758a6c4720842dc74c0581f54993d6"}, + {file = "pydantic_core-2.23.4-cp38-none-win_amd64.whl", hash = "sha256:5f5ff8d839f4566a474a969508fe1c5e59c31c80d9e140566f9a37bba7b8d556"}, + {file = "pydantic_core-2.23.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a4fa4fc04dff799089689f4fd502ce7d59de529fc2f40a2c8836886c03e0175a"}, + {file = "pydantic_core-2.23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a7df63886be5e270da67e0966cf4afbae86069501d35c8c1b3b6c168f42cb36"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcedcd19a557e182628afa1d553c3895a9f825b936415d0dbd3cd0bbcfd29b4b"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f54b118ce5de9ac21c363d9b3caa6c800341e8c47a508787e5868c6b79c9323"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86d2f57d3e1379a9525c5ab067b27dbb8a0642fb5d454e17a9ac434f9ce523e3"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de6d1d1b9e5101508cb37ab0d972357cac5235f5c6533d1071964c47139257df"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1278e0d324f6908e872730c9102b0112477a7f7cf88b308e4fc36ce1bdb6d58c"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a6b5099eeec78827553827f4c6b8615978bb4b6a88e5d9b93eddf8bb6790f55"}, + {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e55541f756f9b3ee346b840103f32779c695a19826a4c442b7954550a0972040"}, + {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a5c7ba8ffb6d6f8f2ab08743be203654bb1aaa8c9dcb09f82ddd34eadb695605"}, + {file = "pydantic_core-2.23.4-cp39-none-win32.whl", hash = "sha256:37b0fe330e4a58d3c58b24d91d1eb102aeec675a3db4c292ec3928ecd892a9a6"}, + {file = "pydantic_core-2.23.4-cp39-none-win_amd64.whl", hash = "sha256:1498bec4c05c9c787bde9125cfdcc63a41004ff167f495063191b863399b1a29"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:78ddaaa81421a29574a682b3179d4cf9e6d405a09b99d93ddcf7e5239c742e21"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:883a91b5dd7d26492ff2f04f40fbb652de40fcc0afe07e8129e8ae779c2110eb"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88ad334a15b32a791ea935af224b9de1bf99bcd62fabf745d5f3442199d86d59"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:233710f069d251feb12a56da21e14cca67994eab08362207785cf8c598e74577"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:19442362866a753485ba5e4be408964644dd6a09123d9416c54cd49171f50744"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:624e278a7d29b6445e4e813af92af37820fafb6dcc55c012c834f9e26f9aaaef"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5ef8f42bec47f21d07668a043f077d507e5bf4e668d5c6dfe6aaba89de1a5b8"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:aea443fffa9fbe3af1a9ba721a87f926fe548d32cab71d188a6ede77d0ff244e"}, + {file = "pydantic_core-2.23.4.tar.gz", hash = "sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863"}, ] [package.dependencies] @@ -3118,10 +3118,11 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", type = ["pytest-mypy"] [extras] +examples = ["jupyter"] legacy = ["pydub"] microphone = ["pydub", "simpleaudio", "sounddevice"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<4" -content-hash = "57f224588709bb4851d574103df63389191c95207cf5e1a2d2df4e19475a8a3f" +content-hash = "6c05f984cb5e08248fe440717430eba30a9ceff1f453583f6f7576cf65ca0979" diff --git a/pyproject.toml b/pyproject.toml index 3c8bf8d..a81b1c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,24 +1,9 @@ [tool.poetry] -authors = [] -classifiers = [ - "Intended Audience :: Developers", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Operating System :: OS Independent", - "Operating System :: POSIX", - "Operating System :: MacOS", - "Operating System :: POSIX :: Linux", - "Operating System :: Microsoft :: Windows", - "Topic :: Software Development :: Libraries :: Python Modules", - "Typing :: Typed", - "License :: OSI Approved :: MIT License", -] +name = "hume" +version = "0.6.1" description = "A Python SDK for Hume AI" +readme = "README.md" +authors = [] keywords = [ "hume", "ai", @@ -39,13 +24,30 @@ keywords = [ "expressive", "embeddings", "communication", - "learning", + "learning" ] license = "MIT" -name = "hume" -packages = [{ include = "hume", from = "src" }] -readme = "README.md" -version = "0.7.0-rc3" +classifiers = [ + "Intended Audience :: Developers", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Operating System :: OS Independent", + "Operating System :: POSIX", + "Operating System :: MacOS", + "Operating System :: POSIX :: Linux", + "Operating System :: Microsoft :: Windows", + "Topic :: Software Development :: Libraries :: Python Modules", + "Typing :: Typed", + "License :: OSI Approved :: MIT License" +] +packages = [ + { include = "hume", from = "src"} +] [project.urls] Documentation = 'https://dev.hume.ai' @@ -53,38 +55,38 @@ Homepage = 'https://www.hume.ai/' Repository = 'https://github.com/HumeAI/hume-python-sdk' [tool.poetry.dependencies] +python = ">=3.9,<4" aiofiles = "^24.1.0" eval-type-backport = "^0.2.0" httpx = ">=0.21.2" -jupyter = { version = "^1.0.0", optional = true } +jupyter = { version = "^1.0.0", optional = true} pydantic = ">= 1.9.2" pydantic-core = "^2.18.2" -pydub = { version = "^0.25.1", optional = true } -python = ">=3.9,<4" -simpleaudio = { version = "^1.0.4", optional = true } -sounddevice = { version = "^0.4.6", optional = true } +pydub = { version = "^0.25.1", optional = true} +simpleaudio = { version = "^1.0.4", optional = true} +sounddevice = { version = "^0.4.6", optional = true} typing_extensions = ">= 4.0.0" websockets = "12.0" [tool.poetry.dev-dependencies] -covcheck = { version = "^0.4.3", extras = ["toml"] } mypy = "1.0.1" +pytest = "^7.4.0" +pytest-asyncio = "^0.23.5" +python-dateutil = "^2.9.0" types-python-dateutil = "^2.9.0.20240316" +covcheck = { version = "^0.4.3", extras = ["toml"]} pydocstyle = "^6.1.1" pydub-stubs = "^0.25.1" pylint = "^2.16.2" -pytest = "^7.4.0" -pytest-asyncio = "^0.23.5" pytest-cov = "^4.0.0" -python-dateutil = "^2.9.0" ruff = "^0.5.6" semver = "^2.13.0" testbook = "^0.4.2" types-aiofiles = "^24.1.0.20240626" [tool.pytest.ini_options] +testpaths = [ "tests" ] asyncio_mode = "auto" -testpaths = ["tests"] [tool.mypy] plugins = ["pydantic.mypy"] @@ -92,10 +94,12 @@ plugins = ["pydantic.mypy"] [tool.ruff] line-length = 120 + [build-system] -build-backend = "poetry.core.masonry.api" requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" [tool.poetry.extras] -legacy = ["pydub"] -microphone = ["pydub", "simpleaudio", "sounddevice"] +examples=["jupyter"] +microphone=["pydub", "simpleaudio", "sounddevice"] +legacy=["pydub"] diff --git a/reference.md b/reference.md index 17e7c18..4b14e16 100644 --- a/reference.md +++ b/reference.md @@ -548,6 +548,22 @@ typing.List[core.File]` β€” See core.File for more documentation
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a paginated list of **Tools**. + +Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. +
+
+
+
+ #### πŸ”Œ Usage
@@ -642,6 +658,22 @@ For example, if `page_size` is set to 10, each page will include up to 10 items.
+#### πŸ“ Description + +
+
+ +
+
+ +Creates a **Tool** that can be added to an [EVI configuration](/reference/empathic-voice-interface-evi/configs/create-config). + +Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. +
+
+
+
+ #### πŸ”Œ Usage
@@ -738,6 +770,22 @@ These parameters define the inputs needed for the Tool’s execution, including
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a list of a **Tool's** versions. + +Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. +
+
+
+
+ #### πŸ”Œ Usage
@@ -826,6 +874,22 @@ For example, if `page_size` is set to 10, each page will include up to 10 items.
+#### πŸ“ Description + +
+
+ +
+
+ +Updates a **Tool** by creating a new version of the **Tool**. + +Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. +
+
+
+
+ #### πŸ”Œ Usage
@@ -922,6 +986,22 @@ These parameters define the inputs needed for the Tool’s execution, including
+#### πŸ“ Description + +
+
+ +
+
+ +Deletes a **Tool** and its versions. + +Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. +
+
+
+
+ #### πŸ”Œ Usage
@@ -978,6 +1058,22 @@ client.empathic_voice.tools.delete_tool(
+#### πŸ“ Description + +
+
+ +
+
+ +Updates the name of a **Tool**. + +Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1043,6 +1139,22 @@ client.empathic_voice.tools.update_tool_name(
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a specified version of a **Tool**. + +Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1114,6 +1226,22 @@ Version numbers are integer values representing different iterations of the Tool
+#### πŸ“ Description + +
+
+ +
+
+ +Deletes a specified version of a **Tool**. + +Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1185,6 +1313,22 @@ Version numbers are integer values representing different iterations of the Tool
+#### πŸ“ Description + +
+
+ +
+
+ +Updates the description of a specified **Tool** version. + +Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1266,6 +1410,22 @@ Version numbers are integer values representing different iterations of the Tool
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a paginated list of **Prompts**. + +See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1360,6 +1520,22 @@ For example, if `page_size` is set to 10, each page will include up to 10 items.
+#### πŸ“ Description + +
+
+ +
+
+ +Creates a **Prompt** that can be added to an [EVI configuration](/reference/empathic-voice-interface-evi/configs/create-config). + +See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1439,6 +1615,22 @@ For help writing a system prompt, see our [Prompting Guide](/docs/empathic-voice
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a list of a **Prompt's** versions. + +See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1527,6 +1719,22 @@ For example, if `page_size` is set to 10, each page will include up to 10 items.
+#### πŸ“ Description + +
+
+ +
+
+ +Updates a **Prompt** by creating a new version of the **Prompt**. + +See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1607,6 +1815,22 @@ For help writing a system prompt, see our [Prompting Guide](/docs/empathic-voice
+#### πŸ“ Description + +
+
+ +
+
+ +Deletes a **Prompt** and its versions. + +See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1663,6 +1887,22 @@ client.empathic_voice.prompts.delete_prompt(
+#### πŸ“ Description + +
+
+ +
+
+ +Updates the name of a **Prompt**. + +See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1728,6 +1968,22 @@ client.empathic_voice.prompts.update_prompt_name(
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a specified version of a **Prompt**. + +See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1799,6 +2055,22 @@ Version numbers are integer values representing different iterations of the Prom
+#### πŸ“ Description + +
+
+ +
+
+ +Deletes a specified version of a **Prompt**. + +See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1870,6 +2142,22 @@ Version numbers are integer values representing different iterations of the Prom
+#### πŸ“ Description + +
+
+ +
+
+ +Updates the description of a **Prompt**. + +See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. +
+
+
+
+ #### πŸ”Œ Usage
@@ -1947,11 +2235,11 @@ Version numbers are integer values representing different iterations of the Prom ## EmpathicVoice CustomVoices -
client.empathic_voice.custom_voices.get_return_custom_voices_for_user(...) +
client.empathic_voice.custom_voices.list_custom_voices(...)
-#### πŸ”Œ Usage +#### πŸ“ Description
@@ -1959,13 +2247,29 @@ Version numbers are integer values representing different iterations of the Prom
-```python -from hume import HumeClient +Fetches a paginated list of **Custom Voices**. + +Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. +
+
+
+
+ +#### πŸ”Œ Usage + +
+
+ +
+
+ +```python +from hume import HumeClient client = HumeClient( api_key="YOUR_API_KEY", ) -client.empathic_voice.custom_voices.get_return_custom_voices_for_user() +client.empathic_voice.custom_voices.list_custom_voices() ```
@@ -2025,10 +2329,26 @@ For example, if `page_size` is set to 10, each page will include up to 10 items.
-
client.empathic_voice.custom_voices.create_new_custom_voice(...) +
client.empathic_voice.custom_voices.create_custom_voice(...) +
+
+ +#### πŸ“ Description + +
+
+
+Creates a **Custom Voice** that can be added to an [EVI configuration](/reference/empathic-voice-interface-evi/configs/create-config). + +Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. +
+
+
+
+ #### πŸ”Œ Usage
@@ -2043,7 +2363,7 @@ from hume import HumeClient client = HumeClient( api_key="YOUR_API_KEY", ) -client.empathic_voice.custom_voices.create_new_custom_voice( +client.empathic_voice.custom_voices.create_custom_voice( name="name", base_voice="ITO", ) @@ -2102,10 +2422,26 @@ If no parameters are specified then all attributes will be set to their defaults
-
client.empathic_voice.custom_voices.get_return_custom_voice_by_custom_voice_id(...) +
client.empathic_voice.custom_voices.get_custom_voice(...) +
+
+ +#### πŸ“ Description +
+
+
+ +Fetches a specific **Custom Voice** by ID. + +Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. +
+
+
+
+ #### πŸ”Œ Usage
@@ -2120,7 +2456,7 @@ from hume import HumeClient client = HumeClient( api_key="YOUR_API_KEY", ) -client.empathic_voice.custom_voices.get_return_custom_voice_by_custom_voice_id( +client.empathic_voice.custom_voices.get_custom_voice( id="id", ) @@ -2158,10 +2494,26 @@ client.empathic_voice.custom_voices.get_return_custom_voice_by_custom_voice_id(
-
client.empathic_voice.custom_voices.add_new_custom_voice_version(...) +
client.empathic_voice.custom_voices.create_custom_voice_version(...) +
+
+ +#### πŸ“ Description + +
+
+
+Updates a **Custom Voice** by creating a new version of the **Custom Voice**. + +Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. +
+
+
+
+ #### πŸ”Œ Usage
@@ -2176,7 +2528,7 @@ from hume import HumeClient client = HumeClient( api_key="YOUR_API_KEY", ) -client.empathic_voice.custom_voices.add_new_custom_voice_version( +client.empathic_voice.custom_voices.create_custom_voice_version( id="id", name="name", base_voice="ITO", @@ -2248,6 +2600,22 @@ If no parameters are specified then all attributes will be set to their defaults
+#### πŸ“ Description + +
+
+ +
+
+ +Deletes a **Custom Voice** and its versions. + +Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. +
+
+
+
+ #### πŸ”Œ Usage
@@ -2304,6 +2672,22 @@ client.empathic_voice.custom_voices.delete_custom_voice(
+#### πŸ“ Description + +
+
+ +
+
+ +Updates the name of a **Custom Voice**. + +Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. +
+
+
+
+ #### πŸ”Œ Usage
@@ -2370,6 +2754,22 @@ client.empathic_voice.custom_voices.update_custom_voice_name(
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a paginated list of **Configs**. + +For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). +
+
+
+
+ #### πŸ”Œ Usage
@@ -2459,6 +2859,22 @@ For example, if `page_size` is set to 10, each page will include up to 10 items.
+#### πŸ“ Description + +
+
+ +
+
+ +Creates a **Config** which can be applied to EVI. + +For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). +
+
+
+
+ #### πŸ”Œ Usage
@@ -2637,6 +3053,22 @@ Hume's eLLM (empathic Large Language Model) is a multimodal language model that
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a list of a **Config's** versions. + +For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). +
+
+
+
+ #### πŸ”Œ Usage
@@ -2725,6 +3157,22 @@ For example, if `page_size` is set to 10, each page will include up to 10 items.
+#### πŸ“ Description + +
+
+ +
+
+ +Updates a **Config** by creating a new version of the **Config**. + +For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). +
+
+
+
+ #### πŸ”Œ Usage
@@ -2908,6 +3356,22 @@ Hume's eLLM (empathic Large Language Model) is a multimodal language model that
+#### πŸ“ Description + +
+
+ +
+
+ +Deletes a **Config** and its versions. + +For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). +
+
+
+
+ #### πŸ”Œ Usage
@@ -2964,6 +3428,22 @@ client.empathic_voice.configs.delete_config(
+#### πŸ“ Description + +
+
+ +
+
+ +Updates the name of a **Config**. + +For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). +
+
+
+
+ #### πŸ”Œ Usage
@@ -3029,6 +3509,22 @@ client.empathic_voice.configs.update_config_name(
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a specified version of a **Config**. + +For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). +
+
+
+
+ #### πŸ”Œ Usage
@@ -3100,6 +3596,22 @@ Version numbers are integer values representing different iterations of the Conf
+#### πŸ“ Description + +
+
+ +
+
+ +Deletes a specified version of a **Config**. + +For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). +
+
+
+
+ #### πŸ”Œ Usage
@@ -3171,6 +3683,22 @@ Version numbers are integer values representing different iterations of the Conf
+#### πŸ“ Description + +
+
+ +
+
+ +Updates the description of a **Config**. + +For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). +
+
+
+
+ #### πŸ”Œ Usage
@@ -3252,6 +3780,20 @@ Version numbers are integer values representing different iterations of the Conf
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a paginated list of **Chats**. +
+
+
+
+ #### πŸ”Œ Usage
@@ -3339,6 +3881,20 @@ For example, if `page_size` is set to 10, each page will include up to 10 items.
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a paginated list of **Chat** events. +
+
+
+
+ #### πŸ”Œ Usage
@@ -3436,6 +3992,20 @@ This parameter uses zero-based indexing. For example, setting `page_number` to 0
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a paginated list of **Chat Groups**. +
+
+
+
+ #### πŸ”Œ Usage
@@ -3523,6 +4093,111 @@ Filter Chat Groups to only include Chats that used this `config_id` in their mos
+
+
+
+ +
client.empathic_voice.chat_groups.get_chat_group(...) +
+
+ +#### πŸ“ Description + +
+
+ +
+
+ +Fetches a **ChatGroup** by ID, including a paginated list of **Chats** associated with the **ChatGroup**. +
+
+
+
+ +#### πŸ”Œ Usage + +
+
+ +
+
+ +```python +from hume import HumeClient + +client = HumeClient( + api_key="YOUR_API_KEY", +) +client.empathic_voice.chat_groups.get_chat_group( + id="697056f0-6c7e-487d-9bd8-9c19df79f05f", + page_number=0, + page_size=1, + ascending_order=True, +) + +``` +
+
+
+
+ +#### βš™οΈ Parameters + +
+
+ +
+
+ +**id:** `str` β€” Identifier for a Chat Group. Formatted as a UUID. + +
+
+ +
+
+ +**page_size:** `typing.Optional[int]` + +Specifies the maximum number of results to include per page, enabling pagination. The value must be between 1 and 100, inclusive. + +For example, if `page_size` is set to 10, each page will include up to 10 items. Defaults to 10. + +
+
+ +
+
+ +**page_number:** `typing.Optional[int]` + +Specifies the page number to retrieve, enabling pagination. + +This parameter uses zero-based indexing. For example, setting `page_number` to 0 retrieves the first page of results (items 0-9 if `page_size` is 10), setting `page_number` to 1 retrieves the second page (items 10-19), and so on. Defaults to 0, which retrieves the first page. + +
+
+ +
+
+ +**ascending_order:** `typing.Optional[bool]` β€” Specifies the sorting order of the results based on their creation date. Set to true for ascending order (chronological, with the oldest records first) and false for descending order (reverse-chronological, with the newest records first). Defaults to true. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` β€” Request-specific configuration. + +
+
+
+
+ +
@@ -3531,6 +4206,20 @@ Filter Chat Groups to only include Chats that used this `config_id` in their mos
+#### πŸ“ Description + +
+
+ +
+
+ +Fetches a paginated list of **Chat** events associated with a **Chat Group**. +
+
+
+
+ #### πŸ”Œ Usage
diff --git a/src/hume/empathic_voice/__init__.py b/src/hume/empathic_voice/__init__.py index bbfa711..0a7afe1 100644 --- a/src/hume/empathic_voice/__init__.py +++ b/src/hume/empathic_voice/__init__.py @@ -55,6 +55,7 @@ ReturnChatEventType, ReturnChatGroup, ReturnChatGroupPagedChats, + ReturnChatGroupPagedChatsPaginationDirection, ReturnChatGroupPagedEvents, ReturnChatGroupPagedEventsPaginationDirection, ReturnChatPagedEvents, @@ -166,6 +167,7 @@ "ReturnChatEventType", "ReturnChatGroup", "ReturnChatGroupPagedChats", + "ReturnChatGroupPagedChatsPaginationDirection", "ReturnChatGroupPagedEvents", "ReturnChatGroupPagedEventsPaginationDirection", "ReturnChatPagedEvents", diff --git a/src/hume/empathic_voice/chat_groups/client.py b/src/hume/empathic_voice/chat_groups/client.py index 70d2459..5e440db 100644 --- a/src/hume/empathic_voice/chat_groups/client.py +++ b/src/hume/empathic_voice/chat_groups/client.py @@ -9,8 +9,9 @@ from ..types.error_response import ErrorResponse from json.decoder import JSONDecodeError from ...core.api_error import ApiError -from ..types.return_chat_group_paged_events import ReturnChatGroupPagedEvents +from ..types.return_chat_group_paged_chats import ReturnChatGroupPagedChats from ...core.jsonable_encoder import jsonable_encoder +from ..types.return_chat_group_paged_events import ReturnChatGroupPagedEvents from ...core.client_wrapper import AsyncClientWrapper @@ -28,6 +29,8 @@ def list_chat_groups( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnPagedChatGroups: """ + Fetches a paginated list of **Chat Groups**. + Parameters ---------- page_number : typing.Optional[int] @@ -105,6 +108,92 @@ def list_chat_groups( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + def get_chat_group( + self, + id: str, + *, + page_size: typing.Optional[int] = None, + page_number: typing.Optional[int] = None, + ascending_order: typing.Optional[bool] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> ReturnChatGroupPagedChats: + """ + Fetches a **ChatGroup** by ID, including a paginated list of **Chats** associated with the **ChatGroup**. + + Parameters + ---------- + id : str + Identifier for a Chat Group. Formatted as a UUID. + + page_size : typing.Optional[int] + Specifies the maximum number of results to include per page, enabling pagination. The value must be between 1 and 100, inclusive. + + For example, if `page_size` is set to 10, each page will include up to 10 items. Defaults to 10. + + page_number : typing.Optional[int] + Specifies the page number to retrieve, enabling pagination. + + This parameter uses zero-based indexing. For example, setting `page_number` to 0 retrieves the first page of results (items 0-9 if `page_size` is 10), setting `page_number` to 1 retrieves the second page (items 10-19), and so on. Defaults to 0, which retrieves the first page. + + ascending_order : typing.Optional[bool] + Specifies the sorting order of the results based on their creation date. Set to true for ascending order (chronological, with the oldest records first) and false for descending order (reverse-chronological, with the newest records first). Defaults to true. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + ReturnChatGroupPagedChats + Success + + Examples + -------- + from hume import HumeClient + + client = HumeClient( + api_key="YOUR_API_KEY", + ) + client.empathic_voice.chat_groups.get_chat_group( + id="697056f0-6c7e-487d-9bd8-9c19df79f05f", + page_number=0, + page_size=1, + ascending_order=True, + ) + """ + _response = self._client_wrapper.httpx_client.request( + f"v0/evi/chat_groups/{jsonable_encoder(id)}", + method="GET", + params={ + "page_size": page_size, + "page_number": page_number, + "ascending_order": ascending_order, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return typing.cast( + ReturnChatGroupPagedChats, + parse_obj_as( + type_=ReturnChatGroupPagedChats, # type: ignore + object_=_response.json(), + ), + ) + if _response.status_code == 400: + raise BadRequestError( + typing.cast( + ErrorResponse, + parse_obj_as( + type_=ErrorResponse, # type: ignore + object_=_response.json(), + ), + ) + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + def list_chat_group_events( self, id: str, @@ -115,6 +204,8 @@ def list_chat_group_events( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnChatGroupPagedEvents: """ + Fetches a paginated list of **Chat** events associated with a **Chat Group**. + Parameters ---------- id : str @@ -204,6 +295,8 @@ async def list_chat_groups( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnPagedChatGroups: """ + Fetches a paginated list of **Chat Groups**. + Parameters ---------- page_number : typing.Optional[int] @@ -289,6 +382,100 @@ async def main() -> None: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + async def get_chat_group( + self, + id: str, + *, + page_size: typing.Optional[int] = None, + page_number: typing.Optional[int] = None, + ascending_order: typing.Optional[bool] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> ReturnChatGroupPagedChats: + """ + Fetches a **ChatGroup** by ID, including a paginated list of **Chats** associated with the **ChatGroup**. + + Parameters + ---------- + id : str + Identifier for a Chat Group. Formatted as a UUID. + + page_size : typing.Optional[int] + Specifies the maximum number of results to include per page, enabling pagination. The value must be between 1 and 100, inclusive. + + For example, if `page_size` is set to 10, each page will include up to 10 items. Defaults to 10. + + page_number : typing.Optional[int] + Specifies the page number to retrieve, enabling pagination. + + This parameter uses zero-based indexing. For example, setting `page_number` to 0 retrieves the first page of results (items 0-9 if `page_size` is 10), setting `page_number` to 1 retrieves the second page (items 10-19), and so on. Defaults to 0, which retrieves the first page. + + ascending_order : typing.Optional[bool] + Specifies the sorting order of the results based on their creation date. Set to true for ascending order (chronological, with the oldest records first) and false for descending order (reverse-chronological, with the newest records first). Defaults to true. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + ReturnChatGroupPagedChats + Success + + Examples + -------- + import asyncio + + from hume import AsyncHumeClient + + client = AsyncHumeClient( + api_key="YOUR_API_KEY", + ) + + + async def main() -> None: + await client.empathic_voice.chat_groups.get_chat_group( + id="697056f0-6c7e-487d-9bd8-9c19df79f05f", + page_number=0, + page_size=1, + ascending_order=True, + ) + + + asyncio.run(main()) + """ + _response = await self._client_wrapper.httpx_client.request( + f"v0/evi/chat_groups/{jsonable_encoder(id)}", + method="GET", + params={ + "page_size": page_size, + "page_number": page_number, + "ascending_order": ascending_order, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return typing.cast( + ReturnChatGroupPagedChats, + parse_obj_as( + type_=ReturnChatGroupPagedChats, # type: ignore + object_=_response.json(), + ), + ) + if _response.status_code == 400: + raise BadRequestError( + typing.cast( + ErrorResponse, + parse_obj_as( + type_=ErrorResponse, # type: ignore + object_=_response.json(), + ), + ) + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + async def list_chat_group_events( self, id: str, @@ -299,6 +486,8 @@ async def list_chat_group_events( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnChatGroupPagedEvents: """ + Fetches a paginated list of **Chat** events associated with a **Chat Group**. + Parameters ---------- id : str diff --git a/src/hume/empathic_voice/chats/client.py b/src/hume/empathic_voice/chats/client.py index c365c6a..579ec83 100644 --- a/src/hume/empathic_voice/chats/client.py +++ b/src/hume/empathic_voice/chats/client.py @@ -31,6 +31,8 @@ def list_chats( request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[ReturnChat]: """ + Fetches a paginated list of **Chats**. + Parameters ---------- page_number : typing.Optional[int] @@ -126,6 +128,8 @@ def list_chat_events( request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[ReturnChatEvent]: """ + Fetches a paginated list of **Chat** events. + Parameters ---------- id : str @@ -230,6 +234,8 @@ async def list_chats( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[ReturnChat]: """ + Fetches a paginated list of **Chats**. + Parameters ---------- page_number : typing.Optional[int] @@ -333,6 +339,8 @@ async def list_chat_events( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[ReturnChatEvent]: """ + Fetches a paginated list of **Chat** events. + Parameters ---------- id : str diff --git a/src/hume/empathic_voice/configs/client.py b/src/hume/empathic_voice/configs/client.py index 06d95c6..7c68bdc 100644 --- a/src/hume/empathic_voice/configs/client.py +++ b/src/hume/empathic_voice/configs/client.py @@ -40,6 +40,10 @@ def list_configs( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnPagedConfigs: """ + Fetches a paginated list of **Configs**. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- page_number : typing.Optional[int] @@ -130,6 +134,10 @@ def create_config( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnConfig: """ + Creates a **Config** which can be applied to EVI. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- evi_version : str @@ -292,6 +300,10 @@ def list_config_versions( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnPagedConfigs: """ + Fetches a list of a **Config's** versions. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -380,6 +392,10 @@ def create_config_version( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnConfig: """ + Updates a **Config** by creating a new version of the **Config**. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -538,6 +554,10 @@ def create_config_version( def delete_config(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None: """ + Deletes a **Config** and its versions. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -586,6 +606,10 @@ def delete_config(self, id: str, *, request_options: typing.Optional[RequestOpti def update_config_name(self, id: str, *, name: str, request_options: typing.Optional[RequestOptions] = None) -> str: """ + Updates the name of a **Config**. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -645,6 +669,10 @@ def get_config_version( self, id: str, version: int, *, request_options: typing.Optional[RequestOptions] = None ) -> ReturnConfig: """ + Fetches a specified version of a **Config**. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -710,6 +738,10 @@ def delete_config_version( self, id: str, version: int, *, request_options: typing.Optional[RequestOptions] = None ) -> None: """ + Deletes a specified version of a **Config**. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -773,6 +805,10 @@ def update_config_description( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnConfig: """ + Updates the description of a **Config**. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -857,6 +893,10 @@ async def list_configs( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnPagedConfigs: """ + Fetches a paginated list of **Configs**. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- page_number : typing.Optional[int] @@ -955,6 +995,10 @@ async def create_config( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnConfig: """ + Creates a **Config** which can be applied to EVI. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- evi_version : str @@ -1125,6 +1169,10 @@ async def list_config_versions( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnPagedConfigs: """ + Fetches a list of a **Config's** versions. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -1221,6 +1269,10 @@ async def create_config_version( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnConfig: """ + Updates a **Config** by creating a new version of the **Config**. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -1387,6 +1439,10 @@ async def main() -> None: async def delete_config(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None: """ + Deletes a **Config** and its versions. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -1445,6 +1501,10 @@ async def update_config_name( self, id: str, *, name: str, request_options: typing.Optional[RequestOptions] = None ) -> str: """ + Updates the name of a **Config**. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -1512,6 +1572,10 @@ async def get_config_version( self, id: str, version: int, *, request_options: typing.Optional[RequestOptions] = None ) -> ReturnConfig: """ + Fetches a specified version of a **Config**. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -1585,6 +1649,10 @@ async def delete_config_version( self, id: str, version: int, *, request_options: typing.Optional[RequestOptions] = None ) -> None: """ + Deletes a specified version of a **Config**. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str @@ -1656,6 +1724,10 @@ async def update_config_description( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnConfig: """ + Updates the description of a **Config**. + + For more details on configuration options and how to configure EVI, see our [configuration guide](/docs/empathic-voice-interface-evi/configuration). + Parameters ---------- id : str diff --git a/src/hume/empathic_voice/custom_voices/client.py b/src/hume/empathic_voice/custom_voices/client.py index 8a47202..870e6bb 100644 --- a/src/hume/empathic_voice/custom_voices/client.py +++ b/src/hume/empathic_voice/custom_voices/client.py @@ -24,7 +24,7 @@ class CustomVoicesClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper - def get_return_custom_voices_for_user( + def list_custom_voices( self, *, page_number: typing.Optional[int] = None, @@ -33,6 +33,10 @@ def get_return_custom_voices_for_user( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnPagedCustomVoices: """ + Fetches a paginated list of **Custom Voices**. + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. + Parameters ---------- page_number : typing.Optional[int] @@ -63,7 +67,7 @@ def get_return_custom_voices_for_user( client = HumeClient( api_key="YOUR_API_KEY", ) - client.empathic_voice.custom_voices.get_return_custom_voices_for_user() + client.empathic_voice.custom_voices.list_custom_voices() """ _response = self._client_wrapper.httpx_client.request( "v0/evi/custom_voices", @@ -99,7 +103,7 @@ def get_return_custom_voices_for_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_new_custom_voice( + def create_custom_voice( self, *, name: str, @@ -108,6 +112,10 @@ def create_new_custom_voice( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnCustomVoice: """ + Creates a **Custom Voice** that can be added to an [EVI configuration](/reference/empathic-voice-interface-evi/configs/create-config). + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. + Parameters ---------- name : str @@ -136,7 +144,7 @@ def create_new_custom_voice( client = HumeClient( api_key="YOUR_API_KEY", ) - client.empathic_voice.custom_voices.create_new_custom_voice( + client.empathic_voice.custom_voices.create_custom_voice( name="name", base_voice="ITO", ) @@ -179,10 +187,14 @@ def create_new_custom_voice( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_return_custom_voice_by_custom_voice_id( + def get_custom_voice( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> ReturnCustomVoice: """ + Fetches a specific **Custom Voice** by ID. + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. + Parameters ---------- id : str @@ -203,7 +215,7 @@ def get_return_custom_voice_by_custom_voice_id( client = HumeClient( api_key="YOUR_API_KEY", ) - client.empathic_voice.custom_voices.get_return_custom_voice_by_custom_voice_id( + client.empathic_voice.custom_voices.get_custom_voice( id="id", ) """ @@ -236,7 +248,7 @@ def get_return_custom_voice_by_custom_voice_id( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def add_new_custom_voice_version( + def create_custom_voice_version( self, id: str, *, @@ -246,6 +258,10 @@ def add_new_custom_voice_version( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnCustomVoice: """ + Updates a **Custom Voice** by creating a new version of the **Custom Voice**. + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. + Parameters ---------- id : str @@ -277,7 +293,7 @@ def add_new_custom_voice_version( client = HumeClient( api_key="YOUR_API_KEY", ) - client.empathic_voice.custom_voices.add_new_custom_voice_version( + client.empathic_voice.custom_voices.create_custom_voice_version( id="id", name="name", base_voice="ITO", @@ -323,6 +339,10 @@ def add_new_custom_voice_version( def delete_custom_voice(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None: """ + Deletes a **Custom Voice** and its versions. + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. + Parameters ---------- id : str @@ -373,6 +393,10 @@ def update_custom_voice_name( self, id: str, *, name: str, request_options: typing.Optional[RequestOptions] = None ) -> str: """ + Updates the name of a **Custom Voice**. + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. + Parameters ---------- id : str @@ -433,7 +457,7 @@ class AsyncCustomVoicesClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def get_return_custom_voices_for_user( + async def list_custom_voices( self, *, page_number: typing.Optional[int] = None, @@ -442,6 +466,10 @@ async def get_return_custom_voices_for_user( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnPagedCustomVoices: """ + Fetches a paginated list of **Custom Voices**. + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. + Parameters ---------- page_number : typing.Optional[int] @@ -477,7 +505,7 @@ async def get_return_custom_voices_for_user( async def main() -> None: - await client.empathic_voice.custom_voices.get_return_custom_voices_for_user() + await client.empathic_voice.custom_voices.list_custom_voices() asyncio.run(main()) @@ -516,7 +544,7 @@ async def main() -> None: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_new_custom_voice( + async def create_custom_voice( self, *, name: str, @@ -525,6 +553,10 @@ async def create_new_custom_voice( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnCustomVoice: """ + Creates a **Custom Voice** that can be added to an [EVI configuration](/reference/empathic-voice-interface-evi/configs/create-config). + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. + Parameters ---------- name : str @@ -558,7 +590,7 @@ async def create_new_custom_voice( async def main() -> None: - await client.empathic_voice.custom_voices.create_new_custom_voice( + await client.empathic_voice.custom_voices.create_custom_voice( name="name", base_voice="ITO", ) @@ -604,10 +636,14 @@ async def main() -> None: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_return_custom_voice_by_custom_voice_id( + async def get_custom_voice( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> ReturnCustomVoice: """ + Fetches a specific **Custom Voice** by ID. + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. + Parameters ---------- id : str @@ -633,7 +669,7 @@ async def get_return_custom_voice_by_custom_voice_id( async def main() -> None: - await client.empathic_voice.custom_voices.get_return_custom_voice_by_custom_voice_id( + await client.empathic_voice.custom_voices.get_custom_voice( id="id", ) @@ -669,7 +705,7 @@ async def main() -> None: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def add_new_custom_voice_version( + async def create_custom_voice_version( self, id: str, *, @@ -679,6 +715,10 @@ async def add_new_custom_voice_version( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnCustomVoice: """ + Updates a **Custom Voice** by creating a new version of the **Custom Voice**. + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. + Parameters ---------- id : str @@ -715,7 +755,7 @@ async def add_new_custom_voice_version( async def main() -> None: - await client.empathic_voice.custom_voices.add_new_custom_voice_version( + await client.empathic_voice.custom_voices.create_custom_voice_version( id="id", name="name", base_voice="ITO", @@ -764,6 +804,10 @@ async def main() -> None: async def delete_custom_voice(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None: """ + Deletes a **Custom Voice** and its versions. + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. + Parameters ---------- id : str @@ -822,6 +866,10 @@ async def update_custom_voice_name( self, id: str, *, name: str, request_options: typing.Optional[RequestOptions] = None ) -> str: """ + Updates the name of a **Custom Voice**. + + Refer to our [voices guide](/docs/empathic-voice-interface-evi/voices) for details on creating a custom voice. + Parameters ---------- id : str diff --git a/src/hume/empathic_voice/prompts/client.py b/src/hume/empathic_voice/prompts/client.py index b222b5c..3a91790 100644 --- a/src/hume/empathic_voice/prompts/client.py +++ b/src/hume/empathic_voice/prompts/client.py @@ -33,6 +33,10 @@ def list_prompts( request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[typing.Optional[ReturnPrompt]]: """ + Fetches a paginated list of **Prompts**. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- page_number : typing.Optional[int] @@ -131,6 +135,10 @@ def create_prompt( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[ReturnPrompt]: """ + Creates a **Prompt** that can be added to an [EVI configuration](/reference/empathic-voice-interface-evi/configs/create-config). + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- name : str @@ -211,6 +219,10 @@ def list_prompt_versions( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnPagedPrompts: """ + Fetches a list of a **Prompt's** versions. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -291,6 +303,10 @@ def create_prompt_verison( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[ReturnPrompt]: """ + Updates a **Prompt** by creating a new version of the **Prompt**. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -363,6 +379,10 @@ def create_prompt_verison( def delete_prompt(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None: """ + Deletes a **Prompt** and its versions. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -411,6 +431,10 @@ def delete_prompt(self, id: str, *, request_options: typing.Optional[RequestOpti def update_prompt_name(self, id: str, *, name: str, request_options: typing.Optional[RequestOptions] = None) -> str: """ + Updates the name of a **Prompt**. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -470,6 +494,10 @@ def get_prompt_version( self, id: str, version: int, *, request_options: typing.Optional[RequestOptions] = None ) -> typing.Optional[ReturnPrompt]: """ + Fetches a specified version of a **Prompt**. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -535,6 +563,10 @@ def delete_prompt_version( self, id: str, version: int, *, request_options: typing.Optional[RequestOptions] = None ) -> None: """ + Deletes a specified version of a **Prompt**. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -598,6 +630,10 @@ def update_prompt_description( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[ReturnPrompt]: """ + Updates the description of a **Prompt**. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -682,6 +718,10 @@ async def list_prompts( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[typing.Optional[ReturnPrompt]]: """ + Fetches a paginated list of **Prompts**. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- page_number : typing.Optional[int] @@ -788,6 +828,10 @@ async def create_prompt( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[ReturnPrompt]: """ + Creates a **Prompt** that can be added to an [EVI configuration](/reference/empathic-voice-interface-evi/configs/create-config). + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- name : str @@ -876,6 +920,10 @@ async def list_prompt_versions( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnPagedPrompts: """ + Fetches a list of a **Prompt's** versions. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -964,6 +1012,10 @@ async def create_prompt_verison( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[ReturnPrompt]: """ + Updates a **Prompt** by creating a new version of the **Prompt**. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -1044,6 +1096,10 @@ async def main() -> None: async def delete_prompt(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None: """ + Deletes a **Prompt** and its versions. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -1102,6 +1158,10 @@ async def update_prompt_name( self, id: str, *, name: str, request_options: typing.Optional[RequestOptions] = None ) -> str: """ + Updates the name of a **Prompt**. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -1169,6 +1229,10 @@ async def get_prompt_version( self, id: str, version: int, *, request_options: typing.Optional[RequestOptions] = None ) -> typing.Optional[ReturnPrompt]: """ + Fetches a specified version of a **Prompt**. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -1242,6 +1306,10 @@ async def delete_prompt_version( self, id: str, version: int, *, request_options: typing.Optional[RequestOptions] = None ) -> None: """ + Deletes a specified version of a **Prompt**. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str @@ -1313,6 +1381,10 @@ async def update_prompt_description( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[ReturnPrompt]: """ + Updates the description of a **Prompt**. + + See our [prompting guide](/docs/empathic-voice-interface-evi/phone-calling) for tips on crafting your system prompt. + Parameters ---------- id : str diff --git a/src/hume/empathic_voice/tools/client.py b/src/hume/empathic_voice/tools/client.py index 83c50ff..0a47679 100644 --- a/src/hume/empathic_voice/tools/client.py +++ b/src/hume/empathic_voice/tools/client.py @@ -33,6 +33,10 @@ def list_tools( request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[typing.Optional[ReturnUserDefinedTool]]: """ + Fetches a paginated list of **Tools**. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- page_number : typing.Optional[int] @@ -133,6 +137,10 @@ def create_tool( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[ReturnUserDefinedTool]: """ + Creates a **Tool** that can be added to an [EVI configuration](/reference/empathic-voice-interface-evi/configs/create-config). + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- name : str @@ -222,6 +230,10 @@ def list_tool_versions( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnPagedUserDefinedTools: """ + Fetches a list of a **Tool's** versions. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -304,6 +316,10 @@ def create_tool_version( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[ReturnUserDefinedTool]: """ + Updates a **Tool** by creating a new version of the **Tool**. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -384,6 +400,10 @@ def create_tool_version( def delete_tool(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None: """ + Deletes a **Tool** and its versions. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -432,6 +452,10 @@ def delete_tool(self, id: str, *, request_options: typing.Optional[RequestOption def update_tool_name(self, id: str, *, name: str, request_options: typing.Optional[RequestOptions] = None) -> str: """ + Updates the name of a **Tool**. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -491,6 +515,10 @@ def get_tool_version( self, id: str, version: int, *, request_options: typing.Optional[RequestOptions] = None ) -> typing.Optional[ReturnUserDefinedTool]: """ + Fetches a specified version of a **Tool**. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -556,6 +584,10 @@ def delete_tool_version( self, id: str, version: int, *, request_options: typing.Optional[RequestOptions] = None ) -> None: """ + Deletes a specified version of a **Tool**. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -619,6 +651,10 @@ def update_tool_description( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[ReturnUserDefinedTool]: """ + Updates the description of a specified **Tool** version. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -703,6 +739,10 @@ async def list_tools( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[typing.Optional[ReturnUserDefinedTool]]: """ + Fetches a paginated list of **Tools**. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- page_number : typing.Optional[int] @@ -811,6 +851,10 @@ async def create_tool( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[ReturnUserDefinedTool]: """ + Creates a **Tool** that can be added to an [EVI configuration](/reference/empathic-voice-interface-evi/configs/create-config). + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- name : str @@ -908,6 +952,10 @@ async def list_tool_versions( request_options: typing.Optional[RequestOptions] = None, ) -> ReturnPagedUserDefinedTools: """ + Fetches a list of a **Tool's** versions. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -998,6 +1046,10 @@ async def create_tool_version( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[ReturnUserDefinedTool]: """ + Updates a **Tool** by creating a new version of the **Tool**. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -1086,6 +1138,10 @@ async def main() -> None: async def delete_tool(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None: """ + Deletes a **Tool** and its versions. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -1144,6 +1200,10 @@ async def update_tool_name( self, id: str, *, name: str, request_options: typing.Optional[RequestOptions] = None ) -> str: """ + Updates the name of a **Tool**. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -1211,6 +1271,10 @@ async def get_tool_version( self, id: str, version: int, *, request_options: typing.Optional[RequestOptions] = None ) -> typing.Optional[ReturnUserDefinedTool]: """ + Fetches a specified version of a **Tool**. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -1284,6 +1348,10 @@ async def delete_tool_version( self, id: str, version: int, *, request_options: typing.Optional[RequestOptions] = None ) -> None: """ + Deletes a specified version of a **Tool**. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str @@ -1355,6 +1423,10 @@ async def update_tool_description( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[ReturnUserDefinedTool]: """ + Updates the description of a specified **Tool** version. + + Refer to our [tool use](/docs/empathic-voice-interface-evi/tool-use#function-calling) guide for comprehensive instructions on defining and integrating tools into EVI. + Parameters ---------- id : str diff --git a/src/hume/empathic_voice/types/__init__.py b/src/hume/empathic_voice/types/__init__.py index 67704b0..491de37 100644 --- a/src/hume/empathic_voice/types/__init__.py +++ b/src/hume/empathic_voice/types/__init__.py @@ -54,6 +54,7 @@ from .return_chat_event_type import ReturnChatEventType from .return_chat_group import ReturnChatGroup from .return_chat_group_paged_chats import ReturnChatGroupPagedChats +from .return_chat_group_paged_chats_pagination_direction import ReturnChatGroupPagedChatsPaginationDirection from .return_chat_group_paged_events import ReturnChatGroupPagedEvents from .return_chat_group_paged_events_pagination_direction import ReturnChatGroupPagedEventsPaginationDirection from .return_chat_paged_events import ReturnChatPagedEvents @@ -159,6 +160,7 @@ "ReturnChatEventType", "ReturnChatGroup", "ReturnChatGroupPagedChats", + "ReturnChatGroupPagedChatsPaginationDirection", "ReturnChatGroupPagedEvents", "ReturnChatGroupPagedEventsPaginationDirection", "ReturnChatPagedEvents", diff --git a/src/hume/empathic_voice/types/return_chat_group.py b/src/hume/empathic_voice/types/return_chat_group.py index a6c5afa..a411ba1 100644 --- a/src/hume/empathic_voice/types/return_chat_group.py +++ b/src/hume/empathic_voice/types/return_chat_group.py @@ -36,7 +36,10 @@ class ReturnChatGroup(UniversalBaseModel): The total number of Chats in this Chat Group. """ - active: typing.Optional[bool] = None + active: typing.Optional[bool] = pydantic.Field(default=None) + """ + Denotes whether there is an active Chat associated with this Chat Group. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/hume/empathic_voice/types/return_chat_group_paged_chats.py b/src/hume/empathic_voice/types/return_chat_group_paged_chats.py index bd58853..85ed02a 100644 --- a/src/hume/empathic_voice/types/return_chat_group_paged_chats.py +++ b/src/hume/empathic_voice/types/return_chat_group_paged_chats.py @@ -2,6 +2,7 @@ from ...core.pydantic_utilities import UniversalBaseModel import pydantic +from .return_chat_group_paged_chats_pagination_direction import ReturnChatGroupPagedChatsPaginationDirection import typing from .return_chat import ReturnChat from ...core.pydantic_utilities import IS_PYDANTIC_V2 @@ -14,50 +15,59 @@ class ReturnChatGroupPagedChats(UniversalBaseModel): id: str = pydantic.Field() """ - Identifier for the chat group. Any chat resumed from this chat will have the same chat_group_id. Formatted as a UUID. + Identifier for the Chat Group. Any Chat resumed from this Chat Group will have the same `chat_group_id`. Formatted as a UUID. """ first_start_timestamp: int = pydantic.Field() """ - The timestamp when the first chat in this chat group started, formatted as a Unix epoch milliseconds. + Time at which the first Chat in this Chat Group was created. Measured in seconds since the Unix epoch. """ most_recent_start_timestamp: int = pydantic.Field() """ - The timestamp when the most recent chat in this chat group started, formatted as a Unix epoch milliseconds. + Time at which the most recent Chat in this Chat Group was created. Measured in seconds since the Unix epoch. """ num_chats: int = pydantic.Field() """ - The total number of chats in this chat group. + The total number of Chats associated with this Chat Group. """ page_number: int = pydantic.Field() """ - The page number of the returned results. + The page number of the returned list. + + This value corresponds to the `page_number` parameter specified in the request. Pagination uses zero-based indexing. """ page_size: int = pydantic.Field() """ - The number of results returned per page. + The maximum number of items returned per page. + + This value corresponds to the `page_size` parameter specified in the request. """ total_pages: int = pydantic.Field() """ - The total number of pages in the collection + The total number of pages in the collection. """ - pagination_direction: str = pydantic.Field() + pagination_direction: ReturnChatGroupPagedChatsPaginationDirection = pydantic.Field() """ - The direction of the pagination (ASC or DESC). + Indicates the order in which the paginated results are presented, based on their creation date. + + It shows `ASC` for ascending order (chronological, with the oldest records first) or `DESC` for descending order (reverse-chronological, with the newest records first). This value corresponds to the `ascending_order` query parameter used in the request. """ chats_page: typing.List[ReturnChat] = pydantic.Field() """ - List of chats and their metadata returned for the specified page number and page size. + List of Chats for the specified `page_number` and `page_size`. """ - active: typing.Optional[bool] = None + active: typing.Optional[bool] = pydantic.Field(default=None) + """ + Denotes whether there is an active Chat associated with this Chat Group. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/hume/empathic_voice/types/return_chat_group_paged_chats_pagination_direction.py b/src/hume/empathic_voice/types/return_chat_group_paged_chats_pagination_direction.py new file mode 100644 index 0000000..fa14d9a --- /dev/null +++ b/src/hume/empathic_voice/types/return_chat_group_paged_chats_pagination_direction.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ReturnChatGroupPagedChatsPaginationDirection = typing.Union[typing.Literal["ASC", "DESC"], typing.Any] diff --git a/tests/empathic_voice/test_chat_groups.py b/tests/empathic_voice/test_chat_groups.py index b38141b..5a89ce1 100644 --- a/tests/empathic_voice/test_chat_groups.py +++ b/tests/empathic_voice/test_chat_groups.py @@ -53,6 +53,63 @@ async def test_list_chat_groups(client: HumeClient, async_client: AsyncHumeClien validate_response(async_response, expected_response, expected_types) +async def test_get_chat_group(client: HumeClient, async_client: AsyncHumeClient) -> None: + expected_response: typing.Any = { + "id": "369846cf-6ad5-404d-905e-a8acb5cdfc78", + "first_start_timestamp": 1712334213647, + "most_recent_start_timestamp": 1712334213647, + "num_chats": 1, + "page_number": 0, + "page_size": 1, + "total_pages": 1, + "pagination_direction": "ASC", + "chats_page": [ + { + "id": "6375d4f8-cd3e-4d6b-b13b-ace66b7c8aaa", + "chat_group_id": "369846cf-6ad5-404d-905e-a8acb5cdfc78", + "status": "USER_ENDED", + "start_timestamp": 1712334213647, + "end_timestamp": 1712334332571, + "event_count": 0, + } + ], + "active": False, + } + expected_types: typing.Any = { + "id": None, + "first_start_timestamp": None, + "most_recent_start_timestamp": None, + "num_chats": "integer", + "page_number": "integer", + "page_size": "integer", + "total_pages": "integer", + "pagination_direction": None, + "chats_page": ( + "list", + { + 0: { + "id": None, + "chat_group_id": None, + "status": None, + "start_timestamp": None, + "end_timestamp": None, + "event_count": None, + } + }, + ), + "active": None, + } + response = client.empathic_voice.chat_groups.get_chat_group( + id="697056f0-6c7e-487d-9bd8-9c19df79f05f", page_number=0, page_size=1, ascending_order=True + ) + validate_response(response, expected_response, expected_types) + + async_response = await async_client.empathic_voice.chat_groups.get_chat_group( + id="697056f0-6c7e-487d-9bd8-9c19df79f05f", page_number=0, page_size=1, ascending_order=True + ) + validate_response(async_response, expected_response, expected_types) + + async def test_list_chat_group_events(client: HumeClient, async_client: AsyncHumeClient) -> None: expected_response: typing.Any = { "id": "697056f0-6c7e-487d-9bd8-9c19df79f05f", diff --git a/tests/empathic_voice/test_custom_voices.py b/tests/empathic_voice/test_custom_voices.py index 73004c0..b3e1878 100644 --- a/tests/empathic_voice/test_custom_voices.py +++ b/tests/empathic_voice/test_custom_voices.py @@ -6,7 +6,7 @@ from ..utilities import validate_response -async def test_get_return_custom_voices_for_user(client: HumeClient, async_client: AsyncHumeClient) -> None: +async def test_list_custom_voices(client: HumeClient, async_client: AsyncHumeClient) -> None: expected_response: typing.Any = { "page_number": 1, "page_size": 1, @@ -44,14 +44,14 @@ async def test_get_return_custom_voices_for_user(client: HumeClient, async_clien }, ), } - response = client.empathic_voice.custom_voices.get_return_custom_voices_for_user() + response = client.empathic_voice.custom_voices.list_custom_voices() validate_response(response, expected_response, expected_types) - async_response = await async_client.empathic_voice.custom_voices.get_return_custom_voices_for_user() + async_response = await async_client.empathic_voice.custom_voices.list_custom_voices() validate_response(async_response, expected_response, expected_types) -async def test_create_new_custom_voice(client: HumeClient, async_client: AsyncHumeClient) -> None: +async def test_create_custom_voice(client: HumeClient, async_client: AsyncHumeClient) -> None: expected_response: typing.Any = { "id": "id", "version": 1, @@ -72,16 +72,14 @@ async def test_create_new_custom_voice(client: HumeClient, async_client: AsyncHu "parameter_model": None, "parameters": {"gender": "integer", "huskiness": "integer", "nasality": "integer", "pitch": "integer"}, } - response = client.empathic_voice.custom_voices.create_new_custom_voice(name="name", base_voice="ITO") + response = client.empathic_voice.custom_voices.create_custom_voice(name="name", base_voice="ITO") validate_response(response, expected_response, expected_types) - async_response = await async_client.empathic_voice.custom_voices.create_new_custom_voice( - name="name", base_voice="ITO" - ) + async_response = await async_client.empathic_voice.custom_voices.create_custom_voice(name="name", base_voice="ITO") validate_response(async_response, expected_response, expected_types) -async def test_get_return_custom_voice_by_custom_voice_id(client: HumeClient, async_client: AsyncHumeClient) -> None: +async def test_get_custom_voice(client: HumeClient, async_client: AsyncHumeClient) -> None: expected_response: typing.Any = { "id": "id", "version": 1, @@ -102,14 +100,14 @@ async def test_get_return_custom_voice_by_custom_voice_id(client: HumeClient, as "parameter_model": None, "parameters": {"gender": "integer", "huskiness": "integer", "nasality": "integer", "pitch": "integer"}, } - response = client.empathic_voice.custom_voices.get_return_custom_voice_by_custom_voice_id(id="id") + response = client.empathic_voice.custom_voices.get_custom_voice(id="id") validate_response(response, expected_response, expected_types) - async_response = await async_client.empathic_voice.custom_voices.get_return_custom_voice_by_custom_voice_id(id="id") + async_response = await async_client.empathic_voice.custom_voices.get_custom_voice(id="id") validate_response(async_response, expected_response, expected_types) -async def test_add_new_custom_voice_version(client: HumeClient, async_client: AsyncHumeClient) -> None: +async def test_create_custom_voice_version(client: HumeClient, async_client: AsyncHumeClient) -> None: expected_response: typing.Any = { "id": "id", "version": 1, @@ -130,10 +128,10 @@ async def test_add_new_custom_voice_version(client: HumeClient, async_client: As "parameter_model": None, "parameters": {"gender": "integer", "huskiness": "integer", "nasality": "integer", "pitch": "integer"}, } - response = client.empathic_voice.custom_voices.add_new_custom_voice_version(id="id", name="name", base_voice="ITO") + response = client.empathic_voice.custom_voices.create_custom_voice_version(id="id", name="name", base_voice="ITO") validate_response(response, expected_response, expected_types) - async_response = await async_client.empathic_voice.custom_voices.add_new_custom_voice_version( + async_response = await async_client.empathic_voice.custom_voices.create_custom_voice_version( id="id", name="name", base_voice="ITO" ) validate_response(async_response, expected_response, expected_types)