UNPKG

eve

Version:

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

1 lines 1.34 kB
import{isObject}from"#shared/guards.js";function migrateSessionInboxWireV0(e){let t=e;if(t.kind===`send`)return migrateLegacySend(t);if(t.kind===`deliver`&&!(Array.isArray(t.payloads)&&t.payloads.every(isObject)))throw Error(`legacy deliver payload has no object-array payloads field.`);return{...t,version:1}}function migrateLegacySend(e){if(!isObject(e.payload))throw Error(`legacy send command has no object payload field.`);if(e.delivery!==void 0&&!isObject(e.delivery))throw Error(`legacy send command has a non-object delivery field.`);return{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:1}}const sessionInboxWireV0Migration={from:0,migrate:migrateSessionInboxWireV0,to:1};function encodeSessionCommandV0(e,t){if(e.kind!==`deliver`){let{version:t,...n}=e;return n}if(t===`deliver`){let{payload:t,version:n,...r}=e;return r}let n=e.deliveryMetadata?.find(e=>e.payloadIndex===0),r;if(n!==void 0){let{payloadIndex:e,...t}=n;r=t}return{auth:e.auth,caller:e.caller,delivery:r,kind:`send`,payload:e.payload,requestId:e.requestId,taskDeliveryId:e.taskDeliveryId,turnPolicy:e.turnPolicy}}export{encodeSessionCommandV0,sessionInboxWireV0Migration};