Interface ILanguageService

High-level language orchestration service used by AgentOS runtime.

interface ILanguageService {
    initialize(): Promise<void>;
    detectLanguages(text): Promise<DetectedLanguageResult[]>;
    negotiate(params): LanguageNegotiationResult;
    maybeNormalizeForPivot(content, source, pivot?): Promise<null | {
        normalized: string;
        providerId?: string;
    }>;
    maybeTranslateForDisplay(content, source, target): Promise<null | TranslationResult>;
    translateQueryForRag(query, source, pivot): Promise<null | TranslationResult>;
    translateRagResults(results, target): Promise<{
        content: string;
        sourceLanguage: string;
        translated?: string;
    }[]>;
    translateToolArguments(args, source, toolLanguage): Promise<null | {
        translatedArgs: Record<string, any>;
        providerId?: string;
    }>;
    translateToolResult(result, source, target): Promise<null | {
        translatedResult: any;
        providerId?: string;
    }>;
    shutdown(): Promise<void>;
}

Implemented by

Methods

  • Optional normalization before prompt construction (pivot).

    Parameters

    • content: string
    • source: string
    • Optional pivot: string

    Returns Promise<null | {
        normalized: string;
        providerId?: string;
    }>

  • Translate retrieved RAG results back to target language.

    Parameters

    • results: {
          content: string;
          language: string;
      }[]
    • target: string

    Returns Promise<{
        content: string;
        sourceLanguage: string;
        translated?: string;
    }[]>

  • Wrap tool input translation logic.

    Parameters

    • args: Record<string, any>
    • source: string
    • toolLanguage: string

    Returns Promise<null | {
        translatedArgs: Record<string, any>;
        providerId?: string;
    }>

  • Wrap tool result translation logic.

    Parameters

    • result: any
    • source: string
    • target: string

    Returns Promise<null | {
        translatedResult: any;
        providerId?: string;
    }>