@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
@@ -0,0 +1,10 @@
1
+ export var SignalMessageAction;
2
+ (function (SignalMessageAction) {
3
+ SignalMessageAction["OFFER"] = "offer";
4
+ SignalMessageAction["ANSWER"] = "answer";
5
+ SignalMessageAction["ICE_CANDIDATE"] = "icecandidate";
6
+ SignalMessageAction["END_SESSION"] = "endsession";
7
+ SignalMessageAction["HEARTBEAT"] = "heartbeat";
8
+ SignalMessageAction["WARNING"] = "warning";
9
+ })(SignalMessageAction || (SignalMessageAction = {}));
10
+ //# sourceMappingURL=SignalMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignalMessage.js","sourceRoot":"","sources":["../../../../src/types/signalling/SignalMessage.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,wCAAiB,CAAA;IACjB,qDAA8B,CAAA;IAC9B,iDAA0B,CAAA;IAC1B,8CAAuB,CAAA;IACvB,0CAAmB,CAAA;AACrB,CAAC,EAPW,mBAAmB,KAAnB,mBAAmB,QAO9B"}
@@ -0,0 +1,12 @@
1
+ export interface SignallingURLOptions {
2
+ baseUrl: string;
3
+ protocol?: string;
4
+ port?: string;
5
+ signallingPath?: string;
6
+ }
7
+ export interface SignallingClientOptions {
8
+ heartbeatIntervalSeconds?: number;
9
+ maxWsReconnectionAttempts?: number;
10
+ url: SignallingURLOptions;
11
+ }
12
+ //# sourceMappingURL=SignallingClientOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignallingClientOptions.d.ts","sourceRoot":"","sources":["../../../../src/types/signalling/SignallingClientOptions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,GAAG,EAAE,oBAAoB,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SignallingClientOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignallingClientOptions.js","sourceRoot":"","sources":["../../../../src/types/signalling/SignallingClientOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type { SignallingClientOptions, SignallingURLOptions, } from './SignallingClientOptions';
2
+ export type { SignalMessage } from './SignalMessage';
3
+ export { SignalMessageAction } from './SignalMessage';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/signalling/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { SignalMessageAction } from './SignalMessage';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/types/signalling/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { TextMessageEvent } from './TextMessageEvent';
2
+ export interface ConnectionCallbacks {
3
+ onReceiveMessageCallback?: (messageEvent: TextMessageEvent) => void;
4
+ onConnectionEstablishedCallback?: () => void;
5
+ onConnectionClosedCallback?: (reason: string) => void;
6
+ onInputAudioStreamStartCallback?: (audioStream: MediaStream) => void;
7
+ onVideoStreamStartCallback?: (videoStream: MediaStream) => void;
8
+ onVideoPlayStartedCallback?: () => void;
9
+ onAudioStreamStartCallback?: (audioStream: MediaStream) => void;
10
+ }
11
+ //# sourceMappingURL=ConnectionCallbacks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionCallbacks.d.ts","sourceRoot":"","sources":["../../../../src/types/streaming/ConnectionCallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,wBAAwB,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACpE,+BAA+B,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7C,0BAA0B,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,+BAA+B,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IACrE,0BAA0B,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAChE,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,0BAA0B,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CACjE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ConnectionCallbacks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionCallbacks.js","sourceRoot":"","sources":["../../../../src/types/streaming/ConnectionCallbacks.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { SignallingClientOptions } from '../../types';
2
+ import { EngineApiRestClientOptions } from '../engineApi/EngineApiRestClientOptions';
3
+ export interface StreamingClientOptions {
4
+ engine: EngineApiRestClientOptions;
5
+ signalling: SignallingClientOptions;
6
+ iceServers?: RTCIceServer[];
7
+ userProvidedMediaStream?: MediaStream;
8
+ }
9
+ //# sourceMappingURL=StreamingClientOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamingClientOptions.d.ts","sourceRoot":"","sources":["../../../../src/types/streaming/StreamingClientOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAErF,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,0BAA0B,CAAC;IACnC,UAAU,EAAE,uBAAuB,CAAC;IACpC,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,uBAAuB,CAAC,EAAE,WAAW,CAAC;CACvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=StreamingClientOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamingClientOptions.js","sourceRoot":"","sources":["../../../../src/types/streaming/StreamingClientOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export interface TextMessageEvent {
2
+ message_id: string;
3
+ content_index: number;
4
+ content: string;
5
+ message_type: string;
6
+ end_of_speech: boolean;
7
+ }
8
+ //# sourceMappingURL=TextMessageEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextMessageEvent.d.ts","sourceRoot":"","sources":["../../../../src/types/streaming/TextMessageEvent.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TextMessageEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextMessageEvent.js","sourceRoot":"","sources":["../../../../src/types/streaming/TextMessageEvent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type { TextMessageEvent } from './TextMessageEvent';
2
+ export type { ConnectionCallbacks } from './ConnectionCallbacks';
3
+ export type { StreamingClientOptions } from './StreamingClientOptions';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/streaming/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/types/streaming/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.anam=t():e.anam=t()}(self,(()=>(()=>{"use strict";var e={816:function(e,t,n){var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function r(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,r)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const o=n(18),s=n(577);t.default=class{constructor(e,t,n){if(this.sessionId=null,this.streamingClient=null,this._isStreaming=!1,!e&&!(null==n?void 0:n.apiKey))throw new Error("Either sessionToken or apiKey must be provided");this.sessionToken=e,this.apiKey=null==n?void 0:n.apiKey,this.personaConfig=t,this.apiClient=new o.CoreApiRestClient(e,null==n?void 0:n.apiKey,null==n?void 0:n.api)}startSession(e,t){return i(this,void 0,void 0,(function*(){try{const n=e||this.personaConfig;if(!n)throw new Error("A default persona configuration has not been set and no persona configuration was provided");const i=yield this.apiClient.startSession(n),{sessionId:o,clientConfig:a,engineHost:r,engineProtocol:l,signallingEndpoint:c}=i,{heartbeatIntervalSeconds:d,maxWsReconnectionAttempts:h,iceServers:u}=a;return this.streamingClient=new s.StreamingClient(o,{engine:{baseUrl:`${l}://${r}`},signalling:{heartbeatIntervalSeconds:d,maxWsReconnectionAttempts:h,url:{baseUrl:r,protocol:l,signallingPath:c}},iceServers:u,userProvidedMediaStream:t}),this.sessionId=o,o}catch(e){throw new Error("Failed to start session")}}))}startSessionIfNeeded(e,t){return i(this,void 0,void 0,(function*(){if(!this.sessionId||!this.streamingClient){console.warn("StreamToVideoAndAudioElements: session is not started. starting a new session");try{yield this.startSession(e,t)}catch(e){throw new Error("StreamToVideoAndAudioElements: Failed to start session")}if(!this.sessionId||!this.streamingClient)throw new Error("StreamToVideoAndAudioElements: session Id or streaming client is not available after starting session")}}))}stream(){return i(this,arguments,void 0,(function*(e={},t,n){if(yield this.startSessionIfNeeded(t,n),this._isStreaming)throw new Error("Already streaming");return this._isStreaming=!0,new Promise((t=>{var n,i,o;const s=[];let a=!1,r=!1;null===(n=this.streamingClient)||void 0===n||n.setOnVideoStreamStartCallback((e=>{s.push(e),a=!0,r&&t(s)})),null===(i=this.streamingClient)||void 0===i||i.setOnAudioStreamStartCallback((e=>{s.push(e),r=!0,a&&t(s)})),null===(o=this.streamingClient)||void 0===o||o.startConnection(e)}))}))}streamToVideoAndAudioElements(e,t){return i(this,arguments,void 0,(function*(e,t,n={},i,o){if(yield this.startSessionIfNeeded(i,o),this._isStreaming)throw new Error("Already streaming");if(this._isStreaming=!0,!this.streamingClient)throw new Error("Failed to stream: streaming client is not available");this.streamingClient.setMediaStreamTargetsById(e,t),this.streamingClient.startConnection(n)}))}talk(e){return i(this,void 0,void 0,(function*(){if(!this.streamingClient)throw new Error("Failed to send talk command: session is not started. Have you called startSession?");if(!this._isStreaming)throw new Error("Failed to send talk command: not currently streaming. Have you called stream?");yield this.streamingClient.sendTalkCommand(e)}))}sendDataMessage(e){if(!this.streamingClient)throw new Error("Failed to send message: session is not started.");this.streamingClient.sendDataMessage(e)}stopStreaming(){return i(this,void 0,void 0,(function*(){this.streamingClient&&(this.streamingClient.stopConnection(),this.streamingClient=null,this.sessionId=null,this._isStreaming=!1)}))}isStreaming(){return this._isStreaming}setPersonaConfig(e){this.personaConfig=e}getPersonaConfig(){return this.personaConfig}}},440:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.unsafe_createClientWithApiKey=t.createClient=void 0;const o=i(n(816));t.createClient=(e,t,n)=>new o.default(e,t,n),t.unsafe_createClientWithApiKey=(e,t,n)=>new o.default(void 0,t,Object.assign(Object.assign({},n),{apiKey:e}))},985:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_ICE_SERVERS=t.PUBLIC_MESSAGE_ON_WEBRTC_FAILURE=t.PUBLIC_MESSAGE_ON_SIGNALLING_CLIENT_CONNECTION_FAILURE=t.DEFAULT_ENGINE_BASE_URL=t.DEFAULT_API_VERSION=t.DEFAULT_API_BASE_URL=t.DEFAULT_HEADERS=void 0,t.DEFAULT_HEADERS={"Content-Type":"application/json"},t.DEFAULT_API_BASE_URL="https://api.anam.ai",t.DEFAULT_API_VERSION="/v1",t.DEFAULT_ENGINE_BASE_URL="http://localhost:8081",t.PUBLIC_MESSAGE_ON_SIGNALLING_CLIENT_CONNECTION_FAILURE="There was a problem connecting to our servers. Please try again.",t.PUBLIC_MESSAGE_ON_WEBRTC_FAILURE="There was an issue connecting to our servers. Please try again.",t.DEFAULT_ICE_SERVERS=[{urls:"stun:stun.relay.metered.ca:80"}]},18:function(e,t,n){var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function r(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,r)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreApiRestClient=void 0;const o=n(985);t.CoreApiRestClient=class{constructor(e,t,n){if(!e&&!t)throw new Error("Either sessionToken or apiKey must be provided");this.sessionToken=e||null,this.apiKey=t||null,this.baseUrl=(null==n?void 0:n.baseUrl)||o.DEFAULT_API_BASE_URL,this.apiVersion=(null==n?void 0:n.apiVersion)||o.DEFAULT_API_VERSION}startSession(e){return i(this,void 0,void 0,(function*(){this.sessionToken||(this.sessionToken=yield this.unsafe_getSessionToken());try{const t=yield fetch(`${this.getApiUrl()}/engine/session`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.sessionToken}`},body:JSON.stringify({personaConfig:e})});return yield t.json()}catch(e){throw new Error("Failed to start session")}}))}unsafe_getSessionToken(){return i(this,void 0,void 0,(function*(){if(console.warn("Using unsecure method. This method should not be used in production."),!this.apiKey)throw new Error("No apiKey provided");try{const e=yield fetch(`${this.getApiUrl()}/auth/session-token`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`}});return(yield e.json()).sessionToken}catch(e){throw new Error("Failed to get session token")}}))}getApiUrl(){return`${this.baseUrl}${this.apiVersion}`}}},529:function(e,t){var n=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function r(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,r)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.EngineApiRestClient=void 0,t.EngineApiRestClient=class{constructor(e,t){this.baseUrl=e,this.sessionId=t}sendTalkCommand(e){return n(this,void 0,void 0,(function*(){try{const t=yield fetch(`${this.baseUrl}/talk?session_id=${this.sessionId}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e})});if(!t.ok)throw new Error(`Failed to send talk command: ${t.status} ${t.statusText}`)}catch(e){throw console.error(e),new Error("EngineApiRestClient - sendTalkCommand: Failed to send talk command")}}))}}},279:function(e,t,n){var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function r(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,r)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SignallingClient=t.DEFATULT_OPTIONS=void 0;const o=n(985),s=n(170);t.DEFATULT_OPTIONS={heartbeatIntervalSeconds:5,maxWsReconnectionAttempts:5,url:{baseUrl:o.DEFAULT_ENGINE_BASE_URL,protocol:"ws"}},t.SignallingClient=class{constructor(e,n=t.DEFATULT_OPTIONS,i,o,s){var a;if(this.stopSignal=!1,this.sendingBuffer=[],this.wsConnectionAttempts=0,this.socket=null,this.heartBeatIntervalRef=null,!e)throw new Error("Signalling Client: sessionId is required");this.sessionId=e,i&&(this.onSignalMessageReceivedCallback=i),o&&(this.onClientConnectedCallback=o),s&&(this.onClientConnectionFailureCallback=s);const{heartbeatIntervalSeconds:r,maxWsReconnectionAttempts:l,url:c}=n;if(this.heartbeatIntervalSeconds=r||5,this.maxWsReconnectionAttempts=l||5,!c.baseUrl)throw new Error("Signalling Client: baseUrl is required");const d=`${c.protocol||"https"}://${c.baseUrl}`;this.url=new URL(d),this.url.protocol="http"===c.protocol?"ws:":"wss:",c.port&&(this.url.port=c.port),this.url.pathname=null!==(a=c.signallingPath)&&void 0!==a?a:"/ws",this.url.searchParams.append("session_id",e)}stop(){this.stopSignal=!0,this.closeSocket()}connect(){return this.socket=new WebSocket(this.url.href),this.socket.onopen=this.onOpen.bind(this),this.socket.onclose=this.onClose.bind(this),this.socket.onerror=this.onError.bind(this),this.socket}sendOffer(e){return i(this,void 0,void 0,(function*(){const t={connectionDescription:e,userUid:this.sessionId},n={actionType:s.SignalMessageAction.OFFER,sessionId:this.sessionId,payload:t};this.sendSignalMessage(n)}))}sendIceCandidate(e){return i(this,void 0,void 0,(function*(){const t={actionType:s.SignalMessageAction.ICE_CANDIDATE,sessionId:this.sessionId,payload:e.toJSON()};this.sendSignalMessage(t)}))}sendSignalMessage(e){var t;if((null===(t=this.socket)||void 0===t?void 0:t.readyState)===WebSocket.OPEN)try{this.socket.send(JSON.stringify(e))}catch(e){console.error("SignallingClient - sendSignalMessage: error sending message",e)}else this.sendingBuffer.push(e)}closeSocket(){this.socket&&(this.socket.close(),this.socket=null),this.heartBeatIntervalRef&&(clearInterval(this.heartBeatIntervalRef),this.heartBeatIntervalRef=null)}onOpen(){return i(this,void 0,void 0,(function*(){if(!this.socket)throw new Error("SignallingClient - onOpen: socket is null");try{this.wsConnectionAttempts=0,this.flushSendingBuffer(),this.socket.onmessage=this.onMessage.bind(this),this.startSendingHeartBeats(),this.onClientConnectedCallback&&(yield this.onClientConnectedCallback())}catch(e){console.error("SignallingClient - onOpen: error in onOpen",e),this.onClientConnectionFailureCallback&&this.onClientConnectionFailureCallback()}}))}onClose(){return i(this,void 0,void 0,(function*(){this.wsConnectionAttempts+=1,this.stopSignal||(this.wsConnectionAttempts<=this.maxWsReconnectionAttempts?(this.socket=null,setTimeout((()=>{this.connect()}),100*this.wsConnectionAttempts)):(this.heartBeatIntervalRef&&(clearInterval(this.heartBeatIntervalRef),this.heartBeatIntervalRef=null),this.onClientConnectionFailureCallback&&this.onClientConnectionFailureCallback()))}))}onError(e){this.stopSignal||console.error("SignallingClient - onError: ",e)}flushSendingBuffer(){const e=[];this.sendingBuffer.length>0&&this.sendingBuffer.forEach((t=>{var n;(null===(n=this.socket)||void 0===n?void 0:n.readyState)===WebSocket.OPEN?this.socket.send(JSON.stringify(t)):e.push(t)})),this.sendingBuffer=e}onMessage(e){return i(this,void 0,void 0,(function*(){const t=JSON.parse(e.data);this.onSignalMessageReceivedCallback&&(yield this.onSignalMessageReceivedCallback(t))}))}startSendingHeartBeats(){if(!this.socket)throw new Error("SignallingClient - startSendingHeartBeats: socket is null");this.heartBeatIntervalRef&&console.warn("SignallingClient - startSendingHeartBeats: heartbeat interval already set");const e=1e3*this.heartbeatIntervalSeconds,t={actionType:s.SignalMessageAction.HEARTBEAT,sessionId:this.sessionId,payload:""},n=JSON.stringify(t);this.heartBeatIntervalRef=setInterval((()=>{var e;this.stopSignal||(null===(e=this.socket)||void 0===e?void 0:e.readyState)===WebSocket.OPEN&&this.socket.send(n)}),e)}}},577:function(e,t,n){var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function r(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,r)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.StreamingClient=void 0;const o=n(985),s=n(295),a=n(529),r=n(279),l={engine:{baseUrl:o.DEFAULT_ENGINE_BASE_URL},signalling:r.DEFATULT_OPTIONS,iceServers:o.DEFAULT_ICE_SERVERS};t.StreamingClient=class{constructor(e,t=l){this.iceServers=o.DEFAULT_ICE_SERVERS,this.peerConnection=null,this.connectionReceivedAnswer=!1,this.remoteIceCandidateBuffer=[],this.inputAudioStream=null,this.dataChannel=null,this.videoElement=null,this.videoStream=null,this.audioElement=null,this.audioStream=null,this.iceServers=t.iceServers||o.DEFAULT_ICE_SERVERS,this.signallingClient=new r.SignallingClient(e,t.signalling,this.onSignalMessage.bind(this),this.onSignallingClientConnected.bind(this),this.onSignallingClientFailed.bind(this)),this.engineApiRestClient=new a.EngineApiRestClient(t.engine.baseUrl,e),t.userProvidedMediaStream&&(this.inputAudioStream=t.userProvidedMediaStream)}getPeerConnection(){return this.peerConnection}getInputAudioStream(){return this.inputAudioStream}getVideoStream(){return this.videoStream}getAudioStream(){return this.audioStream}setOnVideoStreamStartCallback(e){this.onVideoStreamStartCallback=e}setOnAudioStreamStartCallback(e){this.onAudioStreamStartCallback=e}sendDataMessage(e){this.dataChannel&&"open"===this.dataChannel.readyState&&this.dataChannel.send(e)}setMediaStreamTargetsById(e,t){if(e){const t=document.getElementById(e);if(!t)throw new Error(`StreamingClient: video element with id ${e} not found`);this.videoElement=t}if(t){const e=document.getElementById(t);if(!e)throw new Error(`StreamingClient: audio element with id ${t} not found`);this.audioElement=e}}startConnection(e){try{if(this.peerConnection)return void console.error("StreamingClient - startConnection: peer connection already exists");this.setConnectionCallbacks(e),this.signallingClient.connect()}catch(e){this.handleWebrtcFailure(e)}}stopConnection(){this.shutdown()}sendTalkCommand(e){return i(this,void 0,void 0,(function*(){if(!this.peerConnection)throw new Error("StreamingClient - sendTalkCommand: peer connection is null");yield this.engineApiRestClient.sendTalkCommand(e)}))}setConnectionCallbacks({onReceiveMessageCallback:e,onConnectionEstablishedCallback:t,onConnectionClosedCallback:n,onInputAudioStreamStartCallback:i,onVideoStreamStartCallback:o,onVideoPlayStartedCallback:s,onAudioStreamStartCallback:a}){e&&(this.onReceiveMessageCallback=e),t&&(this.onConnectionEstablishedCallback=t),n&&(this.onConnectionClosedCallback=n),i&&(this.onInputAudioStreamStartCallback=i),o&&(this.onVideoStreamStartCallback=o),s&&(this.onVideoPlayStartedCallback=s),a&&(this.onAudioStreamStartCallback=a)}initPeerConnection(){return i(this,void 0,void 0,(function*(){this.peerConnection=new RTCPeerConnection({iceServers:this.iceServers}),this.peerConnection.onicecandidate=this.onIceCandidate.bind(this),this.peerConnection.oniceconnectionstatechange=this.onIceConnectionStateChange.bind(this),this.peerConnection.onconnectionstatechange=this.onConnectionStateChange.bind(this),this.peerConnection.addEventListener("track",this.onTrackEventHandler.bind(this)),yield this.setupDataChannels(),this.peerConnection.addTransceiver("video",{direction:"recvonly"}),this.peerConnection.addTransceiver("audio",{direction:"sendrecv"})}))}onSignalMessage(e){return i(this,void 0,void 0,(function*(){if(this.peerConnection)switch(e.actionType){case s.SignalMessageAction.ANSWER:const t=e.payload;yield this.peerConnection.setRemoteDescription(t),this.connectionReceivedAnswer=!0,this.flushRemoteIceCandidateBuffer();break;case s.SignalMessageAction.ICE_CANDIDATE:const n=e.payload,i=new RTCIceCandidate(n);this.connectionReceivedAnswer?yield this.peerConnection.addIceCandidate(i):this.remoteIceCandidateBuffer.push(i);break;case s.SignalMessageAction.END_SESSION:const o=e.payload;this.onConnectionClosedCallback&&this.onConnectionClosedCallback(o),this.shutdown();break;case s.SignalMessageAction.WARNING:const a=e.payload;console.warn("Warning received from server: "+a);break;default:console.error("StreamingClient - onSignalMessage: unknown signal message action type",e)}else console.error("StreamingClient - onSignalMessage: peerConnection is not initialized")}))}onSignallingClientConnected(){return i(this,void 0,void 0,(function*(){if(!this.peerConnection)try{yield this.initPeerConnectionAndSendOffer()}catch(e){console.error("StreamingClient - onSignallingClientConnected: Error initializing peer connection",e),this.handleWebrtcFailure(e)}}))}onSignallingClientFailed(){console.error("StreamingClient - onSignallingClientFailed: signalling client failed"),this.onConnectionClosedCallback&&this.onConnectionClosedCallback(o.PUBLIC_MESSAGE_ON_SIGNALLING_CLIENT_CONNECTION_FAILURE)}flushRemoteIceCandidateBuffer(){this.remoteIceCandidateBuffer.forEach((e=>{var t;null===(t=this.peerConnection)||void 0===t||t.addIceCandidate(e)})),this.remoteIceCandidateBuffer=[]}onIceCandidate(e){e.candidate&&this.signallingClient.sendIceCandidate(e.candidate)}onIceConnectionStateChange(){var e,t;"connected"!==(null===(e=this.peerConnection)||void 0===e?void 0:e.iceConnectionState)&&"completed"!==(null===(t=this.peerConnection)||void 0===t?void 0:t.iceConnectionState)||this.onConnectionEstablishedCallback&&this.onConnectionEstablishedCallback()}onConnectionStateChange(){var e;"closed"===(null===(e=this.peerConnection)||void 0===e?void 0:e.connectionState)&&(console.error("StreamingClient - onConnectionStateChange: Connection closed"),this.handleWebrtcFailure("The connection to our servers was lost. Please try again."))}handleWebrtcFailure(e){console.error("StreamingClient - handleWebrtcFailure: ",e);try{this.stopConnection()}catch(e){console.error("StreamingClient - handleWebrtcFailure: error stopping connection",e)}this.onConnectionClosedCallback&&this.onConnectionClosedCallback(o.PUBLIC_MESSAGE_ON_WEBRTC_FAILURE)}onTrackEventHandler(e){if("video"===e.track.kind){if(this.videoStream=e.streams[0],this.onVideoStreamStartCallback&&this.onVideoStreamStartCallback(this.videoStream),this.videoElement){this.videoElement.srcObject=this.videoStream;const e=this.videoElement.requestVideoFrameCallback((()=>{var t;null===(t=this.videoElement)||void 0===t||t.cancelVideoFrameCallback(e),this.onVideoPlayStartedCallback&&this.onVideoPlayStartedCallback()}))}}else"audio"===e.track.kind&&(this.audioStream=e.streams[0],this.onAudioStreamStartCallback&&this.onAudioStreamStartCallback(this.audioStream),this.audioElement&&(this.audioElement.srcObject=this.audioStream))}setupDataChannels(){return i(this,void 0,void 0,(function*(){if(!this.peerConnection)return void console.error("StreamingClient - setupDataChannels: peer connection is not initialized");if(this.inputAudioStream){if(!this.inputAudioStream.getAudioTracks().length)throw new Error("StreamingClient - setupDataChannels: user provided stream does not have audio tracks")}else this.inputAudioStream=yield navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0}});const e=this.inputAudioStream.getAudioTracks()[0];this.peerConnection.addTrack(e,this.inputAudioStream),this.onInputAudioStreamStartCallback&&this.onInputAudioStreamStartCallback(this.inputAudioStream);const t=this.peerConnection.createDataChannel("chat",{ordered:!0});t.onopen=()=>{this.dataChannel=null!=t?t:null},t.onclose=()=>{},t.onmessage=e=>{this.onReceiveMessageCallback&&this.onReceiveMessageCallback(JSON.parse(e.data))}}))}initPeerConnectionAndSendOffer(){return i(this,void 0,void 0,(function*(){if(yield this.initPeerConnection(),!this.peerConnection)return void console.error("StreamingClient - initPeerConnectionAndSendOffer: peer connection is not initialized");const e=yield this.peerConnection.createOffer();if(yield this.peerConnection.setLocalDescription(e),!this.peerConnection.localDescription)throw new Error("StreamingClient - initPeerConnectionAndSendOffer: local description is null");yield this.signallingClient.sendOffer(this.peerConnection.localDescription)}))}shutdown(){try{this.inputAudioStream&&this.inputAudioStream.getTracks().forEach((e=>{e.stop()})),this.inputAudioStream=null}catch(e){console.error("StreamingClient - shutdown: error stopping input audio stream",e)}try{this.signallingClient.stop()}catch(e){console.error("StreamingClient - shutdown: error stopping signallilng",e)}try{this.peerConnection&&"closed"!==this.peerConnection.connectionState&&(this.peerConnection.onconnectionstatechange=null,this.peerConnection.close(),this.peerConnection=null)}catch(e){console.error("StreamingClient - shutdown: error closing peer connection",e)}}}},170:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SignalMessageAction=void 0;var i=n(295);Object.defineProperty(t,"SignalMessageAction",{enumerable:!0,get:function(){return i.SignalMessageAction}})},656:(e,t)=>{var n;Object.defineProperty(t,"__esModule",{value:!0}),t.SignalMessageAction=void 0,function(e){e.OFFER="offer",e.ANSWER="answer",e.ICE_CANDIDATE="icecandidate",e.END_SESSION="endsession",e.HEARTBEAT="heartbeat",e.WARNING="warning"}(n||(t.SignalMessageAction=n={}))},295:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SignalMessageAction=void 0;var i=n(656);Object.defineProperty(t,"SignalMessageAction",{enumerable:!0,get:function(){return i.SignalMessageAction}})}},t={};return function n(i){var o=t[i];if(void 0!==o)return o.exports;var s=t[i]={exports:{}};return e[i].call(s.exports,s,s.exports,n),s.exports}(440)})()));
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@anam-ai/js-sdk",
3
+ "version": "1.0.0-alpha.10",
4
+ "description": "Client side JavaScript SDK for Anam AI",
5
+ "author": "Anam AI",
6
+ "main": "dist/main/index.js",
7
+ "module": "dist/module/index.js",
8
+ "types": "dist/module/index.d.ts",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/anam-org/javascript-sdk.git"
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "keywords": [
17
+ "javascript",
18
+ "typescript",
19
+ "anam",
20
+ "avatar",
21
+ "persona",
22
+ "sdk"
23
+ ],
24
+ "contributors": [
25
+ "Anam AI"
26
+ ],
27
+ "license": "ISC",
28
+ "bugs": {
29
+ "url": "https://github.com/anam-org/javascript-sdk/issues"
30
+ },
31
+ "homepage": "https://github.com/anam-org/javascript-sdk#readme",
32
+ "scripts": {
33
+ "clean": "rimraf dist",
34
+ "build": "run-s clean format build:*",
35
+ "build:main": "tsc -p tsconfig.json",
36
+ "build:module": "tsc -p tsconfig.module.json",
37
+ "build:umd": "webpack --mode=production --config=webpack.config.js",
38
+ "format": "prettier --write \"{src,test}/**/*.ts\"",
39
+ "lint": "eslint \"{src,test}/**/*.ts\" --fix",
40
+ "test": "echo \"Error: no test specified\" && exit 1",
41
+ "watch": "nodemon -e ts --watch src --exec \"npm run build\"",
42
+ "prepare": "husky"
43
+ },
44
+ "devDependencies": {
45
+ "@commitlint/cli": "^19.3.0",
46
+ "@commitlint/config-conventional": "^19.2.2",
47
+ "@eslint/js": "^9.2.0",
48
+ "@typescript-eslint/eslint-plugin": "^7.9.0",
49
+ "@typescript-eslint/parser": "^7.9.0",
50
+ "eslint": "^8.57.0",
51
+ "eslint-config-prettier": "^9.1.0",
52
+ "eslint-plugin-prettier": "^5.1.3",
53
+ "globals": "^15.2.0",
54
+ "husky": "^9.0.11",
55
+ "nodemon": "^3.1.0",
56
+ "npm-run-all": "^4.1.5",
57
+ "prettier": "^3.2.5",
58
+ "pretty-quick": "^4.0.0",
59
+ "rimraf": "^5.0.7",
60
+ "ts-loader": "^9.5.1",
61
+ "typescript": "^5.4.5",
62
+ "typescript-eslint": "^7.9.0",
63
+ "webpack": "^5.91.0",
64
+ "webpack-cli": "^5.1.4"
65
+ }
66
+ }