hermes-agent/apps/desktop/electron
Ben c101207b99 feat(desktop): Hermes Cloud connection mode — one sign-in, agent discovery, silent connect
Adds a third "Hermes Cloud" gateway mode to the desktop app: one portal
sign-in auto-discovers the agents on your account and connects to any of
them with no second interactive prompt.

- Electron: widen connection mode to 'local' | 'remote' | 'cloud', routed
  through a centralized modeIsRemoteLike() so every resolution site treats
  cloud exactly like remote; portal discovery (GET /api/agents over the
  OAuth partition), Privy-cookie liveness, multi-org picker (NAS 409), and a
  silent per-agent /oauth cascade (load protected root, not /login).
- Persist a cloudOrg on the cloud block; unselect cloud on mode switch.
- Renderer: Hermes Cloud ModeCard + agent picker (signed-out/loading/empty/
  list), org picker, Change-org, connected-highlight + Connected pill.
- i18n (en + zh full; ja/zh-hant inherit via defineLocale), Cloud icon.
- IPC: hermes☁️{status,login,logout,discover,agent-sign-in}.

Salvage of #55402 onto current main: the original branch predates the
desktop electron .cjs -> .ts migration (39d09453f), so the electron half
was re-authored against the .ts files. Authorship preserved.

cloud-auto-discovery Phases 3 + 4.
2026-07-10 01:37:43 -05:00
..
backend-command.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
backend-command.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
backend-env.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
backend-env.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
backend-probes.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
backend-probes.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
backend-ready.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
backend-ready.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
bootstrap-platform.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
bootstrap-platform.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
bootstrap-runner.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
bootstrap-runner.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
connection-config.test.ts feat(desktop): Hermes Cloud connection mode — one sign-in, agent discovery, silent connect 2026-07-10 01:37:43 -05:00
connection-config.ts feat(desktop): Hermes Cloud connection mode — one sign-in, agent discovery, silent connect 2026-07-10 01:37:43 -05:00
dashboard-token.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
dashboard-token.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
desktop-uninstall.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
desktop-uninstall.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
embed-referer.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
entitlements.mac.inherit.plist fix(desktop): inherit microphone entitlement for macOS helpers 2026-06-03 07:32:00 +07:00
entitlements.mac.plist Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
fs-read-dir.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
fs-read-dir.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
gateway-ws-probe.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
gateway-ws-probe.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
git-repo-scan.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
git-review-ops.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
git-review-ops.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
git-root.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
git-root.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
git-worktree-ops.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
git-worktree-ops.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
hardening.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
hardening.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
link-title-window.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
link-title-window.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
main.ts feat(desktop): Hermes Cloud connection mode — one sign-in, agent discovery, silent connect 2026-07-10 01:37:43 -05:00
oauth-net-request.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
oauth-net-request.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
oauth-session-request.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
preload.ts feat(desktop): Hermes Cloud connection mode — one sign-in, agent discovery, silent connect 2026-07-10 01:37:43 -05:00
profile-delete-respawn.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
session-windows.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
session-windows.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
titlebar-overlay-width.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
titlebar-overlay-width.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-count.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
update-count.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-marker.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-marker.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-rebuild.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
update-rebuild.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
update-relaunch.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-relaunch.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-remote.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-remote.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
vscode-marketplace.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
vscode-marketplace.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
window-state.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
window-state.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
windows-child-process.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
windows-hermes-resolution.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
windows-user-env.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
windows-user-env.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
workspace-cwd.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
workspace-cwd.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
wsl-clipboard-image.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
wsl-clipboard-image.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
zoom.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
zoom.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00