/** * SDK Session 标题生成与持久化辅助。 * * 关键点(中文) * - session title 是 `meta.json` 顶层字段,列表与详情都以它为准。 * - title 默认允许为空;只有模型成功生成标题时才会写入。 * - 当 title 仍为空时,后续执行链路可以再次尝试生成。 */ import { type LanguageModel } from "ai"; import type { SessionHistoryMetaV1 } from "../executor/types/SessionHistoryMeta.js"; import type { SessionRecordV1 } from "../executor/types/SessionRecords.js"; import type { Logger } from "../utils/logger/Logger.js"; import type { SessionStore } from "../types/store/SessionStore.js"; /** * 标题持久化参数。 */ export interface EnsureSessionTitleParams { /** 当前 Session 的领域持久化入口。 */ store: SessionStore; /** * 当前 session_id。 */ session_id: string; /** * 当前 session 已落盘消息。 */ messages: SessionRecordV1[]; /** * 可选模型实例;传入时会尝试生成更短标题。 */ model?: LanguageModel; /** * 当前模型展示标签;仅用于排障日志,不参与生成逻辑。 */ model_label?: string; /** * 当前 session 运行日志器;标题生成失败时仅记录摘要,不影响主流程。 */ logger?: Logger; /** * 是否允许调用模型生成标题。 */ generate?: boolean; /** 可选的标题请求取消信号。 */ signal?: AbortSignal; /** 可选的标题提交入口,用于与其他 metadata mutation 串行化。 */ commit_title?: (title: string) => Promise; } /** * 确保当前 session meta 中持久化 title。 */ export declare function ensure_session_title(input: EnsureSessionTitleParams): Promise; //# sourceMappingURL=SessionTitle.d.ts.map