Transcript Incremental Projection

Nucleic-Session: 0FFD007B-0696-4517-9429-129C7B0FD5AC
Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
2026-07-06 18:27:29 -07:00
co-authored by Nucleic
parent 4ed1e0b9cd
commit b3da4cfcac
@@ -250,20 +250,8 @@ extension JSONValue {
return canonical == "null" ? "" : canonical
}
/// A one-line gist of a tool input/result for the collapsed row.
var compactSummary: String {
switch self {
case .string(let s): return s
case .object(let o):
if let cmd = o["command"]?.stringValue { return cmd }
if let path = o["file_path"]?.stringValue ?? o["path"]?.stringValue { return path }
return o.keys.sorted().joined(separator: ", ")
case .array(let a): return "[\(a.count) items]"
case .number(let n): return String(n)
case .bool(let b): return String(b)
case .null: return "null"
}
}
// (`compactSummary` — the one-line gist — lives in TranscriptProjection.swift, which builds
// standalone as the host-testable NucleicRemoteProjection SwiftPM target and needs it there.)
/// The full, **untruncated** content of a tool input for the approval card —
/// the user must see exactly what they are granting before allowing. Unlike