import type { GetPromptResult } from "@modelcontextprotocol/sdk/types.js"; import { Agent, type Message } from "../agents/agent.js"; import { type AIAgent } from "../agents/ai-agent.js"; import type { ChatModel, ChatModelInput, ChatModelInputMessage } from "../agents/chat-model.js"; import { type FileUnionContent } from "../agents/model.js"; import type { Context } from "../aigne/context.js"; import { AgentSession } from "./agent-session.js"; import { ChatMessagesTemplate } from "./template.js"; export interface PromptBuilderOptions { instructions?: string | ChatMessagesTemplate; workingDir?: string; } export interface PromptBuildOptions { context?: Context; agent?: AIAgent; input?: Message; model?: ChatModel; outputSchema?: Agent["outputSchema"]; } export declare class PromptBuilder { static from(instructions: string | { path: string; } | GetPromptResult, { workingDir }?: { workingDir?: string; }): PromptBuilder; private static fromFile; private static fromMCPPromptResult; constructor(options?: PromptBuilderOptions); instructions?: string | ChatMessagesTemplate; workingDir?: string; copy(): PromptBuilder; build(options: PromptBuildOptions): Promise & { session: AgentSession; userMessage: ChatModelInputMessage; toolAgents?: Agent[]; }>; buildPrompt(options: Pick & { inputFileKey?: string; }): Promise<{ prompt: string; image?: FileUnionContent[]; }>; private getTemplateVariables; private buildMessages; private mergeMessages; protected deprecatedMemories(message: string | undefined, options: PromptBuildOptions): Promise; private convertMemoriesToMessages; private buildResponseFormat; private buildTools; }