/**
* Thinking 标签解析器
*
* 处理 ... 和 ... 标签,
* 支持跨 chunk 边界的情况。
*/
export type ThinkingChunkType = 'T' | 'E' | 't';
export interface ThinkingChunk {
t: ThinkingChunkType;
c: string;
}
export declare class ThinkingParser {
private buf;
private inThink;
private closeTag;
/**
* 处理一个 chunk,返回解析后的块
*/
process(chunk: string): ThinkingChunk[];
/**
* 流结束时刷新缓冲区
*/
flush(): ThinkingChunk[];
/**
* 处理在 thinking 标签内部的内容
*/
private _processInsideThink;
/**
* 处理在 thinking 标签外部的内容
*/
private _processOutsideThink;
/**
* 检查缓冲区尾部是否包含关闭标签的部分
*/
private _partialSuffixLen;
/**
* 检查缓冲区尾部是否包含任何开始标签的部分
*/
private _partialOpenTagSuffixLen;
}
/**
* 从文本中移除所有 thinking 标签及其内容
* 用于非流式响应的处理
*/
export declare function stripThinkingTags(text: string): string;
/**
* 检测文本中是否包含 thinking 内容
*/
export declare function hasThinkingContent(text: string): boolean;
//# sourceMappingURL=thinking.d.ts.map