import type { AgentContract } from './types'; /** * 清理历史残留的插件自生成「goal-only 空壳」契约块。 * * 背景:旧版 buildPrompt 在无约束/无前置时仍输出 `## 本任务前置上下文 + - 目标: xxx`, * 目标已随本任务 prompt 传递、无独立信息价值,同一次 task() 重复 before 会累积这些空壳块。 * 仅严格匹配该空壳形态(标题 + 仅一行 `- 目标:`、无任何其他内容)才清除; * 含约束/前置结果/其他内容的契约块(含用户手写契约、调度显式约束)**保守保留**—— * 绝不按中文标题宽泛删除用户内容。 * 无匹配时原样返回。 */ export declare function stripExistingContracts(text: string): string; export declare class ContractManager { /** * 从代理输出中提取结构化契约块。 * 返回 null 表示未找到合法契约块。 */ extract(output: string): AgentContract | null; /** * 将契约块文本解析为 AgentContract 对象。 * 行格式:- 关键结果: xxx */ private parseLines; /** * 构建传递给子代理的提示词,包含约束和显式前置任务结果交接。 * 目标不再重复输出(任务目标已在本任务 prompt 中,避免重复膨胀); * 仅当存在真正约束或显式前置依赖交接时才生成契约块,否则返回空字符串 * (入口仅在非空时追加,保证重复 before 不堆积空壳契约)。 * 输出包含 CONTRACT_BEGIN/END 标记,子代理可追加自己的契约。 */ buildPrompt(context: { goal: string; prerequisites: { from: string; contract: AgentContract; }[]; constraints: string[]; }): string; /** * 汇总多个契约,生成人类可读的报告。 */ summarize(contracts: AgentContract[]): string; } //# sourceMappingURL=contract.d.ts.map