@anam-ai/js-sdk 1.3.0-alpha.1 → 1.3.0-alpha.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 (81) hide show
  1. package/dist/main/modules/MessageHistoryClient.d.ts +14 -0
  2. package/dist/main/modules/MessageHistoryClient.d.ts.map +1 -0
  3. package/dist/main/modules/MessageHistoryClient.js +75 -0
  4. package/dist/main/modules/MessageHistoryClient.js.map +1 -0
  5. package/dist/main/modules/StreamingClient.d.ts +5 -2
  6. package/dist/main/modules/StreamingClient.d.ts.map +1 -1
  7. package/dist/main/modules/StreamingClient.js +13 -5
  8. package/dist/main/modules/StreamingClient.js.map +1 -1
  9. package/dist/main/types/index.d.ts +2 -0
  10. package/dist/main/types/index.d.ts.map +1 -1
  11. package/dist/main/types/index.js +3 -1
  12. package/dist/main/types/index.js.map +1 -1
  13. package/dist/main/types/messageHistory/Message.d.ts +8 -0
  14. package/dist/main/types/messageHistory/Message.d.ts.map +1 -0
  15. package/dist/main/types/{streaming/TextMessageEvent.js → messageHistory/Message.js} +1 -1
  16. package/dist/main/types/messageHistory/Message.js.map +1 -0
  17. package/dist/main/types/messageHistory/MessageRole.d.ts +5 -0
  18. package/dist/main/types/messageHistory/MessageRole.d.ts.map +1 -0
  19. package/dist/main/types/messageHistory/MessageRole.js +9 -0
  20. package/dist/main/types/messageHistory/MessageRole.js.map +1 -0
  21. package/dist/main/types/messageHistory/MessageStreamEvent.d.ts +9 -0
  22. package/dist/main/types/messageHistory/MessageStreamEvent.d.ts.map +1 -0
  23. package/dist/main/types/messageHistory/MessageStreamEvent.js +3 -0
  24. package/dist/main/types/messageHistory/MessageStreamEvent.js.map +1 -0
  25. package/dist/main/types/messageHistory/index.d.ts +4 -0
  26. package/dist/main/types/messageHistory/index.d.ts.map +1 -0
  27. package/dist/main/types/messageHistory/index.js +6 -0
  28. package/dist/main/types/messageHistory/index.js.map +1 -0
  29. package/dist/main/types/streaming/ConnectionCallbacks.d.ts +5 -2
  30. package/dist/main/types/streaming/ConnectionCallbacks.d.ts.map +1 -1
  31. package/dist/main/types/streaming/WebRtcTextMessageEvent.d.ts +9 -0
  32. package/dist/main/types/streaming/WebRtcTextMessageEvent.d.ts.map +1 -0
  33. package/dist/main/types/streaming/WebRtcTextMessageEvent.js +3 -0
  34. package/dist/main/types/streaming/WebRtcTextMessageEvent.js.map +1 -0
  35. package/dist/main/types/streaming/index.d.ts +1 -1
  36. package/dist/main/types/streaming/index.d.ts.map +1 -1
  37. package/dist/module/modules/MessageHistoryClient.d.ts +14 -0
  38. package/dist/module/modules/MessageHistoryClient.d.ts.map +1 -0
  39. package/dist/module/modules/MessageHistoryClient.js +71 -0
  40. package/dist/module/modules/MessageHistoryClient.js.map +1 -0
  41. package/dist/module/modules/StreamingClient.d.ts +5 -2
  42. package/dist/module/modules/StreamingClient.d.ts.map +1 -1
  43. package/dist/module/modules/StreamingClient.js +13 -5
  44. package/dist/module/modules/StreamingClient.js.map +1 -1
  45. package/dist/module/types/index.d.ts +2 -0
  46. package/dist/module/types/index.d.ts.map +1 -1
  47. package/dist/module/types/index.js +1 -0
  48. package/dist/module/types/index.js.map +1 -1
  49. package/dist/module/types/messageHistory/Message.d.ts +8 -0
  50. package/dist/module/types/messageHistory/Message.d.ts.map +1 -0
  51. package/dist/module/types/messageHistory/Message.js +2 -0
  52. package/dist/module/types/messageHistory/Message.js.map +1 -0
  53. package/dist/module/types/messageHistory/MessageRole.d.ts +5 -0
  54. package/dist/module/types/messageHistory/MessageRole.d.ts.map +1 -0
  55. package/dist/module/types/messageHistory/MessageRole.js +6 -0
  56. package/dist/module/types/messageHistory/MessageRole.js.map +1 -0
  57. package/dist/module/types/messageHistory/MessageStreamEvent.d.ts +9 -0
  58. package/dist/module/types/messageHistory/MessageStreamEvent.d.ts.map +1 -0
  59. package/dist/module/types/messageHistory/MessageStreamEvent.js +2 -0
  60. package/dist/module/types/messageHistory/MessageStreamEvent.js.map +1 -0
  61. package/dist/module/types/messageHistory/index.d.ts +4 -0
  62. package/dist/module/types/messageHistory/index.d.ts.map +1 -0
  63. package/dist/module/types/messageHistory/index.js +2 -0
  64. package/dist/module/types/messageHistory/index.js.map +1 -0
  65. package/dist/module/types/streaming/ConnectionCallbacks.d.ts +5 -2
  66. package/dist/module/types/streaming/ConnectionCallbacks.d.ts.map +1 -1
  67. package/dist/module/types/streaming/WebRtcTextMessageEvent.d.ts +9 -0
  68. package/dist/module/types/streaming/WebRtcTextMessageEvent.d.ts.map +1 -0
  69. package/dist/module/types/streaming/WebRtcTextMessageEvent.js +2 -0
  70. package/dist/module/types/streaming/WebRtcTextMessageEvent.js.map +1 -0
  71. package/dist/module/types/streaming/index.d.ts +1 -1
  72. package/dist/module/types/streaming/index.d.ts.map +1 -1
  73. package/dist/umd/anam.js +1 -1
  74. package/package.json +1 -1
  75. package/dist/main/types/streaming/TextMessageEvent.d.ts +0 -8
  76. package/dist/main/types/streaming/TextMessageEvent.d.ts.map +0 -1
  77. package/dist/main/types/streaming/TextMessageEvent.js.map +0 -1
  78. package/dist/module/types/streaming/TextMessageEvent.d.ts +0 -8
  79. package/dist/module/types/streaming/TextMessageEvent.d.ts.map +0 -1
  80. package/dist/module/types/streaming/TextMessageEvent.js +0 -2
  81. package/dist/module/types/streaming/TextMessageEvent.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ import { Message, WebRtcTextMessageEvent, MessageStreamEvent } from '../types';
2
+ export declare class MessageHistoryClient {
3
+ private messages;
4
+ private onMessageHistoryUpdated;
5
+ private onMessageStreamEvent;
6
+ constructor(onMessageHistoryUpdated?: (messages: Message[]) => void);
7
+ private webRtcTextMessageEventToMessageStreamEvent;
8
+ private processUserMessage;
9
+ private processPersonaMessage;
10
+ processWebRtcTextMessageEvent(event: WebRtcTextMessageEvent): void;
11
+ setOnMessageHistoryUpdated(onMessageHistoryUpdated: (messages: Message[]) => void): void;
12
+ setOnMessageStreamEvent(onMessageStreamEvent: (messageEvent: MessageStreamEvent) => void): void;
13
+ }
14
+ //# 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,EACL,OAAO,EACP,sBAAsB,EAEtB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO,CAAC,uBAAuB,CAA8C;IAE7E,OAAO,CAAC,oBAAoB,CAEd;gBAEF,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI;IAInE,OAAO,CAAC,0CAA0C;IAYlD,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,qBAAqB;IAyBtB,6BAA6B,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAqBlE,0BAA0B,CAC/B,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,GACrD,IAAI;IAIA,uBAAuB,CAC5B,oBAAoB,EAAE,CAAC,YAAY,EAAE,kBAAkB,KAAK,IAAI,GAC/D,IAAI;CAGR"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageHistoryClient = void 0;
4
+ const types_1 = require("../types");
5
+ class MessageHistoryClient {
6
+ constructor(onMessageHistoryUpdated) {
7
+ this.messages = [];
8
+ this.onMessageHistoryUpdated = onMessageHistoryUpdated;
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
+ if (this.onMessageStreamEvent) {
52
+ this.onMessageStreamEvent(messageStreamEvent);
53
+ }
54
+ // update the message history
55
+ switch (messageStreamEvent.role) {
56
+ case types_1.MessageRole.USER:
57
+ this.processUserMessage(messageStreamEvent);
58
+ break;
59
+ case types_1.MessageRole.PERSONA:
60
+ this.processPersonaMessage(messageStreamEvent);
61
+ break;
62
+ }
63
+ if (messageStreamEvent.endOfSpeech && this.onMessageHistoryUpdated) {
64
+ this.onMessageHistoryUpdated(this.messages);
65
+ }
66
+ }
67
+ setOnMessageHistoryUpdated(onMessageHistoryUpdated) {
68
+ this.onMessageHistoryUpdated = onMessageHistoryUpdated;
69
+ }
70
+ setOnMessageStreamEvent(onMessageStreamEvent) {
71
+ this.onMessageStreamEvent = onMessageStreamEvent;
72
+ }
73
+ }
74
+ exports.MessageHistoryClient = MessageHistoryClient;
75
+ //# 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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"}
@@ -1,13 +1,16 @@
1
1
  import { InputAudioState } from '../types';
2
- import { ConnectionCallbacks, TextMessageEvent } from '../types/streaming';
2
+ import { ConnectionCallbacks, WebRtcTextMessageEvent } from '../types/streaming';
3
3
  import { StreamingClientOptions } from '../types/streaming/StreamingClientOptions';
4
4
  import { EngineApiRestClient } from './EngineApiRestClient';
5
+ import { MessageHistoryClient } from './MessageHistoryClient';
5
6
  import { SignallingClient } from './SignallingClient';
6
7
  export declare class StreamingClient {
7
8
  protected signallingClient: SignallingClient;
8
9
  protected engineApiRestClient: EngineApiRestClient;
10
+ protected messageHistoryClient: MessageHistoryClient;
9
11
  protected iceServers: RTCIceServer[];
10
- protected onReceiveMessageCallback?: (messageEvent: TextMessageEvent) => void;
12
+ protected onReceiveMessageCallback?: (messageEvent: WebRtcTextMessageEvent) => void;
13
+ protected onStreamMessageEventCallback?: (messageEvent: WebRtcTextMessageEvent) => void;
11
14
  protected onConnectionEstablishedCallback?: () => void;
12
15
  protected onConnectionClosedCallback?: (reason: string) => void;
13
16
  protected onInputAudioStreamStartCallback?: (audioStream: MediaStream) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"StreamingClient.d.ts","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamingClient.d.ts","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ exports.StreamingClient = void 0;
13
13
  const constants_1 = require("../lib/constants");
14
14
  const signalling_1 = require("../types/signalling");
15
15
  const EngineApiRestClient_1 = require("./EngineApiRestClient");
16
+ const MessageHistoryClient_1 = require("./MessageHistoryClient");
16
17
  const SignallingClient_1 = require("./SignallingClient");
17
18
  class StreamingClient {
18
19
  constructor(sessionId, options) {
@@ -34,6 +35,8 @@ class StreamingClient {
34
35
  }
35
36
  // set ice servers
36
37
  this.iceServers = options.iceServers;
38
+ // initialize message history client
39
+ this.messageHistoryClient = new MessageHistoryClient_1.MessageHistoryClient();
37
40
  // initialize signalling client
38
41
  this.signallingClient = new SignallingClient_1.SignallingClient(sessionId, options.signalling, this.onSignalMessage.bind(this), this.onSignallingClientConnected.bind(this), this.onSignallingClientFailed.bind(this));
39
42
  // initialize engine API client
@@ -146,7 +149,13 @@ class StreamingClient {
146
149
  return;
147
150
  });
148
151
  }
149
- setConnectionCallbacks({ onReceiveMessageCallback, onConnectionEstablishedCallback, onConnectionClosedCallback, onInputAudioStreamStartCallback, onVideoStreamStartCallback, onVideoPlayStartedCallback, onAudioStreamStartCallback, }) {
152
+ setConnectionCallbacks({ onMessageStreamEventCallback, onMessageHistoryUpdatedCallback, onReceiveMessageCallback, onConnectionEstablishedCallback, onConnectionClosedCallback, onInputAudioStreamStartCallback, onVideoStreamStartCallback, onVideoPlayStartedCallback, onAudioStreamStartCallback, }) {
153
+ if (onMessageStreamEventCallback) {
154
+ this.messageHistoryClient.setOnMessageStreamEvent(onMessageStreamEventCallback);
155
+ }
156
+ if (onMessageHistoryUpdatedCallback) {
157
+ this.messageHistoryClient.setOnMessageHistoryUpdated(onMessageHistoryUpdatedCallback);
158
+ }
150
159
  if (onReceiveMessageCallback) {
151
160
  this.onReceiveMessageCallback = onReceiveMessageCallback;
152
161
  }
@@ -373,11 +382,10 @@ class StreamingClient {
373
382
  dataChannel.onclose = () => {
374
383
  // TODO: should we set the data channel to null here?
375
384
  };
376
- // pass test messages to the callback
385
+ // pass text message to the message history client
377
386
  dataChannel.onmessage = (event) => {
378
- if (this.onReceiveMessageCallback) {
379
- this.onReceiveMessageCallback(JSON.parse(event.data));
380
- }
387
+ const messageEvent = JSON.parse(event.data);
388
+ this.messageHistoryClient.processWebRtcTextMessageEvent(messageEvent);
381
389
  };
382
390
  });
383
391
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StreamingClient.js","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamingClient.js","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,6 @@ export type * from './streaming';
5
5
  export type * from './coreApi';
6
6
  export type { PersonaConfig } from './PersonaConfig';
7
7
  export type { InputAudioState } from './InputAudioState';
8
+ export type * from './messageHistory';
9
+ export { MessageRole } from './messageHistory';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,mBAAmB,cAAc,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,mBAAmB,aAAa,CAAC;AACjC,mBAAmB,WAAW,CAAC;AAC/B,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,mBAAmB,cAAc,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,mBAAmB,aAAa,CAAC;AACjC,mBAAmB,WAAW,CAAC;AAC/B,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,mBAAmB,kBAAkB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SignalMessageAction = void 0;
3
+ exports.MessageRole = exports.SignalMessageAction = void 0;
4
4
  var signalling_1 = require("./signalling"); // need to export this explicitly to avoid enum import issues
5
5
  Object.defineProperty(exports, "SignalMessageAction", { enumerable: true, get: function () { return signalling_1.SignalMessageAction; } });
6
+ var messageHistory_1 = require("./messageHistory"); // need to export this explicitly to avoid enum import issues
7
+ Object.defineProperty(exports, "MessageRole", { enumerable: true, get: function () { return messageHistory_1.MessageRole; } });
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;AAEA,2CAAmD,CAAC,6DAA6D;AAAxG,iHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;AAEA,2CAAmD,CAAC,6DAA6D;AAAxG,iHAAA,mBAAmB,OAAA;AAM5B,mDAA+C,CAAC,6DAA6D;AAApG,6GAAA,WAAW,OAAA"}
@@ -0,0 +1,8 @@
1
+ import { MessageRole } from './MessageRole';
2
+ export interface Message {
3
+ id: string;
4
+ content: string;
5
+ role: MessageRole;
6
+ interrupted?: boolean;
7
+ }
8
+ //# sourceMappingURL=Message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../src/types/messageHistory/Message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=TextMessageEvent.js.map
3
+ //# sourceMappingURL=Message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../../src/types/messageHistory/Message.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export declare enum MessageRole {
2
+ USER = "user",
3
+ PERSONA = "persona"
4
+ }
5
+ //# sourceMappingURL=MessageRole.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageRole.d.ts","sourceRoot":"","sources":["../../../../src/types/messageHistory/MessageRole.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageRole = void 0;
4
+ var MessageRole;
5
+ (function (MessageRole) {
6
+ MessageRole["USER"] = "user";
7
+ MessageRole["PERSONA"] = "persona";
8
+ })(MessageRole || (exports.MessageRole = MessageRole = {}));
9
+ //# sourceMappingURL=MessageRole.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageRole.js","sourceRoot":"","sources":["../../../../src/types/messageHistory/MessageRole.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,kCAAmB,CAAA;AACrB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
@@ -0,0 +1,9 @@
1
+ import { MessageRole } from './MessageRole';
2
+ export interface MessageStreamEvent {
3
+ id: string;
4
+ content: string;
5
+ role: MessageRole;
6
+ endOfSpeech: boolean;
7
+ interrupted: boolean;
8
+ }
9
+ //# sourceMappingURL=MessageStreamEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageStreamEvent.d.ts","sourceRoot":"","sources":["../../../../src/types/messageHistory/MessageStreamEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=MessageStreamEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageStreamEvent.js","sourceRoot":"","sources":["../../../../src/types/messageHistory/MessageStreamEvent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { MessageRole } from './MessageRole';
2
+ export type { Message } from './Message';
3
+ export type { MessageStreamEvent } from './MessageStreamEvent';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/messageHistory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageRole = void 0;
4
+ var MessageRole_1 = require("./MessageRole");
5
+ Object.defineProperty(exports, "MessageRole", { enumerable: true, get: function () { return MessageRole_1.MessageRole; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/types/messageHistory/index.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
@@ -1,6 +1,9 @@
1
- import { TextMessageEvent } from './TextMessageEvent';
1
+ import { Message, MessageStreamEvent } from '../messageHistory';
2
+ import { WebRtcTextMessageEvent } from './WebRtcTextMessageEvent';
2
3
  export interface ConnectionCallbacks {
3
- onReceiveMessageCallback?: (messageEvent: TextMessageEvent) => void;
4
+ onReceiveMessageCallback?: (messageEvent: WebRtcTextMessageEvent) => void;
5
+ onMessageStreamEventCallback?: (messageEvent: MessageStreamEvent) => void;
6
+ onMessageHistoryUpdatedCallback?: (messages: Message[]) => void;
4
7
  onConnectionEstablishedCallback?: () => void;
5
8
  onConnectionClosedCallback?: (reason: string) => void;
6
9
  onInputAudioStreamStartCallback?: (audioStream: MediaStream) => void;
@@ -1 +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"}
1
+ {"version":3,"file":"ConnectionCallbacks.d.ts","sourceRoot":"","sources":["../../../../src/types/streaming/ConnectionCallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,wBAAwB,CAAC,EAAE,CAAC,YAAY,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC1E,4BAA4B,CAAC,EAAE,CAAC,YAAY,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC1E,+BAA+B,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChE,+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,9 @@
1
+ export interface WebRtcTextMessageEvent {
2
+ message_id: string;
3
+ content_index: number;
4
+ content: string;
5
+ role: string;
6
+ end_of_speech: boolean;
7
+ interrupted: boolean;
8
+ }
9
+ //# sourceMappingURL=WebRtcTextMessageEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebRtcTextMessageEvent.d.ts","sourceRoot":"","sources":["../../../../src/types/streaming/WebRtcTextMessageEvent.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=WebRtcTextMessageEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebRtcTextMessageEvent.js","sourceRoot":"","sources":["../../../../src/types/streaming/WebRtcTextMessageEvent.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- export type { TextMessageEvent } from './TextMessageEvent';
1
+ export type { WebRtcTextMessageEvent } from './WebRtcTextMessageEvent';
2
2
  export type { ConnectionCallbacks } from './ConnectionCallbacks';
3
3
  export type { StreamingClientOptions } from './StreamingClientOptions';
4
4
  export type { InputAudioOptions } from './InputAudioOptions';
@@ -1 +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;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/streaming/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Message, WebRtcTextMessageEvent, MessageStreamEvent } from '../types';
2
+ export declare class MessageHistoryClient {
3
+ private messages;
4
+ private onMessageHistoryUpdated;
5
+ private onMessageStreamEvent;
6
+ constructor(onMessageHistoryUpdated?: (messages: Message[]) => void);
7
+ private webRtcTextMessageEventToMessageStreamEvent;
8
+ private processUserMessage;
9
+ private processPersonaMessage;
10
+ processWebRtcTextMessageEvent(event: WebRtcTextMessageEvent): void;
11
+ setOnMessageHistoryUpdated(onMessageHistoryUpdated: (messages: Message[]) => void): void;
12
+ setOnMessageStreamEvent(onMessageStreamEvent: (messageEvent: MessageStreamEvent) => void): void;
13
+ }
14
+ //# 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,EACL,OAAO,EACP,sBAAsB,EAEtB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO,CAAC,uBAAuB,CAA8C;IAE7E,OAAO,CAAC,oBAAoB,CAEd;gBAEF,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI;IAInE,OAAO,CAAC,0CAA0C;IAYlD,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,qBAAqB;IAyBtB,6BAA6B,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAqBlE,0BAA0B,CAC/B,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,GACrD,IAAI;IAIA,uBAAuB,CAC5B,oBAAoB,EAAE,CAAC,YAAY,EAAE,kBAAkB,KAAK,IAAI,GAC/D,IAAI;CAGR"}
@@ -0,0 +1,71 @@
1
+ import { MessageRole, } from '../types';
2
+ export class MessageHistoryClient {
3
+ constructor(onMessageHistoryUpdated) {
4
+ this.messages = [];
5
+ this.onMessageHistoryUpdated = onMessageHistoryUpdated;
6
+ }
7
+ webRtcTextMessageEventToMessageStreamEvent(event) {
8
+ return {
9
+ 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
10
+ content: event.content,
11
+ role: event.role,
12
+ endOfSpeech: event.end_of_speech,
13
+ interrupted: event.interrupted,
14
+ };
15
+ }
16
+ processUserMessage(messageEvent) {
17
+ // each user message is added directly to the history
18
+ // user messages can not be interrupted
19
+ const userMessage = {
20
+ id: messageEvent.id,
21
+ content: messageEvent.content,
22
+ role: messageEvent.role,
23
+ };
24
+ this.messages.push(userMessage);
25
+ }
26
+ processPersonaMessage(messageEvent) {
27
+ const personaMessage = {
28
+ id: messageEvent.id,
29
+ content: messageEvent.content,
30
+ role: messageEvent.role,
31
+ interrupted: messageEvent.interrupted,
32
+ };
33
+ // check for existing message in the history
34
+ const existingMessageIndex = this.messages.findIndex((m) => m.id === personaMessage.id);
35
+ if (existingMessageIndex !== -1) {
36
+ const existingMessage = this.messages[existingMessageIndex];
37
+ // update the existing message
38
+ this.messages[existingMessageIndex] = Object.assign(Object.assign({}, existingMessage), { content: existingMessage.content + personaMessage.content, interrupted: existingMessage.interrupted || personaMessage.interrupted });
39
+ }
40
+ else {
41
+ // add the new persona message to the history
42
+ this.messages.push(personaMessage);
43
+ }
44
+ }
45
+ processWebRtcTextMessageEvent(event) {
46
+ const messageStreamEvent = this.webRtcTextMessageEventToMessageStreamEvent(event);
47
+ // pass to callback stream
48
+ if (this.onMessageStreamEvent) {
49
+ this.onMessageStreamEvent(messageStreamEvent);
50
+ }
51
+ // update the message history
52
+ switch (messageStreamEvent.role) {
53
+ case MessageRole.USER:
54
+ this.processUserMessage(messageStreamEvent);
55
+ break;
56
+ case MessageRole.PERSONA:
57
+ this.processPersonaMessage(messageStreamEvent);
58
+ break;
59
+ }
60
+ if (messageStreamEvent.endOfSpeech && this.onMessageHistoryUpdated) {
61
+ this.onMessageHistoryUpdated(this.messages);
62
+ }
63
+ }
64
+ setOnMessageHistoryUpdated(onMessageHistoryUpdated) {
65
+ this.onMessageHistoryUpdated = onMessageHistoryUpdated;
66
+ }
67
+ setOnMessageStreamEvent(onMessageStreamEvent) {
68
+ this.onMessageStreamEvent = onMessageStreamEvent;
69
+ }
70
+ }
71
+ //# 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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"}
@@ -1,13 +1,16 @@
1
1
  import { InputAudioState } from '../types';
2
- import { ConnectionCallbacks, TextMessageEvent } from '../types/streaming';
2
+ import { ConnectionCallbacks, WebRtcTextMessageEvent } from '../types/streaming';
3
3
  import { StreamingClientOptions } from '../types/streaming/StreamingClientOptions';
4
4
  import { EngineApiRestClient } from './EngineApiRestClient';
5
+ import { MessageHistoryClient } from './MessageHistoryClient';
5
6
  import { SignallingClient } from './SignallingClient';
6
7
  export declare class StreamingClient {
7
8
  protected signallingClient: SignallingClient;
8
9
  protected engineApiRestClient: EngineApiRestClient;
10
+ protected messageHistoryClient: MessageHistoryClient;
9
11
  protected iceServers: RTCIceServer[];
10
- protected onReceiveMessageCallback?: (messageEvent: TextMessageEvent) => void;
12
+ protected onReceiveMessageCallback?: (messageEvent: WebRtcTextMessageEvent) => void;
13
+ protected onStreamMessageEventCallback?: (messageEvent: WebRtcTextMessageEvent) => void;
11
14
  protected onConnectionEstablishedCallback?: () => void;
12
15
  protected onConnectionClosedCallback?: (reason: string) => void;
13
16
  protected onInputAudioStreamStartCallback?: (audioStream: MediaStream) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"StreamingClient.d.ts","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamingClient.d.ts","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { PUBLIC_MESSAGE_ON_SIGNALLING_CLIENT_CONNECTION_FAILURE, PUBLIC_MESSAGE_ON_WEBRTC_FAILURE, } from '../lib/constants';
11
11
  import { SignalMessageAction } from '../types/signalling';
12
12
  import { EngineApiRestClient } from './EngineApiRestClient';
13
+ import { MessageHistoryClient } from './MessageHistoryClient';
13
14
  import { SignallingClient } from './SignallingClient';
14
15
  export class StreamingClient {
15
16
  constructor(sessionId, options) {
@@ -31,6 +32,8 @@ export class StreamingClient {
31
32
  }
32
33
  // set ice servers
33
34
  this.iceServers = options.iceServers;
35
+ // initialize message history client
36
+ this.messageHistoryClient = new MessageHistoryClient();
34
37
  // initialize signalling client
35
38
  this.signallingClient = new SignallingClient(sessionId, options.signalling, this.onSignalMessage.bind(this), this.onSignallingClientConnected.bind(this), this.onSignallingClientFailed.bind(this));
36
39
  // initialize engine API client
@@ -143,7 +146,13 @@ export class StreamingClient {
143
146
  return;
144
147
  });
145
148
  }
146
- setConnectionCallbacks({ onReceiveMessageCallback, onConnectionEstablishedCallback, onConnectionClosedCallback, onInputAudioStreamStartCallback, onVideoStreamStartCallback, onVideoPlayStartedCallback, onAudioStreamStartCallback, }) {
149
+ setConnectionCallbacks({ onMessageStreamEventCallback, onMessageHistoryUpdatedCallback, onReceiveMessageCallback, onConnectionEstablishedCallback, onConnectionClosedCallback, onInputAudioStreamStartCallback, onVideoStreamStartCallback, onVideoPlayStartedCallback, onAudioStreamStartCallback, }) {
150
+ if (onMessageStreamEventCallback) {
151
+ this.messageHistoryClient.setOnMessageStreamEvent(onMessageStreamEventCallback);
152
+ }
153
+ if (onMessageHistoryUpdatedCallback) {
154
+ this.messageHistoryClient.setOnMessageHistoryUpdated(onMessageHistoryUpdatedCallback);
155
+ }
147
156
  if (onReceiveMessageCallback) {
148
157
  this.onReceiveMessageCallback = onReceiveMessageCallback;
149
158
  }
@@ -370,11 +379,10 @@ export class StreamingClient {
370
379
  dataChannel.onclose = () => {
371
380
  // TODO: should we set the data channel to null here?
372
381
  };
373
- // pass test messages to the callback
382
+ // pass text message to the message history client
374
383
  dataChannel.onmessage = (event) => {
375
- if (this.onReceiveMessageCallback) {
376
- this.onReceiveMessageCallback(JSON.parse(event.data));
377
- }
384
+ const messageEvent = JSON.parse(event.data);
385
+ this.messageHistoryClient.processWebRtcTextMessageEvent(messageEvent);
378
386
  };
379
387
  });
380
388
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StreamingClient.js","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamingClient.js","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,6 @@ export type * from './streaming';
5
5
  export type * from './coreApi';
6
6
  export type { PersonaConfig } from './PersonaConfig';
7
7
  export type { InputAudioState } from './InputAudioState';
8
+ export type * from './messageHistory';
9
+ export { MessageRole } from './messageHistory';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,mBAAmB,cAAc,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,mBAAmB,aAAa,CAAC;AACjC,mBAAmB,WAAW,CAAC;AAC/B,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,mBAAmB,cAAc,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,mBAAmB,aAAa,CAAC;AACjC,mBAAmB,WAAW,CAAC;AAC/B,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,mBAAmB,kBAAkB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { SignalMessageAction } from './signalling'; // need to export this explicitly to avoid enum import issues
2
+ export { MessageRole } from './messageHistory'; // need to export this explicitly to avoid enum import issues
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC,CAAC,6DAA6D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC,CAAC,6DAA6D;AAMjH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC,CAAC,6DAA6D"}
@@ -0,0 +1,8 @@
1
+ import { MessageRole } from './MessageRole';
2
+ export interface Message {
3
+ id: string;
4
+ content: string;
5
+ role: MessageRole;
6
+ interrupted?: boolean;
7
+ }
8
+ //# sourceMappingURL=Message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../src/types/messageHistory/Message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../../src/types/messageHistory/Message.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export declare enum MessageRole {
2
+ USER = "user",
3
+ PERSONA = "persona"
4
+ }
5
+ //# sourceMappingURL=MessageRole.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageRole.d.ts","sourceRoot":"","sources":["../../../../src/types/messageHistory/MessageRole.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB"}
@@ -0,0 +1,6 @@
1
+ export var MessageRole;
2
+ (function (MessageRole) {
3
+ MessageRole["USER"] = "user";
4
+ MessageRole["PERSONA"] = "persona";
5
+ })(MessageRole || (MessageRole = {}));
6
+ //# sourceMappingURL=MessageRole.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageRole.js","sourceRoot":"","sources":["../../../../src/types/messageHistory/MessageRole.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,kCAAmB,CAAA;AACrB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
@@ -0,0 +1,9 @@
1
+ import { MessageRole } from './MessageRole';
2
+ export interface MessageStreamEvent {
3
+ id: string;
4
+ content: string;
5
+ role: MessageRole;
6
+ endOfSpeech: boolean;
7
+ interrupted: boolean;
8
+ }
9
+ //# sourceMappingURL=MessageStreamEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageStreamEvent.d.ts","sourceRoot":"","sources":["../../../../src/types/messageHistory/MessageStreamEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MessageStreamEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageStreamEvent.js","sourceRoot":"","sources":["../../../../src/types/messageHistory/MessageStreamEvent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { MessageRole } from './MessageRole';
2
+ export type { Message } from './Message';
3
+ export type { MessageStreamEvent } from './MessageStreamEvent';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/messageHistory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { MessageRole } from './MessageRole';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/types/messageHistory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -1,6 +1,9 @@
1
- import { TextMessageEvent } from './TextMessageEvent';
1
+ import { Message, MessageStreamEvent } from '../messageHistory';
2
+ import { WebRtcTextMessageEvent } from './WebRtcTextMessageEvent';
2
3
  export interface ConnectionCallbacks {
3
- onReceiveMessageCallback?: (messageEvent: TextMessageEvent) => void;
4
+ onReceiveMessageCallback?: (messageEvent: WebRtcTextMessageEvent) => void;
5
+ onMessageStreamEventCallback?: (messageEvent: MessageStreamEvent) => void;
6
+ onMessageHistoryUpdatedCallback?: (messages: Message[]) => void;
4
7
  onConnectionEstablishedCallback?: () => void;
5
8
  onConnectionClosedCallback?: (reason: string) => void;
6
9
  onInputAudioStreamStartCallback?: (audioStream: MediaStream) => void;
@@ -1 +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"}
1
+ {"version":3,"file":"ConnectionCallbacks.d.ts","sourceRoot":"","sources":["../../../../src/types/streaming/ConnectionCallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,wBAAwB,CAAC,EAAE,CAAC,YAAY,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC1E,4BAA4B,CAAC,EAAE,CAAC,YAAY,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC1E,+BAA+B,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChE,+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,9 @@
1
+ export interface WebRtcTextMessageEvent {
2
+ message_id: string;
3
+ content_index: number;
4
+ content: string;
5
+ role: string;
6
+ end_of_speech: boolean;
7
+ interrupted: boolean;
8
+ }
9
+ //# sourceMappingURL=WebRtcTextMessageEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebRtcTextMessageEvent.d.ts","sourceRoot":"","sources":["../../../../src/types/streaming/WebRtcTextMessageEvent.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WebRtcTextMessageEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebRtcTextMessageEvent.js","sourceRoot":"","sources":["../../../../src/types/streaming/WebRtcTextMessageEvent.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- export type { TextMessageEvent } from './TextMessageEvent';
1
+ export type { WebRtcTextMessageEvent } from './WebRtcTextMessageEvent';
2
2
  export type { ConnectionCallbacks } from './ConnectionCallbacks';
3
3
  export type { StreamingClientOptions } from './StreamingClientOptions';
4
4
  export type { InputAudioOptions } from './InputAudioOptions';
@@ -1 +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;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/streaming/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/umd/anam.js CHANGED
@@ -1 +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){this.inputAudioState={isMuted:!1},this.sessionId=null,this.streamingClient=null,this._isStreaming=!1;const i=this.validateClientConfig(e,t,n);if(i)throw new Error(i);this.sessionToken=e,this.apiKey=null==n?void 0:n.apiKey,this.personaConfig=t,this.clientOptions=n,this.apiClient=new o.CoreApiRestClient(e,null==n?void 0:n.apiKey,null==n?void 0:n.api)}validateClientConfig(e,t,n){if(!e&&!(null==n?void 0:n.apiKey))return"Either sessionToken or apiKey must be provided";if((null==n?void 0:n.apiKey)&&e)return"Only one of sessionToken or apiKey should be used";if(!t)return"Persona configuration must be provided";if(""===t.personaId||!t.personaId)return"Persona ID must be provided in persona configuration";if((null==n?void 0:n.voiceDetection)&&void 0!==n.voiceDetection.endOfSpeechSensitivity){if("number"!=typeof n.voiceDetection.endOfSpeechSensitivity)return"End of speech sensitivity must be a number";if(n.voiceDetection.endOfSpeechSensitivity<0||n.voiceDetection.endOfSpeechSensitivity>1)return"End of speech sensitivity must be between 0 and 1"}}buildStartSessionOptionsForClient(){var e;const t={};if((null===(e=this.clientOptions)||void 0===e?void 0:e.voiceDetection)&&(t.voiceDetection=this.clientOptions.voiceDetection),0!==Object.keys(t).length)return t}startSession(e){return i(this,void 0,void 0,(function*(){try{const t=this.personaConfig;if(!t)throw new Error("A default persona configuration has not been set and no persona configuration was provided");const n=this.buildStartSessionOptionsForClient(),i=yield this.apiClient.startSession(t,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,inputAudio:{inputAudioState:this.inputAudioState,userProvidedMediaStream:e}}),this.sessionId=o,o}catch(e){throw new Error("Failed to start session")}}))}startSessionIfNeeded(e){return i(this,void 0,void 0,(function*(){if(!this.sessionId||!this.streamingClient){try{yield this.startSession(e)}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){if(yield this.startSessionIfNeeded(t),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){if(yield this.startSessionIfNeeded(i),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}getInputAudioState(){return this.streamingClient&&(this.inputAudioState=this.streamingClient.getInputAudioState()),this.inputAudioState}muteInputAudio(){return this.streamingClient?this.inputAudioState=this.streamingClient.muteInputAudio():this.inputAudioState=Object.assign(Object.assign({},this.inputAudioState),{isMuted:!0}),this.inputAudioState}unmuteInputAudio(){return this.streamingClient?this.inputAudioState=this.streamingClient.unmuteInputAudio():this.inputAudioState=Object.assign(Object.assign({},this.inputAudioState),{isMuted:!1}),this.inputAudioState}}},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.PUBLIC_MESSAGE_ON_WEBRTC_FAILURE=t.PUBLIC_MESSAGE_ON_SIGNALLING_CLIENT_CONNECTION_FAILURE=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.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."},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,t){return i(this,void 0,void 0,(function*(){this.sessionToken||(this.sessionToken=yield this.unsafe_getSessionToken());try{const n=yield fetch(`${this.getApiUrl()}/engine/session`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.sessionToken}`},body:JSON.stringify({personaConfig:e,sessionOptions:t})});return yield n.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:"GET",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=void 0;const o=n(170);t.SignallingClient=class{constructor(e,t,n,i,o){var s;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,n&&(this.onSignalMessageReceivedCallback=n),i&&(this.onClientConnectedCallback=i),o&&(this.onClientConnectionFailureCallback=o);const{heartbeatIntervalSeconds:a,maxWsReconnectionAttempts:r,url:l}=t;if(this.heartbeatIntervalSeconds=a||5,this.maxWsReconnectionAttempts=r||5,!l.baseUrl)throw new Error("Signalling Client: baseUrl is required");const c=`${l.protocol||"https"}://${l.baseUrl}`;this.url=new URL(c),this.url.protocol="http"===l.protocol?"ws:":"wss:",l.port&&(this.url.port=l.port),this.url.pathname=null!==(s=l.signallingPath)&&void 0!==s?s:"/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:o.SignalMessageAction.OFFER,sessionId:this.sessionId,payload:t};this.sendSignalMessage(n)}))}sendIceCandidate(e){return i(this,void 0,void 0,(function*(){const t={actionType:o.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:o.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);t.StreamingClient=class{constructor(e,t){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.inputAudioState={isMuted:!1};const{inputAudio:n}=t;this.inputAudioState=n.inputAudioState,t.inputAudio.userProvidedMediaStream&&(this.inputAudioStream=t.inputAudio.userProvidedMediaStream),this.iceServers=t.iceServers,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)}onInputAudioStateChange(e,t){e.isMuted!==t.isMuted&&(t.isMuted?this.muteAllAudioTracks():this.unmuteAllAudioTracks())}muteAllAudioTracks(){var e;null===(e=this.inputAudioStream)||void 0===e||e.getAudioTracks().forEach((e=>{e.enabled=!1}))}unmuteAllAudioTracks(){var e;null===(e=this.inputAudioStream)||void 0===e||e.getAudioTracks().forEach((e=>{e.enabled=!0}))}muteInputAudio(){const e=this.inputAudioState,t=Object.assign(Object.assign({},this.inputAudioState),{isMuted:!0});return this.inputAudioState=t,this.onInputAudioStateChange(e,t),this.inputAudioState}unmuteInputAudio(){const e=this.inputAudioState,t=Object.assign(Object.assign({},this.inputAudioState),{isMuted:!1});return this.inputAudioState=t,this.onInputAudioStateChange(e,t),this.inputAudioState}getInputAudioState(){return this.inputAudioState}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}});this.inputAudioState.isMuted&&this.muteAllAudioTracks();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)})()));
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(s,o){function a(e){try{l(i.next(e))}catch(e){o(e)}}function r(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?s(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 s=n(18),o=n(577);t.default=class{constructor(e,t,n){this.inputAudioState={isMuted:!1},this.sessionId=null,this.streamingClient=null,this._isStreaming=!1;const i=this.validateClientConfig(e,t,n);if(i)throw new Error(i);this.sessionToken=e,this.apiKey=null==n?void 0:n.apiKey,this.personaConfig=t,this.clientOptions=n,this.apiClient=new s.CoreApiRestClient(e,null==n?void 0:n.apiKey,null==n?void 0:n.api)}validateClientConfig(e,t,n){if(!e&&!(null==n?void 0:n.apiKey))return"Either sessionToken or apiKey must be provided";if((null==n?void 0:n.apiKey)&&e)return"Only one of sessionToken or apiKey should be used";if(!t)return"Persona configuration must be provided";if(""===t.personaId||!t.personaId)return"Persona ID must be provided in persona configuration";if((null==n?void 0:n.voiceDetection)&&void 0!==n.voiceDetection.endOfSpeechSensitivity){if("number"!=typeof n.voiceDetection.endOfSpeechSensitivity)return"End of speech sensitivity must be a number";if(n.voiceDetection.endOfSpeechSensitivity<0||n.voiceDetection.endOfSpeechSensitivity>1)return"End of speech sensitivity must be between 0 and 1"}}buildStartSessionOptionsForClient(){var e;const t={};if((null===(e=this.clientOptions)||void 0===e?void 0:e.voiceDetection)&&(t.voiceDetection=this.clientOptions.voiceDetection),0!==Object.keys(t).length)return t}startSession(e){return i(this,void 0,void 0,(function*(){try{const t=this.personaConfig;if(!t)throw new Error("A default persona configuration has not been set and no persona configuration was provided");const n=this.buildStartSessionOptionsForClient(),i=yield this.apiClient.startSession(t,n),{sessionId:s,clientConfig:a,engineHost:r,engineProtocol:l,signallingEndpoint:c}=i,{heartbeatIntervalSeconds:d,maxWsReconnectionAttempts:h,iceServers:u}=a;return this.streamingClient=new o.StreamingClient(s,{engine:{baseUrl:`${l}://${r}`},signalling:{heartbeatIntervalSeconds:d,maxWsReconnectionAttempts:h,url:{baseUrl:r,protocol:l,signallingPath:c}},iceServers:u,inputAudio:{inputAudioState:this.inputAudioState,userProvidedMediaStream:e}}),this.sessionId=s,s}catch(e){throw new Error("Failed to start session")}}))}startSessionIfNeeded(e){return i(this,void 0,void 0,(function*(){if(!this.sessionId||!this.streamingClient){try{yield this.startSession(e)}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){if(yield this.startSessionIfNeeded(t),this._isStreaming)throw new Error("Already streaming");return this._isStreaming=!0,new Promise((t=>{var n,i,s;const o=[];let a=!1,r=!1;null===(n=this.streamingClient)||void 0===n||n.setOnVideoStreamStartCallback((e=>{o.push(e),a=!0,r&&t(o)})),null===(i=this.streamingClient)||void 0===i||i.setOnAudioStreamStartCallback((e=>{o.push(e),r=!0,a&&t(o)})),null===(s=this.streamingClient)||void 0===s||s.startConnection(e)}))}))}streamToVideoAndAudioElements(e,t){return i(this,arguments,void 0,(function*(e,t,n={},i){if(yield this.startSessionIfNeeded(i),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}getInputAudioState(){return this.streamingClient&&(this.inputAudioState=this.streamingClient.getInputAudioState()),this.inputAudioState}muteInputAudio(){return this.streamingClient?this.inputAudioState=this.streamingClient.muteInputAudio():this.inputAudioState=Object.assign(Object.assign({},this.inputAudioState),{isMuted:!0}),this.inputAudioState}unmuteInputAudio(){return this.streamingClient?this.inputAudioState=this.streamingClient.unmuteInputAudio():this.inputAudioState=Object.assign(Object.assign({},this.inputAudioState),{isMuted:!1}),this.inputAudioState}}},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 s=i(n(816));t.createClient=(e,t,n)=>new s.default(e,t,n),t.unsafe_createClientWithApiKey=(e,t,n)=>new s.default(void 0,t,Object.assign(Object.assign({},n),{apiKey:e}))},985:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PUBLIC_MESSAGE_ON_WEBRTC_FAILURE=t.PUBLIC_MESSAGE_ON_SIGNALLING_CLIENT_CONNECTION_FAILURE=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.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."},18:function(e,t,n){var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(s,o){function a(e){try{l(i.next(e))}catch(e){o(e)}}function r(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?s(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 s=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)||s.DEFAULT_API_BASE_URL,this.apiVersion=(null==n?void 0:n.apiVersion)||s.DEFAULT_API_VERSION}startSession(e,t){return i(this,void 0,void 0,(function*(){this.sessionToken||(this.sessionToken=yield this.unsafe_getSessionToken());try{const n=yield fetch(`${this.getApiUrl()}/engine/session`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.sessionToken}`},body:JSON.stringify({personaConfig:e,sessionOptions:t})});return yield n.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:"GET",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(s,o){function a(e){try{l(i.next(e))}catch(e){o(e)}}function r(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?s(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")}}))}}},462:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MessageHistoryClient=void 0;const i=n(170);t.MessageHistoryClient=class{constructor(e){this.messages=[],this.onMessageHistoryUpdated=e}webRtcTextMessageEventToMessageStreamEvent(e){return{id:`${e.role}::${e.message_id}`,content:e.content,role:e.role,endOfSpeech:e.end_of_speech,interrupted:e.interrupted}}processUserMessage(e){const t={id:e.id,content:e.content,role:e.role};this.messages.push(t)}processPersonaMessage(e){const t={id:e.id,content:e.content,role:e.role,interrupted:e.interrupted},n=this.messages.findIndex((e=>e.id===t.id));if(-1!==n){const e=this.messages[n];this.messages[n]=Object.assign(Object.assign({},e),{content:e.content+t.content,interrupted:e.interrupted||t.interrupted})}else this.messages.push(t)}processWebRtcTextMessageEvent(e){const t=this.webRtcTextMessageEventToMessageStreamEvent(e);switch(this.onMessageStreamEvent&&this.onMessageStreamEvent(t),t.role){case i.MessageRole.USER:this.processUserMessage(t);break;case i.MessageRole.PERSONA:this.processPersonaMessage(t)}t.endOfSpeech&&this.onMessageHistoryUpdated&&this.onMessageHistoryUpdated(this.messages)}setOnMessageHistoryUpdated(e){this.onMessageHistoryUpdated=e}setOnMessageStreamEvent(e){this.onMessageStreamEvent=e}}},279:function(e,t,n){var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(s,o){function a(e){try{l(i.next(e))}catch(e){o(e)}}function r(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?s(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=void 0;const s=n(170);t.SignallingClient=class{constructor(e,t,n,i,s){var o;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,n&&(this.onSignalMessageReceivedCallback=n),i&&(this.onClientConnectedCallback=i),s&&(this.onClientConnectionFailureCallback=s);const{heartbeatIntervalSeconds:a,maxWsReconnectionAttempts:r,url:l}=t;if(this.heartbeatIntervalSeconds=a||5,this.maxWsReconnectionAttempts=r||5,!l.baseUrl)throw new Error("Signalling Client: baseUrl is required");const c=`${l.protocol||"https"}://${l.baseUrl}`;this.url=new URL(c),this.url.protocol="http"===l.protocol?"ws:":"wss:",l.port&&(this.url.port=l.port),this.url.pathname=null!==(o=l.signallingPath)&&void 0!==o?o:"/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(s,o){function a(e){try{l(i.next(e))}catch(e){o(e)}}function r(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?s(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 s=n(985),o=n(295),a=n(529),r=n(462),l=n(279);t.StreamingClient=class{constructor(e,t){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.inputAudioState={isMuted:!1};const{inputAudio:n}=t;this.inputAudioState=n.inputAudioState,t.inputAudio.userProvidedMediaStream&&(this.inputAudioStream=t.inputAudio.userProvidedMediaStream),this.iceServers=t.iceServers,this.messageHistoryClient=new r.MessageHistoryClient,this.signallingClient=new l.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)}onInputAudioStateChange(e,t){e.isMuted!==t.isMuted&&(t.isMuted?this.muteAllAudioTracks():this.unmuteAllAudioTracks())}muteAllAudioTracks(){var e;null===(e=this.inputAudioStream)||void 0===e||e.getAudioTracks().forEach((e=>{e.enabled=!1}))}unmuteAllAudioTracks(){var e;null===(e=this.inputAudioStream)||void 0===e||e.getAudioTracks().forEach((e=>{e.enabled=!0}))}muteInputAudio(){const e=this.inputAudioState,t=Object.assign(Object.assign({},this.inputAudioState),{isMuted:!0});return this.inputAudioState=t,this.onInputAudioStateChange(e,t),this.inputAudioState}unmuteInputAudio(){const e=this.inputAudioState,t=Object.assign(Object.assign({},this.inputAudioState),{isMuted:!1});return this.inputAudioState=t,this.onInputAudioStateChange(e,t),this.inputAudioState}getInputAudioState(){return this.inputAudioState}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({onMessageStreamEventCallback:e,onMessageHistoryUpdatedCallback:t,onReceiveMessageCallback:n,onConnectionEstablishedCallback:i,onConnectionClosedCallback:s,onInputAudioStreamStartCallback:o,onVideoStreamStartCallback:a,onVideoPlayStartedCallback:r,onAudioStreamStartCallback:l}){e&&this.messageHistoryClient.setOnMessageStreamEvent(e),t&&this.messageHistoryClient.setOnMessageHistoryUpdated(t),n&&(this.onReceiveMessageCallback=n),i&&(this.onConnectionEstablishedCallback=i),s&&(this.onConnectionClosedCallback=s),o&&(this.onInputAudioStreamStartCallback=o),a&&(this.onVideoStreamStartCallback=a),r&&(this.onVideoPlayStartedCallback=r),l&&(this.onAudioStreamStartCallback=l)}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 o.SignalMessageAction.ANSWER:const t=e.payload;yield this.peerConnection.setRemoteDescription(t),this.connectionReceivedAnswer=!0,this.flushRemoteIceCandidateBuffer();break;case o.SignalMessageAction.ICE_CANDIDATE:const n=e.payload,i=new RTCIceCandidate(n);this.connectionReceivedAnswer?yield this.peerConnection.addIceCandidate(i):this.remoteIceCandidateBuffer.push(i);break;case o.SignalMessageAction.END_SESSION:const s=e.payload;this.onConnectionClosedCallback&&this.onConnectionClosedCallback(s),this.shutdown();break;case o.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(s.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(s.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}});this.inputAudioState.isMuted&&this.muteAllAudioTracks();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=>{const t=JSON.parse(e.data);this.messageHistoryClient.processWebRtcTextMessageEvent(t)}}))}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.MessageRole=t.SignalMessageAction=void 0;var i=n(295);Object.defineProperty(t,"SignalMessageAction",{enumerable:!0,get:function(){return i.SignalMessageAction}});var s=n(822);Object.defineProperty(t,"MessageRole",{enumerable:!0,get:function(){return s.MessageRole}})},273:(e,t)=>{var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MessageRole=void 0,function(e){e.USER="user",e.PERSONA="persona"}(n||(t.MessageRole=n={}))},822:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MessageRole=void 0;var i=n(273);Object.defineProperty(t,"MessageRole",{enumerable:!0,get:function(){return i.MessageRole}})},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 s=t[i];if(void 0!==s)return s.exports;var o=t[i]={exports:{}};return e[i].call(o.exports,o,o.exports,n),o.exports}(440)})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anam-ai/js-sdk",
3
- "version": "1.3.0-alpha.1",
3
+ "version": "1.3.0-alpha.3",
4
4
  "description": "Client side JavaScript SDK for Anam AI",
5
5
  "author": "Anam AI",
6
6
  "main": "dist/main/index.js",
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextMessageEvent.js","sourceRoot":"","sources":["../../../../src/types/streaming/TextMessageEvent.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=TextMessageEvent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextMessageEvent.js","sourceRoot":"","sources":["../../../../src/types/streaming/TextMessageEvent.ts"],"names":[],"mappings":""}