Files
openclaw/apps/ios/Sources/SessionKey.swift
Sash Zats 233b48daaa refactor: prune unused iOS code (#91996)
Prune unused iOS surfaces and regenerate the Xcode project. Add a scoped Periphery PR gate with hardened artifact handling and stale-status cleanup.

Co-authored-by: Sash Zats <sash@zats.io>
2026-06-15 02:07:15 -07:00

26 lines
1.1 KiB
Swift

import Foundation
enum SessionKey {
static func normalizeMainKey(_ raw: String?) -> String {
let trimmed = (raw ?? "").trimmingCharacters(in: .whitespacesAndNewlines)
return trimmed.isEmpty ? "main" : trimmed
}
static func makeAgentSessionKey(agentId: String, baseKey: String) -> String {
let trimmedAgent = agentId.trimmingCharacters(in: .whitespacesAndNewlines)
let trimmedBase = baseKey.trimmingCharacters(in: .whitespacesAndNewlines)
if trimmedAgent.isEmpty { return trimmedBase.isEmpty ? "main" : trimmedBase }
let normalizedBase = trimmedBase.isEmpty ? "main" : trimmedBase
return "agent:\(trimmedAgent):\(normalizedBase)"
}
static func agentId(from value: String?) -> String? {
let parts = (value ?? "")
.trimmingCharacters(in: .whitespacesAndNewlines)
.split(separator: ":", omittingEmptySubsequences: false)
guard parts.count >= 3, parts[0].lowercased() == "agent" else { return nil }
let agentId = String(parts[1]).trimmingCharacters(in: .whitespacesAndNewlines)
return agentId.isEmpty ? nil : agentId
}
}