/** * prompt-injector.ts — 用户模型记忆与平台 MCP 工具用法的自动注入 * * 功能: * 1. 根据当前用户的 userId,从 agent_memory_user 表中查询记忆,注入到系统提示词中; * 2. 识别请求中的平台 MCP 工具(模型记忆与处置方案),按需注入工具用法指导; * 3. 严格做防重标记检测,避免多轮对话或多次调用重复注入。 */ export declare const MEMORY_MARKER_START = ""; export declare const MEMORY_MARKER_END = ""; export declare const MCP_INSTRUCTIONS_MARKER_START = ""; export declare const MCP_INSTRUCTIONS_MARKER_END = ""; /** 根据用户名查询用户 ID */ export declare function getUserIdByUsername(username: string): number | null; /** * 检查请求中是否配置或携带了平台的模型记忆与处置方案 MCP 工具 * 兼容: * 1. 直接声明在 tools / functions 列表中的工具(OpenAI 标准格式) * 2. 延迟加载工具模式(Deferred Tools / Lazy Tools,如 WorkBuddy、Claude Code 声明在 ToolSearch 等工具的 description 中) * 3. 声明在 system prompt 或 messages 上下文中的工具列表(如 ) */ export declare function detectPlatformMcpTools(bodyOrTools: unknown): { hasMemoryTools: boolean; hasSkillTools: boolean; }; /** * 从数据库构建指定用户的长期记忆提示词 */ export declare function buildUserMemoryPrompt(userId: number): string | null; /** * 构建平台 MCP 工具的主动调用使用指导提示词 */ export declare function buildToolInstructionPrompt(hasMemoryTools: boolean, hasSkillTools: boolean): string | null; /** * 统一注入函数:对请求体注入用户记忆和平台 MCP 工具用法说明 * * @param body 请求体(Chat 格式或 Anthropic 格式) * @param userId 用户 ID(可选) * @param username 用户名(可选,如果未传 userId 则根据 username 查询) */ export declare function injectMemoryAndTools(body: Record, userId?: number, username?: string): { injectedMemory: boolean; injectedTools: boolean; }; /** * 提取请求体中的系统提示词(合并 instructions、system 与 developer 消息及顶级 system 字段) */ export declare function extractSystemPrompt(body: Record): string; /** * 提取请求体中携带的工具名称列表(含延迟加载的 MCP 工具) */ export declare function extractToolNames(body: Record): string[]; //# sourceMappingURL=prompt-injector.d.ts.map