Merge nucleic/tidy-spruce-otter-zmcs into dev

This commit is contained in:
2026-07-26 20:21:16 -07:00
parent c94e976ca6
commit 5e9e3b3438
@@ -2,9 +2,10 @@ import Foundation
import NucleicProtocol
/// Presentation for Nucleic's own sandbox-escape tools — the macOS/Linux VM pair, their
/// computer-use siblings, and `linux_container` — so a remote transcript reads the same way the
/// Mac's does: "macOS VM · $ swift build" rather than the raw `mcp__nucleic__mac_vm_exec` wire
/// name followed by a JSON gist.
/// computer-use siblings, and `linux_container` — plus the shell tool, whose wire name is still
/// Claude Code's `Bash` but which runs nash (the Nucleic agent shell) — so a remote transcript
/// reads the same way the Mac's does: "macOS VM · $ swift build" rather than the raw
/// `mcp__nucleic__mac_vm_exec` wire name followed by a JSON gist.
///
/// The mobile echo of `NucleicCore/SandboxToolDisplay.swift`, trimmed to what this app shows (a
/// label, a glyph, a one-line body — iOS has no per-tool working row or tool-block verb). It
@@ -27,6 +28,9 @@ enum SandboxToolDisplay {
/// file doesn't speak for, so the caller keeps the tool name unchanged.
static func label(for toolName: String) -> String? {
switch bareName(toolName) {
// The wire name is Claude Code's, but the shell behind it is nash.
case "Bash": "Nash"
case "BashOutput": "Nash output"
case "mac_vm_exec", "mac_vm_control": "macOS VM"
case "mac_vm_computer", "mac_vm_computer_batch": "macOS VM screen"
case "mac_vm_clear_notifications": "macOS VM notifications"