feat(app): UDS bridge (channel/invoke/emit) + xterm.js terminal, M0 e2e works

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-09 20:24:57 +07:00
parent 1579686fdd
commit 56893c51d0
7 changed files with 447 additions and 3 deletions
+31
View File
@@ -0,0 +1,31 @@
export function SurfaceList({
surfaces,
active,
onSelect,
}: {
surfaces: string[];
active: string | null;
onSelect: (id: string) => void;
}) {
return (
<div style={{ width: 160, background: "#1a1a1a", color: "#ccc", padding: 8 }}>
<div style={{ opacity: 0.6, fontSize: 11, marginBottom: 8 }}>SURFACES</div>
{surfaces.map((id) => (
<div
key={id}
onClick={() => onSelect(id)}
style={{
padding: "4px 6px",
cursor: "pointer",
borderRadius: 4,
background: id === active ? "#333" : "transparent",
fontFamily: "monospace",
fontSize: 12,
}}
>
{id}
</div>
))}
</div>
);
}