feat(runtime): IM 主人私聊补历史转录(与 Web 主会话同源:抽共享 transcript 包 + OwnerEnvFor 单入口)
CI / Backend (build / vet / test / cross-compile) (push) Has been cancelled
CI / Frontend (tsc + vite build) (push) Has been cancelled

This commit is contained in:
AskaEth committed 2026-10-05 11:36:18 +08:00
1 parent df8fc660c0
commit 9b903a89bc
14 files changed
+676 -181

No files matched your search

+15
View File
@@ -46,6 +46,21 @@ func OwnerEnv() SessionEnv {
return SessionEnv{ActorEnv: restrict.ActorOwner, MemWritable: true}
}
// OwnerEnvFor 返回绑定了显式角色的主人会话环境。它是**主人车道的唯一构造入口**:
// Web 主会话回合(gateway 的 turnEnvResolver.owner)与 IM 主人私聊回合
// (channelbridge 的私聊车道)都经它派生自己的 runEnv,两处因此逐字段同源 ——
// SessionEnv 将来新增字段时,两条车道会一起拿到它,而不会各自漂移出「同一个她、
// 两套环境」。
//
// personaID 为空表示「继承循环配置的默认角色」(与 OwnerEnv 同义,见 design/22 §4.2)。
// 它只界定提示词/记忆命名空间/情绪机/思考预算的作用域,**不是身份或权限输入**
// (项目红线:身份与权限在 channel 层的 actor 元数据上)。
func OwnerEnvFor(personaID string) SessionEnv {
env := OwnerEnv()
env.PersonaID = personaID
return env
}
// defaultSessionEnv 是调用方未挂载显式 env 时使用的
// owner 全权限环境:记忆全读写,即既有行为。
func defaultSessionEnv() SessionEnv {