| perf(status-line): replaced index-based token cache with message sidecar cache
- Added Symbol-keyed sidecar on each AgentMessage to memoize estimateTokens, with a cheap content fingerprint to detect in-place mutations.
- Fixed stale cache on same-length replaceMessages, post-hoc error attachment, and branch rebuild edge cases.
- Fixed usage fetch error backoff: stamped fetchedAt on failure so the 5-min TTL also gates retries during outages.
- Extracted computeNonMessageBreakdown as shared helper to prevent drift between status-line and context panel token counts. | 7 天前 |
| fix(session): prevented runtime model switches from persisting default role
- Restricted setModel to persist settings only when persist: true is passed; all runtime switches (Ctrl+P, --model, /model, model picker temp selections) no longer overwrite modelRoles.default.
- Changed cycleRoleModels to accept a direction ("forward"/"backward") instead of a temporary flag; both directions now use applyRoleModel without persisting.
- Added persist: true exclusively to the model picker's "Set as default" action in SelectorController.
- Added test suite covering persistence behavior for setModel, cycleRoleModels, and cycleModel.
| 1 天前 |
| fix(tui): respected selector navigation keybindings
Replaced raw Up/Down arrow matching in selector-style components with the shared tui.select navigation keybindings.
Added regression coverage for Ctrl+P/Ctrl+N selector remaps across the reported components.
Fixes #1535
| 2 天前 |
| feat(coding-agent): added /tools command to display available agent tools
- Added /tools slash command to display agent-visible tools in interactive sessions.
- Added handleToolsCommand() method to InteractiveMode to delegate tools display to command controller.
- Added buildToolsMarkdown() utility function to generate formatted markdown table of available tools.
- Refactored showMarkdownPanel() helper to reduce duplication in markdown display logic across commands.
| 1 个月前 |
| feat: hashline improvements for spark
- Redesigned hashline patch syntax from anchor-based (A-B:) to hunk-header format (@@ A..B @@) with unified-diff compatibility.
- Removed autoDropPureInsertDuplicates option and simplified apply behavior to preserve duplicated boundary and context lines.
- Changed repeat operator from ^A-B to &A..B and range separator from - to .. for consistency with hunk-header syntax.
- Added image resizing and dimension notes to eval tool output; improved write tool hashline header sanitation for legacy formats.
- Removed 521 lines of boundary-duplicate absorption code and simplified parser to auto-convert bare body rows and unified-diff contamination.
| 4 天前 |