返回 DeepSeek-Reasonix
session_managers.go
根目录 / internal / boot / session_managers.go
1 package boot
2
3 import (
4 "reasonix/internal/persistentshell"
5 "reasonix/internal/sessiontemp"
6 "reasonix/internal/tool"
7 "reasonix/internal/tool/builtin"
8 )
9
10 func sessionManagers(opts Options) (*sessiontemp.Manager, *persistentshell.Manager) {
11 st := opts.SessionTemp
12 if st == nil {
13 st = sessiontemp.New()
14 }
15 return st, persistentshell.OrNew(opts.PersistentShell)
16 }
17
18 func bindPersistentShell(reg *tool.Registry, m *persistentshell.Manager) {
19 if reg == nil || m == nil {
20 return
21 }
22 t, ok := reg.Get("bash")
23 if !ok {
24 return
25 }
26 rebound, ok := builtin.BindPersistentShell(t, m)
27 if ok {
28 reg.Add(rebound)
29 }
30 }
31
31 lines GO