UNPKG

eve

Version:

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

1 lines 1.66 kB
import{z}from"#compiled/zod/index.js";import{formatValidationError}from"#runtime/validation.js";import{SessionInboxWireError}from"#execution/wire/session-inbox-contract.js";import{coalesceDeliverPayloads}from"#execution/deliver-payloads.js";import{sessionInboxWireV2Schema}from"#execution/wire/session-inbox-wire.v2.js";import{normalizeSessionInboxWireV2}from"#execution/wire/session-inbox-wire.v2-migration.js";const v2=sessionInboxWireV2Schema.options,v2Deliver=v2[0],v2DeliveryMetadata=v2Deliver.shape.deliveryMetadata.unwrap().element,version=z.literal(3),sessionInboxWireV3Schema=z.discriminatedUnion(`kind`,[v2Deliver.extend({deliveryMetadata:z.array(v2DeliveryMetadata.extend({acceptedDeploymentId:z.string().optional()})).optional(),version}),v2[1].extend({version}),v2[2].extend({version}),v2[3].extend({version}),v2[4].extend({version}),v2[5].extend({version})]);function parseSessionInboxWireV3(e){return sessionInboxWireV3Schema.safeParse(normalizeSessionInboxWireV2(e))}function encodeSessionCommandV3(e){let t=parseSessionInboxWireV3(e.kind===`send`?{auth:e.auth,caller:e.caller,deliveryMetadata:e.delivery===void 0?void 0:[{...e.delivery,payloadIndex:0}],kind:`deliver`,payload:e.payload,payloads:[e.payload],requestId:e.requestId,taskDeliveryId:e.taskDeliveryId,turnPolicy:e.turnPolicy,version:3}:e.kind===`deliver`?{...e,payload:coalesceDeliverPayloads(e.payloads),version:3}:{...e,version:3});if(!t.success)throw new SessionInboxWireError(`Produced a session inbox payload that does not match wire version 3: ${formatValidationError(t.error)}`);return t.data}export{encodeSessionCommandV3,parseSessionInboxWireV3,sessionInboxWireV3Schema};