UNPKG

eve

Version:

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

1 lines 1.57 kB
import{requiredOptionId}from"./question-options.js";function wireOptions(e){return e.options.map(e=>{let t={id:e.id,label:e.label};return e.hint!==void 0&&(t.hint=e.hint),e.disabled!==void 0&&(t.disabled=e.disabled),e.disabledReason!==void 0&&(t.disabledReason=e.disabledReason),e.locked!==void 0&&(t.locked=e.locked),e.lockedReason!==void 0&&(t.lockedReason=e.lockedReason),t})}function sharedQuestion(e){return{key:e.key,message:e.message,required:e.required===!0}}function setupQuestionToWire(e){let t=sharedQuestion(e);if(`editable`in e){let n=e,r=requiredOptionId(n,n.editable.value,`configured editable value`),i={...t,kind:`editable-select`,options:wireOptions(n),editable:{key:n.editable.key,optionId:r,label:n.editable.label,recommended:n.editable.recommended}};return n.recommended!==void 0&&(i.recommended=requiredOptionId(n,n.recommended,`recommendation`)),i}if(!(`kind`in e)){let n=e,r={...t,kind:`multi-select`,options:wireOptions(n)};return n.recommended!==void 0&&(r.recommended=n.recommended.map(e=>requiredOptionId(n,e,`recommendation`))),r}let n=e;if(n.kind===`confirm`){let e={...t,kind:`confirm`};return n.recommended!==void 0&&(e.recommended=n.recommended),e}if(n.kind===`text`){if(n.sensitive===!0)return{...t,kind:`environment`,variable:n.environment,sensitive:!0};let e={...t,kind:`text`,sensitive:!1};return n.placeholder!==void 0&&(e.placeholder=n.placeholder),e}let r={...t,kind:`select`,options:wireOptions(n)};return n.recommended!==void 0&&(r.recommended=requiredOptionId(n,n.recommended,`recommendation`)),r}export{setupQuestionToWire};