Files
2026-08-15 02:05:09 +08:00

39 lines
955 B
Go

package multiagent
import (
"path/filepath"
"strings"
"go.uber.org/zap"
)
type einoCheckpointRuntime struct {
Store *fileCheckPointStore
CheckPointID string
}
func newEinoCheckpointRuntime(checkpointDir, conversationID, orchMode string, logger *zap.Logger) *einoCheckpointRuntime {
checkpointDir = strings.TrimSpace(checkpointDir)
if checkpointDir == "" {
return nil
}
cpDir := filepath.Join(checkpointDir, sanitizeEinoPathSegment(conversationID))
store, err := newFileCheckPointStore(cpDir)
if err != nil {
if logger != nil {
logger.Warn("eino checkpoint store disabled", zap.String("dir", cpDir), zap.Error(err))
}
return nil
}
checkPointID := buildEinoCheckpointID(orchMode)
if logger != nil {
logger.Info("eino runner: checkpoint store enabled",
zap.String("dir", cpDir),
zap.String("checkPointID", checkPointID))
}
return &einoCheckpointRuntime{
Store: store,
CheckPointID: checkPointID,
}
}