import SwiftUI struct DeepLinkAgentPromptAlert: ViewModifier { @Environment(NodeAppModel.self) private var appModel: NodeAppModel private var promptBinding: Binding { Binding( get: { self.appModel.pendingAgentDeepLinkPrompt }, set: { _ in // Keep prompt state until explicit user action. }) } func body(content: Content) -> some View { content.alert(item: self.promptBinding) { prompt in Alert( title: Text("Run OpenClaw agent?") .font(OpenClawType.headline), message: Text( """ Message: \(prompt.messagePreview) URL: \(prompt.urlPreview) """) .font(OpenClawType.subhead), primaryButton: .cancel( Text("Cancel") .font(OpenClawType.subheadSemiBold)) { self.appModel.declinePendingAgentDeepLinkPrompt() }, secondaryButton: .default( Text("Run") .font(OpenClawType.subheadSemiBold)) { Task { await self.appModel.approvePendingAgentDeepLinkPrompt() } }) } } } extension View { func deepLinkAgentPromptAlert() -> some View { self.modifier(DeepLinkAgentPromptAlert()) } }