From b179424161a81bb3401ac046e605cfb0403c0f0d Mon Sep 17 00:00:00 2001 From: Louis Jimenez Date: Fri, 20 Jun 2025 01:18:11 -0400 Subject: [PATCH] Support autocompletion for checkpoints (#1253) --- .../cli/src/ui/hooks/slashCommandProcessor.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.ts index 8195f005..679c294c 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.ts @@ -810,6 +810,22 @@ Add any other context about the problem here. name: 'restore', description: 'restore a tool call. This will reset the conversation and file history to the state it was in when the tool call was suggested', + completion: async () => { + const checkpointDir = config?.getProjectTempDir() + ? path.join(config.getProjectTempDir(), 'checkpoints') + : undefined; + if (!checkpointDir) { + return []; + } + try { + const files = await fs.readdir(checkpointDir); + return files + .filter((file) => file.endsWith('.json')) + .map((file) => file.replace('.json', '')); + } catch (_err) { + return []; + } + }, action: async (_mainCommand, subCommand, _args) => { const checkpointDir = config?.getProjectTempDir() ? path.join(config.getProjectTempDir(), 'checkpoints')