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

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 (298) hide show
  1. package/dist/main/AnamClient.d.ts +1 -1
  2. package/dist/main/AnamClient.d.ts.map +1 -1
  3. package/dist/main/AnamClient.js +1 -1
  4. package/dist/main/AnamClient.js.map +1 -1
  5. package/dist/main/modules/{ThoughtHistoryClient.d.ts → ReasoningHistoryClient.d.ts} +4 -4
  6. package/dist/main/modules/ReasoningHistoryClient.d.ts.map +1 -0
  7. package/dist/main/modules/ReasoningHistoryClient.js +46 -0
  8. package/dist/main/modules/ReasoningHistoryClient.js.map +1 -0
  9. package/dist/main/modules/index.d.ts +1 -1
  10. package/dist/main/modules/index.d.ts.map +1 -1
  11. package/dist/main/modules/index.js +3 -3
  12. package/dist/main/modules/index.js.map +1 -1
  13. package/dist/main/types/events/internal/InternalEvent.d.ts +1 -1
  14. package/dist/main/types/events/internal/InternalEvent.d.ts.map +1 -1
  15. package/dist/main/types/events/internal/InternalEvent.js +1 -1
  16. package/dist/main/types/events/internal/InternalEvent.js.map +1 -1
  17. package/dist/main/types/events/internal/InternalEventCallbacks.d.ts +2 -1
  18. package/dist/main/types/events/internal/InternalEventCallbacks.d.ts.map +1 -1
  19. package/dist/main/types/events/public/AnamEvent.d.ts +2 -2
  20. package/dist/main/types/events/public/AnamEvent.d.ts.map +1 -1
  21. package/dist/main/types/events/public/AnamEvent.js +2 -2
  22. package/dist/main/types/events/public/AnamEvent.js.map +1 -1
  23. package/dist/main/types/events/public/EventCallbacks.d.ts +3 -1
  24. package/dist/main/types/events/public/EventCallbacks.d.ts.map +1 -1
  25. package/dist/main/types/messageHistory/ReasoningMessage.d.ts +6 -0
  26. package/dist/main/types/messageHistory/ReasoningMessage.d.ts.map +1 -0
  27. package/dist/main/types/messageHistory/{Thought.js → ReasoningMessage.js} +1 -1
  28. package/dist/main/types/messageHistory/ReasoningMessage.js.map +1 -0
  29. package/dist/main/types/messageHistory/ReasoningStreamEvent.d.ts +7 -0
  30. package/dist/main/types/messageHistory/ReasoningStreamEvent.d.ts.map +1 -0
  31. package/dist/main/types/messageHistory/{ThoughtStreamEvent.js → ReasoningStreamEvent.js} +1 -1
  32. package/dist/main/types/messageHistory/ReasoningStreamEvent.js.map +1 -0
  33. package/dist/main/types/messageHistory/index.d.ts +2 -2
  34. package/dist/main/types/messageHistory/index.d.ts.map +1 -1
  35. package/dist/module/AnamClient.d.ts +65 -0
  36. package/dist/module/AnamClient.d.ts.map +1 -0
  37. package/dist/module/AnamClient.js +462 -0
  38. package/dist/module/AnamClient.js.map +1 -0
  39. package/dist/module/index.d.ts +26 -0
  40. package/dist/module/index.d.ts.map +1 -0
  41. package/dist/module/index.js +27 -0
  42. package/dist/module/index.js.map +1 -0
  43. package/dist/module/lib/ClientError.d.ts +19 -0
  44. package/dist/module/lib/ClientError.d.ts.map +1 -0
  45. package/dist/module/lib/ClientError.js +30 -0
  46. package/dist/module/lib/ClientError.js.map +1 -0
  47. package/dist/module/lib/ClientMetrics.d.ts +59 -0
  48. package/dist/module/lib/ClientMetrics.d.ts.map +1 -0
  49. package/dist/module/lib/ClientMetrics.js +305 -0
  50. package/dist/module/lib/ClientMetrics.js.map +1 -0
  51. package/dist/module/lib/constants.d.ts +10 -0
  52. package/dist/module/lib/constants.d.ts.map +1 -0
  53. package/dist/module/lib/constants.js +11 -0
  54. package/dist/module/lib/constants.js.map +1 -0
  55. package/dist/module/lib/correlationId.d.ts +2 -0
  56. package/dist/module/lib/correlationId.d.ts.map +1 -0
  57. package/dist/module/lib/correlationId.js +9 -0
  58. package/dist/module/lib/correlationId.js.map +1 -0
  59. package/dist/module/lib/validateApiGatewayConfig.d.ts +8 -0
  60. package/dist/module/lib/validateApiGatewayConfig.d.ts.map +1 -0
  61. package/dist/module/lib/validateApiGatewayConfig.js +31 -0
  62. package/dist/module/lib/validateApiGatewayConfig.js.map +1 -0
  63. package/dist/module/lib/version.d.ts +3 -0
  64. package/dist/module/lib/version.d.ts.map +1 -0
  65. package/dist/module/lib/version.js +3 -0
  66. package/dist/module/lib/version.js.map +1 -0
  67. package/dist/module/modules/CoreApiRestClient.d.ts +18 -0
  68. package/dist/module/modules/CoreApiRestClient.d.ts.map +1 -0
  69. package/dist/module/modules/CoreApiRestClient.js +149 -0
  70. package/dist/module/modules/CoreApiRestClient.js.map +1 -0
  71. package/dist/module/modules/EngineApiRestClient.d.ts +9 -0
  72. package/dist/module/modules/EngineApiRestClient.d.ts.map +1 -0
  73. package/dist/module/modules/EngineApiRestClient.js +56 -0
  74. package/dist/module/modules/EngineApiRestClient.js.map +1 -0
  75. package/dist/module/modules/InternalEventEmitter.d.ts +9 -0
  76. package/dist/module/modules/InternalEventEmitter.d.ts.map +1 -0
  77. package/dist/module/modules/InternalEventEmitter.js +24 -0
  78. package/dist/module/modules/InternalEventEmitter.js.map +1 -0
  79. package/dist/module/modules/MessageHistoryClient.d.ts +13 -0
  80. package/dist/module/modules/MessageHistoryClient.d.ts.map +1 -0
  81. package/dist/module/modules/MessageHistoryClient.js +66 -0
  82. package/dist/module/modules/MessageHistoryClient.js.map +1 -0
  83. package/dist/module/modules/PublicEventEmitter.d.ts +9 -0
  84. package/dist/module/modules/PublicEventEmitter.d.ts.map +1 -0
  85. package/dist/module/modules/PublicEventEmitter.js +33 -0
  86. package/dist/module/modules/PublicEventEmitter.js.map +1 -0
  87. package/dist/module/modules/ReasoningHistoryClient.d.ts +10 -0
  88. package/dist/module/modules/ReasoningHistoryClient.d.ts.map +1 -0
  89. package/dist/module/modules/ReasoningHistoryClient.js +42 -0
  90. package/dist/module/modules/ReasoningHistoryClient.js.map +1 -0
  91. package/dist/module/modules/SignallingClient.d.ts +34 -0
  92. package/dist/module/modules/SignallingClient.d.ts.map +1 -0
  93. package/dist/module/modules/SignallingClient.js +251 -0
  94. package/dist/module/modules/SignallingClient.js.map +1 -0
  95. package/dist/module/modules/StreamingClient.d.ts +81 -0
  96. package/dist/module/modules/StreamingClient.d.ts.map +1 -0
  97. package/dist/module/modules/StreamingClient.js +706 -0
  98. package/dist/module/modules/StreamingClient.js.map +1 -0
  99. package/dist/module/modules/ToolCallManager.d.ts +8 -0
  100. package/dist/module/modules/ToolCallManager.d.ts.map +1 -0
  101. package/dist/module/modules/ToolCallManager.js +17 -0
  102. package/dist/module/modules/ToolCallManager.js.map +1 -0
  103. package/dist/module/modules/index.d.ts +10 -0
  104. package/dist/module/modules/index.d.ts.map +1 -0
  105. package/dist/module/modules/index.js +10 -0
  106. package/dist/module/modules/index.js.map +1 -0
  107. package/dist/module/types/AgentAudioInputStream.d.ts +28 -0
  108. package/dist/module/types/AgentAudioInputStream.d.ts.map +1 -0
  109. package/dist/module/types/AgentAudioInputStream.js +50 -0
  110. package/dist/module/types/AgentAudioInputStream.js.map +1 -0
  111. package/dist/module/types/AnamClientOptions.d.ts +4 -0
  112. package/dist/module/types/AnamClientOptions.d.ts.map +1 -0
  113. package/dist/module/types/AnamClientOptions.js +2 -0
  114. package/dist/module/types/AnamClientOptions.js.map +1 -0
  115. package/dist/module/types/AnamInternalClientOptions.d.ts +4 -0
  116. package/dist/module/types/AnamInternalClientOptions.d.ts.map +1 -0
  117. package/dist/module/types/AnamInternalClientOptions.js +2 -0
  118. package/dist/module/types/AnamInternalClientOptions.js.map +1 -0
  119. package/dist/module/types/AnamPublicClientOptions.d.ts +20 -0
  120. package/dist/module/types/AnamPublicClientOptions.d.ts.map +1 -0
  121. package/dist/module/types/AnamPublicClientOptions.js +2 -0
  122. package/dist/module/types/AnamPublicClientOptions.js.map +1 -0
  123. package/dist/module/types/ApiGatewayConfig.d.ts +45 -0
  124. package/dist/module/types/ApiGatewayConfig.d.ts.map +1 -0
  125. package/dist/module/types/ApiGatewayConfig.js +2 -0
  126. package/dist/module/types/ApiGatewayConfig.js.map +1 -0
  127. package/dist/module/types/InputAudioState.d.ts +11 -0
  128. package/dist/module/types/InputAudioState.d.ts.map +1 -0
  129. package/dist/module/types/InputAudioState.js +8 -0
  130. package/dist/module/types/InputAudioState.js.map +1 -0
  131. package/dist/module/types/PersonaConfig.d.ts +13 -0
  132. package/dist/module/types/PersonaConfig.d.ts.map +1 -0
  133. package/dist/module/types/PersonaConfig.js +4 -0
  134. package/dist/module/types/PersonaConfig.js.map +1 -0
  135. package/dist/module/types/TalkMessageStream.d.ts +18 -0
  136. package/dist/module/types/TalkMessageStream.d.ts.map +1 -0
  137. package/dist/module/types/TalkMessageStream.js +89 -0
  138. package/dist/module/types/TalkMessageStream.js.map +1 -0
  139. package/dist/module/types/TalkMessageStreamState.d.ts +7 -0
  140. package/dist/module/types/TalkMessageStreamState.d.ts.map +1 -0
  141. package/dist/module/types/TalkMessageStreamState.js +8 -0
  142. package/dist/module/types/TalkMessageStreamState.js.map +1 -0
  143. package/dist/module/types/VoiceDetectionOptions.d.ts +4 -0
  144. package/dist/module/types/VoiceDetectionOptions.d.ts.map +1 -0
  145. package/dist/module/types/VoiceDetectionOptions.js +2 -0
  146. package/dist/module/types/VoiceDetectionOptions.js.map +1 -0
  147. package/dist/module/types/coreApi/ApiOptions.d.ts +7 -0
  148. package/dist/module/types/coreApi/ApiOptions.d.ts.map +1 -0
  149. package/dist/module/types/coreApi/ApiOptions.js +2 -0
  150. package/dist/module/types/coreApi/ApiOptions.js.map +1 -0
  151. package/dist/module/types/coreApi/StartSessionOptions.d.ts +5 -0
  152. package/dist/module/types/coreApi/StartSessionOptions.d.ts.map +1 -0
  153. package/dist/module/types/coreApi/StartSessionOptions.js +2 -0
  154. package/dist/module/types/coreApi/StartSessionOptions.js.map +1 -0
  155. package/dist/module/types/coreApi/StartSessionResponse.d.ts +13 -0
  156. package/dist/module/types/coreApi/StartSessionResponse.d.ts.map +1 -0
  157. package/dist/module/types/coreApi/StartSessionResponse.js +2 -0
  158. package/dist/module/types/coreApi/StartSessionResponse.js.map +1 -0
  159. package/dist/module/types/coreApi/index.d.ts +5 -0
  160. package/dist/module/types/coreApi/index.d.ts.map +1 -0
  161. package/dist/module/types/coreApi/index.js +2 -0
  162. package/dist/module/types/coreApi/index.js.map +1 -0
  163. package/dist/module/types/engineApi/EngineApiRestClientOptions.d.ts +4 -0
  164. package/dist/module/types/engineApi/EngineApiRestClientOptions.d.ts.map +1 -0
  165. package/dist/module/types/engineApi/EngineApiRestClientOptions.js +2 -0
  166. package/dist/module/types/engineApi/EngineApiRestClientOptions.js.map +1 -0
  167. package/dist/module/types/engineApi/index.d.ts +1 -0
  168. package/dist/module/types/engineApi/index.d.ts.map +1 -0
  169. package/dist/module/types/engineApi/index.js +2 -0
  170. package/dist/module/types/engineApi/index.js.map +1 -0
  171. package/dist/module/types/events/EventCallback.d.ts +2 -0
  172. package/dist/module/types/events/EventCallback.d.ts.map +1 -0
  173. package/dist/module/types/events/EventCallback.js +2 -0
  174. package/dist/module/types/events/EventCallback.js.map +1 -0
  175. package/dist/module/types/events/index.d.ts +7 -0
  176. package/dist/module/types/events/index.d.ts.map +1 -0
  177. package/dist/module/types/events/index.js +4 -0
  178. package/dist/module/types/events/index.js.map +1 -0
  179. package/dist/module/types/events/internal/InternalEvent.d.ts +8 -0
  180. package/dist/module/types/events/internal/InternalEvent.d.ts.map +1 -0
  181. package/dist/module/types/events/internal/InternalEvent.js +9 -0
  182. package/dist/module/types/events/internal/InternalEvent.js.map +1 -0
  183. package/dist/module/types/events/internal/InternalEventCallbacks.d.ts +9 -0
  184. package/dist/module/types/events/internal/InternalEventCallbacks.d.ts.map +1 -0
  185. package/dist/module/types/events/internal/InternalEventCallbacks.js +2 -0
  186. package/dist/module/types/events/internal/InternalEventCallbacks.js.map +1 -0
  187. package/dist/module/types/events/public/AnamEvent.d.ts +21 -0
  188. package/dist/module/types/events/public/AnamEvent.d.ts.map +1 -0
  189. package/dist/module/types/events/public/AnamEvent.js +22 -0
  190. package/dist/module/types/events/public/AnamEvent.js.map +1 -0
  191. package/dist/module/types/events/public/ConnectionClosedCodes.d.ts +8 -0
  192. package/dist/module/types/events/public/ConnectionClosedCodes.d.ts.map +1 -0
  193. package/dist/module/types/events/public/ConnectionClosedCodes.js +9 -0
  194. package/dist/module/types/events/public/ConnectionClosedCodes.js.map +1 -0
  195. package/dist/module/types/events/public/EventCallbacks.d.ts +23 -0
  196. package/dist/module/types/events/public/EventCallbacks.d.ts.map +1 -0
  197. package/dist/module/types/events/public/EventCallbacks.js +2 -0
  198. package/dist/module/types/events/public/EventCallbacks.js.map +1 -0
  199. package/dist/module/types/index.d.ts +18 -0
  200. package/dist/module/types/index.d.ts.map +1 -0
  201. package/dist/module/types/index.js +9 -0
  202. package/dist/module/types/index.js.map +1 -0
  203. package/dist/module/types/messageHistory/Message.d.ts +8 -0
  204. package/dist/module/types/messageHistory/Message.d.ts.map +1 -0
  205. package/dist/module/types/messageHistory/Message.js +2 -0
  206. package/dist/module/types/messageHistory/Message.js.map +1 -0
  207. package/dist/module/types/messageHistory/MessageRole.d.ts +5 -0
  208. package/dist/module/types/messageHistory/MessageRole.d.ts.map +1 -0
  209. package/dist/module/types/messageHistory/MessageRole.js +6 -0
  210. package/dist/module/types/messageHistory/MessageRole.js.map +1 -0
  211. package/dist/module/types/messageHistory/MessageStreamEvent.d.ts +9 -0
  212. package/dist/module/types/messageHistory/MessageStreamEvent.d.ts.map +1 -0
  213. package/dist/module/types/messageHistory/MessageStreamEvent.js +2 -0
  214. package/dist/module/types/messageHistory/MessageStreamEvent.js.map +1 -0
  215. package/dist/module/types/messageHistory/ReasoningMessage.d.ts +6 -0
  216. package/dist/module/types/messageHistory/ReasoningMessage.d.ts.map +1 -0
  217. package/dist/module/types/messageHistory/ReasoningMessage.js +2 -0
  218. package/dist/module/types/messageHistory/ReasoningMessage.js.map +1 -0
  219. package/dist/module/types/messageHistory/ReasoningStreamEvent.d.ts +7 -0
  220. package/dist/module/types/messageHistory/ReasoningStreamEvent.d.ts.map +1 -0
  221. package/dist/module/types/messageHistory/ReasoningStreamEvent.js +2 -0
  222. package/dist/module/types/messageHistory/ReasoningStreamEvent.js.map +1 -0
  223. package/dist/module/types/messageHistory/index.d.ts +6 -0
  224. package/dist/module/types/messageHistory/index.d.ts.map +1 -0
  225. package/dist/module/types/messageHistory/index.js +2 -0
  226. package/dist/module/types/messageHistory/index.js.map +1 -0
  227. package/dist/module/types/signalling/AgentAudioInputConfig.d.ts +9 -0
  228. package/dist/module/types/signalling/AgentAudioInputConfig.d.ts.map +1 -0
  229. package/dist/module/types/signalling/AgentAudioInputConfig.js +2 -0
  230. package/dist/module/types/signalling/AgentAudioInputConfig.js.map +1 -0
  231. package/dist/module/types/signalling/AgentAudioInputPayload.d.ts +13 -0
  232. package/dist/module/types/signalling/AgentAudioInputPayload.d.ts.map +1 -0
  233. package/dist/module/types/signalling/AgentAudioInputPayload.js +2 -0
  234. package/dist/module/types/signalling/AgentAudioInputPayload.js.map +1 -0
  235. package/dist/module/types/signalling/SignalMessage.d.ts +19 -0
  236. package/dist/module/types/signalling/SignalMessage.d.ts.map +1 -0
  237. package/dist/module/types/signalling/SignalMessage.js +15 -0
  238. package/dist/module/types/signalling/SignalMessage.js.map +1 -0
  239. package/dist/module/types/signalling/SignallingClientOptions.d.ts +12 -0
  240. package/dist/module/types/signalling/SignallingClientOptions.d.ts.map +1 -0
  241. package/dist/module/types/signalling/SignallingClientOptions.js +2 -0
  242. package/dist/module/types/signalling/SignallingClientOptions.js.map +1 -0
  243. package/dist/module/types/signalling/TalkMessageStreamPayload.d.ts +7 -0
  244. package/dist/module/types/signalling/TalkMessageStreamPayload.d.ts.map +1 -0
  245. package/dist/module/types/signalling/TalkMessageStreamPayload.js +2 -0
  246. package/dist/module/types/signalling/TalkMessageStreamPayload.js.map +1 -0
  247. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.d.ts +5 -0
  248. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.d.ts.map +1 -0
  249. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.js +7 -0
  250. package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.js.map +1 -0
  251. package/dist/module/types/signalling/index.d.ts +6 -0
  252. package/dist/module/types/signalling/index.d.ts.map +1 -0
  253. package/dist/module/types/signalling/index.js +2 -0
  254. package/dist/module/types/signalling/index.js.map +1 -0
  255. package/dist/module/types/streaming/ClientToolEvent.d.ts +10 -0
  256. package/dist/module/types/streaming/ClientToolEvent.d.ts.map +1 -0
  257. package/dist/module/types/streaming/ClientToolEvent.js +2 -0
  258. package/dist/module/types/streaming/ClientToolEvent.js.map +1 -0
  259. package/dist/module/types/streaming/DataChannelMessage.d.ts +6 -0
  260. package/dist/module/types/streaming/DataChannelMessage.d.ts.map +1 -0
  261. package/dist/module/types/streaming/DataChannelMessage.js +7 -0
  262. package/dist/module/types/streaming/DataChannelMessage.js.map +1 -0
  263. package/dist/module/types/streaming/InputAudioOptions.d.ts +8 -0
  264. package/dist/module/types/streaming/InputAudioOptions.d.ts.map +1 -0
  265. package/dist/module/types/streaming/InputAudioOptions.js +2 -0
  266. package/dist/module/types/streaming/InputAudioOptions.js.map +1 -0
  267. package/dist/module/types/streaming/StreamingClientOptions.d.ts +16 -0
  268. package/dist/module/types/streaming/StreamingClientOptions.d.ts.map +1 -0
  269. package/dist/module/types/streaming/StreamingClientOptions.js +2 -0
  270. package/dist/module/types/streaming/StreamingClientOptions.js.map +1 -0
  271. package/dist/module/types/streaming/WebRtcClientToolEvent.d.ts +11 -0
  272. package/dist/module/types/streaming/WebRtcClientToolEvent.d.ts.map +1 -0
  273. package/dist/module/types/streaming/WebRtcClientToolEvent.js +2 -0
  274. package/dist/module/types/streaming/WebRtcClientToolEvent.js.map +1 -0
  275. package/dist/module/types/streaming/WebRtcReasoningTextMessageEvent.d.ts +8 -0
  276. package/dist/module/types/streaming/WebRtcReasoningTextMessageEvent.d.ts.map +1 -0
  277. package/dist/module/types/streaming/WebRtcReasoningTextMessageEvent.js +2 -0
  278. package/dist/module/types/streaming/WebRtcReasoningTextMessageEvent.js.map +1 -0
  279. package/dist/module/types/streaming/WebRtcTextMessageEvent.d.ts +9 -0
  280. package/dist/module/types/streaming/WebRtcTextMessageEvent.d.ts.map +1 -0
  281. package/dist/module/types/streaming/WebRtcTextMessageEvent.js +2 -0
  282. package/dist/module/types/streaming/WebRtcTextMessageEvent.js.map +1 -0
  283. package/dist/module/types/streaming/index.d.ts +8 -0
  284. package/dist/module/types/streaming/index.d.ts.map +1 -0
  285. package/dist/module/types/streaming/index.js +2 -0
  286. package/dist/module/types/streaming/index.js.map +1 -0
  287. package/dist/umd/anam.js +2 -0
  288. package/dist/umd/anam.js.LICENSE.txt +8 -0
  289. package/package.json +1 -1
  290. package/dist/main/modules/ThoughtHistoryClient.d.ts.map +0 -1
  291. package/dist/main/modules/ThoughtHistoryClient.js +0 -34
  292. package/dist/main/modules/ThoughtHistoryClient.js.map +0 -1
  293. package/dist/main/types/messageHistory/Thought.d.ts +0 -5
  294. package/dist/main/types/messageHistory/Thought.d.ts.map +0 -1
  295. package/dist/main/types/messageHistory/Thought.js.map +0 -1
  296. package/dist/main/types/messageHistory/ThoughtStreamEvent.d.ts +0 -6
  297. package/dist/main/types/messageHistory/ThoughtStreamEvent.d.ts.map +0 -1
  298. package/dist/main/types/messageHistory/ThoughtStreamEvent.js.map +0 -1
@@ -0,0 +1,149 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreApiRestClient.js","sourceRoot":"","sources":["../../../src/modules/CoreApiRestClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,56 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,9 @@
1
+ import { InternalEvent, InternalEventCallbacks } from '../types';
2
+ export declare class InternalEventEmitter {
3
+ private listeners;
4
+ constructor();
5
+ addListener<K extends InternalEvent>(event: K, callback: InternalEventCallbacks[K]): void;
6
+ removeListener<K extends InternalEvent>(event: K, callback: InternalEventCallbacks[K]): void;
7
+ emit<K extends InternalEvent>(event: K, ...args: InternalEventCallbacks[K] extends (...args: infer P) => any ? P : never): void;
8
+ }
9
+ //# sourceMappingURL=InternalEventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/modules/InternalEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEjE,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAEV;;IAIA,WAAW,CAAC,CAAC,SAAS,aAAa,EACxC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAClC,IAAI;IASA,cAAc,CAAC,CAAC,SAAS,aAAa,EAC3C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAClC,IAAI;IAKA,IAAI,CAAC,CAAC,SAAS,aAAa,EACjC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAChE,CAAC,GACD,KAAK,GACR,IAAI;CAQR"}
@@ -0,0 +1,24 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,13 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,66 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageHistoryClient.js","sourceRoot":"","sources":["../../../src/modules/MessageHistoryClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { AnamEvent, EventCallbacks } from '../types';
2
+ export declare class PublicEventEmitter {
3
+ private listeners;
4
+ constructor();
5
+ addListener<K extends AnamEvent>(event: K, callback: EventCallbacks[K]): void;
6
+ removeListener<K extends AnamEvent>(event: K, callback: EventCallbacks[K]): void;
7
+ emit<K extends AnamEvent>(event: K, ...args: EventCallbacks[K] extends (...args: infer P) => any ? P : never): void;
8
+ }
9
+ //# sourceMappingURL=PublicEventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublicEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/modules/PublicEventEmitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,10 @@
1
+ import { PublicEventEmitter, InternalEventEmitter } from '.';
2
+ export declare class ReasoningHistoryClient {
3
+ private publicEventEmitter;
4
+ private internalEventEmitter;
5
+ private reasoning_messages;
6
+ constructor(publicEventEmitter: PublicEventEmitter, internalEventEmitter: InternalEventEmitter);
7
+ private webRtcTextMessageEventToReasoningStreamEvent;
8
+ private processWebRtcReasoningTextMessageEvent;
9
+ }
10
+ //# sourceMappingURL=ReasoningHistoryClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReasoningHistoryClient.d.ts","sourceRoot":"","sources":["../../../src/modules/ReasoningHistoryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,GAAG,CAAC;AAS7D,qBAAa,sBAAsB;IACjC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,oBAAoB,CAAuB;IAEnD,OAAO,CAAC,kBAAkB,CAA0B;gBAElD,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB;IAW5C,OAAO,CAAC,4CAA4C;IAWpD,OAAO,CAAC,sCAAsC;CAqC/C"}
@@ -0,0 +1,42 @@
1
+ import { AnamEvent, InternalEvent, } from '../types';
2
+ export class ReasoningHistoryClient {
3
+ constructor(publicEventEmitter, internalEventEmitter) {
4
+ this.reasoning_messages = [];
5
+ this.publicEventEmitter = publicEventEmitter;
6
+ this.internalEventEmitter = internalEventEmitter;
7
+ // register for events
8
+ this.internalEventEmitter.addListener(InternalEvent.WEBRTC_REASONING_TEXT_MESSAGE_RECEIVED, this.processWebRtcReasoningTextMessageEvent.bind(this));
9
+ }
10
+ webRtcTextMessageEventToReasoningStreamEvent(event) {
11
+ return {
12
+ id: `${event.role}::${event.message_id}`,
13
+ content: event.content,
14
+ endOfThought: event.end_of_thought,
15
+ role: event.role,
16
+ };
17
+ }
18
+ processWebRtcReasoningTextMessageEvent(event) {
19
+ const ReasoningStreamEvent = this.webRtcTextMessageEventToReasoningStreamEvent(event);
20
+ this.publicEventEmitter.emit(AnamEvent.REASONING_STREAM_EVENT_RECEIVED, ReasoningStreamEvent);
21
+ const message = {
22
+ id: ReasoningStreamEvent.id,
23
+ content: ReasoningStreamEvent.content,
24
+ role: ReasoningStreamEvent.role,
25
+ };
26
+ const existingMessageIndex = this.reasoning_messages.findIndex((m) => m.id === message.id);
27
+ if (existingMessageIndex !== -1) {
28
+ // update existing message
29
+ const existingMessage = this.reasoning_messages[existingMessageIndex];
30
+ existingMessage.content += message.content;
31
+ this.reasoning_messages[existingMessageIndex] = existingMessage;
32
+ }
33
+ else {
34
+ // new message
35
+ this.reasoning_messages.push(message);
36
+ }
37
+ if (ReasoningStreamEvent.endOfThought) {
38
+ this.publicEventEmitter.emit(AnamEvent.REASONING_HISTORY_UPDATED, this.reasoning_messages);
39
+ }
40
+ }
41
+ }
42
+ //# sourceMappingURL=ReasoningHistoryClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReasoningHistoryClient.js","sourceRoot":"","sources":["../../../src/modules/ReasoningHistoryClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,aAAa,GAId,MAAM,UAAU,CAAC;AAElB,MAAM,OAAO,sBAAsB;IAKjC,YACE,kBAAsC,EACtC,oBAA0C;QAHpC,uBAAkB,GAAuB,EAAE,CAAC;QAKlD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,sBAAsB;QACtB,IAAI,CAAC,oBAAoB,CAAC,WAAW,CACnC,aAAa,CAAC,sCAAsC,EACpD,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvD,CAAC;IACJ,CAAC;IAEO,4CAA4C,CAClD,KAAsC;QAEtC,OAAO;YACL,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,UAAU,EAAE;YACxC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY,EAAE,KAAK,CAAC,cAAc;YAClC,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;IACJ,CAAC;IAEO,sCAAsC,CAC5C,KAAsC;QAEtC,MAAM,oBAAoB,GACxB,IAAI,CAAC,4CAA4C,CAAC,KAAK,CAAC,CAAC;QAE3D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,+BAA+B,EACzC,oBAAoB,CACrB,CAAC;QAEF,MAAM,OAAO,GAAqB;YAChC,EAAE,EAAE,oBAAoB,CAAC,EAAE;YAC3B,OAAO,EAAE,oBAAoB,CAAC,OAAO;YACrC,IAAI,EAAE,oBAAoB,CAAC,IAAI;SAChC,CAAC;QAEF,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAC5D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAC3B,CAAC;QACF,IAAI,oBAAoB,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,0BAA0B;YAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;YACtE,eAAe,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;YAC3C,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,eAAe,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,cAAc;YACd,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,oBAAoB,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,yBAAyB,EACnC,IAAI,CAAC,kBAAkB,CACxB,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,34 @@
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
@@ -0,0 +1 @@
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"}