MCPcopy
hub / github.com/claude-code-best/claude-code / onSelectRestoreOption

Function onSelectRestoreOption

src/components/MessageSelector.tsx:215–291  ·  view source on GitHub ↗
(option: RestoreOption)

Source from the content-addressed store, hash-verified

213 }
214
215 async function onSelectRestoreOption(option: RestoreOption) {
216 logEvent('tengu_message_selector_restore_option_selected', {
217 option: option as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
218 });
219 if (!messageToRestore) {
220 setError('Message not found.');
221 return;
222 }
223 if (option === 'nevermind') {
224 if (preselectedMessage) onClose();
225 else setMessageToRestore(undefined);
226 return;
227 }
228
229 if (isSummarizeOption(option)) {
230 onPreRestore();
231 setIsRestoring(true);
232 setRestoringOption(option);
233 setError(undefined);
234 try {
235 const direction = option === 'summarize_up_to' ? 'up_to' : 'from';
236 const feedback = (direction === 'up_to' ? summarizeUpToFeedback : summarizeFromFeedback).trim() || undefined;
237 await onSummarize(messageToRestore, feedback, direction);
238 setIsRestoring(false);
239 setRestoringOption(null);
240 setMessageToRestore(undefined);
241 onClose();
242 } catch (error) {
243 logError(error as Error);
244 setIsRestoring(false);
245 setRestoringOption(null);
246 setMessageToRestore(undefined);
247 setError(`Failed to summarize:\n${error}`);
248 }
249 return;
250 }
251
252 onPreRestore();
253 setIsRestoring(true);
254 setError(undefined);
255
256 let codeError: Error | null = null;
257 let conversationError: Error | null = null;
258
259 if (option === 'code' || option === 'both') {
260 try {
261 await onRestoreCode(messageToRestore);
262 } catch (error) {
263 codeError = error as Error;
264 logError(codeError);
265 }
266 }
267
268 if (option === 'conversation' || option === 'both') {
269 try {
270 await onRestoreMessage(messageToRestore);
271 } catch (error) {
272 conversationError = error as Error;

Callers 1

MessageSelectorFunction · 0.85

Calls 4

logEventFunction · 0.85
isSummarizeOptionFunction · 0.85
onCloseFunction · 0.50
logErrorFunction · 0.50

Tested by

no test coverage detected