/** * SessionState:本地 Session 配置与 Metadata 状态。 * * 关键点(中文) * - 统一管理本地 Session 的初始化、配置、标题与 metadata。 * - Message 持久化统一交给 `SessionMessages`,这里仅读取 Message 快照更新 metadata。 * - 不负责 Turn 编排、Message 创建或 Action 生命周期。 */ import type { AgentSessionConfigSnapshot } from "../types/agent/SessionTypes.js"; import type { AgentModel } from "../agent/AgentModel.js"; import type { SessionStateOptions } from "../types/session/SessionState.js"; import type { SessionApprovalMode } from "../types/session/SessionInteraction.js"; /** Session 模型配置写入结果。 */ export interface SessionModelSetResult { /** 已包含最新运行时模型实例的 configured 快照。 */ config: AgentSessionConfigSnapshot; /** 持久化模型身份是否发生真实变化。 */ changed: boolean; } /** * 本地 Session 配置与 Metadata 状态管理器。 */ export declare class SessionState { private readonly agent_id; private readonly session_id; private readonly store; private readonly messages; private readonly state; private readonly logger; private readonly ensure_configured_hook?; private readonly get_model; private readonly publish_event; private readonly title_task; private metadata_mutation_chain; constructor(options: SessionStateOptions); /** * 读取当前 session 配置快照。 */ get_config(): AgentSessionConfigSnapshot; /** 读取当前 Session 已接受的 Shell 审批模式。 */ get_approval_mode(): SessionApprovalMode; /** * 读取当前 session 创建时间。 */ get_created_at(): number; /** * 读取当前 session 参考时区。 */ get_timezone(): string; /** * 初始化当前 session metadata 与内存快照。 */ initialize(): Promise; /** * 在执行前确保当前 session 已完成初始化与宿主装配。 */ ensure_ready_for_execution(): Promise; /** * 在 prompt 执行前确保当前 session 已可运行。 */ ensure_runnable(): Promise; /** * 写入当前 session 配置。 */ set_model(model: AgentModel): Promise; /** 接受并持久化当前 Session 的 Shell 审批模式。 */ set_approval_mode(mode: SessionApprovalMode): Promise; /** 在 Session Step 检查点提交模型配置。 */ apply_model_config(config: AgentSessionConfigSnapshot): void; /** * 仅刷新当前 session metadata。 */ touch_metadata(): Promise; /** 在后台刷新 Session metadata,不阻塞当前 Turn。 */ touch_metadata_in_background(): void; /** 异步调度首条用户消息的 Session 标题生成。 */ schedule_title_generation(): void; /** 取消并释放当前 Session 的标题后台任务。 */ dispose_title_generation(): void; /** 串行提交 Session metadata,避免后台标题覆盖其他字段。 */ private run_metadata_mutation; } //# sourceMappingURL=SessionState.d.ts.map