@@ -29,12 +29,10 @@ type Session struct {
2929
3030// SessionManager manages all opencode sessions
3131type SessionManager struct {
32- sessions map [string ]* Session
33- mutex sync.RWMutex
34- sessionDir string
35- maxSessions int
36- store * JSONSessionStore
37- retentionHours map [string ]int // retention hours by status
32+ sessions map [string ]* Session
33+ mutex sync.RWMutex
34+ sessionDir string
35+ maxSessions int
3836}
3937
4038// Global session manager
@@ -59,19 +57,10 @@ func getEnvInt(key string, defaultValue int) int {
5957}
6058
6159func main () {
62- // Initialize logger first
63- InitLogger ()
64- logger := GetLogger ()
65-
66- logger .Info ("Starting OpenCode MCP server" )
67-
6860 // Initialize session manager
6961 sessionDir := getEnv ("OPENCODE_SESSION_DIR" , "/tmp/opencode-sessions" )
7062 maxSessions := getEnvInt ("OPENCODE_MAX_SESSIONS" , 10 )
7163
72- logger .Info ("Session directory: %s" , sessionDir )
73- logger .Info ("Max sessions: %d" , maxSessions )
74-
7564 // Ensure session directory exists
7665 if err := os .MkdirAll (sessionDir , 0755 ); err != nil {
7766 log .Fatalf ("Failed to create session directory: %v" , err )
@@ -81,28 +70,6 @@ func main() {
8170 sessions : make (map [string ]* Session ),
8271 sessionDir : sessionDir ,
8372 maxSessions : maxSessions ,
84- retentionHours : map [string ]int {
85- "completed" : getEnvInt ("OPENCODE_COMPLETED_RETENTION_HOURS" , getEnvInt ("OPENCODE_DEFAULT_RETENTION_HOURS" , 168 )), // 7 days default
86- "failed" : getEnvInt ("OPENCODE_FAILED_RETENTION_HOURS" , 24 ),
87- "stopped" : getEnvInt ("OPENCODE_STOPPED_RETENTION_HOURS" , 48 ),
88- "running" : 0 , // Never clean up running sessions
89- "starting" : 0 , // Never clean up starting sessions
90- },
91- }
92-
93- // Initialize persistence store
94- globalSessionManager .store = NewJSONSessionStore (sessionDir , globalSessionManager )
95-
96- // Start auto-save
97- autoSaveInterval := getEnvDuration ("OPENCODE_AUTO_SAVE_INTERVAL" , 30 * time .Second )
98- globalSessionManager .store .StartAutoSave (autoSaveInterval )
99- defer globalSessionManager .store .StopAutoSave ()
100-
101- // Load existing sessions on startup
102- if err := globalSessionManager .LoadSessions (); err != nil {
103- log .Printf ("Warning: Failed to load existing sessions: %v" , err )
104- } else {
105- log .Printf ("Loaded %d existing sessions" , len (globalSessionManager .sessions ))
10673 }
10774
10875 // Create MCP server
0 commit comments