import { AbstractStreamParsingChatAgent, ChatMode, SystemMessageDescription } from '@theia/ai-chat/lib/common'; import { AIVariableContext } from '@theia/ai-core'; /** * An abstract chat agent that supports mode selection for selecting prompt variants. * * Agents extending this class define their available modes via `modeDefinitions`. * The `modes` getter dynamically computes which mode is the default based on the * current prompt variant settings. When a request is made with a specific `modeId`, * that mode's prompt variant is used instead of the settings-configured default. */ export declare abstract class AbstractModeAwareChatAgent extends AbstractStreamParsingChatAgent { /** * Mode definitions without the `isDefault` property. * Subclasses must provide their specific mode definitions. * Each mode's `id` should correspond to a prompt variant ID. */ protected abstract readonly modeDefinitions: Omit[]; /** * The ID of the prompt variant set used for mode selection. * Defaults to `systemPromptId`. Override if a different variant set should be used. */ protected get promptVariantSetId(): string | undefined; /** * Returns the available modes with `isDefault` computed based on current settings. */ get modes(): ChatMode[]; protected getSystemMessageDescription(context: AIVariableContext): Promise; /** * Determines the effective variant ID, considering mode override. * If modeId is provided and is a valid variant for the prompt set, it takes precedence. * Otherwise falls back to settings-based selection. */ protected getEffectiveVariantIdWithMode(modeId?: string): string | undefined; } //# sourceMappingURL=mode-aware-chat-agent.d.ts.map