eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 1.53 kB
JavaScript
import{isEveDevEnvironment}from"#internal/application/dev-environment.js";import{inMemory}from"#public/memory/file/backends/in-memory.js";import{lazyBackend}from"#public/memory/file/backends/lazy.js";import{vercelBlob}from"#public/memory/file/backends/vercel-blob.js";const ENVIRONMENT_PROBES={vercelBlobCredentials:()=>credentialsFromEnvironment(`EVE_MEMORY_BLOB`)??credentialsFromEnvironment(`BLOB`),isEveDevelopment:isEveDevEnvironment,isDeployedOnVercel:()=>hasEnvironmentValue(`VERCEL`)},DEVELOPMENT_BACKEND=inMemory();function defaultFileMemoryBackend(){return lazyBackend(()=>selectDefaultFileMemoryBackend(ENVIRONMENT_PROBES))}function selectDefaultFileMemoryBackend(e){if(e.isDeployedOnVercel()){let t=e.vercelBlobCredentials();if(t!==void 0)return vercelBlob(t);throw Error("fileMemory() requires Vercel Blob storage. Set up EVE_MEMORY_BLOB_STORE_ID with `/add memory/file` in eve dev or `eve integration setup file-memory`, then redeploy. Alternatively, pass fileMemory({ backend }).")}if(e.isEveDevelopment())return DEVELOPMENT_BACKEND;throw Error(`fileMemory() requires an explicit backend outside Vercel and eve dev. Pass fileMemory({ backend }).`)}function hasEnvironmentValue(e){return!!process.env[e]?.trim()}function credentialsFromEnvironment(e){let t=environmentValue(`${e}_STORE_ID`);if(t!==void 0)return{storeId:t};let n=environmentValue(`${e}_READ_WRITE_TOKEN`);return n===void 0?void 0:{token:n}}function environmentValue(e){let t=process.env[e]?.trim();return t===``?void 0:t}export{defaultFileMemoryBackend};