mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-22 16:25:58 +00:00
Surface the session's first-class Project in both chat surfaces: the Desktop status bar (project name as the workspace label, full cwd in the tooltip) and the TUI status label + /status output. One source of truth. The per-profile projects.db is the authority, read in tui_gateway via _project_info_for_cwd (backed by projects_db.project_for_path) and threaded through every session.info emission path the TUI consumes. The Desktop already caches that truth in $projectTree, so it DERIVES the label from it (projectNameForCwd) instead of carrying a second per-session $currentProject atom fed from session.info. That drops the parallel state #64721 introduced and the entire reset/reconciliation surface it required (resume, agentless cwd.set, gateway-switch, fresh-draft): the label is purely derived, so it stays correct whenever the cwd or the project tree changes. Only explicit, named projects resolve on both surfaces, so an auto-discovered repo root keeps the cwd-leaf label everywhere. Excludes the unrelated markdown shell-fence change bundled in #64721. |
||
|---|---|---|
| .. | ||
| slash | ||
| createGatewayEventHandler.ts | ||
| createSlashHandler.ts | ||
| delegationStore.ts | ||
| gatewayContext.tsx | ||
| gatewayRecovery.ts | ||
| inputSelectionStore.ts | ||
| interfaces.ts | ||
| overlayStore.ts | ||
| petFlashStore.ts | ||
| scroll.ts | ||
| setupHandoff.ts | ||
| spawnHistoryStore.ts | ||
| submissionCore.ts | ||
| turnController.ts | ||
| turnStore.ts | ||
| uiStore.ts | ||
| useComposerState.ts | ||
| useConfigSync.ts | ||
| useInputHandlers.ts | ||
| useLongRunToolCharms.ts | ||
| useMainApp.ts | ||
| usePet.ts | ||
| useSessionLifecycle.ts | ||
| useSubmission.ts | ||