UNPKG

@kareemaly/researcher

Version:
49 lines (48 loc) 2.19 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.listCommand = listCommand; const fileSystemStorage_1 = require("../services/fileSystemStorage"); const logger_1 = require("../utils/logger"); const path_1 = __importDefault(require("path")); const log = (0, logger_1.createLogger)("cli:list"); function listCommand(program) { program .command("list") .description("List saved searches") .action(async (options, command) => { try { const globalOpts = command.parent?.opts(); const outputDir = path_1.default.resolve(globalOpts?.output || "research"); log("Listing searches from: %s", outputDir); const storage = new fileSystemStorage_1.FileSystemStorage({ basePath: outputDir }); await storage.initialize(); const searches = await storage.listSearches(); const stats = await storage.getStats(); if (searches.length === 0) { console.log("\nNo saved searches found."); return; } console.log("\nSaved searches:"); for (const search of searches) { const date = new Date(search.timestamp).toLocaleString(); console.log(`\n${search.id} (${date})`); console.log(`- Query: "${search.query}"`); console.log(`- Type: ${search.type}`); console.log(`- Results: ${search.results.length}`); if (search.location) { console.log(`- Location: ${search.location}`); } } console.log(`\nTotal storage size: ${(stats.totalSizeBytes / 1024 / 1024).toFixed(2)} MB`); console.log("\nView details with: researcher show <id>"); } catch (error) { log.error("Failed to list searches: %O", error); console.error("Failed to list searches:", error instanceof Error ? error.message : error); process.exit(1); } }); }