2716
}
2717
}
2719
>
try {
2720
>
turns = await this._getChatMessages(agent, chatUri);
2721
>
} catch (err) {
2722
this._logService.warn(`[AgentService] Failed to load history for peer chat ${chatUri.toString()}: ${toErrorMessage(err)}`);
2723
}
2725
>
this._readPersistedChatTitle(session, chatUri),
2726
>
this._getChatDraft(session, chatUri),
2727
>
]);
2728
>
const mergedTurns = await this._interleaveLocalTurns(session.toString(), chatUri.toString(), turns);
2729
>
return { chatUri, title, turns: mergedTurns, draft, providerData: entry.providerData, origin: entry.origin };
2730
}));
2731
for (const item of restored) {
2733
continue;
2734
}
2735
>
const { chatUri, title, turns, draft, providerData, origin } = item;
agentService.ts
2736
>
this._stateManager.restoreChat(session.toString(), chatUri.toString(), {
2737
>
title,
2738
>
turns: [...turns],
2739
>
draft,
2740
>
...(providerData !== undefined ? { providerData } : {}),
2741
>
...(origin !== undefined ? { origin } : {}),
2742
>
});
2743
>
}
2744
}
2745