UNPKG

eve

Version:

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

1 lines 1.08 kB
import{isObject}from"#shared/guards.js";const WORKFLOW_STREAM_WRITE_ERROR_PATTERN=/^Stream (write|close) failed: HTTP (\d+)(?: \(([^)]*)\))?/;function extractWorkflowStreamWriteErrorDetails(e){for(let t of causeChainMessages(e)){let e=parseStreamErrorMessage(t);if(e!==null)return e}return null}function isWorkflowStreamWriteError(e){return extractWorkflowStreamWriteErrorDetails(e)!==null}function parseStreamErrorMessage(e){let n=WORKFLOW_STREAM_WRITE_ERROR_PATTERN.exec(e);if(n===null)return null;let r=Number(n[2]),i={operation:n[1]??``};Number.isFinite(r)&&(i.statusCode=r);for(let e of(n[3]??``).split(`; `))e.startsWith(`PUT `)?i.url=e.slice(4):e.startsWith(`x-vercel-id=`)?i.vercelId=e.slice(12):e.startsWith(`x-vercel-error=`)&&(i.vercelError=e.slice(15));return i}function*causeChainMessages(t){let n=new Set,r=t;for(;r!=null&&!n.has(r);){if(n.add(r),r instanceof Error){yield r.message,r=r.cause;continue}if(isObject(r)&&typeof r.message==`string`){yield r.message,r=r.cause;continue}return}}export{extractWorkflowStreamWriteErrorDetails,isWorkflowStreamWriteError};