From 0a551a37eb5da6b1b070cbb6d27d179cad2b5971 Mon Sep 17 00:00:00 2001 From: Andrew Blakeslee Moore Date: Thu, 2 Jul 2026 19:18:24 -0700 Subject: [PATCH] Review Feature Access Nucleic-Session: 85A6233A-F3F6-44B2-AD0B-261D49EE9C35 Co-authored-by: Nucleic --- .../NucleicRemote/Models/RemoteStore.swift | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift index 490144d..381fed6 100644 --- a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift +++ b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift @@ -414,6 +414,21 @@ final class RemoteStore: ObservableObject { event(14, .usage(Usage(inputTokens: 84_300, outputTokens: 2_140, costUSD: 0.0421, contextInputTokens: 84_300))), event(15, .runFinished(RunFinished(outcome: .completed, finalText: "Done."))), ] + // If this session is blocked on a human, surface a real approval card so the + // Allow/Deny loop is exercisable in the demo (the seeded `a1` session). + if sessions.first(where: { $0.sessionID == sessionID })?.status == .awaitingApproval { + openApprovals = [ApprovalRequest( + id: Self.demoApprovalID(for: sessionID), + sessionID: sessionID, toolCallID: "t-appr", toolName: "Bash", + input: ["command": "npm run deploy"], title: "Run npm run deploy", + risk: .execute, createdAt: Date())] + } + } + + /// Deterministic approval id for a demo session's seeded approval, so re-opening the same + /// session doesn't stack duplicate cards. + private static func demoApprovalID(for sessionID: SessionID) -> ApprovalID { + ApprovalID(rawValue: "demo-appr-\(sessionID.rawValue)") } func closeOpen() {