@anam-ai/js-sdk 1.0.0-alpha.10

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 (211) hide show
  1. package/README.md +3 -0
  2. package/dist/main/AnamClient.d.ts +23 -0
  3. package/dist/main/AnamClient.d.ts.map +1 -0
  4. package/dist/main/AnamClient.js +165 -0
  5. package/dist/main/AnamClient.js.map +1 -0
  6. package/dist/main/index.d.ts +8 -0
  7. package/dist/main/index.d.ts.map +1 -0
  8. package/dist/main/index.js +16 -0
  9. package/dist/main/index.js.map +1 -0
  10. package/dist/main/lib/constants.d.ts +12 -0
  11. package/dist/main/lib/constants.d.ts.map +1 -0
  12. package/dist/main/lib/constants.js +21 -0
  13. package/dist/main/lib/constants.js.map +1 -0
  14. package/dist/main/lib/version.d.ts +3 -0
  15. package/dist/main/lib/version.d.ts.map +1 -0
  16. package/dist/main/lib/version.js +6 -0
  17. package/dist/main/lib/version.js.map +1 -0
  18. package/dist/main/modules/CoreApiRestClient.d.ts +12 -0
  19. package/dist/main/modules/CoreApiRestClient.d.ts.map +1 -0
  20. package/dist/main/modules/CoreApiRestClient.js +73 -0
  21. package/dist/main/modules/CoreApiRestClient.js.map +1 -0
  22. package/dist/main/modules/EngineApiRestClient.d.ts +7 -0
  23. package/dist/main/modules/EngineApiRestClient.d.ts.map +1 -0
  24. package/dist/main/modules/EngineApiRestClient.js +42 -0
  25. package/dist/main/modules/EngineApiRestClient.js.map +1 -0
  26. package/dist/main/modules/SignallingClient.d.ts +30 -0
  27. package/dist/main/modules/SignallingClient.d.ts.map +1 -0
  28. package/dist/main/modules/SignallingClient.js +225 -0
  29. package/dist/main/modules/SignallingClient.js.map +1 -0
  30. package/dist/main/modules/StreamingClient.d.ts +60 -0
  31. package/dist/main/modules/StreamingClient.d.ts.map +1 -0
  32. package/dist/main/modules/StreamingClient.js +392 -0
  33. package/dist/main/modules/StreamingClient.js.map +1 -0
  34. package/dist/main/modules/index.d.ts +2 -0
  35. package/dist/main/modules/index.d.ts.map +1 -0
  36. package/dist/main/modules/index.js +6 -0
  37. package/dist/main/modules/index.js.map +1 -0
  38. package/dist/main/types/AnamClientOptions.d.ts +4 -0
  39. package/dist/main/types/AnamClientOptions.d.ts.map +1 -0
  40. package/dist/main/types/AnamClientOptions.js +3 -0
  41. package/dist/main/types/AnamClientOptions.js.map +1 -0
  42. package/dist/main/types/AnamInternalClientOptions.d.ts +4 -0
  43. package/dist/main/types/AnamInternalClientOptions.d.ts.map +1 -0
  44. package/dist/main/types/AnamInternalClientOptions.js +3 -0
  45. package/dist/main/types/AnamInternalClientOptions.js.map +1 -0
  46. package/dist/main/types/AnamPublicClientOptions.d.ts +5 -0
  47. package/dist/main/types/AnamPublicClientOptions.d.ts.map +1 -0
  48. package/dist/main/types/AnamPublicClientOptions.js +3 -0
  49. package/dist/main/types/AnamPublicClientOptions.js.map +1 -0
  50. package/dist/main/types/PersonaConfig.d.ts +6 -0
  51. package/dist/main/types/PersonaConfig.d.ts.map +1 -0
  52. package/dist/main/types/PersonaConfig.js +3 -0
  53. package/dist/main/types/PersonaConfig.js.map +1 -0
  54. package/dist/main/types/coreApi/CoreApiRestClientOptions.d.ts +5 -0
  55. package/dist/main/types/coreApi/CoreApiRestClientOptions.d.ts.map +1 -0
  56. package/dist/main/types/coreApi/CoreApiRestClientOptions.js +3 -0
  57. package/dist/main/types/coreApi/CoreApiRestClientOptions.js.map +1 -0
  58. package/dist/main/types/coreApi/StartSessionResponse.d.ts +13 -0
  59. package/dist/main/types/coreApi/StartSessionResponse.d.ts.map +1 -0
  60. package/dist/main/types/coreApi/StartSessionResponse.js +3 -0
  61. package/dist/main/types/coreApi/StartSessionResponse.js.map +1 -0
  62. package/dist/main/types/coreApi/index.d.ts +3 -0
  63. package/dist/main/types/coreApi/index.d.ts.map +1 -0
  64. package/dist/main/types/coreApi/index.js +3 -0
  65. package/dist/main/types/coreApi/index.js.map +1 -0
  66. package/dist/main/types/engineApi/EngineApiRestClientOptions.d.ts +4 -0
  67. package/dist/main/types/engineApi/EngineApiRestClientOptions.d.ts.map +1 -0
  68. package/dist/main/types/engineApi/EngineApiRestClientOptions.js +3 -0
  69. package/dist/main/types/engineApi/EngineApiRestClientOptions.js.map +1 -0
  70. package/dist/main/types/engineApi/index.d.ts +1 -0
  71. package/dist/main/types/engineApi/index.d.ts.map +1 -0
  72. package/dist/main/types/engineApi/index.js +2 -0
  73. package/dist/main/types/engineApi/index.js.map +1 -0
  74. package/dist/main/types/index.d.ts +7 -0
  75. package/dist/main/types/index.d.ts.map +1 -0
  76. package/dist/main/types/index.js +6 -0
  77. package/dist/main/types/index.js.map +1 -0
  78. package/dist/main/types/signalling/SignalMessage.d.ts +14 -0
  79. package/dist/main/types/signalling/SignalMessage.d.ts.map +1 -0
  80. package/dist/main/types/signalling/SignalMessage.js +13 -0
  81. package/dist/main/types/signalling/SignalMessage.js.map +1 -0
  82. package/dist/main/types/signalling/SignallingClientOptions.d.ts +12 -0
  83. package/dist/main/types/signalling/SignallingClientOptions.d.ts.map +1 -0
  84. package/dist/main/types/signalling/SignallingClientOptions.js +3 -0
  85. package/dist/main/types/signalling/SignallingClientOptions.js.map +1 -0
  86. package/dist/main/types/signalling/index.d.ts +4 -0
  87. package/dist/main/types/signalling/index.d.ts.map +1 -0
  88. package/dist/main/types/signalling/index.js +6 -0
  89. package/dist/main/types/signalling/index.js.map +1 -0
  90. package/dist/main/types/streaming/ConnectionCallbacks.d.ts +11 -0
  91. package/dist/main/types/streaming/ConnectionCallbacks.d.ts.map +1 -0
  92. package/dist/main/types/streaming/ConnectionCallbacks.js +3 -0
  93. package/dist/main/types/streaming/ConnectionCallbacks.js.map +1 -0
  94. package/dist/main/types/streaming/StreamingClientOptions.d.ts +9 -0
  95. package/dist/main/types/streaming/StreamingClientOptions.d.ts.map +1 -0
  96. package/dist/main/types/streaming/StreamingClientOptions.js +3 -0
  97. package/dist/main/types/streaming/StreamingClientOptions.js.map +1 -0
  98. package/dist/main/types/streaming/TextMessageEvent.d.ts +8 -0
  99. package/dist/main/types/streaming/TextMessageEvent.d.ts.map +1 -0
  100. package/dist/main/types/streaming/TextMessageEvent.js +3 -0
  101. package/dist/main/types/streaming/TextMessageEvent.js.map +1 -0
  102. package/dist/main/types/streaming/index.d.ts +4 -0
  103. package/dist/main/types/streaming/index.d.ts.map +1 -0
  104. package/dist/main/types/streaming/index.js +3 -0
  105. package/dist/main/types/streaming/index.js.map +1 -0
  106. package/dist/module/AnamClient.d.ts +23 -0
  107. package/dist/module/AnamClient.d.ts.map +1 -0
  108. package/dist/module/AnamClient.js +162 -0
  109. package/dist/module/AnamClient.js.map +1 -0
  110. package/dist/module/index.d.ts +8 -0
  111. package/dist/module/index.d.ts.map +1 -0
  112. package/dist/module/index.js +9 -0
  113. package/dist/module/index.js.map +1 -0
  114. package/dist/module/lib/constants.d.ts +12 -0
  115. package/dist/module/lib/constants.d.ts.map +1 -0
  116. package/dist/module/lib/constants.js +18 -0
  117. package/dist/module/lib/constants.js.map +1 -0
  118. package/dist/module/lib/version.d.ts +3 -0
  119. package/dist/module/lib/version.d.ts.map +1 -0
  120. package/dist/module/lib/version.js +3 -0
  121. package/dist/module/lib/version.js.map +1 -0
  122. package/dist/module/modules/CoreApiRestClient.d.ts +12 -0
  123. package/dist/module/modules/CoreApiRestClient.d.ts.map +1 -0
  124. package/dist/module/modules/CoreApiRestClient.js +69 -0
  125. package/dist/module/modules/CoreApiRestClient.js.map +1 -0
  126. package/dist/module/modules/EngineApiRestClient.d.ts +7 -0
  127. package/dist/module/modules/EngineApiRestClient.d.ts.map +1 -0
  128. package/dist/module/modules/EngineApiRestClient.js +38 -0
  129. package/dist/module/modules/EngineApiRestClient.js.map +1 -0
  130. package/dist/module/modules/SignallingClient.d.ts +30 -0
  131. package/dist/module/modules/SignallingClient.d.ts.map +1 -0
  132. package/dist/module/modules/SignallingClient.js +221 -0
  133. package/dist/module/modules/SignallingClient.js.map +1 -0
  134. package/dist/module/modules/StreamingClient.d.ts +60 -0
  135. package/dist/module/modules/StreamingClient.d.ts.map +1 -0
  136. package/dist/module/modules/StreamingClient.js +388 -0
  137. package/dist/module/modules/StreamingClient.js.map +1 -0
  138. package/dist/module/modules/index.d.ts +2 -0
  139. package/dist/module/modules/index.d.ts.map +1 -0
  140. package/dist/module/modules/index.js +2 -0
  141. package/dist/module/modules/index.js.map +1 -0
  142. package/dist/module/types/AnamClientOptions.d.ts +4 -0
  143. package/dist/module/types/AnamClientOptions.d.ts.map +1 -0
  144. package/dist/module/types/AnamClientOptions.js +2 -0
  145. package/dist/module/types/AnamClientOptions.js.map +1 -0
  146. package/dist/module/types/AnamInternalClientOptions.d.ts +4 -0
  147. package/dist/module/types/AnamInternalClientOptions.d.ts.map +1 -0
  148. package/dist/module/types/AnamInternalClientOptions.js +2 -0
  149. package/dist/module/types/AnamInternalClientOptions.js.map +1 -0
  150. package/dist/module/types/AnamPublicClientOptions.d.ts +5 -0
  151. package/dist/module/types/AnamPublicClientOptions.d.ts.map +1 -0
  152. package/dist/module/types/AnamPublicClientOptions.js +2 -0
  153. package/dist/module/types/AnamPublicClientOptions.js.map +1 -0
  154. package/dist/module/types/PersonaConfig.d.ts +6 -0
  155. package/dist/module/types/PersonaConfig.d.ts.map +1 -0
  156. package/dist/module/types/PersonaConfig.js +2 -0
  157. package/dist/module/types/PersonaConfig.js.map +1 -0
  158. package/dist/module/types/coreApi/CoreApiRestClientOptions.d.ts +5 -0
  159. package/dist/module/types/coreApi/CoreApiRestClientOptions.d.ts.map +1 -0
  160. package/dist/module/types/coreApi/CoreApiRestClientOptions.js +2 -0
  161. package/dist/module/types/coreApi/CoreApiRestClientOptions.js.map +1 -0
  162. package/dist/module/types/coreApi/StartSessionResponse.d.ts +13 -0
  163. package/dist/module/types/coreApi/StartSessionResponse.d.ts.map +1 -0
  164. package/dist/module/types/coreApi/StartSessionResponse.js +2 -0
  165. package/dist/module/types/coreApi/StartSessionResponse.js.map +1 -0
  166. package/dist/module/types/coreApi/index.d.ts +3 -0
  167. package/dist/module/types/coreApi/index.d.ts.map +1 -0
  168. package/dist/module/types/coreApi/index.js +2 -0
  169. package/dist/module/types/coreApi/index.js.map +1 -0
  170. package/dist/module/types/engineApi/EngineApiRestClientOptions.d.ts +4 -0
  171. package/dist/module/types/engineApi/EngineApiRestClientOptions.d.ts.map +1 -0
  172. package/dist/module/types/engineApi/EngineApiRestClientOptions.js +2 -0
  173. package/dist/module/types/engineApi/EngineApiRestClientOptions.js.map +1 -0
  174. package/dist/module/types/engineApi/index.d.ts +1 -0
  175. package/dist/module/types/engineApi/index.d.ts.map +1 -0
  176. package/dist/module/types/engineApi/index.js +2 -0
  177. package/dist/module/types/engineApi/index.js.map +1 -0
  178. package/dist/module/types/index.d.ts +7 -0
  179. package/dist/module/types/index.d.ts.map +1 -0
  180. package/dist/module/types/index.js +2 -0
  181. package/dist/module/types/index.js.map +1 -0
  182. package/dist/module/types/signalling/SignalMessage.d.ts +14 -0
  183. package/dist/module/types/signalling/SignalMessage.d.ts.map +1 -0
  184. package/dist/module/types/signalling/SignalMessage.js +10 -0
  185. package/dist/module/types/signalling/SignalMessage.js.map +1 -0
  186. package/dist/module/types/signalling/SignallingClientOptions.d.ts +12 -0
  187. package/dist/module/types/signalling/SignallingClientOptions.d.ts.map +1 -0
  188. package/dist/module/types/signalling/SignallingClientOptions.js +2 -0
  189. package/dist/module/types/signalling/SignallingClientOptions.js.map +1 -0
  190. package/dist/module/types/signalling/index.d.ts +4 -0
  191. package/dist/module/types/signalling/index.d.ts.map +1 -0
  192. package/dist/module/types/signalling/index.js +2 -0
  193. package/dist/module/types/signalling/index.js.map +1 -0
  194. package/dist/module/types/streaming/ConnectionCallbacks.d.ts +11 -0
  195. package/dist/module/types/streaming/ConnectionCallbacks.d.ts.map +1 -0
  196. package/dist/module/types/streaming/ConnectionCallbacks.js +2 -0
  197. package/dist/module/types/streaming/ConnectionCallbacks.js.map +1 -0
  198. package/dist/module/types/streaming/StreamingClientOptions.d.ts +9 -0
  199. package/dist/module/types/streaming/StreamingClientOptions.d.ts.map +1 -0
  200. package/dist/module/types/streaming/StreamingClientOptions.js +2 -0
  201. package/dist/module/types/streaming/StreamingClientOptions.js.map +1 -0
  202. package/dist/module/types/streaming/TextMessageEvent.d.ts +8 -0
  203. package/dist/module/types/streaming/TextMessageEvent.d.ts.map +1 -0
  204. package/dist/module/types/streaming/TextMessageEvent.js +2 -0
  205. package/dist/module/types/streaming/TextMessageEvent.js.map +1 -0
  206. package/dist/module/types/streaming/index.d.ts +4 -0
  207. package/dist/module/types/streaming/index.d.ts.map +1 -0
  208. package/dist/module/types/streaming/index.js +2 -0
  209. package/dist/module/types/streaming/index.js.map +1 -0
  210. package/dist/umd/anam.js +1 -0
  211. package/package.json +66 -0
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # Anam AI JavaScript SDK
2
+
3
+ JavaScript client SDK for Anam AI.
@@ -0,0 +1,23 @@
1
+ import { ConnectionCallbacks, PersonaConfig } from './types';
2
+ import { AnamClientOptions } from './types/AnamClientOptions';
3
+ export default class AnamClient {
4
+ protected sessionToken: string | undefined;
5
+ protected apiKey: string | undefined;
6
+ private personaConfig;
7
+ private sessionId;
8
+ private streamingClient;
9
+ private apiClient;
10
+ private _isStreaming;
11
+ constructor(sessionToken: string | undefined, personaConfig: PersonaConfig, options?: AnamClientOptions);
12
+ private startSession;
13
+ private startSessionIfNeeded;
14
+ stream(callbacks?: ConnectionCallbacks, personaConfig?: PersonaConfig, userProvidedAudioStream?: MediaStream): Promise<MediaStream[]>;
15
+ streamToVideoAndAudioElements(videoElementId: string, audioElementId: string, callbacks?: ConnectionCallbacks, personaConfig?: PersonaConfig, userProvidedMediaStream?: MediaStream): Promise<void>;
16
+ talk(content: string): Promise<void>;
17
+ sendDataMessage(message: string): void;
18
+ stopStreaming(): Promise<void>;
19
+ isStreaming(): boolean;
20
+ setPersonaConfig(personaConfig: PersonaConfig): void;
21
+ getPersonaConfig(): PersonaConfig | undefined;
22
+ }
23
+ //# sourceMappingURL=AnamClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnamClient.d.ts","sourceRoot":"","sources":["../../src/AnamClient.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,aAAa,EAEd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,YAAY,CAAS;gBAG3B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,iBAAiB;YAgBf,YAAY;YAiDZ,oBAAoB;IAuBrB,MAAM,CACjB,SAAS,GAAE,mBAAwB,EACnC,aAAa,CAAC,EAAE,aAAa,EAC7B,uBAAuB,CAAC,EAAE,WAAW,GACpC,OAAO,CAAC,WAAW,EAAE,CAAC;IAmCZ,6BAA6B,CACxC,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,SAAS,GAAE,mBAAwB,EACnC,aAAa,CAAC,EAAE,aAAa,EAC7B,uBAAuB,CAAC,EAAE,WAAW,GACpC,OAAO,CAAC,IAAI,CAAC;IAiBH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQhC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC,WAAW,IAAI,OAAO;IAItB,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAIpD,gBAAgB,IAAI,aAAa,GAAG,SAAS;CAGrD"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const CoreApiRestClient_1 = require("./modules/CoreApiRestClient");
13
+ const StreamingClient_1 = require("./modules/StreamingClient");
14
+ class AnamClient {
15
+ constructor(sessionToken, personaConfig, options) {
16
+ this.sessionId = null;
17
+ this.streamingClient = null;
18
+ this._isStreaming = false;
19
+ if (!sessionToken && !(options === null || options === void 0 ? void 0 : options.apiKey)) {
20
+ throw new Error('Either sessionToken or apiKey must be provided');
21
+ }
22
+ this.sessionToken = sessionToken;
23
+ this.apiKey = options === null || options === void 0 ? void 0 : options.apiKey;
24
+ this.personaConfig = personaConfig;
25
+ this.apiClient = new CoreApiRestClient_1.CoreApiRestClient(sessionToken, options === null || options === void 0 ? void 0 : options.apiKey, options === null || options === void 0 ? void 0 : options.api);
26
+ }
27
+ startSession(personaConfig, userProvidedAudioStream) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ try {
30
+ const config = personaConfig || this.personaConfig;
31
+ if (!config) {
32
+ throw new Error('A default persona configuration has not been set and no persona configuration was provided');
33
+ }
34
+ const response = yield this.apiClient.startSession(config);
35
+ const { sessionId, clientConfig, engineHost, engineProtocol, signallingEndpoint, } = response;
36
+ const { heartbeatIntervalSeconds, maxWsReconnectionAttempts, iceServers, } = clientConfig;
37
+ // create a new streaming client
38
+ this.streamingClient = new StreamingClient_1.StreamingClient(sessionId, {
39
+ engine: {
40
+ baseUrl: `${engineProtocol}://${engineHost}`,
41
+ },
42
+ signalling: {
43
+ heartbeatIntervalSeconds,
44
+ maxWsReconnectionAttempts,
45
+ url: {
46
+ baseUrl: engineHost,
47
+ protocol: engineProtocol,
48
+ signallingPath: signallingEndpoint,
49
+ },
50
+ },
51
+ iceServers,
52
+ userProvidedMediaStream: userProvidedAudioStream,
53
+ });
54
+ this.sessionId = sessionId;
55
+ return sessionId;
56
+ }
57
+ catch (error) {
58
+ throw new Error('Failed to start session');
59
+ }
60
+ });
61
+ }
62
+ startSessionIfNeeded(personaConfig, userProvidedMediaStream) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ if (!this.sessionId || !this.streamingClient) {
65
+ console.warn('StreamToVideoAndAudioElements: session is not started. starting a new session');
66
+ try {
67
+ yield this.startSession(personaConfig, userProvidedMediaStream);
68
+ }
69
+ catch (error) {
70
+ throw new Error('StreamToVideoAndAudioElements: Failed to start session');
71
+ }
72
+ if (!this.sessionId || !this.streamingClient) {
73
+ throw new Error('StreamToVideoAndAudioElements: session Id or streaming client is not available after starting session');
74
+ }
75
+ }
76
+ });
77
+ }
78
+ stream() {
79
+ return __awaiter(this, arguments, void 0, function* (callbacks = {}, personaConfig, userProvidedAudioStream) {
80
+ yield this.startSessionIfNeeded(personaConfig, userProvidedAudioStream);
81
+ if (this._isStreaming) {
82
+ throw new Error('Already streaming');
83
+ }
84
+ this._isStreaming = true;
85
+ return new Promise((resolve) => {
86
+ var _a, _b, _c;
87
+ // set stream callbacks to capture the stream
88
+ const streams = [];
89
+ let videoReceived = false;
90
+ let audioReceived = false;
91
+ (_a = this.streamingClient) === null || _a === void 0 ? void 0 : _a.setOnVideoStreamStartCallback((videoStream) => {
92
+ streams.push(videoStream);
93
+ videoReceived = true;
94
+ if (audioReceived) {
95
+ resolve(streams);
96
+ }
97
+ });
98
+ (_b = this.streamingClient) === null || _b === void 0 ? void 0 : _b.setOnAudioStreamStartCallback((audioStream) => {
99
+ streams.push(audioStream);
100
+ audioReceived = true;
101
+ if (videoReceived) {
102
+ resolve(streams);
103
+ }
104
+ });
105
+ // start streaming
106
+ (_c = this.streamingClient) === null || _c === void 0 ? void 0 : _c.startConnection(callbacks);
107
+ });
108
+ });
109
+ }
110
+ streamToVideoAndAudioElements(videoElementId_1, audioElementId_1) {
111
+ return __awaiter(this, arguments, void 0, function* (videoElementId, audioElementId, callbacks = {}, personaConfig, userProvidedMediaStream) {
112
+ yield this.startSessionIfNeeded(personaConfig, userProvidedMediaStream);
113
+ if (this._isStreaming) {
114
+ throw new Error('Already streaming');
115
+ }
116
+ this._isStreaming = true;
117
+ if (!this.streamingClient) {
118
+ throw new Error('Failed to stream: streaming client is not available');
119
+ }
120
+ this.streamingClient.setMediaStreamTargetsById(videoElementId, audioElementId);
121
+ this.streamingClient.startConnection(callbacks);
122
+ });
123
+ }
124
+ talk(content) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ if (!this.streamingClient) {
127
+ throw new Error('Failed to send talk command: session is not started. Have you called startSession?');
128
+ }
129
+ if (!this._isStreaming) {
130
+ throw new Error('Failed to send talk command: not currently streaming. Have you called stream?');
131
+ }
132
+ yield this.streamingClient.sendTalkCommand(content);
133
+ return;
134
+ });
135
+ }
136
+ sendDataMessage(message) {
137
+ if (this.streamingClient) {
138
+ this.streamingClient.sendDataMessage(message);
139
+ }
140
+ else {
141
+ throw new Error('Failed to send message: session is not started.');
142
+ }
143
+ }
144
+ stopStreaming() {
145
+ return __awaiter(this, void 0, void 0, function* () {
146
+ if (this.streamingClient) {
147
+ this.streamingClient.stopConnection();
148
+ this.streamingClient = null;
149
+ this.sessionId = null;
150
+ this._isStreaming = false;
151
+ }
152
+ });
153
+ }
154
+ isStreaming() {
155
+ return this._isStreaming;
156
+ }
157
+ setPersonaConfig(personaConfig) {
158
+ this.personaConfig = personaConfig;
159
+ }
160
+ getPersonaConfig() {
161
+ return this.personaConfig;
162
+ }
163
+ }
164
+ exports.default = AnamClient;
165
+ //# sourceMappingURL=AnamClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnamClient.js","sourceRoot":"","sources":["../../src/AnamClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import AnamClient from './AnamClient';
2
+ import { PersonaConfig } from './types';
3
+ import { AnamPublicClientOptions } from './types/AnamPublicClientOptions';
4
+ declare const createClient: (sessionToken: string, personaConfig: PersonaConfig, options?: AnamPublicClientOptions) => AnamClient;
5
+ declare const unsafe_createClientWithApiKey: (apiKey: string, personaConfig: PersonaConfig, options?: AnamPublicClientOptions) => AnamClient;
6
+ export { createClient, unsafe_createClientWithApiKey };
7
+ export type { AnamClient };
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,QAAA,MAAM,YAAY,iBACF,MAAM,iBACL,aAAa,YAClB,uBAAuB,KAChC,UAEF,CAAC;AAEF,QAAA,MAAM,6BAA6B,WACzB,MAAM,iBACC,aAAa,YAClB,uBAAuB,KAChC,UAEF,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAE,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.unsafe_createClientWithApiKey = exports.createClient = void 0;
7
+ const AnamClient_1 = __importDefault(require("./AnamClient"));
8
+ const createClient = (sessionToken, personaConfig, options) => {
9
+ return new AnamClient_1.default(sessionToken, personaConfig, options);
10
+ };
11
+ exports.createClient = createClient;
12
+ const unsafe_createClientWithApiKey = (apiKey, personaConfig, options) => {
13
+ return new AnamClient_1.default(undefined, personaConfig, Object.assign(Object.assign({}, options), { apiKey }));
14
+ };
15
+ exports.unsafe_createClientWithApiKey = unsafe_createClientWithApiKey;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAsC;AAItC,MAAM,YAAY,GAAG,CACnB,YAAoB,EACpB,aAA4B,EAC5B,OAAiC,EACrB,EAAE;IACd,OAAO,IAAI,oBAAU,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC;AAUO,oCAAY;AARrB,MAAM,6BAA6B,GAAG,CACpC,MAAc,EACd,aAA4B,EAC5B,OAAiC,EACrB,EAAE;IACd,OAAO,IAAI,oBAAU,CAAC,SAAS,EAAE,aAAa,kCAAO,OAAO,KAAE,MAAM,IAAG,CAAC;AAC1E,CAAC,CAAC;AAEqB,sEAA6B"}
@@ -0,0 +1,12 @@
1
+ export declare const DEFAULT_HEADERS: {
2
+ 'Content-Type': string;
3
+ };
4
+ export declare const DEFAULT_API_BASE_URL = "https://api.anam.ai";
5
+ export declare const DEFAULT_API_VERSION = "/v1";
6
+ export declare const DEFAULT_ENGINE_BASE_URL = "http://localhost:8081";
7
+ export declare const PUBLIC_MESSAGE_ON_SIGNALLING_CLIENT_CONNECTION_FAILURE = "There was a problem connecting to our servers. Please try again.";
8
+ export declare const PUBLIC_MESSAGE_ON_WEBRTC_FAILURE = "There was an issue connecting to our servers. Please try again.";
9
+ export declare const DEFAULT_ICE_SERVERS: {
10
+ urls: string;
11
+ }[];
12
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe;;CAE3B,CAAC;AACF,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAC1D,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAGzC,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAG/D,eAAO,MAAM,sDAAsD,qEACC,CAAC;AACrE,eAAO,MAAM,gCAAgC,oEACsB,CAAC;AAGpE,eAAO,MAAM,mBAAmB;;GAI/B,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_ICE_SERVERS = exports.PUBLIC_MESSAGE_ON_WEBRTC_FAILURE = exports.PUBLIC_MESSAGE_ON_SIGNALLING_CLIENT_CONNECTION_FAILURE = exports.DEFAULT_ENGINE_BASE_URL = exports.DEFAULT_API_VERSION = exports.DEFAULT_API_BASE_URL = exports.DEFAULT_HEADERS = void 0;
4
+ // Core API
5
+ exports.DEFAULT_HEADERS = {
6
+ 'Content-Type': 'application/json',
7
+ };
8
+ exports.DEFAULT_API_BASE_URL = 'https://api.anam.ai';
9
+ exports.DEFAULT_API_VERSION = '/v1'; // include the leading slash
10
+ // Engine API
11
+ exports.DEFAULT_ENGINE_BASE_URL = 'http://localhost:8081';
12
+ // Error messages
13
+ exports.PUBLIC_MESSAGE_ON_SIGNALLING_CLIENT_CONNECTION_FAILURE = 'There was a problem connecting to our servers. Please try again.';
14
+ exports.PUBLIC_MESSAGE_ON_WEBRTC_FAILURE = 'There was an issue connecting to our servers. Please try again.';
15
+ // Signalling
16
+ exports.DEFAULT_ICE_SERVERS = [
17
+ {
18
+ urls: 'stun:stun.relay.metered.ca:80',
19
+ },
20
+ ];
21
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":";;;AAAA,WAAW;AACE,QAAA,eAAe,GAAG;IAC7B,cAAc,EAAE,kBAAkB;CACnC,CAAC;AACW,QAAA,oBAAoB,GAAG,qBAAqB,CAAC;AAC7C,QAAA,mBAAmB,GAAG,KAAK,CAAC,CAAC,4BAA4B;AAEtE,aAAa;AACA,QAAA,uBAAuB,GAAG,uBAAuB,CAAC;AAE/D,iBAAiB;AACJ,QAAA,sDAAsD,GACjE,kEAAkE,CAAC;AACxD,QAAA,gCAAgC,GAC3C,iEAAiE,CAAC;AAEpE,aAAa;AACA,QAAA,mBAAmB,GAAG;IACjC;QACE,IAAI,EAAE,+BAA+B;KACtC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { version } from '../../package.json';
2
+ export { version };
3
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.version = void 0;
4
+ const package_json_1 = require("../../package.json");
5
+ Object.defineProperty(exports, "version", { enumerable: true, get: function () { return package_json_1.version; } });
6
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":";;;AAAA,qDAA6C;AAEpC,wFAFA,sBAAO,OAEA"}
@@ -0,0 +1,12 @@
1
+ import { CoreApiRestClientOptions, PersonaConfig, StartSessionResponse } from '../types';
2
+ export declare class CoreApiRestClient {
3
+ protected baseUrl: string;
4
+ protected apiVersion: string;
5
+ protected apiKey: string | null;
6
+ protected sessionToken: string | null;
7
+ constructor(sessionToken?: string, apiKey?: string, options?: CoreApiRestClientOptions);
8
+ startSession(personaConfig: PersonaConfig): Promise<StartSessionResponse>;
9
+ unsafe_getSessionToken(): Promise<string>;
10
+ private getApiUrl;
11
+ }
12
+ //# sourceMappingURL=CoreApiRestClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreApiRestClient.d.ts","sourceRoot":"","sources":["../../../src/modules/CoreApiRestClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,qBAAa,iBAAiB;IAC5B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;gBAGpC,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,wBAAwB;IAWvB,YAAY,CACvB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,oBAAoB,CAAC;IAoBnB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAsBtD,OAAO,CAAC,SAAS;CAGlB"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CoreApiRestClient = void 0;
13
+ const constants_1 = require("../lib/constants");
14
+ class CoreApiRestClient {
15
+ constructor(sessionToken, apiKey, options) {
16
+ if (!sessionToken && !apiKey) {
17
+ throw new Error('Either sessionToken or apiKey must be provided');
18
+ }
19
+ this.sessionToken = sessionToken || null;
20
+ this.apiKey = apiKey || null;
21
+ this.baseUrl = (options === null || options === void 0 ? void 0 : options.baseUrl) || constants_1.DEFAULT_API_BASE_URL;
22
+ this.apiVersion = (options === null || options === void 0 ? void 0 : options.apiVersion) || constants_1.DEFAULT_API_VERSION;
23
+ }
24
+ startSession(personaConfig) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ if (!this.sessionToken) {
27
+ this.sessionToken = yield this.unsafe_getSessionToken();
28
+ }
29
+ try {
30
+ const response = yield fetch(`${this.getApiUrl()}/engine/session`, {
31
+ method: 'POST',
32
+ headers: {
33
+ 'Content-Type': 'application/json',
34
+ Authorization: `Bearer ${this.sessionToken}`,
35
+ },
36
+ body: JSON.stringify({ personaConfig }),
37
+ });
38
+ const data = yield response.json();
39
+ return data;
40
+ }
41
+ catch (error) {
42
+ throw new Error('Failed to start session');
43
+ }
44
+ });
45
+ }
46
+ unsafe_getSessionToken() {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ console.warn('Using unsecure method. This method should not be used in production.');
49
+ if (!this.apiKey) {
50
+ throw new Error('No apiKey provided');
51
+ }
52
+ try {
53
+ const response = yield fetch(`${this.getApiUrl()}/auth/session-token`, {
54
+ method: 'POST',
55
+ headers: {
56
+ 'Content-Type': 'application/json',
57
+ Authorization: `Bearer ${this.apiKey}`,
58
+ },
59
+ });
60
+ const data = yield response.json();
61
+ return data.sessionToken;
62
+ }
63
+ catch (e) {
64
+ throw new Error('Failed to get session token');
65
+ }
66
+ });
67
+ }
68
+ getApiUrl() {
69
+ return `${this.baseUrl}${this.apiVersion}`;
70
+ }
71
+ }
72
+ exports.CoreApiRestClient = CoreApiRestClient;
73
+ //# sourceMappingURL=CoreApiRestClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreApiRestClient.js","sourceRoot":"","sources":["../../../src/modules/CoreApiRestClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA6E;AAO7E,MAAa,iBAAiB;IAM5B,YACE,YAAqB,EACrB,MAAe,EACf,OAAkC;QAElC,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,gCAAoB,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,KAAI,+BAAmB,CAAC;IAC/D,CAAC;IAEY,YAAY,CACvB,aAA4B;;YAE5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC1D,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE;oBACjE,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,YAAY,EAAE;qBAC7C;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;iBACxC,CAAC,CAAC;gBACH,MAAM,IAAI,GAAyB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;KAAA;IAEY,sBAAsB;;YACjC,OAAO,CAAC,IAAI,CACV,sEAAsE,CACvE,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,qBAAqB,EAAE;oBACrE,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;qBACvC;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC,YAAY,CAAC;YAC3B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;KAAA;IAEO,SAAS;QACf,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7C,CAAC;CACF;AAnED,8CAmEC"}
@@ -0,0 +1,7 @@
1
+ export declare class EngineApiRestClient {
2
+ protected baseUrl: string;
3
+ protected sessionId: string;
4
+ constructor(baseUrl: string, sessionId: string);
5
+ sendTalkCommand(content: string): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=EngineApiRestClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EngineApiRestClient.d.ts","sourceRoot":"","sources":["../../../src/modules/EngineApiRestClient.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAmB;IAC9B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKjC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA0B7D"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EngineApiRestClient = void 0;
13
+ class EngineApiRestClient {
14
+ constructor(baseUrl, sessionId) {
15
+ this.baseUrl = baseUrl;
16
+ this.sessionId = sessionId;
17
+ }
18
+ sendTalkCommand(content) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ try {
21
+ const response = yield fetch(`${this.baseUrl}/talk?session_id=${this.sessionId}`, {
22
+ method: 'POST',
23
+ headers: {
24
+ 'Content-Type': 'application/json',
25
+ },
26
+ body: JSON.stringify({
27
+ content,
28
+ }),
29
+ });
30
+ if (!response.ok) {
31
+ throw new Error(`Failed to send talk command: ${response.status} ${response.statusText}`);
32
+ }
33
+ }
34
+ catch (error) {
35
+ console.error(error);
36
+ throw new Error('EngineApiRestClient - sendTalkCommand: Failed to send talk command');
37
+ }
38
+ });
39
+ }
40
+ }
41
+ exports.EngineApiRestClient = EngineApiRestClient;
42
+ //# sourceMappingURL=EngineApiRestClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EngineApiRestClient.js","sourceRoot":"","sources":["../../../src/modules/EngineApiRestClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,MAAa,mBAAmB;IAI9B,YAAY,OAAe,EAAE,SAAiB;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEY,eAAe,CAAC,OAAe;;YAC1C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,OAAO,oBAAoB,IAAI,CAAC,SAAS,EAAE,EACnD;oBACE,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;qBACnC;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,OAAO;qBACR,CAAC;iBACH,CACF,CAAC;gBACF,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;AAnCD,kDAmCC"}
@@ -0,0 +1,30 @@
1
+ import { SignalMessage, SignallingClientOptions } from '../types';
2
+ export declare const DEFATULT_OPTIONS: SignallingClientOptions;
3
+ export declare class SignallingClient {
4
+ protected url: URL;
5
+ protected sessionId: string;
6
+ protected heartbeatIntervalSeconds: number;
7
+ protected maxWsReconnectionAttempts: number;
8
+ protected onSignalMessageReceivedCallback?: (msg: SignalMessage) => Promise<void> | void;
9
+ protected onClientConnectedCallback?: () => Promise<void> | void;
10
+ protected onClientConnectionFailureCallback?: () => Promise<void> | void;
11
+ private stopSignal;
12
+ private sendingBuffer;
13
+ private wsConnectionAttempts;
14
+ private socket;
15
+ private heartBeatIntervalRef;
16
+ constructor(sessionId: string, options?: SignallingClientOptions, onSignalMessageReceivedCallback?: (msg: SignalMessage) => Promise<void> | void, onClientConnectedCallback?: () => Promise<void> | void, onClientConnectionFailureCallback?: () => Promise<void> | void);
17
+ stop(): void;
18
+ connect(): WebSocket;
19
+ sendOffer(localDescription: RTCSessionDescription): Promise<void>;
20
+ sendIceCandidate(candidate: RTCIceCandidate): Promise<void>;
21
+ private sendSignalMessage;
22
+ private closeSocket;
23
+ private onOpen;
24
+ private onClose;
25
+ private onError;
26
+ private flushSendingBuffer;
27
+ private onMessage;
28
+ private startSendingHeartBeats;
29
+ }
30
+ //# sourceMappingURL=SignallingClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignallingClient.d.ts","sourceRoot":"","sources":["../../../src/modules/SignallingClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEb,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAKlB,eAAO,MAAM,gBAAgB,EAAE,uBAO9B,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IACnB,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC3C,SAAS,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC5C,SAAS,CAAC,+BAA+B,CAAC,EAAE,CAC1C,GAAG,EAAE,aAAa,KACf,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,yBAAyB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjE,SAAS,CAAC,iCAAiC,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEzE,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;gBAGzE,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,uBAA0C,EACnD,+BAA+B,CAAC,EAAE,CAChC,GAAG,EAAE,aAAa,KACf,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EACzB,yBAAyB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EACtD,iCAAiC,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAwCzD,IAAI;IAKJ,OAAO,IAAI,SAAS;IAQd,SAAS,CAAC,gBAAgB,EAAE,qBAAqB;IAajD,gBAAgB,CAAC,SAAS,EAAE,eAAe;IASxD,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,WAAW;YAWL,MAAM;YAoBN,OAAO;IAqBrB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,kBAAkB;YAcZ,SAAS;IAOvB,OAAO,CAAC,sBAAsB;CA4B/B"}