Skip to content

Commit 7608dce

Browse files
authored
Support loading ACP sessions if agent can (#2889)
1 parent 148998b commit 7608dce

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

lua/avante/llm.lua

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1320,8 +1320,7 @@ function M._stream_acp(opts)
13201320
if not session_id then
13211321
M._create_acp_session_and_continue(opts, acp_client)
13221322
else
1323-
if opts.just_connect_acp_client then return end
1324-
M._continue_stream_acp(opts, acp_client, session_id)
1323+
M._load_acp_session_and_continue(opts, acp_client, session_id)
13251324
end
13261325
end)
13271326
return
@@ -1357,6 +1356,23 @@ function M._create_acp_session_and_continue(opts, acp_client)
13571356
end)
13581357
end
13591358

1359+
---@param opts AvanteLLMStreamOptions
1360+
---@param acp_client avante.acp.ACPClient
1361+
---@param session_id string
1362+
function M._load_acp_session_and_continue(opts, acp_client, session_id)
1363+
local project_root = Utils.root.get()
1364+
acp_client:load_session(session_id, project_root, {}, function(_, err)
1365+
if err then
1366+
-- Failed to load session, create a new one. It happens after switching acp providers
1367+
M._create_acp_session_and_continue(opts, acp_client)
1368+
return
1369+
end
1370+
1371+
if opts.just_connect_acp_client then return end
1372+
M._continue_stream_acp(opts, acp_client, session_id)
1373+
end)
1374+
end
1375+
13601376
---@param opts AvanteLLMStreamOptions
13611377
---@param acp_client avante.acp.ACPClient
13621378
---@param session_id string

0 commit comments

Comments
 (0)