UNPKG

@inworld/web-core

Version:
285 lines (284 loc) 8.43 kB
import { InworldStatus as ProtoStatus } from '../../../proto/ai/inworld/common/status.pb.js'; import { CapabilitiesConfiguration, ClientConfiguration as ControlClientConfiguration, SessionConfiguration, UserConfiguration } from '../../../proto/ai/inworld/engine/configuration/configuration.pb.js'; import { Continuation, CurrentSceneStatus, InworldPacket as ProtoPacket, SessionHistoryRequest, SessionHistoryResponse } from '../../../proto/ai/inworld/packets/packets.pb.js'; import { Character } from '../../entities/character.entity.js'; import { SessionContinuationProps } from '../../entities/continuation/session_continuation.entity.js'; import { AdditionalPhonemeInfo } from '../../entities/packets/audio.entity.js'; import { PerceivedLatencyReportPrecisionType } from '../../entities/packets/latency/perceived_latency_report.entity.js'; import { SessionToken } from '../../entities/session_token.entity.js'; export interface Capabilities { audio?: boolean; debugInfo?: boolean; emotions?: boolean; interruptions?: boolean; logs?: boolean; logsWarning?: boolean; logsInfo?: boolean; logsDebug?: boolean; logsInternal?: boolean; multiModalActionPlanning?: boolean; narratedActions?: boolean; perceivedLatencyReport?: boolean; phonemes?: boolean; pingPongReport?: boolean; silence?: boolean; } export interface UserProfileField { id: string; value: string; } export interface UserProfile { fields: UserProfileField[]; } export interface User { id?: string; fullName?: string; profile?: UserProfile; } export interface Client { id?: string; } export interface Gateway { hostname: string; ssl?: boolean; } export interface AudioPlaybackConfig { sampleRate?: number; stop?: StopAudioPlayback; } export interface StopAudioPlayback { duration: number; ticks: number; } export interface SessionControlProps { capabilities?: CapabilitiesConfiguration; sessionConfiguration?: SessionConfiguration; userConfiguration?: UserConfiguration; clientConfiguration?: ControlClientConfiguration; continuation?: Continuation; sessionHistory?: SessionHistoryRequest; } export interface sessionContunuationConfig { storage?: { setItem: (value: string) => Awaitable<void>; getItem: () => Awaitable<string>; }; interval?: number; attemptsInterval?: number; maxAttempts?: number; } export interface ConnectionConfig { autoReconnect?: boolean; disconnectTimeout?: number; gateway?: Gateway; sessionContunuation?: sessionContunuationConfig; } export interface HistoryConfig { previousState?: boolean; } export interface ClientConfiguration { gameSessionId?: string; connection?: ConnectionConfig; capabilities?: Capabilities; audioPlayback?: AudioPlaybackConfig; history?: HistoryConfig; validateData?: boolean; } export interface InternalClientConfiguration { gameSessionId?: string; connection?: ConnectionConfig; capabilities: CapabilitiesConfiguration; audioPlayback?: AudioPlaybackConfig; history?: HistoryConfig; validateData?: boolean; } export interface CancelResponses { [key: string]: boolean; } export interface CancelResponsesProps { interactionId?: string; utteranceId?: string[]; } export type Awaitable<T> = T | PromiseLike<T>; export type GenerateSessionTokenFn = () => Promise<SessionToken>; export type OnPhomeneFn = ((phonemeData: AdditionalPhonemeInfo[]) => void) | undefined; export declare enum ConnectionState { ACTIVE = "ACTIVE", ACTIVATING = "ACTIVATING", INACTIVE = "INACTIVE", RECONNECTING = "RECONNECTING" } export declare enum AudioSessionState { UNKNOWN = "UNKNOWN", START = "START", END = "END" } export declare enum TtsPlaybackAction { UNKNOWN = "UNKNOWN", MUTE = "MUTE", UNMUTE = "UNMUTE" } export interface MediaTrackConstraintsWithSuppress extends MediaTrackConstraints { suppressLocalAudioPlayback?: { ideal: boolean; }; } interface CustomParameter { name: string; value: string; } export interface TaskParameter extends CustomParameter { } export interface TriggerParameter extends CustomParameter { } export declare enum InworldPacketType { UNKNOWN = "UNKNOWN", TEXT = "TEXT", AUDIO = "AUDIO", TASK = "TASK", TRIGGER = "TRIGGER", EMOTION = "EMOTION", LOG = "LOG", CONTROL = "CONTROL", SILENCE = "SILENCE", CANCEL_RESPONSE = "CANCEL_RESPONSE", NARRATED_ACTION = "NARRATED_ACTION", SCENE_MUTATION_REQUEST = "SCENE_MUTATION_REQUEST", SCENE_MUTATION_RESPONSE = "SCENE_MUTATION_RESPONSE", ENTITIES_ITEM_OPERATION = "ENTITIES_ITEM_OPERATION", OPERATION_STATUS = "OPERATION_STATUS", LATENCY_REPORT = "LATENCY_REPORT" } export declare enum InworldTextPacketType { UNKNOWN = "UNKNOWN", SPEECH_TO_TEXT = "SPEECH_TO_TEXT", TYPED_IN = "TYPED_IN", GENERATED = "GENERATED", FILLER = "FILLER" } export declare enum InworlControlAction { UNKNOWN = "UNKNOWN", AUDIO_SESSION_START = "AUDIO_SESSION_START", AUDIO_SESSION_END = "AUDIO_SESSION_END", CONVERSATION_EVENT = "CONVERSATION_EVENT", CONVERSATION_UPDATE = "CONVERSATION_UPDATE", INTERACTION_END = "INTERACTION_END", TTS_PLAYBACK_MUTE = "TTS_PLAYBACK_MUTE", TTS_PLAYBACK_UNMUTE = "TTS_PLAYBACK_UNMUTE", WARNING = "WARNING" } export declare enum InworldConversationEventType { UNKNOWN = "UNKNOWN", STARTED = "STARTED", UPDATED = "UPDATED", EVICTED = "EVICTED" } export declare enum InworldLatencyReportType { PERCEIVED_LATENCY = "PERCEIVED_LATENCY", PING_PONG = "PING_PONG" } export declare enum ConversationState { ACTIVE = "ACTIVE", PROCESSING = "PROCESSING", INACTIVE = "INACTIVE" } export declare enum ConversationIntializeState { ACTIVE = "ACTIVE", PROCESSING = "PROCESSING", INACTIVE = "INACTIVE" } export interface PacketQueueItem { getPacket: () => ProtoPacket; afterWriting: (packet: ProtoPacket) => void; } export declare enum MicrophoneMode { UNSPECIFIED = "UNSPECIFIED", OPEN_MIC = "OPEN_MIC", EXPECT_AUDIO_END = "EXPECT_AUDIO_END" } export declare enum UnderstandingMode { FULL = "FULL", SPEECH_RECOGNITION_ONLY = "SPEECH_RECOGNITION_ONLY" } export interface SendPacketParams { conversationId: string; } export interface SendCustomPacketParams extends SendPacketParams { parameters?: TriggerParameter[]; character?: Character; } export interface SendAudioSessionStartPacketParams extends SendPacketParams { mode?: MicrophoneMode; understandingMode?: UnderstandingMode; } export interface AudioSessionStartPacketParams { mode?: MicrophoneMode; understandingMode?: UnderstandingMode; } export interface PerceivedLatencyReportProps { precision: PerceivedLatencyReportPrecisionType; interactionId: string; startDate: Date; endDate: Date; } export declare enum ConversationParticipant { USER = "USER" } export interface ChangeSceneProps { capabilities?: Capabilities; sessionContinuation?: SessionContinuationProps; user?: User; gameSessionId?: string; } export interface LoadedScene { sceneStatus: CurrentSceneStatus; sessionHistory?: SessionHistoryResponse; } export interface ProtoError { message: string; code: string | undefined; details: ProtoStatus[] | undefined; } export interface SceneHistoryItem { character: Character; packet: ProtoPacket; } export declare enum ItemsInEntitiesOperationType { ADD = "ADD", REMOVE = "REMOVE", REPLACE = "REPLACE" } export interface EntityItemProps { id: string; displayName?: string; description?: string; properties?: { [key: string]: string; }; } export interface SceneHistoryItem { character: Character; packet: ProtoPacket; } export interface SessionState { state?: string; creationTime?: string; version?: { interactionId?: string; }; } export declare enum LogLevel { UNSPECIFIED = "UNSPECIFIED", WARNING = "WARNING", INFO = "INFO", INTERNAL = "INTERNAL", DEBUG = "DEBUG" } export type ProtobufValue = string | number | boolean | null | undefined | ProtobufValue[] | { [key: string]: ProtobufValue; }; export interface LogsEventLogDetail { text: string | undefined; detail: ProtobufValue | undefined; } export {};