mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-08-19 09:27:21 +02:00
Add files via upload
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
package multiagent
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
func newEinoRunID() string {
|
||||
return uuid.New().String()
|
||||
}
|
||||
|
||||
func withEinoRunIDProgress(
|
||||
runID string,
|
||||
progress func(eventType, message string, data interface{}),
|
||||
) func(eventType, message string, data interface{}) {
|
||||
runID = strings.TrimSpace(runID)
|
||||
if progress == nil || runID == "" {
|
||||
return progress
|
||||
}
|
||||
return func(eventType, message string, data interface{}) {
|
||||
progress(eventType, message, addEinoRunIDToProgressData(runID, data))
|
||||
}
|
||||
}
|
||||
|
||||
func addEinoRunIDToProgressData(runID string, data interface{}) interface{} {
|
||||
runID = strings.TrimSpace(runID)
|
||||
if runID == "" {
|
||||
return data
|
||||
}
|
||||
switch v := data.(type) {
|
||||
case map[string]interface{}:
|
||||
if existing, ok := v["runId"]; !ok || strings.TrimSpace(fmt.Sprint(existing)) == "" {
|
||||
v["runId"] = runID
|
||||
}
|
||||
return v
|
||||
default:
|
||||
return data
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user