eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 900 B
JavaScript
import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{join}from"node:path";import{mkdir,readFile,rm,writeFile}from"node:fs/promises";const EVE_CACHE_METADATA_FILE=`eve-cache.json`;async function prepareEveVersionedCacheDirectory(t){let n=await readEveCacheVersion(t),r=resolveInstalledPackageInfo().version;n!==null&&n===r||await rm(t,{force:!0,recursive:!0})}async function writeEveVersionedCacheMetadata(r){await mkdir(r,{recursive:!0}),await writeFile(join(r,EVE_CACHE_METADATA_FILE),`${JSON.stringify({eveVersion:resolveInstalledPackageInfo().version},null,2)}\n`)}async function readEveCacheVersion(e){try{let n=JSON.parse(await readFile(join(e,EVE_CACHE_METADATA_FILE),`utf8`));return typeof n.eveVersion==`string`?n.eveVersion:null}catch(e){return e instanceof Error&&`code`in e&&e.code,null}}export{prepareEveVersionedCacheDirectory,writeEveVersionedCacheMetadata};