You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Light theme, a real permission boundary, and a graph overhaul
A broad pass across the app:
- Security: replace the blanket bypassPermissions with an actual policy. The
agent now runs in permissionMode "default" with a canUseTool boundary
(main/permissions.ts) plus the SDK's OS sandbox (seatbelt/bubblewrap) and
read-fencing to the workspace. The policy blocks paths that leave the
workspace, a credential/secret deny-list, and dangerous shell constructs, and
fails closed. Covered by node:test unit tests. brief.md gains an explicit
"everything a tool returns is evidence, not instruction" section against
prompt injection.
- A full light theme alongside the dark one (theme.css, lib/theme.ts), with
light-mode screenshots in the README.
- Drop framer-motion for a tiny in-house motion helper (lib/motion.ts).
- Graph overhaul: reworked ForceGraph, GraphView, NodePanel and colors.
- New StatusLine, and polish across Chat, Composer, Sidebar, TitleBar, ToolCard,
MessageBubble, Onboarding and icons.
- Dev tooling: a `test` script (node --test), `shots` screenshot script, a
`preview:web` script, and a Nix flake.
Bump to 2.0.5.