@spencerboucher/switchyard 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/bridge/lines.js +33 -0
- package/dist/bridge/switchyard-terminal.js +59 -22
- package/dist/switchyard.mjs +3411 -2527
- package/dist/terminal/holder.js +142 -51
- package/package.json +1 -1
- package/web-dist/apple-touch-icon.png +0 -0
- package/web-dist/assets/AutomationView-D7Syv1En.js +2 -0
- package/web-dist/assets/AutomationView-D7Syv1En.js.map +1 -0
- package/web-dist/assets/Checkbox-D6tRfEeI.js +2 -0
- package/web-dist/assets/Checkbox-D6tRfEeI.js.map +1 -0
- package/web-dist/assets/Copy-B6XSAIUd.js +2 -0
- package/web-dist/assets/Copy-B6XSAIUd.js.map +1 -0
- package/web-dist/assets/DangerZone-DfYlxDC1.js +2 -0
- package/web-dist/assets/DangerZone-DfYlxDC1.js.map +1 -0
- package/web-dist/assets/Field-D-Ty7fKT.js +2 -0
- package/web-dist/assets/Field-D-Ty7fKT.js.map +1 -0
- package/web-dist/assets/InteractionCard-DF1EcSpm.js +6 -0
- package/web-dist/assets/InteractionCard-DF1EcSpm.js.map +1 -0
- package/web-dist/assets/Menu-BfOszNC4.js +2 -0
- package/web-dist/assets/Menu-BfOszNC4.js.map +1 -0
- package/web-dist/assets/Overlay-DUQwh6_b.js +2 -0
- package/web-dist/assets/Overlay-DUQwh6_b.js.map +1 -0
- package/web-dist/assets/Priority-CHmzfoHg.js +2 -0
- package/web-dist/assets/Priority-CHmzfoHg.js.map +1 -0
- package/web-dist/assets/{SegmentedControl-BZPzNU08.js → SegmentedControl-C_hEVQMB.js} +2 -2
- package/web-dist/assets/{SegmentedControl-BZPzNU08.js.map → SegmentedControl-C_hEVQMB.js.map} +1 -1
- package/web-dist/assets/Select-Cfql4Nwu.js +2 -0
- package/web-dist/assets/Select-Cfql4Nwu.js.map +1 -0
- package/web-dist/assets/Switch-DBfzmqkm.js +2 -0
- package/web-dist/assets/Switch-DBfzmqkm.js.map +1 -0
- package/web-dist/assets/Tabs-BNuL3_Et.js +184 -0
- package/web-dist/assets/Tabs-BNuL3_Et.js.map +1 -0
- package/web-dist/assets/TextArea-CKybrQyn.js +2 -0
- package/web-dist/assets/TextArea-CKybrQyn.js.map +1 -0
- package/web-dist/assets/TextLink-OzzyP2-p.js +2 -0
- package/web-dist/assets/TextLink-OzzyP2-p.js.map +1 -0
- package/web-dist/assets/arrow-down-C-iLrN8I.js +2 -0
- package/web-dist/assets/arrow-down-C-iLrN8I.js.map +1 -0
- package/web-dist/assets/arrow-up-Dj-VTKx4.js +2 -0
- package/web-dist/assets/arrow-up-Dj-VTKx4.js.map +1 -0
- package/web-dist/assets/attention-V86Gye3I.js +2 -0
- package/web-dist/assets/attention-V86Gye3I.js.map +1 -0
- package/web-dist/assets/automations-Cw5Gacgm.js +2 -0
- package/web-dist/assets/automations-Cw5Gacgm.js.map +1 -0
- package/web-dist/assets/board-B8X7TYYR.js +10 -0
- package/web-dist/assets/board-B8X7TYYR.js.map +1 -0
- package/web-dist/assets/code-BKroYJmR.js +12 -0
- package/web-dist/assets/code-BKroYJmR.js.map +1 -0
- package/web-dist/assets/describe-D6KLGKWa.js +5 -0
- package/web-dist/assets/describe-D6KLGKWa.js.map +1 -0
- package/web-dist/assets/enroll-DwT7AcuS.js +2 -0
- package/web-dist/assets/enroll-DwT7AcuS.js.map +1 -0
- package/web-dist/assets/index-B3F7WcYf.css +2 -0
- package/web-dist/assets/index-hxvDvCS7.js +12 -0
- package/web-dist/assets/index-hxvDvCS7.js.map +1 -0
- package/web-dist/assets/logic-B46fwD-8.js +2 -0
- package/web-dist/assets/logic-B46fwD-8.js.map +1 -0
- package/web-dist/assets/more-DQR5uu1c.js +2 -0
- package/web-dist/assets/more-DQR5uu1c.js.map +1 -0
- package/web-dist/assets/queue-DUg1rS8t.js +2 -0
- package/web-dist/assets/queue-DUg1rS8t.js.map +1 -0
- package/web-dist/assets/repo-XzzzEI0d.js +2 -0
- package/web-dist/assets/repo-XzzzEI0d.js.map +1 -0
- package/web-dist/assets/server-BqZ-w6M8.js +2 -0
- package/web-dist/assets/server-BqZ-w6M8.js.map +1 -0
- package/web-dist/assets/settings-DyUu0tJM.js +8 -0
- package/web-dist/assets/settings-DyUu0tJM.js.map +1 -0
- package/web-dist/assets/states-ZhrxQa3K.js +56 -0
- package/web-dist/assets/states-ZhrxQa3K.js.map +1 -0
- package/web-dist/assets/terminal-BOV_MXPZ.js +2 -0
- package/web-dist/assets/terminal-BOV_MXPZ.js.map +1 -0
- package/web-dist/assets/terminal-login-S5CAd5xA.js +2 -0
- package/web-dist/assets/terminal-login-S5CAd5xA.js.map +1 -0
- package/web-dist/assets/useBackTo-BIrCq3W2.js +2 -0
- package/web-dist/assets/useBackTo-BIrCq3W2.js.map +1 -0
- package/web-dist/assets/useNow-Dj7oEiwn.js +2 -0
- package/web-dist/assets/useNow-Dj7oEiwn.js.map +1 -0
- package/web-dist/assets/useResource-CDGSq2At.js +2 -0
- package/web-dist/assets/useResource-CDGSq2At.js.map +1 -0
- package/web-dist/icon-192.png +0 -0
- package/web-dist/icon-512.png +0 -0
- package/web-dist/icon.svg +20 -8
- package/web-dist/index.html +3 -4
- package/web-dist/manifest.webmanifest +1 -1
- package/web-dist/maskable-512.png +0 -0
- package/web-dist/sw.js +1 -1
- package/web-dist/sw.js.map +1 -1
- package/web-dist/assets/AutomationView-GCthHkym.js +0 -2
- package/web-dist/assets/AutomationView-GCthHkym.js.map +0 -1
- package/web-dist/assets/Badge-CEMI3YyI.js +0 -2
- package/web-dist/assets/Badge-CEMI3YyI.js.map +0 -1
- package/web-dist/assets/InteractionCard-DaLqafmA.js +0 -6
- package/web-dist/assets/InteractionCard-DaLqafmA.js.map +0 -1
- package/web-dist/assets/Menu-BcKiEc6X.js +0 -2
- package/web-dist/assets/Menu-BcKiEc6X.js.map +0 -1
- package/web-dist/assets/Tabs-COH5EMql.js +0 -184
- package/web-dist/assets/Tabs-COH5EMql.js.map +0 -1
- package/web-dist/assets/TextArea-CeMEPZn4.js +0 -2
- package/web-dist/assets/TextArea-CeMEPZn4.js.map +0 -1
- package/web-dist/assets/arrow-left-C6YWM6y6.js +0 -2
- package/web-dist/assets/arrow-left-C6YWM6y6.js.map +0 -1
- package/web-dist/assets/attention-BAdea2kA.js +0 -2
- package/web-dist/assets/attention-BAdea2kA.js.map +0 -1
- package/web-dist/assets/automations-DSFUzB0w.js +0 -2
- package/web-dist/assets/automations-DSFUzB0w.js.map +0 -1
- package/web-dist/assets/board-eQ3H8yCp.js +0 -10
- package/web-dist/assets/board-eQ3H8yCp.js.map +0 -1
- package/web-dist/assets/code-D7JmYMKe.js +0 -13
- package/web-dist/assets/code-D7JmYMKe.js.map +0 -1
- package/web-dist/assets/copy-oWgGHmkS.js +0 -2
- package/web-dist/assets/copy-oWgGHmkS.js.map +0 -1
- package/web-dist/assets/describe-C1YimBXJ.js +0 -5
- package/web-dist/assets/describe-C1YimBXJ.js.map +0 -1
- package/web-dist/assets/dist-B_RpNOcK.js +0 -56
- package/web-dist/assets/dist-B_RpNOcK.js.map +0 -1
- package/web-dist/assets/enroll-1OCy5r50.js +0 -2
- package/web-dist/assets/enroll-1OCy5r50.js.map +0 -1
- package/web-dist/assets/index-BhpEXLav.js +0 -11
- package/web-dist/assets/index-BhpEXLav.js.map +0 -1
- package/web-dist/assets/index-DUeOwDZ6.css +0 -2
- package/web-dist/assets/logic-CBvFOyIo.js +0 -2
- package/web-dist/assets/logic-CBvFOyIo.js.map +0 -1
- package/web-dist/assets/more-RjVyxPaz.js +0 -2
- package/web-dist/assets/more-RjVyxPaz.js.map +0 -1
- package/web-dist/assets/now-CDjeFSLD.js +0 -2
- package/web-dist/assets/now-CDjeFSLD.js.map +0 -1
- package/web-dist/assets/plus-BLP-wIYD.js +0 -2
- package/web-dist/assets/plus-BLP-wIYD.js.map +0 -1
- package/web-dist/assets/save-DEvZPWlS.js +0 -2
- package/web-dist/assets/save-DEvZPWlS.js.map +0 -1
- package/web-dist/assets/send-BKjswHxB.js +0 -2
- package/web-dist/assets/send-BKjswHxB.js.map +0 -1
- package/web-dist/assets/server-SxFxIScj.js +0 -2
- package/web-dist/assets/server-SxFxIScj.js.map +0 -1
- package/web-dist/assets/settings-tH4UuIfJ.js +0 -7
- package/web-dist/assets/settings-tH4UuIfJ.js.map +0 -1
- package/web-dist/assets/shared-CRX6KSBm.js +0 -3
- package/web-dist/assets/shared-CRX6KSBm.js.map +0 -1
- package/web-dist/assets/sliders-horizontal-DAoirila.js +0 -2
- package/web-dist/assets/sliders-horizontal-DAoirila.js.map +0 -1
- package/web-dist/assets/states-DXozulGZ.js +0 -2
- package/web-dist/assets/states-DXozulGZ.js.map +0 -1
- package/web-dist/assets/terminal-login-CW2rE50W.js +0 -2
- package/web-dist/assets/terminal-login-CW2rE50W.js.map +0 -1
- package/web-dist/assets/trash-C6X2OLrI.js +0 -2
- package/web-dist/assets/trash-C6X2OLrI.js.map +0 -1
- package/web-dist/assets/useNow-C_B7JgMM.js +0 -2
- package/web-dist/assets/useNow-C_B7JgMM.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./jsx-runtime-D13aM9HY.js";var t={name:`copy`,size:24,node:[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]};t.node;var n=e(t);export{n as t};
|
|
2
|
-
//# sourceMappingURL=copy-oWgGHmkS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copy-oWgGHmkS.js","names":["createLucideIcon","__iconData","Copy"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.61.0_@types+react@19.3.0_react@19.3.1/node_modules/lucide-react/dist/esm/icons/copy.mjs"],"sourcesContent":["/**\n * @license lucide-react v1.61.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"copy\",\n size: 24,\n node: [\n [\"rect\", { width: \"14\", height: \"14\", x: \"8\", y: \"8\", rx: \"2\", ry: \"2\", key: \"17jyea\" }],\n [\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\", key: \"zix9uf\" }]\n ]\n};\n__iconData.node;\nconst Copy = createLucideIcon(__iconData);\n\nexport { __iconData, Copy as default };\n//# sourceMappingURL=copy.mjs.map\n"],"ignoreList":[0],"mappings":"A,8CASA,IAAMC,EAAa,CACjB,KAAM,OACN,KAAM,GACN,KAAM,CACJ,CAAC,OAAQ,CAAE,MAAO,KAAM,OAAQ,KAAM,EAAG,IAAK,EAAG,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,QAAS,CAAC,EACvF,CAAC,OAAQ,CAAE,EAAG,0DAA2D,IAAK,QAAS,CAAC,CAC1F,CACF,EACAA,EAAW,KACX,IAAMC,EAAOF,EAAiBC,CAAU,E"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{_ as e,m as t,n,t as r}from"./jsx-runtime-D13aM9HY.js";import{H as i,P as a,T as o,U as s,W as c,d as l,g as u,h as d,m as ee,q as f}from"./states-DXozulGZ.js";import{E as te,P as ne,l as p}from"./index-BhpEXLav.js";import{n as m}from"./dist-B_RpNOcK.js";var h={name:`octagon-alert`,size:24,node:[[`path`,{d:`M12 16h.01`,key:`1drbdi`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z`,key:`1fd625`}]],aliases:[`alert-octagon`]};h.node;var re=n(h),g={name:`signal-high`,size:24,node:[[`path`,{d:`M2 20h.01`,key:`4haj6o`}],[`path`,{d:`M7 20v-4`,key:`j294jx`}],[`path`,{d:`M12 20v-8`,key:`i3yub9`}],[`path`,{d:`M17 20V8`,key:`1tkaf5`}]]};g.node;var ie=n(g),_={name:`signal-low`,size:24,node:[[`path`,{d:`M2 20h.01`,key:`4haj6o`}],[`path`,{d:`M7 20v-4`,key:`j294jx`}]]};_.node;var ae=n(_),v={name:`signal-medium`,size:24,node:[[`path`,{d:`M2 20h.01`,key:`4haj6o`}],[`path`,{d:`M7 20v-4`,key:`j294jx`}],[`path`,{d:`M12 20v-8`,key:`i3yub9`}]]};v.node;var y=n(v),b=e(t(),1),x=r();function oe({label:e,hint:t,error:n,children:r,className:i,optional:a}){let o=(0,b.useId)(),s=`${o}-hint`,c=`${o}-err`,l=[t?s:null,n?c:null].filter(Boolean).join(` `);return(0,x.jsxs)(`div`,{className:d(`flex min-w-0 flex-col gap-1`,i),children:[(0,x.jsxs)(`label`,{htmlFor:o,className:`text-sm font-medium`,children:[e,a&&(0,x.jsx)(`span`,{className:`font-normal text-muted`,children:` (optional)`})]}),r({id:o,"aria-invalid":n?!0:void 0,"aria-describedby":l||void 0}),t&&(0,x.jsx)(`p`,{id:s,className:`text-xs text-muted`,children:t}),n&&(0,x.jsx)(S,{id:c,children:n})]})}function S({id:e,children:t}){return(0,x.jsxs)(`p`,{id:e,className:`flex items-start gap-1 text-xs text-danger`,"data-field-error":!0,children:[(0,x.jsx)(u,{"aria-hidden":!0,className:`mt-0.5 size-3.5 shrink-0`}),(0,x.jsx)(`span`,{children:t})]})}function C({className:e,children:t,...n}){return(0,x.jsx)(`select`,{className:d(`tap block h-9 w-full min-w-0 rounded-md border border-border bg-surface px-2.5 text-base text-text md:text-sm`,`focus:border-accent focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-0`,`aria-[invalid=true]:border-danger`,e),...n,children:t})}function se({checked:e,onChange:t,label:n,onText:r=`On`,offText:i=`Off`,busy:a,disabled:o,id:s,className:c}){return(0,x.jsxs)(`button`,{id:s,type:`button`,role:`switch`,"aria-checked":e,"aria-label":n,"aria-busy":a||void 0,disabled:o||a,onClick:()=>t(!e),className:d(`tap inline-flex min-h-9 shrink-0 items-center gap-2 rounded-md px-1.5 text-sm`,`hover:bg-surface-2 disabled:opacity-60`,c),children:[(0,x.jsx)(`span`,{"aria-hidden":!0,className:d(`relative inline-flex h-5 w-9 shrink-0 items-center rounded-full border transition-colors`,e?`border-accent bg-accent`:`border-border-strong bg-surface-2`),children:(0,x.jsx)(`span`,{className:d(`absolute size-3.5 rounded-full shadow-sm transition-transform`,e?`translate-x-[18px] bg-accent-fg`:`translate-x-[2px] bg-muted`)})}),a?(0,x.jsx)(l,{className:`size-3.5`}):null,(0,x.jsx)(`span`,{className:e?`text-text`:`text-muted`,children:e?r:i})]})}function ce({title:e,description:t,children:n,actions:r,className:i,testId:a}){let o=(0,b.useId)();return(0,x.jsxs)(`section`,{"aria-labelledby":o,"data-testid":a,className:d(`min-w-0 rounded-lg border border-border bg-surface p-4`,i),children:[(0,x.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-start justify-between gap-2`,children:[(0,x.jsxs)(`div`,{className:`min-w-0`,children:[(0,x.jsx)(`h2`,{id:o,className:`text-base font-semibold`,children:e}),t&&(0,x.jsx)(`p`,{className:`text-sm text-muted`,children:t})]}),r&&(0,x.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:r})]}),(0,x.jsx)(`div`,{className:`flex flex-col gap-4`,children:n})]})}var le=[re,ie,y,ae];function ue({priority:e,className:t}){let n=le[e]??y;return(0,x.jsx)(n,{"aria-hidden":!0,className:d(`size-4 shrink-0`,e===0?`text-danger`:`text-muted`,t)})}function de({count:e}){return e>0?(0,x.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-sm text-warning`,children:[(0,x.jsx)(u,{"aria-hidden":!0,className:`size-4 shrink-0`}),e===1?`1 failure`:`${e} failures`]}):(0,x.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-sm text-muted`,children:[(0,x.jsx)(ne,{"aria-hidden":!0,className:`size-4 shrink-0`}),`No failures`]})}function fe({className:e}){let t=o();return t.state===`live`||t.state===`connecting`&&!t.lastSyncedAt?null:(0,x.jsxs)(`p`,{role:`status`,className:d(`flex items-start gap-1.5 rounded-md border border-border bg-warning-soft px-3 py-1.5 text-sm`,e),children:[(0,x.jsx)(te,{"aria-hidden":!0,className:`mt-0.5 size-4 shrink-0 text-warning`}),(0,x.jsxs)(`span`,{children:[`Showing last known automations`,t.lastSyncedAt?` from ${ee(t.lastSyncedAt)}`:``,`. Changes are sent once the coordinator is reachable again.`]})]})}var w=(e,t=``)=>`/api/automations/${encodeURIComponent(e)}${t}`,T=f()(e=>({byId:{},deleted:{},put:t=>e(e=>({byId:{...e.byId,[t.id]:t}})),putMany:t=>e(e=>{let n={...e.byId};for(let e of t)n[e.id]=e;return{byId:n}}),remove:t=>e(e=>{let n={...e.byId};return delete n[t],{byId:n,deleted:{...e.deleted,[t]:!0}}})}));function E(e,t){return e?t&&t.updatedAt>e.updatedAt?t:e:t}function pe(){let e=a(e=>e.automations),t=T(e=>e.byId),n=T(e=>e.deleted);return(0,b.useMemo)(()=>{let r={};for(let i of new Set([...Object.keys(e),...Object.keys(t)])){if(n[i])continue;let a=E(e[i],t[i]);a&&(r[i]=a)}return r},[e,t,n])}function me(e){let t=a(t=>e?t.automations[e]:void 0),n=T(t=>e?t.byId[e]:void 0);return T(t=>e?t.deleted[e]:void 0)?void 0:E(t,n)}function he(){let[e,t]=(0,b.useState)({});return{busy:e,toggle:(0,b.useCallback)(async(e,n)=>{t(t=>({...t,[e.id]:!0}));try{let t=await i(w(e.id),{enabled:n});t&&typeof t==`object`&&`id`in t&&T.getState().put(t),p.success(`${e.name} ${n?`enabled`:`disabled`}`)}catch(t){p.error(`Could not ${n?`enable`:`disable`} ${e.name}: ${c(t)}`)}finally{t(t=>({...t,[e.id]:!1}))}},[])}}function ge(e){let[t,n]=(0,b.useState)({});return{busy:t,run:(0,b.useCallback)(async t=>{n(e=>({...e,[t.id]:!0}));try{let n=await s(w(t.id,`/run`)),r=n&&typeof n==`object`?n.state:void 0;p.success(r&&r!==`fired`?`${t.name}: occurrence recorded (${r.replace(/_/g,` `)})`:`${t.name} started`),e?.()}catch(e){p.error(`Could not run ${t.name}: ${c(e)}`)}finally{n(e=>({...e,[t.id]:!1}))}},[e])}}var _e={manual:`Manual`,once:`Once`,cron:`Schedule`,webhook:`Webhook`,dependency:`Dependency`},D=[{value:`fresh`,label:`Fresh`,explanation:`Fresh: a new task per occurrence`},{value:`continue`,label:`Continue`,explanation:`Continue: reuse the task with the same grouping key`},{value:`watch`,label:`Watch`,explanation:`Watch: only raises attention when something relevant changed`}],ve=[{value:`skip`,label:`Skip`,explanation:`Skip: drop the occurrence while earlier work is still open`},{value:`queue_one`,label:`Queue one`,explanation:`Queue one: keep a single pending occurrence and fire it when the open work ends`},{value:`append`,label:`Append`,explanation:`Append: add the new objective to the open task (as a follow-up if it is running)`}],ye=[{value:`skip`,label:`Skip`,explanation:`Skip: occurrences missed while the coordinator was down are recorded and skipped`},{value:`run_once`,label:`Run once`,explanation:`Run once: on return, fire the newest missed occurrence once`}];function O(e){return D.find(t=>t.value===e)?.label??e}var k=[`{{date}}`,`{{time}}`,`{{occurrence}}`,`{{payload.<path>}}`];function A(e){return e.length<=1?e[0]??``:`${e.slice(0,-1).join(`, `)} and ${e[e.length-1]}`}function j(e){return String(e).padStart(2,`0`)}function M(e){let t=e%100;if(t>=11&&t<=13)return`${e}th`;switch(e%10){case 1:return`${e}st`;case 2:return`${e}nd`;case 3:return`${e}rd`;default:return`${e}th`}}function N(e){return e&&e[0].toUpperCase()+e.slice(1)}function P(e){return e.split(`
|
|
2
|
-
`).map(e=>e.trim()).filter(e=>e.length>0)}var F=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],I=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],be=[{name:`Minute`,min:0,max:59},{name:`Hour`,min:0,max:23},{name:`Day of month`,min:1,max:31},{name:`Month`,min:1,max:12,names:I.map(e=>e.slice(0,3).toLowerCase())},{name:`Day of week`,min:0,max:7,names:F.map(e=>e.slice(0,3).toLowerCase())}];function L(e,t){let n=e.toLowerCase();if(t.names){let e=t.names.indexOf(n);if(e>=0)return t.min+e}if(!/^\d+$/.test(e))return`"${e}" is not a number`;let r=Number(e);return r<t.min||r>t.max?`${r} is out of range ${t.min}–${t.max}`:r}function xe(e,t){if(e===`*`||e===`?`)return{any:!0,values:[],step:null,extended:!1};if(/[LW#]/i.test(e)&&!t.names?.some(t=>e.toLowerCase().includes(t)))return/^[0-9A-Za-z*?,\-/#]+$/.test(e)?{any:!1,values:[],step:null,extended:!0}:`"${e}" is not valid`;let n=e.split(`,`),r=new Set,i=null;for(let e of n){if(!e)return`empty list item`;let[a,o,s]=e.split(`/`);if(s!==void 0)return`"${e}" has more than one step`;let c=1;if(o!==void 0){if(!/^\d+$/.test(o)||Number(o)<1)return`"${o}" is not a valid step`;c=Number(o)}let l,u;if(a===`*`||a===`?`)l=t.min,u=t.max;else if(a?.includes(`-`)){let[e,n]=a.split(`-`),r=L(e??``,t),i=L(n??``,t);if(typeof r==`string`)return r;if(typeof i==`string`)return i;if(r>i)return`range ${a} runs backwards`;l=r,u=i}else{let e=L(a??``,t);if(typeof e==`string`)return e;l=e,u=o===void 0?e:t.max}for(let e=l;e<=u;e+=c)r.add(e);n.length===1&&o!==void 0&&!a?.includes(`-`)&&(i={every:c,start:l})}let a=[...r].sort((e,t)=>e-t);t.max===7&&(a=[...new Set(a.map(e=>e%7))].sort((e,t)=>e-t));let o=t.max===7?7:t.max-t.min+1;return a.length===o&&!i?{any:!0,values:[],step:null,extended:!1}:{any:!1,values:a,step:i,extended:!1}}function R(e){let t=e.trim();if(!t)return`Enter a cron expression`;let n=t.split(/\s+/);if(n.length!==5)return`Expected 5 fields (minute hour day-of-month month day-of-week), got ${n.length}`;let r=[];for(let e=0;e<5;e++){let t=be[e],i=xe(n[e],t);if(typeof i==`string`)return`${t.name}: ${i}`;r.push(i)}return r}function z(e){let t=R(e);return typeof t==`string`?t:null}function Se(e){if(!e.trim())return`Enter a timezone`;try{return new Intl.DateTimeFormat(void 0,{timeZone:e.trim()}),null}catch{return`Unknown timezone "${e}"`}}function B(e){for(let t=1;t<e.length;t++)if(e[t]!==e[t-1]+1)return!1;return e.length>0}function Ce(e,t){if(e.any&&t.any)return{kind:`freq`,text:`Every minute`};if(e.step&&e.step.start===0&&t.any)return{kind:`freq`,text:e.step.every===1?`Every minute`:`Every ${e.step.every} minutes`};if(e.any)return t.step||t.values.length===0?null:B(t.values)?{kind:`freq`,text:`Every minute from ${j(t.values[0])}:00 to ${j(t.values[t.values.length-1])}:59`}:null;if(t.any)return e.step?null:e.values.length===1&&e.values[0]===0?{kind:`freq`,text:`Every hour`}:{kind:`freq`,text:`Every hour at ${A(e.values.map(e=>`:${j(e)}`))}`};if(t.step&&t.step.start===0&&e.values.length===1&&!e.step){let n=e.values[0]===0?``:` at :${j(e.values[0])}`;return{kind:`freq`,text:t.step.every===1?`Every hour${n}`:`Every ${t.step.every} hours${n}`}}if(e.values.length*t.values.length<=6){let n=[];for(let r of t.values)for(let t of e.values)n.push(`${j(r)}:${j(t)}`);return{kind:`at`,text:A(n)}}if(!B(t.values))return null;let n=t.values[0],r=t.values[t.values.length-1];if(e.step&&e.step.start===0)return{kind:`freq`,text:`Every ${e.step.every} minutes from ${j(n)}:00 to ${j(r)}:59`};if(e.values.length===1){let t=j(e.values[0]);return{kind:`freq`,text:`Every hour from ${j(n)}:${t} to ${j(r)}:${t}`}}return null}function we(e,t){return(e+6)%7-(t+6)%7}function Te(e,t,n){if(!e.any&&!n.any)return null;let r=t.any?null:A(t.values.map(e=>I[e-1])),i=r?` in ${r}`:``;if(!n.any){let e=[...n.values].sort(we),t=e.join(`,`);if(t===`1,2,3,4,5`)return{lead:`Every weekday${i}`,qual:` on weekdays${i}`};if(t===`6,0`)return{lead:`Every Saturday and Sunday${i}`,qual:` on weekends${i}`};let r=e.map(e=>F[e]);return{lead:`Every ${A(r)}${i}`,qual:` on ${A(r.map(e=>`${e}s`))}${i}`}}if(!e.any){if(e.values.length>5)return null;let t=A(e.values.map(M)),n=r||`every month`;return{lead:`On the ${t} of ${n}`,qual:` on the ${t} of ${n}`}}return{lead:`Every day${i}`,qual:i}}function V(e,t){let n=R(e);if(typeof n==`string`||n.some(e=>e.extended))return null;let[r,i,a,o,s]=n,c=Ce(r,i),l=Te(a,o,s);if(!c||!l)return null;let u=c.kind===`at`?`${l.lead} at ${c.text}`:`${c.text}${l.qual}`;return t?`${u} (${t})`:u}function Ee(e,t){return V(e,t)??`Cron ${e.trim()} (${t})`}function H(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}function U(e,t={}){let n=t.formatDate??H;switch(e.kind){case`manual`:return`Manual`;case`once`:return e.at&&!Number.isNaN(Date.parse(e.at))?`Once at ${n(e.at)}`:`Once (no time chosen)`;case`cron`:return Ee(e.expr,e.timezone);case`webhook`:return`Webhook`;case`dependency`:{let n=e.taskId?t.taskTitle?.(e.taskId):void 0;return n?`When "${n}" is done`:e.taskId?`When task ${e.taskId} is done`:`When a task is done`}}}function De(e,t){let n=e.trigger;switch(n.kind){case`manual`:return`When run manually`;case`webhook`:{let t=e.filters.filter(e=>e.path.trim());return t.length===0?`When a webhook is received`:`When a webhook is received where ${A(t.map(e=>`${e.path.trim()} = "${e.equals}"`))}`}default:return U(n,t)}}function Oe(e,t={}){let n=e.template.title.trim()||`Untitled task`,r=t.projectName?` in ${t.projectName}`:``,i=t.hostName?` on ${t.hostName}`:` on the project's default host`,a=t.profileName?` with profile ${t.profileName}`:``,o;switch(e.mode){case`continue`:{let t=e.groupingKey?.trim();o=t?`continue the task grouped by "${t}" (or create "${n}")`:`continue the matching task (or create "${n}")`;break}case`watch`:o=`create a watch task "${n}" that only raises attention when something relevant changed`;break;default:o=`create a fresh task "${n}"`}let s=[`${De(e,t)}, ${o}${r}${i}${a}`];if(s.push(e.overlap===`skip`?`skip if previous work is still open`:e.overlap===`queue_one`?`queue one occurrence if previous work is still open`:`append to the open task if previous work is still open`),(e.trigger.kind===`cron`||e.trigger.kind===`once`)&&s.push(e.missed===`skip`?`skip missed runs`:`run missed runs once on return`),e.continuation.enabled){let t=e.continuation;s.push(`continue automatically up to ${t.maxContinuations} times within ${t.maxElapsedMinutes} minutes`)}let c=e.completion.checks;return c&&c.length>0&&s.push(`run ${c.length===1?`1 check`:`${c.length} checks`}`),s.push(e.completion.requireHumanReview?`requires human review`:`no human review required`),N(s.join(`; `))}function W(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}}function G(e={}){return{name:``,enabled:!0,projectId:e.projectId??``,triggerKind:`manual`,onceAt:``,cronExpr:`0 9 * * 1-5`,cronTimezone:e.timezone??W(),dependencyTaskId:``,filters:[],title:``,objective:``,criteria:``,priority:2,hostId:``,profileId:``,mode:`fresh`,groupingKey:``,overlap:`skip`,missed:`skip`,continuationEnabled:!1,continuationObjective:``,maxContinuations:`5`,maxElapsedMinutes:`60`,maxTokens:``,maxCostUsd:``,checks:``,requireHumanReview:!0}}function ke(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:`${t.getFullYear()}-${j(t.getMonth()+1)}-${j(t.getDate())}T${j(t.getHours())}:${j(t.getMinutes())}`}function K(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toISOString()}function Ae(e,t={}){let n=G({projectId:e.projectId,timezone:t.timezone}),r=e.trigger,i=e.continuation;return{...n,name:e.name,enabled:e.enabled,triggerKind:r.kind,onceAt:r.kind===`once`?ke(r.at):``,cronExpr:r.kind===`cron`?r.expr:n.cronExpr,cronTimezone:r.kind===`cron`?r.timezone:n.cronTimezone,dependencyTaskId:r.kind===`dependency`?r.taskId:``,filters:e.filters.map(e=>({...e})),title:e.template.title,objective:e.template.objective,criteria:e.template.acceptanceCriteria.join(`
|
|
3
|
-
`),priority:e.template.priority,hostId:e.hostId??``,profileId:e.profileId??``,mode:e.mode,groupingKey:e.groupingKey??``,overlap:e.overlap,missed:e.missed,continuationEnabled:i.enabled,continuationObjective:i.enabled?i.objective:``,maxContinuations:i.enabled?String(i.maxContinuations):n.maxContinuations,maxElapsedMinutes:i.enabled?String(i.maxElapsedMinutes):n.maxElapsedMinutes,maxTokens:i.enabled&&i.maxTokens!==null?String(i.maxTokens):``,maxCostUsd:i.enabled&&i.maxCostUsd!==null?String(i.maxCostUsd):``,checks:e.completion.checks?e.completion.checks.join(`
|
|
4
|
-
`):``,requireHumanReview:e.completion.requireHumanReview}}function q(e){return e.trim()===``?NaN:Number(e.trim())}function J(e){return e.trim()===``?null:Number(e.trim())}function je(e){switch(e.triggerKind){case`manual`:return{kind:`manual`};case`once`:return{kind:`once`,at:K(e.onceAt)};case`cron`:return{kind:`cron`,expr:e.cronExpr.trim(),timezone:e.cronTimezone.trim()};case`webhook`:return{kind:`webhook`};case`dependency`:return{kind:`dependency`,taskId:e.dependencyTaskId}}}function Y(e){let t=P(e.checks);return{name:e.name.trim(),enabled:e.enabled,projectId:e.projectId,trigger:je(e),filters:e.filters.filter(e=>e.path.trim()||e.equals.trim()).map(e=>({path:e.path.trim(),equals:e.equals})),template:{title:e.title.trim(),objective:e.objective,acceptanceCriteria:P(e.criteria),priority:e.priority},hostId:e.hostId||null,profileId:e.profileId||null,mode:e.mode,groupingKey:e.groupingKey.trim()||null,overlap:e.overlap,missed:e.missed,continuation:e.continuationEnabled?{enabled:!0,objective:e.continuationObjective.trim(),maxContinuations:q(e.maxContinuations),maxElapsedMinutes:q(e.maxElapsedMinutes),maxTokens:J(e.maxTokens),maxCostUsd:J(e.maxCostUsd)}:{enabled:!1},completion:{checks:t.length>0?t:null,requireHumanReview:e.requireHumanReview}}}var Me={name:`name`,enabled:`enabled`,projectId:`projectId`,trigger:`triggerKind`,"trigger.kind":`triggerKind`,"trigger.at":`onceAt`,"trigger.expr":`cronExpr`,"trigger.timezone":`cronTimezone`,"trigger.taskId":`dependencyTaskId`,"template.title":`title`,"template.objective":`objective`,"template.acceptanceCriteria":`criteria`,"template.priority":`priority`,hostId:`hostId`,profileId:`profileId`,mode:`mode`,groupingKey:`groupingKey`,overlap:`overlap`,missed:`missed`,"continuation.objective":`continuationObjective`,"continuation.maxContinuations":`maxContinuations`,"continuation.maxElapsedMinutes":`maxElapsedMinutes`,"continuation.maxTokens":`maxTokens`,"continuation.maxCostUsd":`maxCostUsd`,"completion.checks":`checks`,"completion.requireHumanReview":`requireHumanReview`};function X(e){let t=e.map(String);if(t[0]===`filters`&&t.length>=3)return`filters.${Number(t[1])}.${t[2]===`equals`?`equals`:`path`}`;if(t[0]===`template`&&t[1]===`acceptanceCriteria`)return`criteria`;if(t[0]===`completion`&&t[1]===`checks`)return`checks`;for(let e=t.length;e>0;e--){let n=Me[t.slice(0,e).join(`.`)];if(n)return n}return`form`}function Z(e,t,n,r){let i=q(e);return!Number.isInteger(i)||i<t||i>n?`${r} must be a whole number from ${t} to ${n}`:null}function Ne(e){let t={},n=(e,n)=>{n&&!t[e]&&(t[e]=n)};switch(e.name.trim()||n(`name`,`Name is required`),e.projectId||n(`projectId`,`Choose a project`),e.title.trim()||n(`title`,`Task title is required`),e.triggerKind){case`once`:K(e.onceAt)||n(`onceAt`,`Choose a date and time`);break;case`cron`:n(`cronExpr`,z(e.cronExpr)),n(`cronTimezone`,Se(e.cronTimezone));break;case`dependency`:e.dependencyTaskId||n(`dependencyTaskId`,`Choose the task to wait for`)}if(e.filters.forEach((e,t)=>{!e.path.trim()&&e.equals.trim()&&n(`filters.${t}.path`,`Enter a payload path`)}),e.mode===`continue`&&!e.groupingKey.trim()&&n(`groupingKey`,`A grouping key is required to continue an existing task`),e.continuationEnabled){if(e.continuationObjective.trim()||n(`continuationObjective`,`An objective is required when continuation is on`),n(`maxContinuations`,Z(e.maxContinuations,1,50,`Max continuations`)),n(`maxElapsedMinutes`,Z(e.maxElapsedMinutes,1,1440,`Max elapsed minutes`)),e.maxTokens.trim()){let t=q(e.maxTokens);(!Number.isInteger(t)||t<=0)&&n(`maxTokens`,`Max tokens must be a positive whole number`)}if(e.maxCostUsd.trim()){let t=q(e.maxCostUsd);(!Number.isFinite(t)||t<=0)&&n(`maxCostUsd`,`Max cost must be a positive amount`)}}let r=Y(e),i=m.safeParse(r);if(!i.success)for(let e of i.error.issues)n(X(e.path),e.message);return{input:i.success&&Object.keys(t).length===0?i.data:null,errors:t}}function Q(e){return e.scheduledFor??e.createdAt}function $(...e){let t=new Map;for(let n of e)for(let e of n??[])t.set(e.id,e);return[...t.values()].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)||Q(t).localeCompare(Q(e)))}function Pe(e){if(Array.isArray(e))return e;if(e&&typeof e==`object`){let t=e;if(Array.isArray(t.items))return t.items;if(Array.isArray(t.occurrences))return t.occurrences}return[]}function Fe(e,t){return`curl -X POST -H 'Authorization: Bearer ${e}' -H 'Content-Type: application/json' -d '{}' ${t}`}export{se as A,fe as C,ue as D,S as E,ge as F,he as I,T as M,me as N,ce as O,pe as P,Ne as S,oe as T,O as _,_e as a,Oe as b,U as c,G as d,X as f,$ as g,W as h,k as i,w as j,C as k,Ae as l,K as m,D as n,Fe as o,H as p,ve as r,V as s,ye as t,Y as u,Pe as v,de as w,z as x,Q as y};
|
|
5
|
-
//# sourceMappingURL=describe-C1YimBXJ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"describe-C1YimBXJ.js","names":["__iconData","__iconData","__iconData","useId","useMemo","useState","useCallback","__toESM","require_react","require_jsx_runtime","apiPatch","useSyncStore","useConnection","apiPost","errorMessage","Spinner","TriangleAlert","cn","formatTime","create","CloudOff","CircleCheck","toast","AutomationInput","__iconData$3","OctagonAlert","createLucideIcon","__iconData$2","SignalHigh","__iconData$1","SignalLow","__iconData","SignalMedium","import_react","import_jsx_runtime","Field","id","hintId","errId","describedBy","hint","error","className","label","optional","children","FieldError","Select","rest","Switch","checked","busy","disabled","onChange","onText","offText","Section","testId","title","description","actions","PRIORITY_ICONS","PriorityIcon","Icon","priority","FailureCount","count","ConnectionNote","connection","automationPath","suffix","useLocalAutomations","set","s","a","byId","list","newer","b","useMergedAutomations","store","local","deleted","out","useMergedAutomation","fromStore","fromLocal","useToggleEnabled","setBusy","res","enabled","e","useRunNow","state","onDone","TRIGGER_KIND_LABELS","MODE_OPTIONS","OVERLAP_OPTIONS","MISSED_OPTIONS","modeLabel","m","mode","TEMPLATE_VARIABLES","listText","items","pad","n","ordinal","mod100","capitalize","lines","text","l","DAY_NAMES","MONTH_NAMES","CRON_FIELDS","d","parseValue","lower","token","def","idx","parseCronField","src","parts","values","step","part","base","stepStr","extra","every","start","end","av","bv","v","i","sorted","full","parseCron","trimmed","expr","fields","parsed","validateCron","validateTimezone","tz","isContiguous","describeTime","h","at","times","hv","mv","first","last","mm","mondayFirst","describeDays","dom","dow","months","mon","inMonths","days","key","names","ords","of","describeCron","f","time","timezone","describeCronOrRaw","formatAbsolute","iso","describeTrigger","fmt","ctx","trigger","triggerClause","t","input","filters","summarizeAutomation","project","host","profile","action","c","checks","localTimezone","emptyDraft","opts","isoToLocalInput","localInputToIso","value","draftFromAutomation","toNumber","toOptionalNumber","draftTrigger","draftToInput","PATH_TO_FIELD","fieldForPath","path","intError","min","max","validateDraft","errors","msg","raw","issue","occurrenceTime","o","mergeOccurrences","lists","normalizeHistory","r","curlExample","url"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.61.0_@types+react@19.3.0_react@19.3.1/node_modules/lucide-react/dist/esm/icons/octagon-alert.mjs","../../../../node_modules/.pnpm/lucide-react@1.61.0_@types+react@19.3.0_react@19.3.1/node_modules/lucide-react/dist/esm/icons/signal-high.mjs","../../../../node_modules/.pnpm/lucide-react@1.61.0_@types+react@19.3.0_react@19.3.1/node_modules/lucide-react/dist/esm/icons/signal-low.mjs","../../../../node_modules/.pnpm/lucide-react@1.61.0_@types+react@19.3.0_react@19.3.1/node_modules/lucide-react/dist/esm/icons/signal-medium.mjs","../../src/features/automations/controls.tsx","../../src/features/automations/describe.ts"],"sourcesContent":["/**\n * @license lucide-react v1.61.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"octagon-alert\",\n size: 24,\n node: [\n [\"path\", { d: \"M12 16h.01\", key: \"1drbdi\" }],\n [\"path\", { d: \"M12 8v4\", key: \"1got3b\" }],\n [\n \"path\",\n {\n d: \"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z\",\n key: \"1fd625\"\n }\n ]\n ],\n aliases: [\"alert-octagon\"]\n};\n__iconData.node;\nconst OctagonAlert = createLucideIcon(__iconData);\n\nexport { __iconData, OctagonAlert as default };\n//# sourceMappingURL=octagon-alert.mjs.map\n","/**\n * @license lucide-react v1.61.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"signal-high\",\n size: 24,\n node: [\n [\"path\", { d: \"M2 20h.01\", key: \"4haj6o\" }],\n [\"path\", { d: \"M7 20v-4\", key: \"j294jx\" }],\n [\"path\", { d: \"M12 20v-8\", key: \"i3yub9\" }],\n [\"path\", { d: \"M17 20V8\", key: \"1tkaf5\" }]\n ]\n};\n__iconData.node;\nconst SignalHigh = createLucideIcon(__iconData);\n\nexport { __iconData, SignalHigh as default };\n//# sourceMappingURL=signal-high.mjs.map\n","/**\n * @license lucide-react v1.61.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"signal-low\",\n size: 24,\n node: [\n [\"path\", { d: \"M2 20h.01\", key: \"4haj6o\" }],\n [\"path\", { d: \"M7 20v-4\", key: \"j294jx\" }]\n ]\n};\n__iconData.node;\nconst SignalLow = createLucideIcon(__iconData);\n\nexport { __iconData, SignalLow as default };\n//# sourceMappingURL=signal-low.mjs.map\n","/**\n * @license lucide-react v1.61.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"signal-medium\",\n size: 24,\n node: [\n [\"path\", { d: \"M2 20h.01\", key: \"4haj6o\" }],\n [\"path\", { d: \"M7 20v-4\", key: \"j294jx\" }],\n [\"path\", { d: \"M12 20v-8\", key: \"i3yub9\" }]\n ]\n};\n__iconData.node;\nconst SignalMedium = createLucideIcon(__iconData);\n\nexport { __iconData, SignalMedium as default };\n//# sourceMappingURL=signal-medium.mjs.map\n","import type { Automation, Priority } from \"@switchyard/protocol\";\nimport {\n CircleCheck,\n CloudOff,\n OctagonAlert,\n SignalHigh,\n SignalLow,\n SignalMedium,\n TriangleAlert,\n} from \"lucide-react\";\nimport {\n type ReactElement,\n type ReactNode,\n type SelectHTMLAttributes,\n useCallback,\n useId,\n useMemo,\n useState,\n} from \"react\";\nimport { create } from \"zustand\";\nimport { Spinner } from \"../../components/ui/Spinner\";\nimport { toast } from \"../../components/ui/Toast\";\nimport { cn } from \"../../lib/cn\";\nimport { formatTime } from \"../../lib/time\";\nimport { apiPatch, apiPost, errorMessage } from \"../../sync/api\";\nimport { useConnection, useSyncStore } from \"../../sync/store\";\n\n/* Small building blocks shared by the Automations list and editor. */\n\nexport interface FieldControlProps {\n id: string;\n \"aria-invalid\"?: boolean;\n \"aria-describedby\"?: string;\n}\n\n/** Labelled form field with an optional hint and inline error. */\nexport function Field({\n label,\n hint,\n error,\n children,\n className,\n optional,\n}: {\n label: ReactNode;\n hint?: ReactNode;\n error?: string;\n children: (props: FieldControlProps) => ReactElement;\n className?: string;\n optional?: boolean;\n}) {\n const id = useId();\n const hintId = `${id}-hint`;\n const errId = `${id}-err`;\n const describedBy = [hint ? hintId : null, error ? errId : null].filter(Boolean).join(\" \");\n return (\n <div className={cn(\"flex min-w-0 flex-col gap-1\", className)}>\n <label htmlFor={id} className=\"text-sm font-medium\">\n {label}\n {optional && <span className=\"font-normal text-muted\"> (optional)</span>}\n </label>\n {children({\n id,\n \"aria-invalid\": error ? true : undefined,\n \"aria-describedby\": describedBy || undefined,\n })}\n {hint && (\n <p id={hintId} className=\"text-xs text-muted\">\n {hint}\n </p>\n )}\n {error && <FieldError id={errId}>{error}</FieldError>}\n </div>\n );\n}\n\nexport function FieldError({ id, children }: { id?: string; children: ReactNode }) {\n return (\n <p id={id} className=\"flex items-start gap-1 text-xs text-danger\" data-field-error>\n <TriangleAlert aria-hidden className=\"mt-0.5 size-3.5 shrink-0\" />\n <span>{children}</span>\n </p>\n );\n}\n\n/** Native select styled like TextInput. */\nexport function Select({ className, children, ...rest }: SelectHTMLAttributes<HTMLSelectElement>) {\n return (\n <select\n className={cn(\n \"tap block h-9 w-full min-w-0 rounded-md border border-border bg-surface px-2.5 text-base text-text md:text-sm\",\n \"focus:border-accent focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-0\",\n \"aria-[invalid=true]:border-danger\",\n className,\n )}\n {...rest}\n >\n {children}\n </select>\n );\n}\n\n/** Accessible on/off switch with a text label that states the current value. */\nexport function Switch({\n checked,\n onChange,\n label,\n onText = \"On\",\n offText = \"Off\",\n busy,\n disabled,\n id,\n className,\n}: {\n checked: boolean;\n onChange: (next: boolean) => void;\n /** Accessible name. */\n label: string;\n onText?: string;\n offText?: string;\n busy?: boolean;\n disabled?: boolean;\n id?: string;\n className?: string;\n}) {\n return (\n <button\n id={id}\n type=\"button\"\n role=\"switch\"\n aria-checked={checked}\n aria-label={label}\n aria-busy={busy || undefined}\n disabled={disabled || busy}\n onClick={() => onChange(!checked)}\n className={cn(\n \"tap inline-flex min-h-9 shrink-0 items-center gap-2 rounded-md px-1.5 text-sm\",\n \"hover:bg-surface-2 disabled:opacity-60\",\n className,\n )}\n >\n <span\n aria-hidden\n className={cn(\n \"relative inline-flex h-5 w-9 shrink-0 items-center rounded-full border transition-colors\",\n checked ? \"border-accent bg-accent\" : \"border-border-strong bg-surface-2\",\n )}\n >\n <span\n className={cn(\n \"absolute size-3.5 rounded-full shadow-sm transition-transform\",\n checked ? \"translate-x-[18px] bg-accent-fg\" : \"translate-x-[2px] bg-muted\",\n )}\n />\n </span>\n {busy ? <Spinner className=\"size-3.5\" /> : null}\n <span className={checked ? \"text-text\" : \"text-muted\"}>{checked ? onText : offText}</span>\n </button>\n );\n}\n\n/** Titled card section. */\nexport function Section({\n title,\n description,\n children,\n actions,\n className,\n testId,\n}: {\n title: ReactNode;\n description?: ReactNode;\n children: ReactNode;\n actions?: ReactNode;\n className?: string;\n testId?: string;\n}) {\n const id = useId();\n return (\n <section\n aria-labelledby={id}\n data-testid={testId}\n className={cn(\"min-w-0 rounded-lg border border-border bg-surface p-4\", className)}\n >\n <div className=\"mb-3 flex flex-wrap items-start justify-between gap-2\">\n <div className=\"min-w-0\">\n <h2 id={id} className=\"text-base font-semibold\">\n {title}\n </h2>\n {description && <p className=\"text-sm text-muted\">{description}</p>}\n </div>\n {actions && <div className=\"flex flex-wrap gap-2\">{actions}</div>}\n </div>\n <div className=\"flex flex-col gap-4\">{children}</div>\n </section>\n );\n}\n\nconst PRIORITY_ICONS = [OctagonAlert, SignalHigh, SignalMedium, SignalLow];\n\nexport function PriorityIcon({ priority, className }: { priority: Priority; className?: string }) {\n const Icon = PRIORITY_ICONS[priority] ?? SignalMedium;\n return (\n <Icon\n aria-hidden\n className={cn(\"size-4 shrink-0\", priority === 0 ? \"text-danger\" : \"text-muted\", className)}\n />\n );\n}\n\n/** Failure count as icon + text; warning tone when > 0. */\nexport function FailureCount({ count }: { count: number }) {\n if (count > 0) {\n return (\n <span className=\"inline-flex items-center gap-1 text-sm text-warning\">\n <TriangleAlert aria-hidden className=\"size-4 shrink-0\" />\n {count === 1 ? \"1 failure\" : `${count} failures`}\n </span>\n );\n }\n return (\n <span className=\"inline-flex items-center gap-1 text-sm text-muted\">\n <CircleCheck aria-hidden className=\"size-4 shrink-0\" />\n No failures\n </span>\n );\n}\n\n/** Inline last-known-data note when the coordinator link is not live. */\nexport function ConnectionNote({ className }: { className?: string }) {\n const connection = useConnection();\n if (connection.state === \"live\") return null;\n if (connection.state === \"connecting\" && !connection.lastSyncedAt) return null;\n return (\n <p\n role=\"status\"\n className={cn(\n \"flex items-start gap-1.5 rounded-md border border-border bg-warning-soft px-3 py-1.5 text-sm\",\n className,\n )}\n >\n <CloudOff aria-hidden className=\"mt-0.5 size-4 shrink-0 text-warning\" />\n <span>\n Showing last known automations\n {connection.lastSyncedAt ? ` from ${formatTime(connection.lastSyncedAt)}` : \"\"}. Changes are\n sent once the coordinator is reachable again.\n </span>\n </p>\n );\n}\n\nexport const automationPath = (id: string, suffix = \"\") =>\n `/api/automations/${encodeURIComponent(id)}${suffix}`;\n\n/* ------------------------------------------------------------------ */\n/* Automations acknowledged over REST (create/patch responses, list */\n/* fallback) so views do not wait for the automation.updated event. */\n/* ------------------------------------------------------------------ */\n\ninterface LocalAutomations {\n byId: Record<string, Automation>;\n deleted: Record<string, true>;\n put(a: Automation): void;\n putMany(list: Automation[]): void;\n remove(id: string): void;\n}\n\nexport const useLocalAutomations = create<LocalAutomations>()((set) => ({\n byId: {},\n deleted: {},\n put: (a) => set((s) => ({ byId: { ...s.byId, [a.id]: a } })),\n putMany: (list) =>\n set((s) => {\n const byId = { ...s.byId };\n for (const a of list) byId[a.id] = a;\n return { byId };\n }),\n remove: (id) =>\n set((s) => {\n const byId = { ...s.byId };\n delete byId[id];\n return { byId, deleted: { ...s.deleted, [id]: true } };\n }),\n}));\n\nfunction newer(a: Automation | undefined, b: Automation | undefined): Automation | undefined {\n if (!a) return b;\n if (!b) return a;\n return b.updatedAt > a.updatedAt ? b : a;\n}\n\n/** Store automations merged with REST acknowledgements (newest updatedAt wins). */\nexport function useMergedAutomations(): Record<string, Automation> {\n const store = useSyncStore((s) => s.automations);\n const local = useLocalAutomations((s) => s.byId);\n const deleted = useLocalAutomations((s) => s.deleted);\n return useMemo(() => {\n const out: Record<string, Automation> = {};\n for (const id of new Set([...Object.keys(store), ...Object.keys(local)])) {\n if (deleted[id]) continue;\n const a = newer(store[id], local[id]);\n if (a) out[id] = a;\n }\n return out;\n }, [store, local, deleted]);\n}\n\nexport function useMergedAutomation(id: string | undefined): Automation | undefined {\n const fromStore = useSyncStore((s) => (id ? s.automations[id] : undefined));\n const fromLocal = useLocalAutomations((s) => (id ? s.byId[id] : undefined));\n const deleted = useLocalAutomations((s) => (id ? s.deleted[id] : undefined));\n return deleted ? undefined : newer(fromStore, fromLocal);\n}\n\n/** Enable/disable with no optimistic success: busy until the coordinator acknowledges. */\nexport function useToggleEnabled() {\n const [busy, setBusy] = useState<Record<string, boolean>>({});\n const toggle = useCallback(async (a: Pick<Automation, \"id\" | \"name\">, enabled: boolean) => {\n setBusy((b) => ({ ...b, [a.id]: true }));\n try {\n const res = await apiPatch<Automation | undefined>(automationPath(a.id), { enabled });\n if (res && typeof res === \"object\" && \"id\" in res) useLocalAutomations.getState().put(res);\n toast.success(`${a.name} ${enabled ? \"enabled\" : \"disabled\"}`);\n } catch (e) {\n toast.error(`Could not ${enabled ? \"enable\" : \"disable\"} ${a.name}: ${errorMessage(e)}`);\n } finally {\n setBusy((b) => ({ ...b, [a.id]: false }));\n }\n }, []);\n return { busy, toggle };\n}\n\n/** Manual \"Run now\": busy until acknowledged; never reports success early. */\nexport function useRunNow(onDone?: () => void) {\n const [busy, setBusy] = useState<Record<string, boolean>>({});\n const run = useCallback(\n async (a: Pick<Automation, \"id\" | \"name\">) => {\n setBusy((b) => ({ ...b, [a.id]: true }));\n try {\n const res = await apiPost<{ state?: string } | undefined>(automationPath(a.id, \"/run\"));\n const state = res && typeof res === \"object\" ? res.state : undefined;\n toast.success(\n state && state !== \"fired\"\n ? `${a.name}: occurrence recorded (${state.replace(/_/g, \" \")})`\n : `${a.name} started`,\n );\n onDone?.();\n } catch (e) {\n toast.error(`Could not run ${a.name}: ${errorMessage(e)}`);\n } finally {\n setBusy((b) => ({ ...b, [a.id]: false }));\n }\n },\n [onDone],\n );\n return { busy, run };\n}\n","import {\n type Automation,\n AutomationInput,\n type Occurrence,\n PRIORITY_LABELS,\n type Priority,\n type Trigger,\n} from \"@switchyard/protocol\";\n\n/*\n * Pure helpers for the Automations feature: a small cron describer, trigger\n * and whole-automation summaries, the editor draft <-> AutomationInput\n * conversion with field-level validation, and history merging.\n */\n\n/* ------------------------------------------------------------------ */\n/* Labels and explanations */\n/* ------------------------------------------------------------------ */\n\nexport type AutomationMode = AutomationInput[\"mode\"];\nexport type OverlapPolicy = AutomationInput[\"overlap\"];\nexport type MissedPolicy = AutomationInput[\"missed\"];\nexport type TriggerKind = Trigger[\"kind\"];\n\nexport const TRIGGER_KIND_LABELS: Record<TriggerKind, string> = {\n manual: \"Manual\",\n once: \"Once\",\n cron: \"Schedule\",\n webhook: \"Webhook\",\n dependency: \"Dependency\",\n};\n\nexport const MODE_OPTIONS: { value: AutomationMode; label: string; explanation: string }[] = [\n { value: \"fresh\", label: \"Fresh\", explanation: \"Fresh: a new task per occurrence\" },\n {\n value: \"continue\",\n label: \"Continue\",\n explanation: \"Continue: reuse the task with the same grouping key\",\n },\n {\n value: \"watch\",\n label: \"Watch\",\n explanation: \"Watch: only raises attention when something relevant changed\",\n },\n];\n\nexport const OVERLAP_OPTIONS: { value: OverlapPolicy; label: string; explanation: string }[] = [\n {\n value: \"skip\",\n label: \"Skip\",\n explanation: \"Skip: drop the occurrence while earlier work is still open\",\n },\n {\n value: \"queue_one\",\n label: \"Queue one\",\n explanation: \"Queue one: keep a single pending occurrence and fire it when the open work ends\",\n },\n {\n value: \"append\",\n label: \"Append\",\n explanation: \"Append: add the new objective to the open task (as a follow-up if it is running)\",\n },\n];\n\nexport const MISSED_OPTIONS: { value: MissedPolicy; label: string; explanation: string }[] = [\n {\n value: \"skip\",\n label: \"Skip\",\n explanation: \"Skip: occurrences missed while the coordinator was down are recorded and skipped\",\n },\n {\n value: \"run_once\",\n label: \"Run once\",\n explanation: \"Run once: on return, fire the newest missed occurrence once\",\n },\n];\n\nexport function modeLabel(mode: AutomationMode): string {\n return MODE_OPTIONS.find((m) => m.value === mode)?.label ?? mode;\n}\n\nexport function priorityLabel(p: Priority): string {\n return PRIORITY_LABELS[p] ?? String(p);\n}\n\nexport const TEMPLATE_VARIABLES = [\"{{date}}\", \"{{time}}\", \"{{occurrence}}\", \"{{payload.<path>}}\"];\n\n/* ------------------------------------------------------------------ */\n/* Text utilities */\n/* ------------------------------------------------------------------ */\n\n/** \"a\", \"a and b\", \"a, b and c\". */\nexport function listText(items: string[]): string {\n if (items.length <= 1) return items[0] ?? \"\";\n return `${items.slice(0, -1).join(\", \")} and ${items[items.length - 1]}`;\n}\n\nfunction pad(n: number): string {\n return String(n).padStart(2, \"0\");\n}\n\nexport function ordinal(n: number): string {\n const mod100 = n % 100;\n if (mod100 >= 11 && mod100 <= 13) return `${n}th`;\n switch (n % 10) {\n case 1:\n return `${n}st`;\n case 2:\n return `${n}nd`;\n case 3:\n return `${n}rd`;\n default:\n return `${n}th`;\n }\n}\n\nfunction capitalize(s: string): string {\n return s ? s[0]!.toUpperCase() + s.slice(1) : s;\n}\n\n/** Non-empty trimmed lines. */\nexport function lines(text: string): string[] {\n return text\n .split(\"\\n\")\n .map((l) => l.trim())\n .filter((l) => l.length > 0);\n}\n\n/* ------------------------------------------------------------------ */\n/* Cron */\n/* ------------------------------------------------------------------ */\n\nconst DAY_NAMES = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\nconst MONTH_NAMES = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\ninterface FieldDef {\n name: string;\n min: number;\n max: number;\n /** Three-letter aliases mapped to `min + index`. */\n names?: string[];\n}\n\nconst CRON_FIELDS: FieldDef[] = [\n { name: \"Minute\", min: 0, max: 59 },\n { name: \"Hour\", min: 0, max: 23 },\n { name: \"Day of month\", min: 1, max: 31 },\n {\n name: \"Month\",\n min: 1,\n max: 12,\n names: MONTH_NAMES.map((m) => m.slice(0, 3).toLowerCase()),\n },\n {\n name: \"Day of week\",\n min: 0,\n max: 7,\n names: DAY_NAMES.map((d) => d.slice(0, 3).toLowerCase()),\n },\n];\n\nexport interface CronField {\n /** `*` (or `?`): every value. */\n any: boolean;\n /** Expanded, sorted, unique values (empty when `any`). */\n values: number[];\n /** Set when the field is a single `*\\/n` or `a/n` step. */\n step: { every: number; start: number } | null;\n /** Uses croner extensions (L, W, #) the describer does not explain. */\n extended: boolean;\n}\n\nfunction parseValue(token: string, def: FieldDef): number | string {\n const lower = token.toLowerCase();\n if (def.names) {\n const idx = def.names.indexOf(lower);\n if (idx >= 0) return def.min + idx;\n }\n if (!/^\\d+$/.test(token)) return `\"${token}\" is not a number`;\n const n = Number(token);\n if (n < def.min || n > def.max) return `${n} is out of range ${def.min}–${def.max}`;\n return n;\n}\n\n/** Parse one cron field; returns an error message for invalid input. */\nexport function parseCronField(src: string, def: FieldDef): CronField | string {\n if (src === \"*\" || src === \"?\") return { any: true, values: [], step: null, extended: false };\n if (/[LW#]/i.test(src) && !def.names?.some((n) => src.toLowerCase().includes(n))) {\n if (!/^[0-9A-Za-z*?,\\-/#]+$/.test(src)) return `\"${src}\" is not valid`;\n return { any: false, values: [], step: null, extended: true };\n }\n const parts = src.split(\",\");\n const values = new Set<number>();\n let step: CronField[\"step\"] = null;\n for (const part of parts) {\n if (!part) return \"empty list item\";\n const [base, stepStr, extra] = part.split(\"/\");\n if (extra !== undefined) return `\"${part}\" has more than one step`;\n let every = 1;\n if (stepStr !== undefined) {\n if (!/^\\d+$/.test(stepStr) || Number(stepStr) < 1) return `\"${stepStr}\" is not a valid step`;\n every = Number(stepStr);\n }\n let start: number;\n let end: number;\n if (base === \"*\" || base === \"?\") {\n start = def.min;\n end = def.max;\n } else if (base?.includes(\"-\")) {\n const [a, b] = base.split(\"-\");\n const av = parseValue(a ?? \"\", def);\n const bv = parseValue(b ?? \"\", def);\n if (typeof av === \"string\") return av;\n if (typeof bv === \"string\") return bv;\n if (av > bv) return `range ${base} runs backwards`;\n start = av;\n end = bv;\n } else {\n const v = parseValue(base ?? \"\", def);\n if (typeof v === \"string\") return v;\n start = v;\n end = stepStr !== undefined ? def.max : v;\n }\n for (let i = start; i <= end; i += every) values.add(i);\n if (parts.length === 1 && stepStr !== undefined && !base?.includes(\"-\")) {\n step = { every, start };\n }\n }\n let sorted = [...values].sort((a, b) => a - b);\n // Day of week: 7 is Sunday.\n if (def.max === 7) sorted = [...new Set(sorted.map((v) => v % 7))].sort((a, b) => a - b);\n const full = def.max === 7 ? 7 : def.max - def.min + 1;\n if (sorted.length === full && !step)\n return { any: true, values: [], step: null, extended: false };\n return { any: false, values: sorted, step, extended: false };\n}\n\nexport function parseCron(expr: string): CronField[] | string {\n const trimmed = expr.trim();\n if (!trimmed) return \"Enter a cron expression\";\n const fields = trimmed.split(/\\s+/);\n if (fields.length !== 5) {\n return `Expected 5 fields (minute hour day-of-month month day-of-week), got ${fields.length}`;\n }\n const out: CronField[] = [];\n for (let i = 0; i < 5; i++) {\n const def = CRON_FIELDS[i]!;\n const parsed = parseCronField(fields[i]!, def);\n if (typeof parsed === \"string\") return `${def.name}: ${parsed}`;\n out.push(parsed);\n }\n return out;\n}\n\n/** Null when valid, otherwise a message. */\nexport function validateCron(expr: string): string | null {\n const parsed = parseCron(expr);\n return typeof parsed === \"string\" ? parsed : null;\n}\n\n/** Null when the IANA timezone is known to this browser. */\nexport function validateTimezone(tz: string): string | null {\n if (!tz.trim()) return \"Enter a timezone\";\n try {\n new Intl.DateTimeFormat(undefined, { timeZone: tz.trim() });\n return null;\n } catch {\n return `Unknown timezone \"${tz}\"`;\n }\n}\n\nfunction isContiguous(values: number[]): boolean {\n for (let i = 1; i < values.length; i++) if (values[i] !== values[i - 1]! + 1) return false;\n return values.length > 0;\n}\n\ntype TimePhrase = { kind: \"at\"; text: string } | { kind: \"freq\"; text: string };\n\nfunction describeTime(m: CronField, h: CronField): TimePhrase | null {\n if (m.any && h.any) return { kind: \"freq\", text: \"Every minute\" };\n if (m.step && m.step.start === 0 && h.any) {\n return {\n kind: \"freq\",\n text: m.step.every === 1 ? \"Every minute\" : `Every ${m.step.every} minutes`,\n };\n }\n if (m.any) {\n if (h.step || h.values.length === 0) return null;\n if (isContiguous(h.values)) {\n return {\n kind: \"freq\",\n text: `Every minute from ${pad(h.values[0]!)}:00 to ${pad(h.values[h.values.length - 1]!)}:59`,\n };\n }\n return null;\n }\n if (h.any) {\n if (m.step) return null;\n if (m.values.length === 1 && m.values[0] === 0) return { kind: \"freq\", text: \"Every hour\" };\n return {\n kind: \"freq\",\n text: `Every hour at ${listText(m.values.map((v) => `:${pad(v)}`))}`,\n };\n }\n if (h.step && h.step.start === 0 && m.values.length === 1 && !m.step) {\n const at = m.values[0] === 0 ? \"\" : ` at :${pad(m.values[0]!)}`;\n return {\n kind: \"freq\",\n text: h.step.every === 1 ? `Every hour${at}` : `Every ${h.step.every} hours${at}`,\n };\n }\n if (m.values.length * h.values.length <= 6) {\n const times: string[] = [];\n for (const hv of h.values) for (const mv of m.values) times.push(`${pad(hv)}:${pad(mv)}`);\n return { kind: \"at\", text: listText(times) };\n }\n if (!isContiguous(h.values)) return null;\n const first = h.values[0]!;\n const last = h.values[h.values.length - 1]!;\n if (m.step && m.step.start === 0) {\n return {\n kind: \"freq\",\n text: `Every ${m.step.every} minutes from ${pad(first)}:00 to ${pad(last)}:59`,\n };\n }\n if (m.values.length === 1) {\n const mm = pad(m.values[0]!);\n return { kind: \"freq\", text: `Every hour from ${pad(first)}:${mm} to ${pad(last)}:${mm}` };\n }\n return null;\n}\n\n/** Monday-first ordering for day-of-week lists. */\nfunction mondayFirst(a: number, b: number): number {\n return ((a + 6) % 7) - ((b + 6) % 7);\n}\n\nfunction describeDays(\n dom: CronField,\n mon: CronField,\n dow: CronField,\n): { lead: string; qual: string } | null {\n if (!dom.any && !dow.any) return null;\n const months = mon.any ? null : listText(mon.values.map((v) => MONTH_NAMES[v - 1]!));\n const inMonths = months ? ` in ${months}` : \"\";\n if (!dow.any) {\n const days = [...dow.values].sort(mondayFirst);\n const key = days.join(\",\");\n if (key === \"1,2,3,4,5\") {\n return { lead: `Every weekday${inMonths}`, qual: ` on weekdays${inMonths}` };\n }\n if (key === \"6,0\") {\n return { lead: `Every Saturday and Sunday${inMonths}`, qual: ` on weekends${inMonths}` };\n }\n const names = days.map((d) => DAY_NAMES[d]!);\n return {\n lead: `Every ${listText(names)}${inMonths}`,\n qual: ` on ${listText(names.map((n) => `${n}s`))}${inMonths}`,\n };\n }\n if (!dom.any) {\n if (dom.values.length > 5) return null;\n const ords = listText(dom.values.map(ordinal));\n const of = months ? months : \"every month\";\n return { lead: `On the ${ords} of ${of}`, qual: ` on the ${ords} of ${of}` };\n }\n return { lead: `Every day${inMonths}`, qual: inMonths };\n}\n\n/**\n * Human description of a 5-field cron expression (\"Every weekday at 09:00\n * (America/Denver)\"), or null when the expression is outside what this small\n * describer covers.\n */\nexport function describeCron(expr: string, timezone?: string): string | null {\n const parsed = parseCron(expr);\n if (typeof parsed === \"string\") return null;\n if (parsed.some((f) => f.extended)) return null;\n const [m, h, dom, mon, dow] = parsed as [CronField, CronField, CronField, CronField, CronField];\n const time = describeTime(m, h);\n const days = describeDays(dom, mon, dow);\n if (!time || !days) return null;\n const text = time.kind === \"at\" ? `${days.lead} at ${time.text}` : `${time.text}${days.qual}`;\n return timezone ? `${text} (${timezone})` : text;\n}\n\n/** describeCron with the raw-expression fallback. */\nexport function describeCronOrRaw(expr: string, timezone: string): string {\n return describeCron(expr, timezone) ?? `Cron ${expr.trim()} (${timezone})`;\n}\n\n/* ------------------------------------------------------------------ */\n/* Summaries */\n/* ------------------------------------------------------------------ */\n\nexport function formatAbsolute(iso: string): string {\n const d = new Date(iso);\n if (Number.isNaN(d.getTime())) return iso;\n return d.toLocaleString(undefined, { dateStyle: \"medium\", timeStyle: \"short\" });\n}\n\nexport interface SummaryContext {\n projectName?: string | null;\n /** Name of the explicitly selected host; null/undefined means the project default. */\n hostName?: string | null;\n profileName?: string | null;\n taskTitle?: (taskId: string) => string | undefined;\n formatDate?: (iso: string) => string;\n}\n\n/** Short trigger summary for list rows. */\nexport function describeTrigger(trigger: Trigger, ctx: SummaryContext = {}): string {\n const fmt = ctx.formatDate ?? formatAbsolute;\n switch (trigger.kind) {\n case \"manual\":\n return \"Manual\";\n case \"once\":\n return trigger.at && !Number.isNaN(Date.parse(trigger.at))\n ? `Once at ${fmt(trigger.at)}`\n : \"Once (no time chosen)\";\n case \"cron\":\n return describeCronOrRaw(trigger.expr, trigger.timezone);\n case \"webhook\":\n return \"Webhook\";\n case \"dependency\": {\n const title = trigger.taskId ? ctx.taskTitle?.(trigger.taskId) : undefined;\n if (title) return `When \"${title}\" is done`;\n return trigger.taskId ? `When task ${trigger.taskId} is done` : \"When a task is done\";\n }\n }\n}\n\ntype SummaryInput = Pick<\n AutomationInput,\n | \"trigger\"\n | \"filters\"\n | \"template\"\n | \"mode\"\n | \"groupingKey\"\n | \"overlap\"\n | \"missed\"\n | \"continuation\"\n | \"completion\"\n>;\n\nfunction triggerClause(input: SummaryInput, ctx: SummaryContext): string {\n const t = input.trigger;\n switch (t.kind) {\n case \"manual\":\n return \"When run manually\";\n case \"webhook\": {\n const filters = input.filters.filter((f) => f.path.trim());\n if (filters.length === 0) return \"When a webhook is received\";\n return `When a webhook is received where ${listText(\n filters.map((f) => `${f.path.trim()} = \"${f.equals}\"`),\n )}`;\n }\n default:\n return describeTrigger(t, ctx);\n }\n}\n\n/**\n * One-paragraph description of what the automation does, e.g. 'Every weekday\n * at 09:00 (America/Denver), create a fresh task \"Triage\" in Web on my-server; skip\n * if previous work is still open; skip missed runs; requires human review'.\n */\nexport function summarizeAutomation(input: SummaryInput, ctx: SummaryContext = {}): string {\n const title = input.template.title.trim() || \"Untitled task\";\n const project = ctx.projectName ? ` in ${ctx.projectName}` : \"\";\n const host = ctx.hostName ? ` on ${ctx.hostName}` : \" on the project's default host\";\n const profile = ctx.profileName ? ` with profile ${ctx.profileName}` : \"\";\n let action: string;\n switch (input.mode) {\n case \"continue\": {\n const key = input.groupingKey?.trim();\n action = key\n ? `continue the task grouped by \"${key}\" (or create \"${title}\")`\n : `continue the matching task (or create \"${title}\")`;\n break;\n }\n case \"watch\":\n action = `create a watch task \"${title}\" that only raises attention when something relevant changed`;\n break;\n default:\n action = `create a fresh task \"${title}\"`;\n }\n const parts = [`${triggerClause(input, ctx)}, ${action}${project}${host}${profile}`];\n parts.push(\n input.overlap === \"skip\"\n ? \"skip if previous work is still open\"\n : input.overlap === \"queue_one\"\n ? \"queue one occurrence if previous work is still open\"\n : \"append to the open task if previous work is still open\",\n );\n if (input.trigger.kind === \"cron\" || input.trigger.kind === \"once\") {\n parts.push(input.missed === \"skip\" ? \"skip missed runs\" : \"run missed runs once on return\");\n }\n if (input.continuation.enabled) {\n const c = input.continuation;\n parts.push(\n `continue automatically up to ${c.maxContinuations} times within ${c.maxElapsedMinutes} minutes`,\n );\n }\n const checks = input.completion.checks;\n if (checks && checks.length > 0) {\n parts.push(`run ${checks.length === 1 ? \"1 check\" : `${checks.length} checks`}`);\n }\n parts.push(\n input.completion.requireHumanReview ? \"requires human review\" : \"no human review required\",\n );\n return capitalize(parts.join(\"; \"));\n}\n\n/* ------------------------------------------------------------------ */\n/* Editor draft */\n/* ------------------------------------------------------------------ */\n\n/** Form state: strings for inputs so partial edits survive validation. */\nexport interface AutomationDraft {\n name: string;\n enabled: boolean;\n projectId: string;\n triggerKind: TriggerKind;\n /** datetime-local value (local time, no zone). */\n onceAt: string;\n cronExpr: string;\n cronTimezone: string;\n dependencyTaskId: string;\n filters: { path: string; equals: string }[];\n title: string;\n objective: string;\n /** One criterion per line. */\n criteria: string;\n priority: Priority;\n /** \"\" = project default. */\n hostId: string;\n /** \"\" = project default. */\n profileId: string;\n mode: AutomationMode;\n groupingKey: string;\n overlap: OverlapPolicy;\n missed: MissedPolicy;\n continuationEnabled: boolean;\n continuationObjective: string;\n maxContinuations: string;\n maxElapsedMinutes: string;\n maxTokens: string;\n maxCostUsd: string;\n /** One check per line; empty = project default (null). */\n checks: string;\n requireHumanReview: boolean;\n}\n\nexport function localTimezone(): string {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone || \"UTC\";\n } catch {\n return \"UTC\";\n }\n}\n\nexport function emptyDraft(opts: { projectId?: string; timezone?: string } = {}): AutomationDraft {\n return {\n name: \"\",\n enabled: true,\n projectId: opts.projectId ?? \"\",\n triggerKind: \"manual\",\n onceAt: \"\",\n cronExpr: \"0 9 * * 1-5\",\n cronTimezone: opts.timezone ?? localTimezone(),\n dependencyTaskId: \"\",\n filters: [],\n title: \"\",\n objective: \"\",\n criteria: \"\",\n priority: 2,\n hostId: \"\",\n profileId: \"\",\n mode: \"fresh\",\n groupingKey: \"\",\n overlap: \"skip\",\n missed: \"skip\",\n continuationEnabled: false,\n continuationObjective: \"\",\n maxContinuations: \"5\",\n maxElapsedMinutes: \"60\",\n maxTokens: \"\",\n maxCostUsd: \"\",\n checks: \"\",\n requireHumanReview: true,\n };\n}\n\n/** ISO -> datetime-local value in this browser's timezone. */\nexport function isoToLocalInput(iso: string | null | undefined): string {\n if (!iso) return \"\";\n const d = new Date(iso);\n if (Number.isNaN(d.getTime())) return \"\";\n return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}`;\n}\n\n/** datetime-local value -> ISO (interpreted as local time), or \"\" when empty/invalid. */\nexport function localInputToIso(value: string): string {\n if (!value) return \"\";\n const d = new Date(value);\n return Number.isNaN(d.getTime()) ? \"\" : d.toISOString();\n}\n\nexport function draftFromAutomation(\n a: Automation | AutomationInput,\n opts: { timezone?: string } = {},\n): AutomationDraft {\n const base = emptyDraft({ projectId: a.projectId, timezone: opts.timezone });\n const t = a.trigger;\n const c = a.continuation;\n return {\n ...base,\n name: a.name,\n enabled: a.enabled,\n triggerKind: t.kind,\n onceAt: t.kind === \"once\" ? isoToLocalInput(t.at) : \"\",\n cronExpr: t.kind === \"cron\" ? t.expr : base.cronExpr,\n cronTimezone: t.kind === \"cron\" ? t.timezone : base.cronTimezone,\n dependencyTaskId: t.kind === \"dependency\" ? t.taskId : \"\",\n filters: a.filters.map((f) => ({ ...f })),\n title: a.template.title,\n objective: a.template.objective,\n criteria: a.template.acceptanceCriteria.join(\"\\n\"),\n priority: a.template.priority,\n hostId: a.hostId ?? \"\",\n profileId: a.profileId ?? \"\",\n mode: a.mode,\n groupingKey: a.groupingKey ?? \"\",\n overlap: a.overlap,\n missed: a.missed,\n continuationEnabled: c.enabled,\n continuationObjective: c.enabled ? c.objective : \"\",\n maxContinuations: c.enabled ? String(c.maxContinuations) : base.maxContinuations,\n maxElapsedMinutes: c.enabled ? String(c.maxElapsedMinutes) : base.maxElapsedMinutes,\n maxTokens: c.enabled && c.maxTokens !== null ? String(c.maxTokens) : \"\",\n maxCostUsd: c.enabled && c.maxCostUsd !== null ? String(c.maxCostUsd) : \"\",\n checks: a.completion.checks ? a.completion.checks.join(\"\\n\") : \"\",\n requireHumanReview: a.completion.requireHumanReview,\n };\n}\n\nfunction toNumber(s: string): number {\n return s.trim() === \"\" ? Number.NaN : Number(s.trim());\n}\n\nfunction toOptionalNumber(s: string): number | null {\n return s.trim() === \"\" ? null : Number(s.trim());\n}\n\nfunction draftTrigger(d: AutomationDraft): Trigger {\n switch (d.triggerKind) {\n case \"manual\":\n return { kind: \"manual\" };\n case \"once\":\n return { kind: \"once\", at: localInputToIso(d.onceAt) };\n case \"cron\":\n return { kind: \"cron\", expr: d.cronExpr.trim(), timezone: d.cronTimezone.trim() };\n case \"webhook\":\n return { kind: \"webhook\" };\n case \"dependency\":\n return { kind: \"dependency\", taskId: d.dependencyTaskId };\n }\n}\n\n/**\n * Build the request body from a draft. The result is shaped like an\n * AutomationInput but is not validated (numbers may be NaN, strings empty);\n * run validateDraft before sending it.\n */\nexport function draftToInput(d: AutomationDraft): AutomationInput {\n const checks = lines(d.checks);\n return {\n name: d.name.trim(),\n enabled: d.enabled,\n projectId: d.projectId,\n trigger: draftTrigger(d),\n filters: d.filters\n .filter((f) => f.path.trim() || f.equals.trim())\n .map((f) => ({ path: f.path.trim(), equals: f.equals })),\n template: {\n title: d.title.trim(),\n objective: d.objective,\n acceptanceCriteria: lines(d.criteria),\n priority: d.priority,\n },\n hostId: d.hostId || null,\n profileId: d.profileId || null,\n mode: d.mode,\n groupingKey: d.groupingKey.trim() || null,\n overlap: d.overlap,\n missed: d.missed,\n continuation: d.continuationEnabled\n ? {\n enabled: true,\n objective: d.continuationObjective.trim(),\n maxContinuations: toNumber(d.maxContinuations),\n maxElapsedMinutes: toNumber(d.maxElapsedMinutes),\n maxTokens: toOptionalNumber(d.maxTokens),\n maxCostUsd: toOptionalNumber(d.maxCostUsd),\n }\n : { enabled: false },\n completion: {\n checks: checks.length > 0 ? checks : null,\n requireHumanReview: d.requireHumanReview,\n },\n };\n}\n\n/** Draft field keys that can carry an inline error. */\nexport type DraftField =\n | keyof AutomationDraft\n | `filters.${number}.path`\n | `filters.${number}.equals`\n | \"form\";\n\nexport type DraftErrors = Partial<Record<DraftField, string>>;\n\nconst PATH_TO_FIELD: Record<string, DraftField> = {\n name: \"name\",\n enabled: \"enabled\",\n projectId: \"projectId\",\n trigger: \"triggerKind\",\n \"trigger.kind\": \"triggerKind\",\n \"trigger.at\": \"onceAt\",\n \"trigger.expr\": \"cronExpr\",\n \"trigger.timezone\": \"cronTimezone\",\n \"trigger.taskId\": \"dependencyTaskId\",\n \"template.title\": \"title\",\n \"template.objective\": \"objective\",\n \"template.acceptanceCriteria\": \"criteria\",\n \"template.priority\": \"priority\",\n hostId: \"hostId\",\n profileId: \"profileId\",\n mode: \"mode\",\n groupingKey: \"groupingKey\",\n overlap: \"overlap\",\n missed: \"missed\",\n \"continuation.objective\": \"continuationObjective\",\n \"continuation.maxContinuations\": \"maxContinuations\",\n \"continuation.maxElapsedMinutes\": \"maxElapsedMinutes\",\n \"continuation.maxTokens\": \"maxTokens\",\n \"continuation.maxCostUsd\": \"maxCostUsd\",\n \"completion.checks\": \"checks\",\n \"completion.requireHumanReview\": \"requireHumanReview\",\n};\n\n/** Map a zod issue path to a draft field. */\nexport function fieldForPath(path: readonly PropertyKey[]): DraftField {\n const parts = path.map(String);\n if (parts[0] === \"filters\" && parts.length >= 3) {\n return `filters.${Number(parts[1])}.${parts[2] === \"equals\" ? \"equals\" : \"path\"}`;\n }\n if (parts[0] === \"template\" && parts[1] === \"acceptanceCriteria\") return \"criteria\";\n if (parts[0] === \"completion\" && parts[1] === \"checks\") return \"checks\";\n for (let n = parts.length; n > 0; n--) {\n const f = PATH_TO_FIELD[parts.slice(0, n).join(\".\")];\n if (f) return f;\n }\n return \"form\";\n}\n\nfunction intError(s: string, min: number, max: number, label: string): string | null {\n const n = toNumber(s);\n if (!Number.isInteger(n) || n < min || n > max) {\n return `${label} must be a whole number from ${min} to ${max}`;\n }\n return null;\n}\n\n/**\n * Validate a draft: friendly checks first (required fields, cron, timezone,\n * number ranges), then AutomationInput.safeParse for anything else.\n */\nexport function validateDraft(d: AutomationDraft): {\n input: AutomationInput | null;\n errors: DraftErrors;\n} {\n const errors: DraftErrors = {};\n const set = (f: DraftField, msg: string | null) => {\n if (msg && !errors[f]) errors[f] = msg;\n };\n if (!d.name.trim()) set(\"name\", \"Name is required\");\n if (!d.projectId) set(\"projectId\", \"Choose a project\");\n if (!d.title.trim()) set(\"title\", \"Task title is required\");\n switch (d.triggerKind) {\n case \"once\":\n if (!localInputToIso(d.onceAt)) set(\"onceAt\", \"Choose a date and time\");\n break;\n case \"cron\":\n set(\"cronExpr\", validateCron(d.cronExpr));\n set(\"cronTimezone\", validateTimezone(d.cronTimezone));\n break;\n case \"dependency\":\n if (!d.dependencyTaskId) set(\"dependencyTaskId\", \"Choose the task to wait for\");\n break;\n }\n d.filters.forEach((f, i) => {\n if (!f.path.trim() && f.equals.trim()) set(`filters.${i}.path`, \"Enter a payload path\");\n });\n if (d.mode === \"continue\" && !d.groupingKey.trim()) {\n set(\"groupingKey\", \"A grouping key is required to continue an existing task\");\n }\n if (d.continuationEnabled) {\n if (!d.continuationObjective.trim()) {\n set(\"continuationObjective\", \"An objective is required when continuation is on\");\n }\n set(\"maxContinuations\", intError(d.maxContinuations, 1, 50, \"Max continuations\"));\n set(\"maxElapsedMinutes\", intError(d.maxElapsedMinutes, 1, 1440, \"Max elapsed minutes\"));\n if (d.maxTokens.trim()) {\n const n = toNumber(d.maxTokens);\n if (!Number.isInteger(n) || n <= 0)\n set(\"maxTokens\", \"Max tokens must be a positive whole number\");\n }\n if (d.maxCostUsd.trim()) {\n const n = toNumber(d.maxCostUsd);\n if (!Number.isFinite(n) || n <= 0) set(\"maxCostUsd\", \"Max cost must be a positive amount\");\n }\n }\n const raw = draftToInput(d);\n const parsed = AutomationInput.safeParse(raw);\n if (!parsed.success) {\n for (const issue of parsed.error.issues) set(fieldForPath(issue.path), issue.message);\n }\n const ok = parsed.success && Object.keys(errors).length === 0;\n return { input: ok ? parsed.data : null, errors };\n}\n\n/* ------------------------------------------------------------------ */\n/* History */\n/* ------------------------------------------------------------------ */\n\nexport function occurrenceTime(o: Occurrence): string {\n return o.scheduledFor ?? o.createdAt;\n}\n\n/** Union by id (later lists win), newest first. */\nexport function mergeOccurrences(...lists: (Occurrence[] | undefined | null)[]): Occurrence[] {\n const byId = new Map<string, Occurrence>();\n for (const list of lists) for (const o of list ?? []) byId.set(o.id, o);\n return [...byId.values()].sort(\n (a, b) =>\n b.createdAt.localeCompare(a.createdAt) || occurrenceTime(b).localeCompare(occurrenceTime(a)),\n );\n}\n\n/** Accept `Occurrence[]` or `{items|occurrences: Occurrence[]}`. */\nexport function normalizeHistory(res: unknown): Occurrence[] {\n if (Array.isArray(res)) return res as Occurrence[];\n if (res && typeof res === \"object\") {\n const r = res as { items?: unknown; occurrences?: unknown };\n if (Array.isArray(r.items)) return r.items as Occurrence[];\n if (Array.isArray(r.occurrences)) return r.occurrences as Occurrence[];\n }\n return [];\n}\n\nexport function curlExample(token: string, url: string): string {\n return `curl -X POST -H 'Authorization: Bearer ${token}' -H 'Content-Type: application/json' -d '{}' ${url}`;\n}\n"],"ignoreList":[0,1,2,3],"mappings":"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"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
function e(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function t(e,t=`|`){return e.map(e=>le(e)).join(t)}function n(e,t){return typeof t==`bigint`?t.toString():t}var r=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function i(e){return new r(e)}function a(e){return e==null}function o(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function s(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}var c=Symbol(`evaluating`);function l(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==c)return r===void 0&&(r=c,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function u(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function d(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function f(e){return d(e._zod.def)??e._zod.def.shape}function p(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return u(this,t,e),e},enumerable:!0,configurable:!0})}function m(e,t,n){t in e?u(e,t,n):e[t]=n}function h(e,t,n,r){let i=f(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?p(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):m(e,a,r?r(n.value,a):n.value))}}function ee(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?p(e,n,()=>t[n]):m(e,n,r.value))}}function g(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function te(e){return JSON.stringify(e)}function ne(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var re=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function ie(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ae=i(()=>{if(E.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function _(e){if(ie(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return ie(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function oe(e){return _(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var se=new Set([`string`,`number`,`symbol`]);function ce(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function v(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function y(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function le(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function ue(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var de={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},fe={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function pe(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return h(i,e,me(e,t)),v(e,g(n,{shape:i,checks:[]}))}function me(e,t){let n=f(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function he(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(me(e,t)),a={};return h(a,e,Reflect.ownKeys(f(e)).filter(e=>!i.has(e))),v(e,g(n,{shape:a,checks:[]}))}function ge(e,t){if(!_(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=f(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return v(e,g(e._zod.def,{shape:_e(e,t)}))}function _e(e,t){let n={};return h(n,e,Reflect.ownKeys(f(e))),ee(n,t),n}function ve(e,t){if(!_(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return v(e,g(e._zod.def,{shape:_e(e,t)}))}function ye(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return h(n,e,Reflect.ownKeys(f(e))),h(n,t,Reflect.ownKeys(f(t))),v(e,g(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function be(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(me(t,n)):void 0,o={};return h(o,t,Reflect.ownKeys(f(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),v(t,g(t._zod.def,{shape:o,checks:[]}))}function xe(e,t,n){let r=n?new Set(me(t,n)):void 0,i={};return h(i,t,Reflect.ownKeys(f(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),v(t,g(t._zod.def,{shape:i}))}function b(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Se(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Ce(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function we(e){return typeof e==`string`?e:e?.message}function Te(e){let t=[];for(let n of e??[]){let e=n._zod.def;if(!/_(length|size)$|_equals$/.test(e.check))break;let r=e.maximum??e.length??e.size;r>=0&&t.push([r,n])}return t}function Ee(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function x(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:we(e.inst?._zod.def?.error?.(e))??we(a?.(e))??we(t?.error?.(e))??we(n.customError?.(e))??we(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}var De=/[\uD800-\uDBFF]/;function Oe(e){let t=e.length;if(!De.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function ke(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Ae(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function je(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function Me(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):Fe(e,n,r.value)}}function S(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function Ne(e,t,n){return S(e,t,n,!1)}function Pe(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return S(this,n,r(this))},set(e){S(this,n,e)}})}return t}function Fe(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:S(this,t,n.bind(this))},set(e){S(this,t,e)}})}function Ie(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var Le,Re=!1,ze={configurable:!0,get(){Re=!0}};function C(e,t,n){let r=Object.getPrototypeOf(e._zod);t in r&&Le!==e._zod?Le=void 0:(Le=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,ze);let e=Re;Re=!1;try{let r=n(this);return Re?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),Re||=e,r}catch(n){throw delete this[t],Re||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}}))}function Be(e,t,n,r){let i=Ie(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}var Ve=`~constantCatch`;function He(e){let t=()=>e;return t[Ve]=!0,t}var Ue,We={value:void 0,enumerable:!1},Ge=`captureStackTrace`in Error?Error:null;function Ke(e){let t=Ge;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return Ge=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function w(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){We.value=new a(r);try{Object.defineProperty(n,"_zod",We)}finally{We.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),Me(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?Ke(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var T=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},qe=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Ue=globalThis).__zod_globalConfig??(Ue.__zod_globalConfig={});var E=globalThis.__zod_globalConfig;function D(e){return e&&Object.assign(E,e),E}function Je(){let e=this._zod;return e.message??=JSON.stringify(e.def,n,2),e.message}function Ye(e){this._zod.message=e}var Xe={get:Je,set:Ye,enumerable:!0,configurable:!0},Ze={value:void 0,enumerable:!1},Qe=new WeakSet([Object.prototype,Error.prototype]),$e=w(`$ZodError`,(e,t)=>{e.name=`$ZodError`,Ze.value=t,Object.defineProperty(e,"issues",Ze),Ze.value=void 0,Object.defineProperty(e,"message",Xe);let n=Object.getPrototypeOf(e);Qe.has(n)||(Qe.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))});function et(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function tt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?et(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function nt(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function rt(e,t){return{callee:t?.callee??e,Err:t?.Err}}var it=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new T;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>x(e,o,D())));throw re(n,a?.callee??t),n}return s.value};return t},at=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>x(e,o,D())));throw re(n,a?.callee??t),n}return s.value};return t},ot=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new T;return a.issues.length?st(e,a.issues,i):{success:!0,data:a.value}};function st(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>x(e,n,D()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var ct=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?st(e,a.issues,i):{success:!0,data:a.value}},lt=Symbol.for(`zod.compile.invalid`),ut=Symbol.for(`zod.compile.fallback`),dt=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==lt)return!0;if(r.definite===!0&&n===void 0)return!1}return ft(e,t,n)});function ft(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[ut]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new T;return a.issues.length===0}var pt=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},mt=e=>{let t=it(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,rt(n,a))};return n},ht=e=>{let t=it(e),n=(e,r,i,a)=>t(e,r,i,rt(n,a));return n},gt=e=>{let t=at(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,rt(n,a))};return n},_t=e=>{let t=at(e),n=async(e,r,i,a)=>await t(e,r,i,rt(n,a));return n},vt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ot(e)(t,n,i)},yt=e=>(t,n,r)=>ot(e)(t,n,r),bt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ct(e)(t,n,i)},xt=e=>async(t,n,r)=>ct(e)(t,n,r),St=/^[cC][0-9a-z]{6,}$/,Ct=/^[0-9a-z]+$/,wt=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Tt=/^[0-9a-vA-V]{20}$/,Et=/^[A-Za-z0-9]{27}$/,Dt=/^[a-zA-Z0-9_-]{21}$/;function Ot(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var kt=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,At=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,jt=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Mt=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Nt=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function Pt(){return new RegExp(Nt,`u`)}var Ft=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,It=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Lt=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Rt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,zt=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Bt=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,Vt=/^https?$/,Ht=/^\+[1-9]\d{6,14}$/,Ut=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;function Wt(e){return RegExp(`^${e}$`)}var Gt=Wt(Ut);function Kt(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function qt(e){return RegExp(`^${Kt(e)}$`)}function Jt(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${Kt({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${Kt({precision:e.precision})}`:n;return RegExp(`^${Ut}T(?:${r})$`)}var Yt=/^[\s\S]{0,}$/,Xt=/^-?\d+$/,Zt=/^-?\d+(?:\.\d+)?$/,Qt=/^(?:true|false)$/i,$t=/^[^A-Z]*$/,en=/^[^a-z]*$/,O=w(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),tn=e=>{let t=e.value;return!a(t)&&t.length!==void 0},nn={number:`number`,bigint:`bigint`,object:`date`},rn=w(`$ZodCheckLessThan`,(e,t)=>{O.init(e,t);let n=nn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:nn[typeof r.value]??n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),an=w(`$ZodCheckGreaterThan`,(e,t)=>{O.init(e,t);let n=nn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:nn[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),on=w(`$ZodCheckMultipleOf`,(e,t)=>{O.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):s(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),sn=w(`$ZodCheckNumberFormat`,(e,t)=>{O.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=de[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),cn=w(`$ZodCheckMaxLength`,(e,t)=>{var n;O.init(e,t),(n=e._zod.def).when??(n.when=tn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?Oe(r):i)<=t.maximum)return;let a=ke(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),ln=w(`$ZodCheckMinLength`,(e,t)=>{var n;O.init(e,t),(n=e._zod.def).when??(n.when=tn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?Oe(r):i)>=t.minimum)return;let a=ke(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),un=w(`$ZodCheckLengthEquals`,(e,t)=>{var n;O.init(e,t),(n=e._zod.def).when??(n.when=tn),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?Oe(r):i;if(a===t.length)return;let o=ke(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),dn=w(`$ZodCheckStringFormat`,(e,t)=>{var n,r;O.init(e,t),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),fn=w(`$ZodCheckRegex`,(e,t)=>{dn.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),pn=w(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=$t,dn.init(e,t)}),mn=w(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=en,dn.init(e,t)}),hn=w(`$ZodCheckIncludes`,(e,t)=>{O.init(e,t);let n=ce(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),gn=w(`$ZodCheckStartsWith`,(e,t)=>{O.init(e,t);let n=RegExp(`^${ce(t.prefix)}.*`);t.pattern??=n,e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),_n=w(`$ZodCheckEndsWith`,(e,t)=>{O.init(e,t);let n=RegExp(`.*${ce(t.suffix)}$`);t.pattern??=n,e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),vn=w(`$ZodCheckOverwrite`,(e,t)=>{O.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),yn=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--this.indent}}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
2
|
-
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(`
|
|
3
|
-
`)}\n};`)(...Object.values(this.closed))}},bn={major:4,minor:6,patch:7},k=w(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=bn;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=b(t),a;for(let o of n){if(o._zod.def.when){if(Se(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new T;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(Ee(t.issues,n,e),i||=b(t,n))});else{if(t.issues.length===n)continue;Ee(t.issues,n,e),i||=b(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(b(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new T;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new T;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return Ne(this,`~standard`,Cn(this))},set"~standard"(e){S(this,`~standard`,e)}}),xn=(e,t)=>e.issues.length?{issues:e.issues.map(e=>x(e,t,D()))}:{value:e.value};async function Sn(e,t){let n={async:!0};return xn(await e._zod.run({value:t,issues:[]},n),n)}function Cn(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return xn(r,n)}catch{}return Sn(e,t)},vendor:`zod`,version:1}}var wn=w(`$ZodString`,(e,t)=>{k.init(e,t),e._zod.pattern=t.pattern??Yt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),A=w(`$ZodStringFormat`,(e,t)=>{dn.init(e,t),wn.init(e,t)}),Tn=w(`$ZodGUID`,(e,t)=>{t.pattern??=At,A.init(e,t)}),En=w(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=jt(e)}else t.pattern??=jt();A.init(e,t)}),Dn=w(`$ZodEmail`,(e,t)=>{t.pattern??=Mt,A.init(e,t)});function On(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function kn(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?On(e)||2:An(e,t)}function An(e,t){if(!t.normalize&&t.protocol?.source===Vt.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}var jn=/[\t\n\r]/g;function Mn(e){return e.replace(jn,``)}function Nn(e,t){return t.lastIndex=0,t.test(e.hostname)}function Pn(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var Fn=w(`$ZodURL`,(e,t)=>{A.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=kn(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}if(i===!0){n.value=Mn(r);return}t.hostname&&!Nn(i,t.hostname)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!Pn(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:Mn(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),In=w(`$ZodEmoji`,(e,t)=>{t.pattern??=Pt(),A.init(e,t)}),Ln=w(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?Dt:Ot(t.length),A.init(e,t)}),Rn=w(`$ZodCUID`,(e,t)=>{t.pattern??=St,A.init(e,t)}),zn=w(`$ZodCUID2`,(e,t)=>{t.pattern??=Ct,A.init(e,t)}),Bn=w(`$ZodULID`,(e,t)=>{t.pattern??=wt,A.init(e,t)}),Vn=w(`$ZodXID`,(e,t)=>{t.pattern??=Tt,A.init(e,t)}),Hn=w(`$ZodKSUID`,(e,t)=>{t.pattern??=Et,A.init(e,t)}),Un=w(`$ZodISODateTime`,(e,t)=>{t.pattern??=Jt(t),A.init(e,t)}),Wn=w(`$ZodISODate`,(e,t)=>{t.pattern??=Gt,A.init(e,t)}),Gn=w(`$ZodISOTime`,(e,t)=>{t.pattern??=qt(t),A.init(e,t)}),Kn=w(`$ZodISODuration`,(e,t)=>{t.pattern??=kt,A.init(e,t)}),qn=w(`$ZodIPv4`,(e,t)=>{t.pattern??=Ft,A.init(e,t)}),Jn=/^[0-9a-fA-F:.]+$/;function Yn(e){return Jn.test(e)?On(`http://[${e}]`):!1}var Xn=w(`$ZodIPv6`,(e,t)=>{t.pattern??=It,A.init(e,t),e._zod.check=n=>{Yn(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Zn=w(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Lt,A.init(e,t)});function Qn(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:Yn(n)}var $n=w(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Rt,A.init(e,t),e._zod.check=n=>{Qn(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function er(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var tr=/^[0-9a-zA-Z+/]*={0,2}$/,nr=w(`$ZodBase64`,(e,t)=>{t.pattern??=tr,A.init(e,t),e._zod.check=n=>{er(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),rr=/^[A-Za-z0-9_-]*$/;function ir(e){if(!rr.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return er(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var ar=w(`$ZodBase64URL`,(e,t)=>{t.pattern??=rr,A.init(e,t),e._zod.check=n=>{ir(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),or=w(`$ZodE164`,(e,t)=>{t.pattern??=Ht,A.init(e,t)});function sr(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var cr=w(`$ZodJWT`,(e,t)=>{A.init(e,t),e._zod.check=n=>{sr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),lr=w(`$ZodNumber`,(e,t)=>{k.init(e,t),e._zod.pattern=Zt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),ur=w(`$ZodNumberFormat`,(e,t)=>{sn.init(e,t),lr.init(e,t)}),dr=w(`$ZodBoolean`,(e,t)=>{k.init(e,t),e._zod.pattern=Qt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),fr=w(`$ZodUnknown`,(e,t)=>{k.init(e,t),e._zod.parse=e=>e}),pr=w(`$ZodNever`,(e,t)=>{k.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function mr(e,t){let n=Te(e._zod.def.checks);if(!n.length)return;let r=Math.min(...n.map(e=>e[0])),i=e._zod.parse;e._zod.parse=(n,a)=>{let o=t(n.value);if(o>r&&!a?.skipChecks&&a?.direction!==`backward`){for(let[t,r]of Te(e._zod.def.checks))if(o>t&&r._zod.def.when(n)){let t=n.issues.length;return r._zod.check(n),n.issues[t].continue=!1,Ee(n.issues,t,e),n}}return i(n,a)}}var hr=e=>Array.isArray(e)?e.length:-1;function gr(e,t,n){e.issues.length&&t.issues.push(...Ce(n,e.issues)),t.value[n]=e.value}var _r=w(`$ZodArray`,(e,t)=>{k.init(e,t);let n=E.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>gr(t,r,e)));else if(gr(c,r,e),s&&c.issues.length!==0&&b(c))break}return o.length?Promise.all(o).then(()=>r):r},mr(e,hr)});function vr(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(o||!s||i!==`optional`){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...Ce(n,e.issues))}!o&&i===void 0?e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]}):e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}var yr=[];function br(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:yr,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=ue(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function xr(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(b(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>vr(e,n,i,t,d,f))):vr(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var Sr=w(`$ZodObject`,(e,t)=>{k.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let a=i(()=>br(t));C(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||u(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let o=ie,s=t.catchall,c,l=E.memoizer;l?.attach(e),e._zod.parse=(t,n)=>{c??=a.value;let r=t.value;if(!o(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=l?l.alloc(e,t,{},n):{};let i=[],u=c.shape,d=n?.abortEarly,f=t.issues.length;for(let e of c.allKeys){if(d&&t.issues.length!==f){if(b(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let a=u[e],o=a._zod.optin,s=a._zod.optout,c=a._zod.run({value:r[e],issues:[]},n);c instanceof Promise?i.push(c.then(n=>vr(n,t,e,r,o,s))):vr(c,t,e,r,o,s)}return s?xr(i,r,t,n,a.value,e,d===!0):i.length?Promise.all(i).then(()=>t):t}}),Cr=w(`$ZodObjectJIT`,(e,t)=>{Sr.init(e,t);let n=e._zod.parse,r=i(()=>br(t)),a=E.memoizer,o=t=>{let n=r.value,i=n.symbolKeys,o=new yn([`payload`,`ctx`],{shape:t,inst:e,memo:a,syms:i}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`
|
|
4
|
-
let ${e}_ab = false;
|
|
5
|
-
for (let i = 0; i < ${e}.issues.length; i++) {
|
|
6
|
-
const iss = ${e}.issues[i];
|
|
7
|
-
iss.path = iss.path ? [${t}, ...iss.path] : [${t}];
|
|
8
|
-
payload.issues.push(iss);
|
|
9
|
-
if (iss.continue !== true) ${e}_ab = true;
|
|
10
|
-
}
|
|
11
|
-
if (${e}_ab && ctx && ctx.abortEarly) {
|
|
12
|
-
payload.value = newResult;
|
|
13
|
-
return payload;
|
|
14
|
-
}`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(a?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${i.indexOf(e)}]`:te(e),a=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(`
|
|
15
|
-
const ${n}_present = ${a};
|
|
16
|
-
if (!${n}.issues.length || ${n}_present) {
|
|
17
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (${e}) {
|
|
21
|
-
newResult[${r}] = ${n}.value;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
`)}else f?(o.write(`
|
|
26
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
27
|
-
}
|
|
28
|
-
`),d===`defaulted`?o.write(`newResult[${r}] = ${n}.value;`):o.write(`
|
|
29
|
-
if (${n}.value !== undefined || ${a}) {
|
|
30
|
-
newResult[${r}] = ${n}.value;
|
|
31
|
-
}
|
|
32
|
-
`)):o.write(`
|
|
33
|
-
const ${n}_present = ${a};
|
|
34
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
35
|
-
}
|
|
36
|
-
if (!${n}_present && !${n}.issues.length) {
|
|
37
|
-
payload.issues.push({
|
|
38
|
-
code: "invalid_type",
|
|
39
|
-
expected: "nonoptional",
|
|
40
|
-
input: undefined,
|
|
41
|
-
path: [${r}]
|
|
42
|
-
});
|
|
43
|
-
if (ctx && ctx.abortEarly) {
|
|
44
|
-
payload.value = newResult;
|
|
45
|
-
return payload;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (${n}_present) {
|
|
50
|
-
newResult[${r}] = ${n}.value;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
`)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},s,c=ie,l=!E.jitless,u=l&&ae.value,d=t.catchall,f;e._zod.parse=(i,a)=>{f??=r.value;let p=i.value;return c(p)?l&&u&&a?.async===!1&&a.jitless!==!0?(s||=o(t.shape),i=s(i,a),d?xr([],p,i,a,f,e,a?.abortEarly===!0):i):n(i,a):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function wr(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!b(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>x(e,r,D())))}),t)}var Tr=w(`$ZodUnion`,(e,t)=>{k.init(e,t),C(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),C(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),C(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),C(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>o(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>wr(t,r,e,i)):wr(o,r,e,i)}});function Er(e){let t=new Map;for(let n of e.options){let r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw Error(`Invalid discriminated union option at index "${e.options.indexOf(n)}"`);for(let e of r)if(t.has(e)){if(e!==void 0)throw Error(`Duplicate discriminator value "${String(e)}"`);t.set(e,null)}else t.set(e,n)}return t}var Dr=w(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Tr.init(e,t);let n=e._zod.parse;C(e,`propValues`,e=>{let t={},n=0;for(let r of e.def.options){let i=r._zod.propValues;if(!i||Object.keys(i).length===0)throw Error(`Invalid discriminated union option at index "${e.def.options.indexOf(r)}"`);i[e.def.discriminator]?.has(void 0)&&n++;for(let[e,n]of Object.entries(i)){Object.prototype.hasOwnProperty.call(t,e)||u(t,e,new Set);for(let r of n)t[e].add(r)}}return!e.def.unionFallback&&n>1&&t[e.def.discriminator]?.delete(void 0),t}),t.options.forEach((e,n)=>{let r=d(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=i(()=>Er(t));e._zod.parse=(i,a)=>{let o=i.value;if(!ie(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=o?.[t.discriminator],c=r.value.get(s);return c&&(s!==void 0||a.direction!==`backward`)?c._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()).filter(e=>r.value.get(e)!==null),input:o,path:[t.discriminator],inst:e}),i)}}),Or=w(`$ZodIntersection`,(e,t)=>{k.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Ar(e,t,n)):Ar(e,i,a)}});function kr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(_(e)&&_(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=kr(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=kr(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Ar(e,t,n){let r=new Map,i,a=new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=kr(t.value,n.value);if(!c.valid){if(b(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var jr=w(`$ZodRecord`,(e,t)=>{k.init(e,t);let n=E.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!_(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>x(e,i,D())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...Ce(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...Ce(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&Zt.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>x(e,i,D())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...Ce(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...Ce(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),Mr=w(`$ZodEnum`,(t,n)=>{k.init(t,n);let r=e(n.entries),i=new Set(r);t._zod.values=i,C(t,`pattern`,t=>{let n=e(t.def.entries).filter(e=>se.has(typeof e));return RegExp(n.length?`^(${n.map(e=>ce(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`)}),t._zod.parse=(e,n)=>{let a=e.value;return i.has(a)||e.issues.push({code:`invalid_value`,values:r,input:a,inst:t}),e}}),Nr=w(`$ZodLiteral`,(e,t)=>{k.init(e,t);let n=new Set(t.values);e._zod.values=n,C(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?ce(e):e?ce(e.toString()):String(e)).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),Pr=w(`$ZodTransform`,(e,t)=>{k.init(e,t),e._zod.optin=`optional`,E.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new qe(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new T;return n.value=i,n}});function Fr(e,t){return e.value=t.issues.length?void 0:t.value,e}var Ir=w(`$ZodOptional`,(e,t)=>{k.init(e,t),C(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,C(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),C(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${o(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>Fr(e,t)):Fr(e,r)}return t.innerType._zod.run(e,n)}}),Lr=w(`$ZodExactOptional`,(e,t)=>{Ir.init(e,t),C(e,`values`,e=>e.def.innerType._zod.values),C(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Rr=w(`$ZodNullable`,(e,t)=>{k.init(e,t),C(e,`optin`,e=>e.def.innerType._zod.optin),C(e,`optout`,e=>e.def.innerType._zod.optout),C(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${o(t.source)}|null)$`):void 0}),C(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),zr=w(`$ZodDefault`,(e,t)=>{k.init(e,t),e._zod.optin=`defaulted`,C(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Br(e,t)):Br(r,t)}});function Br(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Vr=w(`$ZodPrefault`,(e,t)=>{k.init(e,t),e._zod.optin=`defaulted`,C(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Hr=w(`$ZodNonOptional`,(e,t)=>{k.init(e,t),C(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Ur(t,e)):Ur(i,e)}});function Ur(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function Wr(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>x(e,r,D()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var Gr=w(`$ZodCatch`,(e,t)=>{k.init(e,t),C(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),C(e,`optout`,e=>e.def.innerType._zod.optout),C(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>Wr(e,r,t,n)):Wr(e,r,t,n)}}),Kr=w(`$ZodPipe`,(e,t)=>{k.init(e,t),C(e,`values`,e=>e.def.in._zod.values),C(e,`optin`,e=>e.def.in._zod.optin),C(e,`optout`,e=>e.def.out._zod.optout),C(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>qr(e,t.in,n)):qr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>qr(e,t.out,n)):qr(r,t.out,n)}});function qr(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var Jr=w(`$ZodReadonly`,(e,t)=>{k.init(e,t),C(e,`propValues`,e=>e.def.innerType._zod.propValues),C(e,`values`,e=>e.def.innerType._zod.values),C(e,`optin`,e=>e.def.innerType?._zod?.optin),C(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Yr):Yr(r)}});function Yr(e){return e.memo||(e.value=Object.freeze(e.value)),e}var Xr=w(`$ZodLazy`,(e,t)=>{k.init(e,t),l(e._zod,`innerType`,()=>{let e=t;return e._cachedInner||=t.getter(),e._cachedInner}),C(e,`pattern`,e=>e.innerType?._zod?.pattern),C(e,`propValues`,e=>e.innerType?._zod?.propValues),C(e,`optin`,e=>e.innerType?._zod?.optin??void 0),C(e,`optout`,e=>e.innerType?._zod?.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)}),Zr=w(`$ZodCustom`,(e,t)=>{O.init(e,t),k.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Qr(t,n,r,e));Qr(i,n,r,e)}});function Qr(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(je(e))}}var $r=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},ei=`~memo`,ti=[];function ni(e){return typeof e==`object`&&!!e}function ri(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var ii=new WeakMap,ai=0,oi=1,si=2;function ci(e,t,n){let r=ii.get(e);if(r!==void 0)return r?si:ai;if(t.has(e))return si;t.add(e);let i=ai,a=e=>{if(i!==si&&e?._zod){let r=ci(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=ai;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?oi:o.value?._zod?ci(o.value,t,n):ai;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=d(c);s(e?o(e,!0):oi),a(c.catchall);break}case`array`:a(c.element);break;case`tuple`:for(let e of c.items)a(e);a(c.rest);break;case`record`:case`map`:a(c.keyType),a(c.valueType);break;case`set`:a(c.valueType);break;case`union`:for(let e of c.options)a(e);break;case`intersection`:a(c.left),a(c.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:a(c.innerType);break;case`pipe`:a(c.in),a(c.out);break;case`function`:a(c.input),a(c.output);break;case`lazy`:{let r=c._cachedInner??(n?e._zod.innerType:void 0);s(r?ci(r,t,!1):oi);break}case`template_literal`:case`string`:case`number`:case`int`:case`boolean`:case`bigint`:case`symbol`:case`undefined`:case`null`:case`void`:case`never`:case`any`:case`unknown`:case`date`:case`nan`:case`enum`:case`literal`:case`file`:case`transform`:case`custom`:break;default:for(let e in c){let t=Object.getOwnPropertyDescriptor(c,e);if(!t||t.get)continue;let n=t.value;if(n&&typeof n==`object`){if(n._zod)a(n);else if(Array.isArray(n))for(let e of n)a(e)}}}return t.delete(e),li(e,i)}function li(e,t){return t!==oi&&ii.set(e,t===si),t}function ui(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}var di,fi=[],pi={alloc(e,t,n){let r=di;if(!r)return n;di=void 0;let i={value:n,issues:null};return r.set(t.value,i),fi.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&hi(n,e.value))throw new $r;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r=!1,i,a;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,o=(s,c)=>{if(n===void 0){let i=ci(e,new Set,!1);if(i===ai)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===si||r?n=!0:r=!0}let l=s.value;if(!ni(l))return t(s,c);let u=c[ei];u||(u={buckets:new WeakMap,backEdges:void 0},c[ei]=u);let d;i===c?d=a:(d=ui(u,e),i=c,a=d);let f=d.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...ri(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;di=d;let p=fi.length,m=t(s,c);di=void 0;let h=fi.length>p?fi.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?ri(e.issues):ti),e)):(h&&(h.issues=m.issues.length?ri(m.issues):ti),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function mi(){return pi}function hi(e,t){let n=e[ei]?.backEdges;return n!==void 0&&ni(t)&&n.has(t)}var gi=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function n(t){return e[t]??null}let r={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,currency_code:`currency code`,credit_card:`credit card number`,iban:`IBAN`,jwt:`JWT`,template_literal:`input`},i={nan:`NaN`};function a(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):i[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${a(e.expected)}, received ${a(Ae(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${le(e.values[0])}`:`Invalid option: expected one of ${t(e.values,`|`)}`;case`too_big`:{let t=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=n(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${t}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${t}${e.maximum.toString()}`}case`too_small`:{let t=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=n(e.origin);return r?`Too small: expected ${e.origin} to have ${t}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${t}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${r[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${t(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function _i(){return{localeError:gi()}}var vi,yi=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function bi(){return new yi}(vi=globalThis).__zod_globalRegistry??(vi.__zod_globalRegistry=bi());var xi=globalThis.__zod_globalRegistry;function Si(e){return e.checks&&=[...e.checks],e}function Ci(e,t){return new e(Si({type:`string`,...y(t)}))}function wi(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...y(t)})}function Ti(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...y(t)})}function Ei(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...y(t)})}function Di(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...y(t)})}function Oi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...y(t)})}function ki(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...y(t)})}function Ai(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...y(t)})}function ji(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...y(t)})}function Mi(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...y(t)})}function Ni(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...y(t)})}function Pi(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...y(t)})}function Fi(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...y(t)})}function Ii(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...y(t)})}function Li(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...y(t)})}function Ri(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...y(t)})}function zi(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...y(t)})}function Bi(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...y(t)})}function Vi(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...y(t)})}function Hi(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...y(t)})}function Ui(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...y(t)})}function Wi(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...y(t)})}function Gi(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...y(t)})}function Ki(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...y(t)})}function qi(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...y(t)})}function Ji(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...y(t)})}function Yi(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...y(t)})}function Xi(e,t){return new e(Si({type:`number`,checks:[],...y(t)}))}function Zi(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...y(t)})}function Qi(e,t){return new e({type:`boolean`,...y(t)})}function $i(e){return new e({type:`unknown`})}function ea(e,t){return new e({type:`never`,...y(t)})}function ta(e,t){return new rn({check:`less_than`,...y(t),value:e,inclusive:!1})}function na(e,t){return new rn({check:`less_than`,...y(t),value:e,inclusive:!0})}function ra(e,t){return new an({check:`greater_than`,...y(t),value:e,inclusive:!1})}function ia(e,t){return new an({check:`greater_than`,...y(t),value:e,inclusive:!0})}function aa(e,t){return new on({check:`multiple_of`,...y(t),value:e})}function oa(e,t){return new cn({check:`max_length`,...y(t),maximum:e})}function sa(e,t){return new ln({check:`min_length`,...y(t),minimum:e})}function ca(e,t){return new un({check:`length_equals`,...y(t),length:e})}function la(e,t){return new fn({check:`string_format`,format:`regex`,...y(t),pattern:e})}function ua(e){return new pn({check:`string_format`,format:`lowercase`,...y(e)})}function da(e){return new mn({check:`string_format`,format:`uppercase`,...y(e)})}function fa(e,t){return new hn({check:`string_format`,format:`includes`,...y(t),includes:e})}function pa(e,t){return new gn({check:`string_format`,format:`starts_with`,...y(t),prefix:e})}function ma(e,t){return new _n({check:`string_format`,format:`ends_with`,...y(t),suffix:e})}function ha(e){return new vn({check:`overwrite`,tx:e})}function ga(e){return ha(t=>t.normalize(e))}function _a(){return ha(e=>e.trim())}function va(){return ha(e=>e.toLowerCase())}function ya(){return ha(e=>e.toUpperCase())}function ba(){return ha(e=>ne(e))}function xa(e,t,n){return new e({type:`array`,element:t,...y(n)})}function Sa(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...y(n)})}function Ca(e,t){let n=wa(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(je(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(je(r))}},e(t.value,t)),t);return n}function wa(e,t){let n=new O({check:`custom`,...y(t)});return n._zod.check=e,n}function Ta(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&u(e,t,n[t]);return e}function Ea(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??xi,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],deferred:[],external:e?.external??void 0}}function j(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function M(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,M(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Ta(o.schema,c),t.io===`input`&&N(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Da(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Oa(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${Da(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+Da(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
54
|
-
|
|
55
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0])a(n);else{if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}(e.metadataRegistry.get(n[0])?.id||r.cycle||r.count>1&&e.reused===`ref`)&&a(n)}}e.external&&(e.sharedDefsExtractedFor=e.external)}function ka(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;ka(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}var Aa=new Set([`type`,`properties`,`required`,`additionalProperties`]),ja=[`oneOf`,`anyOf`];function Ma(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Na(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Aa.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??Ma(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}u(n,r,e.length===1?e[0]:Na(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=Ma(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function Pa(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Aa)if(t in e)return;let n=t.filter(e=>ja.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Na(t);else{let e=n[0],i=ja.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>Na([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Ta(e,r))}function Fa(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Ta(i,s),Ta(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())ka(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])Pa(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Ta(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,u(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:La(t,`input`,e.processors),output:La(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function N(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return N(r.element,n);if(r.type===`set`)return N(r.valueType,n);if(r.type===`lazy`)return N(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return N(r.innerType,n);if(r.type===`intersection`)return N(r.left,n)||N(r.right,n);if(r.type===`record`||r.type===`map`)return N(r.keyType,n)||N(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:N(r.in,n)||N(r.out,n);if(r.type===`object`){for(let e in r.shape)if(N(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(N(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(N(e,n))return!0;return!!(r.rest&&N(r.rest,n))}return!1}var Ia=(e,t={})=>n=>{let r=Ea({...n,processors:t});return M(e,r),Oa(r,e),Fa(r,e)},La=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Ea({...i??{},target:a,io:t,processors:n});return M(e,o),Oa(o,e),Fa(o,e)},Ra=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},za=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Ba=(e,t)=>{Ra(e,`minimum`,t),za(e,`maximum`,t)},Va=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Ha=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},Ua=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Wa=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},Ga=(e,t)=>Ra(e,`minimum`,t.minimum),Ka=(e,t)=>za(e,`maximum`,t.maximum),qa=e=>(t,n)=>{Wa(t,n.format);let[r,i]=e[n.format];Ra(t,`minimum`,r),za(t,`maximum`,i)},Ja={greater_than:(e,t)=>Ra(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>za(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>Va(e,t.value),number_format:qa(de),bigint_format:qa(fe),min_length:Ga,max_length:Ka,length_equals:(e,t)=>Ba(e,t.length),min_size:Ga,max_size:Ka,size_equals:(e,t)=>Ba(e,t.size),string_format:(e,t)=>{Wa(e,t.format),t.pattern&&Ha(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>Ua(e,t.mime)};function P(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)Ja[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&Ra(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&Ra(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&za(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&za(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&Va(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&Ua(t,i.mime);for(let e of i.patterns??[])Ha(t,e);return t}var Ya={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Xa=new Map([[tr,zt],[rr,Bt]]),Za=e=>Xa.get(e)??e,Qa=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=P(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Ya[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(Za);e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},$a=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=P(e);i.type=u?`integer`:`number`;let d=typeof l==`number`&&l>=(a??-1/0),f=typeof c==`number`&&c<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;if(d?p?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=c,i.exclusiveMaximum=!0):i.exclusiveMaximum=c:typeof o==`number`&&(i.maximum=o),s){let n=new Set;for(let a of s)Number.isFinite(a)&&a!==0?n.add(Math.abs(a)):j(e,t,i,r,`A multipleOf divisor of ${a} cannot be represented in JSON Schema`);let[a,...o]=n;a!==void 0&&(i.multipleOf=a),o.length&&(i.allOf=[...i.allOf??[],...o.map(e=>({multipleOf:e}))])}},eo=(e,t,n,r)=>{n.type=`boolean`},to=(e,t,n,r)=>{n.not={}},no=(t,n,r,i)=>{let a=t._zod.def,o=e(a.entries);o.length===0?r.not={}:(o.every(e=>typeof e==`number`)&&(r.type=`number`),o.every(e=>typeof e==`string`)&&(r.type=`string`),r.enum=o)},ro=(e,t,n,r)=>{let i=e._zod.def;if(i.values.length===0){n.not={};return}let a=[];for(let o of i.values)if(o===void 0){if(j(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(j(e,t,n,r,`BigInt literals cannot be represented in JSON Schema`))return;a.push(Number(o))}else a.push(o);if(a.length!==0){if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a}},io=(e,t,n,r)=>{j(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},ao=(e,t,n,r)=>{j(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},oo=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=P(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=M(a.element,t,{...r,path:[...r.path,`items`]})};function so(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?so(t.out):t.type===`catch`?so(t.innerType):e._zod.optin}var co=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&j(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)u(i.properties,e,M(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?so(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=M(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},lo=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>M(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},uo=(e,t,n,r)=>{let i=e._zod.def,a=M(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=M(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)};function fo(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=fo(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>fo(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i&&(p.type=`string`,a||(p.pattern=(r.includes(`number`)?Zt:Xt).source)),p}var po=new WeakMap;function mo(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=new Map;for(let r of po.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=fo(t,a,new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}var ho=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=P(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=M(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)u(i.patternProperties,Za(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=M(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=po.get(t);n||(n=[],po.set(t,n),t.deferred.push(()=>mo(t))),n.push(e)}i.additionalProperties=M(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&so(a.valueType)!==void 0;if(c&&!a.partial&&!l){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},go=(e,t,n,r)=>{let i=e._zod.def,a=M(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},_o=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},vo=Symbol();function yo(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(j(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),vo):JSON.parse(o)}var bo=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=yo(i.defaultValue,e,t,n,r);o!==vo&&(n.default=o)},xo=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=yo(i.defaultValue,e,t,n,r);o!==vo&&(n._prefault=o)},So=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{j(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Co=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;M(o,t,r);let s=t.seen.get(e);s.ref=o},wo=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},To=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Eo=(e,t,n,r)=>{let i=e._zod.innerType;M(i,t,r);let a=t.seen.get(e);a.ref=i},Do=new WeakSet([Object.prototype,Error.prototype]);function Oo(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}var F=w(`ZodError`,(e,t)=>{$e.init(e,t),e.name=`ZodError`;let r=Object.getPrototypeOf(e);Do.has(r)||(Do.add(r),Oo(r,`format`,e=>t=>nt(e,t)),Oo(r,`flatten`,e=>t=>tt(e,t)),Oo(r,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,n,2)}),Oo(r,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,n,2)}),Object.defineProperty(r,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),ko=it(F),Ao=at(F),jo=ot(F),Mo=ct(F),No=mt(F),Po=ht(F),Fo=gt(F),Io=_t(F),Lo=vt(F),Ro=yt(F),zo=bt(F),Bo=xt(F);function Vo(){E.localeError||D(_i())}function Ho(){E.memoizer||D({memoizer:mi()})}var I=w(`ZodType`,(e,t)=>(Vo(),k.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(g(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return v(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(ec(e,t))},superRefine(e,t){return this.check(tc(e,t))},overwrite(e){return this.check(ha(e))},optional(){return Ps(this)},exactOptional(){return Is(this)},nullable(){return Rs(this)},nullish(){return Ps(Rs(this))},nonoptional(e){return Ws(this,e)},array(){return H(this)},or(e){return W([this,e])},and(e){return Es(this,e)},transform(e){return Js(this,Ms(e))},default(e){return Bs(this,e)},prefault(e){return Hs(this,e)},catch(e){return Ks(this,e)},pipe(e){return Js(this,e)},readonly(){return Xs(this)},describe(e){let t=this.clone();return xi.add(t,{description:e}),t},meta(...e){if(e.length===0)return xi.get(this);let t=this.clone();return xi.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return Ne(this,`~standard`,{...Cn(this),jsonSchema:{input:La(this,`input`),output:La(this,`output`)}})},set"~standard"(e){S(this,`~standard`,e)},parse:function e(t,n){return ko(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Ao(this,t,n,{callee:e})},safeParse(e,t){return jo(this,e,t)},async safeParseAsync(e,t){return Mo(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){S(this,`spa`,e)},validate(e,t){return dt(this,e,t)},validateAsync(e,t){return pt(this,e,t)},encode:function e(t,n){return No(this,t,n,{callee:e})},decode:function e(t,n){return Po(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Fo(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Io(this,t,n,{callee:e})},safeEncode(e,t){return Lo(this,e,t)},safeDecode(e,t){return Ro(this,e,t)},async safeEncodeAsync(e,t){return zo(this,e,t)},async safeDecodeAsync(e,t){return Bo(this,e,t)},toJSONSchema(e){return Ia(this,{})(e)},get description(){return xi.get(this)?.description},get _def(){return this._zod.def}}),Uo=w(`_ZodString`,(e,t)=>{wn.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qa(e,t,n,r)},Pe({format:e=>P(e).format??null,minLength:e=>P(e).minimum??null,maxLength:e=>P(e).maximum??null},{regex(...e){return this.check(la(...e))},includes(...e){return this.check(fa(...e))},startsWith(...e){return this.check(pa(...e))},endsWith(...e){return this.check(ma(...e))},min(...e){return this.check(sa(...e))},max(...e){return this.check(oa(...e))},length(...e){return this.check(ca(...e))},nonempty(...e){return this.check(sa(1,...e))},lowercase(e){return this.check(ua(e))},uppercase(e){return this.check(da(e))},trim(){return this.check(_a())},normalize(...e){return this.check(ga(...e))},toLowerCase(){return this.check(va())},toUpperCase(){return this.check(ya())},slugify(){return this.check(ba())}})),Wo=w(`ZodString`,(e,t)=>{wn.init(e,t),Uo.init(e,t)},{email(e){return this.check(wi(Yo,e))},url(e){return this.check(Ai(Qo,e))},jwt(e){return this.check(Gi(ps,e))},emoji(e){return this.check(ji($o,e))},guid(e){return this.check(Ti(Xo,e))},uuid(e){return this.check(Ei(Zo,e))},uuidv4(e){return this.check(Di(Zo,e))},uuidv6(e){return this.check(Oi(Zo,e))},uuidv7(e){return this.check(ki(Zo,e))},nanoid(e){return this.check(Mi(es,e))},cuid(e){return this.check(Ni(ts,e))},cuid2(e){return this.check(Pi(ns,e))},ulid(e){return this.check(Fi(rs,e))},base64(e){return this.check(Hi(us,e))},base64url(e){return this.check(Ui(ds,e))},xid(e){return this.check(Ii(is,e))},ksuid(e){return this.check(Li(as,e))},ipv4(e){return this.check(Ri(os,e))},ipv6(e){return this.check(zi(ss,e))},cidrv4(e){return this.check(Bi(cs,e))},cidrv6(e){return this.check(Vi(ls,e))},e164(e){return this.check(Wi(fs,e))},datetime(e){return this.check(Ki(Go,e))},date(e){return this.check(qi(Ko,e))},time(e){return this.check(Ji(qo,e))},duration(e){return this.check(Yi(Jo,e))}});function L(e){return Ci(Wo,e)}var R=w(`ZodStringFormat`,(e,t)=>{A.init(e,t),Uo.init(e,t)}),Go=w(`ZodISODateTime`,(e,t)=>{Un.init(e,t),R.init(e,t)}),Ko=w(`ZodISODate`,(e,t)=>{Wn.init(e,t),R.init(e,t)}),qo=w(`ZodISOTime`,(e,t)=>{Gn.init(e,t),R.init(e,t)}),Jo=w(`ZodISODuration`,(e,t)=>{Kn.init(e,t),R.init(e,t)}),Yo=w(`ZodEmail`,(e,t)=>{Dn.init(e,t),R.init(e,t)}),Xo=w(`ZodGUID`,(e,t)=>{Tn.init(e,t),R.init(e,t)}),Zo=w(`ZodUUID`,(e,t)=>{En.init(e,t),R.init(e,t)}),Qo=w(`ZodURL`,(e,t)=>{Fn.init(e,t),R.init(e,t)}),$o=w(`ZodEmoji`,(e,t)=>{In.init(e,t),R.init(e,t)}),es=w(`ZodNanoID`,(e,t)=>{Ln.init(e,t),R.init(e,t)}),ts=w(`ZodCUID`,(e,t)=>{Rn.init(e,t),R.init(e,t)}),ns=w(`ZodCUID2`,(e,t)=>{zn.init(e,t),R.init(e,t)}),rs=w(`ZodULID`,(e,t)=>{Bn.init(e,t),R.init(e,t)}),is=w(`ZodXID`,(e,t)=>{Vn.init(e,t),R.init(e,t)}),as=w(`ZodKSUID`,(e,t)=>{Hn.init(e,t),R.init(e,t)}),os=w(`ZodIPv4`,(e,t)=>{qn.init(e,t),R.init(e,t)}),ss=w(`ZodIPv6`,(e,t)=>{Xn.init(e,t),R.init(e,t)}),cs=w(`ZodCIDRv4`,(e,t)=>{Zn.init(e,t),R.init(e,t)}),ls=w(`ZodCIDRv6`,(e,t)=>{$n.init(e,t),R.init(e,t)}),us=w(`ZodBase64`,(e,t)=>{nr.init(e,t),R.init(e,t)}),ds=w(`ZodBase64URL`,(e,t)=>{ar.init(e,t),R.init(e,t)}),fs=w(`ZodE164`,(e,t)=>{or.init(e,t),R.init(e,t)}),ps=w(`ZodJWT`,(e,t)=>{cr.init(e,t),R.init(e,t)}),ms=w(`ZodNumber`,(e,t)=>{lr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$a(e,t,n,r),e.isFinite=!0},Pe({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=P(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=P(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=P(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>P(e).format??null},{gt(e,t){return this.check(ra(e,t))},gte(e,t){return this.check(ia(e,t))},min(e,t){return this.check(ia(e,t))},lt(e,t){return this.check(ta(e,t))},lte(e,t){return this.check(na(e,t))},max(e,t){return this.check(na(e,t))},int(e){return this.check(gs(e))},safe(e){return this.check(gs(e))},positive(e){return this.check(ra(0,e))},nonnegative(e){return this.check(ia(0,e))},negative(e){return this.check(ta(0,e))},nonpositive(e){return this.check(na(0,e))},multipleOf(e,t){return this.check(aa(e,t))},step(e,t){return this.check(aa(e,t))},finite(){return this}}));function z(e){return Xi(ms,e)}var hs=w(`ZodNumberFormat`,(e,t)=>{ur.init(e,t),ms.init(e,t)});function gs(e){return Zi(hs,e)}var _s=w(`ZodBoolean`,(e,t)=>{dr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>eo(e,t,n,r)});function B(e){return Qi(_s,e)}var vs=w(`ZodUnknown`,(e,t)=>{fr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function V(){return $i(vs)}var ys=w(`ZodNever`,(e,t)=>{pr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>to(e,t,n,r)});function bs(e){return ea(ys,e)}var xs=w(`ZodArray`,(e,t)=>{Ho(),_r.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oo(e,t,n,r),e.element=t.element},{min(e,t){return this.check(sa(e,t))},nonempty(e){return this.check(sa(1,e))},max(e,t){return this.check(oa(e,t))},length(e,t){return this.check(ca(e,t))},unwrap(){return this.element}});function H(e,t){return xa(xs,e,t)}var Ss=w(`ZodObject`,(e,t)=>{Ho(),Cr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>co(e,t,n,r),Be(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return K(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(g(this._zod.def,{catchall:e}))},passthrough(){return this.clone(g(this._zod.def,{catchall:V()}))},loose(){return this.clone(g(this._zod.def,{catchall:V()}))},strict(){return this.clone(g(this._zod.def,{catchall:bs()}))},strip(){return this.clone(g(this._zod.def,{catchall:void 0}))},extend(e){return ge(this,e)},safeExtend(e){return ve(this,e)},merge(e){return ye(this,e)},pick(e){return pe(this,e)},omit(e){return he(this,e)},partial(...e){return be(Ns,this,e[0])},exactPartial(...e){return be(Fs,this,e[0],`exactPartial`)},required(...e){return xe(Us,this,e[0])}});function U(e,t){return new Ss({type:`object`,shape:e??{},...y(t)})}var Cs=w(`ZodUnion`,(e,t)=>{Tr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lo(e,t,n,r),e.options=t.options});function W(e,t){return new Cs({type:`union`,options:e,...y(t)})}var ws=w(`ZodDiscriminatedUnion`,(e,t)=>{Cs.init(e,t),Dr.init(e,t)});function G(e,t,n){return new ws({type:`union`,options:t,discriminator:e,...y(n)})}var Ts=w(`ZodIntersection`,(e,t)=>{Or.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uo(e,t,n,r)});function Es(e,t){return new Ts({type:`intersection`,left:e,right:t})}var Ds=w(`ZodRecord`,(e,t)=>{Ho(),jr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ho(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Os(e,t,n){return!t||!t._zod?new Ds({type:`record`,keyType:L(),valueType:e,...y(t)}):new Ds({type:`record`,keyType:e,valueType:t,...y(n)})}var ks=w(`ZodEnum`,(e,t)=>{Mr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>no(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new ks({...t,checks:[],...y(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new ks({...t,checks:[],...y(r),entries:i})}});function K(e,t){return new ks({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...y(t)})}var As=w(`ZodLiteral`,(e,t)=>{Nr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ro(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function q(e,t){return new As({type:`literal`,values:Array.isArray(e)?e:[e],...y(t)})}var js=w(`ZodTransform`,(e,t)=>{Ho(),Pr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ao(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new qe(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(je(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(je(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Ms(e){return new js({type:`transform`,transform:e})}var Ns=w(`ZodOptional`,(e,t)=>{Ir.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>To(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ps(e){return new Ns({type:`optional`,innerType:e})}var Fs=w(`ZodExactOptional`,(e,t)=>{Lr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>To(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Is(e){return new Fs({type:`optional`,innerType:e})}var Ls=w(`ZodNullable`,(e,t)=>{Rr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>go(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Rs(e){return new Ls({type:`nullable`,innerType:e})}var zs=w(`ZodDefault`,(e,t)=>{zr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Bs(e,t){return new zs({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():oe(t)}})}var Vs=w(`ZodPrefault`,(e,t)=>{Vr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Hs(e,t){return new Vs({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():oe(t)}})}var Us=w(`ZodNonOptional`,(e,t)=>{Hr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_o(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ws(e,t){return new Us({type:`nonoptional`,innerType:e,...y(t)})}var Gs=w(`ZodCatch`,(e,t)=>{Gr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>So(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ks(e,t){return new Gs({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:He(t)})}var qs=w(`ZodPipe`,(e,t)=>{Kr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Co(e,t,n,r),e.in=t.in,e.out=t.out});function Js(e,t){return new qs({type:`pipe`,in:e,out:t})}var Ys=w(`ZodReadonly`,(e,t)=>{Jr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Xs(e){return new Ys({type:`readonly`,innerType:e})}var Zs=w(`ZodLazy`,(e,t)=>{Xr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Eo(e,t,n,r),e.unwrap=()=>e._zod.def.getter()});function Qs(e){return new Zs({type:`lazy`,getter:e})}var $s=w(`ZodCustom`,(e,t)=>{Zr.init(e,t),I.init(e,t),e._zod.processJSONSchema=(t,n,r)=>io(e,t,n,r)});function ec(e,t={}){return Sa($s,e,t)}function tc(e,t){return Ca(e,t)}var nc=U({code:K(`unauthorized.forbidden.not_found.invalid_request.conflict.already_answered.stale_control.host_unreachable.pi_incompatible.native_session_missing.invalid_transition.dependency_cycle.workspace_dirty.workspace_unmerged.workspace_active_sessions.branch_invalid.path_collision.not_a_git_repo.repo_mismatch.enrollment_expired.enrollment_used.device_revoked.unsupported_capability.too_large.ui_tree_too_large.timeout.rate_limited.internal`.split(`.`)),message:L(),details:V().optional()});U({error:nc});var rc=K([`default`,`muted`,`success`,`warning`,`danger`]),ic=U({field:L(),values:H(L())}),ac=U({value:L(),label:L(),description:L().optional(),preview:L().optional()}),oc=U({label:L(),placeholder:L().optional()}),sc=G(`kind`,[U({kind:q(`select`),name:L(),label:L(),options:H(ac),allowOther:oc.optional(),showIf:ic.optional()}),U({kind:q(`multiselect`),name:L(),label:L(),options:H(ac),allowOther:oc.optional(),min:z().int().min(0).optional(),max:z().int().min(1).optional(),showIf:ic.optional()}),U({kind:q(`text`),name:L(),label:L(),placeholder:L().optional(),multiline:B().optional(),prefill:L().optional(),showIf:ic.optional()})]),cc=G(`kind`,[U({kind:q(`file`),path:L()}),U({kind:q(`session`),sessionId:L()}),U({kind:q(`task`),taskId:L()}),U({kind:q(`native_session`),hostId:L(),sessionFile:L()})]),J=Qs(()=>G(`t`,[U({t:q(`text`),text:L(),tone:rc.optional()}),U({t:q(`markdown`),text:L()}),U({t:q(`code`),text:L(),lang:L().optional()}),U({t:q(`diff`),patch:L()}),U({t:q(`list`),items:H(J),ordered:B().optional()}),U({t:q(`table`),columns:H(L()),rows:H(H(L()))}),U({t:q(`section`),title:L().optional(),collapsible:B().optional(),children:H(J)}),U({t:q(`tabs`),tabs:H(U({id:L(),label:L(),children:H(J)}))}),U({t:q(`progress`),label:L(),value:z().min(0).max(1).optional(),status:K([`running`,`ok`,`error`]).optional()}),U({t:q(`ref`),ref:cc,label:L()}),U({t:q(`form`),formId:L(),fields:H(sc),submitLabel:L(),cancelLabel:L().optional()}),U({t:q(`confirm`),message:L(),confirmLabel:L(),cancelLabel:L(),destructive:B().optional()}),U({t:q(`actions`),actions:H(U({id:L(),label:L(),tone:K([`default`,`primary`,`danger`]).optional()}))})]));function lc(e,t){if(!e.showIf)return!0;let n=t[e.showIf.field];return n===void 0?!1:typeof n==`string`?e.showIf.values.includes(n):Array.isArray(n)?n.some(t=>e.showIf.values.includes(t)):!1}var uc=W([L(),H(L()),U({other:L()})]),dc=G(`kind`,[U({kind:q(`form`),values:Os(L(),uc)}),U({kind:q(`confirm`),confirmed:B()}),U({kind:q(`action`),actionId:L()}),U({kind:q(`cancel`)})]),Y=L(),X=L(),fc=K([`connected`,`reconnecting`,`unreachable`]),pc=[`prompt`,`steer`,`followUp`,`abort`,`resume`,`rename`,`importInactive`,`extensionDialogs`,`customUi`,`widgetsText`,`widgetsComponent`,`tokenAccounting`,`costAccounting`],mc=U({prompt:B(),steer:B(),followUp:B(),abort:B(),resume:B(),rename:B(),importInactive:B(),extensionDialogs:B(),customUi:B(),widgetsText:B(),widgetsComponent:B(),tokenAccounting:B(),costAccounting:B(),terminal:B().optional(),sessionControls:B().optional(),unsupported:H(U({capability:L(),reason:L()}))}),hc=U({state:K([`running`,`done`,`failed`]),startedAt:Y,finishedAt:Y.nullable(),repositories:z().int(),projectsCreated:z().int(),checkoutsAdded:z().int(),errors:H(L())}),gc=U({id:X,name:L(),platform:K([`darwin`,`linux`]),agentVersion:L(),piVersion:L().nullable(),piCompatible:B(),capabilities:mc.nullable(),connectivity:fc,lastSeenAt:Y.nullable(),revokedAt:Y.nullable(),createdAt:Y,projectFolders:H(L()).optional(),projectScan:hc.nullable().optional()}),_c=L().min(1).refine(e=>!e.startsWith(`/`)&&!e.includes(`\\`),`must be a relative path`).refine(e=>!e.split(`/`).includes(`..`),`must stay inside the repository`).refine(e=>e.split(`/`).every(e=>e.length>0&&e!==`.`),`must be a plain relative path`),vc=U({id:X,name:L().min(1),repoIdentity:L(),defaultProfileId:X.nullable(),defaultHostId:X.nullable(),maxConcurrentRuns:z().int().min(1).max(32),automationEnabled:B(),setupCommand:L().nullable(),checks:H(L()),workspaceSharing:K([`single_writer`,`shared`]),worktreeDir:_c.default(`.worktrees`),createdAt:Y,updatedAt:Y}),yc=U({id:X,projectId:X,hostId:X,path:L(),commonDir:L(),defaultBranch:L(),createdAt:Y}),bc=U({dirty:B(),changedFiles:z().int(),ahead:z().int(),behind:z().int(),unmerged:B()}),xc=U({id:X,checkoutId:X,projectId:X,hostId:X,path:L(),branch:L().nullable(),baseBranch:L().nullable(),provenance:K([`managed`,`discovered`,`main`]),git:bc,setup:U({state:K([`none`,`running`,`succeeded`,`failed`]),log:L()}),archivedAt:Y.nullable(),updatedAt:Y}),Z=K([`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`]),Sc=U({provider:L(),id:L(),name:L().nullable(),contextWindow:z().nullable(),reasoning:B(),scoped:B().optional(),thinkingLevels:H(Z)}),Cc=U({name:L().min(1),description:L().nullable(),source:K([`extension`,`prompt`,`skill`]),argumentHint:L().nullable().optional()}),wc=U({tokens:z().nullable(),window:z(),percent:z().nullable()}),Tc=[`--mode`,`--fork`,`--no-session`,`-e`,`--extension`],Ec=L().refine(e=>e.startsWith(`--`)||!e.startsWith(`-`),`extra args must be long flags`).refine(e=>!Tc.includes(e.split(`=`)[0])&&!e.startsWith(`--session`),`this flag is managed by Switchyard`),Dc=U({id:X,name:L().min(1),provider:L().nullable(),model:L().nullable(),thinking:Z.nullable(),projectTrust:K([`ask`,`approve`,`ignore`]),extraArgs:H(Ec),resources:K([`all`,`vanilla`]).optional()}),Oc=K([`starting`,`idle`,`running`,`waiting_input`,`interrupted`,`failed`,`stopped`]),kc=U({sessionId:L(),sessionFile:L()}),Ac=U({tokens:z().nullable(),costUsd:z().nullable(),context:wc.nullable().optional()}),jc=U({id:X,title:L(),subtitle:L().nullable(),hostId:X,workspaceId:X.nullable(),projectId:X.nullable(),cwd:L(),nativeHandle:kc.nullable(),profileSnapshot:Dc,runtime:Oc,runtimeDetail:L().nullable(),connectivity:fc,runId:X.nullable(),taskId:X.nullable(),provenance:K([`created`,`imported`,`subagent`]),readOnly:B(),lastActivityAt:Y,archivedAt:Y.nullable(),queue:U({steering:H(L()),followUp:H(L())}),stats:Ac.nullable(),model:Sc.nullable().optional(),thinking:Z.nullable().optional(),compacting:B().optional(),lastAssistantText:L().nullable(),createdAt:Y,terminal:B().optional()}),Mc=G(`enabled`,[U({enabled:q(!1)}),U({enabled:q(!0),objective:L().min(1),maxContinuations:z().int().min(1).max(50),maxElapsedMinutes:z().int().min(1).max(1440),maxTokens:z().int().positive().nullable(),maxCostUsd:z().positive().nullable()})]),Nc=U({checks:H(L()).nullable(),requireHumanReview:B()}),Pc=G(`mode`,[U({mode:q(`new_worktree`),branch:L().nullable(),base:L().nullable()}),U({mode:q(`existing`),workspaceId:X})]),Fc=U({hostId:X.nullable(),profileId:X.nullable(),workspace:Pc,continuation:Mc,completion:Nc}),Ic=K([`backlog`,`ready`,`in_progress`,`review`,`done`,`canceled`]),Lc=W([q(0),q(1),q(2),q(3)]),Rc=[`Urgent`,`High`,`Normal`,`Low`],zc=G(`kind`,[U({kind:q(`manual`)}),U({kind:q(`automation`),automationId:X,occurrenceId:X,routine:B()})]),Bc=U({id:X,projectId:X,title:L().min(1),objective:L(),acceptanceCriteria:H(L()),dependencies:H(X),priority:Lc,position:z(),state:Ic,blocked:U({reason:L()}).nullable(),notBefore:Y.nullable(),policy:Fc,origin:zc,groupingKey:L().nullable(),currentRunId:X.nullable(),sessionId:X.nullable(),review:U({feedback:H(L()),changesRequested:B()}),hiddenFromBoard:B(),lastActivityAt:Y,createdAt:Y,updatedAt:Y}),Vc=K([`queued`,`dispatching`,`uncertain`,`running`,`waiting_input`,`checking`,`succeeded`,`failed`,`interrupted`,`canceled`]),Hc=U({command:L(),exitCode:z().int().nullable(),outputTail:L()}),Uc=U({id:X,taskId:X,sessionId:X.nullable(),hostId:X.nullable(),dispatchKey:L(),attempt:z().int().min(1),state:Vc,controlMode:K([`automation`,`human`]),controlRevision:z().int().min(1),continuationsUsed:z().int().min(0),infraRetries:z().int().min(0),nextAttemptAt:Y.nullable(),startedAt:Y.nullable(),endedAt:Y.nullable(),outcome:U({kind:K([`review`,`failed`,`blocked`,`no_change`,`canceled`]),summary:L()}).nullable(),limits:Mc,usage:U({tokens:z().nullable(),costUsd:z().nullable(),accounting:K([`available`,`unavailable`]),note:L().nullable()}),checks:H(Hc),createdAt:Y,updatedAt:Y}),Wc=G(`kind`,[U({kind:q(`manual`)}),U({kind:q(`once`),at:Y}),U({kind:q(`cron`),expr:L().min(1),timezone:L().min(1)}),U({kind:q(`webhook`)}),U({kind:q(`dependency`),taskId:X})]),Gc=U({title:L().min(1),objective:L(),acceptanceCriteria:H(L()),priority:Lc}),Kc=U({id:X,name:L().min(1),enabled:B(),projectId:X,trigger:Wc,filters:H(U({path:L(),equals:L()})),template:Gc,hostId:X.nullable(),profileId:X.nullable(),mode:K([`fresh`,`continue`,`watch`]),groupingKey:L().nullable(),overlap:K([`skip`,`queue_one`,`append`]),missed:K([`skip`,`run_once`]),continuation:Mc,completion:Nc,nextAt:Y.nullable(),lastEvaluatedAt:Y.nullable(),lastOutcome:L().nullable(),failureCount:z().int().min(0),webhookTokenSet:B(),createdAt:Y,updatedAt:Y}),qc=K([`fired`,`skipped_overlap`,`skipped_missed`,`queued`,`appended`,`failed`,`filtered`]),Jc=U({id:X,automationId:X,key:L(),scheduledFor:Y.nullable(),state:qc,taskId:X.nullable(),reason:L().nullable(),outcome:L().nullable(),createdAt:Y}),Yc=K([`pending`,`resolved`,`expired`,`cancelled`,`unsupported`]),Xc=U({id:X,sessionId:X,revision:z().int().min(1),source:G(`kind`,[U({kind:q(`extension_ui`),method:K([`select`,`confirm`,`input`,`editor`]),piRequestIds:H(L())}),U({kind:q(`unsupported_custom`),title:L().nullable()})]),adapterId:L().nullable(),title:L(),presentation:J,state:Yc,resolution:U({by:L(),summary:L(),at:Y}).nullable(),createdAt:Y}),Zc=K([`needs_input`,`failed`,`ready_for_review`,`unsupported_interaction`,`host_unreachable`]),Qc=U({id:X,sessionId:X.nullable(),taskId:X.nullable(),projectId:X.nullable(),reason:Zc,severity:K([`info`,`warning`,`critical`]),summary:L(),interactionId:X.nullable(),deepLink:L(),acknowledgedAt:Y.nullable(),resolvedAt:Y.nullable(),createdAt:Y}),$c=U({id:X,name:L(),kind:K([`browser`,`pwa`,`terminal`,`cli`]),createdAt:Y,lastSeenAt:Y.nullable(),revokedAt:Y.nullable(),push:U({subscribed:B(),permission:K([`granted`,`denied`,`default`,`unknown`])}),preferredMobile:B(),enrolledVia:K([`enrollment`,`passkey`,`oidc`,`admin`,`approval`]).default(`enrollment`)}),el=U({toolCallId:L(),name:L(),status:K([`running`,`ok`,`error`]),args:V(),summary:L(),output:L(),startedAt:Y,durationMs:z().nullable(),card:J.nullable(),adapterId:L().nullable()}),tl=G(`kind`,[U({id:X,sessionId:X,order:z().int(),at:Y,kind:q(`user`),data:U({text:L(),images:z().int().optional()})}),U({id:X,sessionId:X,order:z().int(),at:Y,kind:q(`assistant`),data:U({text:L(),streaming:B().optional()})}),U({id:X,sessionId:X,order:z().int(),at:Y,kind:q(`thinking`),data:U({text:L()})}),U({id:X,sessionId:X,order:z().int(),at:Y,kind:q(`tool`),data:el}),U({id:X,sessionId:X,order:z().int(),at:Y,kind:q(`notice`),data:U({level:K([`info`,`warning`,`error`]),text:L()})}),U({id:X,sessionId:X,order:z().int(),at:Y,kind:q(`interaction`),data:U({interactionId:X})}),U({id:X,sessionId:X,order:z().int(),at:Y,kind:q(`subagent`),data:U({runId:L(),label:L(),status:L(),sessionFile:L().nullable(),linkedSessionId:X.nullable()})}),U({id:X,sessionId:X,order:z().int(),at:Y,kind:q(`system`),data:U({text:L(),suggestion:B().optional()})})]),nl=U({sessionId:X,adapterId:L(),slot:L(),title:L(),node:J.nullable(),webRenderer:B(),mobileFallback:L().nullable(),updatedAt:Y}),rl=U({sessionId:X.nullable(),adapterId:L().nullable(),level:K([`info`,`warning`,`error`]),message:L(),at:Y}),il=U({id:L(),version:L(),tier:K([`project`,`owner`,`plugin`,`bundled`]),target:U({extension:L(),versionRange:L(),testedVersions:H(L())}),capabilities:H(L()),webRenderer:B(),status:K([`active`,`disabled`,`error`]),detail:L().nullable()}),al=U({id:L(),name:L(),createdAt:Y,lastUsedAt:Y.nullable(),transports:H(L())});U({token:L().min(1),name:L().min(1).max(80),kind:K([`browser`,`pwa`,`terminal`,`cli`])}),U({deviceId:L(),credential:L()}),U({kind:K([`device`,`host`])}),U({token:L(),url:L(),expiresAt:L(),qrSvg:L(),command:L().nullable()}),W([U({token:L().min(1),name:L().min(1).max(80),platform:K([`darwin`,`linux`])}),U({secret:L().min(1),name:L().min(1).max(80),platform:K([`darwin`,`linux`])})]),U({hostId:L(),credential:L()}),U({name:L().min(1),hostId:L(),path:L().min(1),defaultProfileId:L().nullable().optional(),setupCommand:L().nullable().optional(),checks:H(L()).optional(),maxConcurrentRuns:z().int().min(1).max(32).optional(),worktreeDir:_c.optional()}),U({name:L().min(1).optional(),defaultProfileId:L().nullable().optional(),defaultHostId:L().nullable().optional(),maxConcurrentRuns:z().int().min(1).max(32).optional(),automationEnabled:B().optional(),setupCommand:L().nullable().optional(),checks:H(L()).optional(),workspaceSharing:K([`single_writer`,`shared`]).optional(),worktreeDir:_c.optional()}),U({hostId:L(),path:L().min(1)});function ol(e){return e.includes(`\0`)?!1:e===`~`||e.startsWith(`~/`)||e.startsWith(`/`)}U({projectFolders:H(L().trim().min(1).max(1024).refine(ol,`must be an absolute path or start with ~/`)).max(20).optional()}),hc.extend({added:H(U({projectId:L(),name:L(),path:L(),newProject:B()}))}),U({name:L().min(1),provider:L().nullable().default(null),model:L().nullable().default(null),thinking:Z.nullable().default(null),projectTrust:K([`ask`,`approve`,`ignore`]).default(`ask`),extraArgs:H(Ec).default([]),resources:K([`all`,`vanilla`]).default(`all`)}),U({checkoutId:L(),branch:L().min(1),base:L().nullable().optional()}),U({force:U({dirty:B(),unmerged:B()}).default({dirty:!1,unmerged:!1})}),U({projectId:L(),workspace:W([U({existingId:L()}),U({checkoutId:L(),newBranch:L().min(1),base:L().nullable().optional()})]),profileId:L().nullable().optional(),prompt:L().default(``),title:L().optional()}),U({text:L().min(1),mode:K([`prompt`,`steer`,`followUp`]).default(`prompt`),images:H(U({mimeType:L(),data:L()})).default([]),clientMessageId:L().optional()}),U({title:L().min(1).max(200)}),U({provider:L().min(1),modelId:L().min(1)}),U({level:Z}),U({instructions:L().max(4e3).optional()}),U({models:H(Sc)}),U({commands:H(Cc)}),U({text:L().min(1).max(500)}),U({items:H(U({value:L(),label:L(),description:L().nullable()})).max(50),prefix:L()}),U({rows:H(U({entryId:L(),parentId:L().nullable(),depth:z().int(),role:K([`user`,`assistant`]),text:L(),activeBranch:B(),leaf:B(),label:L().nullable(),at:L().nullable()}))}),U({entryId:L().nullable(),fork:B().default(!1)}),U({sessionFile:L().nullable(),prefill:L().nullable()}),U({session:jc.nullable(),prefill:L().nullable()}),U({fileName:L(),content:L()});var sl=U({label:L().min(1).max(80),command:L().startsWith(`/`).max(500),tone:K([`default`,`primary`,`danger`]).optional()});U({title:L().min(1).max(200),body:J,actions:H(sl).max(30).default([])}),U({model:Sc.nullable(),thinking:Z.nullable()}),U({hostId:L(),sessionFile:L(),projectId:L().nullable().optional()}),U({revision:z().int(),response:dc}),U({status:K([`answered`,`already_answered`]),interaction:Xc}),U({adapterId:L(),actionId:L(),payload:V().optional()}),U({projectId:L(),title:L().min(1).max(300),objective:L().default(``),acceptanceCriteria:H(L()).default([]),dependencies:H(L()).default([]),priority:Lc.default(2),state:K([`backlog`,`ready`]).default(`backlog`),notBefore:L().nullable().optional(),policy:Fc.partial().optional()}),U({title:L().min(1).max(300).optional(),objective:L().optional(),acceptanceCriteria:H(L()).optional(),dependencies:H(L()).optional(),priority:Lc.optional(),position:z().optional(),notBefore:L().nullable().optional(),policy:Fc.partial().optional()}),U({to:Ic,confirm:B().optional(),onRunning:K([`pause`,`stop`]).optional(),position:z().optional()}),U({feedback:H(L().min(1)).min(1)});var cl=W([U({eligible:q(!0),hostId:L(),hostName:L()}),U({eligible:q(!1),wait:K([`dependency`,`host_offline`,`project_limit`,`workspace_occupied`,`scheduled_time`,`invalid_configuration`,`dispatch_paused`,`project_automation_disabled`,`not_ready`,`already_dispatched`,`retry_backoff`]),message:L()})]);U({running:H(U({taskId:L(),runId:L(),sessionId:L().nullable()})),queued:H(U({taskId:L(),eligibility:cl})),dispatchPaused:B()});var ll=U({name:L().min(1),enabled:B().default(!0),projectId:L(),trigger:Wc,filters:H(U({path:L(),equals:L()})).default([]),template:Gc,hostId:L().nullable().default(null),profileId:L().nullable().default(null),mode:K([`fresh`,`continue`,`watch`]).default(`fresh`),groupingKey:L().nullable().default(null),overlap:K([`skip`,`queue_one`,`append`]).default(`skip`),missed:K([`skip`,`run_once`]).default(`skip`),continuation:Mc.default({enabled:!1}),completion:Nc.default({checks:null,requireHumanReview:!0})});U({summary:L(),task:U({title:L(),objective:L(),acceptanceCriteria:H(L()),priority:Lc}),next:H(L())});var ul=U({token:L(),url:L()});U({endpoint:L().url(),keys:U({p256dh:L(),auth:L()}),permission:K([`granted`,`denied`,`default`,`unknown`]).default(`granted`)}),U({quietHours:U({start:L().regex(/^\d{2}:\d{2}$/),end:L().regex(/^\d{2}:\d{2}$/),timezone:L()}).nullable(),privatePreviews:B(),preferredDeviceId:L().nullable()}),W([U({type:q(`show`),title:L(),body:L(),tag:L(),url:L(),renotify:B()}),U({type:q(`clear`),tag:L()})]),U({passkey:U({available:B(),registered:B(),reason:L().nullable()}),oidc:U({label:L()}).nullable()}),U({challengeId:L(),options:V()}),U({challengeId:L(),name:L().min(1).max(80),response:V()}),U({challengeId:L(),options:V()}),U({challengeId:L(),response:V(),deviceName:L().min(1).max(80),kind:K([`browser`,`pwa`])}),U({deviceName:L().min(1).max(80),kind:K([`browser`,`pwa`]),next:L().default(`/`),handoff:B().default(!1)}),U({authorizeUrl:L(),flowId:L().nullable(),pollToken:L().nullable()}),U({flowId:L(),pollToken:L()}),W([U({status:q(`pending`)}),U({status:q(`done`),deviceId:L()})]),U({name:L().min(1).max(80)}),U({userCode:L(),pollToken:L(),verifyUrl:L(),expiresAt:L(),intervalMs:z().int()}),U({userCode:L().min(1),pollToken:L().min(1)}),W([U({status:q(`pending`)}),U({status:q(`denied`)}),U({status:q(`done`),deviceId:L(),credential:L()})]),U({userCode:L(),name:L(),requestedFrom:L(),createdAt:L(),expiresAt:L(),status:K([`pending`,`approved`,`denied`])}),U({passkeys:H(al),passkeyAvailability:U({available:B(),reason:L().nullable()}),oidc:U({issuer:L(),label:L(),ownerMatch:L(),status:K([`ready`,`error`]),error:L().nullable()}).nullable()}),U({device:$c,admin:B(),publicUrl:L()});var dl={"host.updated":gc,"project.updated":vc,"project.deleted":U({id:L()}),"checkout.updated":yc,"workspace.updated":xc,"workspace.removed":U({id:L()}),"profile.updated":Dc,"profile.deleted":U({id:L()}),"session.updated":jc,"transcript.item":tl,"interaction.updated":Xc,"panel.updated":nl,"adapters.updated":U({hostId:L(),adapters:H(il)}),diagnostic:rl,"task.updated":Bc,"task.deleted":U({id:L()}),"run.updated":Uc,"automation.updated":Kc,"automation.deleted":U({id:L()}),"occurrence.created":Jc,"attention.updated":Qc,"device.updated":$c,"settings.updated":U({dispatchPaused:B()})},fl=K(Object.keys(dl)),pl=U({hostId:L().optional(),sessionId:L().optional(),taskId:L().optional(),projectId:L().optional()}),ml=pl.extend({seq:z().int(),id:L(),type:fl,at:L(),data:V()}),hl=pl.extend({eventId:L(),type:K([`session.updated`,`transcript.item`,`interaction.updated`,`panel.updated`,`adapters.updated`,`diagnostic`,`workspace.updated`,`workspace.removed`]),at:L(),data:V()}),gl=U({sessionId:L(),itemId:L(),kind:K([`text`,`thinking`,`tool_args`,`tool_output`]),delta:L(),order:z().int().optional()}),_l=U({hosts:H(gc),projects:H(vc),checkouts:H(yc),workspaces:H(xc),profiles:H(Dc),sessions:H(jc),tasks:H(Bc),runs:H(Uc),automations:H(Kc),attention:H(Qc),interactions:H(Xc),panels:H(nl),devices:H($c),adapters:Os(L(),H(il)),dispatchPaused:B()}),vl=U({foreground:B(),interactedAt:L().nullable(),viewing:U({sessionId:L()}).nullable()});G(`type`,[U({type:q(`hello`),cursor:z().int().nullable()}),U({type:q(`presence`),presence:vl}),U({type:q(`ping`)})]),G(`type`,[U({type:q(`replay`),seq:z().int(),events:H(ml)}),U({type:q(`snapshot`),seq:z().int(),state:_l}),U({type:q(`event`),event:ml}),U({type:q(`stream`),delta:gl}),U({type:q(`pong`)}),U({type:q(`force_logout`),reason:L()})]);var yl=z().int().min(10).max(1e3),bl=z().int().min(5).max(500);G(`t`,[U({t:q(`in`),d:L()}),U({t:q(`resize`),cols:yl,rows:bl})]);var xl=G(`t`,[U({t:q(`out`),d:L()}),U({t:q(`closed`),reason:L()})]),Sl=G(`t`,[U({t:q(`open`),sessionId:L(),cols:yl,rows:bl}),U({t:q(`in`),d:L()}),U({t:q(`resize`),cols:yl,rows:bl}),U({t:q(`close`)})]),Cl=K([`human`,`automation`]),wl=G(`type`,[U({type:q(`session.start`),sessionId:L(),title:L(),workspacePath:L(),projectId:L().nullable(),profile:Dc,nativeHandle:kc.nullable(),initialPrompt:L().nullable(),dispatchKey:L().nullable(),controlRevision:z().int(),controlMode:K([`automation`,`human`]),origin:Cl,readOnly:B().default(!1)}),U({type:q(`session.prompt`),sessionId:L(),text:L(),images:H(U({mimeType:L(),data:L()})).default([]),mode:K([`prompt`,`steer`,`followUp`]),origin:Cl,controlRevision:z().int()}),U({type:q(`session.abort`),sessionId:L(),clearQueue:B()}),U({type:q(`session.stop`),sessionId:L()}),U({type:q(`session.answer`),sessionId:L(),interactionId:L(),revision:z().int(),response:dc,deviceId:L()}),U({type:q(`session.adapterAction`),sessionId:L(),adapterId:L(),actionId:L(),payload:V()}),U({type:q(`session.setControl`),sessionId:L(),controlRevision:z().int(),mode:K([`automation`,`human`])}),U({type:q(`session.rename`),sessionId:L(),title:L()}),U({type:q(`session.importable`)}),U({type:q(`session.readNative`),sessionFile:L()}),U({type:q(`session.snapshot`),sessionId:L()}),U({type:q(`session.models`),sessionId:L()}),U({type:q(`session.commands`),sessionId:L()}),U({type:q(`session.complete`),sessionId:L(),text:L().max(500)}),U({type:q(`session.tree`),sessionId:L()}),U({type:q(`session.branch`),sessionId:L(),entryId:L().nullable(),fork:B()}),U({type:q(`session.reload`),sessionId:L()}),U({type:q(`session.export`),sessionId:L()}),U({type:q(`session.setModel`),sessionId:L(),provider:L().min(1),modelId:L().min(1)}),U({type:q(`session.setThinking`),sessionId:L(),level:Z}),U({type:q(`session.compact`),sessionId:L(),instructions:L().nullable()}),U({type:q(`checkout.inspect`),path:L()}),U({type:q(`projects.scan`),folder:L().min(1)}),U({type:q(`workspace.discover`),checkoutPath:L(),worktreeDir:L().default(`.worktrees`)}),U({type:q(`workspace.create`),checkoutPath:L(),branch:L(),base:L(),setupCommand:L().nullable(),worktreeDir:L().default(`.worktrees`)}),U({type:q(`workspace.status`),path:L(),base:L().nullable()}),U({type:q(`workspace.remove`),path:L(),checkoutPath:L(),base:L().nullable(),force:U({dirty:B(),unmerged:B()})}),U({type:q(`workspace.diff`),path:L(),base:L().nullable(),file:L().nullable()}),U({type:q(`workspace.files`),path:L(),dir:L()}),U({type:q(`workspace.readFile`),path:L(),file:L()}),U({type:q(`dispatch.start`),dispatchKey:L(),runId:L(),taskId:L(),sessionId:L(),projectId:L(),title:L(),workspace:W([U({path:L()}),U({createFrom:U({checkoutPath:L(),branch:L(),base:L(),setupCommand:L().nullable(),worktreeDir:L().default(`.worktrees`)})})]),nativeHandle:kc.nullable(),profile:Dc,prompt:L(),controlRevision:z().int(),controlMode:K([`automation`,`human`]).default(`automation`)}),U({type:q(`dispatch.reconcile`),dispatchKey:L()}),U({type:q(`checks.run`),sessionId:L(),path:L(),commands:H(L())})]);U({sessionFile:L(),sessionId:L(),cwd:L(),name:L().nullable(),mtime:L(),inactive:B()}),U({path:L(),head:L().nullable(),branch:L().nullable(),bare:B(),detached:B(),locked:B(),prunable:B(),provenance:K([`managed`,`discovered`,`main`]),git:bc.nullable()});var Tl=U({root:L(),commonDir:L(),repoIdentity:L(),defaultBranch:L()}).extend({name:L()});U({folder:L(),repositories:H(Tl)});var El=U({path:L(),oldPath:L().nullable(),added:z().int(),deleted:z().int(),status:K([`added`,`modified`,`deleted`,`renamed`,`untracked`,`binary`])});U({base:L(),files:H(El),patch:L().nullable()}),U({name:L(),path:L(),kind:K([`file`,`dir`,`symlink`]),size:z().int().nullable()}),W([U({known:q(!1)}),U({known:q(!0),sessionId:L().nullable(),state:K([`accepted`,`workspace_ready`,`started`,`failed`]),runtime:Oc.nullable(),workspacePath:L().nullable(),nativeHandle:kc.nullable(),error:L().nullable(),errorDetails:Os(L(),V()).nullable().default(null)})]),U({sessionId:L(),workspacePath:L(),nativeHandle:kc.nullable(),reused:B()}),U({status:K([`answered`,`already_answered`]),interaction:Xc}),U({partial:H(tl),pendingInteractions:H(Xc)}),U({results:H(Hc)});var Dl=W([U({commandId:L(),ok:q(!0),result:V()}),U({commandId:L(),ok:q(!1),error:nc})]);G(`type`,[U({type:q(`hello`),hostId:L(),credential:L(),name:L(),agentVersion:L(),piVersion:L().nullable(),piCompatible:B(),platform:K([`darwin`,`linux`]),capabilities:mc.nullable(),protocolVersion:z().int()}),U({type:q(`event`),hostSeq:z().int(),event:hl}),U({type:q(`stream`),delta:gl}),U({type:q(`receipt`),receipt:Dl}),U({type:q(`pong`)}),U({type:q(`term`),streamId:L(),msg:xl})]),G(`type`,[U({type:q(`welcome`),coordinatorVersion:L(),ackedHostSeq:z().int()}),U({type:q(`ack`),hostSeq:z().int()}),U({type:q(`command`),commandId:L(),command:wl}),U({type:q(`ping`)}),U({type:q(`reject`),error:nc}),U({type:q(`term`),streamId:L(),msg:Sl})]);var Ol=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,kl=32,Al=16,jl=0xffffffffffff,Q;(function(e){e.Base32IncorrectEncoding=`B32_ENC_INVALID`,e.DecodeTimeInvalidCharacter=`DEC_TIME_CHAR`,e.DecodeTimeValueMalformed=`DEC_TIME_MALFORMED`,e.EncodeTimeNegative=`ENC_TIME_NEG`,e.EncodeTimeSizeExceeded=`ENC_TIME_SIZE_EXCEED`,e.EncodeTimeValueMalformed=`ENC_TIME_MALFORMED`,e.PRNGDetectFailure=`PRNG_DETECT`,e.ULIDInvalid=`ULID_INVALID`,e.Unexpected=`UNEXPECTED`,e.UUIDInvalid=`UUID_INVALID`})(Q||={});var $=class extends Error{constructor(e,t){super(`${t} (${e})`),this.name=`ULIDError`,this.code=e}};function Ml(e){let t=Math.floor(e()*kl)%kl;return Ol.charAt(t)}function Nl(e,t,n){return t>e.length-1?e:e.substr(0,t)+n+e.substr(t+1)}function Pl(e){let t,n=e.length,r,i,a=e;for(;!t&&n-->=0;){if(r=a[n],i=Ol.indexOf(r),i===-1)throw new $(Q.Base32IncorrectEncoding,`Incorrectly encoded string`);i===31?a=Nl(a,n,Ol[0]):t=Nl(a,n,Ol[i+1])}if(typeof t==`string`)return t;throw new $(Q.Base32IncorrectEncoding,`Failed incrementing string`)}function Fl(e){let t=Il(),n=t&&(t.crypto||t.msCrypto)||null;if(typeof n?.getRandomValues==`function`)return()=>{let e=new Uint8Array(1);return n.getRandomValues(e),e[0]/256};if(typeof n?.randomBytes==`function`)return()=>n.randomBytes(1).readUInt8()/256;throw new $(Q.PRNGDetectFailure,`Failed to find a reliable PRNG`)}function Il(){return zl()?self:typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:null}function Ll(e,t){let n=``;for(;e>0;e--)n=Ml(t)+n;return n}function Rl(e,t=10){if(isNaN(e))throw new $(Q.EncodeTimeValueMalformed,`Time must be a number: ${e}`);if(e>0xffffffffffff)throw new $(Q.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${jl}: ${e}`);if(e<0)throw new $(Q.EncodeTimeNegative,`Time must be positive: ${e}`);if(Number.isInteger(e)===!1)throw new $(Q.EncodeTimeValueMalformed,`Time must be an integer: ${e}`);let n,r=``;for(let i=t;i>0;i--)n=e%kl,r=Ol.charAt(n)+r,e=(e-n)/kl;return r}function zl(){return typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope}function Bl(e){let t=e||Fl(),n=0,r;return function(e){let i=!e||isNaN(e)?Date.now():e;if(i<=n){let e=r=Pl(r);return Rl(n,10)+e}n=i;let a=r=Ll(Al,t);return Rl(i,10)+a}}Bl();var Vl=`>=1.4.0 <1.6.0`;export{Kc as a,Rc as c,lc as d,ol as i,Z as l,ll as n,pc as o,ul as r,Ec as s,Vl as t,_c as u};
|
|
56
|
-
//# sourceMappingURL=dist-B_RpNOcK.js.map
|