eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 882 B
JavaScript
import{toErrorMessage}from"#shared/errors.js";import{createEmptyDerivedFacts}from"#evals/runner/derive-run-facts.js";import{executeTask}from"#evals/runner/execute-task.js";import{computeEvalVerdict}from"#evals/runner/verdict.js";async function executeEval(e){let{evaluation:t,target:n,client:r}=e,i=e.startedAt??new Date().toISOString(),a,o=[],s,c;try{let i=await executeTask({client:r,evaluation:t,onLog:e.onLog,onSessionStart:e.onSessionStart,target:n,timeoutMs:e.timeoutMs??t.timeoutMs});a=i.result,o=i.assertions,s=i.error,c=i.skipReason}catch(e){s=toErrorMessage(e),a={output:null,finalMessage:null,status:`failed`,events:[],derived:createEmptyDerivedFacts(),traceContexts:[]}}let l=computeEvalVerdict({error:s,assertions:o,skipReason:c});return{id:t.id,result:a,assertions:o,verdict:l,error:s,skipReason:c,startedAt:i,completedAt:new Date().toISOString()}}export{executeEval};