UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

1 lines 654 B
import{loadContext}from"#context/container.js";import{ContextKey}from"#context/key.js";const RESERVED_STATE_NAME_PREFIX=`eve.`;function defineState(e,t){if(e.startsWith(RESERVED_STATE_NAME_PREFIX))throw Error(`defineState() name "${e}" uses the reserved "${RESERVED_STATE_NAME_PREFIX}" prefix, which eve reserves for its own framework context keys (e.g. "eve.channel", "eve.bundle"). Colliding with one silently corrupts context serialization. Use your own namespace, e.g. "my-agent.${e.slice(4)}".`);let n=new ContextKey(e);return{get(){return loadContext().ensure(n,t)},update(e){let r=loadContext(),i=r.ensure(n,t);r.set(n,e(i))}}}export{defineState};