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

+5 -3
View File
@@ -76,10 +76,12 @@ type turnEnvResolver struct {
// 全访问 owner env(身份不变)加上该会话绑定的角色。
// 空白角色意味着「继承全局默认」;loop 执行那最后一次
// 回退,因此网关永远不必知道默认角色的 id。
//
// 构造走 loop.OwnerEnvFor —— 与 IM 的主人私聊车道**同一个入口**
// (channelbridge/transcript.go 的 turnEnv):两条车道的 runEnv 因此逐字段同源,
// SessionEnv 将来新增字段时会一起拿到,而不是各自漂移。
func (t turnEnvResolver) owner(ctx context.Context, sessionID string) loop.SessionEnv {
env := loop.OwnerEnv()
env.PersonaID = t.sessionPersona(ctx, sessionID)
return env
return loop.OwnerEnvFor(t.sessionPersona(ctx, sessionID))
}
// sessionPersona 返回绑定到 sessionID 的角色,会话继承全局