eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 714 B
JavaScript
async function loadThreadContextMessages(e,t,n={}){if(isThreadRootMessage(t))return[];await e.refresh();let r=e.recentMessages.findIndex(e=>e.ts===t.ts);return applySinceBoundary((r===-1?e.recentMessages:e.recentMessages.slice(0,r)).filter(e=>e.threadTs===t.threadTs&&e.ts!==t.ts),n.since)}function isThreadRootMessage(e){return e.threadTs===e.ts}function findLastIndex(e,t){for(let n=e.length-1;n>=0;--n)if(t(e[n]))return n;return-1}function applySinceBoundary(e,t){let n=t??`thread-root`;if(typeof n==`function`){let t=findLastIndex(e,n);return e.slice(t+1)}switch(n){case`thread-root`:return[...e];case`last-agent-reply`:{let t=findLastIndex(e,e=>e.isMe);return e.slice(t+1)}}}export{loadThreadContextMessages};