@anam-ai/js-sdk 3.4.1-oz-alpha.5 → 3.5.0-test.0

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 (420) hide show
  1. package/dist/{types → main}/AnamClient.d.ts.map +1 -1
  2. package/dist/main/AnamClient.js +421 -0
  3. package/dist/main/AnamClient.js.map +1 -0
  4. package/dist/{types → main}/index.d.ts +2 -1
  5. package/dist/main/index.d.ts.map +1 -0
  6. package/dist/main/index.js +50 -0
  7. package/dist/main/index.js.map +1 -0
  8. package/dist/{types → main}/lib/ClientError.d.ts +1 -0
  9. package/dist/main/lib/ClientError.d.ts.map +1 -0
  10. package/dist/main/lib/ClientError.js +34 -0
  11. package/dist/main/lib/ClientError.js.map +1 -0
  12. package/dist/main/lib/ClientMetrics.js +287 -0
  13. package/dist/main/lib/ClientMetrics.js.map +1 -0
  14. package/dist/{types → main}/lib/constants.d.ts +0 -1
  15. package/dist/{types → main}/lib/constants.d.ts.map +1 -1
  16. package/dist/main/lib/constants.js +14 -0
  17. package/dist/main/lib/constants.js.map +1 -0
  18. package/dist/main/lib/correlationId.js +13 -0
  19. package/dist/main/lib/correlationId.js.map +1 -0
  20. package/dist/main/lib/version.js +6 -0
  21. package/dist/main/lib/version.js.map +1 -0
  22. package/dist/{types → main}/modules/CoreApiRestClient.d.ts.map +1 -1
  23. package/dist/main/modules/CoreApiRestClient.js +127 -0
  24. package/dist/main/modules/CoreApiRestClient.js.map +1 -0
  25. package/dist/main/modules/EngineApiRestClient.js +42 -0
  26. package/dist/main/modules/EngineApiRestClient.js.map +1 -0
  27. package/dist/main/modules/InternalEventEmitter.js +28 -0
  28. package/dist/main/modules/InternalEventEmitter.js.map +1 -0
  29. package/dist/main/modules/MessageHistoryClient.js +70 -0
  30. package/dist/main/modules/MessageHistoryClient.js.map +1 -0
  31. package/dist/main/modules/PublicEventEmitter.js +37 -0
  32. package/dist/main/modules/PublicEventEmitter.js.map +1 -0
  33. package/dist/{types → main}/modules/SignallingClient.d.ts +14 -8
  34. package/dist/main/modules/SignallingClient.d.ts.map +1 -0
  35. package/dist/main/modules/SignallingClient.js +210 -0
  36. package/dist/main/modules/SignallingClient.js.map +1 -0
  37. package/dist/{types → main}/modules/StreamingClient.d.ts.map +1 -1
  38. package/dist/main/modules/StreamingClient.js +530 -0
  39. package/dist/main/modules/StreamingClient.js.map +1 -0
  40. package/dist/main/modules/index.js +18 -0
  41. package/dist/main/modules/index.js.map +1 -0
  42. package/dist/main/types/AnamClientOptions.js +3 -0
  43. package/dist/main/types/AnamClientOptions.js.map +1 -0
  44. package/dist/main/types/AnamInternalClientOptions.js +3 -0
  45. package/dist/main/types/AnamInternalClientOptions.js.map +1 -0
  46. package/dist/main/types/AnamPublicClientOptions.js +3 -0
  47. package/dist/main/types/AnamPublicClientOptions.js.map +1 -0
  48. package/dist/main/types/InputAudioState.js +3 -0
  49. package/dist/main/types/InputAudioState.js.map +1 -0
  50. package/dist/main/types/PersonaConfig.js +8 -0
  51. package/dist/main/types/PersonaConfig.js.map +1 -0
  52. package/dist/main/types/TalkMessageStream.js +93 -0
  53. package/dist/main/types/TalkMessageStream.js.map +1 -0
  54. package/dist/main/types/TalkMessageStreamState.js +11 -0
  55. package/dist/main/types/TalkMessageStreamState.js.map +1 -0
  56. package/dist/main/types/VoiceDetectionOptions.js +3 -0
  57. package/dist/main/types/VoiceDetectionOptions.js.map +1 -0
  58. package/dist/main/types/coreApi/CoreApiRestClientOptions.js +3 -0
  59. package/dist/main/types/coreApi/CoreApiRestClientOptions.js.map +1 -0
  60. package/dist/main/types/coreApi/StartSessionOptions.js +3 -0
  61. package/dist/main/types/coreApi/StartSessionOptions.js.map +1 -0
  62. package/dist/{types → main}/types/coreApi/StartSessionResponse.d.ts +2 -2
  63. package/dist/{types → main}/types/coreApi/StartSessionResponse.d.ts.map +1 -1
  64. package/dist/main/types/coreApi/StartSessionResponse.js +3 -0
  65. package/dist/main/types/coreApi/StartSessionResponse.js.map +1 -0
  66. package/dist/main/types/coreApi/index.js +3 -0
  67. package/dist/main/types/coreApi/index.js.map +1 -0
  68. package/dist/main/types/engineApi/EngineApiRestClientOptions.js +3 -0
  69. package/dist/main/types/engineApi/EngineApiRestClientOptions.js.map +1 -0
  70. package/dist/main/types/engineApi/index.js +2 -0
  71. package/dist/main/types/engineApi/index.js.map +1 -0
  72. package/dist/main/types/events/EventCallback.js +3 -0
  73. package/dist/main/types/events/EventCallback.js.map +1 -0
  74. package/dist/main/types/events/index.js +10 -0
  75. package/dist/main/types/events/index.js.map +1 -0
  76. package/dist/main/types/events/internal/InternalEvent.js +10 -0
  77. package/dist/main/types/events/internal/InternalEvent.js.map +1 -0
  78. package/dist/main/types/events/internal/InternalEventCallbacks.js +4 -0
  79. package/dist/main/types/events/internal/InternalEventCallbacks.js.map +1 -0
  80. package/dist/main/types/events/public/AnamEvent.js +18 -0
  81. package/dist/main/types/events/public/AnamEvent.js.map +1 -0
  82. package/dist/main/types/events/public/ConnectionClosedCodes.js +12 -0
  83. package/dist/main/types/events/public/ConnectionClosedCodes.js.map +1 -0
  84. package/dist/main/types/events/public/EventCallbacks.js +4 -0
  85. package/dist/main/types/events/public/EventCallbacks.js.map +1 -0
  86. package/dist/main/types/index.js +14 -0
  87. package/dist/main/types/index.js.map +1 -0
  88. package/dist/main/types/messageHistory/Message.js +3 -0
  89. package/dist/main/types/messageHistory/Message.js.map +1 -0
  90. package/dist/main/types/messageHistory/MessageRole.js +9 -0
  91. package/dist/main/types/messageHistory/MessageRole.js.map +1 -0
  92. package/dist/main/types/messageHistory/MessageStreamEvent.js +3 -0
  93. package/dist/main/types/messageHistory/MessageStreamEvent.js.map +1 -0
  94. package/dist/main/types/messageHistory/index.js +6 -0
  95. package/dist/main/types/messageHistory/index.js.map +1 -0
  96. package/dist/{types → main}/types/signalling/SignalMessage.d.ts +0 -2
  97. package/dist/{types → main}/types/signalling/SignalMessage.d.ts.map +1 -1
  98. package/dist/main/types/signalling/SignalMessage.js +16 -0
  99. package/dist/main/types/signalling/SignalMessage.js.map +1 -0
  100. package/dist/main/types/signalling/SignallingClientOptions.d.ts +12 -0
  101. package/dist/main/types/signalling/SignallingClientOptions.d.ts.map +1 -0
  102. package/dist/main/types/signalling/SignallingClientOptions.js +3 -0
  103. package/dist/main/types/signalling/SignallingClientOptions.js.map +1 -0
  104. package/dist/main/types/signalling/TalkMessageStreamPayload.js +3 -0
  105. package/dist/main/types/signalling/TalkMessageStreamPayload.js.map +1 -0
  106. package/dist/main/types/signalling/TalkStreamInterruptedSignalMessage.js +11 -0
  107. package/dist/main/types/signalling/TalkStreamInterruptedSignalMessage.js.map +1 -0
  108. package/dist/main/types/signalling/index.d.ts +4 -0
  109. package/dist/main/types/signalling/index.d.ts.map +1 -0
  110. package/dist/main/types/signalling/index.js +6 -0
  111. package/dist/main/types/signalling/index.js.map +1 -0
  112. package/dist/main/types/streaming/InputAudioOptions.js +3 -0
  113. package/dist/main/types/streaming/InputAudioOptions.js.map +1 -0
  114. package/dist/main/types/streaming/StreamingClientOptions.js +3 -0
  115. package/dist/main/types/streaming/StreamingClientOptions.js.map +1 -0
  116. package/dist/main/types/streaming/WebRtcTextMessageEvent.js +3 -0
  117. package/dist/main/types/streaming/WebRtcTextMessageEvent.js.map +1 -0
  118. package/dist/main/types/streaming/index.js +3 -0
  119. package/dist/main/types/streaming/index.js.map +1 -0
  120. package/dist/module/AnamClient.d.ts +61 -0
  121. package/dist/module/AnamClient.d.ts.map +1 -0
  122. package/dist/module/AnamClient.js +418 -0
  123. package/dist/module/AnamClient.js.map +1 -0
  124. package/dist/module/index.d.ts +26 -0
  125. package/dist/module/index.d.ts.map +1 -0
  126. package/dist/module/index.js +27 -0
  127. package/dist/module/index.js.map +1 -0
  128. package/dist/module/lib/ClientError.d.ts +19 -0
  129. package/dist/module/lib/ClientError.d.ts.map +1 -0
  130. package/dist/module/lib/ClientError.js +30 -0
  131. package/dist/module/lib/ClientError.js.map +1 -0
  132. package/dist/module/lib/ClientMetrics.d.ts +56 -0
  133. package/dist/module/lib/ClientMetrics.d.ts.map +1 -0
  134. package/dist/module/lib/ClientMetrics.js +280 -0
  135. package/dist/module/lib/ClientMetrics.js.map +1 -0
  136. package/dist/module/lib/constants.d.ts +10 -0
  137. package/dist/module/lib/constants.d.ts.map +1 -0
  138. package/dist/module/lib/constants.js +11 -0
  139. package/dist/module/lib/constants.js.map +1 -0
  140. package/dist/module/lib/correlationId.d.ts +2 -0
  141. package/dist/module/lib/correlationId.d.ts.map +1 -0
  142. package/dist/module/lib/correlationId.js +9 -0
  143. package/dist/module/lib/correlationId.js.map +1 -0
  144. package/dist/module/lib/version.d.ts +3 -0
  145. package/dist/module/lib/version.d.ts.map +1 -0
  146. package/dist/module/lib/version.js +3 -0
  147. package/dist/module/lib/version.js.map +1 -0
  148. package/dist/module/modules/CoreApiRestClient.d.ts +13 -0
  149. package/dist/module/modules/CoreApiRestClient.d.ts.map +1 -0
  150. package/dist/module/modules/CoreApiRestClient.js +123 -0
  151. package/dist/module/modules/CoreApiRestClient.js.map +1 -0
  152. package/dist/module/modules/EngineApiRestClient.d.ts +7 -0
  153. package/dist/module/modules/EngineApiRestClient.d.ts.map +1 -0
  154. package/dist/module/modules/EngineApiRestClient.js +38 -0
  155. package/dist/module/modules/EngineApiRestClient.js.map +1 -0
  156. package/dist/module/modules/InternalEventEmitter.d.ts +9 -0
  157. package/dist/module/modules/InternalEventEmitter.d.ts.map +1 -0
  158. package/dist/module/modules/InternalEventEmitter.js +24 -0
  159. package/dist/module/modules/InternalEventEmitter.js.map +1 -0
  160. package/dist/module/modules/MessageHistoryClient.d.ts +13 -0
  161. package/dist/module/modules/MessageHistoryClient.d.ts.map +1 -0
  162. package/dist/module/modules/MessageHistoryClient.js +66 -0
  163. package/dist/module/modules/MessageHistoryClient.js.map +1 -0
  164. package/dist/module/modules/PublicEventEmitter.d.ts +9 -0
  165. package/dist/module/modules/PublicEventEmitter.d.ts.map +1 -0
  166. package/dist/module/modules/PublicEventEmitter.js +33 -0
  167. package/dist/module/modules/PublicEventEmitter.js.map +1 -0
  168. package/dist/module/modules/SignallingClient.d.ts +31 -0
  169. package/dist/module/modules/SignallingClient.d.ts.map +1 -0
  170. package/dist/module/modules/SignallingClient.js +206 -0
  171. package/dist/module/modules/SignallingClient.js.map +1 -0
  172. package/dist/module/modules/StreamingClient.d.ts +64 -0
  173. package/dist/module/modules/StreamingClient.d.ts.map +1 -0
  174. package/dist/module/modules/StreamingClient.js +526 -0
  175. package/dist/module/modules/StreamingClient.js.map +1 -0
  176. package/dist/module/modules/index.d.ts +8 -0
  177. package/dist/module/modules/index.d.ts.map +1 -0
  178. package/dist/module/modules/index.js +8 -0
  179. package/dist/module/modules/index.js.map +1 -0
  180. package/dist/module/types/AnamClientOptions.d.ts +4 -0
  181. package/dist/module/types/AnamClientOptions.d.ts.map +1 -0
  182. package/dist/module/types/AnamClientOptions.js +2 -0
  183. package/dist/module/types/AnamClientOptions.js.map +1 -0
  184. package/dist/module/types/AnamInternalClientOptions.d.ts +4 -0
  185. package/dist/module/types/AnamInternalClientOptions.d.ts.map +1 -0
  186. package/dist/module/types/AnamInternalClientOptions.js +2 -0
  187. package/dist/module/types/AnamInternalClientOptions.js.map +1 -0
  188. package/dist/module/types/AnamPublicClientOptions.d.ts +13 -0
  189. package/dist/module/types/AnamPublicClientOptions.d.ts.map +1 -0
  190. package/dist/module/types/AnamPublicClientOptions.js +2 -0
  191. package/dist/module/types/AnamPublicClientOptions.js.map +1 -0
  192. package/dist/module/types/InputAudioState.d.ts +4 -0
  193. package/dist/module/types/InputAudioState.d.ts.map +1 -0
  194. package/dist/module/types/InputAudioState.js +2 -0
  195. package/dist/module/types/InputAudioState.js.map +1 -0
  196. package/dist/module/types/PersonaConfig.d.ts +13 -0
  197. package/dist/module/types/PersonaConfig.d.ts.map +1 -0
  198. package/dist/module/types/PersonaConfig.js +4 -0
  199. package/dist/module/types/PersonaConfig.js.map +1 -0
  200. package/dist/module/types/TalkMessageStream.d.ts +18 -0
  201. package/dist/module/types/TalkMessageStream.d.ts.map +1 -0
  202. package/dist/module/types/TalkMessageStream.js +89 -0
  203. package/dist/module/types/TalkMessageStream.js.map +1 -0
  204. package/dist/module/types/TalkMessageStreamState.d.ts +7 -0
  205. package/dist/module/types/TalkMessageStreamState.d.ts.map +1 -0
  206. package/dist/module/types/TalkMessageStreamState.js +8 -0
  207. package/dist/module/types/TalkMessageStreamState.js.map +1 -0
  208. package/dist/module/types/VoiceDetectionOptions.d.ts +4 -0
  209. package/dist/module/types/VoiceDetectionOptions.d.ts.map +1 -0
  210. package/dist/module/types/VoiceDetectionOptions.js +2 -0
  211. package/dist/module/types/VoiceDetectionOptions.js.map +1 -0
  212. package/dist/module/types/coreApi/CoreApiRestClientOptions.d.ts +5 -0
  213. package/dist/module/types/coreApi/CoreApiRestClientOptions.d.ts.map +1 -0
  214. package/dist/module/types/coreApi/CoreApiRestClientOptions.js +2 -0
  215. package/dist/module/types/coreApi/CoreApiRestClientOptions.js.map +1 -0
  216. package/dist/module/types/coreApi/StartSessionOptions.d.ts +5 -0
  217. package/dist/module/types/coreApi/StartSessionOptions.d.ts.map +1 -0
  218. package/dist/module/types/coreApi/StartSessionOptions.js +2 -0
  219. package/dist/module/types/coreApi/StartSessionOptions.js.map +1 -0
  220. package/dist/module/types/coreApi/StartSessionResponse.d.ts +13 -0
  221. package/dist/module/types/coreApi/StartSessionResponse.d.ts.map +1 -0
  222. package/dist/module/types/coreApi/StartSessionResponse.js +2 -0
  223. package/dist/module/types/coreApi/StartSessionResponse.js.map +1 -0
  224. package/dist/module/types/coreApi/index.d.ts +4 -0
  225. package/dist/module/types/coreApi/index.d.ts.map +1 -0
  226. package/dist/module/types/coreApi/index.js +2 -0
  227. package/dist/module/types/coreApi/index.js.map +1 -0
  228. package/dist/module/types/engineApi/EngineApiRestClientOptions.d.ts +4 -0
  229. package/dist/module/types/engineApi/EngineApiRestClientOptions.d.ts.map +1 -0
  230. package/dist/module/types/engineApi/EngineApiRestClientOptions.js +2 -0
  231. package/dist/module/types/engineApi/EngineApiRestClientOptions.js.map +1 -0
  232. package/dist/module/types/engineApi/index.d.ts +1 -0
  233. package/dist/module/types/engineApi/index.d.ts.map +1 -0
  234. package/dist/module/types/engineApi/index.js +2 -0
  235. package/dist/module/types/engineApi/index.js.map +1 -0
  236. package/dist/module/types/events/EventCallback.d.ts +2 -0
  237. package/dist/module/types/events/EventCallback.d.ts.map +1 -0
  238. package/dist/module/types/events/EventCallback.js +2 -0
  239. package/dist/module/types/events/EventCallback.js.map +1 -0
  240. package/dist/module/types/events/index.d.ts +7 -0
  241. package/dist/module/types/events/index.d.ts.map +1 -0
  242. package/dist/module/types/events/index.js +4 -0
  243. package/dist/module/types/events/index.js.map +1 -0
  244. package/dist/module/types/events/internal/InternalEvent.d.ts +6 -0
  245. package/dist/module/types/events/internal/InternalEvent.d.ts.map +1 -0
  246. package/dist/module/types/events/internal/InternalEvent.js +7 -0
  247. package/dist/module/types/events/internal/InternalEvent.js.map +1 -0
  248. package/dist/module/types/events/internal/InternalEventCallbacks.d.ts +7 -0
  249. package/dist/module/types/events/internal/InternalEventCallbacks.d.ts.map +1 -0
  250. package/dist/module/types/events/internal/InternalEventCallbacks.js +2 -0
  251. package/dist/module/types/events/internal/InternalEventCallbacks.js.map +1 -0
  252. package/dist/module/types/events/public/AnamEvent.d.ts +14 -0
  253. package/dist/module/types/events/public/AnamEvent.d.ts.map +1 -0
  254. package/dist/module/types/events/public/AnamEvent.js +15 -0
  255. package/dist/module/types/events/public/AnamEvent.js.map +1 -0
  256. package/dist/module/types/events/public/ConnectionClosedCodes.d.ts +8 -0
  257. package/dist/module/types/events/public/ConnectionClosedCodes.d.ts.map +1 -0
  258. package/dist/module/types/events/public/ConnectionClosedCodes.js +9 -0
  259. package/dist/module/types/events/public/ConnectionClosedCodes.js.map +1 -0
  260. package/dist/module/types/events/public/EventCallbacks.d.ts +16 -0
  261. package/dist/module/types/events/public/EventCallbacks.d.ts.map +1 -0
  262. package/dist/module/types/events/public/EventCallbacks.js +2 -0
  263. package/dist/module/types/events/public/EventCallbacks.js.map +1 -0
  264. package/dist/module/types/index.d.ts +14 -0
  265. package/dist/module/types/index.d.ts.map +1 -0
  266. package/dist/module/types/index.js +6 -0
  267. package/dist/module/types/index.js.map +1 -0
  268. package/dist/module/types/messageHistory/Message.d.ts +8 -0
  269. package/dist/module/types/messageHistory/Message.d.ts.map +1 -0
  270. package/dist/module/types/messageHistory/Message.js +2 -0
  271. package/dist/module/types/messageHistory/Message.js.map +1 -0
  272. package/dist/module/types/messageHistory/MessageRole.d.ts +5 -0
  273. package/dist/module/types/messageHistory/MessageRole.d.ts.map +1 -0
  274. package/dist/module/types/messageHistory/MessageRole.js +6 -0
  275. package/dist/module/types/messageHistory/MessageRole.js.map +1 -0
  276. package/dist/module/types/messageHistory/MessageStreamEvent.d.ts +9 -0
  277. package/dist/module/types/messageHistory/MessageStreamEvent.d.ts.map +1 -0
  278. package/dist/module/types/messageHistory/MessageStreamEvent.js +2 -0
  279. package/dist/module/types/messageHistory/MessageStreamEvent.js.map +1 -0
  280. package/dist/module/types/messageHistory/index.d.ts +4 -0
  281. package/dist/module/types/messageHistory/index.d.ts.map +1 -0
  282. package/dist/module/types/messageHistory/index.js +2 -0
  283. package/dist/module/types/messageHistory/index.js.map +1 -0
  284. package/dist/module/types/signalling/SignalMessage.d.ts +17 -0
  285. package/dist/module/types/signalling/SignalMessage.d.ts.map +1 -0
  286. package/dist/module/types/signalling/SignalMessage.js +13 -0
  287. package/dist/module/types/signalling/SignalMessage.js.map +1 -0
  288. package/dist/module/types/signalling/SignallingClientOptions.d.ts +12 -0
  289. package/dist/module/types/signalling/SignallingClientOptions.d.ts.map +1 -0
  290. package/dist/module/types/signalling/SignallingClientOptions.js +2 -0
  291. package/dist/module/types/signalling/SignallingClientOptions.js.map +1 -0
  292. package/dist/module/types/signalling/TalkMessageStreamPayload.d.ts +7 -0
  293. package/dist/module/types/signalling/TalkMessageStreamPayload.d.ts.map +1 -0
  294. package/dist/module/types/signalling/TalkMessageStreamPayload.js +2 -0
  295. package/dist/module/types/signalling/TalkMessageStreamPayload.js.map +1 -0
  296. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.d.ts +5 -0
  297. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.d.ts.map +1 -0
  298. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.js +7 -0
  299. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.js.map +1 -0
  300. package/dist/module/types/signalling/index.d.ts +4 -0
  301. package/dist/module/types/signalling/index.d.ts.map +1 -0
  302. package/dist/module/types/signalling/index.js +2 -0
  303. package/dist/module/types/signalling/index.js.map +1 -0
  304. package/dist/module/types/streaming/InputAudioOptions.d.ts +8 -0
  305. package/dist/module/types/streaming/InputAudioOptions.d.ts.map +1 -0
  306. package/dist/module/types/streaming/InputAudioOptions.js +2 -0
  307. package/dist/module/types/streaming/InputAudioOptions.js.map +1 -0
  308. package/dist/module/types/streaming/StreamingClientOptions.d.ts +14 -0
  309. package/dist/module/types/streaming/StreamingClientOptions.d.ts.map +1 -0
  310. package/dist/module/types/streaming/StreamingClientOptions.js +2 -0
  311. package/dist/module/types/streaming/StreamingClientOptions.js.map +1 -0
  312. package/dist/module/types/streaming/WebRtcTextMessageEvent.d.ts +9 -0
  313. package/dist/module/types/streaming/WebRtcTextMessageEvent.d.ts.map +1 -0
  314. package/dist/module/types/streaming/WebRtcTextMessageEvent.js +2 -0
  315. package/dist/module/types/streaming/WebRtcTextMessageEvent.js.map +1 -0
  316. package/dist/module/types/streaming/index.d.ts +4 -0
  317. package/dist/module/types/streaming/index.d.ts.map +1 -0
  318. package/dist/module/types/streaming/index.js +2 -0
  319. package/dist/module/types/streaming/index.js.map +1 -0
  320. package/dist/umd/anam.js +2 -0
  321. package/dist/umd/anam.js.LICENSE.txt +8 -0
  322. package/package.json +15 -29
  323. package/dist/index.cjs.js +0 -31
  324. package/dist/index.cjs.js.map +0 -7
  325. package/dist/index.esm.js +0 -31
  326. package/dist/index.esm.js.map +0 -7
  327. package/dist/index.js +0 -16
  328. package/dist/index.umd.js +0 -31
  329. package/dist/index.umd.js.map +0 -7
  330. package/dist/types/index.d.ts.map +0 -1
  331. package/dist/types/lib/ClientError.d.ts.map +0 -1
  332. package/dist/types/modules/SignallingClient.d.ts.map +0 -1
  333. package/dist/types/types/signalling/SignallingClientOptions.d.ts +0 -5
  334. package/dist/types/types/signalling/SignallingClientOptions.d.ts.map +0 -1
  335. package/dist/types/types/signalling/index.d.ts +0 -4
  336. package/dist/types/types/signalling/index.d.ts.map +0 -1
  337. package/src/shims/browser-polyfills.js +0 -11
  338. package/src/shims/empty.js +0 -3
  339. package/src/shims/keyv-mock.js +0 -13
  340. /package/dist/{types → main}/AnamClient.d.ts +0 -0
  341. /package/dist/{types → main}/lib/ClientMetrics.d.ts +0 -0
  342. /package/dist/{types → main}/lib/ClientMetrics.d.ts.map +0 -0
  343. /package/dist/{types → main}/lib/correlationId.d.ts +0 -0
  344. /package/dist/{types → main}/lib/correlationId.d.ts.map +0 -0
  345. /package/dist/{types → main}/lib/version.d.ts +0 -0
  346. /package/dist/{types → main}/lib/version.d.ts.map +0 -0
  347. /package/dist/{types → main}/modules/CoreApiRestClient.d.ts +0 -0
  348. /package/dist/{types → main}/modules/EngineApiRestClient.d.ts +0 -0
  349. /package/dist/{types → main}/modules/EngineApiRestClient.d.ts.map +0 -0
  350. /package/dist/{types → main}/modules/InternalEventEmitter.d.ts +0 -0
  351. /package/dist/{types → main}/modules/InternalEventEmitter.d.ts.map +0 -0
  352. /package/dist/{types → main}/modules/MessageHistoryClient.d.ts +0 -0
  353. /package/dist/{types → main}/modules/MessageHistoryClient.d.ts.map +0 -0
  354. /package/dist/{types → main}/modules/PublicEventEmitter.d.ts +0 -0
  355. /package/dist/{types → main}/modules/PublicEventEmitter.d.ts.map +0 -0
  356. /package/dist/{types → main}/modules/StreamingClient.d.ts +0 -0
  357. /package/dist/{types → main}/modules/index.d.ts +0 -0
  358. /package/dist/{types → main}/modules/index.d.ts.map +0 -0
  359. /package/dist/{types → main}/types/AnamClientOptions.d.ts +0 -0
  360. /package/dist/{types → main}/types/AnamClientOptions.d.ts.map +0 -0
  361. /package/dist/{types → main}/types/AnamInternalClientOptions.d.ts +0 -0
  362. /package/dist/{types → main}/types/AnamInternalClientOptions.d.ts.map +0 -0
  363. /package/dist/{types → main}/types/AnamPublicClientOptions.d.ts +0 -0
  364. /package/dist/{types → main}/types/AnamPublicClientOptions.d.ts.map +0 -0
  365. /package/dist/{types → main}/types/InputAudioState.d.ts +0 -0
  366. /package/dist/{types → main}/types/InputAudioState.d.ts.map +0 -0
  367. /package/dist/{types → main}/types/PersonaConfig.d.ts +0 -0
  368. /package/dist/{types → main}/types/PersonaConfig.d.ts.map +0 -0
  369. /package/dist/{types → main}/types/TalkMessageStream.d.ts +0 -0
  370. /package/dist/{types → main}/types/TalkMessageStream.d.ts.map +0 -0
  371. /package/dist/{types → main}/types/TalkMessageStreamState.d.ts +0 -0
  372. /package/dist/{types → main}/types/TalkMessageStreamState.d.ts.map +0 -0
  373. /package/dist/{types → main}/types/VoiceDetectionOptions.d.ts +0 -0
  374. /package/dist/{types → main}/types/VoiceDetectionOptions.d.ts.map +0 -0
  375. /package/dist/{types → main}/types/coreApi/CoreApiRestClientOptions.d.ts +0 -0
  376. /package/dist/{types → main}/types/coreApi/CoreApiRestClientOptions.d.ts.map +0 -0
  377. /package/dist/{types → main}/types/coreApi/StartSessionOptions.d.ts +0 -0
  378. /package/dist/{types → main}/types/coreApi/StartSessionOptions.d.ts.map +0 -0
  379. /package/dist/{types → main}/types/coreApi/index.d.ts +0 -0
  380. /package/dist/{types → main}/types/coreApi/index.d.ts.map +0 -0
  381. /package/dist/{types → main}/types/engineApi/EngineApiRestClientOptions.d.ts +0 -0
  382. /package/dist/{types → main}/types/engineApi/EngineApiRestClientOptions.d.ts.map +0 -0
  383. /package/dist/{types → main}/types/engineApi/index.d.ts +0 -0
  384. /package/dist/{types → main}/types/engineApi/index.d.ts.map +0 -0
  385. /package/dist/{types → main}/types/events/EventCallback.d.ts +0 -0
  386. /package/dist/{types → main}/types/events/EventCallback.d.ts.map +0 -0
  387. /package/dist/{types → main}/types/events/index.d.ts +0 -0
  388. /package/dist/{types → main}/types/events/index.d.ts.map +0 -0
  389. /package/dist/{types → main}/types/events/internal/InternalEvent.d.ts +0 -0
  390. /package/dist/{types → main}/types/events/internal/InternalEvent.d.ts.map +0 -0
  391. /package/dist/{types → main}/types/events/internal/InternalEventCallbacks.d.ts +0 -0
  392. /package/dist/{types → main}/types/events/internal/InternalEventCallbacks.d.ts.map +0 -0
  393. /package/dist/{types → main}/types/events/public/AnamEvent.d.ts +0 -0
  394. /package/dist/{types → main}/types/events/public/AnamEvent.d.ts.map +0 -0
  395. /package/dist/{types → main}/types/events/public/ConnectionClosedCodes.d.ts +0 -0
  396. /package/dist/{types → main}/types/events/public/ConnectionClosedCodes.d.ts.map +0 -0
  397. /package/dist/{types → main}/types/events/public/EventCallbacks.d.ts +0 -0
  398. /package/dist/{types → main}/types/events/public/EventCallbacks.d.ts.map +0 -0
  399. /package/dist/{types → main}/types/index.d.ts +0 -0
  400. /package/dist/{types → main}/types/index.d.ts.map +0 -0
  401. /package/dist/{types → main}/types/messageHistory/Message.d.ts +0 -0
  402. /package/dist/{types → main}/types/messageHistory/Message.d.ts.map +0 -0
  403. /package/dist/{types → main}/types/messageHistory/MessageRole.d.ts +0 -0
  404. /package/dist/{types → main}/types/messageHistory/MessageRole.d.ts.map +0 -0
  405. /package/dist/{types → main}/types/messageHistory/MessageStreamEvent.d.ts +0 -0
  406. /package/dist/{types → main}/types/messageHistory/MessageStreamEvent.d.ts.map +0 -0
  407. /package/dist/{types → main}/types/messageHistory/index.d.ts +0 -0
  408. /package/dist/{types → main}/types/messageHistory/index.d.ts.map +0 -0
  409. /package/dist/{types → main}/types/signalling/TalkMessageStreamPayload.d.ts +0 -0
  410. /package/dist/{types → main}/types/signalling/TalkMessageStreamPayload.d.ts.map +0 -0
  411. /package/dist/{types → main}/types/signalling/TalkStreamInterruptedSignalMessage.d.ts +0 -0
  412. /package/dist/{types → main}/types/signalling/TalkStreamInterruptedSignalMessage.d.ts.map +0 -0
  413. /package/dist/{types → main}/types/streaming/InputAudioOptions.d.ts +0 -0
  414. /package/dist/{types → main}/types/streaming/InputAudioOptions.d.ts.map +0 -0
  415. /package/dist/{types → main}/types/streaming/StreamingClientOptions.d.ts +0 -0
  416. /package/dist/{types → main}/types/streaming/StreamingClientOptions.d.ts.map +0 -0
  417. /package/dist/{types → main}/types/streaming/WebRtcTextMessageEvent.d.ts +0 -0
  418. /package/dist/{types → main}/types/streaming/WebRtcTextMessageEvent.d.ts.map +0 -0
  419. /package/dist/{types → main}/types/streaming/index.d.ts +0 -0
  420. /package/dist/{types → main}/types/streaming/index.d.ts.map +0 -0
@@ -0,0 +1,418 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Buffer } from 'buffer';
11
+ import { ClientError, ErrorCode } from './lib/ClientError';
12
+ import { ClientMetricMeasurement, DEFAULT_ANAM_API_VERSION, DEFAULT_ANAM_METRICS_BASE_URL, sendClientMetric, setClientMetricsBaseUrl, setMetricsContext, } from './lib/ClientMetrics';
13
+ import { generateCorrelationId } from './lib/correlationId';
14
+ import { CoreApiRestClient, InternalEventEmitter, MessageHistoryClient, PublicEventEmitter, StreamingClient, } from './modules';
15
+ import { AnamEvent, ConnectionClosedCode, } from './types';
16
+ export default class AnamClient {
17
+ constructor(sessionToken, personaConfig, options) {
18
+ var _a, _b;
19
+ this.inputAudioState = { isMuted: false };
20
+ this.sessionId = null;
21
+ this.organizationId = null;
22
+ this.streamingClient = null;
23
+ this._isStreaming = false;
24
+ const configError = this.validateClientConfig(sessionToken, personaConfig, options);
25
+ if (configError) {
26
+ throw new ClientError(configError, ErrorCode.CLIENT_ERROR_CODE_CONFIGURATION_ERROR, 400);
27
+ }
28
+ this.personaConfig = personaConfig;
29
+ this.clientOptions = options;
30
+ if (((_a = options === null || options === void 0 ? void 0 : options.api) === null || _a === void 0 ? void 0 : _a.baseUrl) || ((_b = options === null || options === void 0 ? void 0 : options.api) === null || _b === void 0 ? void 0 : _b.apiVersion)) {
31
+ setClientMetricsBaseUrl(options.api.baseUrl || DEFAULT_ANAM_METRICS_BASE_URL, options.api.apiVersion || DEFAULT_ANAM_API_VERSION);
32
+ }
33
+ this.publicEventEmitter = new PublicEventEmitter();
34
+ this.internalEventEmitter = new InternalEventEmitter();
35
+ this.apiClient = new CoreApiRestClient(sessionToken, options === null || options === void 0 ? void 0 : options.apiKey, options === null || options === void 0 ? void 0 : options.api);
36
+ this.messageHistoryClient = new MessageHistoryClient(this.publicEventEmitter, this.internalEventEmitter);
37
+ }
38
+ decodeJwt(token) {
39
+ try {
40
+ const base64Payload = token.split('.')[1];
41
+ const payloadString = Buffer.from(base64Payload, 'base64').toString('utf8');
42
+ const payload = JSON.parse(payloadString);
43
+ return payload;
44
+ }
45
+ catch (error) {
46
+ throw new Error('Invalid session token format');
47
+ }
48
+ }
49
+ validateClientConfig(sessionToken, personaConfig, options) {
50
+ var _a;
51
+ // Validate authentication configuration
52
+ if (!sessionToken && !(options === null || options === void 0 ? void 0 : options.apiKey)) {
53
+ return 'Either sessionToken or apiKey must be provided';
54
+ }
55
+ if ((options === null || options === void 0 ? void 0 : options.apiKey) && sessionToken) {
56
+ return 'Only one of sessionToken or apiKey should be used';
57
+ }
58
+ // Validate persona configuration based on session token
59
+ if (sessionToken) {
60
+ const decodedToken = this.decodeJwt(sessionToken);
61
+ this.organizationId = decodedToken.accountId;
62
+ setMetricsContext({
63
+ organizationId: this.organizationId,
64
+ });
65
+ const tokenType = (_a = decodedToken.type) === null || _a === void 0 ? void 0 : _a.toLowerCase();
66
+ if (tokenType === 'legacy') {
67
+ return 'Legacy session tokens are no longer supported. Please define your persona when creating your session token. See https://docs.anam.ai/resources/migrating-legacy for more information.';
68
+ }
69
+ else if (tokenType === 'ephemeral' || tokenType === 'stateful') {
70
+ if (personaConfig) {
71
+ return 'This session token already contains a persona configuration. Please remove the personaConfig parameter.';
72
+ }
73
+ }
74
+ }
75
+ else {
76
+ // No session token (using apiKey)
77
+ if (!personaConfig) {
78
+ return 'Missing persona config. Persona configuration must be provided when using apiKey';
79
+ }
80
+ }
81
+ // Validate voice detection configuration
82
+ if (options === null || options === void 0 ? void 0 : options.voiceDetection) {
83
+ if (options.disableInputAudio) {
84
+ return 'Voice detection is disabled because input audio is disabled. Please set disableInputAudio to false to enable voice detection.';
85
+ }
86
+ // End of speech sensitivity must be a number between 0 and 1
87
+ if (options.voiceDetection.endOfSpeechSensitivity !== undefined) {
88
+ if (typeof options.voiceDetection.endOfSpeechSensitivity !== 'number') {
89
+ return 'End of speech sensitivity must be a number';
90
+ }
91
+ if (options.voiceDetection.endOfSpeechSensitivity < 0 ||
92
+ options.voiceDetection.endOfSpeechSensitivity > 1) {
93
+ return 'End of speech sensitivity must be between 0 and 1';
94
+ }
95
+ }
96
+ }
97
+ return undefined;
98
+ }
99
+ buildStartSessionOptionsForClient() {
100
+ var _a;
101
+ const sessionOptions = {};
102
+ if ((_a = this.clientOptions) === null || _a === void 0 ? void 0 : _a.voiceDetection) {
103
+ sessionOptions.voiceDetection = this.clientOptions.voiceDetection;
104
+ }
105
+ // return undefined if no options are set
106
+ if (Object.keys(sessionOptions).length === 0) {
107
+ return undefined;
108
+ }
109
+ return sessionOptions;
110
+ }
111
+ startSession(userProvidedAudioStream) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
114
+ const config = this.personaConfig;
115
+ // build session options from client options
116
+ const sessionOptions = this.buildStartSessionOptionsForClient();
117
+ // start a new session
118
+ const response = yield this.apiClient.startSession(config, sessionOptions);
119
+ const { sessionId, clientConfig, engineHost, engineProtocol, signallingEndpoint, } = response;
120
+ const { heartbeatIntervalSeconds, maxWsReconnectionAttempts, iceServers } = clientConfig;
121
+ this.sessionId = sessionId;
122
+ setMetricsContext({
123
+ sessionId: this.sessionId,
124
+ });
125
+ try {
126
+ this.streamingClient = new StreamingClient(sessionId, {
127
+ engine: {
128
+ baseUrl: `${engineProtocol}://${engineHost}`,
129
+ },
130
+ signalling: {
131
+ heartbeatIntervalSeconds,
132
+ maxWsReconnectionAttempts,
133
+ url: {
134
+ baseUrl: engineHost,
135
+ protocol: engineProtocol,
136
+ signallingPath: signallingEndpoint,
137
+ },
138
+ },
139
+ iceServers,
140
+ inputAudio: {
141
+ inputAudioState: this.inputAudioState,
142
+ userProvidedMediaStream: ((_a = this.clientOptions) === null || _a === void 0 ? void 0 : _a.disableInputAudio)
143
+ ? undefined
144
+ : userProvidedAudioStream,
145
+ audioDeviceId: (_b = this.clientOptions) === null || _b === void 0 ? void 0 : _b.audioDeviceId,
146
+ disableInputAudio: (_c = this.clientOptions) === null || _c === void 0 ? void 0 : _c.disableInputAudio,
147
+ },
148
+ metrics: {
149
+ showPeerConnectionStatsReport: (_f = (_e = (_d = this.clientOptions) === null || _d === void 0 ? void 0 : _d.metrics) === null || _e === void 0 ? void 0 : _e.showPeerConnectionStatsReport) !== null && _f !== void 0 ? _f : false,
150
+ peerConnectionStatsReportOutputFormat: (_j = (_h = (_g = this.clientOptions) === null || _g === void 0 ? void 0 : _g.metrics) === null || _h === void 0 ? void 0 : _h.peerConnectionStatsReportOutputFormat) !== null && _j !== void 0 ? _j : 'console',
151
+ },
152
+ }, this.publicEventEmitter, this.internalEventEmitter);
153
+ }
154
+ catch (error) {
155
+ setMetricsContext({
156
+ sessionId: null,
157
+ });
158
+ throw new ClientError('Failed to initialize streaming client', ErrorCode.CLIENT_ERROR_CODE_SERVER_ERROR, 500, {
159
+ cause: error instanceof Error ? error.message : String(error),
160
+ sessionId,
161
+ });
162
+ }
163
+ return sessionId;
164
+ });
165
+ }
166
+ startSessionIfNeeded(userProvidedAudioStream) {
167
+ return __awaiter(this, void 0, void 0, function* () {
168
+ if (!this.sessionId || !this.streamingClient) {
169
+ yield this.startSession(userProvidedAudioStream);
170
+ if (!this.sessionId || !this.streamingClient) {
171
+ throw new ClientError('Session ID or streaming client is not available after starting session', ErrorCode.CLIENT_ERROR_CODE_SERVER_ERROR, 500, {
172
+ cause: 'Failed to initialize session properly',
173
+ });
174
+ }
175
+ }
176
+ });
177
+ }
178
+ stream(userProvidedAudioStream) {
179
+ return __awaiter(this, void 0, void 0, function* () {
180
+ var _a;
181
+ if (this._isStreaming) {
182
+ throw new Error('Already streaming');
183
+ }
184
+ // generate a new ID here to track the attempt
185
+ const attemptCorrelationId = generateCorrelationId();
186
+ setMetricsContext({
187
+ attemptCorrelationId,
188
+ sessionId: null, // reset sessionId
189
+ });
190
+ sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_SESSION_ATTEMPT, '1');
191
+ if (((_a = this.clientOptions) === null || _a === void 0 ? void 0 : _a.disableInputAudio) && userProvidedAudioStream) {
192
+ console.warn('AnamClient:Input audio is disabled. User provided audio stream will be ignored.');
193
+ }
194
+ yield this.startSessionIfNeeded(userProvidedAudioStream);
195
+ this._isStreaming = true;
196
+ return new Promise((resolve) => {
197
+ var _a;
198
+ // set stream callbacks to capture the stream
199
+ const streams = [];
200
+ let videoReceived = false;
201
+ let audioReceived = false;
202
+ this.publicEventEmitter.addListener(AnamEvent.VIDEO_STREAM_STARTED, (videoStream) => {
203
+ streams.push(videoStream);
204
+ videoReceived = true;
205
+ if (audioReceived) {
206
+ resolve(streams);
207
+ }
208
+ });
209
+ this.publicEventEmitter.addListener(AnamEvent.AUDIO_STREAM_STARTED, (audioStream) => {
210
+ streams.push(audioStream);
211
+ audioReceived = true;
212
+ if (videoReceived) {
213
+ resolve(streams);
214
+ }
215
+ });
216
+ // start streaming
217
+ (_a = this.streamingClient) === null || _a === void 0 ? void 0 : _a.startConnection();
218
+ });
219
+ });
220
+ }
221
+ /**
222
+ * @deprecated This method is deprecated. Please use streamToVideoElement instead.
223
+ */
224
+ streamToVideoAndAudioElements(videoElementId, audioElementId, userProvidedAudioStream) {
225
+ return __awaiter(this, void 0, void 0, function* () {
226
+ console.warn('AnamClient: streamToVideoAndAudioElements is deprecated. To avoid possible audio issues, please use streamToVideoElement instead.');
227
+ yield this.streamToVideoElement(videoElementId, userProvidedAudioStream);
228
+ });
229
+ }
230
+ streamToVideoElement(videoElementId, userProvidedAudioStream) {
231
+ return __awaiter(this, void 0, void 0, function* () {
232
+ var _a;
233
+ // generate a new ID here to track the attempt
234
+ const attemptCorrelationId = generateCorrelationId();
235
+ setMetricsContext({
236
+ attemptCorrelationId,
237
+ sessionId: null, // reset sessionId
238
+ });
239
+ sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_SESSION_ATTEMPT, '1');
240
+ if (((_a = this.clientOptions) === null || _a === void 0 ? void 0 : _a.disableInputAudio) && userProvidedAudioStream) {
241
+ console.warn('AnamClient:Input audio is disabled. User provided audio stream will be ignored.');
242
+ }
243
+ try {
244
+ yield this.startSessionIfNeeded(userProvidedAudioStream);
245
+ }
246
+ catch (error) {
247
+ if (error instanceof ClientError) {
248
+ throw error;
249
+ }
250
+ throw new ClientError('Failed to start session', ErrorCode.CLIENT_ERROR_CODE_SERVER_ERROR, 500, {
251
+ cause: error instanceof Error ? error.message : String(error),
252
+ sessionId: this.sessionId,
253
+ });
254
+ }
255
+ if (this._isStreaming) {
256
+ throw new Error('Already streaming');
257
+ }
258
+ this._isStreaming = true;
259
+ if (!this.streamingClient) {
260
+ throw new Error('Failed to stream: streaming client is not available');
261
+ }
262
+ this.streamingClient.setMediaStreamTargetById(videoElementId);
263
+ this.streamingClient.startConnection();
264
+ });
265
+ }
266
+ /**
267
+ * Send a talk command to make the persona speak the provided content.
268
+ * @param content - The text content for the persona to speak
269
+ * @throws Error if session is not started or not currently streaming
270
+ */
271
+ talk(content) {
272
+ return __awaiter(this, void 0, void 0, function* () {
273
+ if (!this.streamingClient) {
274
+ throw new Error('Failed to send talk command: session is not started. Have you called startSession?');
275
+ }
276
+ if (!this._isStreaming) {
277
+ throw new Error('Failed to send talk command: not currently streaming. Have you called stream?');
278
+ }
279
+ yield this.streamingClient.sendTalkCommand(content);
280
+ return;
281
+ });
282
+ }
283
+ /**
284
+ * Send a raw data message through the WebRTC data channel.
285
+ * @param message - The message string to send through the data channel
286
+ * @throws Error if session is not started
287
+ */
288
+ sendDataMessage(message) {
289
+ if (this.streamingClient) {
290
+ this.streamingClient.sendDataMessage(message);
291
+ }
292
+ else {
293
+ throw new Error('Failed to send message: session is not started.');
294
+ }
295
+ }
296
+ /**
297
+ * Send a user text message in the active streaming session.
298
+ * @param content - The text message content to send
299
+ * @throws Error if not currently streaming or session is not started
300
+ */
301
+ sendUserMessage(content) {
302
+ if (!this._isStreaming) {
303
+ console.warn('AnamClient: Not currently streaming. User message will not be sent.');
304
+ throw new Error('Failed to send user message: not currently streaming');
305
+ }
306
+ const sessionId = this.getActiveSessionId();
307
+ if (!sessionId) {
308
+ throw new Error('Failed to send user message: no active session');
309
+ }
310
+ const currentTimestamp = new Date().toISOString().replace('Z', '');
311
+ const body = JSON.stringify({
312
+ content,
313
+ timestamp: currentTimestamp,
314
+ session_id: sessionId,
315
+ message_type: 'speech',
316
+ });
317
+ this.sendDataMessage(body);
318
+ }
319
+ interruptPersona() {
320
+ if (!this._isStreaming) {
321
+ throw new Error('Failed to send interrupt command: not currently streaming');
322
+ }
323
+ const sessionId = this.getActiveSessionId();
324
+ if (!sessionId) {
325
+ throw new Error('Failed to send interrupt command: no active session');
326
+ }
327
+ const body = JSON.stringify({
328
+ message_type: 'interrupt',
329
+ session_id: sessionId,
330
+ timestamp: new Date().toISOString(), // removing Z not needed
331
+ });
332
+ this.sendDataMessage(body);
333
+ }
334
+ stopStreaming() {
335
+ return __awaiter(this, void 0, void 0, function* () {
336
+ if (this.streamingClient) {
337
+ this.publicEventEmitter.emit(AnamEvent.CONNECTION_CLOSED, ConnectionClosedCode.NORMAL);
338
+ yield this.streamingClient.stopConnection();
339
+ this.streamingClient = null;
340
+ this.sessionId = null;
341
+ setMetricsContext({
342
+ attemptCorrelationId: null,
343
+ sessionId: null,
344
+ organizationId: this.organizationId,
345
+ });
346
+ this._isStreaming = false;
347
+ }
348
+ });
349
+ }
350
+ isStreaming() {
351
+ return this._isStreaming;
352
+ }
353
+ setPersonaConfig(personaConfig) {
354
+ this.personaConfig = personaConfig;
355
+ }
356
+ getPersonaConfig() {
357
+ return this.personaConfig;
358
+ }
359
+ getInputAudioState() {
360
+ var _a;
361
+ if ((_a = this.clientOptions) === null || _a === void 0 ? void 0 : _a.disableInputAudio) {
362
+ console.warn('AnamClient: Audio state will not be used because input audio is disabled.');
363
+ }
364
+ // if streaming client is available, make sure our state is up to date
365
+ if (this.streamingClient) {
366
+ this.inputAudioState = this.streamingClient.getInputAudioState();
367
+ }
368
+ return this.inputAudioState;
369
+ }
370
+ muteInputAudio() {
371
+ var _a, _b;
372
+ if ((_a = this.clientOptions) === null || _a === void 0 ? void 0 : _a.disableInputAudio) {
373
+ console.warn('AnamClient: Input audio is disabled. Muting input audio will have no effect.');
374
+ }
375
+ if (this.streamingClient && !((_b = this.clientOptions) === null || _b === void 0 ? void 0 : _b.disableInputAudio)) {
376
+ this.inputAudioState = this.streamingClient.muteInputAudio();
377
+ }
378
+ else {
379
+ this.inputAudioState = Object.assign(Object.assign({}, this.inputAudioState), { isMuted: true });
380
+ }
381
+ return this.inputAudioState;
382
+ }
383
+ unmuteInputAudio() {
384
+ var _a, _b;
385
+ if ((_a = this.clientOptions) === null || _a === void 0 ? void 0 : _a.disableInputAudio) {
386
+ console.warn('AnamClient: Input audio is disabled. Unmuting input audio will have no effect.');
387
+ }
388
+ if (this.streamingClient && !((_b = this.clientOptions) === null || _b === void 0 ? void 0 : _b.disableInputAudio)) {
389
+ this.inputAudioState = this.streamingClient.unmuteInputAudio();
390
+ }
391
+ else {
392
+ this.inputAudioState = Object.assign(Object.assign({}, this.inputAudioState), { isMuted: false });
393
+ }
394
+ return this.inputAudioState;
395
+ }
396
+ createTalkMessageStream(correlationId) {
397
+ if (!this.streamingClient) {
398
+ throw new Error('Failed to start talk message stream: session is not started.');
399
+ }
400
+ if (correlationId && correlationId.trim() === '') {
401
+ throw new Error('Failed to start talk message stream: correlationId is empty');
402
+ }
403
+ return this.streamingClient.startTalkMessageStream(correlationId);
404
+ }
405
+ /**
406
+ * Event handling
407
+ */
408
+ addListener(event, callback) {
409
+ this.publicEventEmitter.addListener(event, callback);
410
+ }
411
+ removeListener(event, callback) {
412
+ this.publicEventEmitter.removeListener(event, callback);
413
+ }
414
+ getActiveSessionId() {
415
+ return this.sessionId;
416
+ }
417
+ }
418
+ //# sourceMappingURL=AnamClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnamClient.js","sourceRoot":"","sources":["../../src/AnamClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import AnamClient from './AnamClient';
2
+ import { PersonaConfig } from './types';
3
+ import { AnamPublicClientOptions } from './types/AnamPublicClientOptions';
4
+ import { ClientError, ErrorCode } from './lib/ClientError';
5
+ /**
6
+ * Create a new Anam client.
7
+ * @param sessionToken - A session token can be obtained from the Anam API.
8
+ * @param personaConfig - The persona configuration to use.
9
+ * @param options - Additional options.
10
+ * @returns A new Anam client instance.
11
+ */
12
+ declare const createClient: (sessionToken: string, options?: AnamPublicClientOptions) => AnamClient;
13
+ /**
14
+ * Create a new Anam client with an API key instead of a session token.
15
+ * This method is unsafe for production environments because it requires exposing your API key to the client side.
16
+ * Only use this method for local testing.
17
+ * @param apiKey - Your Anam API key.
18
+ * @param personaConfig - The persona configuration to use.
19
+ * @param options - Additional options.
20
+ * @returns A new Anam client instance.
21
+ */
22
+ declare const unsafe_createClientWithApiKey: (apiKey: string, personaConfig: PersonaConfig, options?: AnamPublicClientOptions) => AnamClient;
23
+ export { createClient, unsafe_createClientWithApiKey, ClientError, ErrorCode };
24
+ export type { AnamClient };
25
+ export * from './types';
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;GAMG;AACH,QAAA,MAAM,YAAY,iBACF,MAAM,YACV,uBAAuB,KAChC,UAEF,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,6BAA6B,WACzB,MAAM,iBACC,aAAa,YAClB,uBAAuB,KAChC,UAEF,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC/E,YAAY,EAAE,UAAU,EAAE,CAAC;AAC3B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,27 @@
1
+ import AnamClient from './AnamClient';
2
+ import { ClientError, ErrorCode } from './lib/ClientError';
3
+ /**
4
+ * Create a new Anam client.
5
+ * @param sessionToken - A session token can be obtained from the Anam API.
6
+ * @param personaConfig - The persona configuration to use.
7
+ * @param options - Additional options.
8
+ * @returns A new Anam client instance.
9
+ */
10
+ const createClient = (sessionToken, options) => {
11
+ return new AnamClient(sessionToken, undefined, options);
12
+ };
13
+ /**
14
+ * Create a new Anam client with an API key instead of a session token.
15
+ * This method is unsafe for production environments because it requires exposing your API key to the client side.
16
+ * Only use this method for local testing.
17
+ * @param apiKey - Your Anam API key.
18
+ * @param personaConfig - The persona configuration to use.
19
+ * @param options - Additional options.
20
+ * @returns A new Anam client instance.
21
+ */
22
+ const unsafe_createClientWithApiKey = (apiKey, personaConfig, options) => {
23
+ return new AnamClient(undefined, personaConfig, Object.assign(Object.assign({}, options), { apiKey }));
24
+ };
25
+ export { createClient, unsafe_createClientWithApiKey, ClientError, ErrorCode };
26
+ export * from './types';
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,CACnB,YAAoB,EACpB,OAAiC,EACrB,EAAE;IACd,OAAO,IAAI,UAAU,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,6BAA6B,GAAG,CACpC,MAAc,EACd,aAA4B,EAC5B,OAAiC,EACrB,EAAE;IACd,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,aAAa,kCAAO,OAAO,KAAE,MAAM,IAAG,CAAC;AAC1E,CAAC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAE/E,cAAc,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ export declare enum ErrorCode {
2
+ CLIENT_ERROR_CODE_USAGE_LIMIT_REACHED = "CLIENT_ERROR_CODE_USAGE_LIMIT_REACHED",
3
+ CLIENT_ERROR_CODE_SPEND_CAP_REACHED = "CLIENT_ERROR_CODE_SPEND_CAP_REACHED",
4
+ CLIENT_ERROR_CODE_VALIDATION_ERROR = "CLIENT_ERROR_CODE_VALIDATION_ERROR",
5
+ CLIENT_ERROR_CODE_AUTHENTICATION_ERROR = "CLIENT_ERROR_CODE_AUTHENTICATION_ERROR",
6
+ CLIENT_ERROR_CODE_SERVER_ERROR = "CLIENT_ERROR_CODE_SERVER_ERROR",
7
+ CLIENT_ERROR_CODE_MAX_CONCURRENT_SESSIONS_REACHED = "CLIENT_ERROR_CODE_MAX_CONCURRENT_SESSIONS_REACHED",
8
+ CLIENT_ERROR_CODE_SERVICE_BUSY = "CLIENT_ERROR_CODE_SERVICE_BUSY",
9
+ CLIENT_ERROR_CODE_NO_PLAN_FOUND = "CLIENT_ERROR_CODE_NO_PLAN_FOUND",
10
+ CLIENT_ERROR_CODE_UNKNOWN_ERROR = "CLIENT_ERROR_CODE_UNKNOWN_ERROR",
11
+ CLIENT_ERROR_CODE_CONFIGURATION_ERROR = "CLIENT_ERROR_CODE_CONFIGURATION_ERROR"
12
+ }
13
+ export declare class ClientError extends Error {
14
+ code: ErrorCode;
15
+ statusCode: number;
16
+ details?: any;
17
+ constructor(message: string, code: ErrorCode, statusCode?: number, details?: any);
18
+ }
19
+ //# sourceMappingURL=ClientError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientError.d.ts","sourceRoot":"","sources":["../../../src/lib/ClientError.ts"],"names":[],"mappings":"AAEA,oBAAY,SAAS;IACnB,qCAAqC,0CAA0C;IAC/E,mCAAmC,wCAAwC;IAC3E,kCAAkC,uCAAuC;IACzE,sCAAsC,2CAA2C;IACjF,8BAA8B,mCAAmC;IACjE,iDAAiD,sDAAsD;IACvG,8BAA8B,mCAAmC;IACjE,+BAA+B,oCAAoC;IACnE,+BAA+B,oCAAoC;IACnE,qCAAqC,0CAA0C;CAChF;AAED,qBAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;gBAGZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,EACf,UAAU,GAAE,MAAY,EACxB,OAAO,CAAC,EAAE,GAAG;CAoBhB"}
@@ -0,0 +1,30 @@
1
+ import { ClientMetricMeasurement, sendClientMetric } from './ClientMetrics';
2
+ export var ErrorCode;
3
+ (function (ErrorCode) {
4
+ ErrorCode["CLIENT_ERROR_CODE_USAGE_LIMIT_REACHED"] = "CLIENT_ERROR_CODE_USAGE_LIMIT_REACHED";
5
+ ErrorCode["CLIENT_ERROR_CODE_SPEND_CAP_REACHED"] = "CLIENT_ERROR_CODE_SPEND_CAP_REACHED";
6
+ ErrorCode["CLIENT_ERROR_CODE_VALIDATION_ERROR"] = "CLIENT_ERROR_CODE_VALIDATION_ERROR";
7
+ ErrorCode["CLIENT_ERROR_CODE_AUTHENTICATION_ERROR"] = "CLIENT_ERROR_CODE_AUTHENTICATION_ERROR";
8
+ ErrorCode["CLIENT_ERROR_CODE_SERVER_ERROR"] = "CLIENT_ERROR_CODE_SERVER_ERROR";
9
+ ErrorCode["CLIENT_ERROR_CODE_MAX_CONCURRENT_SESSIONS_REACHED"] = "CLIENT_ERROR_CODE_MAX_CONCURRENT_SESSIONS_REACHED";
10
+ ErrorCode["CLIENT_ERROR_CODE_SERVICE_BUSY"] = "CLIENT_ERROR_CODE_SERVICE_BUSY";
11
+ ErrorCode["CLIENT_ERROR_CODE_NO_PLAN_FOUND"] = "CLIENT_ERROR_CODE_NO_PLAN_FOUND";
12
+ ErrorCode["CLIENT_ERROR_CODE_UNKNOWN_ERROR"] = "CLIENT_ERROR_CODE_UNKNOWN_ERROR";
13
+ ErrorCode["CLIENT_ERROR_CODE_CONFIGURATION_ERROR"] = "CLIENT_ERROR_CODE_CONFIGURATION_ERROR";
14
+ })(ErrorCode || (ErrorCode = {}));
15
+ export class ClientError extends Error {
16
+ constructor(message, code, statusCode = 500, details) {
17
+ super(message);
18
+ this.name = 'ClientError';
19
+ this.code = code;
20
+ this.statusCode = statusCode;
21
+ this.details = details;
22
+ Object.setPrototypeOf(this, ClientError.prototype);
23
+ // Send error metric when error is created
24
+ sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_ERROR, code, {
25
+ details,
26
+ statusCode,
27
+ });
28
+ }
29
+ }
30
+ //# sourceMappingURL=ClientError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientError.js","sourceRoot":"","sources":["../../../src/lib/ClientError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,MAAM,CAAN,IAAY,SAWX;AAXD,WAAY,SAAS;IACnB,4FAA+E,CAAA;IAC/E,wFAA2E,CAAA;IAC3E,sFAAyE,CAAA;IACzE,8FAAiF,CAAA;IACjF,8EAAiE,CAAA;IACjE,oHAAuG,CAAA;IACvG,8EAAiE,CAAA;IACjE,gFAAmE,CAAA;IACnE,gFAAmE,CAAA;IACnE,4FAA+E,CAAA;AACjF,CAAC,EAXW,SAAS,KAAT,SAAS,QAWpB;AAED,MAAM,OAAO,WAAY,SAAQ,KAAK;IAKpC,YACE,OAAe,EACf,IAAe,EACf,aAAqB,GAAG,EACxB,OAAa;QAEb,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QAEnD,0CAA0C;QAC1C,gBAAgB,CACd,uBAAuB,CAAC,+BAA+B,EACvD,IAAI,EACJ;YACE,OAAO;YACP,UAAU;SACX,CACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,56 @@
1
+ export declare const DEFAULT_ANAM_METRICS_BASE_URL = "https://api.anam.ai";
2
+ export declare const DEFAULT_ANAM_API_VERSION = "/v1";
3
+ export declare enum ClientMetricMeasurement {
4
+ CLIENT_METRIC_MEASUREMENT_ERROR = "client_error",
5
+ CLIENT_METRIC_MEASUREMENT_CONNECTION_CLOSED = "client_connection_closed",
6
+ CLIENT_METRIC_MEASUREMENT_CONNECTION_ESTABLISHED = "client_connection_established",
7
+ CLIENT_METRIC_MEASUREMENT_SESSION_ATTEMPT = "client_session_attempt",
8
+ CLIENT_METRIC_MEASUREMENT_SESSION_SUCCESS = "client_session_success"
9
+ }
10
+ export declare const setClientMetricsBaseUrl: (baseUrl: string, apiVersion?: string) => void;
11
+ export interface AnamMetricsContext {
12
+ sessionId: string | null;
13
+ organizationId: string | null;
14
+ attemptCorrelationId: string | null;
15
+ }
16
+ export declare const setMetricsContext: (context: Partial<AnamMetricsContext>) => void;
17
+ export declare const sendClientMetric: (name: string, value: string, tags?: Record<string, string | number>) => Promise<void>;
18
+ export interface RTCStatsJsonReport {
19
+ personaVideoStream?: {
20
+ framesReceived: number | string;
21
+ framesDropped: number | string;
22
+ framesPerSecond: number | string;
23
+ packetsReceived: number | string;
24
+ packetsLost: number | string;
25
+ resolution?: string;
26
+ jitter?: number;
27
+ }[];
28
+ personaAudioStream?: {
29
+ packetsReceived: number | string;
30
+ packetsLost: number | string;
31
+ audioLevel: number | string;
32
+ jitter?: number;
33
+ totalAudioEnergy?: number;
34
+ }[];
35
+ userAudioInput?: {
36
+ packetsSent: number | string;
37
+ retransmittedPackets?: number;
38
+ avgPacketSendDelay?: number;
39
+ }[];
40
+ codecs?: {
41
+ status: string;
42
+ mimeType: string;
43
+ payloadType: string | number;
44
+ clockRate?: number;
45
+ channels?: number;
46
+ }[];
47
+ transportLayer?: {
48
+ dtlsState: string;
49
+ iceState: string;
50
+ bytesSent?: number;
51
+ bytesReceived?: number;
52
+ }[];
53
+ issues: string[];
54
+ }
55
+ export declare const createRTCStatsReport: (stats: RTCStatsReport, outputFormat?: 'console' | 'json') => RTCStatsJsonReport | void;
56
+ //# sourceMappingURL=ClientMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientMetrics.d.ts","sourceRoot":"","sources":["../../../src/lib/ClientMetrics.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;AACnE,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C,oBAAY,uBAAuB;IACjC,+BAA+B,iBAAiB;IAChD,2CAA2C,6BAA6B;IACxE,gDAAgD,kCAAkC;IAClF,yCAAyC,2BAA2B;IACpE,yCAAyC,2BAA2B;CACrE;AAKD,eAAO,MAAM,uBAAuB,YACzB,MAAM,eACH,MAAM,SAInB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAQD,eAAO,MAAM,iBAAiB,YAAa,QAAQ,kBAAkB,CAAC,SAErE,CAAC;AAEF,eAAO,MAAM,gBAAgB,SACrB,MAAM,SACL,MAAM,SACN,OAAO,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,kBAoCvC,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,CAAC,EAAE;QACnB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;QAChC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;QAC/B,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;QACjC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;QACjC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,kBAAkB,CAAC,EAAE;QACnB,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;QACjC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,EAAE,CAAC;IACJ,cAAc,CAAC,EAAE;QACf,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,EAAE,CAAC;IACJ,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;IACJ,cAAc,CAAC,EAAE;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,oBAAoB,UACxB,cAAc,iBACP,SAAS,GAAG,MAAM,KAC/B,kBAAkB,GAAG,IA+QvB,CAAC"}