Support completion of checkpoint names in /resume (#1063)

This commit is contained in:
Billy Biggs
2025-06-15 11:40:39 -07:00
committed by GitHub
parent 6d772a30c0
commit b67806ae9a
3 changed files with 67 additions and 4 deletions

View File

@@ -44,6 +44,7 @@ export interface SlashCommand {
name: string;
altName?: string;
description?: string;
completion?: () => Promise<string[]>;
action: (
mainCommand: string,
subCommand?: string,
@@ -643,6 +644,25 @@ Add any other context about the problem here.
name: 'resume',
description:
'resume from conversation checkpoint. Usage: /resume [tag]',
completion: async () => {
const geminiDir = config?.getGeminiDir();
if (!geminiDir) {
return [];
}
try {
const files = await fs.readdir(geminiDir);
return files
.filter(
(file) =>
file.startsWith('checkpoint-') && file.endsWith('.json'),
)
.map((file) =>
file.replace('checkpoint-', '').replace('.json', ''),
);
} catch (_err) {
return [];
}
},
action: async (_mainCommand, subCommand, _args) => {
const tag = (subCommand || '').trim();
const logger = new Logger(config?.getSessionId() || '');