Something went wrong. Try again.
sloproxy
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667package helps
import ( "crypto/sha256" "encoding/binary" "strconv" "strings"
"github.com/google/uuid" cliproxyexecutor "github.com/router-for-me/CLIProxyAPI/v7/sdk/cliproxy/executor" cliproxysession "github.com/router-for-me/CLIProxyAPI/v7/sdk/cliproxy/session")
// DerivedSessionID returns the first context-derived session identity in metadata order.func DerivedSessionID(metadataSets ...map[string]any) string { for _, metadata := range metadataSets { if derivedID := cliproxysession.DerivedID(metadata); derivedID != "" { return derivedID } } return ""}
// DerivedSessionUUID maps a derived session identity to a provider-scoped stable UUID.func DerivedSessionUUID(provider string, metadataSets ...map[string]any) string { return stableProviderSessionUUID(provider, "derived-session", DerivedSessionID(metadataSets...))}
// ProviderSessionUUID prefers a long-lived execution session and falls back to the derived identity.func ProviderSessionUUID(provider string, metadataSets ...map[string]any) string { for _, metadata := range metadataSets { if executionID := metadataString(metadata, cliproxyexecutor.ExecutionSessionMetadataKey); executionID != "" { return stableProviderSessionUUID(provider, "execution-session", executionID) } } return DerivedSessionUUID(provider, metadataSets...)}
func stableProviderSessionUUID(provider string, kind string, identityValue string) string { provider = strings.ToLower(strings.TrimSpace(provider)) identityValue = strings.TrimSpace(identityValue) if provider == "" || identityValue == "" { return "" } identity := strings.Join([]string{"cli-proxy-api", provider, kind, identityValue}, "\x00") return uuid.NewSHA1(uuid.NameSpaceOID, []byte(identity)).String()}
// DerivedAntigravitySessionID maps a derived session identity to Antigravity's negative decimal format.func DerivedAntigravitySessionID(metadataSets ...map[string]any) string { derivedID := DerivedSessionID(metadataSets...) if derivedID == "" { return "" } sum := sha256.Sum256([]byte("cli-proxy-api:antigravity:derived-session\x00" + derivedID)) value := int64(binary.BigEndian.Uint64(sum[:8])) & 0x7FFFFFFFFFFFFFFF return "-" + strconv.FormatInt(value, 10)}
func metadataString(metadata map[string]any, key string) string { if metadata == nil { return "" } value, _ := metadata[key].(string) return strings.TrimSpace(value)}