mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-07 13:02:07 +00:00
After the folder picker fix, an added remote folder was still half-usable: the desktop's git GUI (coding-rail status, worktree lanes, review pane, branch switch, file diff) all ran Electron-local git on the USER's machine, so against a remote-gateway repo they silently degraded to empty. Mirror the whole surface over the dashboard REST API so it acts on the BACKEND repo where sessions actually run: - hermes_cli/web_git.py: git/gh logic (status, worktrees, branches, review list/diff/stage/unstage/revert/commit/commit-context/push/ship-info/ create-pr, file-diff, worktree add/remove, branch switch) shelling to the system git, mirroring the Electron ops' shapes. - web_server.py: /api/git/* routes (same auth gate + _fs_path hardening as /api/fs, executor-offloaded, mutations -> 400). - apps/desktop desktop-git.ts: remote-aware facade exposing the same shape as window.hermesDesktop.git; coding-status / review / projects / model / desktop-fs route through desktopGit() so local stays Electron, remote hits /api/git/*. Tests: tests/hermes_cli/test_web_server_git.py (real repo: status counts, review classification, diff incl. untracked all-add, stage+commit roundtrip, worktree/branch lifecycle, commit-context, gh-absent ship-info, auth) and desktop-git.test.ts (local vs remote routing, envelope unwrap, POST bodies). |
||
|---|---|---|
| .. | ||
| agents | ||
| artifacts | ||
| chat | ||
| command-center | ||
| command-palette | ||
| cron | ||
| gateway/hooks | ||
| hooks | ||
| messaging | ||
| overlays | ||
| pet-generate | ||
| pet-overlay | ||
| profiles | ||
| right-sidebar | ||
| session/hooks | ||
| settings | ||
| shell | ||
| skills | ||
| desktop-controller.tsx | ||
| floating-hud.ts | ||
| index.tsx | ||
| layout-constants.ts | ||
| model-picker-overlay.tsx | ||
| model-visibility-overlay.tsx | ||
| page-search-shell.tsx | ||
| routes.ts | ||
| session-picker-overlay.tsx | ||
| session-switcher.tsx | ||
| types.ts | ||
| updates-overlay.tsx | ||