diff --git a/lua/avante/llm_tools/delete_tool_use_messages.lua b/lua/avante/llm_tools/delete_tool_use_messages.lua index 5348343..424dcdf 100644 --- a/lua/avante/llm_tools/delete_tool_use_messages.lua +++ b/lua/avante/llm_tools/delete_tool_use_messages.lua @@ -46,14 +46,16 @@ function M.func(input, opts) local history_messages = History.get_history_messages(sidebar.chat_history) local the_deleted_message_uuids = {} for _, msg in ipairs(history_messages) do - if History.Helpers.is_tool_use_message(msg) then - local content = msg.message.content - if type(content) == "table" then - for _, item in ipairs(content) do - if item.id == input.tool_use_id then table.insert(the_deleted_message_uuids, msg.uuid) end - end - end + local use = History.Helpers.get_tool_use_data(msg) + if use then + if use.id == input.tool_use_id then table.insert(the_deleted_message_uuids, msg.uuid) end + goto continue end + local result = History.Helpers.get_tool_result_data(msg) + if result then + if result.tool_use_id == input.tool_use_id then table.insert(the_deleted_message_uuids, msg.uuid) end + end + ::continue:: end sidebar:delete_history_messages(the_deleted_message_uuids) return true, nil