/** * Session runtime 端口类型。 * * 职责说明(中文) * - 定义 Plugin、transport 与 Agent 内部运行时访问单个 Session 的稳定协议。 * - 不暴露具体 Session class,也不包含 Session 集合管理能力。 */ import type { ModelClient } from "@downcity/type"; import type { SessionAssistantResultPart, SessionPromptPart } from "./SessionContent.js"; import type { SessionExecutor } from "./SessionExecution.js"; import type { AgentSessionPromptInput } from "../sdk/AgentSessionPrompt.js"; import type { AgentSessionStopResult } from "../sdk/AgentSessionStop.js"; import type { AgentSessionTurnHandle } from "../sdk/AgentSessionTurn.js"; import type { SessionMutationSubscriber, SessionMutationUnsubscribe } from "./SessionMutation.js"; import type { SessionContextSnapshot } from "./SessionSegment.js"; /** * 单个 Session 实例端口。 */ export interface SessionPort { /** 当前 Session 稳定标识。 */ readonly session_id: string; /** 获取当前 Session 优先解析后的运行时模型实例。 */ get_model(): ModelClient | undefined; /** 获取当前 Session 的执行端口。 */ get_executor(): SessionExecutor; /** 读取当前 Session 的累计 Summary 与 Active Message 快照。 */ context(): Promise; /** 向当前 Session actor 追加一条新的 prompt。 */ prompt(input: AgentSessionPromptInput): Promise; /** 停止当前 turn,并取消尚未被吸收的排队 prompt。 */ stop(): Promise; /** 订阅当前 Session 后续产生的 future 事件。 */ subscribe(subscriber: SessionMutationSubscriber): SessionMutationUnsubscribe; /** * 追加一条 user 消息。 */ append_user_message(params: { /** 已构造好的 User 内容。 */ parts?: SessionPromptPart[]; /** 未传入结构化内容时使用的文本。 */ text?: string; }): Promise; /** * 追加一条 assistant 消息。 */ append_assistant_message(params: { /** 已构造好的 Assistant 内容。 */ parts?: SessionAssistantResultPart[]; /** 未传入结构化内容时使用的文本。 */ text?: string; }): Promise; /** 返回当前 Session 是否正在执行。 */ is_executing(): boolean; } //# sourceMappingURL=SessionPort.d.ts.map