@anam-ai/js-sdk 4.8.0-alpha.sam.0 → 4.8.0-alpha.sam.1

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 (282) hide show
  1. package/dist/main/AnamClient.d.ts +1 -0
  2. package/dist/main/AnamClient.d.ts.map +1 -1
  3. package/dist/main/AnamClient.js +1 -0
  4. package/dist/main/AnamClient.js.map +1 -1
  5. package/dist/main/modules/StreamingClient.js +1 -1
  6. package/dist/main/modules/StreamingClient.js.map +1 -1
  7. package/dist/main/modules/ThoughtHistoryClient.d.ts +10 -0
  8. package/dist/main/modules/ThoughtHistoryClient.d.ts.map +1 -0
  9. package/dist/main/modules/ThoughtHistoryClient.js +34 -0
  10. package/dist/main/modules/ThoughtHistoryClient.js.map +1 -0
  11. package/dist/main/modules/index.d.ts +1 -0
  12. package/dist/main/modules/index.d.ts.map +1 -1
  13. package/dist/main/modules/index.js +3 -1
  14. package/dist/main/modules/index.js.map +1 -1
  15. package/dist/main/types/events/internal/InternalEvent.d.ts +2 -1
  16. package/dist/main/types/events/internal/InternalEvent.d.ts.map +1 -1
  17. package/dist/main/types/events/internal/InternalEvent.js +1 -0
  18. package/dist/main/types/events/internal/InternalEvent.js.map +1 -1
  19. package/dist/main/types/events/internal/InternalEventCallbacks.d.ts.map +1 -1
  20. package/dist/main/types/events/internal/InternalEventCallbacks.js.map +1 -1
  21. package/dist/main/types/events/public/AnamEvent.d.ts +2 -1
  22. package/dist/main/types/events/public/AnamEvent.d.ts.map +1 -1
  23. package/dist/main/types/events/public/AnamEvent.js +2 -1
  24. package/dist/main/types/events/public/AnamEvent.js.map +1 -1
  25. package/dist/main/types/events/public/EventCallbacks.d.ts +0 -1
  26. package/dist/main/types/events/public/EventCallbacks.d.ts.map +1 -1
  27. package/dist/main/types/events/public/EventCallbacks.js.map +1 -1
  28. package/dist/main/types/messageHistory/Thought.d.ts +5 -0
  29. package/dist/main/types/messageHistory/Thought.d.ts.map +1 -0
  30. package/dist/main/types/messageHistory/Thought.js +3 -0
  31. package/dist/main/types/messageHistory/Thought.js.map +1 -0
  32. package/dist/main/types/messageHistory/ThoughtStreamEvent.d.ts +6 -0
  33. package/dist/main/types/messageHistory/ThoughtStreamEvent.d.ts.map +1 -0
  34. package/dist/main/types/messageHistory/ThoughtStreamEvent.js +3 -0
  35. package/dist/main/types/messageHistory/ThoughtStreamEvent.js.map +1 -0
  36. package/dist/main/types/messageHistory/index.d.ts +2 -0
  37. package/dist/main/types/messageHistory/index.d.ts.map +1 -1
  38. package/dist/main/types/streaming/WebRtcReasoningTextMessageEvent.d.ts +1 -0
  39. package/dist/main/types/streaming/WebRtcReasoningTextMessageEvent.d.ts.map +1 -1
  40. package/package.json +1 -1
  41. package/dist/module/AnamClient.d.ts +0 -64
  42. package/dist/module/AnamClient.d.ts.map +0 -1
  43. package/dist/module/AnamClient.js +0 -461
  44. package/dist/module/AnamClient.js.map +0 -1
  45. package/dist/module/index.d.ts +0 -26
  46. package/dist/module/index.d.ts.map +0 -1
  47. package/dist/module/index.js +0 -27
  48. package/dist/module/index.js.map +0 -1
  49. package/dist/module/lib/ClientError.d.ts +0 -19
  50. package/dist/module/lib/ClientError.d.ts.map +0 -1
  51. package/dist/module/lib/ClientError.js +0 -30
  52. package/dist/module/lib/ClientError.js.map +0 -1
  53. package/dist/module/lib/ClientMetrics.d.ts +0 -59
  54. package/dist/module/lib/ClientMetrics.d.ts.map +0 -1
  55. package/dist/module/lib/ClientMetrics.js +0 -305
  56. package/dist/module/lib/ClientMetrics.js.map +0 -1
  57. package/dist/module/lib/constants.d.ts +0 -10
  58. package/dist/module/lib/constants.d.ts.map +0 -1
  59. package/dist/module/lib/constants.js +0 -11
  60. package/dist/module/lib/constants.js.map +0 -1
  61. package/dist/module/lib/correlationId.d.ts +0 -2
  62. package/dist/module/lib/correlationId.d.ts.map +0 -1
  63. package/dist/module/lib/correlationId.js +0 -9
  64. package/dist/module/lib/correlationId.js.map +0 -1
  65. package/dist/module/lib/validateApiGatewayConfig.d.ts +0 -8
  66. package/dist/module/lib/validateApiGatewayConfig.d.ts.map +0 -1
  67. package/dist/module/lib/validateApiGatewayConfig.js +0 -31
  68. package/dist/module/lib/validateApiGatewayConfig.js.map +0 -1
  69. package/dist/module/lib/version.d.ts +0 -3
  70. package/dist/module/lib/version.d.ts.map +0 -1
  71. package/dist/module/lib/version.js +0 -3
  72. package/dist/module/lib/version.js.map +0 -1
  73. package/dist/module/modules/CoreApiRestClient.d.ts +0 -18
  74. package/dist/module/modules/CoreApiRestClient.d.ts.map +0 -1
  75. package/dist/module/modules/CoreApiRestClient.js +0 -149
  76. package/dist/module/modules/CoreApiRestClient.js.map +0 -1
  77. package/dist/module/modules/EngineApiRestClient.d.ts +0 -9
  78. package/dist/module/modules/EngineApiRestClient.d.ts.map +0 -1
  79. package/dist/module/modules/EngineApiRestClient.js +0 -56
  80. package/dist/module/modules/EngineApiRestClient.js.map +0 -1
  81. package/dist/module/modules/InternalEventEmitter.d.ts +0 -9
  82. package/dist/module/modules/InternalEventEmitter.d.ts.map +0 -1
  83. package/dist/module/modules/InternalEventEmitter.js +0 -24
  84. package/dist/module/modules/InternalEventEmitter.js.map +0 -1
  85. package/dist/module/modules/MessageHistoryClient.d.ts +0 -13
  86. package/dist/module/modules/MessageHistoryClient.d.ts.map +0 -1
  87. package/dist/module/modules/MessageHistoryClient.js +0 -66
  88. package/dist/module/modules/MessageHistoryClient.js.map +0 -1
  89. package/dist/module/modules/PublicEventEmitter.d.ts +0 -9
  90. package/dist/module/modules/PublicEventEmitter.d.ts.map +0 -1
  91. package/dist/module/modules/PublicEventEmitter.js +0 -33
  92. package/dist/module/modules/PublicEventEmitter.js.map +0 -1
  93. package/dist/module/modules/SignallingClient.d.ts +0 -34
  94. package/dist/module/modules/SignallingClient.d.ts.map +0 -1
  95. package/dist/module/modules/SignallingClient.js +0 -251
  96. package/dist/module/modules/SignallingClient.js.map +0 -1
  97. package/dist/module/modules/StreamingClient.d.ts +0 -81
  98. package/dist/module/modules/StreamingClient.d.ts.map +0 -1
  99. package/dist/module/modules/StreamingClient.js +0 -706
  100. package/dist/module/modules/StreamingClient.js.map +0 -1
  101. package/dist/module/modules/ToolCallManager.d.ts +0 -8
  102. package/dist/module/modules/ToolCallManager.d.ts.map +0 -1
  103. package/dist/module/modules/ToolCallManager.js +0 -17
  104. package/dist/module/modules/ToolCallManager.js.map +0 -1
  105. package/dist/module/modules/index.d.ts +0 -9
  106. package/dist/module/modules/index.d.ts.map +0 -1
  107. package/dist/module/modules/index.js +0 -9
  108. package/dist/module/modules/index.js.map +0 -1
  109. package/dist/module/types/AgentAudioInputStream.d.ts +0 -28
  110. package/dist/module/types/AgentAudioInputStream.d.ts.map +0 -1
  111. package/dist/module/types/AgentAudioInputStream.js +0 -50
  112. package/dist/module/types/AgentAudioInputStream.js.map +0 -1
  113. package/dist/module/types/AnamClientOptions.d.ts +0 -4
  114. package/dist/module/types/AnamClientOptions.d.ts.map +0 -1
  115. package/dist/module/types/AnamClientOptions.js +0 -2
  116. package/dist/module/types/AnamClientOptions.js.map +0 -1
  117. package/dist/module/types/AnamInternalClientOptions.d.ts +0 -4
  118. package/dist/module/types/AnamInternalClientOptions.d.ts.map +0 -1
  119. package/dist/module/types/AnamInternalClientOptions.js +0 -2
  120. package/dist/module/types/AnamInternalClientOptions.js.map +0 -1
  121. package/dist/module/types/AnamPublicClientOptions.d.ts +0 -20
  122. package/dist/module/types/AnamPublicClientOptions.d.ts.map +0 -1
  123. package/dist/module/types/AnamPublicClientOptions.js +0 -2
  124. package/dist/module/types/AnamPublicClientOptions.js.map +0 -1
  125. package/dist/module/types/ApiGatewayConfig.d.ts +0 -45
  126. package/dist/module/types/ApiGatewayConfig.d.ts.map +0 -1
  127. package/dist/module/types/ApiGatewayConfig.js +0 -2
  128. package/dist/module/types/ApiGatewayConfig.js.map +0 -1
  129. package/dist/module/types/InputAudioState.d.ts +0 -11
  130. package/dist/module/types/InputAudioState.d.ts.map +0 -1
  131. package/dist/module/types/InputAudioState.js +0 -8
  132. package/dist/module/types/InputAudioState.js.map +0 -1
  133. package/dist/module/types/PersonaConfig.d.ts +0 -13
  134. package/dist/module/types/PersonaConfig.d.ts.map +0 -1
  135. package/dist/module/types/PersonaConfig.js +0 -4
  136. package/dist/module/types/PersonaConfig.js.map +0 -1
  137. package/dist/module/types/TalkMessageStream.d.ts +0 -18
  138. package/dist/module/types/TalkMessageStream.d.ts.map +0 -1
  139. package/dist/module/types/TalkMessageStream.js +0 -89
  140. package/dist/module/types/TalkMessageStream.js.map +0 -1
  141. package/dist/module/types/TalkMessageStreamState.d.ts +0 -7
  142. package/dist/module/types/TalkMessageStreamState.d.ts.map +0 -1
  143. package/dist/module/types/TalkMessageStreamState.js +0 -8
  144. package/dist/module/types/TalkMessageStreamState.js.map +0 -1
  145. package/dist/module/types/VoiceDetectionOptions.d.ts +0 -4
  146. package/dist/module/types/VoiceDetectionOptions.d.ts.map +0 -1
  147. package/dist/module/types/VoiceDetectionOptions.js +0 -2
  148. package/dist/module/types/VoiceDetectionOptions.js.map +0 -1
  149. package/dist/module/types/coreApi/ApiOptions.d.ts +0 -7
  150. package/dist/module/types/coreApi/ApiOptions.d.ts.map +0 -1
  151. package/dist/module/types/coreApi/ApiOptions.js +0 -2
  152. package/dist/module/types/coreApi/ApiOptions.js.map +0 -1
  153. package/dist/module/types/coreApi/StartSessionOptions.d.ts +0 -5
  154. package/dist/module/types/coreApi/StartSessionOptions.d.ts.map +0 -1
  155. package/dist/module/types/coreApi/StartSessionOptions.js +0 -2
  156. package/dist/module/types/coreApi/StartSessionOptions.js.map +0 -1
  157. package/dist/module/types/coreApi/StartSessionResponse.d.ts +0 -13
  158. package/dist/module/types/coreApi/StartSessionResponse.d.ts.map +0 -1
  159. package/dist/module/types/coreApi/StartSessionResponse.js +0 -2
  160. package/dist/module/types/coreApi/StartSessionResponse.js.map +0 -1
  161. package/dist/module/types/coreApi/index.d.ts +0 -5
  162. package/dist/module/types/coreApi/index.d.ts.map +0 -1
  163. package/dist/module/types/coreApi/index.js +0 -2
  164. package/dist/module/types/coreApi/index.js.map +0 -1
  165. package/dist/module/types/engineApi/EngineApiRestClientOptions.d.ts +0 -4
  166. package/dist/module/types/engineApi/EngineApiRestClientOptions.d.ts.map +0 -1
  167. package/dist/module/types/engineApi/EngineApiRestClientOptions.js +0 -2
  168. package/dist/module/types/engineApi/EngineApiRestClientOptions.js.map +0 -1
  169. package/dist/module/types/engineApi/index.d.ts +0 -1
  170. package/dist/module/types/engineApi/index.d.ts.map +0 -1
  171. package/dist/module/types/engineApi/index.js +0 -2
  172. package/dist/module/types/engineApi/index.js.map +0 -1
  173. package/dist/module/types/events/EventCallback.d.ts +0 -2
  174. package/dist/module/types/events/EventCallback.d.ts.map +0 -1
  175. package/dist/module/types/events/EventCallback.js +0 -2
  176. package/dist/module/types/events/EventCallback.js.map +0 -1
  177. package/dist/module/types/events/index.d.ts +0 -7
  178. package/dist/module/types/events/index.d.ts.map +0 -1
  179. package/dist/module/types/events/index.js +0 -4
  180. package/dist/module/types/events/index.js.map +0 -1
  181. package/dist/module/types/events/internal/InternalEvent.d.ts +0 -7
  182. package/dist/module/types/events/internal/InternalEvent.d.ts.map +0 -1
  183. package/dist/module/types/events/internal/InternalEvent.js +0 -8
  184. package/dist/module/types/events/internal/InternalEvent.js.map +0 -1
  185. package/dist/module/types/events/internal/InternalEventCallbacks.d.ts +0 -8
  186. package/dist/module/types/events/internal/InternalEventCallbacks.d.ts.map +0 -1
  187. package/dist/module/types/events/internal/InternalEventCallbacks.js +0 -2
  188. package/dist/module/types/events/internal/InternalEventCallbacks.js.map +0 -1
  189. package/dist/module/types/events/public/AnamEvent.d.ts +0 -20
  190. package/dist/module/types/events/public/AnamEvent.d.ts.map +0 -1
  191. package/dist/module/types/events/public/AnamEvent.js +0 -21
  192. package/dist/module/types/events/public/AnamEvent.js.map +0 -1
  193. package/dist/module/types/events/public/ConnectionClosedCodes.d.ts +0 -8
  194. package/dist/module/types/events/public/ConnectionClosedCodes.d.ts.map +0 -1
  195. package/dist/module/types/events/public/ConnectionClosedCodes.js +0 -9
  196. package/dist/module/types/events/public/ConnectionClosedCodes.js.map +0 -1
  197. package/dist/module/types/events/public/EventCallbacks.d.ts +0 -22
  198. package/dist/module/types/events/public/EventCallbacks.d.ts.map +0 -1
  199. package/dist/module/types/events/public/EventCallbacks.js +0 -2
  200. package/dist/module/types/events/public/EventCallbacks.js.map +0 -1
  201. package/dist/module/types/index.d.ts +0 -18
  202. package/dist/module/types/index.d.ts.map +0 -1
  203. package/dist/module/types/index.js +0 -9
  204. package/dist/module/types/index.js.map +0 -1
  205. package/dist/module/types/messageHistory/Message.d.ts +0 -8
  206. package/dist/module/types/messageHistory/Message.d.ts.map +0 -1
  207. package/dist/module/types/messageHistory/Message.js +0 -2
  208. package/dist/module/types/messageHistory/Message.js.map +0 -1
  209. package/dist/module/types/messageHistory/MessageRole.d.ts +0 -5
  210. package/dist/module/types/messageHistory/MessageRole.d.ts.map +0 -1
  211. package/dist/module/types/messageHistory/MessageRole.js +0 -6
  212. package/dist/module/types/messageHistory/MessageRole.js.map +0 -1
  213. package/dist/module/types/messageHistory/MessageStreamEvent.d.ts +0 -9
  214. package/dist/module/types/messageHistory/MessageStreamEvent.d.ts.map +0 -1
  215. package/dist/module/types/messageHistory/MessageStreamEvent.js +0 -2
  216. package/dist/module/types/messageHistory/MessageStreamEvent.js.map +0 -1
  217. package/dist/module/types/messageHistory/index.d.ts +0 -4
  218. package/dist/module/types/messageHistory/index.d.ts.map +0 -1
  219. package/dist/module/types/messageHistory/index.js +0 -2
  220. package/dist/module/types/messageHistory/index.js.map +0 -1
  221. package/dist/module/types/signalling/AgentAudioInputConfig.d.ts +0 -9
  222. package/dist/module/types/signalling/AgentAudioInputConfig.d.ts.map +0 -1
  223. package/dist/module/types/signalling/AgentAudioInputConfig.js +0 -2
  224. package/dist/module/types/signalling/AgentAudioInputConfig.js.map +0 -1
  225. package/dist/module/types/signalling/AgentAudioInputPayload.d.ts +0 -13
  226. package/dist/module/types/signalling/AgentAudioInputPayload.d.ts.map +0 -1
  227. package/dist/module/types/signalling/AgentAudioInputPayload.js +0 -2
  228. package/dist/module/types/signalling/AgentAudioInputPayload.js.map +0 -1
  229. package/dist/module/types/signalling/SignalMessage.d.ts +0 -19
  230. package/dist/module/types/signalling/SignalMessage.d.ts.map +0 -1
  231. package/dist/module/types/signalling/SignalMessage.js +0 -15
  232. package/dist/module/types/signalling/SignalMessage.js.map +0 -1
  233. package/dist/module/types/signalling/SignallingClientOptions.d.ts +0 -12
  234. package/dist/module/types/signalling/SignallingClientOptions.d.ts.map +0 -1
  235. package/dist/module/types/signalling/SignallingClientOptions.js +0 -2
  236. package/dist/module/types/signalling/SignallingClientOptions.js.map +0 -1
  237. package/dist/module/types/signalling/TalkMessageStreamPayload.d.ts +0 -7
  238. package/dist/module/types/signalling/TalkMessageStreamPayload.d.ts.map +0 -1
  239. package/dist/module/types/signalling/TalkMessageStreamPayload.js +0 -2
  240. package/dist/module/types/signalling/TalkMessageStreamPayload.js.map +0 -1
  241. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.d.ts +0 -5
  242. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.d.ts.map +0 -1
  243. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.js +0 -7
  244. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.js.map +0 -1
  245. package/dist/module/types/signalling/index.d.ts +0 -6
  246. package/dist/module/types/signalling/index.d.ts.map +0 -1
  247. package/dist/module/types/signalling/index.js +0 -2
  248. package/dist/module/types/signalling/index.js.map +0 -1
  249. package/dist/module/types/streaming/ClientToolEvent.d.ts +0 -10
  250. package/dist/module/types/streaming/ClientToolEvent.d.ts.map +0 -1
  251. package/dist/module/types/streaming/ClientToolEvent.js +0 -2
  252. package/dist/module/types/streaming/ClientToolEvent.js.map +0 -1
  253. package/dist/module/types/streaming/DataChannelMessage.d.ts +0 -6
  254. package/dist/module/types/streaming/DataChannelMessage.d.ts.map +0 -1
  255. package/dist/module/types/streaming/DataChannelMessage.js +0 -7
  256. package/dist/module/types/streaming/DataChannelMessage.js.map +0 -1
  257. package/dist/module/types/streaming/InputAudioOptions.d.ts +0 -8
  258. package/dist/module/types/streaming/InputAudioOptions.d.ts.map +0 -1
  259. package/dist/module/types/streaming/InputAudioOptions.js +0 -2
  260. package/dist/module/types/streaming/InputAudioOptions.js.map +0 -1
  261. package/dist/module/types/streaming/StreamingClientOptions.d.ts +0 -16
  262. package/dist/module/types/streaming/StreamingClientOptions.d.ts.map +0 -1
  263. package/dist/module/types/streaming/StreamingClientOptions.js +0 -2
  264. package/dist/module/types/streaming/StreamingClientOptions.js.map +0 -1
  265. package/dist/module/types/streaming/WebRtcClientToolEvent.d.ts +0 -11
  266. package/dist/module/types/streaming/WebRtcClientToolEvent.d.ts.map +0 -1
  267. package/dist/module/types/streaming/WebRtcClientToolEvent.js +0 -2
  268. package/dist/module/types/streaming/WebRtcClientToolEvent.js.map +0 -1
  269. package/dist/module/types/streaming/WebRtcReasoningTextMessageEvent.d.ts +0 -7
  270. package/dist/module/types/streaming/WebRtcReasoningTextMessageEvent.d.ts.map +0 -1
  271. package/dist/module/types/streaming/WebRtcReasoningTextMessageEvent.js +0 -2
  272. package/dist/module/types/streaming/WebRtcReasoningTextMessageEvent.js.map +0 -1
  273. package/dist/module/types/streaming/WebRtcTextMessageEvent.d.ts +0 -9
  274. package/dist/module/types/streaming/WebRtcTextMessageEvent.d.ts.map +0 -1
  275. package/dist/module/types/streaming/WebRtcTextMessageEvent.js +0 -2
  276. package/dist/module/types/streaming/WebRtcTextMessageEvent.js.map +0 -1
  277. package/dist/module/types/streaming/index.d.ts +0 -8
  278. package/dist/module/types/streaming/index.d.ts.map +0 -1
  279. package/dist/module/types/streaming/index.js +0 -2
  280. package/dist/module/types/streaming/index.js.map +0 -1
  281. package/dist/umd/anam.js +0 -2
  282. package/dist/umd/anam.js.LICENSE.txt +0 -8
@@ -1,149 +0,0 @@
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 { ClientError, ErrorCode } from '../lib/ClientError';
11
- import { CLIENT_METADATA, DEFAULT_API_BASE_URL, DEFAULT_API_VERSION, } from '../lib/constants';
12
- import { isCustomPersonaConfig } from '../types/PersonaConfig';
13
- export class CoreApiRestClient {
14
- constructor(sessionToken, apiKey, options) {
15
- if (!sessionToken && !apiKey) {
16
- throw new Error('Either sessionToken or apiKey must be provided');
17
- }
18
- this.sessionToken = sessionToken || null;
19
- this.apiKey = apiKey || null;
20
- this.baseUrl = (options === null || options === void 0 ? void 0 : options.baseUrl) || DEFAULT_API_BASE_URL;
21
- this.apiVersion = (options === null || options === void 0 ? void 0 : options.apiVersion) || DEFAULT_API_VERSION;
22
- this.apiGatewayConfig = (options === null || options === void 0 ? void 0 : options.apiGateway) || undefined;
23
- }
24
- /**
25
- * Builds URL and headers for a request, applying API Gateway configuration if enabled
26
- */
27
- buildGatewayUrlAndHeaders(targetPath, baseHeaders) {
28
- var _a, _b;
29
- if (((_a = this.apiGatewayConfig) === null || _a === void 0 ? void 0 : _a.enabled) && ((_b = this.apiGatewayConfig) === null || _b === void 0 ? void 0 : _b.baseUrl)) {
30
- // Use gateway base URL with same endpoint path
31
- const url = `${this.apiGatewayConfig.baseUrl}${targetPath}`;
32
- // Add complete target URL header for gateway routing
33
- const targetUrl = new URL(`${this.baseUrl}${targetPath}`);
34
- const headers = Object.assign(Object.assign({}, baseHeaders), { 'X-Anam-Target-Url': targetUrl.href });
35
- return { url, headers };
36
- }
37
- else {
38
- // Direct call to Anam API
39
- return {
40
- url: `${this.baseUrl}${targetPath}`,
41
- headers: baseHeaders,
42
- };
43
- }
44
- }
45
- startSession(personaConfig, sessionOptions) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- if (!this.sessionToken) {
48
- if (!personaConfig) {
49
- throw new ClientError('Persona configuration must be provided when using apiKey', ErrorCode.CLIENT_ERROR_CODE_VALIDATION_ERROR, 400);
50
- }
51
- this.sessionToken = yield this.unsafe_getSessionToken(personaConfig);
52
- }
53
- // Check if brainType is being used and log deprecation warning
54
- if (personaConfig && 'brainType' in personaConfig) {
55
- console.warn('Warning: brainType is deprecated and will be removed in a future version. Please use llmId instead.');
56
- }
57
- try {
58
- const targetPath = `${this.apiVersion}/engine/session`;
59
- const { url, headers } = this.buildGatewayUrlAndHeaders(targetPath, {
60
- 'Content-Type': 'application/json',
61
- Authorization: `Bearer ${this.sessionToken}`,
62
- });
63
- const response = yield fetch(url, {
64
- method: 'POST',
65
- headers,
66
- body: JSON.stringify({
67
- personaConfig,
68
- sessionOptions,
69
- clientMetadata: CLIENT_METADATA,
70
- }),
71
- });
72
- const data = yield response.json();
73
- const errorCause = data.error;
74
- switch (response.status) {
75
- case 200:
76
- case 201:
77
- return data;
78
- case 400:
79
- throw new ClientError('Invalid request to start session', ErrorCode.CLIENT_ERROR_CODE_VALIDATION_ERROR, 400, { cause: data.message });
80
- case 401:
81
- throw new ClientError('Authentication failed when starting session', ErrorCode.CLIENT_ERROR_CODE_AUTHENTICATION_ERROR, 401, { cause: data.message });
82
- case 402:
83
- throw new ClientError('Please sign up for a plan to start a session', ErrorCode.CLIENT_ERROR_CODE_NO_PLAN_FOUND, 402, { cause: data.message });
84
- case 403:
85
- throw new ClientError('Authentication failed when starting session', ErrorCode.CLIENT_ERROR_CODE_AUTHENTICATION_ERROR, 403, { cause: data.message });
86
- case 429:
87
- if (errorCause === 'Concurrent session limit reached') {
88
- throw new ClientError('Concurrency limit reached, please upgrade your plan', ErrorCode.CLIENT_ERROR_CODE_MAX_CONCURRENT_SESSIONS_REACHED, 429, { cause: data.message });
89
- }
90
- else if (errorCause === 'Spend cap reached') {
91
- throw new ClientError('Spend cap reached, please upgrade your plan', ErrorCode.CLIENT_ERROR_CODE_SPEND_CAP_REACHED, 429, { cause: data.message });
92
- }
93
- else {
94
- throw new ClientError('Usage limit reached, please upgrade your plan', ErrorCode.CLIENT_ERROR_CODE_USAGE_LIMIT_REACHED, 429, { cause: data.message });
95
- }
96
- case 503:
97
- throw new ClientError('There are no available personas, please try again later', ErrorCode.CLIENT_ERROR_CODE_SERVICE_BUSY, 503, { cause: data.message });
98
- default:
99
- throw new ClientError('Unknown error when starting session', ErrorCode.CLIENT_ERROR_CODE_SERVER_ERROR, 500, { cause: data.message });
100
- }
101
- }
102
- catch (error) {
103
- if (error instanceof ClientError) {
104
- throw error;
105
- }
106
- throw new ClientError('Failed to start session', ErrorCode.CLIENT_ERROR_CODE_SERVER_ERROR, 500, { cause: error instanceof Error ? error.message : String(error) });
107
- }
108
- });
109
- }
110
- unsafe_getSessionToken(personaConfig) {
111
- return __awaiter(this, void 0, void 0, function* () {
112
- console.warn('Using unsecure method. This method should not be used in production.');
113
- if (!this.apiKey) {
114
- throw new Error('No apiKey provided');
115
- }
116
- // Check if brainType is being used and log deprecation warning
117
- if (personaConfig && 'brainType' in personaConfig) {
118
- console.warn('Warning: brainType is deprecated and will be removed in a future version. Please use llmId instead.');
119
- }
120
- let body = {
121
- clientLabel: 'js-sdk-api-key',
122
- };
123
- if (isCustomPersonaConfig(personaConfig)) {
124
- body = Object.assign(Object.assign({}, body), { personaConfig });
125
- }
126
- try {
127
- const targetPath = `${this.apiVersion}/auth/session-token`;
128
- const { url, headers } = this.buildGatewayUrlAndHeaders(targetPath, {
129
- 'Content-Type': 'application/json',
130
- Authorization: `Bearer ${this.apiKey}`,
131
- });
132
- const response = yield fetch(url, {
133
- method: 'POST',
134
- headers,
135
- body: JSON.stringify(body),
136
- });
137
- const data = yield response.json();
138
- return data.sessionToken;
139
- }
140
- catch (e) {
141
- throw new Error('Failed to get session token');
142
- }
143
- });
144
- }
145
- getApiUrl() {
146
- return `${this.baseUrl}${this.apiVersion}`;
147
- }
148
- }
149
- //# sourceMappingURL=CoreApiRestClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CoreApiRestClient.js","sourceRoot":"","sources":["../../../src/modules/CoreApiRestClient.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { ApiGatewayConfig } from '../types/ApiGatewayConfig';
2
- export declare class EngineApiRestClient {
3
- private baseUrl;
4
- private sessionId;
5
- private apiGatewayConfig;
6
- constructor(baseUrl: string, sessionId: string, apiGatewayConfig?: ApiGatewayConfig);
7
- sendTalkCommand(content: string): Promise<void>;
8
- }
9
- //# sourceMappingURL=EngineApiRestClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EngineApiRestClient.d.ts","sourceRoot":"","sources":["../../../src/modules/EngineApiRestClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAA+B;gBAGrD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB;IAOxB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAyC7D"}
@@ -1,56 +0,0 @@
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
- export class EngineApiRestClient {
11
- constructor(baseUrl, sessionId, apiGatewayConfig) {
12
- this.baseUrl = baseUrl;
13
- this.sessionId = sessionId;
14
- this.apiGatewayConfig = apiGatewayConfig;
15
- }
16
- sendTalkCommand(content) {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- var _a, _b;
19
- try {
20
- // Determine the URL and headers based on API Gateway configuration
21
- let url;
22
- let headers = {
23
- 'Content-Type': 'application/json',
24
- };
25
- const targetPath = `/talk`;
26
- const queryString = `?session_id=${this.sessionId}`;
27
- if (((_a = this.apiGatewayConfig) === null || _a === void 0 ? void 0 : _a.enabled) && ((_b = this.apiGatewayConfig) === null || _b === void 0 ? void 0 : _b.baseUrl)) {
28
- // Use gateway base URL with same endpoint path
29
- url = `${this.apiGatewayConfig.baseUrl}${targetPath}${queryString}`;
30
- // Add complete target URL header for gateway routing
31
- const targetUrl = new URL(`${this.baseUrl}${targetPath}${queryString}`);
32
- headers['X-Anam-Target-Url'] = targetUrl.href;
33
- }
34
- else {
35
- // Direct call to Anam engine
36
- url = `${this.baseUrl}${targetPath}${queryString}`;
37
- }
38
- const response = yield fetch(url, {
39
- method: 'POST',
40
- headers,
41
- body: JSON.stringify({
42
- content,
43
- }),
44
- });
45
- if (!response.ok) {
46
- throw new Error(`Failed to send talk command: ${response.status} ${response.statusText}`);
47
- }
48
- }
49
- catch (error) {
50
- console.error(error);
51
- throw new Error('EngineApiRestClient - sendTalkCommand: Failed to send talk command');
52
- }
53
- });
54
- }
55
- }
56
- //# sourceMappingURL=EngineApiRestClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EngineApiRestClient.js","sourceRoot":"","sources":["../../../src/modules/EngineApiRestClient.ts"],"names":[],"mappings":";;;;;;;;;AAEA,MAAM,OAAO,mBAAmB;IAK9B,YACE,OAAe,EACf,SAAiB,EACjB,gBAAmC;QAEnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAEY,eAAe,CAAC,OAAe;;;YAC1C,IAAI,CAAC;gBACH,mEAAmE;gBACnE,IAAI,GAAW,CAAC;gBAChB,IAAI,OAAO,GAA2B;oBACpC,cAAc,EAAE,kBAAkB;iBACnC,CAAC;gBAEF,MAAM,UAAU,GAAG,OAAO,CAAC;gBAC3B,MAAM,WAAW,GAAG,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC;gBAEpD,IAAI,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,OAAO,MAAI,MAAA,IAAI,CAAC,gBAAgB,0CAAE,OAAO,CAAA,EAAE,CAAC;oBACrE,+CAA+C;oBAC/C,GAAG,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC;oBACpE,qDAAqD;oBACrD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC,CAAC;oBACxE,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,6BAA6B;oBAC7B,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC;gBACrD,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBAChC,MAAM,EAAE,MAAM;oBACd,OAAO;oBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,OAAO;qBACR,CAAC;iBACH,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACzE,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF"}
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,24 +0,0 @@
1
- export class InternalEventEmitter {
2
- constructor() {
3
- this.listeners = {};
4
- }
5
- addListener(event, callback) {
6
- if (!this.listeners[event]) {
7
- this.listeners[event] = new Set();
8
- }
9
- this.listeners[event].add(callback);
10
- }
11
- removeListener(event, callback) {
12
- if (!this.listeners[event])
13
- return;
14
- this.listeners[event].delete(callback);
15
- }
16
- emit(event, ...args) {
17
- if (!this.listeners[event])
18
- return;
19
- this.listeners[event].forEach((callback) => {
20
- callback(...args);
21
- });
22
- }
23
- }
24
- //# sourceMappingURL=InternalEventEmitter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InternalEventEmitter.js","sourceRoot":"","sources":["../../../src/modules/InternalEventEmitter.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,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"}
@@ -1,13 +0,0 @@
1
- import { WebRtcTextMessageEvent } from '../types';
2
- import { PublicEventEmitter, InternalEventEmitter } from '.';
3
- export declare class MessageHistoryClient {
4
- private publicEventEmitter;
5
- private internalEventEmitter;
6
- private messages;
7
- constructor(publicEventEmitter: PublicEventEmitter, internalEventEmitter: InternalEventEmitter);
8
- private webRtcTextMessageEventToMessageStreamEvent;
9
- private processUserMessage;
10
- private processPersonaMessage;
11
- processWebRtcTextMessageEvent(event: WebRtcTextMessageEvent): void;
12
- }
13
- //# sourceMappingURL=MessageHistoryClient.d.ts.map
@@ -1 +0,0 @@
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,GAAG,CAAC;AAC7D,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"}
@@ -1,66 +0,0 @@
1
- import { MessageRole, InternalEvent, AnamEvent, } from '../types';
2
- export class MessageHistoryClient {
3
- constructor(publicEventEmitter, internalEventEmitter) {
4
- this.messages = [];
5
- this.publicEventEmitter = publicEventEmitter;
6
- this.internalEventEmitter = internalEventEmitter;
7
- // register for events
8
- this.internalEventEmitter.addListener(InternalEvent.WEBRTC_CHAT_MESSAGE_RECEIVED, this.processWebRtcTextMessageEvent.bind(this));
9
- }
10
- webRtcTextMessageEventToMessageStreamEvent(event) {
11
- return {
12
- id: `${event.role}::${event.message_id}`, // id is the same for persona and user for a single question response, so we need to differentiate them
13
- content: event.content,
14
- role: event.role,
15
- endOfSpeech: event.end_of_speech,
16
- interrupted: event.interrupted,
17
- };
18
- }
19
- processUserMessage(messageEvent) {
20
- // each user message is added directly to the history
21
- // user messages can not be interrupted
22
- const userMessage = {
23
- id: messageEvent.id,
24
- content: messageEvent.content,
25
- role: messageEvent.role,
26
- };
27
- this.messages.push(userMessage);
28
- }
29
- processPersonaMessage(messageEvent) {
30
- const personaMessage = {
31
- id: messageEvent.id,
32
- content: messageEvent.content,
33
- role: messageEvent.role,
34
- interrupted: messageEvent.interrupted,
35
- };
36
- // check for existing message in the history
37
- const existingMessageIndex = this.messages.findIndex((m) => m.id === personaMessage.id);
38
- if (existingMessageIndex !== -1) {
39
- const existingMessage = this.messages[existingMessageIndex];
40
- // update the existing message
41
- this.messages[existingMessageIndex] = Object.assign(Object.assign({}, existingMessage), { content: existingMessage.content + personaMessage.content, interrupted: existingMessage.interrupted || personaMessage.interrupted });
42
- }
43
- else {
44
- // add the new persona message to the history
45
- this.messages.push(personaMessage);
46
- }
47
- }
48
- processWebRtcTextMessageEvent(event) {
49
- const messageStreamEvent = this.webRtcTextMessageEventToMessageStreamEvent(event);
50
- // pass to callback stream
51
- this.publicEventEmitter.emit(AnamEvent.MESSAGE_STREAM_EVENT_RECEIVED, messageStreamEvent);
52
- // update the message history
53
- switch (messageStreamEvent.role) {
54
- case MessageRole.USER:
55
- this.processUserMessage(messageStreamEvent);
56
- break;
57
- case MessageRole.PERSONA:
58
- this.processPersonaMessage(messageStreamEvent);
59
- break;
60
- }
61
- if (messageStreamEvent.endOfSpeech) {
62
- this.publicEventEmitter.emit(AnamEvent.MESSAGE_HISTORY_UPDATED, this.messages);
63
- }
64
- }
65
- }
66
- //# sourceMappingURL=MessageHistoryClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessageHistoryClient.js","sourceRoot":"","sources":["../../../src/modules/MessageHistoryClient.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"PublicEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/modules/PublicEventEmitter.ts"],"names":[],"mappings":"AAIA,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;CAuBR"}
@@ -1,33 +0,0 @@
1
- import { ClientMetricMeasurement, sendClientMetric, } from '../lib/ClientMetrics';
2
- import { AnamEvent } from '../types';
3
- export class PublicEventEmitter {
4
- constructor() {
5
- this.listeners = {};
6
- }
7
- addListener(event, callback) {
8
- if (!this.listeners[event]) {
9
- this.listeners[event] = new Set();
10
- }
11
- this.listeners[event].add(callback);
12
- }
13
- removeListener(event, callback) {
14
- if (!this.listeners[event])
15
- return;
16
- this.listeners[event].delete(callback);
17
- }
18
- emit(event, ...args) {
19
- if (event === AnamEvent.CONNECTION_ESTABLISHED) {
20
- sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_CONNECTION_ESTABLISHED, '1');
21
- }
22
- if (event === AnamEvent.CONNECTION_CLOSED) {
23
- const [closeCode, details] = args;
24
- sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_CONNECTION_CLOSED, closeCode, details ? { details: details } : undefined);
25
- }
26
- if (!this.listeners[event])
27
- return;
28
- this.listeners[event].forEach((callback) => {
29
- callback(...args);
30
- });
31
- }
32
- }
33
- //# sourceMappingURL=PublicEventEmitter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PublicEventEmitter.js","sourceRoot":"","sources":["../../../src/modules/PublicEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAkB,MAAM,UAAU,CAAC;AAErD,MAAM,OAAO,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,CAAuC,GAAG,IAAI,GAAG,EAEnE,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,KAAK,KAAK,SAAS,CAAC,sBAAsB,EAAE,CAAC;YAC/C,gBAAgB,CACd,uBAAuB,CAAC,gDAAgD,EACxE,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAC1C,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;YAClC,gBAAgB,CACd,uBAAuB,CAAC,2CAA2C,EACnE,SAAmB,EACnB,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAElC,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"}
@@ -1,34 +0,0 @@
1
- import { InternalEventEmitter, PublicEventEmitter } from '.';
2
- import { SignallingClientOptions, ApiGatewayConfig, AgentAudioInputPayload } from '../types';
3
- import { TalkMessageStreamPayload } from '../types/signalling/TalkMessageStreamPayload';
4
- export declare class SignallingClient {
5
- private publicEventEmitter;
6
- private internalEventEmitter;
7
- private url;
8
- private sessionId;
9
- private heartbeatIntervalSeconds;
10
- private maxWsReconnectionAttempts;
11
- private stopSignal;
12
- private sendingBuffer;
13
- private wsConnectionAttempts;
14
- private socket;
15
- private heartBeatIntervalRef;
16
- private apiGatewayConfig;
17
- constructor(sessionId: string, options: SignallingClientOptions, publicEventEmitter: PublicEventEmitter, internalEventEmitter: InternalEventEmitter, apiGatewayConfig?: ApiGatewayConfig);
18
- stop(): void;
19
- connect(): WebSocket;
20
- sendOffer(localDescription: RTCSessionDescription): Promise<void>;
21
- sendIceCandidate(candidate: RTCIceCandidate): Promise<void>;
22
- private sendSignalMessage;
23
- sendTalkMessage(payload: TalkMessageStreamPayload): Promise<void>;
24
- sendAgentAudioInput(payload: AgentAudioInputPayload): void;
25
- sendAgentAudioInputEnd(): void;
26
- private closeSocket;
27
- private onOpen;
28
- private onClose;
29
- private onError;
30
- private flushSendingBuffer;
31
- private onMessage;
32
- private startSendingHeartBeats;
33
- }
34
- //# sourceMappingURL=SignallingClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignallingClient.d.ts","sourceRoot":"","sources":["../../../src/modules/SignallingClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,GAAG,CAAC;AAC7D,OAAO,EAKL,uBAAuB,EAEvB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAKxF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,oBAAoB,CAA+C;IAC3E,OAAO,CAAC,gBAAgB,CAA+B;gBAGrD,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,CAAC,EAAE,gBAAgB;IAkE9B,IAAI;IAKJ,OAAO,IAAI,SAAS;IAQd,SAAS,CAAC,gBAAgB,EAAE,qBAAqB;IAajD,gBAAgB,CAAC,SAAS,EAAE,eAAe;IASxD,OAAO,CAAC,iBAAiB;IAeZ,eAAe,CAAC,OAAO,EAAE,wBAAwB;IASvD,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAS1D,sBAAsB,IAAI,IAAI;IASrC,OAAO,CAAC,WAAW;YAWL,MAAM;YAmBN,OAAO;IAsBrB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,kBAAkB;YAcZ,SAAS;IAQvB,OAAO,CAAC,sBAAsB;CA4B/B"}