@@ -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 )
13581357end
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