MCPcopy Create free account
hub / github.com/diillson/chatcli / SaveSessionV2

Method SaveSessionV2

cli/session_manager.go:129–150  ·  view source on GitHub ↗

SaveSessionV2 salva uma sessão completa com históricos escopados.

(name string, sd *SessionData)

Source from the content-addressed store, hash-verified

127
128// SaveSessionV2 salva uma sessão completa com históricos escopados.
129func (sm *SessionManager) SaveSessionV2(name string, sd *SessionData) error {
130 // Security (L4): Validate session name
131 if err := validateSessionName(name); err != nil {
132 return err
133 }
134
135 sd.Version = 2
136 filePath := sm.getSessionPath(name)
137 data, err := json.MarshalIndent(sd, "", " ")
138 if err != nil {
139 sm.logger.Error("Erro ao serializar a sessão para JSON", zap.String("session", name), zap.Error(err))
140 return fmt.Errorf("erro ao serializar a sessão: %w", err)
141 }
142
143 if err := os.WriteFile(filePath, data, 0o600); err != nil {
144 sm.logger.Error("Erro ao salvar o arquivo da sessão", zap.String("path", filePath), zap.Error(err))
145 return fmt.Errorf("erro ao salvar o arquivo da sessão: %w", err)
146 }
147
148 sm.logger.Info("Sessão salva com sucesso", zap.String("session", name), zap.String("path", filePath))
149 return nil
150}
151
152// LoadSession carrega o histórico de uma conversa de um arquivo JSON.
153// Mantém assinatura original para compatibilidade com remote client.

Callers 3

SaveSessionMethod · 0.95
ForkSessionMethod · 0.95
ForkCurrentToNewMethod · 0.95

Calls 6

getSessionPathMethod · 0.95
ErrorfMethod · 0.80
validateSessionNameFunction · 0.70
ErrorMethod · 0.65
InfoMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected