@kaltura-sdk/avatars 1.14.0
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/README.md +1 -0
- package/index.d.ts +1 -0
- package/index.esm.js +24265 -0
- package/package.json +30 -0
- package/src/index.d.ts +5 -0
- package/src/lib/analytics.d.ts +27 -0
- package/src/lib/avatar-client-manager/avatar-client-manager.d.ts +174 -0
- package/src/lib/avatar-client-manager/index.d.ts +3 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/analytics/send-avatar-answer-analytics-event.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/analytics/send-avatar-conversation-started-analytics-event.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/append-avatar-chat-entry.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/append-user-chat-entry.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/append-user-text-entry.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/capture-user-mute-state-before-tap-to-talk.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/capture-user-mute-state.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/cleanup-rtc-and-set-peer-id.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/clear-caption-state.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/increment-agent-recovery-retry-count.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/increment-config-retry.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/log-agent-client-tool-call-result.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/log-agent-raw-text-message.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/log-analysis-ready-fallback.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/log-tap-to-talk-dropped.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/record-client-tool-call-log-entry.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/reset-agent-recovery-retry-count.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-agent-talking.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-caption-state.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-cast-mode.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-client-configuration.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-content-data.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-disconnect-data.d.ts +8 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-kaltura-context-is-active.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-peer-id.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-request-vars.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-screen-analysis-ready.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-screen-share-active.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-screen-share-stream.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-server-config.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-session-id.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-session-kickoff-required.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-tap-to-talk-active.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-tap-to-talk-button-visible.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-tap-to-talk-enabled.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-tap-to-talk-started-at.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-thread-id.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-user-agent-data.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/context/set-webrtc-url.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/external/publish-toggle-kaltura-context-active.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/notifications/show-agent-recovery-exhausted-notification.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/notifications/show-disconnect-notification.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/notifications/show-screen-share-error-notification.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/notifications/show-time-warning-notification.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/rtc/leave-asr.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/rtc/mute-asr.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/rtc/restore-mute-state-after-tap-to-talk.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/rtc/unmute-asr-for-tap-to-talk.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/rtc/unmute-asr.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/extend-pause-timeout.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-approved-permissions.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-ask-via-text.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-create-session.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-join-room.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-pause-conversation.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-reprocess-turn.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-resume-conversation.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-screen-share-pending.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-screen-share-started.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-screen-share-stopped.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-tap-to-talk-end.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-tap-to-talk-start.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/send-update-genie-context.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actions/server/toggle-tap-to-talk-mode.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/agent-recovery-monitor.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/connect-to-asr.d.ts +21 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/connect-web-socket.d.ts +11 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/destroy-connection.d.ts +6 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/get-user-agent-data.d.ts +7 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/get-user-media.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/init-rtc-session.d.ts +19 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-agent-client-tool-call.d.ts +10 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-agent-data.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-agent-raw-text.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-agent-start-speech.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-agent-talking.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-captions.d.ts +9 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-chat-log.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-conversation-ended.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-conversation-resumed.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-conversation-time-warning.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-error.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-init-response.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-join-room.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-kaltura-context-is-active-change.d.ts +7 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-pause-expiry-events.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-player-ready-state.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-resuming-session.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-screen-analysis-ready.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-server-connected.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-server-ready.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-session-created.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-session-kickoff-events.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-session-ready-for-resume.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-tap-to-talk-button-events.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/on-websocket-non-recovered-reconnect.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/resolve-server-config.d.ts +6 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/screen-capture-cycle.d.ts +7 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/actors/send-form-data.d.ts +11 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/avatar-connection-machine.d.ts +798 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/definitions.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/global-events.d.ts +3 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/had-avatar-type-in-turn.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/has-more-config-retries.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/has-more-recovery-retries.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/is-agent-talking.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/is-analysis-not-ready.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/is-captions-enabled.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/is-empty-agent-content.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/is-form-content.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/is-kaltura-context-enabled.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/is-session-kickoff-active.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/is-session-kickoff-requested.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/is-tap-to-talk-enabled.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/is-text-chat-enabled.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/just-exceeded-recovery-retries.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/should-create-websocket-connection.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/should-disable-tap-to-talk-mode.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/should-disconnect.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/should-enable-tap-to-talk-mode.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/should-show-device-permissions-denied.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/should-wait-before-purge.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/guards/should-wait-player-ready-state.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/index.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connected-state.d.ts +751 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connected-states/agent-recovery-monitor-state.d.ts +28 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connected-states/captions-state.d.ts +50 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connected-states/content-state.d.ts +21 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connected-states/conversation-state.d.ts +52 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connected-states/genie-intellect-state.d.ts +27 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connected-states/kaltura-context-state.d.ts +34 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connected-states/pause-lifecycle-state.d.ts +134 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connected-states/screen-sharing-state.d.ts +123 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connected-states/session-kickoff-state.d.ts +61 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connected-states/tap-to-talk-state.d.ts +153 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connected-states/text-communication-state.d.ts +49 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/connecting-state.d.ts +400 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/disconnected-state.d.ts +26 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/disconnecting-state.d.ts +54 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/error-state.d.ts +5 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/index.d.ts +6 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/states/preparing-state.d.ts +67 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/types/context.d.ts +90 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/types/events.d.ts +274 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/types/index.d.ts +26 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/types/input.d.ts +30 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/types/notifications.d.ts +4 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/types/schemas.d.ts +105 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/utils/agent-raw-text-blocks-creator.d.ts +32 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/utils/index.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/utils/resolve-active-kaltura-context.d.ts +2 -0
- package/src/lib/avatar-client-manager/machines/avatar-connection/utils/resolve-capabilities.d.ts +10 -0
- package/src/lib/avatar-client-manager/types.d.ts +4 -0
- package/src/lib/avatar-client-manager/utils/actor-manager.d.ts +54 -0
- package/src/lib/avatar-client-manager/utils/set-if-changed.d.ts +2 -0
- package/src/lib/server/avatar-rtc-client-manager.d.ts +104 -0
- package/src/lib/server/index.d.ts +2 -0
- package/src/lib/server/websocket-client-manager.d.ts +44 -0
- package/src/lib/timing-tracker.d.ts +158 -0
- package/src/lib/utils/create-tiny-pubsub-events-handler.d.ts +10 -0
- package/src/lib/utils/create-tiny-pubsub-events-source.d.ts +27 -0
- package/src/lib/utils/get-query-param.d.ts +4 -0
- package/src/lib/utils/index.d.ts +5 -0
- package/src/lib/utils/is-mobile-device.d.ts +8 -0
- package/src/lib/utils/logger-factory.d.ts +2 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { DisconnectReasons } from '@unisphere/genie-types';
|
|
2
|
+
export declare const preparingState: {
|
|
3
|
+
id: string;
|
|
4
|
+
initial: string;
|
|
5
|
+
states: {
|
|
6
|
+
resolvingConfig: {
|
|
7
|
+
invoke: {
|
|
8
|
+
src: "resolveServerConfig";
|
|
9
|
+
input: ({ context }: {
|
|
10
|
+
context: import("../types").AvatarConnectionMachineContext;
|
|
11
|
+
event: import("../types").AvatarConnectionMachineEvents;
|
|
12
|
+
self: import("xstate").ActorRef<import("xstate").MachineSnapshot<import("../types").AvatarConnectionMachineContext, import("../types").AvatarConnectionMachineEvents, Record<string, import("xstate").AnyActorRef>, import("xstate").StateValue, string, unknown, any, any>, import("../types").AvatarConnectionMachineEvents, import("xstate").AnyEventObject>;
|
|
13
|
+
}) => {
|
|
14
|
+
runtimeSettings: import("@unisphere/genie-types").AvatarRuntimeSettings;
|
|
15
|
+
logger: import("@unisphere/core").UnisphereLoggerType;
|
|
16
|
+
};
|
|
17
|
+
onDone: {
|
|
18
|
+
target: string;
|
|
19
|
+
actions: "setServerConfig";
|
|
20
|
+
};
|
|
21
|
+
onError: {
|
|
22
|
+
target: string;
|
|
23
|
+
actions: "incrementConfigRetry";
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
retryingConfig: {
|
|
28
|
+
always: ({
|
|
29
|
+
guard: "hasMoreConfigRetries";
|
|
30
|
+
target: string;
|
|
31
|
+
actions?: undefined;
|
|
32
|
+
} | {
|
|
33
|
+
actions: {
|
|
34
|
+
type: "setDisconnectData";
|
|
35
|
+
params: {
|
|
36
|
+
reason: DisconnectReasons;
|
|
37
|
+
error: Error;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
target: string;
|
|
41
|
+
guard?: undefined;
|
|
42
|
+
})[];
|
|
43
|
+
};
|
|
44
|
+
gettingUserAgentData: {
|
|
45
|
+
invoke: {
|
|
46
|
+
id: string;
|
|
47
|
+
src: "getUserAgentData";
|
|
48
|
+
input: ({ context }: {
|
|
49
|
+
context: import("../types").AvatarConnectionMachineContext;
|
|
50
|
+
event: import("../types").AvatarConnectionMachineEvents;
|
|
51
|
+
self: import("xstate").ActorRef<import("xstate").MachineSnapshot<import("../types").AvatarConnectionMachineContext, import("../types").AvatarConnectionMachineEvents, Record<string, import("xstate").AnyActorRef>, import("xstate").StateValue, string, unknown, any, any>, import("../types").AvatarConnectionMachineEvents, import("xstate").AnyEventObject>;
|
|
52
|
+
}) => {
|
|
53
|
+
logger: import("@unisphere/core").UnisphereLoggerType;
|
|
54
|
+
};
|
|
55
|
+
onDone: {
|
|
56
|
+
target: string;
|
|
57
|
+
actions: "setUserAgentData";
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
done: {
|
|
62
|
+
always: {
|
|
63
|
+
target: string;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { UnisphereLoggerType } from '@unisphere/core';
|
|
2
|
+
import { Notifications } from '@unisphere/notifications-core';
|
|
3
|
+
import { clientConfigurationSchema } from './schemas';
|
|
4
|
+
import { z } from 'zod/mini';
|
|
5
|
+
import { KalturaAnalyticsServiceType, PubSubServiceType } from '@unisphere/runtime';
|
|
6
|
+
import { AvatarRuntimeSettings, CaptionConfig, CaptionState, ClientToolCallLogEntry, DisconnectReasons, GenieCapabilities, ChatContext } from '@unisphere/genie-types';
|
|
7
|
+
import { ChatEntry, UnisphereChatBlock } from '@unisphere/genie-types';
|
|
8
|
+
import { AvatarClientToolsRegistry, GetAvatarClientToolHandler } from './input';
|
|
9
|
+
export interface AvatarConnectionMachineContext {
|
|
10
|
+
logger: UnisphereLoggerType;
|
|
11
|
+
clientToolsRegistry: AvatarClientToolsRegistry;
|
|
12
|
+
getClientToolHandler: GetAvatarClientToolHandler;
|
|
13
|
+
configRetryCount: number;
|
|
14
|
+
agentRecoveryRetryCount: number;
|
|
15
|
+
loadingVideoURL: string | null;
|
|
16
|
+
previewImageUrl: string | null;
|
|
17
|
+
externalInfo: {
|
|
18
|
+
runtimeSettings: AvatarRuntimeSettings;
|
|
19
|
+
stickyId?: string;
|
|
20
|
+
debugMode: boolean;
|
|
21
|
+
level: string;
|
|
22
|
+
waitPlayerReadyState: boolean;
|
|
23
|
+
kaltura: {
|
|
24
|
+
ks: string;
|
|
25
|
+
context?: ChatContext;
|
|
26
|
+
capabilities?: GenieCapabilities;
|
|
27
|
+
};
|
|
28
|
+
threadId?: string;
|
|
29
|
+
messageId?: string;
|
|
30
|
+
features?: {
|
|
31
|
+
screenShare?: boolean;
|
|
32
|
+
chat?: boolean;
|
|
33
|
+
captions?: boolean | CaptionConfig;
|
|
34
|
+
kickOffPhrase?: string;
|
|
35
|
+
};
|
|
36
|
+
serverUrl: string;
|
|
37
|
+
turnServerUrl: string;
|
|
38
|
+
srsBaseUrl: string;
|
|
39
|
+
clientId?: string;
|
|
40
|
+
roomId?: string;
|
|
41
|
+
flowId?: string;
|
|
42
|
+
noiseReductionEnabled?: boolean;
|
|
43
|
+
agentMode?: boolean;
|
|
44
|
+
isTapToTalk?: boolean;
|
|
45
|
+
};
|
|
46
|
+
kalturaContext: {
|
|
47
|
+
active: boolean;
|
|
48
|
+
};
|
|
49
|
+
dynamicVariables?: Record<string, unknown>;
|
|
50
|
+
/** @deprecated TODO sk consider to avoid saving entire service object inside the machine's context */
|
|
51
|
+
kalturaAnalyticsService: KalturaAnalyticsServiceType;
|
|
52
|
+
/** @deprecated TODO sk consider to avoid saving entire service object inside the machine's context */
|
|
53
|
+
pubSubService: PubSubServiceType;
|
|
54
|
+
externalActions: {
|
|
55
|
+
showNotification: (notification: Notifications) => void;
|
|
56
|
+
};
|
|
57
|
+
connectionId: string;
|
|
58
|
+
clientConfiguration: z.infer<typeof clientConfigurationSchema>['clientConfiguration'] | null;
|
|
59
|
+
peerId: string | null;
|
|
60
|
+
agentAnswersCount: number;
|
|
61
|
+
sessionId: string | null;
|
|
62
|
+
castMode: string | null;
|
|
63
|
+
webrtcUrl: string | null;
|
|
64
|
+
threadId: string | null;
|
|
65
|
+
content: UnisphereChatBlock | null;
|
|
66
|
+
chatLog: ChatEntry[];
|
|
67
|
+
clientToolCallLog: ClientToolCallLogEntry[];
|
|
68
|
+
pendingTextInputs: string[];
|
|
69
|
+
isAgentTalking: boolean;
|
|
70
|
+
userAgent: string;
|
|
71
|
+
userAgentHints: Record<string, string> | null;
|
|
72
|
+
isMobile: boolean;
|
|
73
|
+
screenShareActive: boolean;
|
|
74
|
+
screenShareStream: MediaStream | null;
|
|
75
|
+
screenAnalysisReady: boolean;
|
|
76
|
+
sessionKickOffRequired: boolean;
|
|
77
|
+
isTapToTalkEnabled: boolean;
|
|
78
|
+
isTapToTalkActive: boolean;
|
|
79
|
+
tapToTalkStartedAt: number | null;
|
|
80
|
+
isTapToTalkButtonVisible: boolean;
|
|
81
|
+
disconnectData: {
|
|
82
|
+
reason: DisconnectReasons;
|
|
83
|
+
error?: Error;
|
|
84
|
+
suppressNotification?: boolean;
|
|
85
|
+
skipDisconnect?: boolean;
|
|
86
|
+
} | null;
|
|
87
|
+
wasUserMutedBeforePause: boolean;
|
|
88
|
+
wasUserMutedBeforeTapToTalk: boolean;
|
|
89
|
+
captionState: CaptionState | null;
|
|
90
|
+
}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { DoneActorEvent, ErrorActorEvent } from 'xstate';
|
|
2
|
+
import { ChatEntry, UnisphereChatBlock } from '@unisphere/genie-types';
|
|
3
|
+
import { askPermissionsSchema, clientConfigurationSchema, conversationEndedSchema, conversationTimeWarningSchema, joinCompleteSchema, noAgentSchema, onServerConnectedSchema, showAgentSchema, showStartSpeechSchema, stvFinishedTalkingSchema, stvNewSessionSchema, stvStartedTalkingSchema } from './schemas';
|
|
4
|
+
import z from 'zod';
|
|
5
|
+
import { CaptionState, ClientToolCallLogEntry, DisconnectReasons } from '@unisphere/genie-types';
|
|
6
|
+
export declare enum AvatarConnectionMachineEventTypes {
|
|
7
|
+
Disconnect = "Disconnect",
|
|
8
|
+
WebsocketReconnected = "WebsocketReconnected",
|
|
9
|
+
WebsocketConnectionClosed = "WebsocketConnectionClosed",
|
|
10
|
+
ServerConnectedReceived = "ServerConnectedReceived",
|
|
11
|
+
ClientConfigurationReceived = "ClientConfigurationReceived",
|
|
12
|
+
JoinCompleteReceived = "JoinCompleteReceived",
|
|
13
|
+
SessionCreatedReceived = "SessionCreatedReceived",
|
|
14
|
+
ShowAgentReceived = "ShowAgentReceived",
|
|
15
|
+
NoAgentReceived = "NoAgentReceived",
|
|
16
|
+
ServerReadyReceived = "ServerReadyReceived",
|
|
17
|
+
ConversationEndedReceived = "ConversationEndedReceived",
|
|
18
|
+
PlayerReady = "PlayerReady",
|
|
19
|
+
SetContent = "SetContent",
|
|
20
|
+
AskViaText = "AskViaText",
|
|
21
|
+
AgentStartedTalkingReceived = "AgentStartedTalkingReceived",
|
|
22
|
+
AgentFinishedTalkingReceived = "AgentFinishedTalkingReceived",
|
|
23
|
+
ConversationTimeWarningReceived = "ConversationTimeWarningReceived",
|
|
24
|
+
AgentThreadIdReceived = "AgentThreadIdReceived",
|
|
25
|
+
AgentRawTextMessageCompleted = "AgentRawTextMessageCompleted",
|
|
26
|
+
AgentClientToolCallCompleted = "AgentClientToolCallCompleted",
|
|
27
|
+
AgentClientToolCallLogged = "AgentClientToolCallLogged",
|
|
28
|
+
AgentRecoveryTurnCompleted = "AgentRecoveryTurnCompleted",
|
|
29
|
+
RequestAgentTurnRecovery = "RequestAgentTurnRecovery",
|
|
30
|
+
AgentStartSpeechReceived = "AgentStartSpeechReceived",
|
|
31
|
+
AvatarChatEntryReceived = "AvatarChatEntryReceived",
|
|
32
|
+
UserVoiceTurnReceived = "UserVoiceTurnReceived",
|
|
33
|
+
StartScreenShare = "StartScreenShare",
|
|
34
|
+
StopScreenShare = "StopScreenShare",
|
|
35
|
+
ScreenShareEnded = "ScreenShareEnded",
|
|
36
|
+
ScreenShareError = "ScreenShareError",
|
|
37
|
+
ScreenShareStreamAcquired = "ScreenShareStreamAcquired",
|
|
38
|
+
ScreenAnalysisReady = "ScreenAnalysisReady",
|
|
39
|
+
ConversationResumedReceived = "ConversationResumedReceived",
|
|
40
|
+
PauseExpiryWarningReceived = "PauseExpiryWarningReceived",
|
|
41
|
+
PauseSessionExpiredReceived = "PauseSessionExpiredReceived",
|
|
42
|
+
SessionReadyForResumeReceived = "SessionReadyForResumeReceived",
|
|
43
|
+
ResumingSessionReceived = "ResumingSessionReceived",
|
|
44
|
+
RequestAvatarPause = "RequestAvatarPause",
|
|
45
|
+
RequestAvatarResume = "RequestAvatarResume",
|
|
46
|
+
RequestAvatarPauseAfterSpeaking = "RequestAvatarPauseAfterSpeaking",
|
|
47
|
+
CaptionStateUpdated = "CaptionStateUpdated",
|
|
48
|
+
CaptionReplacementsUpdated = "CaptionReplacementsUpdated",
|
|
49
|
+
CaptionFilterUpdated = "CaptionFilterUpdated",
|
|
50
|
+
ToggleCaptions = "ToggleCaptions",
|
|
51
|
+
SessionKickOffRequired = "SessionKickOffRequired",
|
|
52
|
+
SetDynamicVariables = "SetDynamicVariables",
|
|
53
|
+
SetKalturaContextActive = "SetKalturaContextActive",
|
|
54
|
+
RequestTapToTalkStart = "RequestTapToTalkStart",
|
|
55
|
+
RequestTapToTalkEnd = "RequestTapToTalkEnd",
|
|
56
|
+
TapToTalkButtonShown = "TapToTalkButtonShown",
|
|
57
|
+
TapToTalkButtonHidden = "TapToTalkButtonHidden",
|
|
58
|
+
ToggleTapToTalkMode = "ToggleTapToTalkMode"
|
|
59
|
+
}
|
|
60
|
+
export type WebsocketConnectionClosedEvent = {
|
|
61
|
+
type: AvatarConnectionMachineEventTypes.WebsocketConnectionClosed;
|
|
62
|
+
code: number;
|
|
63
|
+
reason: string;
|
|
64
|
+
};
|
|
65
|
+
export type ServerConnectedReceivedEvent = {
|
|
66
|
+
type: AvatarConnectionMachineEventTypes.ServerConnectedReceived;
|
|
67
|
+
payload: z.infer<typeof onServerConnectedSchema>;
|
|
68
|
+
};
|
|
69
|
+
export type ClientConfigurationReceivedEvent = {
|
|
70
|
+
type: AvatarConnectionMachineEventTypes.ClientConfigurationReceived;
|
|
71
|
+
payload: z.infer<typeof clientConfigurationSchema>;
|
|
72
|
+
};
|
|
73
|
+
export type JoinCompleteReceivedEvent = {
|
|
74
|
+
type: AvatarConnectionMachineEventTypes.JoinCompleteReceived;
|
|
75
|
+
payload: z.infer<typeof joinCompleteSchema>;
|
|
76
|
+
};
|
|
77
|
+
export type SessionCreatedReceivedEvent = {
|
|
78
|
+
type: AvatarConnectionMachineEventTypes.SessionCreatedReceived;
|
|
79
|
+
payload: z.infer<typeof stvNewSessionSchema>;
|
|
80
|
+
};
|
|
81
|
+
export type ShowAgentReceivedEvent = {
|
|
82
|
+
type: AvatarConnectionMachineEventTypes.ShowAgentReceived;
|
|
83
|
+
payload: z.infer<typeof showAgentSchema>;
|
|
84
|
+
};
|
|
85
|
+
export type NoAgentReceivedEvent = {
|
|
86
|
+
type: AvatarConnectionMachineEventTypes.NoAgentReceived;
|
|
87
|
+
payload: z.infer<typeof noAgentSchema>;
|
|
88
|
+
};
|
|
89
|
+
export type DisconnectEvent = {
|
|
90
|
+
type: AvatarConnectionMachineEventTypes.Disconnect;
|
|
91
|
+
payload?: {
|
|
92
|
+
reason: DisconnectReasons;
|
|
93
|
+
error?: Error;
|
|
94
|
+
suppressNotification?: boolean;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
export type ServerReadyReceivedEvent = {
|
|
98
|
+
type: AvatarConnectionMachineEventTypes.ServerReadyReceived;
|
|
99
|
+
payload: z.infer<typeof askPermissionsSchema>;
|
|
100
|
+
};
|
|
101
|
+
export type ConversationEndedReceivedEvent = {
|
|
102
|
+
type: AvatarConnectionMachineEventTypes.ConversationEndedReceived;
|
|
103
|
+
payload: z.infer<typeof conversationEndedSchema>;
|
|
104
|
+
};
|
|
105
|
+
export type PlayerReadyEvent = {
|
|
106
|
+
type: AvatarConnectionMachineEventTypes.PlayerReady;
|
|
107
|
+
};
|
|
108
|
+
export type SetContentEvent = {
|
|
109
|
+
type: AvatarConnectionMachineEventTypes.SetContent;
|
|
110
|
+
payload: UnisphereChatBlock | null;
|
|
111
|
+
};
|
|
112
|
+
export type AskViaTextEvent = {
|
|
113
|
+
type: AvatarConnectionMachineEventTypes.AskViaText;
|
|
114
|
+
text: string;
|
|
115
|
+
internal?: boolean;
|
|
116
|
+
};
|
|
117
|
+
export type AgentStartedTalkingReceivedEvent = {
|
|
118
|
+
type: AvatarConnectionMachineEventTypes.AgentStartedTalkingReceived;
|
|
119
|
+
payload: z.infer<typeof stvStartedTalkingSchema>;
|
|
120
|
+
};
|
|
121
|
+
export type AgentFinishedTalkingReceivedEvent = {
|
|
122
|
+
type: AvatarConnectionMachineEventTypes.AgentFinishedTalkingReceived;
|
|
123
|
+
payload: z.infer<typeof stvFinishedTalkingSchema>;
|
|
124
|
+
};
|
|
125
|
+
export type ConversationTimeWarningReceivedEvent = {
|
|
126
|
+
type: AvatarConnectionMachineEventTypes.ConversationTimeWarningReceived;
|
|
127
|
+
payload: z.infer<typeof conversationTimeWarningSchema>;
|
|
128
|
+
};
|
|
129
|
+
export type AgentThreadIdReceivedEvent = {
|
|
130
|
+
type: AvatarConnectionMachineEventTypes.AgentThreadIdReceived;
|
|
131
|
+
payload: string;
|
|
132
|
+
};
|
|
133
|
+
export type AgentRawTextMessageCompletedEvent = {
|
|
134
|
+
type: AvatarConnectionMachineEventTypes.AgentRawTextMessageCompleted;
|
|
135
|
+
messageId: string;
|
|
136
|
+
speechId: string;
|
|
137
|
+
blocks: UnisphereChatBlock[];
|
|
138
|
+
};
|
|
139
|
+
export type AgentRecoveryTurnCompletedEvent = {
|
|
140
|
+
type: AvatarConnectionMachineEventTypes.AgentRecoveryTurnCompleted;
|
|
141
|
+
hadAvatarType: boolean;
|
|
142
|
+
speechId: string;
|
|
143
|
+
messageId: string;
|
|
144
|
+
};
|
|
145
|
+
export type RequestAgentTurnRecoveryEvent = {
|
|
146
|
+
type: AvatarConnectionMachineEventTypes.RequestAgentTurnRecovery;
|
|
147
|
+
speechId: string;
|
|
148
|
+
messageId: string;
|
|
149
|
+
};
|
|
150
|
+
export type AgentClientToolCallCompletedEvent = {
|
|
151
|
+
type: AvatarConnectionMachineEventTypes.AgentClientToolCallCompleted;
|
|
152
|
+
toolName: string;
|
|
153
|
+
waitForResponse: boolean;
|
|
154
|
+
threadId: string | null;
|
|
155
|
+
};
|
|
156
|
+
export type AgentClientToolCallLoggedEvent = {
|
|
157
|
+
type: AvatarConnectionMachineEventTypes.AgentClientToolCallLogged;
|
|
158
|
+
entry: ClientToolCallLogEntry;
|
|
159
|
+
};
|
|
160
|
+
export type AgentStartSpeechReceivedEvent = {
|
|
161
|
+
type: AvatarConnectionMachineEventTypes.AgentStartSpeechReceived;
|
|
162
|
+
payload: z.infer<typeof showStartSpeechSchema>;
|
|
163
|
+
};
|
|
164
|
+
export type AvatarChatEntryReceivedEvent = {
|
|
165
|
+
type: AvatarConnectionMachineEventTypes.AvatarChatEntryReceived;
|
|
166
|
+
entry: ChatEntry;
|
|
167
|
+
};
|
|
168
|
+
export type UserVoiceTurnReceivedEvent = {
|
|
169
|
+
type: AvatarConnectionMachineEventTypes.UserVoiceTurnReceived;
|
|
170
|
+
entry: ChatEntry;
|
|
171
|
+
};
|
|
172
|
+
export type StartScreenShareEvent = {
|
|
173
|
+
type: AvatarConnectionMachineEventTypes.StartScreenShare;
|
|
174
|
+
};
|
|
175
|
+
export type StopScreenShareEvent = {
|
|
176
|
+
type: AvatarConnectionMachineEventTypes.StopScreenShare;
|
|
177
|
+
};
|
|
178
|
+
export type ScreenShareEndedEvent = {
|
|
179
|
+
type: AvatarConnectionMachineEventTypes.ScreenShareEnded;
|
|
180
|
+
};
|
|
181
|
+
export type ScreenAnalysisReadyEvent = {
|
|
182
|
+
type: AvatarConnectionMachineEventTypes.ScreenAnalysisReady;
|
|
183
|
+
};
|
|
184
|
+
export type ScreenShareErrorEvent = {
|
|
185
|
+
type: AvatarConnectionMachineEventTypes.ScreenShareError;
|
|
186
|
+
error?: Error;
|
|
187
|
+
};
|
|
188
|
+
export type ScreenShareStreamAcquiredEvent = {
|
|
189
|
+
type: AvatarConnectionMachineEventTypes.ScreenShareStreamAcquired;
|
|
190
|
+
stream: MediaStream;
|
|
191
|
+
};
|
|
192
|
+
export type WebSocketReconnectedEvent = {
|
|
193
|
+
type: AvatarConnectionMachineEventTypes.WebsocketReconnected;
|
|
194
|
+
newSocketId: string;
|
|
195
|
+
};
|
|
196
|
+
export type SessionKickOffRequiredEvent = {
|
|
197
|
+
type: AvatarConnectionMachineEventTypes.SessionKickOffRequired;
|
|
198
|
+
value: boolean;
|
|
199
|
+
};
|
|
200
|
+
export type SetKalturaContextActiveEvent = {
|
|
201
|
+
type: AvatarConnectionMachineEventTypes.SetKalturaContextActive;
|
|
202
|
+
active: boolean;
|
|
203
|
+
};
|
|
204
|
+
export type SetDynamicVariablesEvent = {
|
|
205
|
+
type: AvatarConnectionMachineEventTypes.SetDynamicVariables;
|
|
206
|
+
data: Record<string, unknown> | undefined;
|
|
207
|
+
};
|
|
208
|
+
export type RequestTapToTalkStartEvent = {
|
|
209
|
+
type: AvatarConnectionMachineEventTypes.RequestTapToTalkStart;
|
|
210
|
+
};
|
|
211
|
+
export type RequestTapToTalkEndEvent = {
|
|
212
|
+
type: AvatarConnectionMachineEventTypes.RequestTapToTalkEnd;
|
|
213
|
+
};
|
|
214
|
+
export type TapToTalkButtonShownEvent = {
|
|
215
|
+
type: AvatarConnectionMachineEventTypes.TapToTalkButtonShown;
|
|
216
|
+
};
|
|
217
|
+
export type TapToTalkButtonHiddenEvent = {
|
|
218
|
+
type: AvatarConnectionMachineEventTypes.TapToTalkButtonHidden;
|
|
219
|
+
};
|
|
220
|
+
export type WebsocketConnectedEvent = DoneActorEvent<string, 'connectWebSocket'>;
|
|
221
|
+
export type WebsocketConnectionErrorEvent = ErrorActorEvent<Error, 'connectWebSocket'>;
|
|
222
|
+
export type UserMediaReceivedEvent = DoneActorEvent<MediaStream, 'initUserMedia'>;
|
|
223
|
+
export type UserMediaErrorEvent = ErrorActorEvent<Error, 'initUserMedia'>;
|
|
224
|
+
export type ConnectionDestroyedEvent = DoneActorEvent<void, 'destroyConnection'>;
|
|
225
|
+
export type ConnectionDestroyErrorEvent = ErrorActorEvent<Error, 'destroyConnection'>;
|
|
226
|
+
export type GetUserAgentDataReceivedEvent = DoneActorEvent<{
|
|
227
|
+
userAgent: string;
|
|
228
|
+
userAgentHints: Record<string, string>;
|
|
229
|
+
}, 'getUserAgentData'>;
|
|
230
|
+
export type ConversationResumedReceivedEvent = {
|
|
231
|
+
type: AvatarConnectionMachineEventTypes.ConversationResumedReceived;
|
|
232
|
+
};
|
|
233
|
+
export type PauseExpiryWarningReceivedEvent = {
|
|
234
|
+
type: AvatarConnectionMachineEventTypes.PauseExpiryWarningReceived;
|
|
235
|
+
secondsRemaining: number;
|
|
236
|
+
};
|
|
237
|
+
export type PauseSessionExpiredReceivedEvent = {
|
|
238
|
+
type: AvatarConnectionMachineEventTypes.PauseSessionExpiredReceived;
|
|
239
|
+
};
|
|
240
|
+
export type SessionReadyForResumeReceivedEvent = {
|
|
241
|
+
type: AvatarConnectionMachineEventTypes.SessionReadyForResumeReceived;
|
|
242
|
+
};
|
|
243
|
+
export type ResumingSessionReceivedEvent = {
|
|
244
|
+
type: AvatarConnectionMachineEventTypes.ResumingSessionReceived;
|
|
245
|
+
};
|
|
246
|
+
export type RequestAvatarPauseEvent = {
|
|
247
|
+
type: AvatarConnectionMachineEventTypes.RequestAvatarPause;
|
|
248
|
+
};
|
|
249
|
+
export type RequestAvatarResumeEvent = {
|
|
250
|
+
type: AvatarConnectionMachineEventTypes.RequestAvatarResume;
|
|
251
|
+
};
|
|
252
|
+
export type RequestAvatarPauseAfterSpeakingEvent = {
|
|
253
|
+
type: AvatarConnectionMachineEventTypes.RequestAvatarPauseAfterSpeaking;
|
|
254
|
+
};
|
|
255
|
+
export type CaptionStateUpdatedEvent = {
|
|
256
|
+
type: AvatarConnectionMachineEventTypes.CaptionStateUpdated;
|
|
257
|
+
payload: CaptionState;
|
|
258
|
+
};
|
|
259
|
+
export type CaptionReplacementsUpdatedEvent = {
|
|
260
|
+
type: AvatarConnectionMachineEventTypes.CaptionReplacementsUpdated;
|
|
261
|
+
replacements: Record<string, string> | null;
|
|
262
|
+
};
|
|
263
|
+
export type CaptionFilterUpdatedEvent = {
|
|
264
|
+
type: AvatarConnectionMachineEventTypes.CaptionFilterUpdated;
|
|
265
|
+
filter: ((text: string) => string) | null;
|
|
266
|
+
};
|
|
267
|
+
export type ToggleCaptionsEvent = {
|
|
268
|
+
type: AvatarConnectionMachineEventTypes.ToggleCaptions;
|
|
269
|
+
};
|
|
270
|
+
export type ToggleTapToTalkModeEvent = {
|
|
271
|
+
type: AvatarConnectionMachineEventTypes.ToggleTapToTalkMode;
|
|
272
|
+
enabled: boolean;
|
|
273
|
+
};
|
|
274
|
+
export type AvatarConnectionMachineEvents = WebSocketReconnectedEvent | WebsocketConnectionClosedEvent | WebsocketConnectionErrorEvent | WebsocketConnectedEvent | ServerConnectedReceivedEvent | ClientConfigurationReceivedEvent | JoinCompleteReceivedEvent | SessionCreatedReceivedEvent | ShowAgentReceivedEvent | NoAgentReceivedEvent | ConversationEndedReceivedEvent | DisconnectEvent | ServerReadyReceivedEvent | UserMediaReceivedEvent | UserMediaErrorEvent | ConnectionDestroyedEvent | ConnectionDestroyErrorEvent | PlayerReadyEvent | SetContentEvent | AskViaTextEvent | AgentStartedTalkingReceivedEvent | AgentFinishedTalkingReceivedEvent | ConversationTimeWarningReceivedEvent | AgentThreadIdReceivedEvent | AgentRawTextMessageCompletedEvent | AgentClientToolCallCompletedEvent | AgentClientToolCallLoggedEvent | AgentRecoveryTurnCompletedEvent | RequestAgentTurnRecoveryEvent | GetUserAgentDataReceivedEvent | AgentStartSpeechReceivedEvent | AvatarChatEntryReceivedEvent | UserVoiceTurnReceivedEvent | StartScreenShareEvent | StopScreenShareEvent | ScreenShareEndedEvent | ScreenShareErrorEvent | ScreenShareStreamAcquiredEvent | ScreenAnalysisReadyEvent | ConversationResumedReceivedEvent | PauseExpiryWarningReceivedEvent | PauseSessionExpiredReceivedEvent | SessionReadyForResumeReceivedEvent | ResumingSessionReceivedEvent | RequestAvatarPauseEvent | RequestAvatarResumeEvent | RequestAvatarPauseAfterSpeakingEvent | CaptionStateUpdatedEvent | CaptionReplacementsUpdatedEvent | CaptionFilterUpdatedEvent | ToggleCaptionsEvent | SessionKickOffRequiredEvent | SetDynamicVariablesEvent | SetKalturaContextActiveEvent | RequestTapToTalkStartEvent | RequestTapToTalkEndEvent | TapToTalkButtonShownEvent | TapToTalkButtonHiddenEvent | ToggleTapToTalkModeEvent;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ActionFunction, ActorRefFrom, SnapshotFrom, StatesConfig } from 'xstate';
|
|
2
|
+
import { AvatarConnectionMachineContext } from './context';
|
|
3
|
+
import { AvatarConnectionMachineEvents } from './events';
|
|
4
|
+
import { avatarConnectionMachine } from '../avatar-connection-machine';
|
|
5
|
+
export * from './events';
|
|
6
|
+
export * from './context';
|
|
7
|
+
export * from './input';
|
|
8
|
+
export * from './schemas';
|
|
9
|
+
export declare const AvatarConnectionMachineId = "AvatarClient";
|
|
10
|
+
export type AvatarConnectionActor = ActorRefFrom<typeof avatarConnectionMachine>;
|
|
11
|
+
export type AvatarConnectionMachineState = SnapshotFrom<typeof avatarConnectionMachine>;
|
|
12
|
+
export type AvatarConnectionMachineStateConfig = StatesConfig<AvatarConnectionMachineContext, AvatarConnectionMachineEvents, any, // TActorLogic
|
|
13
|
+
any, // TAction
|
|
14
|
+
any, // TGuard
|
|
15
|
+
never, // TDelay
|
|
16
|
+
never, // TTag
|
|
17
|
+
never, // TOutput
|
|
18
|
+
never, // TEmit,
|
|
19
|
+
never>;
|
|
20
|
+
export type AvatarConnectionMachineAction<TParams = unknown> = ActionFunction<AvatarConnectionMachineContext, AvatarConnectionMachineEvents, any, // TEvent
|
|
21
|
+
TParams, // TParams
|
|
22
|
+
any, // TActor
|
|
23
|
+
never, // TAction
|
|
24
|
+
never, // TGuard
|
|
25
|
+
never, // TDelay
|
|
26
|
+
never>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { UnisphereLoggerType } from '@unisphere/core';
|
|
2
|
+
import { Notifications } from '@unisphere/notifications-core';
|
|
3
|
+
import { KalturaAnalyticsServiceType, PubSubServiceType } from '@unisphere/runtime';
|
|
4
|
+
import { AvatarRuntimeSettings } from '@unisphere/genie-types';
|
|
5
|
+
import type { ClientToolHandler, ClientToolsInput, ClientToolsRegistry, GetClientToolHandler } from '@local/genie-shared-utils';
|
|
6
|
+
export type AvatarClientToolHandler = ClientToolHandler;
|
|
7
|
+
export type AvatarClientToolsRegistry = ClientToolsRegistry;
|
|
8
|
+
export type AvatarClientToolsInput<TMap extends Record<string, unknown> = Record<string, unknown>> = ClientToolsInput<TMap>;
|
|
9
|
+
export type GetAvatarClientToolHandler = GetClientToolHandler;
|
|
10
|
+
export interface AvatarConnectionMachineInput {
|
|
11
|
+
connectionId: string;
|
|
12
|
+
logger: UnisphereLoggerType;
|
|
13
|
+
debugMode: boolean;
|
|
14
|
+
kalturaAnalyticsService: KalturaAnalyticsServiceType;
|
|
15
|
+
pubSubService: PubSubServiceType;
|
|
16
|
+
externalActions: {
|
|
17
|
+
showNotification: (notification: Notifications) => void;
|
|
18
|
+
};
|
|
19
|
+
runtimeSettings: AvatarRuntimeSettings;
|
|
20
|
+
stickyId?: string;
|
|
21
|
+
level?: string;
|
|
22
|
+
waitPlayerReadyState?: boolean;
|
|
23
|
+
isInitialKalturaContextActive?: boolean;
|
|
24
|
+
threadId?: string;
|
|
25
|
+
messageId?: string;
|
|
26
|
+
dynamicVariables?: Record<string, unknown>;
|
|
27
|
+
kickOffPhrase?: string;
|
|
28
|
+
clientToolsRegistry: AvatarClientToolsRegistry;
|
|
29
|
+
getClientToolHandler: GetAvatarClientToolHandler;
|
|
30
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Notifications } from '@unisphere/notifications-core';
|
|
2
|
+
import { DisconnectReasons } from '@unisphere/genie-types';
|
|
3
|
+
export declare function isMappedAvatarDisconnectReason(reason: DisconnectReasons): boolean;
|
|
4
|
+
export declare function getAvatarConnectionNotification(reason: DisconnectReasons): Notifications;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { z } from 'zod/mini';
|
|
2
|
+
export declare const onServerConnectedSchema: z.ZodMiniObject<{
|
|
3
|
+
finalUrl: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniLiteral<"">]>;
|
|
4
|
+
loadingVideoURL: z.ZodMiniOptional<z.ZodMiniURL>;
|
|
5
|
+
agentName: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
6
|
+
hostName: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export declare const clientConfigurationSchema: z.ZodMiniObject<{
|
|
9
|
+
clientConfiguration: z.ZodMiniObject<{
|
|
10
|
+
configuration: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>;
|
|
11
|
+
nluFeatures: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>;
|
|
12
|
+
languageCode: z.ZodMiniString<string>;
|
|
13
|
+
isTapToTalk: z.ZodMiniBoolean<boolean>;
|
|
14
|
+
isWebSearchEnabled: z.ZodMiniBoolean<boolean>;
|
|
15
|
+
isScreenShareEnabled: z.ZodMiniBoolean<boolean>;
|
|
16
|
+
isCameraAnalysisEnabled: z.ZodMiniBoolean<boolean>;
|
|
17
|
+
youtubeUrl: z.ZodMiniString<string>;
|
|
18
|
+
audioMode: z.ZodMiniBoolean<boolean>;
|
|
19
|
+
phoneMode: z.ZodMiniBoolean<boolean>;
|
|
20
|
+
initialHtml: z.ZodMiniString<string>;
|
|
21
|
+
visualPhotos: z.ZodMiniArray<z.ZodMiniUnknown>;
|
|
22
|
+
visualVideos: z.ZodMiniArray<z.ZodMiniUnknown>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export declare const joinCompleteSchema: z.ZodMiniObject<{}, z.core.$strip>;
|
|
26
|
+
export declare const stvNewSessionSchema: z.ZodMiniObject<{
|
|
27
|
+
session_id: z.ZodMiniString<string>;
|
|
28
|
+
status: z.ZodMiniString<string>;
|
|
29
|
+
webrtc_url: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
30
|
+
cast_mode: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export declare const showAgentSchema: z.ZodMiniObject<{}, z.core.$strip>;
|
|
33
|
+
export declare const noAgentSchema: z.ZodMiniObject<{}, z.core.$strip>;
|
|
34
|
+
export declare const askPermissionsSchema: z.ZodMiniObject<{
|
|
35
|
+
constraints: z.ZodMiniObject<{
|
|
36
|
+
audio: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniObject<{
|
|
37
|
+
echoCancellation: z.ZodMiniBoolean<boolean>;
|
|
38
|
+
}, z.core.$strip>]>;
|
|
39
|
+
video: z.ZodMiniBoolean<boolean>;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
export declare const conversationEndedSchema: z.ZodMiniObject<{}, z.core.$strip>;
|
|
43
|
+
export declare const stvStartedTalkingSchema: z.ZodMiniObject<{}, z.core.$strip>;
|
|
44
|
+
export declare const stvFinishedTalkingSchema: z.ZodMiniObject<{
|
|
45
|
+
agentContent: z.ZodMiniString<string>;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
export declare const conversationTimeWarningSchema: z.ZodMiniObject<{
|
|
48
|
+
remainingTime: z.ZodMiniNumber<number>;
|
|
49
|
+
}, z.core.$strip>;
|
|
50
|
+
export declare const pauseExpiryWarningSchema: z.ZodMiniObject<{
|
|
51
|
+
secondsRemaining: z.ZodMiniNumber<number>;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
export declare const generatingSpeechSchema: z.ZodMiniObject<{
|
|
54
|
+
text: z.ZodMiniString<string>;
|
|
55
|
+
speechId: z.ZodMiniString<string>;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
export declare const agentTurnToTalkSchema: z.ZodMiniObject<{
|
|
58
|
+
userTranscription: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
59
|
+
turnId: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
60
|
+
}, z.core.$strip>;
|
|
61
|
+
export declare const agentRawTextSchema: z.ZodMiniObject<{
|
|
62
|
+
speechId: z.ZodMiniString<string>;
|
|
63
|
+
turnId: z.ZodMiniString<string>;
|
|
64
|
+
delta: z.ZodMiniString<string>;
|
|
65
|
+
}, z.core.$strip>;
|
|
66
|
+
export declare const agentRawTextDeltaSchema: z.ZodMiniObject<{
|
|
67
|
+
messageId: z.ZodMiniString<string>;
|
|
68
|
+
threadId: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
69
|
+
role: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
70
|
+
type: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
71
|
+
content: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>]>>;
|
|
72
|
+
segmentNumber: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
73
|
+
et: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
74
|
+
segmentStart: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
75
|
+
segmentEnd: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
76
|
+
metadata: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
77
|
+
widgetName: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
78
|
+
runtimeName: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
79
|
+
}, z.core.$strip>>;
|
|
80
|
+
event: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
81
|
+
status: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
82
|
+
openingPhrase: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
83
|
+
}, z.core.$strip>;
|
|
84
|
+
export declare const agentRawTextClientToolDeltaSchema: z.ZodMiniObject<{
|
|
85
|
+
messageId: z.ZodMiniString<string>;
|
|
86
|
+
threadId: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
87
|
+
role: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
88
|
+
content: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>]>>;
|
|
89
|
+
segmentNumber: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
90
|
+
et: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
91
|
+
segmentStart: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
92
|
+
segmentEnd: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
93
|
+
type: z.ZodMiniLiteral<"tool">;
|
|
94
|
+
tool_metadata: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>;
|
|
95
|
+
}, z.core.$strip>;
|
|
96
|
+
export declare const showStartSpeechSchema: z.ZodMiniObject<{
|
|
97
|
+
speechId: z.ZodMiniString<string>;
|
|
98
|
+
isNewTurn: z.ZodMiniBoolean<boolean>;
|
|
99
|
+
turnId: z.ZodMiniString<string>;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
export declare const stvSpeechChunkSchema: z.ZodMiniObject<{
|
|
102
|
+
text: z.ZodMiniString<string>;
|
|
103
|
+
durationMs: z.ZodMiniNumber<number>;
|
|
104
|
+
speechId: z.ZodMiniString<string>;
|
|
105
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { UnisphereChatBlock } from '@unisphere/genie-types';
|
|
2
|
+
import { UnisphereLoggerType } from '@unisphere/core';
|
|
3
|
+
export interface ResponseDataType {
|
|
4
|
+
threadId?: string;
|
|
5
|
+
messageId?: string;
|
|
6
|
+
type?: string;
|
|
7
|
+
content: string;
|
|
8
|
+
metadata?: {
|
|
9
|
+
widgetName?: string;
|
|
10
|
+
runtimeName?: string;
|
|
11
|
+
} | null;
|
|
12
|
+
segmentNumber?: number;
|
|
13
|
+
segmentStart?: boolean;
|
|
14
|
+
segmentEnd?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare const isResponseDataType: (item: unknown) => item is ResponseDataType;
|
|
17
|
+
export declare class ChatBlocksCreator {
|
|
18
|
+
private logger;
|
|
19
|
+
private _streamedToolBlockData;
|
|
20
|
+
constructor(logger: UnisphereLoggerType);
|
|
21
|
+
handleChunk(item: ResponseDataType, isSharedMessage?: boolean): UnisphereChatBlock[];
|
|
22
|
+
private _buildTextBlock;
|
|
23
|
+
private _createSharedToolBlock;
|
|
24
|
+
private _handleToolChunk;
|
|
25
|
+
private _initToolBlock;
|
|
26
|
+
private _updateToolBlock;
|
|
27
|
+
private _buildToolBlock;
|
|
28
|
+
private _maybeHandleBrokenToolEnd;
|
|
29
|
+
private _resetCurrentBlock;
|
|
30
|
+
private _generateBlockId;
|
|
31
|
+
private _hasRequiredMetadata;
|
|
32
|
+
}
|
package/src/lib/avatar-client-manager/machines/avatar-connection/utils/resolve-capabilities.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AvatarConnectionMachineContext } from '../types';
|
|
2
|
+
export declare const resolveCapabilities: (context: AvatarConnectionMachineContext) => {
|
|
3
|
+
use_knowledge_base?: string | undefined;
|
|
4
|
+
use_content_search?: import("@unisphere/genie-types").CapabilityToggle | undefined;
|
|
5
|
+
use_get_entry_content?: import("@unisphere/genie-types").CapabilityToggle | undefined;
|
|
6
|
+
generate_followup_questions?: import("@unisphere/genie-types").CapabilityToggle | undefined;
|
|
7
|
+
include_sources?: import("@unisphere/genie-types").CapabilityToggle | undefined;
|
|
8
|
+
use_related_files?: import("@unisphere/genie-types").CapabilityToggle | undefined;
|
|
9
|
+
avatar?: import("@unisphere/genie-types").CapabilityToggle | undefined;
|
|
10
|
+
};
|