fix: filter out all dummy messages when summarize (#1989)
This commit is contained in:
@@ -5,7 +5,7 @@ local M = {}
|
|||||||
M.__index = M
|
M.__index = M
|
||||||
|
|
||||||
---@param message AvanteLLMMessage
|
---@param message AvanteLLMMessage
|
||||||
---@param opts? {is_user_submission?: boolean, visible?: boolean, displayed_content?: string, state?: avante.HistoryMessageState, uuid?: string, selected_filepaths?: string[], selected_code?: AvanteSelectedCode, just_for_display?: boolean}
|
---@param opts? {is_user_submission?: boolean, visible?: boolean, displayed_content?: string, state?: avante.HistoryMessageState, uuid?: string, selected_filepaths?: string[], selected_code?: AvanteSelectedCode, just_for_display?: boolean, is_dummy?: boolean}
|
||||||
---@return avante.HistoryMessage
|
---@return avante.HistoryMessage
|
||||||
function M:new(message, opts)
|
function M:new(message, opts)
|
||||||
opts = opts or {}
|
opts = opts or {}
|
||||||
@@ -22,6 +22,7 @@ function M:new(message, opts)
|
|||||||
if opts.selected_filepaths ~= nil then obj.selected_filepaths = opts.selected_filepaths end
|
if opts.selected_filepaths ~= nil then obj.selected_filepaths = opts.selected_filepaths end
|
||||||
if opts.selected_code ~= nil then obj.selected_code = opts.selected_code end
|
if opts.selected_code ~= nil then obj.selected_code = opts.selected_code end
|
||||||
if opts.just_for_display ~= nil then obj.just_for_display = opts.just_for_display end
|
if opts.just_for_display ~= nil then obj.just_for_display = opts.just_for_display end
|
||||||
|
if opts.is_dummy ~= nil then obj.is_dummy = opts.is_dummy end
|
||||||
return obj
|
return obj
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -166,6 +166,8 @@ function M.generate_prompts(opts)
|
|||||||
HistoryMessage:new({
|
HistoryMessage:new({
|
||||||
role = "assistant",
|
role = "assistant",
|
||||||
content = string.format("Viewing file %s to get the latest content", path),
|
content = string.format("Viewing file %s to get the latest content", path),
|
||||||
|
}, {
|
||||||
|
is_dummy = true,
|
||||||
}),
|
}),
|
||||||
HistoryMessage:new({
|
HistoryMessage:new({
|
||||||
role = "assistant",
|
role = "assistant",
|
||||||
@@ -179,6 +181,8 @@ function M.generate_prompts(opts)
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
}, {
|
||||||
|
is_dummy = true,
|
||||||
}),
|
}),
|
||||||
HistoryMessage:new({
|
HistoryMessage:new({
|
||||||
role = "user",
|
role = "user",
|
||||||
@@ -190,6 +194,8 @@ function M.generate_prompts(opts)
|
|||||||
is_error = false,
|
is_error = false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
}, {
|
||||||
|
is_dummy = true,
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
@@ -365,6 +371,11 @@ function M.generate_prompts(opts)
|
|||||||
dropped_history_messages =
|
dropped_history_messages =
|
||||||
vim.list_slice(cleaned_history_messages, 1, #cleaned_history_messages - #retained_history_messages)
|
vim.list_slice(cleaned_history_messages, 1, #cleaned_history_messages - #retained_history_messages)
|
||||||
|
|
||||||
|
dropped_history_messages = vim
|
||||||
|
.iter(dropped_history_messages)
|
||||||
|
:filter(function(msg) return msg.is_dummy ~= true end)
|
||||||
|
:totable()
|
||||||
|
|
||||||
-- prepend the history messages to the messages table
|
-- prepend the history messages to the messages table
|
||||||
vim.iter(retained_history_messages):each(function(msg) table.insert(final_history_messages, msg) end)
|
vim.iter(retained_history_messages):each(function(msg) table.insert(final_history_messages, msg) end)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ vim.g.avante_login = vim.g.avante_login
|
|||||||
---@field selected_filepaths string[] | nil
|
---@field selected_filepaths string[] | nil
|
||||||
---@field tool_use_logs string[] | nil
|
---@field tool_use_logs string[] | nil
|
||||||
---@field just_for_display boolean | nil
|
---@field just_for_display boolean | nil
|
||||||
|
---@field is_dummy boolean | nil
|
||||||
---
|
---
|
||||||
---@class AvanteLLMToolResult
|
---@class AvanteLLMToolResult
|
||||||
---@field tool_name string
|
---@field tool_name string
|
||||||
|
|||||||
Reference in New Issue
Block a user