@anam-ai/js-sdk 4.8.0-alpha.sam.1 → 4.8.0-alpha.sam.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main/AnamClient.d.ts +1 -1
- package/dist/main/AnamClient.d.ts.map +1 -1
- package/dist/main/AnamClient.js +1 -1
- package/dist/main/AnamClient.js.map +1 -1
- package/dist/main/modules/{ThoughtHistoryClient.d.ts → ReasoningHistoryClient.d.ts} +4 -4
- package/dist/main/modules/ReasoningHistoryClient.d.ts.map +1 -0
- package/dist/main/modules/ReasoningHistoryClient.js +46 -0
- package/dist/main/modules/ReasoningHistoryClient.js.map +1 -0
- package/dist/main/modules/index.d.ts +1 -1
- package/dist/main/modules/index.d.ts.map +1 -1
- package/dist/main/modules/index.js +3 -3
- package/dist/main/modules/index.js.map +1 -1
- package/dist/main/types/events/internal/InternalEvent.d.ts +1 -1
- package/dist/main/types/events/internal/InternalEvent.d.ts.map +1 -1
- package/dist/main/types/events/internal/InternalEvent.js +1 -1
- package/dist/main/types/events/internal/InternalEvent.js.map +1 -1
- package/dist/main/types/events/internal/InternalEventCallbacks.d.ts +2 -1
- package/dist/main/types/events/internal/InternalEventCallbacks.d.ts.map +1 -1
- package/dist/main/types/events/public/AnamEvent.d.ts +2 -2
- package/dist/main/types/events/public/AnamEvent.d.ts.map +1 -1
- package/dist/main/types/events/public/AnamEvent.js +2 -2
- package/dist/main/types/events/public/AnamEvent.js.map +1 -1
- package/dist/main/types/events/public/EventCallbacks.d.ts +3 -1
- package/dist/main/types/events/public/EventCallbacks.d.ts.map +1 -1
- package/dist/main/types/messageHistory/ReasoningMessage.d.ts +6 -0
- package/dist/main/types/messageHistory/ReasoningMessage.d.ts.map +1 -0
- package/dist/main/types/messageHistory/{Thought.js → ReasoningMessage.js} +1 -1
- package/dist/main/types/messageHistory/ReasoningMessage.js.map +1 -0
- package/dist/main/types/messageHistory/ReasoningStreamEvent.d.ts +7 -0
- package/dist/main/types/messageHistory/ReasoningStreamEvent.d.ts.map +1 -0
- package/dist/main/types/messageHistory/{ThoughtStreamEvent.js → ReasoningStreamEvent.js} +1 -1
- package/dist/main/types/messageHistory/ReasoningStreamEvent.js.map +1 -0
- package/dist/main/types/messageHistory/index.d.ts +2 -2
- package/dist/main/types/messageHistory/index.d.ts.map +1 -1
- package/dist/module/AnamClient.d.ts +65 -0
- package/dist/module/AnamClient.d.ts.map +1 -0
- package/dist/module/AnamClient.js +462 -0
- package/dist/module/AnamClient.js.map +1 -0
- package/dist/module/index.d.ts +26 -0
- package/dist/module/index.d.ts.map +1 -0
- package/dist/module/index.js +27 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/lib/ClientError.d.ts +19 -0
- package/dist/module/lib/ClientError.d.ts.map +1 -0
- package/dist/module/lib/ClientError.js +30 -0
- package/dist/module/lib/ClientError.js.map +1 -0
- package/dist/module/lib/ClientMetrics.d.ts +59 -0
- package/dist/module/lib/ClientMetrics.d.ts.map +1 -0
- package/dist/module/lib/ClientMetrics.js +305 -0
- package/dist/module/lib/ClientMetrics.js.map +1 -0
- package/dist/module/lib/constants.d.ts +10 -0
- package/dist/module/lib/constants.d.ts.map +1 -0
- package/dist/module/lib/constants.js +11 -0
- package/dist/module/lib/constants.js.map +1 -0
- package/dist/module/lib/correlationId.d.ts +2 -0
- package/dist/module/lib/correlationId.d.ts.map +1 -0
- package/dist/module/lib/correlationId.js +9 -0
- package/dist/module/lib/correlationId.js.map +1 -0
- package/dist/module/lib/validateApiGatewayConfig.d.ts +8 -0
- package/dist/module/lib/validateApiGatewayConfig.d.ts.map +1 -0
- package/dist/module/lib/validateApiGatewayConfig.js +31 -0
- package/dist/module/lib/validateApiGatewayConfig.js.map +1 -0
- package/dist/module/lib/version.d.ts +3 -0
- package/dist/module/lib/version.d.ts.map +1 -0
- package/dist/module/lib/version.js +3 -0
- package/dist/module/lib/version.js.map +1 -0
- package/dist/module/modules/CoreApiRestClient.d.ts +18 -0
- package/dist/module/modules/CoreApiRestClient.d.ts.map +1 -0
- package/dist/module/modules/CoreApiRestClient.js +149 -0
- package/dist/module/modules/CoreApiRestClient.js.map +1 -0
- package/dist/module/modules/EngineApiRestClient.d.ts +9 -0
- package/dist/module/modules/EngineApiRestClient.d.ts.map +1 -0
- package/dist/module/modules/EngineApiRestClient.js +56 -0
- package/dist/module/modules/EngineApiRestClient.js.map +1 -0
- package/dist/module/modules/InternalEventEmitter.d.ts +9 -0
- package/dist/module/modules/InternalEventEmitter.d.ts.map +1 -0
- package/dist/module/modules/InternalEventEmitter.js +24 -0
- package/dist/module/modules/InternalEventEmitter.js.map +1 -0
- package/dist/module/modules/MessageHistoryClient.d.ts +13 -0
- package/dist/module/modules/MessageHistoryClient.d.ts.map +1 -0
- package/dist/module/modules/MessageHistoryClient.js +66 -0
- package/dist/module/modules/MessageHistoryClient.js.map +1 -0
- package/dist/module/modules/PublicEventEmitter.d.ts +9 -0
- package/dist/module/modules/PublicEventEmitter.d.ts.map +1 -0
- package/dist/module/modules/PublicEventEmitter.js +33 -0
- package/dist/module/modules/PublicEventEmitter.js.map +1 -0
- package/dist/module/modules/ReasoningHistoryClient.d.ts +10 -0
- package/dist/module/modules/ReasoningHistoryClient.d.ts.map +1 -0
- package/dist/module/modules/ReasoningHistoryClient.js +42 -0
- package/dist/module/modules/ReasoningHistoryClient.js.map +1 -0
- package/dist/module/modules/SignallingClient.d.ts +34 -0
- package/dist/module/modules/SignallingClient.d.ts.map +1 -0
- package/dist/module/modules/SignallingClient.js +251 -0
- package/dist/module/modules/SignallingClient.js.map +1 -0
- package/dist/module/modules/StreamingClient.d.ts +81 -0
- package/dist/module/modules/StreamingClient.d.ts.map +1 -0
- package/dist/module/modules/StreamingClient.js +706 -0
- package/dist/module/modules/StreamingClient.js.map +1 -0
- package/dist/module/modules/ToolCallManager.d.ts +8 -0
- package/dist/module/modules/ToolCallManager.d.ts.map +1 -0
- package/dist/module/modules/ToolCallManager.js +17 -0
- package/dist/module/modules/ToolCallManager.js.map +1 -0
- package/dist/module/modules/index.d.ts +10 -0
- package/dist/module/modules/index.d.ts.map +1 -0
- package/dist/module/modules/index.js +10 -0
- package/dist/module/modules/index.js.map +1 -0
- package/dist/module/types/AgentAudioInputStream.d.ts +28 -0
- package/dist/module/types/AgentAudioInputStream.d.ts.map +1 -0
- package/dist/module/types/AgentAudioInputStream.js +50 -0
- package/dist/module/types/AgentAudioInputStream.js.map +1 -0
- package/dist/module/types/AnamClientOptions.d.ts +4 -0
- package/dist/module/types/AnamClientOptions.d.ts.map +1 -0
- package/dist/module/types/AnamClientOptions.js +2 -0
- package/dist/module/types/AnamClientOptions.js.map +1 -0
- package/dist/module/types/AnamInternalClientOptions.d.ts +4 -0
- package/dist/module/types/AnamInternalClientOptions.d.ts.map +1 -0
- package/dist/module/types/AnamInternalClientOptions.js +2 -0
- package/dist/module/types/AnamInternalClientOptions.js.map +1 -0
- package/dist/module/types/AnamPublicClientOptions.d.ts +20 -0
- package/dist/module/types/AnamPublicClientOptions.d.ts.map +1 -0
- package/dist/module/types/AnamPublicClientOptions.js +2 -0
- package/dist/module/types/AnamPublicClientOptions.js.map +1 -0
- package/dist/module/types/ApiGatewayConfig.d.ts +45 -0
- package/dist/module/types/ApiGatewayConfig.d.ts.map +1 -0
- package/dist/module/types/ApiGatewayConfig.js +2 -0
- package/dist/module/types/ApiGatewayConfig.js.map +1 -0
- package/dist/module/types/InputAudioState.d.ts +11 -0
- package/dist/module/types/InputAudioState.d.ts.map +1 -0
- package/dist/module/types/InputAudioState.js +8 -0
- package/dist/module/types/InputAudioState.js.map +1 -0
- package/dist/module/types/PersonaConfig.d.ts +13 -0
- package/dist/module/types/PersonaConfig.d.ts.map +1 -0
- package/dist/module/types/PersonaConfig.js +4 -0
- package/dist/module/types/PersonaConfig.js.map +1 -0
- package/dist/module/types/TalkMessageStream.d.ts +18 -0
- package/dist/module/types/TalkMessageStream.d.ts.map +1 -0
- package/dist/module/types/TalkMessageStream.js +89 -0
- package/dist/module/types/TalkMessageStream.js.map +1 -0
- package/dist/module/types/TalkMessageStreamState.d.ts +7 -0
- package/dist/module/types/TalkMessageStreamState.d.ts.map +1 -0
- package/dist/module/types/TalkMessageStreamState.js +8 -0
- package/dist/module/types/TalkMessageStreamState.js.map +1 -0
- package/dist/module/types/VoiceDetectionOptions.d.ts +4 -0
- package/dist/module/types/VoiceDetectionOptions.d.ts.map +1 -0
- package/dist/module/types/VoiceDetectionOptions.js +2 -0
- package/dist/module/types/VoiceDetectionOptions.js.map +1 -0
- package/dist/module/types/coreApi/ApiOptions.d.ts +7 -0
- package/dist/module/types/coreApi/ApiOptions.d.ts.map +1 -0
- package/dist/module/types/coreApi/ApiOptions.js +2 -0
- package/dist/module/types/coreApi/ApiOptions.js.map +1 -0
- package/dist/module/types/coreApi/StartSessionOptions.d.ts +5 -0
- package/dist/module/types/coreApi/StartSessionOptions.d.ts.map +1 -0
- package/dist/module/types/coreApi/StartSessionOptions.js +2 -0
- package/dist/module/types/coreApi/StartSessionOptions.js.map +1 -0
- package/dist/module/types/coreApi/StartSessionResponse.d.ts +13 -0
- package/dist/module/types/coreApi/StartSessionResponse.d.ts.map +1 -0
- package/dist/module/types/coreApi/StartSessionResponse.js +2 -0
- package/dist/module/types/coreApi/StartSessionResponse.js.map +1 -0
- package/dist/module/types/coreApi/index.d.ts +5 -0
- package/dist/module/types/coreApi/index.d.ts.map +1 -0
- package/dist/module/types/coreApi/index.js +2 -0
- package/dist/module/types/coreApi/index.js.map +1 -0
- package/dist/module/types/engineApi/EngineApiRestClientOptions.d.ts +4 -0
- package/dist/module/types/engineApi/EngineApiRestClientOptions.d.ts.map +1 -0
- package/dist/module/types/engineApi/EngineApiRestClientOptions.js +2 -0
- package/dist/module/types/engineApi/EngineApiRestClientOptions.js.map +1 -0
- package/dist/module/types/engineApi/index.d.ts +1 -0
- package/dist/module/types/engineApi/index.d.ts.map +1 -0
- package/dist/module/types/engineApi/index.js +2 -0
- package/dist/module/types/engineApi/index.js.map +1 -0
- package/dist/module/types/events/EventCallback.d.ts +2 -0
- package/dist/module/types/events/EventCallback.d.ts.map +1 -0
- package/dist/module/types/events/EventCallback.js +2 -0
- package/dist/module/types/events/EventCallback.js.map +1 -0
- package/dist/module/types/events/index.d.ts +7 -0
- package/dist/module/types/events/index.d.ts.map +1 -0
- package/dist/module/types/events/index.js +4 -0
- package/dist/module/types/events/index.js.map +1 -0
- package/dist/module/types/events/internal/InternalEvent.d.ts +8 -0
- package/dist/module/types/events/internal/InternalEvent.d.ts.map +1 -0
- package/dist/module/types/events/internal/InternalEvent.js +9 -0
- package/dist/module/types/events/internal/InternalEvent.js.map +1 -0
- package/dist/module/types/events/internal/InternalEventCallbacks.d.ts +9 -0
- package/dist/module/types/events/internal/InternalEventCallbacks.d.ts.map +1 -0
- package/dist/module/types/events/internal/InternalEventCallbacks.js +2 -0
- package/dist/module/types/events/internal/InternalEventCallbacks.js.map +1 -0
- package/dist/module/types/events/public/AnamEvent.d.ts +21 -0
- package/dist/module/types/events/public/AnamEvent.d.ts.map +1 -0
- package/dist/module/types/events/public/AnamEvent.js +22 -0
- package/dist/module/types/events/public/AnamEvent.js.map +1 -0
- package/dist/module/types/events/public/ConnectionClosedCodes.d.ts +8 -0
- package/dist/module/types/events/public/ConnectionClosedCodes.d.ts.map +1 -0
- package/dist/module/types/events/public/ConnectionClosedCodes.js +9 -0
- package/dist/module/types/events/public/ConnectionClosedCodes.js.map +1 -0
- package/dist/module/types/events/public/EventCallbacks.d.ts +23 -0
- package/dist/module/types/events/public/EventCallbacks.d.ts.map +1 -0
- package/dist/module/types/events/public/EventCallbacks.js +2 -0
- package/dist/module/types/events/public/EventCallbacks.js.map +1 -0
- package/dist/module/types/index.d.ts +18 -0
- package/dist/module/types/index.d.ts.map +1 -0
- package/dist/module/types/index.js +9 -0
- package/dist/module/types/index.js.map +1 -0
- package/dist/module/types/messageHistory/Message.d.ts +8 -0
- package/dist/module/types/messageHistory/Message.d.ts.map +1 -0
- package/dist/module/types/messageHistory/Message.js +2 -0
- package/dist/module/types/messageHistory/Message.js.map +1 -0
- package/dist/module/types/messageHistory/MessageRole.d.ts +5 -0
- package/dist/module/types/messageHistory/MessageRole.d.ts.map +1 -0
- package/dist/module/types/messageHistory/MessageRole.js +6 -0
- package/dist/module/types/messageHistory/MessageRole.js.map +1 -0
- package/dist/module/types/messageHistory/MessageStreamEvent.d.ts +9 -0
- package/dist/module/types/messageHistory/MessageStreamEvent.d.ts.map +1 -0
- package/dist/module/types/messageHistory/MessageStreamEvent.js +2 -0
- package/dist/module/types/messageHistory/MessageStreamEvent.js.map +1 -0
- package/dist/module/types/messageHistory/ReasoningMessage.d.ts +6 -0
- package/dist/module/types/messageHistory/ReasoningMessage.d.ts.map +1 -0
- package/dist/module/types/messageHistory/ReasoningMessage.js +2 -0
- package/dist/module/types/messageHistory/ReasoningMessage.js.map +1 -0
- package/dist/module/types/messageHistory/ReasoningStreamEvent.d.ts +7 -0
- package/dist/module/types/messageHistory/ReasoningStreamEvent.d.ts.map +1 -0
- package/dist/module/types/messageHistory/ReasoningStreamEvent.js +2 -0
- package/dist/module/types/messageHistory/ReasoningStreamEvent.js.map +1 -0
- package/dist/module/types/messageHistory/index.d.ts +6 -0
- package/dist/module/types/messageHistory/index.d.ts.map +1 -0
- package/dist/module/types/messageHistory/index.js +2 -0
- package/dist/module/types/messageHistory/index.js.map +1 -0
- package/dist/module/types/signalling/AgentAudioInputConfig.d.ts +9 -0
- package/dist/module/types/signalling/AgentAudioInputConfig.d.ts.map +1 -0
- package/dist/module/types/signalling/AgentAudioInputConfig.js +2 -0
- package/dist/module/types/signalling/AgentAudioInputConfig.js.map +1 -0
- package/dist/module/types/signalling/AgentAudioInputPayload.d.ts +13 -0
- package/dist/module/types/signalling/AgentAudioInputPayload.d.ts.map +1 -0
- package/dist/module/types/signalling/AgentAudioInputPayload.js +2 -0
- package/dist/module/types/signalling/AgentAudioInputPayload.js.map +1 -0
- package/dist/module/types/signalling/SignalMessage.d.ts +19 -0
- package/dist/module/types/signalling/SignalMessage.d.ts.map +1 -0
- package/dist/module/types/signalling/SignalMessage.js +15 -0
- package/dist/module/types/signalling/SignalMessage.js.map +1 -0
- package/dist/module/types/signalling/SignallingClientOptions.d.ts +12 -0
- package/dist/module/types/signalling/SignallingClientOptions.d.ts.map +1 -0
- package/dist/module/types/signalling/SignallingClientOptions.js +2 -0
- package/dist/module/types/signalling/SignallingClientOptions.js.map +1 -0
- package/dist/module/types/signalling/TalkMessageStreamPayload.d.ts +7 -0
- package/dist/module/types/signalling/TalkMessageStreamPayload.d.ts.map +1 -0
- package/dist/module/types/signalling/TalkMessageStreamPayload.js +2 -0
- package/dist/module/types/signalling/TalkMessageStreamPayload.js.map +1 -0
- package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.d.ts +5 -0
- package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.d.ts.map +1 -0
- package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.js +7 -0
- package/dist/module/types/signalling/TalkStreamInterruptedSignalMessage.js.map +1 -0
- package/dist/module/types/signalling/index.d.ts +6 -0
- package/dist/module/types/signalling/index.d.ts.map +1 -0
- package/dist/module/types/signalling/index.js +2 -0
- package/dist/module/types/signalling/index.js.map +1 -0
- package/dist/module/types/streaming/ClientToolEvent.d.ts +10 -0
- package/dist/module/types/streaming/ClientToolEvent.d.ts.map +1 -0
- package/dist/module/types/streaming/ClientToolEvent.js +2 -0
- package/dist/module/types/streaming/ClientToolEvent.js.map +1 -0
- package/dist/module/types/streaming/DataChannelMessage.d.ts +6 -0
- package/dist/module/types/streaming/DataChannelMessage.d.ts.map +1 -0
- package/dist/module/types/streaming/DataChannelMessage.js +7 -0
- package/dist/module/types/streaming/DataChannelMessage.js.map +1 -0
- package/dist/module/types/streaming/InputAudioOptions.d.ts +8 -0
- package/dist/module/types/streaming/InputAudioOptions.d.ts.map +1 -0
- package/dist/module/types/streaming/InputAudioOptions.js +2 -0
- package/dist/module/types/streaming/InputAudioOptions.js.map +1 -0
- package/dist/module/types/streaming/StreamingClientOptions.d.ts +16 -0
- package/dist/module/types/streaming/StreamingClientOptions.d.ts.map +1 -0
- package/dist/module/types/streaming/StreamingClientOptions.js +2 -0
- package/dist/module/types/streaming/StreamingClientOptions.js.map +1 -0
- package/dist/module/types/streaming/WebRtcClientToolEvent.d.ts +11 -0
- package/dist/module/types/streaming/WebRtcClientToolEvent.d.ts.map +1 -0
- package/dist/module/types/streaming/WebRtcClientToolEvent.js +2 -0
- package/dist/module/types/streaming/WebRtcClientToolEvent.js.map +1 -0
- package/dist/module/types/streaming/WebRtcReasoningTextMessageEvent.d.ts +8 -0
- package/dist/module/types/streaming/WebRtcReasoningTextMessageEvent.d.ts.map +1 -0
- package/dist/module/types/streaming/WebRtcReasoningTextMessageEvent.js +2 -0
- package/dist/module/types/streaming/WebRtcReasoningTextMessageEvent.js.map +1 -0
- package/dist/module/types/streaming/WebRtcTextMessageEvent.d.ts +9 -0
- package/dist/module/types/streaming/WebRtcTextMessageEvent.d.ts.map +1 -0
- package/dist/module/types/streaming/WebRtcTextMessageEvent.js +2 -0
- package/dist/module/types/streaming/WebRtcTextMessageEvent.js.map +1 -0
- package/dist/module/types/streaming/index.d.ts +8 -0
- package/dist/module/types/streaming/index.d.ts.map +1 -0
- package/dist/module/types/streaming/index.js +2 -0
- package/dist/module/types/streaming/index.js.map +1 -0
- package/dist/umd/anam.js +2 -0
- package/dist/umd/anam.js.LICENSE.txt +8 -0
- package/package.json +1 -1
- package/dist/main/modules/ThoughtHistoryClient.d.ts.map +0 -1
- package/dist/main/modules/ThoughtHistoryClient.js +0 -34
- package/dist/main/modules/ThoughtHistoryClient.js.map +0 -1
- package/dist/main/types/messageHistory/Thought.d.ts +0 -5
- package/dist/main/types/messageHistory/Thought.d.ts.map +0 -1
- package/dist/main/types/messageHistory/Thought.js.map +0 -1
- package/dist/main/types/messageHistory/ThoughtStreamEvent.d.ts +0 -6
- package/dist/main/types/messageHistory/ThoughtStreamEvent.d.ts.map +0 -1
- package/dist/main/types/messageHistory/ThoughtStreamEvent.js.map +0 -1
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { ClientError, ErrorCode } from '../lib/ClientError';
|
|
11
|
+
import { CLIENT_METADATA, DEFAULT_API_BASE_URL, DEFAULT_API_VERSION, } from '../lib/constants';
|
|
12
|
+
import { isCustomPersonaConfig } from '../types/PersonaConfig';
|
|
13
|
+
export class CoreApiRestClient {
|
|
14
|
+
constructor(sessionToken, apiKey, options) {
|
|
15
|
+
if (!sessionToken && !apiKey) {
|
|
16
|
+
throw new Error('Either sessionToken or apiKey must be provided');
|
|
17
|
+
}
|
|
18
|
+
this.sessionToken = sessionToken || null;
|
|
19
|
+
this.apiKey = apiKey || null;
|
|
20
|
+
this.baseUrl = (options === null || options === void 0 ? void 0 : options.baseUrl) || DEFAULT_API_BASE_URL;
|
|
21
|
+
this.apiVersion = (options === null || options === void 0 ? void 0 : options.apiVersion) || DEFAULT_API_VERSION;
|
|
22
|
+
this.apiGatewayConfig = (options === null || options === void 0 ? void 0 : options.apiGateway) || undefined;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Builds URL and headers for a request, applying API Gateway configuration if enabled
|
|
26
|
+
*/
|
|
27
|
+
buildGatewayUrlAndHeaders(targetPath, baseHeaders) {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
if (((_a = this.apiGatewayConfig) === null || _a === void 0 ? void 0 : _a.enabled) && ((_b = this.apiGatewayConfig) === null || _b === void 0 ? void 0 : _b.baseUrl)) {
|
|
30
|
+
// Use gateway base URL with same endpoint path
|
|
31
|
+
const url = `${this.apiGatewayConfig.baseUrl}${targetPath}`;
|
|
32
|
+
// Add complete target URL header for gateway routing
|
|
33
|
+
const targetUrl = new URL(`${this.baseUrl}${targetPath}`);
|
|
34
|
+
const headers = Object.assign(Object.assign({}, baseHeaders), { 'X-Anam-Target-Url': targetUrl.href });
|
|
35
|
+
return { url, headers };
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
// Direct call to Anam API
|
|
39
|
+
return {
|
|
40
|
+
url: `${this.baseUrl}${targetPath}`,
|
|
41
|
+
headers: baseHeaders,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
startSession(personaConfig, sessionOptions) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
if (!this.sessionToken) {
|
|
48
|
+
if (!personaConfig) {
|
|
49
|
+
throw new ClientError('Persona configuration must be provided when using apiKey', ErrorCode.CLIENT_ERROR_CODE_VALIDATION_ERROR, 400);
|
|
50
|
+
}
|
|
51
|
+
this.sessionToken = yield this.unsafe_getSessionToken(personaConfig);
|
|
52
|
+
}
|
|
53
|
+
// Check if brainType is being used and log deprecation warning
|
|
54
|
+
if (personaConfig && 'brainType' in personaConfig) {
|
|
55
|
+
console.warn('Warning: brainType is deprecated and will be removed in a future version. Please use llmId instead.');
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const targetPath = `${this.apiVersion}/engine/session`;
|
|
59
|
+
const { url, headers } = this.buildGatewayUrlAndHeaders(targetPath, {
|
|
60
|
+
'Content-Type': 'application/json',
|
|
61
|
+
Authorization: `Bearer ${this.sessionToken}`,
|
|
62
|
+
});
|
|
63
|
+
const response = yield fetch(url, {
|
|
64
|
+
method: 'POST',
|
|
65
|
+
headers,
|
|
66
|
+
body: JSON.stringify({
|
|
67
|
+
personaConfig,
|
|
68
|
+
sessionOptions,
|
|
69
|
+
clientMetadata: CLIENT_METADATA,
|
|
70
|
+
}),
|
|
71
|
+
});
|
|
72
|
+
const data = yield response.json();
|
|
73
|
+
const errorCause = data.error;
|
|
74
|
+
switch (response.status) {
|
|
75
|
+
case 200:
|
|
76
|
+
case 201:
|
|
77
|
+
return data;
|
|
78
|
+
case 400:
|
|
79
|
+
throw new ClientError('Invalid request to start session', ErrorCode.CLIENT_ERROR_CODE_VALIDATION_ERROR, 400, { cause: data.message });
|
|
80
|
+
case 401:
|
|
81
|
+
throw new ClientError('Authentication failed when starting session', ErrorCode.CLIENT_ERROR_CODE_AUTHENTICATION_ERROR, 401, { cause: data.message });
|
|
82
|
+
case 402:
|
|
83
|
+
throw new ClientError('Please sign up for a plan to start a session', ErrorCode.CLIENT_ERROR_CODE_NO_PLAN_FOUND, 402, { cause: data.message });
|
|
84
|
+
case 403:
|
|
85
|
+
throw new ClientError('Authentication failed when starting session', ErrorCode.CLIENT_ERROR_CODE_AUTHENTICATION_ERROR, 403, { cause: data.message });
|
|
86
|
+
case 429:
|
|
87
|
+
if (errorCause === 'Concurrent session limit reached') {
|
|
88
|
+
throw new ClientError('Concurrency limit reached, please upgrade your plan', ErrorCode.CLIENT_ERROR_CODE_MAX_CONCURRENT_SESSIONS_REACHED, 429, { cause: data.message });
|
|
89
|
+
}
|
|
90
|
+
else if (errorCause === 'Spend cap reached') {
|
|
91
|
+
throw new ClientError('Spend cap reached, please upgrade your plan', ErrorCode.CLIENT_ERROR_CODE_SPEND_CAP_REACHED, 429, { cause: data.message });
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
throw new ClientError('Usage limit reached, please upgrade your plan', ErrorCode.CLIENT_ERROR_CODE_USAGE_LIMIT_REACHED, 429, { cause: data.message });
|
|
95
|
+
}
|
|
96
|
+
case 503:
|
|
97
|
+
throw new ClientError('There are no available personas, please try again later', ErrorCode.CLIENT_ERROR_CODE_SERVICE_BUSY, 503, { cause: data.message });
|
|
98
|
+
default:
|
|
99
|
+
throw new ClientError('Unknown error when starting session', ErrorCode.CLIENT_ERROR_CODE_SERVER_ERROR, 500, { cause: data.message });
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
if (error instanceof ClientError) {
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
106
|
+
throw new ClientError('Failed to start session', ErrorCode.CLIENT_ERROR_CODE_SERVER_ERROR, 500, { cause: error instanceof Error ? error.message : String(error) });
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
unsafe_getSessionToken(personaConfig) {
|
|
111
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
console.warn('Using unsecure method. This method should not be used in production.');
|
|
113
|
+
if (!this.apiKey) {
|
|
114
|
+
throw new Error('No apiKey provided');
|
|
115
|
+
}
|
|
116
|
+
// Check if brainType is being used and log deprecation warning
|
|
117
|
+
if (personaConfig && 'brainType' in personaConfig) {
|
|
118
|
+
console.warn('Warning: brainType is deprecated and will be removed in a future version. Please use llmId instead.');
|
|
119
|
+
}
|
|
120
|
+
let body = {
|
|
121
|
+
clientLabel: 'js-sdk-api-key',
|
|
122
|
+
};
|
|
123
|
+
if (isCustomPersonaConfig(personaConfig)) {
|
|
124
|
+
body = Object.assign(Object.assign({}, body), { personaConfig });
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
const targetPath = `${this.apiVersion}/auth/session-token`;
|
|
128
|
+
const { url, headers } = this.buildGatewayUrlAndHeaders(targetPath, {
|
|
129
|
+
'Content-Type': 'application/json',
|
|
130
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
131
|
+
});
|
|
132
|
+
const response = yield fetch(url, {
|
|
133
|
+
method: 'POST',
|
|
134
|
+
headers,
|
|
135
|
+
body: JSON.stringify(body),
|
|
136
|
+
});
|
|
137
|
+
const data = yield response.json();
|
|
138
|
+
return data.sessionToken;
|
|
139
|
+
}
|
|
140
|
+
catch (e) {
|
|
141
|
+
throw new Error('Failed to get session token');
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
getApiUrl() {
|
|
146
|
+
return `${this.baseUrl}${this.apiVersion}`;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=CoreApiRestClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoreApiRestClient.js","sourceRoot":"","sources":["../../../src/modules/CoreApiRestClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ApiGatewayConfig } from '../types/ApiGatewayConfig';
|
|
2
|
+
export declare class EngineApiRestClient {
|
|
3
|
+
private baseUrl;
|
|
4
|
+
private sessionId;
|
|
5
|
+
private apiGatewayConfig;
|
|
6
|
+
constructor(baseUrl: string, sessionId: string, apiGatewayConfig?: ApiGatewayConfig);
|
|
7
|
+
sendTalkCommand(content: string): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=EngineApiRestClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineApiRestClient.d.ts","sourceRoot":"","sources":["../../../src/modules/EngineApiRestClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAA+B;gBAGrD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB;IAOxB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAyC7D"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
export class EngineApiRestClient {
|
|
11
|
+
constructor(baseUrl, sessionId, apiGatewayConfig) {
|
|
12
|
+
this.baseUrl = baseUrl;
|
|
13
|
+
this.sessionId = sessionId;
|
|
14
|
+
this.apiGatewayConfig = apiGatewayConfig;
|
|
15
|
+
}
|
|
16
|
+
sendTalkCommand(content) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
try {
|
|
20
|
+
// Determine the URL and headers based on API Gateway configuration
|
|
21
|
+
let url;
|
|
22
|
+
let headers = {
|
|
23
|
+
'Content-Type': 'application/json',
|
|
24
|
+
};
|
|
25
|
+
const targetPath = `/talk`;
|
|
26
|
+
const queryString = `?session_id=${this.sessionId}`;
|
|
27
|
+
if (((_a = this.apiGatewayConfig) === null || _a === void 0 ? void 0 : _a.enabled) && ((_b = this.apiGatewayConfig) === null || _b === void 0 ? void 0 : _b.baseUrl)) {
|
|
28
|
+
// Use gateway base URL with same endpoint path
|
|
29
|
+
url = `${this.apiGatewayConfig.baseUrl}${targetPath}${queryString}`;
|
|
30
|
+
// Add complete target URL header for gateway routing
|
|
31
|
+
const targetUrl = new URL(`${this.baseUrl}${targetPath}${queryString}`);
|
|
32
|
+
headers['X-Anam-Target-Url'] = targetUrl.href;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
// Direct call to Anam engine
|
|
36
|
+
url = `${this.baseUrl}${targetPath}${queryString}`;
|
|
37
|
+
}
|
|
38
|
+
const response = yield fetch(url, {
|
|
39
|
+
method: 'POST',
|
|
40
|
+
headers,
|
|
41
|
+
body: JSON.stringify({
|
|
42
|
+
content,
|
|
43
|
+
}),
|
|
44
|
+
});
|
|
45
|
+
if (!response.ok) {
|
|
46
|
+
throw new Error(`Failed to send talk command: ${response.status} ${response.statusText}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.error(error);
|
|
51
|
+
throw new Error('EngineApiRestClient - sendTalkCommand: Failed to send talk command');
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=EngineApiRestClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineApiRestClient.js","sourceRoot":"","sources":["../../../src/modules/EngineApiRestClient.ts"],"names":[],"mappings":";;;;;;;;;AAEA,MAAM,OAAO,mBAAmB;IAK9B,YACE,OAAe,EACf,SAAiB,EACjB,gBAAmC;QAEnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAEY,eAAe,CAAC,OAAe;;;YAC1C,IAAI,CAAC;gBACH,mEAAmE;gBACnE,IAAI,GAAW,CAAC;gBAChB,IAAI,OAAO,GAA2B;oBACpC,cAAc,EAAE,kBAAkB;iBACnC,CAAC;gBAEF,MAAM,UAAU,GAAG,OAAO,CAAC;gBAC3B,MAAM,WAAW,GAAG,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC;gBAEpD,IAAI,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,OAAO,MAAI,MAAA,IAAI,CAAC,gBAAgB,0CAAE,OAAO,CAAA,EAAE,CAAC;oBACrE,+CAA+C;oBAC/C,GAAG,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC;oBACpE,qDAAqD;oBACrD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC,CAAC;oBACxE,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,6BAA6B;oBAC7B,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC;gBACrD,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBAChC,MAAM,EAAE,MAAM;oBACd,OAAO;oBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,OAAO;qBACR,CAAC;iBACH,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACzE,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InternalEvent, InternalEventCallbacks } from '../types';
|
|
2
|
+
export declare class InternalEventEmitter {
|
|
3
|
+
private listeners;
|
|
4
|
+
constructor();
|
|
5
|
+
addListener<K extends InternalEvent>(event: K, callback: InternalEventCallbacks[K]): void;
|
|
6
|
+
removeListener<K extends InternalEvent>(event: K, callback: InternalEventCallbacks[K]): void;
|
|
7
|
+
emit<K extends InternalEvent>(event: K, ...args: InternalEventCallbacks[K] extends (...args: infer P) => any ? P : never): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=InternalEventEmitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/modules/InternalEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEjE,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAEV;;IAIA,WAAW,CAAC,CAAC,SAAS,aAAa,EACxC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAClC,IAAI;IASA,cAAc,CAAC,CAAC,SAAS,aAAa,EAC3C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAClC,IAAI;IAKA,IAAI,CAAC,CAAC,SAAS,aAAa,EACjC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAChE,CAAC,GACD,KAAK,GACR,IAAI;CAQR"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export class InternalEventEmitter {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.listeners = {};
|
|
4
|
+
}
|
|
5
|
+
addListener(event, callback) {
|
|
6
|
+
if (!this.listeners[event]) {
|
|
7
|
+
this.listeners[event] = new Set();
|
|
8
|
+
}
|
|
9
|
+
this.listeners[event].add(callback);
|
|
10
|
+
}
|
|
11
|
+
removeListener(event, callback) {
|
|
12
|
+
if (!this.listeners[event])
|
|
13
|
+
return;
|
|
14
|
+
this.listeners[event].delete(callback);
|
|
15
|
+
}
|
|
16
|
+
emit(event, ...args) {
|
|
17
|
+
if (!this.listeners[event])
|
|
18
|
+
return;
|
|
19
|
+
this.listeners[event].forEach((callback) => {
|
|
20
|
+
callback(...args);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=InternalEventEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalEventEmitter.js","sourceRoot":"","sources":["../../../src/modules/InternalEventEmitter.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,oBAAoB;IAK/B;QAJQ,cAAS,GAEb,EAAE,CAAC;IAEQ,CAAC;IAET,WAAW,CAChB,KAAQ,EACR,QAAmC;QAEnC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAoC,GAAG,IAAI,GAAG,EAEhE,CAAC;QACN,CAAC;QACA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAoC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAEM,cAAc,CACnB,KAAQ,EACR,QAAmC;QAEnC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAoC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAEM,IAAI,CACT,KAAQ,EACR,GAAG,IAEM;QAET,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAoC,CAAC,OAAO,CAC/D,CAAC,QAAQ,EAAE,EAAE;YACV,QAAqC,CAAC,GAAG,IAAI,CAAC,CAAC;QAClD,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WebRtcTextMessageEvent } from '../types';
|
|
2
|
+
import { PublicEventEmitter, InternalEventEmitter } from '.';
|
|
3
|
+
export declare class MessageHistoryClient {
|
|
4
|
+
private publicEventEmitter;
|
|
5
|
+
private internalEventEmitter;
|
|
6
|
+
private messages;
|
|
7
|
+
constructor(publicEventEmitter: PublicEventEmitter, internalEventEmitter: InternalEventEmitter);
|
|
8
|
+
private webRtcTextMessageEventToMessageStreamEvent;
|
|
9
|
+
private processUserMessage;
|
|
10
|
+
private processPersonaMessage;
|
|
11
|
+
processWebRtcTextMessageEvent(event: WebRtcTextMessageEvent): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=MessageHistoryClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageHistoryClient.d.ts","sourceRoot":"","sources":["../../../src/modules/MessageHistoryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAKvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,GAAG,CAAC;AAC7D,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,oBAAoB,CAAuB;IAEnD,OAAO,CAAC,QAAQ,CAAiB;gBAG/B,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB;IAW5C,OAAO,CAAC,0CAA0C;IAYlD,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,qBAAqB;IAyBtB,6BAA6B,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAwB1E"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { MessageRole, InternalEvent, AnamEvent, } from '../types';
|
|
2
|
+
export class MessageHistoryClient {
|
|
3
|
+
constructor(publicEventEmitter, internalEventEmitter) {
|
|
4
|
+
this.messages = [];
|
|
5
|
+
this.publicEventEmitter = publicEventEmitter;
|
|
6
|
+
this.internalEventEmitter = internalEventEmitter;
|
|
7
|
+
// register for events
|
|
8
|
+
this.internalEventEmitter.addListener(InternalEvent.WEBRTC_CHAT_MESSAGE_RECEIVED, this.processWebRtcTextMessageEvent.bind(this));
|
|
9
|
+
}
|
|
10
|
+
webRtcTextMessageEventToMessageStreamEvent(event) {
|
|
11
|
+
return {
|
|
12
|
+
id: `${event.role}::${event.message_id}`, // id is the same for persona and user for a single question response, so we need to differentiate them
|
|
13
|
+
content: event.content,
|
|
14
|
+
role: event.role,
|
|
15
|
+
endOfSpeech: event.end_of_speech,
|
|
16
|
+
interrupted: event.interrupted,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
processUserMessage(messageEvent) {
|
|
20
|
+
// each user message is added directly to the history
|
|
21
|
+
// user messages can not be interrupted
|
|
22
|
+
const userMessage = {
|
|
23
|
+
id: messageEvent.id,
|
|
24
|
+
content: messageEvent.content,
|
|
25
|
+
role: messageEvent.role,
|
|
26
|
+
};
|
|
27
|
+
this.messages.push(userMessage);
|
|
28
|
+
}
|
|
29
|
+
processPersonaMessage(messageEvent) {
|
|
30
|
+
const personaMessage = {
|
|
31
|
+
id: messageEvent.id,
|
|
32
|
+
content: messageEvent.content,
|
|
33
|
+
role: messageEvent.role,
|
|
34
|
+
interrupted: messageEvent.interrupted,
|
|
35
|
+
};
|
|
36
|
+
// check for existing message in the history
|
|
37
|
+
const existingMessageIndex = this.messages.findIndex((m) => m.id === personaMessage.id);
|
|
38
|
+
if (existingMessageIndex !== -1) {
|
|
39
|
+
const existingMessage = this.messages[existingMessageIndex];
|
|
40
|
+
// update the existing message
|
|
41
|
+
this.messages[existingMessageIndex] = Object.assign(Object.assign({}, existingMessage), { content: existingMessage.content + personaMessage.content, interrupted: existingMessage.interrupted || personaMessage.interrupted });
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
// add the new persona message to the history
|
|
45
|
+
this.messages.push(personaMessage);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
processWebRtcTextMessageEvent(event) {
|
|
49
|
+
const messageStreamEvent = this.webRtcTextMessageEventToMessageStreamEvent(event);
|
|
50
|
+
// pass to callback stream
|
|
51
|
+
this.publicEventEmitter.emit(AnamEvent.MESSAGE_STREAM_EVENT_RECEIVED, messageStreamEvent);
|
|
52
|
+
// update the message history
|
|
53
|
+
switch (messageStreamEvent.role) {
|
|
54
|
+
case MessageRole.USER:
|
|
55
|
+
this.processUserMessage(messageStreamEvent);
|
|
56
|
+
break;
|
|
57
|
+
case MessageRole.PERSONA:
|
|
58
|
+
this.processPersonaMessage(messageStreamEvent);
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
if (messageStreamEvent.endOfSpeech) {
|
|
62
|
+
this.publicEventEmitter.emit(AnamEvent.MESSAGE_HISTORY_UPDATED, this.messages);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=MessageHistoryClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageHistoryClient.js","sourceRoot":"","sources":["../../../src/modules/MessageHistoryClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AnamEvent, EventCallbacks } from '../types';
|
|
2
|
+
export declare class PublicEventEmitter {
|
|
3
|
+
private listeners;
|
|
4
|
+
constructor();
|
|
5
|
+
addListener<K extends AnamEvent>(event: K, callback: EventCallbacks[K]): void;
|
|
6
|
+
removeListener<K extends AnamEvent>(event: K, callback: EventCallbacks[K]): void;
|
|
7
|
+
emit<K extends AnamEvent>(event: K, ...args: EventCallbacks[K] extends (...args: infer P) => any ? P : never): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=PublicEventEmitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublicEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/modules/PublicEventEmitter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAErD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAEV;;IAIA,WAAW,CAAC,CAAC,SAAS,SAAS,EACpC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,IAAI;IASA,cAAc,CAAC,CAAC,SAAS,SAAS,EACvC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,IAAI;IAKA,IAAI,CAAC,CAAC,SAAS,SAAS,EAC7B,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,GACvE,IAAI;CAuBR"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ClientMetricMeasurement, sendClientMetric, } from '../lib/ClientMetrics';
|
|
2
|
+
import { AnamEvent } from '../types';
|
|
3
|
+
export class PublicEventEmitter {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.listeners = {};
|
|
6
|
+
}
|
|
7
|
+
addListener(event, callback) {
|
|
8
|
+
if (!this.listeners[event]) {
|
|
9
|
+
this.listeners[event] = new Set();
|
|
10
|
+
}
|
|
11
|
+
this.listeners[event].add(callback);
|
|
12
|
+
}
|
|
13
|
+
removeListener(event, callback) {
|
|
14
|
+
if (!this.listeners[event])
|
|
15
|
+
return;
|
|
16
|
+
this.listeners[event].delete(callback);
|
|
17
|
+
}
|
|
18
|
+
emit(event, ...args) {
|
|
19
|
+
if (event === AnamEvent.CONNECTION_ESTABLISHED) {
|
|
20
|
+
sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_CONNECTION_ESTABLISHED, '1');
|
|
21
|
+
}
|
|
22
|
+
if (event === AnamEvent.CONNECTION_CLOSED) {
|
|
23
|
+
const [closeCode, details] = args;
|
|
24
|
+
sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_CONNECTION_CLOSED, closeCode, details ? { details: details } : undefined);
|
|
25
|
+
}
|
|
26
|
+
if (!this.listeners[event])
|
|
27
|
+
return;
|
|
28
|
+
this.listeners[event].forEach((callback) => {
|
|
29
|
+
callback(...args);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=PublicEventEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublicEventEmitter.js","sourceRoot":"","sources":["../../../src/modules/PublicEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAkB,MAAM,UAAU,CAAC;AAErD,MAAM,OAAO,kBAAkB;IAK7B;QAJQ,cAAS,GAEb,EAAE,CAAC;IAEQ,CAAC;IAET,WAAW,CAChB,KAAQ,EACR,QAA2B;QAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAuC,GAAG,IAAI,GAAG,EAEnE,CAAC;QACN,CAAC;QACA,IAAI,CAAC,SAAS,CAAC,KAAK,CAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEM,cAAc,CACnB,KAAQ,EACR,QAA2B;QAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;IAEM,IAAI,CACT,KAAQ,EACR,GAAG,IAAqE;QAExE,IAAI,KAAK,KAAK,SAAS,CAAC,sBAAsB,EAAE,CAAC;YAC/C,gBAAgB,CACd,uBAAuB,CAAC,gDAAgD,EACxE,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAC1C,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;YAClC,gBAAgB,CACd,uBAAuB,CAAC,2CAA2C,EACnE,SAAmB,EACnB,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAElC,IAAI,CAAC,SAAS,CAAC,KAAK,CAA4B,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpE,QAAqC,CAAC,GAAG,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PublicEventEmitter, InternalEventEmitter } from '.';
|
|
2
|
+
export declare class ReasoningHistoryClient {
|
|
3
|
+
private publicEventEmitter;
|
|
4
|
+
private internalEventEmitter;
|
|
5
|
+
private reasoning_messages;
|
|
6
|
+
constructor(publicEventEmitter: PublicEventEmitter, internalEventEmitter: InternalEventEmitter);
|
|
7
|
+
private webRtcTextMessageEventToReasoningStreamEvent;
|
|
8
|
+
private processWebRtcReasoningTextMessageEvent;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ReasoningHistoryClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReasoningHistoryClient.d.ts","sourceRoot":"","sources":["../../../src/modules/ReasoningHistoryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,GAAG,CAAC;AAS7D,qBAAa,sBAAsB;IACjC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,oBAAoB,CAAuB;IAEnD,OAAO,CAAC,kBAAkB,CAA0B;gBAElD,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB;IAW5C,OAAO,CAAC,4CAA4C;IAWpD,OAAO,CAAC,sCAAsC;CAqC/C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AnamEvent, InternalEvent, } from '../types';
|
|
2
|
+
export class ReasoningHistoryClient {
|
|
3
|
+
constructor(publicEventEmitter, internalEventEmitter) {
|
|
4
|
+
this.reasoning_messages = [];
|
|
5
|
+
this.publicEventEmitter = publicEventEmitter;
|
|
6
|
+
this.internalEventEmitter = internalEventEmitter;
|
|
7
|
+
// register for events
|
|
8
|
+
this.internalEventEmitter.addListener(InternalEvent.WEBRTC_REASONING_TEXT_MESSAGE_RECEIVED, this.processWebRtcReasoningTextMessageEvent.bind(this));
|
|
9
|
+
}
|
|
10
|
+
webRtcTextMessageEventToReasoningStreamEvent(event) {
|
|
11
|
+
return {
|
|
12
|
+
id: `${event.role}::${event.message_id}`,
|
|
13
|
+
content: event.content,
|
|
14
|
+
endOfThought: event.end_of_thought,
|
|
15
|
+
role: event.role,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
processWebRtcReasoningTextMessageEvent(event) {
|
|
19
|
+
const ReasoningStreamEvent = this.webRtcTextMessageEventToReasoningStreamEvent(event);
|
|
20
|
+
this.publicEventEmitter.emit(AnamEvent.REASONING_STREAM_EVENT_RECEIVED, ReasoningStreamEvent);
|
|
21
|
+
const message = {
|
|
22
|
+
id: ReasoningStreamEvent.id,
|
|
23
|
+
content: ReasoningStreamEvent.content,
|
|
24
|
+
role: ReasoningStreamEvent.role,
|
|
25
|
+
};
|
|
26
|
+
const existingMessageIndex = this.reasoning_messages.findIndex((m) => m.id === message.id);
|
|
27
|
+
if (existingMessageIndex !== -1) {
|
|
28
|
+
// update existing message
|
|
29
|
+
const existingMessage = this.reasoning_messages[existingMessageIndex];
|
|
30
|
+
existingMessage.content += message.content;
|
|
31
|
+
this.reasoning_messages[existingMessageIndex] = existingMessage;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// new message
|
|
35
|
+
this.reasoning_messages.push(message);
|
|
36
|
+
}
|
|
37
|
+
if (ReasoningStreamEvent.endOfThought) {
|
|
38
|
+
this.publicEventEmitter.emit(AnamEvent.REASONING_HISTORY_UPDATED, this.reasoning_messages);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=ReasoningHistoryClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReasoningHistoryClient.js","sourceRoot":"","sources":["../../../src/modules/ReasoningHistoryClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,aAAa,GAId,MAAM,UAAU,CAAC;AAElB,MAAM,OAAO,sBAAsB;IAKjC,YACE,kBAAsC,EACtC,oBAA0C;QAHpC,uBAAkB,GAAuB,EAAE,CAAC;QAKlD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,sBAAsB;QACtB,IAAI,CAAC,oBAAoB,CAAC,WAAW,CACnC,aAAa,CAAC,sCAAsC,EACpD,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvD,CAAC;IACJ,CAAC;IAEO,4CAA4C,CAClD,KAAsC;QAEtC,OAAO;YACL,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,UAAU,EAAE;YACxC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY,EAAE,KAAK,CAAC,cAAc;YAClC,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;IACJ,CAAC;IAEO,sCAAsC,CAC5C,KAAsC;QAEtC,MAAM,oBAAoB,GACxB,IAAI,CAAC,4CAA4C,CAAC,KAAK,CAAC,CAAC;QAE3D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,+BAA+B,EACzC,oBAAoB,CACrB,CAAC;QAEF,MAAM,OAAO,GAAqB;YAChC,EAAE,EAAE,oBAAoB,CAAC,EAAE;YAC3B,OAAO,EAAE,oBAAoB,CAAC,OAAO;YACrC,IAAI,EAAE,oBAAoB,CAAC,IAAI;SAChC,CAAC;QAEF,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAC5D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAC3B,CAAC;QACF,IAAI,oBAAoB,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,0BAA0B;YAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;YACtE,eAAe,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;YAC3C,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,eAAe,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,cAAc;YACd,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,oBAAoB,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,yBAAyB,EACnC,IAAI,CAAC,kBAAkB,CACxB,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { InternalEventEmitter, PublicEventEmitter } from '.';
|
|
2
|
+
import { SignallingClientOptions, ApiGatewayConfig, AgentAudioInputPayload } from '../types';
|
|
3
|
+
import { TalkMessageStreamPayload } from '../types/signalling/TalkMessageStreamPayload';
|
|
4
|
+
export declare class SignallingClient {
|
|
5
|
+
private publicEventEmitter;
|
|
6
|
+
private internalEventEmitter;
|
|
7
|
+
private url;
|
|
8
|
+
private sessionId;
|
|
9
|
+
private heartbeatIntervalSeconds;
|
|
10
|
+
private maxWsReconnectionAttempts;
|
|
11
|
+
private stopSignal;
|
|
12
|
+
private sendingBuffer;
|
|
13
|
+
private wsConnectionAttempts;
|
|
14
|
+
private socket;
|
|
15
|
+
private heartBeatIntervalRef;
|
|
16
|
+
private apiGatewayConfig;
|
|
17
|
+
constructor(sessionId: string, options: SignallingClientOptions, publicEventEmitter: PublicEventEmitter, internalEventEmitter: InternalEventEmitter, apiGatewayConfig?: ApiGatewayConfig);
|
|
18
|
+
stop(): void;
|
|
19
|
+
connect(): WebSocket;
|
|
20
|
+
sendOffer(localDescription: RTCSessionDescription): Promise<void>;
|
|
21
|
+
sendIceCandidate(candidate: RTCIceCandidate): Promise<void>;
|
|
22
|
+
private sendSignalMessage;
|
|
23
|
+
sendTalkMessage(payload: TalkMessageStreamPayload): Promise<void>;
|
|
24
|
+
sendAgentAudioInput(payload: AgentAudioInputPayload): void;
|
|
25
|
+
sendAgentAudioInputEnd(): void;
|
|
26
|
+
private closeSocket;
|
|
27
|
+
private onOpen;
|
|
28
|
+
private onClose;
|
|
29
|
+
private onError;
|
|
30
|
+
private flushSendingBuffer;
|
|
31
|
+
private onMessage;
|
|
32
|
+
private startSendingHeartBeats;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=SignallingClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignallingClient.d.ts","sourceRoot":"","sources":["../../../src/modules/SignallingClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,GAAG,CAAC;AAC7D,OAAO,EAKL,uBAAuB,EAEvB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAKxF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,oBAAoB,CAA+C;IAC3E,OAAO,CAAC,gBAAgB,CAA+B;gBAGrD,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,CAAC,EAAE,gBAAgB;IAkE9B,IAAI;IAKJ,OAAO,IAAI,SAAS;IAQd,SAAS,CAAC,gBAAgB,EAAE,qBAAqB;IAajD,gBAAgB,CAAC,SAAS,EAAE,eAAe;IASxD,OAAO,CAAC,iBAAiB;IAeZ,eAAe,CAAC,OAAO,EAAE,wBAAwB;IASvD,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAS1D,sBAAsB,IAAI,IAAI;IASrC,OAAO,CAAC,WAAW;YAWL,MAAM;YAmBN,OAAO;IAsBrB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,kBAAkB;YAcZ,SAAS;IAQvB,OAAO,CAAC,sBAAsB;CA4B/B"}
|