mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-29 01:31:41 +00:00
fix(tui): approval flow + input ergonomics + selection perf
- tui_gateway: route approvals through gateway callback (HERMES_GATEWAY_SESSION/ HERMES_EXEC_ASK) so dangerous commands emit approval.request instead of silently falling through the CLI input() path and auto-denying - approval UX: dedicated PromptZone between transcript and composer, safer defaults (sel=0, numeric quick-picks, no Esc=deny), activity trail line, outcome footer under the cost row - text input: Ctrl+A select-all, real forward Delete, Ctrl+W always consumed (fixes Ctrl+Backspace at cursor 0 inserting literal w) - hermes-ink selection: swap synchronous onRender() for throttled scheduleRender() on drag, and only notify React subscribers on presence change — no more per-cell paint/subscribe spam - useConfigSync: silence config.get polling failures instead of surfacing 'error: timeout: config.get' in the transcript
This commit is contained in:
parent
0219da9626
commit
5b386ced71
15 changed files with 319 additions and 129 deletions
|
|
@ -91,7 +91,7 @@ class TurnController {
|
|||
this.idle()
|
||||
this.clearReasoning()
|
||||
this.turnTools = []
|
||||
patchTurnState({ activity: [] })
|
||||
patchTurnState({ activity: [], outcome: '' })
|
||||
patchUiState({ status: 'interrupted' })
|
||||
this.clearStatusTimer()
|
||||
|
||||
|
|
@ -176,7 +176,7 @@ class TurnController {
|
|||
this.turnTools = []
|
||||
this.persistedToolLabels.clear()
|
||||
this.bufRef = ''
|
||||
patchTurnState({ activity: [] })
|
||||
patchTurnState({ activity: [], outcome: '' })
|
||||
|
||||
return { finalText, savedReasoning, savedReasoningTokens, savedTools, savedToolTokens, wasInterrupted }
|
||||
}
|
||||
|
|
@ -271,7 +271,7 @@ class TurnController {
|
|||
this.turnTools = []
|
||||
this.toolTokenAcc = 0
|
||||
this.persistedToolLabels.clear()
|
||||
patchTurnState({ activity: [] })
|
||||
patchTurnState({ activity: [], outcome: '' })
|
||||
}
|
||||
|
||||
fullReset() {
|
||||
|
|
@ -312,7 +312,7 @@ class TurnController {
|
|||
this.toolTokenAcc = 0
|
||||
this.persistedToolLabels.clear()
|
||||
patchUiState({ busy: true })
|
||||
patchTurnState({ activity: [], subagents: [], toolTokens: 0, tools: [], turnTrail: [] })
|
||||
patchTurnState({ activity: [], outcome: '', subagents: [], toolTokens: 0, tools: [], turnTrail: [] })
|
||||
}
|
||||
|
||||
upsertSubagent(p: SubagentEventPayload, patch: (current: SubagentProgress) => Partial<SubagentProgress>) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue