CreateSession 创建会话
(sessionID, userID string)
| 222 | |
| 223 | // CreateSession 创建会话 |
| 224 | func (w *Workflow) CreateSession(sessionID, userID string) *WorkflowSession { |
| 225 | session := &WorkflowSession{ |
| 226 | ID: sessionID, |
| 227 | WorkflowID: w.ID, |
| 228 | State: make(map[string]any), |
| 229 | History: make([]*WorkflowRun, 0), |
| 230 | CreatedAt: time.Now(), |
| 231 | UpdatedAt: time.Now(), |
| 232 | } |
| 233 | |
| 234 | // 初始化会话状态 |
| 235 | if w.SessionState != nil { |
| 236 | maps.Copy(session.State, w.SessionState) |
| 237 | } |
| 238 | |
| 239 | // 缓存会话 |
| 240 | if w.CacheSession { |
| 241 | w.workflowSession = session |
| 242 | } |
| 243 | |
| 244 | return session |
| 245 | } |
| 246 | |
| 247 | // SaveSession 保存会话 |
| 248 | func (w *Workflow) SaveSession(session *WorkflowSession) error { |
no test coverage detected