import { ResolvedAIVariable, ToolRequest } from '@theia/ai-core'; import { ChatRequest } from './chat-model'; import { SerializableTextPart, SerializableVariablePart, SerializableFunctionPart, SerializableAgentPart, SerializableParsedRequest } from './chat-model-serialization'; export declare const chatVariableLeader = "#"; export declare const chatAgentLeader = "@"; export declare const chatFunctionLeader = "~"; export declare const chatSubcommandLeader = "/"; /********************** * CLASSES, INTERFACES AND TYPE GUARDS **********************/ export interface OffsetRange { readonly start: number; readonly endExclusive: number; } export interface ParsedChatRequest { readonly request: ChatRequest; readonly parts: ParsedChatRequestPart[]; readonly toolRequests: Map; /** * Ids of tools referenced in the request that were marked as deferred, * e.g. `~?toolId` (chat format) or `~{?toolId}` (prompt format). * Deferred tools are not loaded into the model's context upfront and * may instead be discovered on-demand via the model provider's built-in * tool search mechanism (Anthropic, OpenAI) when supported. */ readonly deferredToolIds?: Set; readonly variables: ResolvedAIVariable[]; } export interface ParsedChatRequestPart { readonly kind: string; /** * The text as represented in the ChatRequest */ readonly text: string; /** * The text as will be sent to the LLM */ readonly promptText: string; readonly range: OffsetRange; } export declare class ParsedChatRequestTextPart implements ParsedChatRequestPart { readonly range: OffsetRange; readonly text: string; readonly kind = "text"; constructor(range: OffsetRange, text: string); get promptText(): string; toSerializable(): SerializableTextPart; } export declare class ParsedChatRequestVariablePart implements ParsedChatRequestPart { readonly range: OffsetRange; readonly variableName: string; readonly variableArg: string | undefined; readonly kind = "var"; resolution: ResolvedAIVariable; constructor(range: OffsetRange, variableName: string, variableArg: string | undefined); get text(): string; get promptText(): string; toSerializable(): SerializableVariablePart; } export declare class ParsedChatRequestFunctionPart implements ParsedChatRequestPart { readonly range: OffsetRange; readonly toolRequest: ToolRequest; readonly deferred: boolean; readonly kind = "function"; constructor(range: OffsetRange, toolRequest: ToolRequest, deferred?: boolean); get text(): string; get promptText(): string; toSerializable(): SerializableFunctionPart; } export declare class ParsedChatRequestAgentPart implements ParsedChatRequestPart { readonly range: OffsetRange; readonly agentId: string; readonly agentName: string; readonly kind = "agent"; constructor(range: OffsetRange, agentId: string, agentName: string); get text(): string; get promptText(): string; toSerializable(): SerializableAgentPart; } export declare namespace ParsedChatRequest { function toSerializable(parsed: ParsedChatRequest): SerializableParsedRequest; } //# sourceMappingURL=parsed-chat-request.d.ts.map