Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌿 Fern Regeneration -- September 30, 2024 #185

Merged
merged 2 commits into from
Sep 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .mock/definition/api.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: api
error-discrimination:
strategy: status-code
default-environment: Production
environments:
Production: https://api.hume.ai
auth: HeaderAuthScheme
auth-schemes:
HeaderAuthScheme:
name: apiKey
header: X-Hume-Api-Key
type: optional<string>
2,778 changes: 2,778 additions & 0 deletions .mock/definition/empathic-voice/__package__.yml

Large diffs are not rendered by default.

146 changes: 146 additions & 0 deletions .mock/definition/empathic-voice/chat.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
channel:
path: /v0/evi/chat
auth: false
query-parameters:
config_id:
type: optional<string>
docs: >-
The unique identifier for an EVI configuration.


Include this ID in your connection request to equip EVI with the Prompt,
Language Model, Voice, and Tools associated with the specified
configuration. If omitted, EVI will apply [default configuration
settings](/docs/empathic-voice-interface-evi/configuration#default-configuration).


For help obtaining this ID, see our [Configuration
Guide](/docs/empathic-voice-interface-evi/configuration).
config_version:
type: optional<integer>
docs: >-
The version number of the EVI configuration specified by the
`config_id`.


Configs, as well as Prompts and Tools, are versioned. This versioning
system supports iterative development, allowing you to progressively
refine configurations and revert to previous versions if needed.


Include this parameter to apply a specific version of an EVI
configuration. If omitted, the latest version will be applied.
resumed_chat_group_id:
type: optional<string>
docs: >-
The unique identifier for a Chat Group. Use this field to preserve
context from a previous Chat session.


A Chat represents a single session from opening to closing a WebSocket
connection. In contrast, a Chat Group is a series of resumed Chats that
collectively represent a single conversation spanning multiple sessions.
Each Chat includes a Chat Group ID, which is used to preserve the
context of previous Chat sessions when starting a new one.


Including the Chat Group ID in the `resumed_chat_group_id` query
parameter is useful for seamlessly resuming a Chat after unexpected
network disconnections and for picking up conversations exactly where
you left off at a later time. This ensures preserved context across
multiple sessions.


There are three ways to obtain the Chat Group ID:


- [Chat
Metadata](/reference/empathic-voice-interface-evi/chat/chat#receive.Chat%20Metadata.type):
Upon establishing a WebSocket connection with EVI, the user receives a
Chat Metadata message. This message contains a `chat_group_id`, which
can be used to resume conversations within this chat group in future
sessions.


- [List Chats
endpoint](/reference/empathic-voice-interface-evi/chats/list-chats): Use
the GET `/v0/evi/chats` endpoint to obtain the Chat Group ID of
individual Chat sessions. This endpoint lists all available Chat
sessions and their associated Chat Group ID.


- [List Chat Groups
endpoint](/reference/empathic-voice-interface-evi/chat-groups/list-chat-groups):
Use the GET `/v0/evi/chat_groups` endpoint to obtain the Chat Group IDs
of all Chat Groups associated with an API key. This endpoint returns a
list of all available chat groups.
access_token:
type: optional<string>
docs: >-
Access token used for authenticating the client. If not provided, an
`api_key` must be provided to authenticate.


The access token is generated using both an API key and a Secret key,
which provides an additional layer of security compared to using just an
API key.


For more details, refer to the [Authentication Strategies
Guide](/docs/introduction/api-key#authentication-strategies).
api_key:
type: optional<string>
docs: >-
API key used for authenticating the client. If not provided, an
`access_token` must be provided to authenticate.


For more details, refer to the [Authentication Strategies
Guide](/docs/introduction/api-key#authentication-strategies).
messages:
subscribe:
origin: server
body: SubscribeEvent
publish:
origin: client
body: PublishEvent
examples:
- messages:
- type: publish
body:
type: audio_input
data: data
- type: subscribe
body:
type: assistant_end
imports:
root: __package__.yml
types:
SubscribeEvent:
discriminated: false
union:
- type: root.AssistantEnd
- type: root.AssistantMessage
- type: root.AudioOutput
- type: root.ChatMetadata
- type: root.WebSocketError
- type: root.UserInterruption
- type: root.UserMessage
- type: root.ToolCallMessage
- type: root.ToolResponseMessage
- type: root.ToolErrorMessage
source:
openapi: assistant-asyncapi.json
PublishEvent:
discriminated: false
union:
- type: root.AudioInput
- type: root.SessionSettings
- type: root.UserInput
- type: root.AssistantInput
- type: root.ToolResponseMessage
- type: root.ToolErrorMessage
- type: root.PauseAssistantMessage
- type: root.ResumeAssistantMessage
source:
openapi: assistant-asyncapi.json
Loading