返回 DeepSeek-Reasonix
session_catalog_recovery_visibility.go
根目录 / desktop / session_catalog_recovery_visibility.go
1 package main
2
3 import (
4 "strings"
5
6 "reasonix/internal/sessioncatalog"
7 )
8
9 func recoveryOnlyHasContent(sessions []sessioncatalog.SessionRecord) bool {
10 for _, session := range sessions {
11 if session.Turns > 0 || strings.TrimSpace(session.Preview) != "" {
12 return true
13 }
14 }
15 return false
16 }
17
18 func recoveryOnlyRepresentative(sessions []sessioncatalog.SessionRecord) sessioncatalog.SessionRecord {
19 if len(sessions) == 0 {
20 return sessioncatalog.SessionRecord{}
21 }
22 if canonical := sessioncatalog.CanonicalSessionPathForTopic(sessions, ""); strings.TrimSpace(canonical) != "" {
23 for _, session := range sessions {
24 if session.Path == canonical {
25 return session
26 }
27 }
28 }
29 best := sessions[0]
30 for _, candidate := range sessions[1:] {
31 if candidate.Turns != best.Turns {
32 if candidate.Turns > best.Turns {
33 best = candidate
34 }
35 continue
36 }
37 if candidate.LastActivityAt != best.LastActivityAt {
38 if candidate.LastActivityAt > best.LastActivityAt {
39 best = candidate
40 }
41 continue
42 }
43 if candidate.Path < best.Path {
44 best = candidate
45 }
46 }
47 return best
48 }
49
49 lines GO