mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-08-15 23:50:32 +02:00
39 lines
955 B
Go
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,
|
|
}
|
|
}
|