eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 1.85 kB
JavaScript
import{attachClientContext,readClientContext}from"#internal/client-context.js";import{queueDeferredStepInput}from"#harness/pending-input-batches.js";function responsesForBatches(e,t){return e.filter(e=>t.some(t=>t.requests.some(t=>t.requestId===e.requestId)))}function appendResolvedBatchTranscript(e,t,n){e.push(...t.responseMessages),n.length>0&&e.push({content:[...n],role:`tool`})}function finishResolvedInput(e){let t={},n;if(e.leftoverResponses.length>0&&(t.inputResponses=e.leftoverResponses),e.deferTurnInput){(e.resolvedStepInput?.context?.length??0)>0&&(t.context=e.resolvedStepInput?.context);let r=readClientContext(e.resolvedStepInput);(r?.length??0)>0&&(n=r),e.resolvedStepInput?.message!==void 0&&(t.message=e.resolvedStepInput.message)}return attachClientContext(t,n),Object.keys(t).length>0?{consumedMessage:e.resolvedStepInput?.messageConsumed,deferredContext:t.context===void 0&&readClientContext(t)===void 0?void 0:!0,deferredMessage:t.message!==void 0||void 0,limitContinuation:e.limitContinuation,outcome:`resolved`,messages:e.messages,rejectedActions:e.rejectedActions,resolvedInputs:e.resolvedInputs,session:queueDeferredStepInput(e.session,t)}:{consumedMessage:e.resolvedStepInput?.messageConsumed,limitContinuation:e.limitContinuation,outcome:`resolved`,messages:e.messages,rejectedActions:e.rejectedActions,resolvedInputs:e.resolvedInputs,session:e.session}}function compactStepInput(e){if(e===void 0)return{};let t={};return(e.context?.length??0)>0&&(t.context=e.context),(e.inputResponses?.length??0)>0&&(t.inputResponses=e.inputResponses),e.message!==void 0&&(t.message=e.message),e.messageConsumed===!0&&(t.messageConsumed=!0),e.outputSchema!==void 0&&(t.outputSchema=e.outputSchema),attachClientContext(t,readClientContext(e))}export{appendResolvedBatchTranscript,compactStepInput,finishResolvedInput,responsesForBatches};