CrossRelay stage 2: Codex /v1/responses relay, config.toml manager, Codex page

This commit is contained in:
kate522 committed 2026-10-18 18:35:01 +08:00
1 parent 404704171d
commit 5112f7ca06
30 files changed
+3539 -72

No files matched your search

+16 -3
View File
@@ -136,15 +136,28 @@ func (m *Manager) Restore() (string, error) {
if len(backups) == 0 {
return "", fmt.Errorf("no backup found in %s", m.backupDir)
}
newest := backups[0]
data, err := os.ReadFile(filepath.Join(m.backupDir, newest.Name))
return m.restoreFromLocked(backups[0].Name)
}
// RestoreFrom copies the named backup over settings.json.
func (m *Manager) RestoreFrom(name string) (string, error) {
m.mu.Lock()
defer m.mu.Unlock()
if !strings.HasSuffix(name, ".json") || strings.ContainsAny(name, `/\`) {
return "", fmt.Errorf("invalid backup name %q", name)
}
return m.restoreFromLocked(name)
}
func (m *Manager) restoreFromLocked(name string) (string, error) {
data, err := os.ReadFile(filepath.Join(m.backupDir, name))
if err != nil {
return "", err
}
if err := m.writeFile(data); err != nil {
return "", err
}
return newest.Name, nil
return name, nil
}
// BackupInfo describes one backup file.