toto-agent
Version:
Chatbot agent and reusable components for Toto platform
94 lines (93 loc) • 2.92 kB
TypeScript
export interface LanguageConfig {
code: string;
name: string;
isDefault: boolean;
keywords: {
help: string[];
share: string[];
adopt: string[];
volunteer: string[];
thank: string[];
love: string[];
emergency: string[];
};
responses: {
error: string;
noResponse: string;
donation: {
complete: string;
share: string;
follow: string;
};
sharing: {
choosePlatform: string;
customize: string;
addStory: string;
tagFriends: string;
};
engagement: {
shareWithFriends: string;
makeDonation: string;
followUpdates: string;
exploreOther: string;
};
};
}
export interface PlatformConfig {
name: string;
version: string;
description: string;
mission: string;
coreValues: string[];
features: string[];
userRoles: string[];
supportedRegions: string[];
primaryMarkets: string[];
}
export interface TrainingDynamics {
userAdaptation: {
firstTimeUserGuidance: boolean;
roleBasedResponses: boolean;
engagementLevelAdjustment: boolean;
locationAwareness: boolean;
};
contentPersonalization: {
animalTypePreferences: boolean;
urgencyDetection: boolean;
donationHistoryConsideration: boolean;
shareHistoryConsideration: boolean;
};
safetyChecks: {
medicalAdviceDetection: boolean;
promiseGuaranteeDetection: boolean;
privacyRespect: boolean;
transparencyRequirement: boolean;
};
responseBehavior: {
maxResponseLength: number;
preferredTone: 'formal' | 'conversational' | 'warm' | 'professional';
emojiUsage: boolean;
actionSuggestionLimit: number;
};
}
export declare class AgentTrainingConfig {
private static instance;
private platformConfig;
private languageConfigs;
private trainingDynamics;
private constructor();
static getInstance(): AgentTrainingConfig;
private initializeConfigurations;
getPlatformConfig(): PlatformConfig;
getLanguageConfig(languageCode: string): LanguageConfig | undefined;
getAllLanguageConfigs(): LanguageConfig[];
getDefaultLanguage(): LanguageConfig;
getTrainingDynamics(): TrainingDynamics;
updatePlatformConfig(updates: Partial<PlatformConfig>): void;
addLanguageSupport(languageConfig: LanguageConfig): void;
updateTrainingDynamics(updates: Partial<TrainingDynamics>): void;
detectLanguageFromKeywords(userMessage: string): string;
getKeywordsForLanguage(languageCode: string, category: keyof LanguageConfig['keywords']): string[];
getResponseTemplate(languageCode: string, category: string, subCategory?: string): string;
exportConfiguration(): object;
}