import type Database from "better-sqlite3"; /** 新 session 首条消息:引导 agent 按需检索历史上下文 */ export declare const NEW_SESSION_SEARCH_REMINDER = "\n\u8FD9\u662F\u4E00\u4E2A\u5168\u65B0\u7684\u5BF9\u8BDD session\u3002\u5982\u679C\u7528\u6237\u63D0\u5230\u5386\u53F2\u51B3\u7B56\u3001\u65E7\u4EFB\u52A1\u6216\u4F60\u4E0D\u786E\u5B9A\u7684\u80CC\u666F\uFF0C\u5148\u4F7F\u7528 nbt sessions list \u67E5\u770B\u5F53\u524D\u8BDD\u9898\u7684\u4F1A\u8BDD\uFF0C\u518D\u6309\u9700 search/get\uFF0C\u4E0D\u8981\u51ED\u8BB0\u5FC6\u731C\u6D4B\u3002\n"; /** compact 后下一条消息:提醒 agent 恢复可能被压缩掉的规则和状态 */ export declare const COMPACT_RECOVERY_REMINDER = "\n\u4E0A\u4E00\u6B21 agent \u4F1A\u8BDD\u53D1\u751F\u4E86\u4E0A\u4E0B\u6587\u538B\u7F29\uFF0C\u65E9\u5148\u6CE8\u5165\u7684\u89C4\u5219\u6216\u5386\u53F2\u7EC6\u8282\u53EF\u80FD\u5DF2\u88AB\u6458\u8981\u3002\n\u5982\u679C NiuBot \u7CFB\u7EDF\u89C4\u5219\u4E22\u5931\uFF0C\u5148\u8FD0\u884C nbt system-rules\u3002\n\u5982\u679C\u5F53\u524D\u8EAB\u4EFD\u3001\u4F1A\u8BDD\u6216\u7528\u6237\u8BB0\u5FC6\u4E22\u5931\uFF0C\u8FD0\u884C nbt whoami\u3002\n\u5982\u679C\u6700\u8FD1\u5BF9\u8BDD\u4E22\u5931\uFF0C\u8FD0\u884C nbt messages list\u3002\n\u5982\u679C\u5F53\u524D\u8BDD\u9898\u7684\u6D3B\u8DC3\u4F1A\u8BDD\u6216\u5386\u53F2\u7EC6\u8282\u4E22\u5931\uFF0C\u5148\u7528 nbt sessions list\uFF0C\u518D\u6309\u9700\u4F7F\u7528 nbt sessions search/get\u3002\n\u5982\u679C\u4EFB\u52A1\u72B6\u6001\u4E22\u5931\uFF0C\u8FD0\u884C nbt task list\uFF0C\u5E76\u8BFB\u53D6\u5BF9\u5E94 task README\u3002\n\u5982\u679C\u95EE\u9898\u6D89\u53CA\u9879\u76EE\u89C4\u5219\u539F\u6587\uFF0C\u91CD\u65B0\u8BFB\u53D6 workspace \u7684 AGENTS.md\u3002\n\u4E0D\u8981\u628A compact \u6458\u8981\u5F53\u6210\u539F\u6587\u3002\n"; export interface StableSystemContextOptions { botProfilePath?: string; personaPath?: string; instructionsPath?: string; botName?: string; botLabel?: string; } export declare function buildStableSystemContext(options?: StableSystemContextOptions): string; export interface SceneInfo { botName: string; /** Bot 的 short label,如 "U2(NiuBot)" */ botLabel?: string; /** IM 平台标识,如 "feishu" */ platform?: string; userName?: string; /** 群聊时可省略(身份信息改为消息级注入) */ userId?: string; /** 仅私聊管理员可见 */ botProfilePath?: string; chatId: string; chatType: "p2p" | "group"; /** Chat 的 short label,如 "C1(U1(Zen))" */ chatLabel?: string; isAdmin?: boolean; } /** * 构建 session profile:当前场景 + 私聊用户记忆。 * 新 session 和 compact recovery 都会通过 user prompt 前缀注入。 */ export declare function buildImportantContext(db: Database.Database, scene: SceneInfo): string; export interface SpeakerInfo { userId: string; userName?: string; isAdmin?: boolean; isBot?: boolean; } /** * 构建群聊消息级 speaker 上下文。 * 单人消息:`` 块。 * 多人合并消息:`` 块,列出每个 sender。 */ export declare function buildSpeakerContext(db: Database.Database, speakers: SpeakerInfo[]): string; /** * 构建 task/conversation 上下文:task 索引 + 续接消息。 * 历史检索走 nbt sessions,不再把归档目录 path 注入 prompt。 */ export declare function buildNormalContext(db: Database.Database, chatId: string, workingDirectory: string, beforeMsgId?: number, chatType?: "p2p" | "group", userId?: string, threadId?: string, mainThreadOnly?: boolean): string; export declare function buildActiveTaskContext(workingDirectory: string, chatType?: "p2p" | "group", userId?: string): string;