UNPKG

eve

Version:

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

1 lines 1.12 kB
import{z}from"#compiled/zod/index.js";import{formatValidationError}from"#runtime/validation.js";import{SessionInboxWireError}from"#execution/wire/session-inbox-contract.js";import{encodeSessionCommandV5,sessionInboxWireV5Schema}from"#execution/wire/session-inbox-wire.v5.js";const v5=sessionInboxWireV5Schema.options,v5Cancel=v5[5],version=z.literal(6),sessionInboxWireV6Schema=z.discriminatedUnion(`kind`,[v5[0].extend({version}),v5[1].extend({version}),v5[2].extend({version}),v5[3].extend({version}),v5[4].extend({version}),v5Cancel.extend({tasks:z.boolean().optional(),version})]);function encodeSessionCommandV6(e){let t=withoutOwnedTaskCancellation(e),n={...encodeSessionCommandV5(t),version:6};e.kind===`cancel`&&(n.tasks=e.tasks);let r=sessionInboxWireV6Schema.safeParse(n);if(!r.success)throw new SessionInboxWireError(`Produced a session inbox payload that does not match wire version 6: ${formatValidationError(r.error)}`);return r.data}function withoutOwnedTaskCancellation(e){if(e.kind!==`cancel`||e.tasks===void 0)return e;let{tasks:t,...n}=e;return n}export{encodeSessionCommandV6,sessionInboxWireV6Schema};