@anam-ai/js-sdk 1.3.0 → 1.4.0-alpha.2

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 (170) hide show
  1. package/README.md +63 -56
  2. package/dist/main/AnamClient.d.ts +14 -4
  3. package/dist/main/AnamClient.d.ts.map +1 -1
  4. package/dist/main/AnamClient.js +35 -14
  5. package/dist/main/AnamClient.js.map +1 -1
  6. package/dist/main/modules/InternalEventEmitter.d.ts +9 -0
  7. package/dist/main/modules/InternalEventEmitter.d.ts.map +1 -0
  8. package/dist/main/modules/InternalEventEmitter.js +28 -0
  9. package/dist/main/modules/InternalEventEmitter.js.map +1 -0
  10. package/dist/main/modules/MessageHistoryClient.d.ts +5 -6
  11. package/dist/main/modules/MessageHistoryClient.d.ts.map +1 -1
  12. package/dist/main/modules/MessageHistoryClient.js +8 -13
  13. package/dist/main/modules/MessageHistoryClient.js.map +1 -1
  14. package/dist/main/modules/PublicEventEmitter.d.ts +9 -0
  15. package/dist/main/modules/PublicEventEmitter.d.ts.map +1 -0
  16. package/dist/main/modules/PublicEventEmitter.js +28 -0
  17. package/dist/main/modules/PublicEventEmitter.js.map +1 -0
  18. package/dist/main/modules/SignallingClient.d.ts +11 -9
  19. package/dist/main/modules/SignallingClient.d.ts.map +1 -1
  20. package/dist/main/modules/SignallingClient.js +20 -25
  21. package/dist/main/modules/SignallingClient.js.map +1 -1
  22. package/dist/main/modules/StreamingClient.d.ts +11 -24
  23. package/dist/main/modules/StreamingClient.d.ts.map +1 -1
  24. package/dist/main/modules/StreamingClient.js +33 -77
  25. package/dist/main/modules/StreamingClient.js.map +1 -1
  26. package/dist/main/modules/index.d.ts +6 -0
  27. package/dist/main/modules/index.d.ts.map +1 -1
  28. package/dist/main/modules/index.js +13 -1
  29. package/dist/main/modules/index.js.map +1 -1
  30. package/dist/main/types/TalkMessageStream.d.ts +18 -0
  31. package/dist/main/types/TalkMessageStream.d.ts.map +1 -0
  32. package/dist/main/types/TalkMessageStream.js +93 -0
  33. package/dist/main/types/TalkMessageStream.js.map +1 -0
  34. package/dist/main/types/TalkMessageStreamState.d.ts +7 -0
  35. package/dist/main/types/TalkMessageStreamState.d.ts.map +1 -0
  36. package/dist/main/types/TalkMessageStreamState.js +11 -0
  37. package/dist/main/types/TalkMessageStreamState.js.map +1 -0
  38. package/dist/main/types/coreApi/index.d.ts +1 -0
  39. package/dist/main/types/coreApi/index.d.ts.map +1 -1
  40. package/dist/main/types/events/EventCallback.d.ts +2 -0
  41. package/dist/main/types/events/EventCallback.d.ts.map +1 -0
  42. package/dist/main/types/{streaming/ConnectionCallbacks.js → events/EventCallback.js} +1 -1
  43. package/dist/main/types/events/EventCallback.js.map +1 -0
  44. package/dist/main/types/events/index.d.ts +6 -0
  45. package/dist/main/types/events/index.d.ts.map +1 -0
  46. package/dist/main/types/events/index.js +8 -0
  47. package/dist/main/types/events/index.js.map +1 -0
  48. package/dist/main/types/events/internal/InternalEvent.d.ts +6 -0
  49. package/dist/main/types/events/internal/InternalEvent.d.ts.map +1 -0
  50. package/dist/main/types/events/internal/InternalEvent.js +10 -0
  51. package/dist/main/types/events/internal/InternalEvent.js.map +1 -0
  52. package/dist/main/types/events/internal/InternalEventCallbacks.d.ts +7 -0
  53. package/dist/main/types/events/internal/InternalEventCallbacks.d.ts.map +1 -0
  54. package/dist/main/types/events/internal/InternalEventCallbacks.js +4 -0
  55. package/dist/main/types/events/internal/InternalEventCallbacks.js.map +1 -0
  56. package/dist/main/types/events/public/AnamEvent.d.ts +12 -0
  57. package/dist/main/types/events/public/AnamEvent.d.ts.map +1 -0
  58. package/dist/main/types/events/public/AnamEvent.js +16 -0
  59. package/dist/main/types/events/public/AnamEvent.js.map +1 -0
  60. package/dist/main/types/events/public/EventCallbacks.d.ts +13 -0
  61. package/dist/main/types/events/public/EventCallbacks.d.ts.map +1 -0
  62. package/dist/main/types/events/public/EventCallbacks.js +4 -0
  63. package/dist/main/types/events/public/EventCallbacks.js.map +1 -0
  64. package/dist/main/types/index.d.ts +3 -0
  65. package/dist/main/types/index.d.ts.map +1 -1
  66. package/dist/main/types/index.js +5 -1
  67. package/dist/main/types/index.js.map +1 -1
  68. package/dist/main/types/signalling/SignalMessage.d.ts +3 -1
  69. package/dist/main/types/signalling/SignalMessage.d.ts.map +1 -1
  70. package/dist/main/types/signalling/SignalMessage.js +2 -0
  71. package/dist/main/types/signalling/SignalMessage.js.map +1 -1
  72. package/dist/main/types/signalling/TalkMessageStreamPayload.d.ts +7 -0
  73. package/dist/main/types/signalling/TalkMessageStreamPayload.d.ts.map +1 -0
  74. package/dist/main/types/signalling/TalkMessageStreamPayload.js +3 -0
  75. package/dist/main/types/signalling/TalkMessageStreamPayload.js.map +1 -0
  76. package/dist/main/types/signalling/TalkStreamInterruptedSignalMessage.d.ts +5 -0
  77. package/dist/main/types/signalling/TalkStreamInterruptedSignalMessage.d.ts.map +1 -0
  78. package/dist/main/types/signalling/TalkStreamInterruptedSignalMessage.js +11 -0
  79. package/dist/main/types/signalling/TalkStreamInterruptedSignalMessage.js.map +1 -0
  80. package/dist/main/types/streaming/index.d.ts +0 -1
  81. package/dist/main/types/streaming/index.d.ts.map +1 -1
  82. package/dist/module/AnamClient.d.ts +14 -4
  83. package/dist/module/AnamClient.d.ts.map +1 -1
  84. package/dist/module/AnamClient.js +33 -12
  85. package/dist/module/AnamClient.js.map +1 -1
  86. package/dist/module/modules/InternalEventEmitter.d.ts +9 -0
  87. package/dist/module/modules/InternalEventEmitter.d.ts.map +1 -0
  88. package/dist/module/modules/InternalEventEmitter.js +24 -0
  89. package/dist/module/modules/InternalEventEmitter.js.map +1 -0
  90. package/dist/module/modules/MessageHistoryClient.d.ts +5 -6
  91. package/dist/module/modules/MessageHistoryClient.d.ts.map +1 -1
  92. package/dist/module/modules/MessageHistoryClient.js +9 -14
  93. package/dist/module/modules/MessageHistoryClient.js.map +1 -1
  94. package/dist/module/modules/PublicEventEmitter.d.ts +9 -0
  95. package/dist/module/modules/PublicEventEmitter.d.ts.map +1 -0
  96. package/dist/module/modules/PublicEventEmitter.js +24 -0
  97. package/dist/module/modules/PublicEventEmitter.js.map +1 -0
  98. package/dist/module/modules/SignallingClient.d.ts +11 -9
  99. package/dist/module/modules/SignallingClient.d.ts.map +1 -1
  100. package/dist/module/modules/SignallingClient.js +21 -26
  101. package/dist/module/modules/SignallingClient.js.map +1 -1
  102. package/dist/module/modules/StreamingClient.d.ts +11 -24
  103. package/dist/module/modules/StreamingClient.d.ts.map +1 -1
  104. package/dist/module/modules/StreamingClient.js +29 -73
  105. package/dist/module/modules/StreamingClient.js.map +1 -1
  106. package/dist/module/modules/index.d.ts +6 -0
  107. package/dist/module/modules/index.d.ts.map +1 -1
  108. package/dist/module/modules/index.js +6 -0
  109. package/dist/module/modules/index.js.map +1 -1
  110. package/dist/module/types/TalkMessageStream.d.ts +18 -0
  111. package/dist/module/types/TalkMessageStream.d.ts.map +1 -0
  112. package/dist/module/types/TalkMessageStream.js +89 -0
  113. package/dist/module/types/TalkMessageStream.js.map +1 -0
  114. package/dist/module/types/TalkMessageStreamState.d.ts +7 -0
  115. package/dist/module/types/TalkMessageStreamState.d.ts.map +1 -0
  116. package/dist/module/types/TalkMessageStreamState.js +8 -0
  117. package/dist/module/types/TalkMessageStreamState.js.map +1 -0
  118. package/dist/module/types/coreApi/index.d.ts +1 -0
  119. package/dist/module/types/coreApi/index.d.ts.map +1 -1
  120. package/dist/module/types/events/EventCallback.d.ts +2 -0
  121. package/dist/module/types/events/EventCallback.d.ts.map +1 -0
  122. package/dist/module/types/events/EventCallback.js +2 -0
  123. package/dist/module/types/events/EventCallback.js.map +1 -0
  124. package/dist/module/types/events/index.d.ts +6 -0
  125. package/dist/module/types/events/index.d.ts.map +1 -0
  126. package/dist/module/types/events/index.js +3 -0
  127. package/dist/module/types/events/index.js.map +1 -0
  128. package/dist/module/types/events/internal/InternalEvent.d.ts +6 -0
  129. package/dist/module/types/events/internal/InternalEvent.d.ts.map +1 -0
  130. package/dist/module/types/events/internal/InternalEvent.js +7 -0
  131. package/dist/module/types/events/internal/InternalEvent.js.map +1 -0
  132. package/dist/module/types/events/internal/InternalEventCallbacks.d.ts +7 -0
  133. package/dist/module/types/events/internal/InternalEventCallbacks.d.ts.map +1 -0
  134. package/dist/module/types/events/internal/InternalEventCallbacks.js +2 -0
  135. package/dist/module/types/events/internal/InternalEventCallbacks.js.map +1 -0
  136. package/dist/module/types/events/public/AnamEvent.d.ts +12 -0
  137. package/dist/module/types/events/public/AnamEvent.d.ts.map +1 -0
  138. package/dist/module/types/events/public/AnamEvent.js +13 -0
  139. package/dist/module/types/events/public/AnamEvent.js.map +1 -0
  140. package/dist/module/types/events/public/EventCallbacks.d.ts +13 -0
  141. package/dist/module/types/events/public/EventCallbacks.d.ts.map +1 -0
  142. package/dist/module/types/events/public/EventCallbacks.js +2 -0
  143. package/dist/module/types/events/public/EventCallbacks.js.map +1 -0
  144. package/dist/module/types/index.d.ts +3 -0
  145. package/dist/module/types/index.d.ts.map +1 -1
  146. package/dist/module/types/index.js +2 -0
  147. package/dist/module/types/index.js.map +1 -1
  148. package/dist/module/types/signalling/SignalMessage.d.ts +3 -1
  149. package/dist/module/types/signalling/SignalMessage.d.ts.map +1 -1
  150. package/dist/module/types/signalling/SignalMessage.js +2 -0
  151. package/dist/module/types/signalling/SignalMessage.js.map +1 -1
  152. package/dist/module/types/signalling/TalkMessageStreamPayload.d.ts +7 -0
  153. package/dist/module/types/signalling/TalkMessageStreamPayload.d.ts.map +1 -0
  154. package/dist/module/types/signalling/TalkMessageStreamPayload.js +2 -0
  155. package/dist/module/types/signalling/TalkMessageStreamPayload.js.map +1 -0
  156. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.d.ts +5 -0
  157. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.d.ts.map +1 -0
  158. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.js +7 -0
  159. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.js.map +1 -0
  160. package/dist/module/types/streaming/index.d.ts +0 -1
  161. package/dist/module/types/streaming/index.d.ts.map +1 -1
  162. package/dist/umd/anam.js +1 -1
  163. package/package.json +1 -1
  164. package/dist/main/types/streaming/ConnectionCallbacks.d.ts +0 -14
  165. package/dist/main/types/streaming/ConnectionCallbacks.d.ts.map +0 -1
  166. package/dist/main/types/streaming/ConnectionCallbacks.js.map +0 -1
  167. package/dist/module/types/streaming/ConnectionCallbacks.d.ts +0 -14
  168. package/dist/module/types/streaming/ConnectionCallbacks.d.ts.map +0 -1
  169. package/dist/module/types/streaming/ConnectionCallbacks.js +0 -2
  170. package/dist/module/types/streaming/ConnectionCallbacks.js.map +0 -1
package/README.md CHANGED
@@ -133,9 +133,6 @@ If you wish to control the microphone input audio capture yourself you can inste
133
133
  anamClient.streamToVideoAndAudioElements(
134
134
  'video-element-id',
135
135
  'audio-element-id',
136
- {
137
- /** register any callbacks **/
138
- },
139
136
  userProvidedMediaStream,
140
137
  );
141
138
  ```
@@ -219,33 +216,30 @@ const anamClient = createClient(
219
216
  | ---------------- | ------------------------ | ------ | ------------------------------------------------------- | ----------- |
220
217
  | `voiceDetection` | `endOfSpeechSensitivity` | number | Adjusts the sensitivity of the end-of-speech detection. | Coming soon |
221
218
 
222
- ## Using Callbacks
219
+ ## Listening to Events
223
220
 
224
- When starting a steam you can pass callback functions to the Anam client which will fire on specific events during the session.
221
+ After initialising the Anam client you can register any event listeners using the `addListener` method.
225
222
 
226
223
  ```typescript
227
- await anamClient.streamToVideoAndAudioElements(
228
- 'video_element_id',
229
- 'audio_element_id',
230
- {
231
- onConnectionEstablishedCallback: onConnectionEstablished,
232
- onConnectionClosedCallback: onConnectionClosed,
233
- onVideoPlayStartedCallback: onVideoPlayStarted,
234
- onMessageHistoryUpdatedCallback: onMessageHistoryUpdated,
235
- },
236
- );
224
+ anamClient.addListener(AnamEvent.CONNECTION_ESTABLISHED, () => {
225
+ console.log('Connection Established');
226
+ });
227
+
228
+ anamClient.addListener(AnamEvent.MESSAGE_HISTORY_UPDATED, (messages) => {
229
+ console.log('Updated Messages: ', messages);
230
+ });
237
231
  ```
238
232
 
239
- ### Available Callback Functions
233
+ ### Event Types
240
234
 
241
- | Callback Name | Description |
242
- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
243
- | `onConnectionEstablishedCallback` | Called when the direct connection between the browser and the Anam Engine has been established. |
244
- | `onConnectionClosedCallback` | Called when the direct connection between the browser and the Anam Engine has been closed. |
245
- | `onVideoPlayStartedCallback` | When streaming directly to a video element this callback is called when the first frames start playing. Useful for removing any loading indicators during connection. |
246
- | `onMessageHistoryUpdatedCallback` | Called with the message history transcription of the current session each time the user or the persona finishes speaking. |
247
- | `onMessageStreamEventCallback` | For persona speech, this stream is updated with each transcribed speech chunk as the persona is speaking. For the user speech this stream is updated with a complete transcription of the user's sentence once they finish speaking |
248
- | `onInputAudioStreamStartCallback` | Called with the users input audio stream when microphone input has been initialised. |
235
+ | Event Name | Description |
236
+ | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
237
+ | `CONNECTION_ESTABLISHED` | Called when the direct connection between the browser and the Anam Engine has been established. |
238
+ | `CONNECTION_CLOSED` | Called when the direct connection between the browser and the Anam Engine has been closed. |
239
+ | `VIDEO_PLAY_STARTED` | When streaming directly to a video element this event is fired when the first frames start playing. Useful for removing any loading indicators during connection. |
240
+ | `MESSAGE_HISTORY_UPDATED` | Called with the message history transcription of the current session each time the user or the persona finishes speaking. |
241
+ | `MESSAGE_STREAM_EVENT_RECEIVED` | For persona speech, this stream is updated with each transcribed speech chunk as the persona is speaking. For the user speech this stream is updated with a complete transcription of the user's sentence once they finish speaking |
242
+ | `INPUT_AUDIO_STREAM_STARTED` | Called with the users input audio stream when microphone input has been initialised. |
249
243
 
250
244
  # Personas
251
245
 
@@ -255,44 +249,57 @@ Available personas are managed via the [Anam API](https://api.anam.ai/api).
255
249
 
256
250
  ### Listing Available Personas
257
251
 
258
- To list all personas available for your account use the `/v1/persona` endpoint.
252
+ To list all personas available for your account use the `/v1/personas` endpoint.
259
253
 
260
254
  ```bash
261
255
  # Example Request
262
- curl -X GET "https://api.anam.ai/v1/persona" -H "Authorization: Bearer your-api-key"
256
+ curl -X GET "https://api.anam.ai/v1/personas" -H "Authorization: Bearer your-api-key"
263
257
 
264
258
  # Example Response
265
- [
266
- {
267
- "id": "3c6025f0-698d-4e8d-b619-9c97a2750584",
268
- "name": "Eva",
269
- "description": "Eva is the virtual receptionist of the Sunset Hotel.",
270
- "personaPreset": "eva",
271
- "createdAt": "2021-01-01T00:00:00Z",
272
- "updatedAt": "2021-01-02T00:00:00Z"
259
+
260
+ {
261
+ "data": [
262
+ {
263
+ "id": "773a8ca8-efd8-4449-9305-8b8bc1591475",
264
+ "name": "Leo",
265
+ "description": "Leo is the virtual receptionist of the Sunset Hotel.",
266
+ "personaPreset": "leo",
267
+ "isDefaultPersona": true,
268
+ "createdAt": "2021-01-01T00:00:00Z",
269
+ "updatedAt": "2021-01-02T00:00:00Z"
270
+ }
271
+ ],
272
+ "meta": {
273
+ "total": 1,
274
+ "lastPage": 0,
275
+ "currentPage": 1,
276
+ "perPage": 10,
277
+ "prev": 0,
278
+ "next": 0
273
279
  }
274
- ]
280
+ }
281
+
275
282
  ```
276
283
 
277
- By default each account includes our example persona 'Eva'. The virtual receptionist of the Sunset Hotel.
284
+ Every Anam account has access to a pre-defined list of 'default personas', identifiable by the `isDefaultPersona` attribute. Currently there is one default persona 'Leo', the virtual receptionist of the Sunset Hotel.
278
285
 
279
- > **Quick start**: Make a note of the ID for the Eva persona and use this to initialise the SDK.
286
+ > **Quick start**: Use the persona id `773a8ca8-efd8-4449-9305-8b8bc1591475` when initialising the SDK if you wish to try out Leo.
280
287
 
281
- To show more detail about a specific persona you can use the `/v1/persona/{id}` endpoint.
288
+ To show more detail about a specific persona you can use the `/v1/personas/{id}` endpoint.
282
289
 
283
290
  ```bash
284
291
  # Example Request
285
- curl -X GET "https://api.anam.ai/v1/persona/3c6025f0-698d-4e8d-b619-9c97a2750584" -H "Authorization: Bearer your-api-key"
292
+ curl -X GET "https://api.anam.ai/v1/personas/773a8ca8-efd8-4449-9305-8b8bc1591475" -H "Authorization: Bearer your-api-key"
286
293
 
287
294
  # Example Response
288
295
  {
289
- "id": "3c6025f0-698d-4e8d-b619-9c97a2750584",
290
- "name": "Eva",
291
- "description": "Eva is the virtual receptionist of the Sunset Hotel.",
292
- "personaPreset": "eva",
296
+ "id": "773a8ca8-efd8-4449-9305-8b8bc1591475",
297
+ "name": "Leo",
298
+ "description": "Leo is the virtual receptionist of the Sunset Hotel.",
299
+ "personaPreset": "leo",
293
300
  "brain": {
294
301
  "id": "3c4525f0-698d-4e8d-b619-8c97a23780512",
295
- "personality": "You are role-playing as a text chatbot hotel receptionist at The Sunset Hotel. Your name is Eva.",
302
+ "personality": "You are role-playing as a text chatbot hotel receptionist at The Sunset Hotel. Your name is Leo.",
296
303
  "systemPrompt": "You are role-playing as a text chatbot hotel receptionist at The Sunset Hotel...",
297
304
  "fillerPhrases": ["One moment please.", "Let me check that for you."],
298
305
  "createdAt": "2021-01-01T00:00:00Z",
@@ -303,12 +310,12 @@ curl -X GET "https://api.anam.ai/v1/persona/3c6025f0-698d-4e8d-b619-9c97a2750584
303
310
 
304
311
  ### Creating Custom Personas
305
312
 
306
- You can create your own custom personas by using the `/v1/persona` endpoint via a `POST` request which defined the following properties:
313
+ You can create your own custom personas by using the `/v1/personas` endpoint via a `POST` request which defined the following properties:
307
314
  | Persona parameter | Description |
308
315
  |----------------|---------------------------------------------------------------------------------------------------------|
309
316
  | `name` | The name for the persona. This is used as a human-readable identifier for the persona. |
310
317
  | `description` | A brief description of the persona. This is optional and helps provide context about the persona's role. Not used by calls to the LLM|
311
- | `personaPreset`| Defines the face and voice of the persona from a list of available presets. Currently the only available preset is `eva` |
318
+ | `personaPreset`| Defines the face and voice of the persona from a list of available presets. |
312
319
  | `brain` | Configuration for the persona's LLM 'brain' including the system prompt, personality, and filler phrases.|
313
320
 
314
321
  | Brain Parameter | Description |
@@ -321,13 +328,13 @@ Example usage
321
328
 
322
329
  ```bash
323
330
  # Example Request
324
- curl -X POST "https://api.anam.ai/v1/persona" -H "Content-Type: application/json" -H "Authorization: Bearer your-api-key" -d '{
325
- "name": "Eva",
326
- "description": "Eva is the virtual receptionist of the Sunset Hotel.",
327
- "personaPreset": "eva",
331
+ curl -X POST "https://api.anam.ai/v1/personas" -H "Content-Type: application/json" -H "Authorization: Bearer your-api-key" -d '{
332
+ "name": "Leo",
333
+ "description": "Leo is the virtual receptionist of the Sunset Hotel.",
334
+ "personaPreset": "leo",
328
335
  "brain": {
329
- "systemPrompt": "You are Eva, a virtual receptionist...",
330
- "personality": "You are role-playing as a text chatbot hotel receptionist at The Sunset Hotel. Your name is Eva.",
336
+ "systemPrompt": "You are Leo, a virtual receptionist...",
337
+ "personality": "You are role-playing as a text chatbot hotel receptionist at The Sunset Hotel. Your name is Leo.",
331
338
  "fillerPhrases": ["One moment please.", "Let me check that for you."]
332
339
  }
333
340
  }'
@@ -335,13 +342,13 @@ curl -X POST "https://api.anam.ai/v1/persona" -H "Content-Type: application/json
335
342
  # Example Response
336
343
  {
337
344
  "id": "new_persona_id",
338
- "name": "Eva",
339
- "description": "Eva is the virtual receptionist of the Sunset Hotel.",
340
- "personaPreset": "eva",
345
+ "name": "Leo",
346
+ "description": "Leo is the virtual receptionist of the Sunset Hotel.",
347
+ "personaPreset": "leo",
341
348
  "brain": {
342
349
  "id": "new_brain_id",
343
350
  "personality": "helpful and friendly",
344
- "systemPrompt": "You are Eva, a virtual receptionist...",
351
+ "systemPrompt": "You are Leo, a virtual receptionist...",
345
352
  "fillerPhrases": ["One moment please...", "Let me check that for you..."],
346
353
  "createdAt": "2021-01-01T00:00:00Z",
347
354
  "updatedAt": "2021-01-02T00:00:00Z"
@@ -1,8 +1,12 @@
1
- import { ConnectionCallbacks, InputAudioState, PersonaConfig } from './types';
2
- import { AnamClientOptions } from './types/AnamClientOptions';
1
+ import { MessageHistoryClient } from './modules';
2
+ import { TalkMessageStream } from './types/TalkMessageStream';
3
+ import { AnamEvent, EventCallbacks, InputAudioState, PersonaConfig, AnamClientOptions } from './types';
3
4
  export default class AnamClient {
5
+ private publicEventEmitter;
6
+ private internalEventEmitter;
4
7
  protected sessionToken: string | undefined;
5
8
  protected apiKey: string | undefined;
9
+ protected messageHistoryClient: MessageHistoryClient;
6
10
  private personaConfig;
7
11
  private clientOptions;
8
12
  private inputAudioState;
@@ -15,8 +19,8 @@ export default class AnamClient {
15
19
  private buildStartSessionOptionsForClient;
16
20
  private startSession;
17
21
  private startSessionIfNeeded;
18
- stream(callbacks?: ConnectionCallbacks, userProvidedAudioStream?: MediaStream): Promise<MediaStream[]>;
19
- streamToVideoAndAudioElements(videoElementId: string, audioElementId: string, callbacks?: ConnectionCallbacks, userProvidedMediaStream?: MediaStream): Promise<void>;
22
+ stream(userProvidedAudioStream?: MediaStream): Promise<MediaStream[]>;
23
+ streamToVideoAndAudioElements(videoElementId: string, audioElementId: string, userProvidedMediaStream?: MediaStream): Promise<void>;
20
24
  talk(content: string): Promise<void>;
21
25
  sendDataMessage(message: string): void;
22
26
  stopStreaming(): Promise<void>;
@@ -26,5 +30,11 @@ export default class AnamClient {
26
30
  getInputAudioState(): InputAudioState;
27
31
  muteInputAudio(): InputAudioState;
28
32
  unmuteInputAudio(): InputAudioState;
33
+ createTalkMessageStream(correlationId?: string): TalkMessageStream;
34
+ /**
35
+ * Event handling
36
+ */
37
+ addListener<K extends AnamEvent>(event: K, callback: EventCallbacks[K]): void;
38
+ removeListener<K extends AnamEvent>(event: K, callback: EventCallbacks[K]): void;
29
39
  }
30
40
  //# sourceMappingURL=AnamClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnamClient.d.ts","sourceRoot":"","sources":["../../src/AnamClient.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,aAAa,EAEd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,eAAe,CAAuC;IAE9D,OAAO,CAAC,SAAS,CAAuB;IAExC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,SAAS,CAAoB;IAErC,OAAO,CAAC,YAAY,CAAS;gBAG3B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,iBAAiB;IAuB7B,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,iCAAiC;YAY3B,YAAY;YAyDZ,oBAAoB;IAiBrB,MAAM,CACjB,SAAS,GAAE,mBAAwB,EACnC,uBAAuB,CAAC,EAAE,WAAW,GACpC,OAAO,CAAC,WAAW,EAAE,CAAC;IAmCZ,6BAA6B,CACxC,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,SAAS,GAAE,mBAAwB,EACnC,uBAAuB,CAAC,EAAE,WAAW,GACpC,OAAO,CAAC,IAAI,CAAC;IAiBH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQhC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC,WAAW,IAAI,OAAO;IAItB,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAIpD,gBAAgB,IAAI,aAAa,GAAG,SAAS;IAI7C,kBAAkB,IAAI,eAAe;IAOrC,cAAc,IAAI,eAAe;IAYjC,gBAAgB,IAAI,eAAe;CAW3C"}
1
+ {"version":3,"file":"AnamClient.d.ts","sourceRoot":"","sources":["../../src/AnamClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,oBAAoB,EAErB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,EAEb,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAEjB,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,oBAAoB,CAAuB;IAEnD,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAErD,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,eAAe,CAAuC;IAE9D,OAAO,CAAC,SAAS,CAAuB;IAExC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,SAAS,CAAoB;IAErC,OAAO,CAAC,YAAY,CAAS;gBAG3B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,iBAAiB;IA8B7B,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,iCAAiC;YAY3B,YAAY;YA8DZ,oBAAoB;IAiBrB,MAAM,CACjB,uBAAuB,CAAC,EAAE,WAAW,GACpC,OAAO,CAAC,WAAW,EAAE,CAAC;IAoCZ,6BAA6B,CACxC,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,uBAAuB,CAAC,EAAE,WAAW,GACpC,OAAO,CAAC,IAAI,CAAC;IAiBH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQhC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC,WAAW,IAAI,OAAO;IAItB,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAIpD,gBAAgB,IAAI,aAAa,GAAG,SAAS;IAI7C,kBAAkB,IAAI,eAAe;IAOrC,cAAc,IAAI,eAAe;IAYjC,gBAAgB,IAAI,eAAe;IAYnC,uBAAuB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAezE;;OAEG;IACI,WAAW,CAAC,CAAC,SAAS,SAAS,EACpC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,IAAI;IAIA,cAAc,CAAC,CAAC,SAAS,SAAS,EACvC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,IAAI;CAGR"}
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- const CoreApiRestClient_1 = require("./modules/CoreApiRestClient");
13
- const StreamingClient_1 = require("./modules/StreamingClient");
12
+ const modules_1 = require("./modules");
13
+ const types_1 = require("./types");
14
14
  class AnamClient {
15
15
  constructor(sessionToken, personaConfig, options) {
16
16
  this.inputAudioState = { isMuted: false };
@@ -25,7 +25,10 @@ class AnamClient {
25
25
  this.apiKey = options === null || options === void 0 ? void 0 : options.apiKey;
26
26
  this.personaConfig = personaConfig;
27
27
  this.clientOptions = options;
28
- this.apiClient = new CoreApiRestClient_1.CoreApiRestClient(sessionToken, options === null || options === void 0 ? void 0 : options.apiKey, options === null || options === void 0 ? void 0 : options.api);
28
+ this.publicEventEmitter = new modules_1.PublicEventEmitter();
29
+ this.internalEventEmitter = new modules_1.InternalEventEmitter();
30
+ this.apiClient = new modules_1.CoreApiRestClient(sessionToken, options === null || options === void 0 ? void 0 : options.apiKey, options === null || options === void 0 ? void 0 : options.api);
31
+ this.messageHistoryClient = new modules_1.MessageHistoryClient(this.publicEventEmitter, this.internalEventEmitter);
29
32
  }
30
33
  validateClientConfig(sessionToken, personaConfig, options) {
31
34
  // Validate authentication configuration
@@ -83,7 +86,7 @@ class AnamClient {
83
86
  const { sessionId, clientConfig, engineHost, engineProtocol, signallingEndpoint, } = response;
84
87
  const { heartbeatIntervalSeconds, maxWsReconnectionAttempts, iceServers, } = clientConfig;
85
88
  // create a new streaming client
86
- this.streamingClient = new StreamingClient_1.StreamingClient(sessionId, {
89
+ this.streamingClient = new modules_1.StreamingClient(sessionId, {
87
90
  engine: {
88
91
  baseUrl: `${engineProtocol}://${engineHost}`,
89
92
  },
@@ -101,7 +104,7 @@ class AnamClient {
101
104
  inputAudioState: this.inputAudioState,
102
105
  userProvidedMediaStream: userProvidedAudioStream,
103
106
  },
104
- });
107
+ }, this.publicEventEmitter, this.internalEventEmitter);
105
108
  this.sessionId = sessionId;
106
109
  return sessionId;
107
110
  }
@@ -125,27 +128,27 @@ class AnamClient {
125
128
  }
126
129
  });
127
130
  }
128
- stream() {
129
- return __awaiter(this, arguments, void 0, function* (callbacks = {}, userProvidedAudioStream) {
131
+ stream(userProvidedAudioStream) {
132
+ return __awaiter(this, void 0, void 0, function* () {
130
133
  yield this.startSessionIfNeeded(userProvidedAudioStream);
131
134
  if (this._isStreaming) {
132
135
  throw new Error('Already streaming');
133
136
  }
134
137
  this._isStreaming = true;
135
138
  return new Promise((resolve) => {
136
- var _a, _b, _c;
139
+ var _a;
137
140
  // set stream callbacks to capture the stream
138
141
  const streams = [];
139
142
  let videoReceived = false;
140
143
  let audioReceived = false;
141
- (_a = this.streamingClient) === null || _a === void 0 ? void 0 : _a.setOnVideoStreamStartCallback((videoStream) => {
144
+ this.publicEventEmitter.addListener(types_1.AnamEvent.VIDEO_STREAM_STARTED, (videoStream) => {
142
145
  streams.push(videoStream);
143
146
  videoReceived = true;
144
147
  if (audioReceived) {
145
148
  resolve(streams);
146
149
  }
147
150
  });
148
- (_b = this.streamingClient) === null || _b === void 0 ? void 0 : _b.setOnAudioStreamStartCallback((audioStream) => {
151
+ this.publicEventEmitter.addListener(types_1.AnamEvent.AUDIO_STREAM_STARTED, (audioStream) => {
149
152
  streams.push(audioStream);
150
153
  audioReceived = true;
151
154
  if (videoReceived) {
@@ -153,12 +156,12 @@ class AnamClient {
153
156
  }
154
157
  });
155
158
  // start streaming
156
- (_c = this.streamingClient) === null || _c === void 0 ? void 0 : _c.startConnection(callbacks);
159
+ (_a = this.streamingClient) === null || _a === void 0 ? void 0 : _a.startConnection();
157
160
  });
158
161
  });
159
162
  }
160
- streamToVideoAndAudioElements(videoElementId_1, audioElementId_1) {
161
- return __awaiter(this, arguments, void 0, function* (videoElementId, audioElementId, callbacks = {}, userProvidedMediaStream) {
163
+ streamToVideoAndAudioElements(videoElementId, audioElementId, userProvidedMediaStream) {
164
+ return __awaiter(this, void 0, void 0, function* () {
162
165
  yield this.startSessionIfNeeded(userProvidedMediaStream);
163
166
  if (this._isStreaming) {
164
167
  throw new Error('Already streaming');
@@ -168,7 +171,7 @@ class AnamClient {
168
171
  throw new Error('Failed to stream: streaming client is not available');
169
172
  }
170
173
  this.streamingClient.setMediaStreamTargetsById(videoElementId, audioElementId);
171
- this.streamingClient.startConnection(callbacks);
174
+ this.streamingClient.startConnection();
172
175
  });
173
176
  }
174
177
  talk(content) {
@@ -235,6 +238,24 @@ class AnamClient {
235
238
  }
236
239
  return this.inputAudioState;
237
240
  }
241
+ createTalkMessageStream(correlationId) {
242
+ if (!this.streamingClient) {
243
+ throw new Error('Failed to start chat message stream: session is not started.');
244
+ }
245
+ if (correlationId && correlationId.trim() === '') {
246
+ throw new Error('Failed to start chat message stream: correlationId is empty');
247
+ }
248
+ return this.streamingClient.startTalkMessageStream(correlationId);
249
+ }
250
+ /**
251
+ * Event handling
252
+ */
253
+ addListener(event, callback) {
254
+ this.publicEventEmitter.addListener(event, callback);
255
+ }
256
+ removeListener(event, callback) {
257
+ this.publicEventEmitter.removeListener(event, callback);
258
+ }
238
259
  }
239
260
  exports.default = AnamClient;
240
261
  //# sourceMappingURL=AnamClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnamClient.js","sourceRoot":"","sources":["../../src/AnamClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnamClient.js","sourceRoot":"","sources":["../../src/AnamClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { InternalEvent, InternalEventCallbacks } from '../types';
2
+ export declare class InternalEventEmitter {
3
+ private listeners;
4
+ constructor();
5
+ addListener<K extends InternalEvent>(event: K, callback: InternalEventCallbacks[K]): void;
6
+ removeListener<K extends InternalEvent>(event: K, callback: InternalEventCallbacks[K]): void;
7
+ emit<K extends InternalEvent>(event: K, ...args: InternalEventCallbacks[K] extends (...args: infer P) => any ? P : never): void;
8
+ }
9
+ //# sourceMappingURL=InternalEventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/modules/InternalEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEjE,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAEV;;IAIA,WAAW,CAAC,CAAC,SAAS,aAAa,EACxC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAClC,IAAI;IASA,cAAc,CAAC,CAAC,SAAS,aAAa,EAC3C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAClC,IAAI;IAKA,IAAI,CAAC,CAAC,SAAS,aAAa,EACjC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAChE,CAAC,GACD,KAAK,GACR,IAAI;CAQR"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InternalEventEmitter = void 0;
4
+ class InternalEventEmitter {
5
+ constructor() {
6
+ this.listeners = {};
7
+ }
8
+ addListener(event, callback) {
9
+ if (!this.listeners[event]) {
10
+ this.listeners[event] = new Set();
11
+ }
12
+ this.listeners[event].add(callback);
13
+ }
14
+ removeListener(event, callback) {
15
+ if (!this.listeners[event])
16
+ return;
17
+ this.listeners[event].delete(callback);
18
+ }
19
+ emit(event, ...args) {
20
+ if (!this.listeners[event])
21
+ return;
22
+ this.listeners[event].forEach((callback) => {
23
+ callback(...args);
24
+ });
25
+ }
26
+ }
27
+ exports.InternalEventEmitter = InternalEventEmitter;
28
+ //# sourceMappingURL=InternalEventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalEventEmitter.js","sourceRoot":"","sources":["../../../src/modules/InternalEventEmitter.ts"],"names":[],"mappings":";;;AAEA,MAAa,oBAAoB;IAK/B;QAJQ,cAAS,GAEb,EAAE,CAAC;IAEQ,CAAC;IAET,WAAW,CAChB,KAAQ,EACR,QAAmC;QAEnC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAoC,GAAG,IAAI,GAAG,EAEhE,CAAC;QACN,CAAC;QACA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAoC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAEM,cAAc,CACnB,KAAQ,EACR,QAAmC;QAEnC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAoC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAEM,IAAI,CACT,KAAQ,EACR,GAAG,IAEM;QAET,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAoC,CAAC,OAAO,CAC/D,CAAC,QAAQ,EAAE,EAAE;YACV,QAAqC,CAAC,GAAG,IAAI,CAAC,CAAC;QAClD,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAxCD,oDAwCC"}
@@ -1,14 +1,13 @@
1
- import { Message, WebRtcTextMessageEvent, MessageStreamEvent } from '../types';
1
+ import { WebRtcTextMessageEvent } from '../types';
2
+ import { PublicEventEmitter, InternalEventEmitter } from '../modules';
2
3
  export declare class MessageHistoryClient {
4
+ private publicEventEmitter;
5
+ private internalEventEmitter;
3
6
  private messages;
4
- private onMessageHistoryUpdated;
5
- private onMessageStreamEvent;
6
- constructor(onMessageHistoryUpdated?: (messages: Message[]) => void);
7
+ constructor(publicEventEmitter: PublicEventEmitter, internalEventEmitter: InternalEventEmitter);
7
8
  private webRtcTextMessageEventToMessageStreamEvent;
8
9
  private processUserMessage;
9
10
  private processPersonaMessage;
10
11
  processWebRtcTextMessageEvent(event: WebRtcTextMessageEvent): void;
11
- setOnMessageHistoryUpdated(onMessageHistoryUpdated: (messages: Message[]) => void): void;
12
- setOnMessageStreamEvent(onMessageStreamEvent: (messageEvent: MessageStreamEvent) => void): void;
13
12
  }
14
13
  //# sourceMappingURL=MessageHistoryClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageHistoryClient.d.ts","sourceRoot":"","sources":["../../../src/modules/MessageHistoryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,sBAAsB,EAEtB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO,CAAC,uBAAuB,CAA8C;IAE7E,OAAO,CAAC,oBAAoB,CAEd;gBAEF,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI;IAInE,OAAO,CAAC,0CAA0C;IAYlD,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,qBAAqB;IAyBtB,6BAA6B,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAqBlE,0BAA0B,CAC/B,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,GACrD,IAAI;IAIA,uBAAuB,CAC5B,oBAAoB,EAAE,CAAC,YAAY,EAAE,kBAAkB,KAAK,IAAI,GAC/D,IAAI;CAGR"}
1
+ {"version":3,"file":"MessageHistoryClient.d.ts","sourceRoot":"","sources":["../../../src/modules/MessageHistoryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAKvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACtE,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,oBAAoB,CAAuB;IAEnD,OAAO,CAAC,QAAQ,CAAiB;gBAG/B,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB;IAW5C,OAAO,CAAC,0CAA0C;IAYlD,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,qBAAqB;IAyBtB,6BAA6B,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAwB1E"}
@@ -3,9 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MessageHistoryClient = void 0;
4
4
  const types_1 = require("../types");
5
5
  class MessageHistoryClient {
6
- constructor(onMessageHistoryUpdated) {
6
+ constructor(publicEventEmitter, internalEventEmitter) {
7
7
  this.messages = [];
8
- this.onMessageHistoryUpdated = onMessageHistoryUpdated;
8
+ this.publicEventEmitter = publicEventEmitter;
9
+ this.internalEventEmitter = internalEventEmitter;
10
+ // register for events
11
+ this.internalEventEmitter.addListener(types_1.InternalEvent.WEBRTC_CHAT_MESSAGE_RECEIVED, this.processWebRtcTextMessageEvent.bind(this));
9
12
  }
10
13
  webRtcTextMessageEventToMessageStreamEvent(event) {
11
14
  return {
@@ -48,9 +51,7 @@ class MessageHistoryClient {
48
51
  processWebRtcTextMessageEvent(event) {
49
52
  const messageStreamEvent = this.webRtcTextMessageEventToMessageStreamEvent(event);
50
53
  // pass to callback stream
51
- if (this.onMessageStreamEvent) {
52
- this.onMessageStreamEvent(messageStreamEvent);
53
- }
54
+ this.publicEventEmitter.emit(types_1.AnamEvent.MESSAGE_STREAM_EVENT_RECEIVED, messageStreamEvent);
54
55
  // update the message history
55
56
  switch (messageStreamEvent.role) {
56
57
  case types_1.MessageRole.USER:
@@ -60,16 +61,10 @@ class MessageHistoryClient {
60
61
  this.processPersonaMessage(messageStreamEvent);
61
62
  break;
62
63
  }
63
- if (messageStreamEvent.endOfSpeech && this.onMessageHistoryUpdated) {
64
- this.onMessageHistoryUpdated(this.messages);
64
+ if (messageStreamEvent.endOfSpeech) {
65
+ this.publicEventEmitter.emit(types_1.AnamEvent.MESSAGE_HISTORY_UPDATED, this.messages);
65
66
  }
66
67
  }
67
- setOnMessageHistoryUpdated(onMessageHistoryUpdated) {
68
- this.onMessageHistoryUpdated = onMessageHistoryUpdated;
69
- }
70
- setOnMessageStreamEvent(onMessageStreamEvent) {
71
- this.onMessageStreamEvent = onMessageStreamEvent;
72
- }
73
68
  }
74
69
  exports.MessageHistoryClient = MessageHistoryClient;
75
70
  //# sourceMappingURL=MessageHistoryClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageHistoryClient.js","sourceRoot":"","sources":["../../../src/modules/MessageHistoryClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageHistoryClient.js","sourceRoot":"","sources":["../../../src/modules/MessageHistoryClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { AnamEvent, EventCallbacks } from '../types';
2
+ export declare class PublicEventEmitter {
3
+ private listeners;
4
+ constructor();
5
+ addListener<K extends AnamEvent>(event: K, callback: EventCallbacks[K]): void;
6
+ removeListener<K extends AnamEvent>(event: K, callback: EventCallbacks[K]): void;
7
+ emit<K extends AnamEvent>(event: K, ...args: EventCallbacks[K] extends (...args: infer P) => any ? P : never): void;
8
+ }
9
+ //# sourceMappingURL=PublicEventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublicEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/modules/PublicEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAErD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAEV;;IAIA,WAAW,CAAC,CAAC,SAAS,SAAS,EACpC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,IAAI;IASA,cAAc,CAAC,CAAC,SAAS,SAAS,EACvC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,IAAI;IAKA,IAAI,CAAC,CAAC,SAAS,SAAS,EAC7B,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,GACvE,IAAI;CAMR"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PublicEventEmitter = void 0;
4
+ class PublicEventEmitter {
5
+ constructor() {
6
+ this.listeners = {};
7
+ }
8
+ addListener(event, callback) {
9
+ if (!this.listeners[event]) {
10
+ this.listeners[event] = new Set();
11
+ }
12
+ this.listeners[event].add(callback);
13
+ }
14
+ removeListener(event, callback) {
15
+ if (!this.listeners[event])
16
+ return;
17
+ this.listeners[event].delete(callback);
18
+ }
19
+ emit(event, ...args) {
20
+ if (!this.listeners[event])
21
+ return;
22
+ this.listeners[event].forEach((callback) => {
23
+ callback(...args);
24
+ });
25
+ }
26
+ }
27
+ exports.PublicEventEmitter = PublicEventEmitter;
28
+ //# sourceMappingURL=PublicEventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublicEventEmitter.js","sourceRoot":"","sources":["../../../src/modules/PublicEventEmitter.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IAK7B;QAJQ,cAAS,GAEb,EAAE,CAAC;IAEQ,CAAC;IAET,WAAW,CAChB,KAAQ,EACR,QAA2B;QAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,CAA4B,GAAG,IAAI,GAAG,EAExD,CAAC;QACN,CAAC;QACA,IAAI,CAAC,SAAS,CAAC,KAAK,CAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEM,cAAc,CACnB,KAAQ,EACR,QAA2B;QAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;IAEM,IAAI,CACT,KAAQ,EACR,GAAG,IAAqE;QAExE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAA4B,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpE,QAAqC,CAAC,GAAG,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AApCD,gDAoCC"}
@@ -1,23 +1,25 @@
1
- import { SignalMessage, SignallingClientOptions } from '../types';
1
+ import { SignallingClientOptions } from '../types';
2
+ import { PublicEventEmitter, InternalEventEmitter } from '../modules';
3
+ import { TalkMessageStreamPayload } from '../types/signalling/TalkMessageStreamPayload';
2
4
  export declare class SignallingClient {
3
- protected url: URL;
4
- protected sessionId: string;
5
- protected heartbeatIntervalSeconds: number;
6
- protected maxWsReconnectionAttempts: number;
7
- protected onSignalMessageReceivedCallback?: (msg: SignalMessage) => Promise<void> | void;
8
- protected onClientConnectedCallback?: () => Promise<void> | void;
9
- protected onClientConnectionFailureCallback?: () => Promise<void> | void;
5
+ private publicEventEmitter;
6
+ private internalEventEmitter;
7
+ private url;
8
+ private sessionId;
9
+ private heartbeatIntervalSeconds;
10
+ private maxWsReconnectionAttempts;
10
11
  private stopSignal;
11
12
  private sendingBuffer;
12
13
  private wsConnectionAttempts;
13
14
  private socket;
14
15
  private heartBeatIntervalRef;
15
- constructor(sessionId: string, options: SignallingClientOptions, onSignalMessageReceivedCallback?: (msg: SignalMessage) => Promise<void> | void, onClientConnectedCallback?: () => Promise<void> | void, onClientConnectionFailureCallback?: () => Promise<void> | void);
16
+ constructor(sessionId: string, options: SignallingClientOptions, publicEventEmitter: PublicEventEmitter, internalEventEmitter: InternalEventEmitter);
16
17
  stop(): void;
17
18
  connect(): WebSocket;
18
19
  sendOffer(localDescription: RTCSessionDescription): Promise<void>;
19
20
  sendIceCandidate(candidate: RTCIceCandidate): Promise<void>;
20
21
  private sendSignalMessage;
22
+ sendChatMessage(payload: TalkMessageStreamPayload): Promise<void>;
21
23
  private closeSocket;
22
24
  private onOpen;
23
25
  private onClose;