@iqai/adk-cli
Version:
CLI tool for creating, running, and testing ADK-TS agents
50 lines • 1.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CacheUtils = exports.CACHE_DIR = void 0;
const node_fs_1 = require("node:fs");
const node_path_1 = require("node:path");
exports.CACHE_DIR = ".adk-cache";
class CacheUtils {
logger;
quiet;
static activeCacheFiles = new Set();
static projectRoots = new Set();
constructor(logger, quiet = false) {
this.logger = logger;
this.quiet = quiet;
}
static cleanupAllCacheFiles(logger, quiet = false) {
for (const file of CacheUtils.activeCacheFiles) {
try {
if ((0, node_fs_1.existsSync)(file))
(0, node_fs_1.unlinkSync)(file);
}
catch { }
}
CacheUtils.activeCacheFiles.clear();
for (const root of CacheUtils.projectRoots) {
const cacheDir = (0, node_path_1.join)(root, exports.CACHE_DIR);
try {
if ((0, node_fs_1.existsSync)(cacheDir)) {
(0, node_fs_1.rmSync)(cacheDir, { recursive: true, force: true });
if (!quiet)
logger?.log(`Cleaned cache directory: ${cacheDir}`);
}
}
catch (e) {
if (!quiet)
logger?.warn(`Failed to clean cache directory ${cacheDir}:`, e);
}
}
CacheUtils.projectRoots.clear();
}
trackCacheFile(filePath, projectRoot) {
CacheUtils.activeCacheFiles.add(filePath);
CacheUtils.projectRoots.add(projectRoot);
}
createTempFilePath(projectRoot) {
return (0, node_path_1.join)(projectRoot, exports.CACHE_DIR, `agent-${Date.now()}.cjs`);
}
}
exports.CacheUtils = CacheUtils;
//# sourceMappingURL=cache-utils.js.map