/** * Unified sanitizer for tool outputs before feeding back to model/user. * * Goal: aggressively remove obvious HTML/anti-bot noise while keeping * meaningful textual findings; normalize absolute project paths to `./…`. */ export interface ToolResultSanitizerOptions { maxChars?: number; /** 项目根目录,默认 `process.cwd()` */ cwd?: string; } /** * 将文本中的 `cwd` 绝对路径批量替换为以 `.` 开头的相对路径(便于 IM 展示)。 */ export declare function relativizeCwdPaths(text: string, cwd?: string): string; export declare const TOOL_RESULT_OMITTED_PLAIN = "Tool returned non-plain control payload; omitted."; /** 去掉模型误输出的 tool_call / DSML 等标记(保留其余正文) */ export declare function stripHallucinatedToolCalls(text: string): string; export declare function isOmittedToolSummary(text: string): boolean; /** 出站需保留完整 base64 JSON,但喂给模型的结果须去掉大二进制字段 */ export declare const MEDIA_TOOL_NAMES_WITH_BINARY_JSON: Set; export declare function isMediaToolWithBinaryPayload(toolName: string): boolean; /** * 将 generate_image / voice_tts 等工具返回的巨型 base64 JSON 压缩为模型可读摘要, * 避免 sanitizeToolResult 截断破坏 JSON,同时不把二进制塞进上下文。 */ export declare function compactMediaToolJsonForModel(toolName: string, raw: string): string; /** 解析媒体工具原始 JSON,供 IM 出站合并(勿经 sanitize) */ export declare function parseMediaToolResultForOutbound(toolName: string, raw: string): Record | string; export declare function sanitizeToolResult(text: string, options?: ToolResultSanitizerOptions): string; //# sourceMappingURL=tool-result-sanitizer.d.ts.map