UNPKG

eve

Version:

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

1 lines 2.35 kB
function isOldSourceOffsetDynamicToolMetadata(e){return e.callbacks!==void 0&&`stepId`in e.callbacks.execute}function isCurrentDynamicToolMetadata(e){return e.callbacks!==void 0&&!isOldSourceOffsetDynamicToolMetadata(e)}function isOldStepFunctionDynamicToolMetadata(e){return e.callbacks===void 0}function withoutSourceOffset(e){return{closure:e.closure}}function convertSourceOffsetMetadata(e){let t={execute:withoutSourceOffset(e.callbacks.execute),...e.callbacks.approvalRequest===void 0?{}:{approvalRequest:withoutSourceOffset(e.callbacks.approvalRequest)},...e.callbacks.approvalResponse===void 0?{}:{approvalResponse:withoutSourceOffset(e.callbacks.approvalResponse)},...e.callbacks.toModelOutput===void 0?{}:{toModelOutput:withoutSourceOffset(e.callbacks.toModelOutput)}};return{...e,callbacks:t}}function toCurrentDynamicToolMetadata(e,t){if(isCurrentDynamicToolMetadata(e))return e;if(t===void 0)throw Error(`Dynamic tool "${e.name}" uses old persisted metadata, but its resolver did not return a current replacement.`);if(t.resolverSlug!==e.resolverSlug||t.name!==e.name)throw Error(`Dynamic tool "${e.name}" received current metadata from a different resolver or tool.`);if(!isOldStepFunctionDynamicToolMetadata(e)){for(let n of Object.keys(e.callbacks))if(t.callbacks[n]===void 0)throw Error(`Dynamic tool "${e.name}" lost its ${n} callback while converting old persisted metadata.`);return convertSourceOffsetMetadata(e)}if(e.approvalResponseStepFnName!==void 0&&e.approvalStepFnName===void 0)throw Error(`Dynamic tool "${e.name}" has an old approval-response callback without an approval-request callback.`);if(e.approvalStepFnName!==void 0&&t.callbacks.approvalRequest===void 0)throw Error(`Dynamic tool "${e.name}" lost its approval-request callback while converting old persisted metadata.`);if(e.approvalResponseStepFnName!==void 0&&t.callbacks.approvalResponse===void 0)throw Error(`Dynamic tool "${e.name}" lost its approval-response callback while converting old persisted metadata.`);return t}function toCurrentDynamicToolMetadataList(e,t=[]){return e.map(e=>toCurrentDynamicToolMetadata(e,t.find(t=>t.resolverSlug===e.resolverSlug&&t.name===e.name)))}export{isCurrentDynamicToolMetadata,isOldSourceOffsetDynamicToolMetadata,isOldStepFunctionDynamicToolMetadata,toCurrentDynamicToolMetadata,toCurrentDynamicToolMetadataList};