Commit Graph

6 Commits

Author SHA1 Message Date
Mortdecai 65622501fe fix: block path traversal in static handler
The LAN-bound HTTP server joined the raw URL path onto the project dir,
so /../../.ssh/id_ed25519 (and %2e%2e variants) served any file the
user could read. Resolve and require the path stay inside the project.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 16:28:36 -04:00
Mortdecai 0c2c7def09 feat: CLI entry point + remove old root-level files
Add src/workbench/cli.py with subcommands: mcp (stdio transport), serve
(standalone project serving), list (show all projects). Remove legacy
server.py and scaffold.html from project root.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 07:34:40 -04:00
Mortdecai 4f34684e53 feat: MCP server with persistence — reattach to running servers on restart
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 07:33:27 -04:00
Mortdecai 16815ed6bb feat: project management module — create, log, read, list, server persistence
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 07:30:24 -04:00
Mortdecai 918261c3a5 feat: scaffold HTML v2 — full-width desktop layout, no terminal panel 2026-03-30 07:28:54 -04:00
Mortdecai 9755828ae4 feat: package scaffold — pyproject.toml, src/workbench/ layout 2026-03-30 07:28:01 -04:00