diff --git a/src/AnamClient.ts b/src/AnamClient.ts index ed56714..579d087 100644 --- a/src/AnamClient.ts +++ b/src/AnamClient.ts @@ -119,9 +119,7 @@ export default class AnamClient { const tokenType = decodedToken.type?.toLowerCase(); if (tokenType === 'legacy') { - if (!personaConfig || !('personaId' in personaConfig)) { - return 'Both session token and client are missing a persona configuration. Please provide a persona ID of a saved persona in the personaConfig parameter.'; - } + return 'Legacy session tokens are no longer supported. Please define your persona when creating your session token. See https://docs.anam.ai/resources/migrating-legacy for more information.'; } else if (tokenType === 'ephemeral' || tokenType === 'stateful') { if (personaConfig) { return 'This session token already contains a persona configuration. Please remove the personaConfig parameter.'; diff --git a/src/index.ts b/src/index.ts index 3fee0fa..911e341 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,6 @@ import AnamClient from './AnamClient'; import { PersonaConfig } from './types'; import { AnamPublicClientOptions } from './types/AnamPublicClientOptions'; -import { SavedPersonaConfig } from './types/PersonaConfig'; /** * Create a new Anam client. @@ -12,10 +11,9 @@ import { SavedPersonaConfig } from './types/PersonaConfig'; */ const createClient = ( sessionToken: string, - personaConfig?: SavedPersonaConfig, options?: AnamPublicClientOptions, ): AnamClient => { - return new AnamClient(sessionToken, personaConfig, options); + return new AnamClient(sessionToken, undefined, options); }; /** diff --git a/src/types/AnamPublicClientOptions.ts b/src/types/AnamPublicClientOptions.ts index 49f5759..21a6c91 100644 --- a/src/types/AnamPublicClientOptions.ts +++ b/src/types/AnamPublicClientOptions.ts @@ -1,9 +1,15 @@ import { CoreApiRestClientOptions } from '../types'; import { VoiceDetectionOptions } from './VoiceDetectionOptions'; +import { PersonaConfig } from './PersonaConfig'; export interface AnamPublicClientOptions { api?: CoreApiRestClientOptions; voiceDetection?: VoiceDetectionOptions; audioDeviceId?: string; disableInputAudio?: boolean; + /** + * The persona configuration to use. + * This is the recommended way to pass persona configuration instead of using the deprecated personaConfig parameter. + */ + personaConfig?: PersonaConfig; } diff --git a/src/types/PersonaConfig.ts b/src/types/PersonaConfig.ts index 6bc2b59..c022863 100644 --- a/src/types/PersonaConfig.ts +++ b/src/types/PersonaConfig.ts @@ -1,12 +1,7 @@ -export type PersonaConfig = SavedPersonaConfig | CustomPersonaConfig; - -export interface SavedPersonaConfig { - personaId: string; - disableBrains?: boolean; - disableFillerPhrases?: boolean; -} +export type PersonaConfig = CustomPersonaConfig; export interface CustomPersonaConfig { + personaId: string; name: string; avatarId: string; voiceId: string; @@ -16,12 +11,6 @@ export interface CustomPersonaConfig { languageCode?: string; } -export function isSavedPersonaConfig( - personaConfig: PersonaConfig, -): personaConfig is SavedPersonaConfig { - return 'personaId' in personaConfig; -} - export function isCustomPersonaConfig( personaConfig: PersonaConfig, ): personaConfig is CustomPersonaConfig {