Commit Graph

171 Commits

Author SHA1 Message Date
yetone
0490927061 fix: edit_file is an edit tool 2025-07-21 11:14:19 +08:00
Dmitry Torokhov
2335ea3d15 refactor(history): reduce computational complexity when handling history
When updating chat history to be used in LLM request there are several
instances where we do O(n^2) operations: scanning all messages to locate
a tool "use" and for each use scan messages again to locate
corresponding "result".

Refactor the code to scan messages once collecting tool uses and results
together, and then do 2nd scan to drop incomplete tool invocations and
refresh "view" and "edit" results with the latest content.

Also reduce number of pre-scan loops (where we discard partially
generated messages or messages that are not interesting or too-old) by
combining them when possible.

This reduces time to scan initial 417 messages on my system (which
result in 576 final messages) from 0.32 to 0.12 seconds.
2025-07-18 22:36:21 -07:00
yetone
adbd296ba6 feat: integrated morph 2025-07-16 18:34:52 +08:00
Dmitry Torokhov
966eef743b refactor(history): move message rendering into history module
Move code related to converting history messages into UI representation
from utils into history/render.lua for better code organization and
clean up the implementation.
2025-07-16 12:49:15 +08:00
Dmitry Torokhov
06d9d8cec3 refactor(utils): remove history_messages_to_messages() function
Utils.history_messages_to_messages() is not used anywhere, remove it.
2025-07-16 12:49:15 +08:00
Dmitry Torokhov
d7c48075a5 refactor(history): move code collecting pending tools to history
Code dealing with scanning history messages and extracting some data or
state belongs to avante/history/ so move it there. Along with the move
update the implementation to make use of get_tool_use_data() and
get_tool_result_data() helpers to simplify it.

Also rename the function to History.get_pending_tools() to better
reflect its purpose: "uncalled" means something that was done without
request, unsolicited, not something that has not completed yet.
2025-07-16 12:49:15 +08:00
Dmitry Torokhov
34907fc1cd refactor(history): start moving history-related code into avante/history
The utils module has grown too big and contains unrelated functionality.
Start moving code related to managing history messages comprising chat
history into lua/avante/history module to keep the code more manageable.
2025-07-16 12:49:15 +08:00
yetone
127a12a878 fix: trim escapes for write_to_file tool (#2455) 2025-07-16 12:04:22 +08:00
yetone
154e5f578f feat: add timeout for bash tool (#2451) 2025-07-15 20:46:15 +08:00
Dmitry Torokhov
d3dde0c5ff refactor(utils): simplify and annotate count_lines() (#2446) 2025-07-15 16:42:30 +08:00
yetone
b8bb0fd969 refactor: llm tool parameters (#2449) 2025-07-15 16:40:25 +08:00
Arnon Keereena
a78af4ce99 Fix bugs where the file picker windows disappear on @file mentions (#2442)
Co-authored-by: Arnon Keereena <arnon.keereena@accenture.com>
2025-07-14 10:08:55 +08:00
Dmitry Torokhov
80f50af6fb Some refactors in suggestion.lua (#2443) 2025-07-14 10:05:03 +08:00
yetone
c0249db33d fix: call a slow function in a fast event context (#2424) 2025-07-08 19:54:21 +08:00
yetone
17a1f83950 fix: trim slashes (#2399) 2025-07-03 00:30:58 +08:00
yetone
203861bb71 feat: init project (#2395) 2025-07-02 18:44:30 +08:00
yetone
e64b5f054c fix: selector preview (#2362) 2025-06-28 20:07:25 +08:00
yetone
7738503c1d fix: open buffer (#2340) 2025-06-26 16:52:23 +08:00
yetone
102197c5bb fix: debounce error (#2337) 2025-06-26 15:38:57 +08:00
yetone
ad8b24e3bc fix: tool_use prompt (#2332) 2025-06-25 20:14:45 +08:00
Peter Cardenas
9a04edba4a chore: remove all references to nvim-treesitter (#2327) 2025-06-25 17:42:38 +08:00
yetone
07b703dbd5 fix: ReAct parser (#2330) 2025-06-25 16:55:10 +08:00
Peter Cardenas
6a75590c48 fix: error when editing a modified buffer (#2318) 2025-06-24 19:16:57 +08:00
yetone
c48808b4a8 fix: tool logs rendering (#2315) 2025-06-24 11:00:26 +08:00
yetone
e7113f1834 optimize: use cache to optimize the performance of streaming rendering (#2312) 2025-06-24 02:06:50 +08:00
yetone
77ee7f7f92 optimize: streaming update buffer (#2309) 2025-06-23 21:01:11 +08:00
hamidi-dev
7daf169228 feat(prompt_logger): Save prompts to disk and add buffer navigation via keymaps (#2075) 2025-06-23 01:20:03 +08:00
yetone
3033556d5b fix: tool calling (#2297) 2025-06-22 21:50:26 +08:00
yetone
285924d48e fix: open buffer (#2295) 2025-06-22 14:36:30 +08:00
yetone
86743a1d7d fix: resolve LSP sync error when setting buffer lines (#2290) 2025-06-21 21:16:55 +08:00
yetone
92460fab6a fix: safe open file (#2289) 2025-06-21 20:45:55 +08:00
yetone
060c0de2aa fix: respect tabbar (#2280) 2025-06-21 01:47:15 +08:00
guanghechen
436a02c355 fix(#2094): fix the path resolving in windows (#2248)
* fix(#2094): fix the path resolving in windows

* fix test case

* tweak test case
2025-06-17 16:55:19 +08:00
Avinash Thakur
b52a89cb08 fix: error when adding files where root != cwd (#2233) 2025-06-17 16:08:15 +08:00
yetone
fcf457ed7f fix: refine tools (#2229) 2025-06-16 01:27:39 +08:00
yetone
ad05a802f9 feat: todos (#2184) 2025-06-15 15:10:07 +08:00
yetone
fdf4716ec0 fix: fuzzy match (#2221) 2025-06-13 16:46:55 +08:00
Brewinski
2030512dfe fix(read-file-or-buf): report error when path is a directory (#2213) 2025-06-12 11:26:26 +08:00
Avinash Thakur
8396cc77e4 feat: allow overriding provider headers (#2161) 2025-06-08 02:04:00 +08:00
yetone
ac5dc900eb fix: updating provider configuration (#2187) 2025-06-07 18:02:35 +08:00
yetone
a2f31bd2e2 fix: updating provider config (#2183) 2025-06-07 16:34:21 +08:00
yetone
801adc4692 feat: delete tool use messages tool (#2158) 2025-06-05 02:51:46 +08:00
Sam Wall
860a479789 feat: add terminal buffers to selected files (#2077)
Co-authored-by: Samuel Wall <me@samuelwall.uk>
2025-06-05 01:42:50 +08:00
yetone
3a77a591b3 optimize: streaming diff performance (#2150) 2025-06-04 23:28:28 +08:00
yetone
c23ce02bbd fix: add --no-ignore-parent option for rg (#2148) 2025-06-04 22:58:07 +08:00
yetone
fc0e78e88f fix: gemini ReAct (#2132) 2025-06-04 01:14:06 +08:00
yetone
c8b075333f feat: use scan_directory util (#2121) 2025-06-03 11:51:58 +08:00
yetone
746f071b37 feat: streaming diff (#2107) 2025-06-02 16:44:33 +08:00
yetone
bc403ddcbf feat: ReAct tool calling (#2104) 2025-05-31 08:53:34 +08:00
yetone
22418bff8b fix: more reliable remove_indentation (#2102) 2025-05-30 12:55:15 +08:00