hume 0.13.6 → 0.13.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/.mock/definition/empathic-voice/__package__.yml +669 -657
  2. package/.mock/definition/empathic-voice/chat.yml +27 -27
  3. package/.mock/definition/empathic-voice/chatWebhooks.yml +2 -2
  4. package/.mock/definition/tts/__package__.yml +93 -88
  5. package/api/resources/empathicVoice/types/AssistantEnd.d.ts +2 -2
  6. package/api/resources/empathicVoice/types/AssistantInput.d.ts +2 -2
  7. package/api/resources/empathicVoice/types/AssistantMessage.d.ts +8 -8
  8. package/api/resources/empathicVoice/types/AssistantProsody.d.ts +6 -6
  9. package/api/resources/empathicVoice/types/AudioConfiguration.d.ts +2 -2
  10. package/api/resources/empathicVoice/types/AudioInput.d.ts +6 -6
  11. package/api/resources/empathicVoice/types/AudioOutput.d.ts +4 -4
  12. package/api/resources/empathicVoice/types/BuiltinToolConfig.d.ts +1 -1
  13. package/api/resources/empathicVoice/types/ChatMessage.d.ts +2 -2
  14. package/api/resources/empathicVoice/types/ChatMetadata.d.ts +8 -8
  15. package/api/resources/empathicVoice/types/Context.d.ts +6 -6
  16. package/api/resources/empathicVoice/types/LanguageModelType.d.ts +7 -1
  17. package/api/resources/empathicVoice/types/LanguageModelType.js +6 -0
  18. package/api/resources/empathicVoice/types/PauseAssistantMessage.d.ts +2 -2
  19. package/api/resources/empathicVoice/types/ResumeAssistantMessage.d.ts +2 -2
  20. package/api/resources/empathicVoice/types/ReturnConfig.d.ts +2 -2
  21. package/api/resources/empathicVoice/types/SessionSettings.d.ts +27 -27
  22. package/api/resources/empathicVoice/types/Tool.d.ts +6 -6
  23. package/api/resources/empathicVoice/types/ToolCallMessage.d.ts +6 -6
  24. package/api/resources/empathicVoice/types/ToolErrorMessage.d.ts +16 -16
  25. package/api/resources/empathicVoice/types/ToolResponseMessage.d.ts +8 -8
  26. package/api/resources/empathicVoice/types/UserInput.d.ts +2 -2
  27. package/api/resources/empathicVoice/types/UserInterruption.d.ts +4 -4
  28. package/api/resources/empathicVoice/types/UserMessage.d.ts +12 -12
  29. package/api/resources/empathicVoice/types/WebSocketError.d.ts +10 -10
  30. package/api/resources/empathicVoice/types/WebhookEventChatEnded.d.ts +8 -8
  31. package/api/resources/empathicVoice/types/WebhookEventChatStarted.d.ts +6 -6
  32. package/api/resources/empathicVoice/types/index.d.ts +16 -16
  33. package/api/resources/empathicVoice/types/index.js +16 -16
  34. package/api/resources/index.d.ts +1 -1
  35. package/api/resources/index.js +2 -2
  36. package/api/resources/tts/client/Client.d.ts +6 -6
  37. package/api/resources/tts/client/Client.js +35 -35
  38. package/api/resources/tts/types/OctaveVersion.d.ts +4 -0
  39. package/api/resources/tts/types/OctaveVersion.js +5 -0
  40. package/api/resources/tts/types/PostedTts.d.ts +9 -8
  41. package/api/resources/tts/types/PostedUtterance.d.ts +6 -6
  42. package/api/resources/tts/types/ReturnGeneration.d.ts +5 -5
  43. package/api/resources/tts/types/ReturnTts.d.ts +1 -1
  44. package/api/resources/tts/types/Snippet.d.ts +6 -6
  45. package/api/resources/tts/types/SnippetAudioChunk.d.ts +12 -11
  46. package/api/resources/tts/types/index.d.ts +1 -0
  47. package/api/resources/tts/types/index.js +1 -0
  48. package/dist/api/resources/empathicVoice/types/AssistantEnd.d.ts +2 -2
  49. package/dist/api/resources/empathicVoice/types/AssistantInput.d.ts +2 -2
  50. package/dist/api/resources/empathicVoice/types/AssistantMessage.d.ts +8 -8
  51. package/dist/api/resources/empathicVoice/types/AssistantProsody.d.ts +6 -6
  52. package/dist/api/resources/empathicVoice/types/AudioConfiguration.d.ts +2 -2
  53. package/dist/api/resources/empathicVoice/types/AudioInput.d.ts +6 -6
  54. package/dist/api/resources/empathicVoice/types/AudioOutput.d.ts +4 -4
  55. package/dist/api/resources/empathicVoice/types/BuiltinToolConfig.d.ts +1 -1
  56. package/dist/api/resources/empathicVoice/types/ChatMessage.d.ts +2 -2
  57. package/dist/api/resources/empathicVoice/types/ChatMetadata.d.ts +8 -8
  58. package/dist/api/resources/empathicVoice/types/Context.d.ts +6 -6
  59. package/dist/api/resources/empathicVoice/types/LanguageModelType.d.ts +7 -1
  60. package/dist/api/resources/empathicVoice/types/LanguageModelType.js +6 -0
  61. package/dist/api/resources/empathicVoice/types/PauseAssistantMessage.d.ts +2 -2
  62. package/dist/api/resources/empathicVoice/types/ResumeAssistantMessage.d.ts +2 -2
  63. package/dist/api/resources/empathicVoice/types/ReturnConfig.d.ts +2 -2
  64. package/dist/api/resources/empathicVoice/types/SessionSettings.d.ts +27 -27
  65. package/dist/api/resources/empathicVoice/types/Tool.d.ts +6 -6
  66. package/dist/api/resources/empathicVoice/types/ToolCallMessage.d.ts +6 -6
  67. package/dist/api/resources/empathicVoice/types/ToolErrorMessage.d.ts +16 -16
  68. package/dist/api/resources/empathicVoice/types/ToolResponseMessage.d.ts +8 -8
  69. package/dist/api/resources/empathicVoice/types/UserInput.d.ts +2 -2
  70. package/dist/api/resources/empathicVoice/types/UserInterruption.d.ts +4 -4
  71. package/dist/api/resources/empathicVoice/types/UserMessage.d.ts +12 -12
  72. package/dist/api/resources/empathicVoice/types/WebSocketError.d.ts +10 -10
  73. package/dist/api/resources/empathicVoice/types/WebhookEventChatEnded.d.ts +8 -8
  74. package/dist/api/resources/empathicVoice/types/WebhookEventChatStarted.d.ts +6 -6
  75. package/dist/api/resources/empathicVoice/types/index.d.ts +16 -16
  76. package/dist/api/resources/empathicVoice/types/index.js +16 -16
  77. package/dist/api/resources/index.d.ts +1 -1
  78. package/dist/api/resources/index.js +2 -2
  79. package/dist/api/resources/tts/client/Client.d.ts +6 -6
  80. package/dist/api/resources/tts/client/Client.js +35 -35
  81. package/dist/api/resources/tts/types/OctaveVersion.d.ts +4 -0
  82. package/dist/api/resources/tts/types/OctaveVersion.js +5 -0
  83. package/dist/api/resources/tts/types/PostedTts.d.ts +9 -8
  84. package/dist/api/resources/tts/types/PostedUtterance.d.ts +6 -6
  85. package/dist/api/resources/tts/types/ReturnGeneration.d.ts +5 -5
  86. package/dist/api/resources/tts/types/ReturnTts.d.ts +1 -1
  87. package/dist/api/resources/tts/types/Snippet.d.ts +6 -6
  88. package/dist/api/resources/tts/types/SnippetAudioChunk.d.ts +12 -11
  89. package/dist/api/resources/tts/types/index.d.ts +1 -0
  90. package/dist/api/resources/tts/types/index.js +1 -0
  91. package/dist/serialization/resources/empathicVoice/types/AssistantEnd.d.ts +1 -1
  92. package/dist/serialization/resources/empathicVoice/types/AssistantEnd.js +1 -1
  93. package/dist/serialization/resources/empathicVoice/types/AssistantInput.d.ts +1 -1
  94. package/dist/serialization/resources/empathicVoice/types/AssistantInput.js +1 -1
  95. package/dist/serialization/resources/empathicVoice/types/AssistantMessage.d.ts +2 -2
  96. package/dist/serialization/resources/empathicVoice/types/AssistantMessage.js +2 -2
  97. package/dist/serialization/resources/empathicVoice/types/AssistantProsody.d.ts +2 -2
  98. package/dist/serialization/resources/empathicVoice/types/AssistantProsody.js +2 -2
  99. package/dist/serialization/resources/empathicVoice/types/AudioConfiguration.d.ts +1 -1
  100. package/dist/serialization/resources/empathicVoice/types/AudioConfiguration.js +1 -1
  101. package/dist/serialization/resources/empathicVoice/types/AudioInput.d.ts +1 -1
  102. package/dist/serialization/resources/empathicVoice/types/AudioInput.js +1 -1
  103. package/dist/serialization/resources/empathicVoice/types/AudioOutput.d.ts +2 -2
  104. package/dist/serialization/resources/empathicVoice/types/AudioOutput.js +2 -2
  105. package/dist/serialization/resources/empathicVoice/types/BuiltinToolConfig.d.ts +1 -1
  106. package/dist/serialization/resources/empathicVoice/types/BuiltinToolConfig.js +1 -1
  107. package/dist/serialization/resources/empathicVoice/types/ChatMessage.d.ts +1 -1
  108. package/dist/serialization/resources/empathicVoice/types/ChatMessage.js +1 -1
  109. package/dist/serialization/resources/empathicVoice/types/ChatMetadata.d.ts +2 -2
  110. package/dist/serialization/resources/empathicVoice/types/ChatMetadata.js +2 -2
  111. package/dist/serialization/resources/empathicVoice/types/Context.d.ts +1 -1
  112. package/dist/serialization/resources/empathicVoice/types/Context.js +1 -1
  113. package/dist/serialization/resources/empathicVoice/types/LanguageModelType.d.ts +1 -1
  114. package/dist/serialization/resources/empathicVoice/types/LanguageModelType.js +6 -0
  115. package/dist/serialization/resources/empathicVoice/types/PauseAssistantMessage.d.ts +1 -1
  116. package/dist/serialization/resources/empathicVoice/types/PauseAssistantMessage.js +1 -1
  117. package/dist/serialization/resources/empathicVoice/types/ResumeAssistantMessage.d.ts +1 -1
  118. package/dist/serialization/resources/empathicVoice/types/ResumeAssistantMessage.js +1 -1
  119. package/dist/serialization/resources/empathicVoice/types/ReturnConfig.d.ts +1 -1
  120. package/dist/serialization/resources/empathicVoice/types/ReturnConfig.js +1 -1
  121. package/dist/serialization/resources/empathicVoice/types/SessionSettings.d.ts +8 -8
  122. package/dist/serialization/resources/empathicVoice/types/SessionSettings.js +8 -8
  123. package/dist/serialization/resources/empathicVoice/types/Tool.d.ts +3 -3
  124. package/dist/serialization/resources/empathicVoice/types/Tool.js +3 -3
  125. package/dist/serialization/resources/empathicVoice/types/ToolCallMessage.d.ts +3 -3
  126. package/dist/serialization/resources/empathicVoice/types/ToolCallMessage.js +3 -3
  127. package/dist/serialization/resources/empathicVoice/types/ToolErrorMessage.d.ts +6 -6
  128. package/dist/serialization/resources/empathicVoice/types/ToolErrorMessage.js +6 -6
  129. package/dist/serialization/resources/empathicVoice/types/ToolResponseMessage.d.ts +2 -2
  130. package/dist/serialization/resources/empathicVoice/types/ToolResponseMessage.js +2 -2
  131. package/dist/serialization/resources/empathicVoice/types/UserInput.d.ts +1 -1
  132. package/dist/serialization/resources/empathicVoice/types/UserInput.js +1 -1
  133. package/dist/serialization/resources/empathicVoice/types/UserInterruption.d.ts +1 -1
  134. package/dist/serialization/resources/empathicVoice/types/UserInterruption.js +1 -1
  135. package/dist/serialization/resources/empathicVoice/types/UserMessage.d.ts +3 -3
  136. package/dist/serialization/resources/empathicVoice/types/UserMessage.js +3 -3
  137. package/dist/serialization/resources/empathicVoice/types/WebSocketError.d.ts +3 -3
  138. package/dist/serialization/resources/empathicVoice/types/WebSocketError.js +3 -3
  139. package/dist/serialization/resources/empathicVoice/types/WebhookEventChatEnded.d.ts +4 -4
  140. package/dist/serialization/resources/empathicVoice/types/WebhookEventChatEnded.js +4 -4
  141. package/dist/serialization/resources/empathicVoice/types/WebhookEventChatStarted.d.ts +3 -3
  142. package/dist/serialization/resources/empathicVoice/types/WebhookEventChatStarted.js +3 -3
  143. package/dist/serialization/resources/empathicVoice/types/index.d.ts +16 -16
  144. package/dist/serialization/resources/empathicVoice/types/index.js +16 -16
  145. package/dist/serialization/resources/index.d.ts +1 -1
  146. package/dist/serialization/resources/index.js +2 -2
  147. package/dist/serialization/resources/tts/types/OctaveVersion.d.ts +10 -0
  148. package/dist/serialization/resources/tts/types/OctaveVersion.js +41 -0
  149. package/dist/serialization/resources/tts/types/PostedTts.d.ts +5 -3
  150. package/dist/serialization/resources/tts/types/PostedTts.js +5 -3
  151. package/dist/serialization/resources/tts/types/PostedUtterance.d.ts +2 -2
  152. package/dist/serialization/resources/tts/types/PostedUtterance.js +2 -2
  153. package/dist/serialization/resources/tts/types/ReturnGeneration.d.ts +3 -3
  154. package/dist/serialization/resources/tts/types/ReturnGeneration.js +3 -3
  155. package/dist/serialization/resources/tts/types/ReturnTts.d.ts +1 -1
  156. package/dist/serialization/resources/tts/types/ReturnTts.js +1 -1
  157. package/dist/serialization/resources/tts/types/Snippet.d.ts +3 -3
  158. package/dist/serialization/resources/tts/types/Snippet.js +3 -3
  159. package/dist/serialization/resources/tts/types/SnippetAudioChunk.d.ts +7 -6
  160. package/dist/serialization/resources/tts/types/SnippetAudioChunk.js +7 -6
  161. package/dist/serialization/resources/tts/types/index.d.ts +1 -0
  162. package/dist/serialization/resources/tts/types/index.js +1 -0
  163. package/dist/version.d.ts +1 -1
  164. package/dist/version.js +1 -1
  165. package/dist/wrapper/index.d.ts +1 -1
  166. package/dist/wrapper/index.js +53 -3
  167. package/package.json +1 -1
  168. package/reference.md +706 -706
  169. package/serialization/resources/empathicVoice/types/AssistantEnd.d.ts +1 -1
  170. package/serialization/resources/empathicVoice/types/AssistantEnd.js +1 -1
  171. package/serialization/resources/empathicVoice/types/AssistantInput.d.ts +1 -1
  172. package/serialization/resources/empathicVoice/types/AssistantInput.js +1 -1
  173. package/serialization/resources/empathicVoice/types/AssistantMessage.d.ts +2 -2
  174. package/serialization/resources/empathicVoice/types/AssistantMessage.js +2 -2
  175. package/serialization/resources/empathicVoice/types/AssistantProsody.d.ts +2 -2
  176. package/serialization/resources/empathicVoice/types/AssistantProsody.js +2 -2
  177. package/serialization/resources/empathicVoice/types/AudioConfiguration.d.ts +1 -1
  178. package/serialization/resources/empathicVoice/types/AudioConfiguration.js +1 -1
  179. package/serialization/resources/empathicVoice/types/AudioInput.d.ts +1 -1
  180. package/serialization/resources/empathicVoice/types/AudioInput.js +1 -1
  181. package/serialization/resources/empathicVoice/types/AudioOutput.d.ts +2 -2
  182. package/serialization/resources/empathicVoice/types/AudioOutput.js +2 -2
  183. package/serialization/resources/empathicVoice/types/BuiltinToolConfig.d.ts +1 -1
  184. package/serialization/resources/empathicVoice/types/BuiltinToolConfig.js +1 -1
  185. package/serialization/resources/empathicVoice/types/ChatMessage.d.ts +1 -1
  186. package/serialization/resources/empathicVoice/types/ChatMessage.js +1 -1
  187. package/serialization/resources/empathicVoice/types/ChatMetadata.d.ts +2 -2
  188. package/serialization/resources/empathicVoice/types/ChatMetadata.js +2 -2
  189. package/serialization/resources/empathicVoice/types/Context.d.ts +1 -1
  190. package/serialization/resources/empathicVoice/types/Context.js +1 -1
  191. package/serialization/resources/empathicVoice/types/LanguageModelType.d.ts +1 -1
  192. package/serialization/resources/empathicVoice/types/LanguageModelType.js +6 -0
  193. package/serialization/resources/empathicVoice/types/PauseAssistantMessage.d.ts +1 -1
  194. package/serialization/resources/empathicVoice/types/PauseAssistantMessage.js +1 -1
  195. package/serialization/resources/empathicVoice/types/ResumeAssistantMessage.d.ts +1 -1
  196. package/serialization/resources/empathicVoice/types/ResumeAssistantMessage.js +1 -1
  197. package/serialization/resources/empathicVoice/types/ReturnConfig.d.ts +1 -1
  198. package/serialization/resources/empathicVoice/types/ReturnConfig.js +1 -1
  199. package/serialization/resources/empathicVoice/types/SessionSettings.d.ts +8 -8
  200. package/serialization/resources/empathicVoice/types/SessionSettings.js +8 -8
  201. package/serialization/resources/empathicVoice/types/Tool.d.ts +3 -3
  202. package/serialization/resources/empathicVoice/types/Tool.js +3 -3
  203. package/serialization/resources/empathicVoice/types/ToolCallMessage.d.ts +3 -3
  204. package/serialization/resources/empathicVoice/types/ToolCallMessage.js +3 -3
  205. package/serialization/resources/empathicVoice/types/ToolErrorMessage.d.ts +6 -6
  206. package/serialization/resources/empathicVoice/types/ToolErrorMessage.js +6 -6
  207. package/serialization/resources/empathicVoice/types/ToolResponseMessage.d.ts +2 -2
  208. package/serialization/resources/empathicVoice/types/ToolResponseMessage.js +2 -2
  209. package/serialization/resources/empathicVoice/types/UserInput.d.ts +1 -1
  210. package/serialization/resources/empathicVoice/types/UserInput.js +1 -1
  211. package/serialization/resources/empathicVoice/types/UserInterruption.d.ts +1 -1
  212. package/serialization/resources/empathicVoice/types/UserInterruption.js +1 -1
  213. package/serialization/resources/empathicVoice/types/UserMessage.d.ts +3 -3
  214. package/serialization/resources/empathicVoice/types/UserMessage.js +3 -3
  215. package/serialization/resources/empathicVoice/types/WebSocketError.d.ts +3 -3
  216. package/serialization/resources/empathicVoice/types/WebSocketError.js +3 -3
  217. package/serialization/resources/empathicVoice/types/WebhookEventChatEnded.d.ts +4 -4
  218. package/serialization/resources/empathicVoice/types/WebhookEventChatEnded.js +4 -4
  219. package/serialization/resources/empathicVoice/types/WebhookEventChatStarted.d.ts +3 -3
  220. package/serialization/resources/empathicVoice/types/WebhookEventChatStarted.js +3 -3
  221. package/serialization/resources/empathicVoice/types/index.d.ts +16 -16
  222. package/serialization/resources/empathicVoice/types/index.js +16 -16
  223. package/serialization/resources/index.d.ts +1 -1
  224. package/serialization/resources/index.js +2 -2
  225. package/serialization/resources/tts/types/OctaveVersion.d.ts +10 -0
  226. package/serialization/resources/tts/types/OctaveVersion.js +41 -0
  227. package/serialization/resources/tts/types/PostedTts.d.ts +5 -3
  228. package/serialization/resources/tts/types/PostedTts.js +5 -3
  229. package/serialization/resources/tts/types/PostedUtterance.d.ts +2 -2
  230. package/serialization/resources/tts/types/PostedUtterance.js +2 -2
  231. package/serialization/resources/tts/types/ReturnGeneration.d.ts +3 -3
  232. package/serialization/resources/tts/types/ReturnGeneration.js +3 -3
  233. package/serialization/resources/tts/types/ReturnTts.d.ts +1 -1
  234. package/serialization/resources/tts/types/ReturnTts.js +1 -1
  235. package/serialization/resources/tts/types/Snippet.d.ts +3 -3
  236. package/serialization/resources/tts/types/Snippet.js +3 -3
  237. package/serialization/resources/tts/types/SnippetAudioChunk.d.ts +7 -6
  238. package/serialization/resources/tts/types/SnippetAudioChunk.js +7 -6
  239. package/serialization/resources/tts/types/index.d.ts +1 -0
  240. package/serialization/resources/tts/types/index.js +1 -0
  241. package/version.d.ts +1 -1
  242. package/version.js +1 -1
  243. package/wrapper/index.d.ts +1 -1
  244. package/wrapper/index.js +53 -3
@@ -6,15 +6,29 @@ errors:
6
6
  examples:
7
7
  - value: {}
8
8
  types:
9
- AssistantInput:
10
- docs: When provided, the input is spoken by EVI.
9
+ AssistantEnd:
10
+ docs: When provided, the output is an assistant end message.
11
11
  properties:
12
+ custom_session_id:
13
+ type: optional<string>
14
+ docs: >-
15
+ Used to manage conversational state, correlate frontend and backend
16
+ data, and persist conversations across EVI sessions.
12
17
  type:
13
- type: literal<"assistant_input">
18
+ type: literal<"assistant_end">
14
19
  docs: >-
15
- The type of message sent through the socket; must be `assistant_input`
16
- for our server to correctly identify and process it as an Assistant
17
- Input message.
20
+ The type of message sent through the socket; for an Assistant End
21
+ message, this must be `assistant_end`.
22
+
23
+
24
+ This message indicates the conclusion of the assistant's response,
25
+ signaling that the assistant has finished speaking for the current
26
+ conversational turn.
27
+ source:
28
+ openapi: evi-asyncapi.json
29
+ AssistantInput:
30
+ docs: When provided, the input is spoken by EVI.
31
+ properties:
18
32
  custom_session_id:
19
33
  type: optional<string>
20
34
  docs: >-
@@ -33,16 +47,84 @@ types:
33
47
  the context of the conversation. The synthesized audio is streamed
34
48
  back to the user as an [Assistant
35
49
  Message](/reference/speech-to-speech-evi/chat#receive.AssistantMessage).
50
+ type:
51
+ type: literal<"assistant_input">
52
+ docs: >-
53
+ The type of message sent through the socket; must be `assistant_input`
54
+ for our server to correctly identify and process it as an Assistant
55
+ Input message.
56
+ source:
57
+ openapi: evi-asyncapi.json
58
+ AssistantMessage:
59
+ docs: When provided, the output is an assistant message.
60
+ properties:
61
+ custom_session_id:
62
+ type: optional<string>
63
+ docs: >-
64
+ Used to manage conversational state, correlate frontend and backend
65
+ data, and persist conversations across EVI sessions.
66
+ from_text:
67
+ type: boolean
68
+ docs: >-
69
+ Indicates if this message was inserted into the conversation as text
70
+ from an [Assistant Input
71
+ message](/reference/speech-to-speech-evi/chat#send.AssistantInput.text).
72
+ id:
73
+ type: optional<string>
74
+ docs: >-
75
+ ID of the assistant message. Allows the Assistant Message to be
76
+ tracked and referenced.
77
+ message:
78
+ type: ChatMessage
79
+ docs: Transcript of the message.
80
+ models:
81
+ type: Inference
82
+ docs: Inference model results.
83
+ type:
84
+ type: literal<"assistant_message">
85
+ docs: >-
86
+ The type of message sent through the socket; for an Assistant Message,
87
+ this must be `assistant_message`.
88
+
89
+
90
+ This message contains both a transcript of the assistant's response
91
+ and the expression measurement predictions of the assistant's audio
92
+ output.
93
+ source:
94
+ openapi: evi-asyncapi.json
95
+ AssistantProsody:
96
+ docs: When provided, the output is an Assistant Prosody message.
97
+ properties:
98
+ custom_session_id:
99
+ type: optional<string>
100
+ docs: >-
101
+ Used to manage conversational state, correlate frontend and backend
102
+ data, and persist conversations across EVI sessions.
103
+ id:
104
+ type: optional<string>
105
+ docs: Unique identifier for the segment.
106
+ models:
107
+ type: Inference
108
+ docs: Inference model results.
109
+ type:
110
+ type: literal<"assistant_prosody">
111
+ docs: >-
112
+ The type of message sent through the socket; for an Assistant Prosody
113
+ message, this must be `assistant_PROSODY`.
114
+
115
+
116
+ This message the expression measurement predictions of the assistant's
117
+ audio output.
36
118
  source:
37
119
  openapi: evi-asyncapi.json
38
120
  AudioConfiguration:
39
121
  properties:
40
- encoding:
41
- type: Encoding
42
- docs: Encoding format of the audio input, such as `linear16`.
43
122
  channels:
44
123
  type: integer
45
124
  docs: Number of audio channels.
125
+ encoding:
126
+ type: Encoding
127
+ docs: Encoding format of the audio input, such as `linear16`.
46
128
  sample_rate:
47
129
  type: integer
48
130
  docs: >-
@@ -53,17 +135,6 @@ types:
53
135
  AudioInput:
54
136
  docs: When provided, the input is audio.
55
137
  properties:
56
- type:
57
- type: literal<"audio_input">
58
- docs: >-
59
- The type of message sent through the socket; must be `audio_input` for
60
- our server to correctly identify and process it as an Audio Input
61
- message.
62
-
63
-
64
- This message is used for sending audio input data to EVI for
65
- processing and expression measurement. Audio data should be sent as a
66
- continuous stream, encoded in Base64.
67
138
  custom_session_id:
68
139
  type: optional<string>
69
140
  docs: >-
@@ -86,6 +157,48 @@ types:
86
157
 
87
158
  Hume recommends streaming audio with a buffer window of 20
88
159
  milliseconds (ms), or 100 milliseconds (ms) for web applications.
160
+ type:
161
+ type: literal<"audio_input">
162
+ docs: >-
163
+ The type of message sent through the socket; must be `audio_input` for
164
+ our server to correctly identify and process it as an Audio Input
165
+ message.
166
+
167
+
168
+ This message is used for sending audio input data to EVI for
169
+ processing and expression measurement. Audio data should be sent as a
170
+ continuous stream, encoded in Base64.
171
+ source:
172
+ openapi: evi-asyncapi.json
173
+ AudioOutput:
174
+ docs: >-
175
+ The type of message sent through the socket; for an Audio Output message,
176
+ this must be `audio_output`.
177
+ properties:
178
+ custom_session_id:
179
+ type: optional<string>
180
+ docs: >-
181
+ Used to manage conversational state, correlate frontend and backend
182
+ data, and persist conversations across EVI sessions.
183
+ data:
184
+ type: string
185
+ docs: >-
186
+ Base64 encoded audio output. This encoded audio is transmitted to the
187
+ client, where it can be decoded and played back as part of the user
188
+ interaction.
189
+ id:
190
+ type: string
191
+ docs: >-
192
+ ID of the audio output. Allows the Audio Output message to be tracked
193
+ and referenced.
194
+ index:
195
+ type: integer
196
+ docs: Index of the chunk of audio relative to the whole audio segment.
197
+ type:
198
+ type: literal<"audio_output">
199
+ docs: >-
200
+ The type of message sent through the socket; for an Audio Output
201
+ message, this must be `audio_output`.
89
202
  source:
90
203
  openapi: evi-asyncapi.json
91
204
  BuiltInTool:
@@ -99,31 +212,87 @@ types:
99
212
  openapi: evi-asyncapi.json
100
213
  BuiltinToolConfig:
101
214
  properties:
102
- name:
103
- type: BuiltInTool
104
215
  fallback_content:
105
216
  type: optional<string>
106
217
  docs: >-
107
218
  Optional text passed to the supplemental LLM if the tool call fails.
108
219
  The LLM then uses this text to generate a response back to the user,
109
220
  ensuring continuity in the conversation.
221
+ name:
222
+ type: BuiltInTool
110
223
  source:
111
224
  openapi: evi-asyncapi.json
112
- Context:
225
+ ChatMessageToolResult:
226
+ discriminated: false
227
+ docs: Function call response from client.
228
+ union:
229
+ - type: ToolResponseMessage
230
+ - type: ToolErrorMessage
231
+ source:
232
+ openapi: evi-asyncapi.json
233
+ inline: true
234
+ ChatMessage:
113
235
  properties:
114
- type:
115
- type: optional<ContextType>
236
+ content:
237
+ type: optional<string>
238
+ docs: Transcript of the message.
239
+ role:
240
+ type: Role
241
+ docs: Role of who is providing the message.
242
+ tool_call:
243
+ type: optional<ToolCallMessage>
244
+ docs: Function call name and arguments.
245
+ tool_result:
246
+ type: optional<ChatMessageToolResult>
247
+ docs: Function call response from client.
248
+ source:
249
+ openapi: evi-asyncapi.json
250
+ ChatMetadata:
251
+ docs: When provided, the output is a chat metadata message.
252
+ properties:
253
+ chat_group_id:
254
+ type: string
116
255
  docs: >-
117
- The persistence level of the injected context. Specifies how long the
118
- injected context will remain active in the session.
256
+ ID of the Chat Group.
119
257
 
120
258
 
121
- - **Temporary**: Context that is only applied to the following
122
- assistant response.
259
+ Used to resume a Chat when passed in the
260
+ [resumed_chat_group_id](/reference/speech-to-speech-evi/chat#request.query.resumed_chat_group_id)
261
+ query parameter of a subsequent connection request. This allows EVI to
262
+ continue the conversation from where it left off within the Chat
263
+ Group.
123
264
 
124
265
 
125
- - **Persistent**: Context that is applied to all subsequent assistant
126
- responses for the remainder of the Chat.
266
+ Learn more about [supporting chat
267
+ resumability](/docs/speech-to-speech-evi/faq#does-evi-support-chat-resumability)
268
+ from the EVI FAQ.
269
+ chat_id:
270
+ type: string
271
+ docs: >-
272
+ ID of the Chat session. Allows the Chat session to be tracked and
273
+ referenced.
274
+ custom_session_id:
275
+ type: optional<string>
276
+ docs: >-
277
+ Used to manage conversational state, correlate frontend and backend
278
+ data, and persist conversations across EVI sessions.
279
+ request_id:
280
+ type: optional<string>
281
+ docs: ID of the initiating request.
282
+ type:
283
+ type: literal<"chat_metadata">
284
+ docs: >-
285
+ The type of message sent through the socket; for a Chat Metadata
286
+ message, this must be `chat_metadata`.
287
+
288
+
289
+ The Chat Metadata message is the first message you receive after
290
+ establishing a connection with EVI and contains important identifiers
291
+ for the current Chat session.
292
+ source:
293
+ openapi: evi-asyncapi.json
294
+ Context:
295
+ properties:
127
296
  text:
128
297
  type: string
129
298
  docs: >-
@@ -138,6 +307,19 @@ types:
138
307
  remind EVI of its role as a helpful weather assistant, the context you
139
308
  insert will be appended to the end of user messages as `{Context: You
140
309
  are a helpful weather assistant}`.
310
+ type:
311
+ type: optional<ContextType>
312
+ docs: >-
313
+ The persistence level of the injected context. Specifies how long the
314
+ injected context will remain active in the session.
315
+
316
+
317
+ - **Temporary**: Context that is only applied to the following
318
+ assistant response.
319
+
320
+
321
+ - **Persistent**: Context that is applied to all subsequent assistant
322
+ responses for the remainder of the Chat.
141
323
  source:
142
324
  openapi: evi-asyncapi.json
143
325
  ContextType:
@@ -146,18 +328,132 @@ types:
146
328
  - temporary
147
329
  source:
148
330
  openapi: evi-asyncapi.json
149
- Encoding:
150
- type: literal<"linear16">
151
- ErrorLevel:
152
- type: literal<"warn">
153
- PauseAssistantMessage:
154
- docs: >-
155
- Pause responses from EVI. Chat history is still saved and sent after
156
- resuming.
331
+ EmotionScores:
157
332
  properties:
158
- type:
159
- type: literal<"pause_assistant_message">
160
- docs: >-
333
+ Admiration: double
334
+ Adoration: double
335
+ Aesthetic Appreciation: double
336
+ Amusement: double
337
+ Anger: double
338
+ Anxiety: double
339
+ Awe: double
340
+ Awkwardness: double
341
+ Boredom: double
342
+ Calmness: double
343
+ Concentration: double
344
+ Confusion: double
345
+ Contemplation: double
346
+ Contempt: double
347
+ Contentment: double
348
+ Craving: double
349
+ Desire: double
350
+ Determination: double
351
+ Disappointment: double
352
+ Disgust: double
353
+ Distress: double
354
+ Doubt: double
355
+ Ecstasy: double
356
+ Embarrassment: double
357
+ Empathic Pain: double
358
+ Entrancement: double
359
+ Envy: double
360
+ Excitement: double
361
+ Fear: double
362
+ Guilt: double
363
+ Horror: double
364
+ Interest: double
365
+ Joy: double
366
+ Love: double
367
+ Nostalgia: double
368
+ Pain: double
369
+ Pride: double
370
+ Realization: double
371
+ Relief: double
372
+ Romance: double
373
+ Sadness: double
374
+ Satisfaction: double
375
+ Shame: double
376
+ Surprise (negative): double
377
+ Surprise (positive): double
378
+ Sympathy: double
379
+ Tiredness: double
380
+ Triumph: double
381
+ source:
382
+ openapi: evi-asyncapi.json
383
+ Encoding:
384
+ type: literal<"linear16">
385
+ WebSocketError:
386
+ docs: When provided, the output is an error message.
387
+ properties:
388
+ code:
389
+ type: string
390
+ docs: Error code. Identifies the type of error encountered.
391
+ custom_session_id:
392
+ type: optional<string>
393
+ docs: >-
394
+ Used to manage conversational state, correlate frontend and backend
395
+ data, and persist conversations across EVI sessions.
396
+ message:
397
+ type: string
398
+ docs: Detailed description of the error.
399
+ request_id:
400
+ type: optional<string>
401
+ docs: ID of the initiating request.
402
+ slug:
403
+ type: string
404
+ docs: >-
405
+ Short, human-readable identifier and description for the error. See a
406
+ complete list of error slugs on the [Errors
407
+ page](/docs/resources/errors).
408
+ type:
409
+ type: literal<"error">
410
+ docs: >-
411
+ The type of message sent through the socket; for a Web Socket Error
412
+ message, this must be `error`.
413
+
414
+
415
+ This message indicates a disruption in the WebSocket connection, such
416
+ as an unexpected disconnection, protocol error, or data transmission
417
+ issue.
418
+ source:
419
+ openapi: evi-asyncapi.json
420
+ ErrorLevel:
421
+ type: literal<"warn">
422
+ Inference:
423
+ properties:
424
+ prosody:
425
+ type: optional<ProsodyInference>
426
+ docs: >-
427
+ Prosody model inference results.
428
+
429
+
430
+ EVI uses the prosody model to measure 48 emotions related to speech
431
+ and vocal characteristics within a given expression.
432
+ source:
433
+ openapi: evi-asyncapi.json
434
+ MillisecondInterval:
435
+ properties:
436
+ begin:
437
+ type: integer
438
+ docs: Start time of the interval in milliseconds.
439
+ end:
440
+ type: integer
441
+ docs: End time of the interval in milliseconds.
442
+ source:
443
+ openapi: evi-asyncapi.json
444
+ PauseAssistantMessage:
445
+ docs: >-
446
+ Pause responses from EVI. Chat history is still saved and sent after
447
+ resuming.
448
+ properties:
449
+ custom_session_id:
450
+ type: optional<string>
451
+ docs: >-
452
+ Used to manage conversational state, correlate frontend and backend
453
+ data, and persist conversations across EVI sessions.
454
+ type:
455
+ type: literal<"pause_assistant_message">
456
+ docs: >-
161
457
  The type of message sent through the socket; must be
162
458
  `pause_assistant_message` for our server to correctly identify and
163
459
  process it as a Pause Assistant message.
@@ -168,11 +464,24 @@ types:
168
464
  message](/reference/speech-to-speech-evi/chat#send.ResumeAssistantMessage)
169
465
  is sent. When paused, EVI won't respond, but transcriptions of your
170
466
  audio inputs will still be recorded.
171
- custom_session_id:
172
- type: optional<string>
467
+ source:
468
+ openapi: evi-asyncapi.json
469
+ ProsodyInference:
470
+ properties:
471
+ scores:
472
+ type: EmotionScores
173
473
  docs: >-
174
- Used to manage conversational state, correlate frontend and backend
175
- data, and persist conversations across EVI sessions.
474
+ The confidence scores for 48 emotions within the detected expression
475
+ of an audio sample.
476
+
477
+
478
+ Scores typically range from 0 to 1, with higher values indicating a
479
+ stronger confidence level in the measured attribute.
480
+
481
+
482
+ See our guide on [interpreting expression measurement
483
+ results](/docs/expression-measurement/faq#how-do-i-interpret-my-results)
484
+ to learn more.
176
485
  source:
177
486
  openapi: evi-asyncapi.json
178
487
  ResumeAssistantMessage:
@@ -180,6 +489,11 @@ types:
180
489
  Resume responses from EVI. Chat history sent while paused will now be
181
490
  sent.
182
491
  properties:
492
+ custom_session_id:
493
+ type: optional<string>
494
+ docs: >-
495
+ Used to manage conversational state, correlate frontend and backend
496
+ data, and persist conversations across EVI sessions.
183
497
  type:
184
498
  type: literal<"resume_assistant_message">
185
499
  docs: >-
@@ -194,11 +508,15 @@ types:
194
508
  then send a `resume_assistant_message`, EVI will respond to the second
195
509
  question and have added the first question to its conversation
196
510
  context.)
197
- custom_session_id:
198
- type: optional<string>
199
- docs: >-
200
- Used to manage conversational state, correlate frontend and backend
201
- data, and persist conversations across EVI sessions.
511
+ source:
512
+ openapi: evi-asyncapi.json
513
+ Role:
514
+ enum:
515
+ - assistant
516
+ - system
517
+ - user
518
+ - all
519
+ - tool
202
520
  source:
203
521
  openapi: evi-asyncapi.json
204
522
  SessionSettingsVariablesValue:
@@ -213,22 +531,48 @@ types:
213
531
  SessionSettings:
214
532
  docs: Settings for this chat session.
215
533
  properties:
216
- type:
217
- type: literal<"session_settings">
534
+ audio:
535
+ type: optional<AudioConfiguration>
218
536
  docs: >-
219
- The type of message sent through the socket; must be
220
- `session_settings` for our server to correctly identify and process it
221
- as a Session Settings message.
537
+ Configuration details for the audio input used during the session.
538
+ Ensures the audio is being correctly set up for processing.
222
539
 
223
540
 
224
- Session settings are temporary and apply only to the current Chat
225
- session. These settings can be adjusted dynamically based on the
226
- requirements of each session to ensure optimal performance and user
227
- experience.
541
+ This optional field is only required when the audio input is encoded
542
+ in PCM Linear 16 (16-bit, little-endian, signed PCM WAV data). For
543
+ detailed instructions on how to configure session settings for PCM
544
+ Linear 16 audio, please refer to the [Session Settings
545
+ guide](/docs/speech-to-speech-evi/configuration/session-settings).
546
+ builtin_tools:
547
+ type: optional<list<BuiltinToolConfig>>
548
+ docs: >-
549
+ List of built-in tools to enable for the session.
228
550
 
229
551
 
230
- For more information, please refer to the [Session Settings
231
- guide](/docs/speech-to-speech-evi/configuration/session-settings).
552
+ Tools are resources used by EVI to perform various tasks, such as
553
+ searching the web or calling external APIs. Built-in tools, like web
554
+ search, are natively integrated, while user-defined tools are created
555
+ and invoked by the user. To learn more, see our [Tool Use
556
+ Guide](/docs/speech-to-speech-evi/features/tool-use).
557
+
558
+
559
+ Currently, the only built-in tool Hume provides is **Web Search**.
560
+ When enabled, Web Search equips EVI with the ability to search the web
561
+ for up-to-date information.
562
+ context:
563
+ type: optional<Context>
564
+ docs: >-
565
+ Field for injecting additional context into the conversation, which is
566
+ appended to the end of user messages for the session.
567
+
568
+
569
+ When included in a Session Settings message, the provided context can
570
+ be used to remind the LLM of its role in every user message, prevent
571
+ it from forgetting important details, or add new relevant information
572
+ to the conversation.
573
+
574
+
575
+ Set to `null` to clear injected context.
232
576
  custom_session_id:
233
577
  type: optional<string>
234
578
  docs: >-
@@ -247,6 +591,17 @@ types:
247
591
  language
248
592
  model](/docs/speech-to-speech-evi/guides/custom-language-model) with
249
593
  EVI to learn more.
594
+ language_model_api_key:
595
+ type: optional<string>
596
+ docs: >-
597
+ Third party API key for the supplemental language model.
598
+
599
+
600
+ When provided, EVI will use this key instead of Hume's API key for the
601
+ supplemental LLM. This allows you to bypass rate limits and utilize
602
+ your own API key as needed.
603
+ metadata:
604
+ type: optional<map<string, unknown>>
250
605
  system_prompt:
251
606
  type: optional<string>
252
607
  docs: >-
@@ -269,70 +624,33 @@ types:
269
624
 
270
625
  For help writing a system prompt, see our [Prompting
271
626
  Guide](/docs/speech-to-speech-evi/guides/prompting).
272
- context:
273
- type: optional<Context>
627
+ tools:
628
+ type: optional<list<Tool>>
274
629
  docs: >-
275
- Field for injecting additional context into the conversation, which is
276
- appended to the end of user messages for the session.
630
+ List of user-defined tools to enable for the session.
277
631
 
278
632
 
279
- When included in a Session Settings message, the provided context can
280
- be used to remind the LLM of its role in every user message, prevent
281
- it from forgetting important details, or add new relevant information
282
- to the conversation.
633
+ Tools are resources used by EVI to perform various tasks, such as
634
+ searching the web or calling external APIs. Built-in tools, like web
635
+ search, are natively integrated, while user-defined tools are created
636
+ and invoked by the user. To learn more, see our [Tool Use
637
+ Guide](/docs/speech-to-speech-evi/features/tool-use).
638
+ type:
639
+ type: literal<"session_settings">
640
+ docs: >-
641
+ The type of message sent through the socket; must be
642
+ `session_settings` for our server to correctly identify and process it
643
+ as a Session Settings message.
283
644
 
284
645
 
285
- Set to `null` to clear injected context.
286
- audio:
287
- type: optional<AudioConfiguration>
288
- docs: >-
289
- Configuration details for the audio input used during the session.
290
- Ensures the audio is being correctly set up for processing.
646
+ Session settings are temporary and apply only to the current Chat
647
+ session. These settings can be adjusted dynamically based on the
648
+ requirements of each session to ensure optimal performance and user
649
+ experience.
291
650
 
292
651
 
293
- This optional field is only required when the audio input is encoded
294
- in PCM Linear 16 (16-bit, little-endian, signed PCM WAV data). For
295
- detailed instructions on how to configure session settings for PCM
296
- Linear 16 audio, please refer to the [Session Settings
652
+ For more information, please refer to the [Session Settings
297
653
  guide](/docs/speech-to-speech-evi/configuration/session-settings).
298
- language_model_api_key:
299
- type: optional<string>
300
- docs: >-
301
- Third party API key for the supplemental language model.
302
-
303
-
304
- When provided, EVI will use this key instead of Hume's API key for the
305
- supplemental LLM. This allows you to bypass rate limits and utilize
306
- your own API key as needed.
307
- tools:
308
- type: optional<list<Tool>>
309
- docs: >-
310
- List of user-defined tools to enable for the session.
311
-
312
-
313
- Tools are resources used by EVI to perform various tasks, such as
314
- searching the web or calling external APIs. Built-in tools, like web
315
- search, are natively integrated, while user-defined tools are created
316
- and invoked by the user. To learn more, see our [Tool Use
317
- Guide](/docs/speech-to-speech-evi/features/tool-use).
318
- builtin_tools:
319
- type: optional<list<BuiltinToolConfig>>
320
- docs: >-
321
- List of built-in tools to enable for the session.
322
-
323
-
324
- Tools are resources used by EVI to perform various tasks, such as
325
- searching the web or calling external APIs. Built-in tools, like web
326
- search, are natively integrated, while user-defined tools are created
327
- and invoked by the user. To learn more, see our [Tool Use
328
- Guide](/docs/speech-to-speech-evi/features/tool-use).
329
-
330
-
331
- Currently, the only built-in tool Hume provides is **Web Search**.
332
- When enabled, Web Search equips EVI with the ability to search the web
333
- for up-to-date information.
334
- metadata:
335
- type: optional<map<string, unknown>>
336
654
  variables:
337
655
  type: optional<map<string, SessionSettingsVariablesValue>>
338
656
  docs: >-
@@ -360,9 +678,17 @@ types:
360
678
  openapi: evi-asyncapi.json
361
679
  Tool:
362
680
  properties:
363
- type:
364
- type: ToolType
365
- docs: Type of tool. Set to `function` for user-defined tools.
681
+ description:
682
+ type: optional<string>
683
+ docs: >-
684
+ An optional description of what the tool does, used by the
685
+ supplemental LLM to choose when and how to call the function.
686
+ fallback_content:
687
+ type: optional<string>
688
+ docs: >-
689
+ Optional text passed to the supplemental LLM if the tool call fails.
690
+ The LLM then uses this text to generate a response back to the user,
691
+ ensuring continuity in the conversation.
366
692
  name:
367
693
  type: string
368
694
  docs: Name of the user-defined tool to be enabled.
@@ -376,43 +702,40 @@ types:
376
702
  including the expected data type and description for each input field.
377
703
  Structured as a JSON schema, this format ensures the tool receives
378
704
  data in the expected format.
379
- description:
380
- type: optional<string>
381
- docs: >-
382
- An optional description of what the tool does, used by the
383
- supplemental LLM to choose when and how to call the function.
384
- fallback_content:
385
- type: optional<string>
386
- docs: >-
387
- Optional text passed to the supplemental LLM if the tool call fails.
388
- The LLM then uses this text to generate a response back to the user,
389
- ensuring continuity in the conversation.
705
+ type:
706
+ type: ToolType
707
+ docs: Type of tool. Set to `function` for user-defined tools.
390
708
  source:
391
709
  openapi: evi-asyncapi.json
392
- ToolErrorMessage:
393
- docs: When provided, the output is a function call error.
710
+ ToolCallMessage:
711
+ docs: When provided, the output is a tool call.
394
712
  properties:
395
- type:
396
- type: literal<"tool_error">
397
- docs: >-
398
- The type of message sent through the socket; for a Tool Error message,
399
- this must be `tool_error`.
400
-
401
-
402
- Upon receiving a [Tool Call
403
- message](/reference/speech-to-speech-evi/chat#receive.ToolCallMessage)
404
- and failing to invoke the function, this message is sent to notify EVI
405
- of the tool's failure.
406
713
  custom_session_id:
407
714
  type: optional<string>
408
715
  docs: >-
409
716
  Used to manage conversational state, correlate frontend and backend
410
717
  data, and persist conversations across EVI sessions.
411
- tool_type:
412
- type: optional<ToolType>
718
+ name:
719
+ type: string
720
+ docs: Name of the tool called.
721
+ parameters:
722
+ type: string
413
723
  docs: >-
414
- Type of tool called. Either `builtin` for natively implemented tools,
415
- like web search, or `function` for user-defined tools.
724
+ Parameters of the tool.
725
+
726
+
727
+ These parameters define the inputs needed for the tool's execution,
728
+ including the expected data type and description for each input field.
729
+ Structured as a stringified JSON schema, this format ensures the tool
730
+ receives data in the expected format.
731
+ response_required:
732
+ type: boolean
733
+ docs: >-
734
+ Indicates whether a response to the tool call is required from the
735
+ developer, either in the form of a [Tool Response
736
+ message](/reference/speech-to-speech-evi/chat#send.ToolResponseMessage)
737
+ or a [Tool Error
738
+ message](/reference/speech-to-speech-evi/chat#send.ToolErrorMessage).
416
739
  tool_call_id:
417
740
  type: string
418
741
  docs: >-
@@ -420,48 +743,49 @@ types:
420
743
 
421
744
 
422
745
  This ID is used to track the request and response of a particular tool
423
- invocation, ensuring that the Tool Error message is linked to the
424
- appropriate tool call request. The specified `tool_call_id` must match
425
- the one received in the [Tool Call
426
- message](/reference/speech-to-speech-evi/chat#receive.ToolCallMessage).
746
+ invocation, ensuring that the correct response is linked to the
747
+ appropriate request.
748
+ tool_type:
749
+ type: optional<ToolType>
750
+ docs: >-
751
+ Type of tool called. Either `builtin` for natively implemented tools,
752
+ like web search, or `function` for user-defined tools.
753
+ type:
754
+ type: literal<"tool_call">
755
+ docs: >-
756
+ The type of message sent through the socket; for a Tool Call message,
757
+ this must be `tool_call`.
758
+
759
+
760
+ This message indicates that the supplemental LLM has detected a need
761
+ to invoke the specified tool.
762
+ source:
763
+ openapi: evi-asyncapi.json
764
+ ToolErrorMessage:
765
+ docs: When provided, the output is a function call error.
766
+ properties:
767
+ code:
768
+ type: optional<string>
769
+ docs: Error code. Identifies the type of error encountered.
427
770
  content:
428
771
  type: optional<string>
429
772
  docs: >-
430
773
  Optional text passed to the supplemental LLM in place of the tool call
431
774
  result. The LLM then uses this text to generate a response back to the
432
775
  user, ensuring continuity in the conversation if the tool errors.
776
+ custom_session_id:
777
+ type: optional<string>
778
+ docs: >-
779
+ Used to manage conversational state, correlate frontend and backend
780
+ data, and persist conversations across EVI sessions.
433
781
  error:
434
782
  type: string
435
783
  docs: Error message from the tool call, not exposed to the LLM or user.
436
- code:
437
- type: optional<string>
438
- docs: Error code. Identifies the type of error encountered.
439
784
  level:
440
785
  type: optional<ErrorLevel>
441
786
  docs: >-
442
787
  Indicates the severity of an error; for a Tool Error message, this
443
788
  must be `warn` to signal an unexpected event.
444
- source:
445
- openapi: evi-asyncapi.json
446
- ToolResponseMessage:
447
- docs: When provided, the output is a function call response.
448
- properties:
449
- type:
450
- type: literal<"tool_response">
451
- docs: >-
452
- The type of message sent through the socket; for a Tool Response
453
- message, this must be `tool_response`.
454
-
455
-
456
- Upon receiving a [Tool Call
457
- message](/reference/speech-to-speech-evi/chat#receive.ToolCallMessage)
458
- and successfully invoking the function, this message is sent to convey
459
- the result of the function call back to EVI.
460
- custom_session_id:
461
- type: optional<string>
462
- docs: >-
463
- Used to manage conversational state, correlate frontend and backend
464
- data, and persist conversations across EVI sessions.
465
789
  tool_call_id:
466
790
  type: string
467
791
  docs: >-
@@ -469,406 +793,41 @@ types:
469
793
 
470
794
 
471
795
  This ID is used to track the request and response of a particular tool
472
- invocation, ensuring that the correct response is linked to the
473
- appropriate request. The specified `tool_call_id` must match the one
474
- received in the [Tool Call
475
- message](/reference/speech-to-speech-evi/chat#receive.ToolCallMessage.tool_call_id).
476
- content:
477
- type: string
478
- docs: >-
479
- Return value of the tool call. Contains the output generated by the
480
- tool to pass back to EVI.
481
- tool_name:
482
- type: optional<string>
483
- docs: >-
484
- Name of the tool.
485
-
486
-
487
- Include this optional field to help the supplemental LLM identify
488
- which tool generated the response. The specified `tool_name` must
489
- match the one received in the [Tool Call
796
+ invocation, ensuring that the Tool Error message is linked to the
797
+ appropriate tool call request. The specified `tool_call_id` must match
798
+ the one received in the [Tool Call
490
799
  message](/reference/speech-to-speech-evi/chat#receive.ToolCallMessage).
491
800
  tool_type:
492
801
  type: optional<ToolType>
493
802
  docs: >-
494
803
  Type of tool called. Either `builtin` for natively implemented tools,
495
804
  like web search, or `function` for user-defined tools.
496
- source:
497
- openapi: evi-asyncapi.json
498
- ToolType:
499
- enum:
500
- - builtin
501
- - function
502
- source:
503
- openapi: evi-asyncapi.json
504
- UserInput:
505
- docs: >-
506
- User text to insert into the conversation. Text sent through a User Input
507
- message is treated as the user's speech to EVI. EVI processes this input
508
- and provides a corresponding response.
509
-
510
-
511
- Expression measurement results are not available for User Input messages,
512
- as the prosody model relies on audio input and cannot process text alone.
513
- properties:
514
- type:
515
- type: literal<"user_input">
516
- docs: >-
517
- The type of message sent through the socket; must be `user_input` for
518
- our server to correctly identify and process it as a User Input
519
- message.
520
- custom_session_id:
521
- type: optional<string>
522
- docs: >-
523
- Used to manage conversational state, correlate frontend and backend
524
- data, and persist conversations across EVI sessions.
525
- text:
526
- type: string
527
- docs: >-
528
- User text to insert into the conversation. Text sent through a User
529
- Input message is treated as the user's speech to EVI. EVI processes
530
- this input and provides a corresponding response.
531
-
532
-
533
- Expression measurement results are not available for User Input
534
- messages, as the prosody model relies on audio input and cannot
535
- process text alone.
536
- source:
537
- openapi: evi-asyncapi.json
538
- AssistantEnd:
539
- docs: When provided, the output is an assistant end message.
540
- properties:
541
805
  type:
542
- type: literal<"assistant_end">
806
+ type: literal<"tool_error">
543
807
  docs: >-
544
- The type of message sent through the socket; for an Assistant End
545
- message, this must be `assistant_end`.
808
+ The type of message sent through the socket; for a Tool Error message,
809
+ this must be `tool_error`.
546
810
 
547
811
 
548
- This message indicates the conclusion of the assistant's response,
549
- signaling that the assistant has finished speaking for the current
550
- conversational turn.
551
- custom_session_id:
552
- type: optional<string>
553
- docs: >-
554
- Used to manage conversational state, correlate frontend and backend
555
- data, and persist conversations across EVI sessions.
556
- source:
557
- openapi: evi-asyncapi.json
558
- AssistantMessage:
559
- docs: When provided, the output is an assistant message.
560
- properties:
561
- type:
562
- type: literal<"assistant_message">
563
- docs: >-
564
- The type of message sent through the socket; for an Assistant Message,
565
- this must be `assistant_message`.
566
-
567
-
568
- This message contains both a transcript of the assistant's response
569
- and the expression measurement predictions of the assistant's audio
570
- output.
571
- custom_session_id:
572
- type: optional<string>
573
- docs: >-
574
- Used to manage conversational state, correlate frontend and backend
575
- data, and persist conversations across EVI sessions.
576
- id:
577
- type: optional<string>
578
- docs: >-
579
- ID of the assistant message. Allows the Assistant Message to be
580
- tracked and referenced.
581
- message:
582
- type: ChatMessage
583
- docs: Transcript of the message.
584
- models:
585
- type: Inference
586
- docs: Inference model results.
587
- from_text:
588
- type: boolean
589
- docs: >-
590
- Indicates if this message was inserted into the conversation as text
591
- from an [Assistant Input
592
- message](/reference/speech-to-speech-evi/chat#send.AssistantInput.text).
593
- source:
594
- openapi: evi-asyncapi.json
595
- AssistantProsody:
596
- docs: When provided, the output is an Assistant Prosody message.
597
- properties:
598
- type:
599
- type: literal<"assistant_prosody">
600
- docs: >-
601
- The type of message sent through the socket; for an Assistant Prosody
602
- message, this must be `assistant_PROSODY`.
603
-
604
-
605
- This message the expression measurement predictions of the assistant's
606
- audio output.
607
- custom_session_id:
608
- type: optional<string>
609
- docs: >-
610
- Used to manage conversational state, correlate frontend and backend
611
- data, and persist conversations across EVI sessions.
612
- models:
613
- type: Inference
614
- docs: Inference model results.
615
- id:
616
- type: optional<string>
617
- docs: Unique identifier for the segment.
618
- source:
619
- openapi: evi-asyncapi.json
620
- AudioOutput:
621
- docs: >-
622
- The type of message sent through the socket; for an Audio Output message,
623
- this must be `audio_output`.
624
- properties:
625
- type:
626
- type: literal<"audio_output">
627
- docs: >-
628
- The type of message sent through the socket; for an Audio Output
629
- message, this must be `audio_output`.
630
- custom_session_id:
631
- type: optional<string>
632
- docs: >-
633
- Used to manage conversational state, correlate frontend and backend
634
- data, and persist conversations across EVI sessions.
635
- id:
636
- type: string
637
- docs: >-
638
- ID of the audio output. Allows the Audio Output message to be tracked
639
- and referenced.
640
- index:
641
- type: integer
642
- docs: Index of the chunk of audio relative to the whole audio segment.
643
- data:
644
- type: string
645
- docs: >-
646
- Base64 encoded audio output. This encoded audio is transmitted to the
647
- client, where it can be decoded and played back as part of the user
648
- interaction.
649
- source:
650
- openapi: evi-asyncapi.json
651
- ChatMessageToolResult:
652
- discriminated: false
653
- docs: Function call response from client.
654
- union:
655
- - type: ToolResponseMessage
656
- - type: ToolErrorMessage
657
- source:
658
- openapi: evi-asyncapi.json
659
- inline: true
660
- ChatMessage:
661
- properties:
662
- role:
663
- type: Role
664
- docs: Role of who is providing the message.
665
- content:
666
- type: optional<string>
667
- docs: Transcript of the message.
668
- tool_call:
669
- type: optional<ToolCallMessage>
670
- docs: Function call name and arguments.
671
- tool_result:
672
- type: optional<ChatMessageToolResult>
673
- docs: Function call response from client.
674
- source:
675
- openapi: evi-asyncapi.json
676
- ChatMetadata:
677
- docs: When provided, the output is a chat metadata message.
678
- properties:
679
- type:
680
- type: literal<"chat_metadata">
681
- docs: >-
682
- The type of message sent through the socket; for a Chat Metadata
683
- message, this must be `chat_metadata`.
684
-
685
-
686
- The Chat Metadata message is the first message you receive after
687
- establishing a connection with EVI and contains important identifiers
688
- for the current Chat session.
689
- custom_session_id:
690
- type: optional<string>
691
- docs: >-
692
- Used to manage conversational state, correlate frontend and backend
693
- data, and persist conversations across EVI sessions.
694
- chat_group_id:
695
- type: string
696
- docs: >-
697
- ID of the Chat Group.
698
-
699
-
700
- Used to resume a Chat when passed in the
701
- [resumed_chat_group_id](/reference/speech-to-speech-evi/chat#request.query.resumed_chat_group_id)
702
- query parameter of a subsequent connection request. This allows EVI to
703
- continue the conversation from where it left off within the Chat
704
- Group.
705
-
706
-
707
- Learn more about [supporting chat
708
- resumability](/docs/speech-to-speech-evi/faq#does-evi-support-chat-resumability)
709
- from the EVI FAQ.
710
- chat_id:
711
- type: string
712
- docs: >-
713
- ID of the Chat session. Allows the Chat session to be tracked and
714
- referenced.
715
- request_id:
716
- type: optional<string>
717
- docs: ID of the initiating request.
718
- source:
719
- openapi: evi-asyncapi.json
720
- EmotionScores:
721
- properties:
722
- Admiration: double
723
- Adoration: double
724
- Aesthetic Appreciation: double
725
- Amusement: double
726
- Anger: double
727
- Anxiety: double
728
- Awe: double
729
- Awkwardness: double
730
- Boredom: double
731
- Calmness: double
732
- Concentration: double
733
- Confusion: double
734
- Contemplation: double
735
- Contempt: double
736
- Contentment: double
737
- Craving: double
738
- Desire: double
739
- Determination: double
740
- Disappointment: double
741
- Disgust: double
742
- Distress: double
743
- Doubt: double
744
- Ecstasy: double
745
- Embarrassment: double
746
- Empathic Pain: double
747
- Entrancement: double
748
- Envy: double
749
- Excitement: double
750
- Fear: double
751
- Guilt: double
752
- Horror: double
753
- Interest: double
754
- Joy: double
755
- Love: double
756
- Nostalgia: double
757
- Pain: double
758
- Pride: double
759
- Realization: double
760
- Relief: double
761
- Romance: double
762
- Sadness: double
763
- Satisfaction: double
764
- Shame: double
765
- Surprise (negative): double
766
- Surprise (positive): double
767
- Sympathy: double
768
- Tiredness: double
769
- Triumph: double
770
- source:
771
- openapi: evi-asyncapi.json
772
- WebSocketError:
773
- docs: When provided, the output is an error message.
774
- properties:
775
- type:
776
- type: literal<"error">
777
- docs: >-
778
- The type of message sent through the socket; for a Web Socket Error
779
- message, this must be `error`.
780
-
781
-
782
- This message indicates a disruption in the WebSocket connection, such
783
- as an unexpected disconnection, protocol error, or data transmission
784
- issue.
785
- custom_session_id:
786
- type: optional<string>
787
- docs: >-
788
- Used to manage conversational state, correlate frontend and backend
789
- data, and persist conversations across EVI sessions.
790
- code:
791
- type: string
792
- docs: Error code. Identifies the type of error encountered.
793
- slug:
794
- type: string
795
- docs: >-
796
- Short, human-readable identifier and description for the error. See a
797
- complete list of error slugs on the [Errors
798
- page](/docs/resources/errors).
799
- message:
800
- type: string
801
- docs: Detailed description of the error.
802
- request_id:
803
- type: optional<string>
804
- docs: ID of the initiating request.
805
- source:
806
- openapi: evi-asyncapi.json
807
- Inference:
808
- properties:
809
- prosody:
810
- type: optional<ProsodyInference>
811
- docs: >-
812
- Prosody model inference results.
813
-
814
-
815
- EVI uses the prosody model to measure 48 emotions related to speech
816
- and vocal characteristics within a given expression.
817
- source:
818
- openapi: evi-asyncapi.json
819
- MillisecondInterval:
820
- properties:
821
- begin:
822
- type: integer
823
- docs: Start time of the interval in milliseconds.
824
- end:
825
- type: integer
826
- docs: End time of the interval in milliseconds.
827
- source:
828
- openapi: evi-asyncapi.json
829
- ProsodyInference:
830
- properties:
831
- scores:
832
- type: EmotionScores
833
- docs: >-
834
- The confidence scores for 48 emotions within the detected expression
835
- of an audio sample.
836
-
837
-
838
- Scores typically range from 0 to 1, with higher values indicating a
839
- stronger confidence level in the measured attribute.
840
-
841
-
842
- See our guide on [interpreting expression measurement
843
- results](/docs/expression-measurement/faq#how-do-i-interpret-my-results)
844
- to learn more.
845
- source:
846
- openapi: evi-asyncapi.json
847
- Role:
848
- enum:
849
- - assistant
850
- - system
851
- - user
852
- - all
853
- - tool
812
+ Upon receiving a [Tool Call
813
+ message](/reference/speech-to-speech-evi/chat#receive.ToolCallMessage)
814
+ and failing to invoke the function, this message is sent to notify EVI
815
+ of the tool's failure.
854
816
  source:
855
817
  openapi: evi-asyncapi.json
856
- ToolCallMessage:
857
- docs: When provided, the output is a tool call.
818
+ ToolResponseMessage:
819
+ docs: When provided, the output is a function call response.
858
820
  properties:
859
- name:
860
- type: string
861
- docs: Name of the tool called.
862
- parameters:
821
+ content:
863
822
  type: string
864
823
  docs: >-
865
- Parameters of the tool.
866
-
867
-
868
- These parameters define the inputs needed for the tool's execution,
869
- including the expected data type and description for each input field.
870
- Structured as a stringified JSON schema, this format ensures the tool
871
- receives data in the expected format.
824
+ Return value of the tool call. Contains the output generated by the
825
+ tool to pass back to EVI.
826
+ custom_session_id:
827
+ type: optional<string>
828
+ docs: >-
829
+ Used to manage conversational state, correlate frontend and backend
830
+ data, and persist conversations across EVI sessions.
872
831
  tool_call_id:
873
832
  type: string
874
833
  docs: >-
@@ -877,39 +836,88 @@ types:
877
836
 
878
837
  This ID is used to track the request and response of a particular tool
879
838
  invocation, ensuring that the correct response is linked to the
880
- appropriate request.
839
+ appropriate request. The specified `tool_call_id` must match the one
840
+ received in the [Tool Call
841
+ message](/reference/speech-to-speech-evi/chat#receive.ToolCallMessage.tool_call_id).
842
+ tool_name:
843
+ type: optional<string>
844
+ docs: >-
845
+ Name of the tool.
846
+
847
+
848
+ Include this optional field to help the supplemental LLM identify
849
+ which tool generated the response. The specified `tool_name` must
850
+ match the one received in the [Tool Call
851
+ message](/reference/speech-to-speech-evi/chat#receive.ToolCallMessage).
852
+ tool_type:
853
+ type: optional<ToolType>
854
+ docs: >-
855
+ Type of tool called. Either `builtin` for natively implemented tools,
856
+ like web search, or `function` for user-defined tools.
881
857
  type:
882
- type: literal<"tool_call">
858
+ type: literal<"tool_response">
883
859
  docs: >-
884
- The type of message sent through the socket; for a Tool Call message,
885
- this must be `tool_call`.
860
+ The type of message sent through the socket; for a Tool Response
861
+ message, this must be `tool_response`.
886
862
 
887
863
 
888
- This message indicates that the supplemental LLM has detected a need
889
- to invoke the specified tool.
864
+ Upon receiving a [Tool Call
865
+ message](/reference/speech-to-speech-evi/chat#receive.ToolCallMessage)
866
+ and successfully invoking the function, this message is sent to convey
867
+ the result of the function call back to EVI.
868
+ source:
869
+ openapi: evi-asyncapi.json
870
+ ToolType:
871
+ enum:
872
+ - builtin
873
+ - function
874
+ source:
875
+ openapi: evi-asyncapi.json
876
+ UserInput:
877
+ docs: >-
878
+ User text to insert into the conversation. Text sent through a User Input
879
+ message is treated as the user's speech to EVI. EVI processes this input
880
+ and provides a corresponding response.
881
+
882
+
883
+ Expression measurement results are not available for User Input messages,
884
+ as the prosody model relies on audio input and cannot process text alone.
885
+ properties:
890
886
  custom_session_id:
891
887
  type: optional<string>
892
888
  docs: >-
893
889
  Used to manage conversational state, correlate frontend and backend
894
890
  data, and persist conversations across EVI sessions.
895
- tool_type:
896
- type: optional<ToolType>
891
+ text:
892
+ type: string
897
893
  docs: >-
898
- Type of tool called. Either `builtin` for natively implemented tools,
899
- like web search, or `function` for user-defined tools.
900
- response_required:
901
- type: boolean
894
+ User text to insert into the conversation. Text sent through a User
895
+ Input message is treated as the user's speech to EVI. EVI processes
896
+ this input and provides a corresponding response.
897
+
898
+
899
+ Expression measurement results are not available for User Input
900
+ messages, as the prosody model relies on audio input and cannot
901
+ process text alone.
902
+ type:
903
+ type: literal<"user_input">
902
904
  docs: >-
903
- Indicates whether a response to the tool call is required from the
904
- developer, either in the form of a [Tool Response
905
- message](/reference/speech-to-speech-evi/chat#send.ToolResponseMessage)
906
- or a [Tool Error
907
- message](/reference/speech-to-speech-evi/chat#send.ToolErrorMessage).
905
+ The type of message sent through the socket; must be `user_input` for
906
+ our server to correctly identify and process it as a User Input
907
+ message.
908
908
  source:
909
909
  openapi: evi-asyncapi.json
910
910
  UserInterruption:
911
911
  docs: When provided, the output is an interruption.
912
912
  properties:
913
+ custom_session_id:
914
+ type: optional<string>
915
+ docs: >-
916
+ Used to manage conversational state, correlate frontend and backend
917
+ data, and persist conversations across EVI sessions.
918
+ time:
919
+ type: integer
920
+ docs: Unix timestamp of the detected user interruption.
913
921
  type:
914
922
  type: literal<"user_interruption">
915
923
  docs: >-
@@ -922,46 +930,16 @@ types:
922
930
  message to signal the interruption event. This message allows the
923
931
  system to stop the current audio playback, clear the audio queue, and
924
932
  prepare to handle new user input.
925
- custom_session_id:
926
- type: optional<string>
927
- docs: >-
928
- Used to manage conversational state, correlate frontend and backend
929
- data, and persist conversations across EVI sessions.
930
- time:
931
- type: integer
932
- docs: Unix timestamp of the detected user interruption.
933
933
  source:
934
934
  openapi: evi-asyncapi.json
935
935
  UserMessage:
936
936
  docs: When provided, the output is a user message.
937
937
  properties:
938
- type:
939
- type: literal<"user_message">
940
- docs: >-
941
- The type of message sent through the socket; for a User Message, this
942
- must be `user_message`.
943
-
944
-
945
- This message contains both a transcript of the user's input and the
946
- expression measurement predictions if the input was sent as an [Audio
947
- Input message](/reference/speech-to-speech-evi/chat#send.AudioInput).
948
- Expression measurement predictions are not provided for a [User Input
949
- message](/reference/speech-to-speech-evi/chat#send.UserInput), as the
950
- prosody model relies on audio input and cannot process text alone.
951
938
  custom_session_id:
952
939
  type: optional<string>
953
940
  docs: >-
954
941
  Used to manage conversational state, correlate frontend and backend
955
942
  data, and persist conversations across EVI sessions.
956
- message:
957
- type: ChatMessage
958
- docs: Transcript of the message.
959
- models:
960
- type: Inference
961
- docs: Inference model results.
962
- time:
963
- type: MillisecondInterval
964
- docs: Start and End time of user message.
965
943
  from_text:
966
944
  type: boolean
967
945
  docs: >-
@@ -986,6 +964,28 @@ types:
986
964
  Interim transcripts are only sent when the
987
965
  [`verbose_transcription`](/reference/speech-to-speech-evi/chat#request.query.verbose_transcription)
988
966
  query parameter is set to `true` in the initial handshake.
967
+ message:
968
+ type: ChatMessage
969
+ docs: Transcript of the message.
970
+ models:
971
+ type: Inference
972
+ docs: Inference model results.
973
+ time:
974
+ type: MillisecondInterval
975
+ docs: Start and End time of user message.
976
+ type:
977
+ type: literal<"user_message">
978
+ docs: >-
979
+ The type of message sent through the socket; for a User Message, this
980
+ must be `user_message`.
981
+
982
+
983
+ This message contains both a transcript of the user's input and the
984
+ expression measurement predictions if the input was sent as an [Audio
985
+ Input message](/reference/speech-to-speech-evi/chat#send.AudioInput).
986
+ Expression measurement predictions are not provided for a [User Input
987
+ message](/reference/speech-to-speech-evi/chat#send.UserInput), as the
988
+ prosody model relies on audio input and cannot process text alone.
989
989
  source:
990
990
  openapi: evi-asyncapi.json
991
991
  JsonMessage:
@@ -1075,6 +1075,18 @@ types:
1075
1075
  name: Gpt5Mini
1076
1076
  - value: gpt-5-nano
1077
1077
  name: Gpt5Nano
1078
+ - value: gpt-4o-priority
1079
+ name: Gpt4OPriority
1080
+ - value: gpt-4o-mini-priority
1081
+ name: Gpt4OMiniPriority
1082
+ - value: gpt-4.1-priority
1083
+ name: Gpt41Priority
1084
+ - value: gpt-5-priority
1085
+ name: Gpt5Priority
1086
+ - value: gpt-5-mini-priority
1087
+ name: Gpt5MiniPriority
1088
+ - value: gpt-5-nano-priority
1089
+ name: Gpt5NanoPriority
1078
1090
  - value: gemma-7b-it
1079
1091
  name: Gemma7BIt
1080
1092
  - value: llama3-8b-8192
@@ -1165,20 +1177,29 @@ types:
1165
1177
  docs: Model provider associated with this Voice Name.
1166
1178
  source:
1167
1179
  openapi: evi-openapi.json
1180
+ WebhookEventBase:
1181
+ docs: Represents the fields common to all webhook events.
1182
+ properties:
1183
+ chat_group_id:
1184
+ type: string
1185
+ docs: Unique ID of the **Chat Group** associated with the **Chat** session.
1186
+ chat_id:
1187
+ type: string
1188
+ docs: Unique ID of the **Chat** session.
1189
+ config_id:
1190
+ type: optional<string>
1191
+ docs: Unique ID of the EVI **Config** used for the session.
1192
+ source:
1193
+ openapi: evi-openapi.json
1194
+ WebhookEvent:
1195
+ discriminated: false
1196
+ union:
1197
+ - WebhookEventChatStarted
1198
+ - WebhookEventChatEnded
1199
+ source:
1200
+ openapi: evi-openapi.json
1168
1201
  WebhookEventChatEnded:
1169
1202
  properties:
1170
- event_name:
1171
- type: optional<literal<"chat_ended">>
1172
- docs: Always `chat_ended`.
1173
- end_time:
1174
- type: integer
1175
- docs: Unix timestamp (in milliseconds) indicating when the session ended.
1176
- duration_seconds:
1177
- type: integer
1178
- docs: Total duration of the session in seconds.
1179
- end_reason:
1180
- type: WebhookEventChatStatus
1181
- docs: Reason for the session's termination.
1182
1203
  caller_number:
1183
1204
  type: optional<string>
1184
1205
  docs: >-
@@ -1193,6 +1214,18 @@ types:
1193
1214
  language
1194
1215
  model](/docs/empathic-voice-interface-evi/custom-language-model) in
1195
1216
  the EVI Config.
1217
+ duration_seconds:
1218
+ type: integer
1219
+ docs: Total duration of the session in seconds.
1220
+ end_reason:
1221
+ type: WebhookEventChatStatus
1222
+ docs: Reason for the session's termination.
1223
+ end_time:
1224
+ type: integer
1225
+ docs: Unix timestamp (in milliseconds) indicating when the session ended.
1226
+ event_name:
1227
+ type: optional<literal<"chat_ended">>
1228
+ docs: Always `chat_ended`.
1196
1229
  extends:
1197
1230
  - WebhookEventBase
1198
1231
  source:
@@ -1205,18 +1238,6 @@ types:
1205
1238
  openapi: evi-openapi.json
1206
1239
  WebhookEventChatStarted:
1207
1240
  properties:
1208
- event_name:
1209
- type: optional<literal<"chat_started">>
1210
- docs: Always `chat_started`.
1211
- start_time:
1212
- type: integer
1213
- docs: Unix timestamp (in milliseconds) indicating when the session started.
1214
- chat_start_type:
1215
- type: WebhookEventChatStartType
1216
- docs: >-
1217
- Indicates whether the chat is the first in a new Chat Group
1218
- (`new_chat_group`) or the continuation of an existing chat group
1219
- (`resumed_chat_group`).
1220
1241
  caller_number:
1221
1242
  type: optional<string>
1222
1243
  docs: >-
@@ -1224,6 +1245,12 @@ types:
1224
1245
  This field is included only if the Chat was created via the [Twilio
1225
1246
  phone calling](/docs/empathic-voice-interface-evi/phone-calling)
1226
1247
  integration.
1248
+ chat_start_type:
1249
+ type: WebhookEventChatStartType
1250
+ docs: >-
1251
+ Indicates whether the chat is the first in a new Chat Group
1252
+ (`new_chat_group`) or the continuation of an existing chat group
1253
+ (`resumed_chat_group`).
1227
1254
  custom_session_id:
1228
1255
  type: optional<string>
1229
1256
  docs: >-
@@ -1231,6 +1258,12 @@ types:
1231
1258
  language
1232
1259
  model](/docs/empathic-voice-interface-evi/custom-language-model) in
1233
1260
  the EVI Config.
1261
+ event_name:
1262
+ type: optional<literal<"chat_started">>
1263
+ docs: Always `chat_started`.
1264
+ start_time:
1265
+ type: integer
1266
+ docs: Unix timestamp (in milliseconds) indicating when the session started.
1234
1267
  extends:
1235
1268
  - WebhookEventBase
1236
1269
  source:
@@ -1246,27 +1279,6 @@ types:
1246
1279
  - ERROR
1247
1280
  source:
1248
1281
  openapi: evi-openapi.json
1249
- WebhookEvent:
1250
- discriminated: false
1251
- union:
1252
- - WebhookEventChatStarted
1253
- - WebhookEventChatEnded
1254
- source:
1255
- openapi: evi-openapi.json
1256
- WebhookEventBase:
1257
- docs: Represents the fields common to all webhook events.
1258
- properties:
1259
- chat_group_id:
1260
- type: string
1261
- docs: Unique ID of the **Chat Group** associated with the **Chat** session.
1262
- chat_id:
1263
- type: string
1264
- docs: Unique ID of the **Chat** session.
1265
- config_id:
1266
- type: optional<string>
1267
- docs: Unique ID of the EVI **Config** used for the session.
1268
- source:
1269
- openapi: evi-openapi.json
1270
1282
  ErrorResponse:
1271
1283
  properties:
1272
1284
  error: optional<string>
@@ -1531,12 +1543,12 @@ types:
1531
1543
  Version numbers are integer values representing different iterations
1532
1544
  of the Config. Each update to the Config increments its version
1533
1545
  number.
1534
- version_description:
1535
- type: optional<string>
1536
- docs: An optional description of the Config version.
1537
1546
  tools:
1538
1547
  type: optional<list<optional<ReturnUserDefinedTool>>>
1539
1548
  docs: List of user-defined tools associated with this Config.
1549
+ version_description:
1550
+ type: optional<string>
1551
+ docs: An optional description of the Config version.
1540
1552
  language_model:
1541
1553
  type: optional<ReturnLanguageModel>
1542
1554
  docs: >-