@spencerboucher/switchyard 0.5.0 → 0.7.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.
Files changed (167) hide show
  1. package/README.md +9 -7
  2. package/dist/bridge/pi-model.js +44 -0
  3. package/dist/bridge/switchyard-bridge.js +24 -2
  4. package/dist/bridge/switchyard-terminal.js +146 -4
  5. package/dist/switchyard.mjs +1301 -700
  6. package/package.json +1 -1
  7. package/web-dist/assets/AutomationView-BIW_pO0M.js +2 -0
  8. package/web-dist/assets/AutomationView-BIW_pO0M.js.map +1 -0
  9. package/web-dist/assets/Badge-BiDp7NKI.js +2 -0
  10. package/web-dist/assets/Badge-BiDp7NKI.js.map +1 -0
  11. package/web-dist/assets/InteractionCard-CWxyDv81.js +6 -0
  12. package/web-dist/assets/InteractionCard-CWxyDv81.js.map +1 -0
  13. package/web-dist/assets/{Menu-C4GUY_ym.js → Menu-BDt1bxwz.js} +2 -2
  14. package/web-dist/assets/Menu-BDt1bxwz.js.map +1 -0
  15. package/web-dist/assets/{SegmentedControl-ChdVilXb.js → SegmentedControl-D-2BCZzd.js} +2 -2
  16. package/web-dist/assets/{SegmentedControl-ChdVilXb.js.map → SegmentedControl-D-2BCZzd.js.map} +1 -1
  17. package/web-dist/assets/Tabs-ByiPklAw.js +184 -0
  18. package/web-dist/assets/Tabs-ByiPklAw.js.map +1 -0
  19. package/web-dist/assets/TextArea-BYr88SnV.js +2 -0
  20. package/web-dist/assets/TextArea-BYr88SnV.js.map +1 -0
  21. package/web-dist/assets/attention-Bya8XHKI.js +2 -0
  22. package/web-dist/assets/attention-Bya8XHKI.js.map +1 -0
  23. package/web-dist/assets/automations-DiXKRcnE.js +2 -0
  24. package/web-dist/assets/automations-DiXKRcnE.js.map +1 -0
  25. package/web-dist/assets/board-BrLaJwLJ.js +10 -0
  26. package/web-dist/assets/board-BrLaJwLJ.js.map +1 -0
  27. package/web-dist/assets/c-Cz4nF6n_.js +1 -0
  28. package/web-dist/assets/c-SSSlmE39.js +2 -0
  29. package/web-dist/assets/c-SSSlmE39.js.map +1 -0
  30. package/web-dist/assets/code-DKLO8bzz.js +11 -0
  31. package/web-dist/assets/code-DKLO8bzz.js.map +1 -0
  32. package/web-dist/assets/cpp-Cts1PyIS.js +2 -0
  33. package/web-dist/assets/cpp-Cts1PyIS.js.map +1 -0
  34. package/web-dist/assets/cpp-DzjeI0uH.js +1 -0
  35. package/web-dist/assets/css-BGIxQoYs.js +2 -0
  36. package/web-dist/assets/css-BGIxQoYs.js.map +1 -0
  37. package/web-dist/assets/css-DgaLhXQH.js +1 -0
  38. package/web-dist/assets/describe-DnvH6_fl.js +5 -0
  39. package/web-dist/assets/describe-DnvH6_fl.js.map +1 -0
  40. package/web-dist/assets/diff-woXpYk--.js +2 -0
  41. package/web-dist/assets/diff-woXpYk--.js.map +1 -0
  42. package/web-dist/assets/dist-BE_V9dwJ.js +56 -0
  43. package/web-dist/assets/dist-BE_V9dwJ.js.map +1 -0
  44. package/web-dist/assets/dockerfile-IyjqRm3v.js +2 -0
  45. package/web-dist/assets/dockerfile-IyjqRm3v.js.map +1 -0
  46. package/web-dist/assets/enroll-DUDpbJoB.js +2 -0
  47. package/web-dist/assets/enroll-DUDpbJoB.js.map +1 -0
  48. package/web-dist/assets/github-dark-C-LZuMrd.js +2 -0
  49. package/web-dist/assets/github-dark-C-LZuMrd.js.map +1 -0
  50. package/web-dist/assets/github-light-EUqPIrTm.js +2 -0
  51. package/web-dist/assets/github-light-EUqPIrTm.js.map +1 -0
  52. package/web-dist/assets/go-rLFTqkRN.js +2 -0
  53. package/web-dist/assets/go-rLFTqkRN.js.map +1 -0
  54. package/web-dist/assets/html-BMn1ogTm.js +2 -0
  55. package/web-dist/assets/html-BMn1ogTm.js.map +1 -0
  56. package/web-dist/assets/html-BWDvXlHg.js +1 -0
  57. package/web-dist/assets/index-DvRcMGEe.css +2 -0
  58. package/web-dist/assets/index-vIzH1m8u.js +11 -0
  59. package/web-dist/assets/index-vIzH1m8u.js.map +1 -0
  60. package/web-dist/assets/java-BtIQNnN0.js +2 -0
  61. package/web-dist/assets/java-BtIQNnN0.js.map +1 -0
  62. package/web-dist/assets/java-_ATy9zCa.js +1 -0
  63. package/web-dist/assets/javascript-BzbQS41l.js +2 -0
  64. package/web-dist/assets/javascript-BzbQS41l.js.map +1 -0
  65. package/web-dist/assets/javascript-CpIGwZ_Y.js +1 -0
  66. package/web-dist/assets/json-qhed-kSA.js +2 -0
  67. package/web-dist/assets/json-qhed-kSA.js.map +1 -0
  68. package/web-dist/assets/jsonc-CYpm1nAK.js +2 -0
  69. package/web-dist/assets/jsonc-CYpm1nAK.js.map +1 -0
  70. package/web-dist/assets/jsx-C4yDKi0A.js +1 -0
  71. package/web-dist/assets/jsx-D3KKoC5L.js +2 -0
  72. package/web-dist/assets/jsx-D3KKoC5L.js.map +1 -0
  73. package/web-dist/assets/logic-xb-QF00E.js +2 -0
  74. package/web-dist/assets/logic-xb-QF00E.js.map +1 -0
  75. package/web-dist/assets/lua-DjuecEsk.js +2 -0
  76. package/web-dist/assets/lua-DjuecEsk.js.map +1 -0
  77. package/web-dist/assets/lua-fPRBWD-V.js +1 -0
  78. package/web-dist/assets/{more-syTnSpW3.js → more-BP5x45cs.js} +2 -2
  79. package/web-dist/assets/{more-syTnSpW3.js.map → more-BP5x45cs.js.map} +1 -1
  80. package/web-dist/assets/now--XjJC37b.js +2 -0
  81. package/web-dist/assets/now--XjJC37b.js.map +1 -0
  82. package/web-dist/assets/python-gzcpVVnB.js +2 -0
  83. package/web-dist/assets/python-gzcpVVnB.js.map +1 -0
  84. package/web-dist/assets/ruby-Bx-U2qjP.js +2 -0
  85. package/web-dist/assets/ruby-Bx-U2qjP.js.map +1 -0
  86. package/web-dist/assets/rust-DpiIf5JO.js +2 -0
  87. package/web-dist/assets/rust-DpiIf5JO.js.map +1 -0
  88. package/web-dist/assets/scss-8bKmll0B.js +2 -0
  89. package/web-dist/assets/scss-8bKmll0B.js.map +1 -0
  90. package/web-dist/assets/send-BKjswHxB.js +2 -0
  91. package/web-dist/assets/send-BKjswHxB.js.map +1 -0
  92. package/web-dist/assets/settings-D8T1esWq.js +7 -0
  93. package/web-dist/assets/settings-D8T1esWq.js.map +1 -0
  94. package/web-dist/assets/shared-CZ7fcu_B.js +3 -0
  95. package/web-dist/assets/shared-CZ7fcu_B.js.map +1 -0
  96. package/web-dist/assets/shellscript-CVTB3cr6.js +1 -0
  97. package/web-dist/assets/shellscript-CqHdAlCp.js +2 -0
  98. package/web-dist/assets/shellscript-CqHdAlCp.js.map +1 -0
  99. package/web-dist/assets/sliders-horizontal-DAoirila.js +2 -0
  100. package/web-dist/assets/sliders-horizontal-DAoirila.js.map +1 -0
  101. package/web-dist/assets/sql-CNu3Or2W.js +2 -0
  102. package/web-dist/assets/sql-CNu3Or2W.js.map +1 -0
  103. package/web-dist/assets/sql-CfM2IJm3.js +1 -0
  104. package/web-dist/assets/states--geW2Ntl.js +2 -0
  105. package/web-dist/assets/states--geW2Ntl.js.map +1 -0
  106. package/web-dist/assets/swift-CyEgAFGc.js +2 -0
  107. package/web-dist/assets/swift-CyEgAFGc.js.map +1 -0
  108. package/web-dist/assets/terminal-login-BJxV78au.js +2 -0
  109. package/web-dist/assets/terminal-login-BJxV78au.js.map +1 -0
  110. package/web-dist/assets/toml-CcmNWLt0.js +2 -0
  111. package/web-dist/assets/toml-CcmNWLt0.js.map +1 -0
  112. package/web-dist/assets/tsx-BOvsFOI6.js +2 -0
  113. package/web-dist/assets/tsx-BOvsFOI6.js.map +1 -0
  114. package/web-dist/assets/tsx-CGosfAUg.js +1 -0
  115. package/web-dist/assets/typescript-Bb1J8qyy.js +1 -0
  116. package/web-dist/assets/typescript-j_1H8WHN.js +2 -0
  117. package/web-dist/assets/typescript-j_1H8WHN.js.map +1 -0
  118. package/web-dist/assets/useNow-jxdoOC_1.js +2 -0
  119. package/web-dist/assets/{useNow-BQpDYijR.js.map → useNow-jxdoOC_1.js.map} +1 -1
  120. package/web-dist/assets/xml-DuKfbPI6.js +1 -0
  121. package/web-dist/assets/xml-WY0zc4PG.js +2 -0
  122. package/web-dist/assets/xml-WY0zc4PG.js.map +1 -0
  123. package/web-dist/assets/yaml-DDA_XMNu.js +1 -0
  124. package/web-dist/assets/yaml-DijMHRDA.js +2 -0
  125. package/web-dist/assets/yaml-DijMHRDA.js.map +1 -0
  126. package/web-dist/index.html +4 -3
  127. package/web-dist/sw.js +1 -1
  128. package/web-dist/sw.js.map +1 -1
  129. package/web-dist/assets/AutomationView-CFohp0SQ.js +0 -2
  130. package/web-dist/assets/AutomationView-CFohp0SQ.js.map +0 -1
  131. package/web-dist/assets/InteractionCard-B-xmpTNG.js +0 -4
  132. package/web-dist/assets/InteractionCard-B-xmpTNG.js.map +0 -1
  133. package/web-dist/assets/Markdown-jXkvZeRp.js +0 -31
  134. package/web-dist/assets/Markdown-jXkvZeRp.js.map +0 -1
  135. package/web-dist/assets/Menu-C4GUY_ym.js.map +0 -1
  136. package/web-dist/assets/Overlay--v0ur2lj.js +0 -2
  137. package/web-dist/assets/Overlay--v0ur2lj.js.map +0 -1
  138. package/web-dist/assets/TextArea-BsQHOQMe.js +0 -2
  139. package/web-dist/assets/TextArea-BsQHOQMe.js.map +0 -1
  140. package/web-dist/assets/attention-q6_xlnT4.js +0 -2
  141. package/web-dist/assets/attention-q6_xlnT4.js.map +0 -1
  142. package/web-dist/assets/automations-CyA83OAD.js +0 -2
  143. package/web-dist/assets/automations-CyA83OAD.js.map +0 -1
  144. package/web-dist/assets/board-BFvNcFhk.js +0 -10
  145. package/web-dist/assets/board-BFvNcFhk.js.map +0 -1
  146. package/web-dist/assets/code-DavnmlQN.js +0 -8
  147. package/web-dist/assets/code-DavnmlQN.js.map +0 -1
  148. package/web-dist/assets/describe-BirsjlUl.js +0 -5
  149. package/web-dist/assets/describe-BirsjlUl.js.map +0 -1
  150. package/web-dist/assets/dist-C-h8FC-n.js +0 -56
  151. package/web-dist/assets/dist-C-h8FC-n.js.map +0 -1
  152. package/web-dist/assets/enroll-C7UBC20s.js +0 -2
  153. package/web-dist/assets/enroll-C7UBC20s.js.map +0 -1
  154. package/web-dist/assets/index-ByiuDoG0.css +0 -2
  155. package/web-dist/assets/index-IdzOP9GE.js +0 -11
  156. package/web-dist/assets/index-IdzOP9GE.js.map +0 -1
  157. package/web-dist/assets/logic-D_Eq9DMW.js +0 -2
  158. package/web-dist/assets/logic-D_Eq9DMW.js.map +0 -1
  159. package/web-dist/assets/now-BqsLS-tK.js +0 -2
  160. package/web-dist/assets/now-BqsLS-tK.js.map +0 -1
  161. package/web-dist/assets/settings-DRj7UPtP.js +0 -8
  162. package/web-dist/assets/settings-DRj7UPtP.js.map +0 -1
  163. package/web-dist/assets/sliders-horizontal-S3tmwxsP.js +0 -2
  164. package/web-dist/assets/sliders-horizontal-S3tmwxsP.js.map +0 -1
  165. package/web-dist/assets/states-DrTQuYXw.js +0 -2
  166. package/web-dist/assets/states-DrTQuYXw.js.map +0 -1
  167. package/web-dist/assets/useNow-BQpDYijR.js +0 -2
@@ -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,g as l,h as u,m as d,q as f,u as ee}from"./states-DrTQuYXw.js";import{I as te,O as ne,c as p}from"./index-IdzOP9GE.js";import{n as m}from"./dist-C-h8FC-n.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:u(`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)(l,{"aria-hidden":!0,className:`mt-0.5 size-3.5 shrink-0`}),(0,x.jsx)(`span`,{children:t})]})}function se({className:e,children:t,...n}){return(0,x.jsx)(`select`,{className:u(`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 ce({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:u(`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:u(`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:u(`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)(ee,{className:`size-3.5`}):null,(0,x.jsx)(`span`,{className:e?`text-text`:`text-muted`,children:e?r:i})]})}function le({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:u(`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 ue=[re,ie,y,ae];function de({priority:e,className:t}){let n=ue[e]??y;return(0,x.jsx)(n,{"aria-hidden":!0,className:u(`size-4 shrink-0`,e===0?`text-danger`:`text-muted`,t)})}function fe({count:e}){return e>0?(0,x.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-sm text-warning`,children:[(0,x.jsx)(l,{"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)(te,{"aria-hidden":!0,className:`size-4 shrink-0`}),`No failures`]})}function pe({className:e}){let t=o();return t.state===`live`||t.state===`connecting`&&!t.lastSyncedAt?null:(0,x.jsxs)(`p`,{role:`status`,className:u(`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)(ne,{"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 ${d(t.lastSyncedAt)}`:``,`. Changes are sent once the coordinator is reachable again.`]})]})}var C=(e,t=``)=>`/api/automations/${encodeURIComponent(e)}${t}`,w=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 T(e,t){return e?t&&t.updatedAt>e.updatedAt?t:e:t}function me(){let e=a(e=>e.automations),t=w(e=>e.byId),n=w(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=T(e[i],t[i]);a&&(r[i]=a)}return r},[e,t,n])}function he(e){let t=a(t=>e?t.automations[e]:void 0),n=w(t=>e?t.byId[e]:void 0);return w(t=>e?t.deleted[e]:void 0)?void 0:T(t,n)}function ge(){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(C(e.id),{enabled:n});t&&typeof t==`object`&&`id`in t&&w.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 _e(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(C(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 ve={manual:`Manual`,once:`Once`,cron:`Schedule`,webhook:`Webhook`,dependency:`Dependency`},E=[{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`}],ye=[{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)`}],D=[{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 E.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 B(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 V(e){for(let t=1;t<e.length;t++)if(e[t]!==e[t-1]+1)return!1;return e.length>0}function Se(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:V(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(!V(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 Ce(e,t){return(e+6)%7-(t+6)%7}function we(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(Ce),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 H(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=Se(r,i),l=we(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 Te(e,t){return H(e,t)??`Cron ${e.trim()} (${t})`}function U(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}function W(e,t={}){let n=t.formatDate??U;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 Te(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 Ee(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 W(n,t)}}function De(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=[`${Ee(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 G(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}}function K(e={}){return{name:``,enabled:!0,projectId:e.projectId??``,triggerKind:`manual`,onceAt:``,cronExpr:`0 9 * * 1-5`,cronTimezone:e.timezone??G(),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 Oe(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 q(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toISOString()}function ke(e,t={}){let n=K({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`?Oe(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 J(e){return e.trim()===``?NaN:Number(e.trim())}function Y(e){return e.trim()===``?null:Number(e.trim())}function Ae(e){switch(e.triggerKind){case`manual`:return{kind:`manual`};case`once`:return{kind:`once`,at:q(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 X(e){let t=P(e.checks);return{name:e.name.trim(),enabled:e.enabled,projectId:e.projectId,trigger:Ae(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:J(e.maxContinuations),maxElapsedMinutes:J(e.maxElapsedMinutes),maxTokens:Y(e.maxTokens),maxCostUsd:Y(e.maxCostUsd)}:{enabled:!1},completion:{checks:t.length>0?t:null,requireHumanReview:e.requireHumanReview}}}var je={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 Z(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=je[t.slice(0,e).join(`.`)];if(n)return n}return`form`}function Q(e,t,n,r){let i=J(e);return!Number.isInteger(i)||i<t||i>n?`${r} must be a whole number from ${t} to ${n}`:null}function Me(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`:q(e.onceAt)||n(`onceAt`,`Choose a date and time`);break;case`cron`:n(`cronExpr`,z(e.cronExpr)),n(`cronTimezone`,B(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`,Q(e.maxContinuations,1,50,`Max continuations`)),n(`maxElapsedMinutes`,Q(e.maxElapsedMinutes,1,1440,`Max elapsed minutes`)),e.maxTokens.trim()){let t=J(e.maxTokens);(!Number.isInteger(t)||t<=0)&&n(`maxTokens`,`Max tokens must be a positive whole number`)}if(e.maxCostUsd.trim()){let t=J(e.maxCostUsd);(!Number.isFinite(t)||t<=0)&&n(`maxCostUsd`,`Max cost must be a positive amount`)}}let r=X(e),i=m.safeParse(r);if(!i.success)for(let e of i.error.issues)n(Z(e.path),e.message);return{input:i.success&&Object.keys(t).length===0?i.data:null,errors:t}}function $(e){return e.scheduledFor??e.createdAt}function Ne(...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)||$(t).localeCompare($(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{ce as A,pe as C,de as D,S as E,_e as F,ge as I,w as M,he as N,le as O,me as P,Me as S,oe as T,O as _,ve as a,De as b,W as c,K as d,Z as f,Ne as g,G as h,k as i,C as j,se as k,ke as l,q as m,E as n,Fe as o,U as p,ye as r,H as s,D as t,X as u,Pe as v,fe as w,z as x,$ as y};
5
- //# sourceMappingURL=describe-BirsjlUl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"describe-BirsjlUl.js","names":["__iconData","__iconData","__iconData","useId","useMemo","useState","useCallback","__toESM","require_react","require_jsx_runtime","apiPatch","useSyncStore","useConnection","apiPost","errorMessage","TriangleAlert","cn","formatTime","create","Spinner","CircleCheck","CloudOff","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/Button\";\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(D.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,C=!1,Re={configurable:!0,get(){C=!0}};function w(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,Re);let e=C;C=!1;try{let r=n(this);return C?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),C||=e,r}catch(n){throw delete this[t],C||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}}))}function ze(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 Be=`~constantCatch`;function Ve(e){let t=()=>e;return t[Be]=!0,t}var He,Ue={value:void 0,enumerable:!1},We=`captureStackTrace`in Error?Error:null;function Ge(e){let t=We;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return We=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function T(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){Ue.value=new a(r);try{Object.defineProperty(n,"_zod",Ue)}finally{Ue.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?Ge(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 E=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Ke=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(He=globalThis).__zod_globalConfig??(He.__zod_globalConfig={});var D=globalThis.__zod_globalConfig;function O(e){return e&&Object.assign(D,e),D}function qe(){let e=this._zod;return e.message??=JSON.stringify(e.def,n,2),e.message}function Je(e){this._zod.message=e}var Ye={get:qe,set:Je,enumerable:!0,configurable:!0},Xe={value:void 0,enumerable:!1},Ze=new WeakSet([Object.prototype,Error.prototype]),Qe=T(`$ZodError`,(e,t)=>{e.name=`$ZodError`,Xe.value=t,Object.defineProperty(e,"issues",Xe),Xe.value=void 0,Object.defineProperty(e,"message",Ye);let n=Object.getPrototypeOf(e);Ze.has(n)||(Ze.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 $e(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 et(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?$e(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function tt(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 nt(e,t){return{callee:t?.callee??e,Err:t?.Err}}var rt=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 E;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>x(e,o,O())));throw re(n,a?.callee??t),n}return s.value};return t},it=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,O())));throw re(n,a?.callee??t),n}return s.value};return t},at=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 E;return a.issues.length?ot(e,a.issues,i):{success:!0,data:a.value}};function ot(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>x(e,n,O()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var st=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?ot(e,a.issues,i):{success:!0,data:a.value}},ct=Symbol.for(`zod.compile.invalid`),lt=Symbol.for(`zod.compile.fallback`),ut=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==ct)return!0;if(r.definite===!0&&n===void 0)return!1}return dt(e,t,n)});function dt(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[lt]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new E;return a.issues.length===0}var ft=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},pt=e=>{let t=rt(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,nt(n,a))};return n},mt=e=>{let t=rt(e),n=(e,r,i,a)=>t(e,r,i,nt(n,a));return n},ht=e=>{let t=it(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,nt(n,a))};return n},gt=e=>{let t=it(e),n=async(e,r,i,a)=>await t(e,r,i,nt(n,a));return n},_t=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return at(e)(t,n,i)},vt=e=>(t,n,r)=>at(e)(t,n,r),yt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return st(e)(t,n,i)},bt=e=>async(t,n,r)=>st(e)(t,n,r),xt=/^[cC][0-9a-z]{6,}$/,St=/^[0-9a-z]+$/,Ct=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,wt=/^[0-9a-vA-V]{20}$/,Tt=/^[A-Za-z0-9]{27}$/,Et=/^[a-zA-Z0-9_-]{21}$/;function Dt(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var Ot=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,kt=/^([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})$/,At=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)$/,jt=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Mt=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function Nt(){return new RegExp(Mt,`u`)}var Pt=/^(?:(?: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])$/,Ft=/^(([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}|:))$/,It=/^((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])$/,Lt=/^(([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])$/,Rt=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,zt=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,Bt=/^https?$/,Vt=/^\+[1-9]\d{6,14}$/,Ht=`(?:(?:\\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 Ut(e){return RegExp(`^${e}$`)}var Wt=Ut(Ht);function Gt(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 Kt(e){return RegExp(`^${Gt(e)}$`)}function qt(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${Gt({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${Gt({precision:e.precision})}`:n;return RegExp(`^${Ht}T(?:${r})$`)}var Jt=/^[\s\S]{0,}$/,Yt=/^-?\d+$/,Xt=/^-?\d+(?:\.\d+)?$/,Zt=/^(?:true|false)$/i,Qt=/^[^A-Z]*$/,$t=/^[^a-z]*$/,k=T(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),en=e=>{let t=e.value;return!a(t)&&t.length!==void 0},tn={number:`number`,bigint:`bigint`,object:`date`},nn=T(`$ZodCheckLessThan`,(e,t)=>{k.init(e,t);let n=tn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:tn[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})}}),rn=T(`$ZodCheckGreaterThan`,(e,t)=>{k.init(e,t);let n=tn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:tn[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})}}),an=T(`$ZodCheckMultipleOf`,(e,t)=>{k.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})}}),on=T(`$ZodCheckNumberFormat`,(e,t)=>{k.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})}}),sn=T(`$ZodCheckMaxLength`,(e,t)=>{var n;k.init(e,t),(n=e._zod.def).when??(n.when=en),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})}}),cn=T(`$ZodCheckMinLength`,(e,t)=>{var n;k.init(e,t),(n=e._zod.def).when??(n.when=en),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})}}),ln=T(`$ZodCheckLengthEquals`,(e,t)=>{var n;k.init(e,t),(n=e._zod.def).when??(n.when=en),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})}}),un=T(`$ZodCheckStringFormat`,(e,t)=>{var n,r;k.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=()=>{})}),dn=T(`$ZodCheckRegex`,(e,t)=>{un.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})}}),fn=T(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Qt,un.init(e,t)}),pn=T(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=$t,un.init(e,t)}),mn=T(`$ZodCheckIncludes`,(e,t)=>{k.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})}}),hn=T(`$ZodCheckStartsWith`,(e,t)=>{k.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})}}),gn=T(`$ZodCheckEndsWith`,(e,t)=>{k.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})}}),_n=T(`$ZodCheckOverwrite`,(e,t)=>{k.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),vn=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))}},yn={major:4,minor:6,patch:7},A=T(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=yn;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 E;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 E;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 E;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return Ne(this,`~standard`,Sn(this))},set"~standard"(e){S(this,`~standard`,e)}}),bn=(e,t)=>e.issues.length?{issues:e.issues.map(e=>x(e,t,O()))}:{value:e.value};async function xn(e,t){let n={async:!0};return bn(await e._zod.run({value:t,issues:[]},n),n)}function Sn(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return bn(r,n)}catch{}return xn(e,t)},vendor:`zod`,version:1}}var Cn=T(`$ZodString`,(e,t)=>{A.init(e,t),e._zod.pattern=t.pattern??Jt,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}}),j=T(`$ZodStringFormat`,(e,t)=>{un.init(e,t),Cn.init(e,t)}),wn=T(`$ZodGUID`,(e,t)=>{t.pattern??=kt,j.init(e,t)}),Tn=T(`$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??=At(e)}else t.pattern??=At();j.init(e,t)}),En=T(`$ZodEmail`,(e,t)=>{t.pattern??=jt,j.init(e,t)});function Dn(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function On(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?Dn(e)||2:kn(e,t)}function kn(e,t){if(!t.normalize&&t.protocol?.source===Bt.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 An=/[\t\n\r]/g;function jn(e){return e.replace(An,``)}function Mn(e,t){return t.lastIndex=0,t.test(e.hostname)}function Nn(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var Pn=T(`$ZodURL`,(e,t)=>{j.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=On(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=jn(r);return}t.hostname&&!Mn(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&&!Nn(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:jn(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),Fn=T(`$ZodEmoji`,(e,t)=>{t.pattern??=Nt(),j.init(e,t)}),In=T(`$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?Et:Dt(t.length),j.init(e,t)}),Ln=T(`$ZodCUID`,(e,t)=>{t.pattern??=xt,j.init(e,t)}),Rn=T(`$ZodCUID2`,(e,t)=>{t.pattern??=St,j.init(e,t)}),zn=T(`$ZodULID`,(e,t)=>{t.pattern??=Ct,j.init(e,t)}),Bn=T(`$ZodXID`,(e,t)=>{t.pattern??=wt,j.init(e,t)}),Vn=T(`$ZodKSUID`,(e,t)=>{t.pattern??=Tt,j.init(e,t)}),Hn=T(`$ZodISODateTime`,(e,t)=>{t.pattern??=qt(t),j.init(e,t)}),Un=T(`$ZodISODate`,(e,t)=>{t.pattern??=Wt,j.init(e,t)}),Wn=T(`$ZodISOTime`,(e,t)=>{t.pattern??=Kt(t),j.init(e,t)}),Gn=T(`$ZodISODuration`,(e,t)=>{t.pattern??=Ot,j.init(e,t)}),Kn=T(`$ZodIPv4`,(e,t)=>{t.pattern??=Pt,j.init(e,t)}),qn=/^[0-9a-fA-F:.]+$/;function Jn(e){return qn.test(e)?Dn(`http://[${e}]`):!1}var Yn=T(`$ZodIPv6`,(e,t)=>{t.pattern??=Ft,j.init(e,t),e._zod.check=n=>{Jn(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Xn=T(`$ZodCIDRv4`,(e,t)=>{t.pattern??=It,j.init(e,t)});function Zn(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:Jn(n)}var Qn=T(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Lt,j.init(e,t),e._zod.check=n=>{Zn(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function $n(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var er=/^[0-9a-zA-Z+/]*={0,2}$/,tr=T(`$ZodBase64`,(e,t)=>{t.pattern??=er,j.init(e,t),e._zod.check=n=>{$n(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),nr=/^[A-Za-z0-9_-]*$/;function rr(e){if(!nr.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return $n(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var ir=T(`$ZodBase64URL`,(e,t)=>{t.pattern??=nr,j.init(e,t),e._zod.check=n=>{rr(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),ar=T(`$ZodE164`,(e,t)=>{t.pattern??=Vt,j.init(e,t)});function or(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 sr=T(`$ZodJWT`,(e,t)=>{j.init(e,t),e._zod.check=n=>{or(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),cr=T(`$ZodNumber`,(e,t)=>{A.init(e,t),e._zod.pattern=Xt,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}}),lr=T(`$ZodNumberFormat`,(e,t)=>{on.init(e,t),cr.init(e,t)}),ur=T(`$ZodBoolean`,(e,t)=>{A.init(e,t),e._zod.pattern=Zt,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}}),dr=T(`$ZodUnknown`,(e,t)=>{A.init(e,t),e._zod.parse=e=>e}),fr=T(`$ZodNever`,(e,t)=>{A.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function pr(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 mr=e=>Array.isArray(e)?e.length:-1;function hr(e,t,n){e.issues.length&&t.issues.push(...Ce(n,e.issues)),t.value[n]=e.value}var gr=T(`$ZodArray`,(e,t)=>{A.init(e,t);let n=D.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=>hr(t,r,e)));else if(hr(c,r,e),s&&c.issues.length!==0&&b(c))break}return o.length?Promise.all(o).then(()=>r):r},pr(e,mr)});function _r(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 vr=[];function yr(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:vr,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 br(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=>_r(e,n,i,t,d,f))):_r(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 xr=T(`$ZodObject`,(e,t)=>{A.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(()=>yr(t));w(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=D.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=>_r(n,t,e,r,o,s))):_r(c,t,e,r,o,s)}return s?br(i,r,t,n,a.value,e,d===!0):i.length?Promise.all(i).then(()=>t):t}}),Sr=T(`$ZodObjectJIT`,(e,t)=>{xr.init(e,t);let n=e._zod.parse,r=i(()=>yr(t)),a=D.memoizer,o=t=>{let n=r.value,i=n.symbolKeys,o=new vn([`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=!D.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?br([],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 Cr(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,O())))}),t)}var wr=T(`$ZodUnion`,(e,t)=>{A.init(e,t),w(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),w(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),w(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)))}),w(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=>Cr(t,r,e,i)):Cr(o,r,e,i)}});function Tr(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 Er=T(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,wr.init(e,t);let n=e._zod.parse;w(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(()=>Tr(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)}}),Dr=T(`$ZodIntersection`,(e,t)=>{A.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])=>kr(e,t,n)):kr(e,i,a)}});function Or(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=Or(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=Or(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 kr(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=Or(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 Ar=T(`$ZodRecord`,(e,t)=>{A.init(e,t);let n=D.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,O())),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`&&Xt.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,O())),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}}),jr=T(`$ZodEnum`,(t,n)=>{A.init(t,n);let r=e(n.entries),i=new Set(r);t._zod.values=i,w(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}}),Mr=T(`$ZodLiteral`,(e,t)=>{A.init(e,t);let n=new Set(t.values);e._zod.values=n,w(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}}),Nr=T(`$ZodTransform`,(e,t)=>{A.init(e,t),e._zod.optin=`optional`,D.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Ke(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 E;return n.value=i,n}});function Pr(e,t){return e.value=t.issues.length?void 0:t.value,e}var Fr=T(`$ZodOptional`,(e,t)=>{A.init(e,t),w(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,w(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),w(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=>Pr(e,t)):Pr(e,r)}return t.innerType._zod.run(e,n)}}),Ir=T(`$ZodExactOptional`,(e,t)=>{Fr.init(e,t),w(e,`values`,e=>e.def.innerType._zod.values),w(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Lr=T(`$ZodNullable`,(e,t)=>{A.init(e,t),w(e,`optin`,e=>e.def.innerType._zod.optin),w(e,`optout`,e=>e.def.innerType._zod.optout),w(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${o(t.source)}|null)$`):void 0}),w(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)}),Rr=T(`$ZodDefault`,(e,t)=>{A.init(e,t),e._zod.optin=`defaulted`,w(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=>zr(e,t)):zr(r,t)}});function zr(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Br=T(`$ZodPrefault`,(e,t)=>{A.init(e,t),e._zod.optin=`defaulted`,w(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))}),Vr=T(`$ZodNonOptional`,(e,t)=>{A.init(e,t),w(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=>Hr(t,e)):Hr(i,e)}});function Hr(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 Ur(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,O()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var Wr=T(`$ZodCatch`,(e,t)=>{A.init(e,t),w(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),w(e,`optout`,e=>e.def.innerType._zod.optout),w(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=>Ur(e,r,t,n)):Ur(e,r,t,n)}}),Gr=T(`$ZodPipe`,(e,t)=>{A.init(e,t),w(e,`values`,e=>e.def.in._zod.values),w(e,`optin`,e=>e.def.in._zod.optin),w(e,`optout`,e=>e.def.out._zod.optout),w(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=>Kr(e,t.in,n)):Kr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Kr(e,t.out,n)):Kr(r,t.out,n)}});function Kr(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 qr=T(`$ZodReadonly`,(e,t)=>{A.init(e,t),w(e,`propValues`,e=>e.def.innerType._zod.propValues),w(e,`values`,e=>e.def.innerType._zod.values),w(e,`optin`,e=>e.def.innerType?._zod?.optin),w(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(Jr):Jr(r)}});function Jr(e){return e.memo||(e.value=Object.freeze(e.value)),e}var Yr=T(`$ZodLazy`,(e,t)=>{A.init(e,t),l(e._zod,`innerType`,()=>{let e=t;return e._cachedInner||=t.getter(),e._cachedInner}),w(e,`pattern`,e=>e.innerType?._zod?.pattern),w(e,`propValues`,e=>e.innerType?._zod?.propValues),w(e,`optin`,e=>e.innerType?._zod?.optin??void 0),w(e,`optout`,e=>e.innerType?._zod?.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)}),Xr=T(`$ZodCustom`,(e,t)=>{k.init(e,t),A.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=>Zr(t,n,r,e));Zr(i,n,r,e)}});function Zr(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 Qr=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},$r=`~memo`,ei=[];function ti(e){return typeof e==`object`&&!!e}function ni(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var ri=new WeakMap,ii=0,ai=1,oi=2;function si(e,t,n){let r=ri.get(e);if(r!==void 0)return r?oi:ii;if(t.has(e))return oi;t.add(e);let i=ii,a=e=>{if(i!==oi&&e?._zod){let r=si(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=ii;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?ai:o.value?._zod?si(o.value,t,n):ii;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):ai),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?si(r,t,!1):ai);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),ci(e,i)}function ci(e,t){return t!==ai&&ri.set(e,t===oi),t}function li(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}var ui,di=[],fi={alloc(e,t,n){let r=ui;if(!r)return n;ui=void 0;let i={value:n,issues:null};return r.set(t.value,i),di.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`&&mi(n,e.value))throw new Qr;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=si(e,new Set,!1);if(i===ii)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===oi||r?n=!0:r=!0}let l=s.value;if(!ti(l))return t(s,c);let u=c[$r];u||(u={buckets:new WeakMap,backEdges:void 0},c[$r]=u);let d;i===c?d=a:(d=li(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(...ni(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;ui=d;let p=di.length,m=t(s,c);ui=void 0;let h=di.length>p?di.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?ni(e.issues):ei),e)):(h&&(h.issues=m.issues.length?ni(m.issues):ei),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function pi(){return fi}function mi(e,t){let n=e[$r]?.backEdges;return n!==void 0&&ti(t)&&n.has(t)}var hi=()=>{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 gi(){return{localeError:hi()}}var _i,vi=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 yi(){return new vi}(_i=globalThis).__zod_globalRegistry??(_i.__zod_globalRegistry=yi());var bi=globalThis.__zod_globalRegistry;function xi(e){return e.checks&&=[...e.checks],e}function Si(e,t){return new e(xi({type:`string`,...y(t)}))}function Ci(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...y(t)})}function wi(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...y(t)})}function Ti(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...y(t)})}function Ei(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...y(t)})}function Di(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...y(t)})}function Oi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...y(t)})}function ki(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...y(t)})}function Ai(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...y(t)})}function ji(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...y(t)})}function Mi(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...y(t)})}function Ni(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...y(t)})}function Pi(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...y(t)})}function Fi(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...y(t)})}function Ii(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...y(t)})}function Li(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...y(t)})}function Ri(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...y(t)})}function zi(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...y(t)})}function Bi(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...y(t)})}function Vi(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...y(t)})}function Hi(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...y(t)})}function Ui(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...y(t)})}function Wi(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...y(t)})}function Gi(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...y(t)})}function Ki(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...y(t)})}function qi(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...y(t)})}function Ji(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...y(t)})}function Yi(e,t){return new e(xi({type:`number`,checks:[],...y(t)}))}function Xi(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...y(t)})}function Zi(e,t){return new e({type:`boolean`,...y(t)})}function Qi(e){return new e({type:`unknown`})}function $i(e,t){return new e({type:`never`,...y(t)})}function ea(e,t){return new nn({check:`less_than`,...y(t),value:e,inclusive:!1})}function ta(e,t){return new nn({check:`less_than`,...y(t),value:e,inclusive:!0})}function na(e,t){return new rn({check:`greater_than`,...y(t),value:e,inclusive:!1})}function ra(e,t){return new rn({check:`greater_than`,...y(t),value:e,inclusive:!0})}function ia(e,t){return new an({check:`multiple_of`,...y(t),value:e})}function aa(e,t){return new sn({check:`max_length`,...y(t),maximum:e})}function oa(e,t){return new cn({check:`min_length`,...y(t),minimum:e})}function sa(e,t){return new ln({check:`length_equals`,...y(t),length:e})}function ca(e,t){return new dn({check:`string_format`,format:`regex`,...y(t),pattern:e})}function la(e){return new fn({check:`string_format`,format:`lowercase`,...y(e)})}function ua(e){return new pn({check:`string_format`,format:`uppercase`,...y(e)})}function da(e,t){return new mn({check:`string_format`,format:`includes`,...y(t),includes:e})}function fa(e,t){return new hn({check:`string_format`,format:`starts_with`,...y(t),prefix:e})}function pa(e,t){return new gn({check:`string_format`,format:`ends_with`,...y(t),suffix:e})}function ma(e){return new _n({check:`overwrite`,tx:e})}function ha(e){return ma(t=>t.normalize(e))}function ga(){return ma(e=>e.trim())}function _a(){return ma(e=>e.toLowerCase())}function va(){return ma(e=>e.toUpperCase())}function ya(){return ma(e=>ne(e))}function ba(e,t,n){return new e({type:`array`,element:t,...y(n)})}function xa(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...y(n)})}function Sa(e,t){let n=Ca(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 Ca(e,t){let n=new k({check:`custom`,...y(t)});return n._zod.check=e,n}function wa(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 Ta(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??bi,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 M(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 N(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,N(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&wa(o.schema,c),t.io===`input`&&P(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 Ea(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Da(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}/${Ea(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+Ea(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 Oa(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;Oa(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 ka=new Set([`type`,`properties`,`required`,`additionalProperties`]),Aa=[`oneOf`,`anyOf`];function ja(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Ma(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!ka.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]??ja(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}u(n,r,e.length===1?e[0]:Ma(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=ja(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 Na(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of ka)if(t in e)return;let n=t.filter(e=>Aa.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Ma(t);else{let e=n[0],i=Aa.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=>Ma([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,wa(e,r))}function Pa(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)):wa(i,s),wa(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())Oa(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)??[])Na(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)}wa(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:Ia(t,`input`,e.processors),output:Ia(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function P(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 P(r.element,n);if(r.type===`set`)return P(r.valueType,n);if(r.type===`lazy`)return P(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 P(r.innerType,n);if(r.type===`intersection`)return P(r.left,n)||P(r.right,n);if(r.type===`record`||r.type===`map`)return P(r.keyType,n)||P(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:P(r.in,n)||P(r.out,n);if(r.type===`object`){for(let e in r.shape)if(P(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(P(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(P(e,n))return!0;return!!(r.rest&&P(r.rest,n))}return!1}var Fa=(e,t={})=>n=>{let r=Ta({...n,processors:t});return N(e,r),Da(r,e),Pa(r,e)},Ia=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Ta({...i??{},target:a,io:t,processors:n});return N(e,o),Da(o,e),Pa(o,e)},La=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},F=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Ra=(e,t)=>{La(e,`minimum`,t),F(e,`maximum`,t)},za=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Ba=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},Va=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Ha=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},Ua=(e,t)=>La(e,`minimum`,t.minimum),Wa=(e,t)=>F(e,`maximum`,t.maximum),Ga=e=>(t,n)=>{Ha(t,n.format);let[r,i]=e[n.format];La(t,`minimum`,r),F(t,`maximum`,i)},Ka={greater_than:(e,t)=>La(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>F(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>za(e,t.value),number_format:Ga(de),bigint_format:Ga(fe),min_length:Ua,max_length:Wa,length_equals:(e,t)=>Ra(e,t.length),min_size:Ua,max_size:Wa,size_equals:(e,t)=>Ra(e,t.size),string_format:(e,t)=>{Ha(e,t.format),t.pattern&&Ba(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)=>Va(e,t.mime)};function I(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)Ka[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&La(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&La(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&F(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&F(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&za(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&Va(t,i.mime);for(let e of i.patterns??[])Ba(t,e);return t}var qa={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Ja=new Map([[er,Rt],[nr,zt]]),Ya=e=>Ja.get(e)??e,Xa=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=I(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=qa[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(Ya);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}))])}},Za=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=I(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)):M(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}))])}},Qa=(e,t,n,r)=>{n.type=`boolean`},$a=(e,t,n,r)=>{n.not={}},eo=(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)},to=(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(M(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(M(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}},no=(e,t,n,r)=>{M(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},ro=(e,t,n,r)=>{M(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},io=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=I(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=N(a.element,t,{...r,path:[...r.path,`items`]})};function ao(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?ao(t.out):t.type===`catch`?ao(t.innerType):e._zod.optin}var oo=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&M(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,N(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`?ao(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=N(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},so=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>N(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},co=(e,t,n,r)=>{let i=e._zod.def,a=N(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=N(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 lo(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=lo(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=>lo(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`)?Xt:Yt).source)),p}var uo=new WeakMap;function fo(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 uo.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=lo(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 po=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=I(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=N(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)u(i.patternProperties,Ya(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=N(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=uo.get(t);n||(n=[],uo.set(t,n),t.deferred.push(()=>fo(t))),n.push(e)}i.additionalProperties=N(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&ao(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))}},mo=(e,t,n,r)=>{let i=e._zod.def,a=N(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`}]},ho=(e,t,n,r)=>{let i=e._zod.def;N(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},go=Symbol();function _o(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(M(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),go):JSON.parse(o)}var vo=(e,t,n,r)=>{let i=e._zod.def;N(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=_o(i.defaultValue,e,t,n,r);o!==go&&(n.default=o)},yo=(e,t,n,r)=>{let i=e._zod.def;N(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=_o(i.defaultValue,e,t,n,r);o!==go&&(n._prefault=o)},bo=(e,t,n,r)=>{let i=e._zod.def;N(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{M(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},xo=(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;N(o,t,r);let s=t.seen.get(e);s.ref=o},So=(e,t,n,r)=>{let i=e._zod.def;N(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Co=(e,t,n,r)=>{let i=e._zod.def;N(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},wo=(e,t,n,r)=>{let i=e._zod.innerType;N(i,t,r);let a=t.seen.get(e);a.ref=i},To=new WeakSet([Object.prototype,Error.prototype]);function Eo(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 L=T(`ZodError`,(e,t)=>{Qe.init(e,t),e.name=`ZodError`;let r=Object.getPrototypeOf(e);To.has(r)||(To.add(r),Eo(r,`format`,e=>t=>tt(e,t)),Eo(r,`flatten`,e=>t=>et(e,t)),Eo(r,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,n,2)}),Eo(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}),Do=rt(L),Oo=it(L),ko=at(L),Ao=st(L),jo=pt(L),Mo=mt(L),No=ht(L),Po=gt(L),Fo=_t(L),Io=vt(L),Lo=yt(L),Ro=bt(L);function zo(){D.localeError||O(gi())}function Bo(){D.memoizer||O({memoizer:pi()})}var R=T(`ZodType`,(e,t)=>(zo(),A.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(Qs(e,t))},superRefine(e,t){return this.check($s(e,t))},overwrite(e){return this.check(ma(e))},optional(){return Ms(this)},exactOptional(){return Ps(this)},nullable(){return Is(this)},nullish(){return Ms(Is(this))},nonoptional(e){return Hs(this,e)},array(){return W(this)},or(e){return K([this,e])},and(e){return ws(this,e)},transform(e){return Ks(this,As(e))},default(e){return Rs(this,e)},prefault(e){return Bs(this,e)},catch(e){return Ws(this,e)},pipe(e){return Ks(this,e)},readonly(){return Js(this)},describe(e){let t=this.clone();return bi.add(t,{description:e}),t},meta(...e){if(e.length===0)return bi.get(this);let t=this.clone();return bi.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`,{...Sn(this),jsonSchema:{input:Ia(this,`input`),output:Ia(this,`output`)}})},set"~standard"(e){S(this,`~standard`,e)},parse:function e(t,n){return Do(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Oo(this,t,n,{callee:e})},safeParse(e,t){return ko(this,e,t)},async safeParseAsync(e,t){return Ao(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){S(this,`spa`,e)},validate(e,t){return ut(this,e,t)},validateAsync(e,t){return ft(this,e,t)},encode:function e(t,n){return jo(this,t,n,{callee:e})},decode:function e(t,n){return Mo(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await No(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Po(this,t,n,{callee:e})},safeEncode(e,t){return Fo(this,e,t)},safeDecode(e,t){return Io(this,e,t)},async safeEncodeAsync(e,t){return Lo(this,e,t)},async safeDecodeAsync(e,t){return Ro(this,e,t)},toJSONSchema(e){return Fa(this,{})(e)},get description(){return bi.get(this)?.description},get _def(){return this._zod.def}}),Vo=T(`_ZodString`,(e,t)=>{Cn.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xa(e,t,n,r)},Pe({format:e=>I(e).format??null,minLength:e=>I(e).minimum??null,maxLength:e=>I(e).maximum??null},{regex(...e){return this.check(ca(...e))},includes(...e){return this.check(da(...e))},startsWith(...e){return this.check(fa(...e))},endsWith(...e){return this.check(pa(...e))},min(...e){return this.check(oa(...e))},max(...e){return this.check(aa(...e))},length(...e){return this.check(sa(...e))},nonempty(...e){return this.check(oa(1,...e))},lowercase(e){return this.check(la(e))},uppercase(e){return this.check(ua(e))},trim(){return this.check(ga())},normalize(...e){return this.check(ha(...e))},toLowerCase(){return this.check(_a())},toUpperCase(){return this.check(va())},slugify(){return this.check(ya())}})),Ho=T(`ZodString`,(e,t)=>{Cn.init(e,t),Vo.init(e,t)},{email(e){return this.check(Ci(qo,e))},url(e){return this.check(ki(Xo,e))},jwt(e){return this.check(Wi(ds,e))},emoji(e){return this.check(Ai(Zo,e))},guid(e){return this.check(wi(Jo,e))},uuid(e){return this.check(Ti(Yo,e))},uuidv4(e){return this.check(Ei(Yo,e))},uuidv6(e){return this.check(Di(Yo,e))},uuidv7(e){return this.check(Oi(Yo,e))},nanoid(e){return this.check(ji(Qo,e))},cuid(e){return this.check(Mi($o,e))},cuid2(e){return this.check(Ni(es,e))},ulid(e){return this.check(Pi(ts,e))},base64(e){return this.check(Vi(cs,e))},base64url(e){return this.check(Hi(ls,e))},xid(e){return this.check(Fi(ns,e))},ksuid(e){return this.check(Ii(rs,e))},ipv4(e){return this.check(Li(is,e))},ipv6(e){return this.check(Ri(as,e))},cidrv4(e){return this.check(zi(os,e))},cidrv6(e){return this.check(Bi(ss,e))},e164(e){return this.check(Ui(us,e))},datetime(e){return this.check(Gi(Uo,e))},date(e){return this.check(Ki(Wo,e))},time(e){return this.check(qi(Go,e))},duration(e){return this.check(Ji(Ko,e))}});function z(e){return Si(Ho,e)}var B=T(`ZodStringFormat`,(e,t)=>{j.init(e,t),Vo.init(e,t)}),Uo=T(`ZodISODateTime`,(e,t)=>{Hn.init(e,t),B.init(e,t)}),Wo=T(`ZodISODate`,(e,t)=>{Un.init(e,t),B.init(e,t)}),Go=T(`ZodISOTime`,(e,t)=>{Wn.init(e,t),B.init(e,t)}),Ko=T(`ZodISODuration`,(e,t)=>{Gn.init(e,t),B.init(e,t)}),qo=T(`ZodEmail`,(e,t)=>{En.init(e,t),B.init(e,t)}),Jo=T(`ZodGUID`,(e,t)=>{wn.init(e,t),B.init(e,t)}),Yo=T(`ZodUUID`,(e,t)=>{Tn.init(e,t),B.init(e,t)}),Xo=T(`ZodURL`,(e,t)=>{Pn.init(e,t),B.init(e,t)}),Zo=T(`ZodEmoji`,(e,t)=>{Fn.init(e,t),B.init(e,t)}),Qo=T(`ZodNanoID`,(e,t)=>{In.init(e,t),B.init(e,t)}),$o=T(`ZodCUID`,(e,t)=>{Ln.init(e,t),B.init(e,t)}),es=T(`ZodCUID2`,(e,t)=>{Rn.init(e,t),B.init(e,t)}),ts=T(`ZodULID`,(e,t)=>{zn.init(e,t),B.init(e,t)}),ns=T(`ZodXID`,(e,t)=>{Bn.init(e,t),B.init(e,t)}),rs=T(`ZodKSUID`,(e,t)=>{Vn.init(e,t),B.init(e,t)}),is=T(`ZodIPv4`,(e,t)=>{Kn.init(e,t),B.init(e,t)}),as=T(`ZodIPv6`,(e,t)=>{Yn.init(e,t),B.init(e,t)}),os=T(`ZodCIDRv4`,(e,t)=>{Xn.init(e,t),B.init(e,t)}),ss=T(`ZodCIDRv6`,(e,t)=>{Qn.init(e,t),B.init(e,t)}),cs=T(`ZodBase64`,(e,t)=>{tr.init(e,t),B.init(e,t)}),ls=T(`ZodBase64URL`,(e,t)=>{ir.init(e,t),B.init(e,t)}),us=T(`ZodE164`,(e,t)=>{ar.init(e,t),B.init(e,t)}),ds=T(`ZodJWT`,(e,t)=>{sr.init(e,t),B.init(e,t)}),fs=T(`ZodNumber`,(e,t)=>{cr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Za(e,t,n,r),e.isFinite=!0},Pe({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=I(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=I(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=I(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>I(e).format??null},{gt(e,t){return this.check(na(e,t))},gte(e,t){return this.check(ra(e,t))},min(e,t){return this.check(ra(e,t))},lt(e,t){return this.check(ea(e,t))},lte(e,t){return this.check(ta(e,t))},max(e,t){return this.check(ta(e,t))},int(e){return this.check(ms(e))},safe(e){return this.check(ms(e))},positive(e){return this.check(na(0,e))},nonnegative(e){return this.check(ra(0,e))},negative(e){return this.check(ea(0,e))},nonpositive(e){return this.check(ta(0,e))},multipleOf(e,t){return this.check(ia(e,t))},step(e,t){return this.check(ia(e,t))},finite(){return this}}));function V(e){return Yi(fs,e)}var ps=T(`ZodNumberFormat`,(e,t)=>{lr.init(e,t),fs.init(e,t)});function ms(e){return Xi(ps,e)}var hs=T(`ZodBoolean`,(e,t)=>{ur.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qa(e,t,n,r)});function H(e){return Zi(hs,e)}var gs=T(`ZodUnknown`,(e,t)=>{dr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function U(){return Qi(gs)}var _s=T(`ZodNever`,(e,t)=>{fr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$a(e,t,n,r)});function vs(e){return $i(_s,e)}var ys=T(`ZodArray`,(e,t)=>{Bo(),gr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>io(e,t,n,r),e.element=t.element},{min(e,t){return this.check(oa(e,t))},nonempty(e){return this.check(oa(1,e))},max(e,t){return this.check(aa(e,t))},length(e,t){return this.check(sa(e,t))},unwrap(){return this.element}});function W(e,t){return ba(ys,e,t)}var bs=T(`ZodObject`,(e,t)=>{Bo(),Sr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oo(e,t,n,r),ze(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return J(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:U()}))},loose(){return this.clone(g(this._zod.def,{catchall:U()}))},strict(){return this.clone(g(this._zod.def,{catchall:vs()}))},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(js,this,e[0])},exactPartial(...e){return be(Ns,this,e[0],`exactPartial`)},required(...e){return xe(Vs,this,e[0])}});function G(e,t){return new bs({type:`object`,shape:e??{},...y(t)})}var xs=T(`ZodUnion`,(e,t)=>{wr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>so(e,t,n,r),e.options=t.options});function K(e,t){return new xs({type:`union`,options:e,...y(t)})}var Ss=T(`ZodDiscriminatedUnion`,(e,t)=>{xs.init(e,t),Er.init(e,t)});function q(e,t,n){return new Ss({type:`union`,options:t,discriminator:e,...y(n)})}var Cs=T(`ZodIntersection`,(e,t)=>{Dr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>co(e,t,n,r)});function ws(e,t){return new Cs({type:`intersection`,left:e,right:t})}var Ts=T(`ZodRecord`,(e,t)=>{Bo(),Ar.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>po(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Es(e,t,n){return!t||!t._zod?new Ts({type:`record`,keyType:z(),valueType:e,...y(t)}):new Ts({type:`record`,keyType:e,valueType:t,...y(n)})}var Ds=T(`ZodEnum`,(e,t)=>{jr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>eo(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 Ds({...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 Ds({...t,checks:[],...y(r),entries:i})}});function J(e,t){return new Ds({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...y(t)})}var Os=T(`ZodLiteral`,(e,t)=>{Mr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>to(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 Y(e,t){return new Os({type:`literal`,values:Array.isArray(e)?e:[e],...y(t)})}var ks=T(`ZodTransform`,(e,t)=>{Bo(),Nr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ro(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Ke(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 As(e){return new ks({type:`transform`,transform:e})}var js=T(`ZodOptional`,(e,t)=>{Fr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Co(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ms(e){return new js({type:`optional`,innerType:e})}var Ns=T(`ZodExactOptional`,(e,t)=>{Ir.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Co(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ps(e){return new Ns({type:`optional`,innerType:e})}var Fs=T(`ZodNullable`,(e,t)=>{Lr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Is(e){return new Fs({type:`nullable`,innerType:e})}var Ls=T(`ZodDefault`,(e,t)=>{Rr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Rs(e,t){return new Ls({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():oe(t)}})}var zs=T(`ZodPrefault`,(e,t)=>{Br.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Bs(e,t){return new zs({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():oe(t)}})}var Vs=T(`ZodNonOptional`,(e,t)=>{Vr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ho(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Hs(e,t){return new Vs({type:`nonoptional`,innerType:e,...y(t)})}var Us=T(`ZodCatch`,(e,t)=>{Wr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ws(e,t){return new Us({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:Ve(t)})}var Gs=T(`ZodPipe`,(e,t)=>{Gr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xo(e,t,n,r),e.in=t.in,e.out=t.out});function Ks(e,t){return new Gs({type:`pipe`,in:e,out:t})}var qs=T(`ZodReadonly`,(e,t)=>{qr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>So(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Js(e){return new qs({type:`readonly`,innerType:e})}var Ys=T(`ZodLazy`,(e,t)=>{Yr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wo(e,t,n,r),e.unwrap=()=>e._zod.def.getter()});function Xs(e){return new Ys({type:`lazy`,getter:e})}var Zs=T(`ZodCustom`,(e,t)=>{Xr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(t,n,r)=>no(e,t,n,r)});function Qs(e,t={}){return xa(Zs,e,t)}function $s(e,t){return Sa(e,t)}var ec=G({code:J(`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:z(),details:U().optional()});G({error:ec});var tc=J([`default`,`muted`,`success`,`warning`,`danger`]),nc=G({field:z(),values:W(z())}),rc=G({value:z(),label:z(),description:z().optional(),preview:z().optional()}),ic=G({label:z(),placeholder:z().optional()}),ac=q(`kind`,[G({kind:Y(`select`),name:z(),label:z(),options:W(rc),allowOther:ic.optional(),showIf:nc.optional()}),G({kind:Y(`multiselect`),name:z(),label:z(),options:W(rc),allowOther:ic.optional(),min:V().int().min(0).optional(),max:V().int().min(1).optional(),showIf:nc.optional()}),G({kind:Y(`text`),name:z(),label:z(),placeholder:z().optional(),multiline:H().optional(),prefill:z().optional(),showIf:nc.optional()})]),oc=q(`kind`,[G({kind:Y(`file`),path:z()}),G({kind:Y(`session`),sessionId:z()}),G({kind:Y(`task`),taskId:z()}),G({kind:Y(`native_session`),hostId:z(),sessionFile:z()})]),sc=Xs(()=>q(`t`,[G({t:Y(`text`),text:z(),tone:tc.optional()}),G({t:Y(`markdown`),text:z()}),G({t:Y(`code`),text:z(),lang:z().optional()}),G({t:Y(`diff`),patch:z()}),G({t:Y(`list`),items:W(sc),ordered:H().optional()}),G({t:Y(`table`),columns:W(z()),rows:W(W(z()))}),G({t:Y(`section`),title:z().optional(),collapsible:H().optional(),children:W(sc)}),G({t:Y(`tabs`),tabs:W(G({id:z(),label:z(),children:W(sc)}))}),G({t:Y(`progress`),label:z(),value:V().min(0).max(1).optional(),status:J([`running`,`ok`,`error`]).optional()}),G({t:Y(`ref`),ref:oc,label:z()}),G({t:Y(`form`),formId:z(),fields:W(ac),submitLabel:z(),cancelLabel:z().optional()}),G({t:Y(`confirm`),message:z(),confirmLabel:z(),cancelLabel:z(),destructive:H().optional()}),G({t:Y(`actions`),actions:W(G({id:z(),label:z(),tone:J([`default`,`primary`,`danger`]).optional()}))})]));function cc(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 lc=K([z(),W(z()),G({other:z()})]),uc=q(`kind`,[G({kind:Y(`form`),values:Es(z(),lc)}),G({kind:Y(`confirm`),confirmed:H()}),G({kind:Y(`action`),actionId:z()}),G({kind:Y(`cancel`)})]),X=z(),Z=z(),dc=J([`connected`,`reconnecting`,`unreachable`]),fc=[`prompt`,`steer`,`followUp`,`abort`,`resume`,`rename`,`importInactive`,`extensionDialogs`,`customUi`,`widgetsText`,`widgetsComponent`,`tokenAccounting`,`costAccounting`],pc=G({prompt:H(),steer:H(),followUp:H(),abort:H(),resume:H(),rename:H(),importInactive:H(),extensionDialogs:H(),customUi:H(),widgetsText:H(),widgetsComponent:H(),tokenAccounting:H(),costAccounting:H(),terminal:H().optional(),unsupported:W(G({capability:z(),reason:z()}))}),mc=G({state:J([`running`,`done`,`failed`]),startedAt:X,finishedAt:X.nullable(),repositories:V().int(),projectsCreated:V().int(),checkoutsAdded:V().int(),errors:W(z())}),hc=G({id:Z,name:z(),platform:J([`darwin`,`linux`]),agentVersion:z(),piVersion:z().nullable(),piCompatible:H(),capabilities:pc.nullable(),connectivity:dc,lastSeenAt:X.nullable(),revokedAt:X.nullable(),createdAt:X,projectFolders:W(z()).optional(),projectScan:mc.nullable().optional()}),gc=z().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`),_c=G({id:Z,name:z().min(1),repoIdentity:z(),defaultProfileId:Z.nullable(),defaultHostId:Z.nullable(),maxConcurrentRuns:V().int().min(1).max(32),automationEnabled:H(),setupCommand:z().nullable(),checks:W(z()),workspaceSharing:J([`single_writer`,`shared`]),worktreeDir:gc.default(`.worktrees`),createdAt:X,updatedAt:X}),vc=G({id:Z,projectId:Z,hostId:Z,path:z(),commonDir:z(),defaultBranch:z(),createdAt:X}),yc=G({dirty:H(),changedFiles:V().int(),ahead:V().int(),behind:V().int(),unmerged:H()}),bc=G({id:Z,checkoutId:Z,projectId:Z,hostId:Z,path:z(),branch:z().nullable(),baseBranch:z().nullable(),provenance:J([`managed`,`discovered`,`main`]),git:yc,setup:G({state:J([`none`,`running`,`succeeded`,`failed`]),log:z()}),archivedAt:X.nullable(),updatedAt:X}),xc=J([`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`]),Sc=[`--mode`,`--fork`,`--no-session`,`-e`,`--extension`],Cc=z().refine(e=>e.startsWith(`--`)||!e.startsWith(`-`),`extra args must be long flags`).refine(e=>!Sc.includes(e.split(`=`)[0])&&!e.startsWith(`--session`),`this flag is managed by Switchyard`),wc=G({id:Z,name:z().min(1),provider:z().nullable(),model:z().nullable(),thinking:xc.nullable(),projectTrust:J([`ask`,`approve`,`ignore`]),extraArgs:W(Cc)}),Tc=J([`starting`,`idle`,`running`,`waiting_input`,`interrupted`,`failed`,`stopped`]),Ec=G({sessionId:z(),sessionFile:z()}),Dc=G({tokens:V().nullable(),costUsd:V().nullable()}),Oc=G({id:Z,title:z(),subtitle:z().nullable(),hostId:Z,workspaceId:Z.nullable(),projectId:Z.nullable(),cwd:z(),nativeHandle:Ec.nullable(),profileSnapshot:wc,runtime:Tc,runtimeDetail:z().nullable(),connectivity:dc,runId:Z.nullable(),taskId:Z.nullable(),provenance:J([`created`,`imported`,`subagent`]),readOnly:H(),lastActivityAt:X,archivedAt:X.nullable(),queue:G({steering:W(z()),followUp:W(z())}),stats:Dc.nullable(),lastAssistantText:z().nullable(),createdAt:X,terminal:H().optional()}),kc=q(`enabled`,[G({enabled:Y(!1)}),G({enabled:Y(!0),objective:z().min(1),maxContinuations:V().int().min(1).max(50),maxElapsedMinutes:V().int().min(1).max(1440),maxTokens:V().int().positive().nullable(),maxCostUsd:V().positive().nullable()})]),Ac=G({checks:W(z()).nullable(),requireHumanReview:H()}),jc=q(`mode`,[G({mode:Y(`new_worktree`),branch:z().nullable(),base:z().nullable()}),G({mode:Y(`existing`),workspaceId:Z})]),Mc=G({hostId:Z.nullable(),profileId:Z.nullable(),workspace:jc,continuation:kc,completion:Ac}),Nc=J([`backlog`,`ready`,`in_progress`,`review`,`done`,`canceled`]),Pc=K([Y(0),Y(1),Y(2),Y(3)]),Fc=[`Urgent`,`High`,`Normal`,`Low`],Ic=q(`kind`,[G({kind:Y(`manual`)}),G({kind:Y(`automation`),automationId:Z,occurrenceId:Z,routine:H()})]),Lc=G({id:Z,projectId:Z,title:z().min(1),objective:z(),acceptanceCriteria:W(z()),dependencies:W(Z),priority:Pc,position:V(),state:Nc,blocked:G({reason:z()}).nullable(),notBefore:X.nullable(),policy:Mc,origin:Ic,groupingKey:z().nullable(),currentRunId:Z.nullable(),sessionId:Z.nullable(),review:G({feedback:W(z()),changesRequested:H()}),hiddenFromBoard:H(),lastActivityAt:X,createdAt:X,updatedAt:X}),Rc=J([`queued`,`dispatching`,`uncertain`,`running`,`waiting_input`,`checking`,`succeeded`,`failed`,`interrupted`,`canceled`]),zc=G({command:z(),exitCode:V().int().nullable(),outputTail:z()}),Bc=G({id:Z,taskId:Z,sessionId:Z.nullable(),hostId:Z.nullable(),dispatchKey:z(),attempt:V().int().min(1),state:Rc,controlMode:J([`automation`,`human`]),controlRevision:V().int().min(1),continuationsUsed:V().int().min(0),infraRetries:V().int().min(0),nextAttemptAt:X.nullable(),startedAt:X.nullable(),endedAt:X.nullable(),outcome:G({kind:J([`review`,`failed`,`blocked`,`no_change`,`canceled`]),summary:z()}).nullable(),limits:kc,usage:G({tokens:V().nullable(),costUsd:V().nullable(),accounting:J([`available`,`unavailable`]),note:z().nullable()}),checks:W(zc),createdAt:X,updatedAt:X}),Vc=q(`kind`,[G({kind:Y(`manual`)}),G({kind:Y(`once`),at:X}),G({kind:Y(`cron`),expr:z().min(1),timezone:z().min(1)}),G({kind:Y(`webhook`)}),G({kind:Y(`dependency`),taskId:Z})]),Hc=G({title:z().min(1),objective:z(),acceptanceCriteria:W(z()),priority:Pc}),Uc=G({id:Z,name:z().min(1),enabled:H(),projectId:Z,trigger:Vc,filters:W(G({path:z(),equals:z()})),template:Hc,hostId:Z.nullable(),profileId:Z.nullable(),mode:J([`fresh`,`continue`,`watch`]),groupingKey:z().nullable(),overlap:J([`skip`,`queue_one`,`append`]),missed:J([`skip`,`run_once`]),continuation:kc,completion:Ac,nextAt:X.nullable(),lastEvaluatedAt:X.nullable(),lastOutcome:z().nullable(),failureCount:V().int().min(0),webhookTokenSet:H(),createdAt:X,updatedAt:X}),Wc=J([`fired`,`skipped_overlap`,`skipped_missed`,`queued`,`appended`,`failed`,`filtered`]),Gc=G({id:Z,automationId:Z,key:z(),scheduledFor:X.nullable(),state:Wc,taskId:Z.nullable(),reason:z().nullable(),outcome:z().nullable(),createdAt:X}),Kc=J([`pending`,`resolved`,`expired`,`cancelled`,`unsupported`]),qc=G({id:Z,sessionId:Z,revision:V().int().min(1),source:q(`kind`,[G({kind:Y(`extension_ui`),method:J([`select`,`confirm`,`input`,`editor`]),piRequestIds:W(z())}),G({kind:Y(`unsupported_custom`),title:z().nullable()})]),adapterId:z().nullable(),title:z(),presentation:sc,state:Kc,resolution:G({by:z(),summary:z(),at:X}).nullable(),createdAt:X}),Jc=J([`needs_input`,`failed`,`ready_for_review`,`unsupported_interaction`,`host_unreachable`]),Yc=G({id:Z,sessionId:Z.nullable(),taskId:Z.nullable(),projectId:Z.nullable(),reason:Jc,severity:J([`info`,`warning`,`critical`]),summary:z(),interactionId:Z.nullable(),deepLink:z(),acknowledgedAt:X.nullable(),resolvedAt:X.nullable(),createdAt:X}),Xc=G({id:Z,name:z(),kind:J([`browser`,`pwa`,`terminal`,`cli`]),createdAt:X,lastSeenAt:X.nullable(),revokedAt:X.nullable(),push:G({subscribed:H(),permission:J([`granted`,`denied`,`default`,`unknown`])}),preferredMobile:H(),enrolledVia:J([`enrollment`,`passkey`,`oidc`,`admin`]).default(`enrollment`)}),Zc=G({toolCallId:z(),name:z(),status:J([`running`,`ok`,`error`]),args:U(),summary:z(),output:z(),startedAt:X,durationMs:V().nullable(),card:sc.nullable(),adapterId:z().nullable()}),Qc=q(`kind`,[G({id:Z,sessionId:Z,order:V().int(),at:X,kind:Y(`user`),data:G({text:z(),images:V().int().optional()})}),G({id:Z,sessionId:Z,order:V().int(),at:X,kind:Y(`assistant`),data:G({text:z(),streaming:H().optional()})}),G({id:Z,sessionId:Z,order:V().int(),at:X,kind:Y(`thinking`),data:G({text:z()})}),G({id:Z,sessionId:Z,order:V().int(),at:X,kind:Y(`tool`),data:Zc}),G({id:Z,sessionId:Z,order:V().int(),at:X,kind:Y(`notice`),data:G({level:J([`info`,`warning`,`error`]),text:z()})}),G({id:Z,sessionId:Z,order:V().int(),at:X,kind:Y(`interaction`),data:G({interactionId:Z})}),G({id:Z,sessionId:Z,order:V().int(),at:X,kind:Y(`subagent`),data:G({runId:z(),label:z(),status:z(),sessionFile:z().nullable(),linkedSessionId:Z.nullable()})}),G({id:Z,sessionId:Z,order:V().int(),at:X,kind:Y(`system`),data:G({text:z(),suggestion:H().optional()})})]),$c=G({sessionId:Z,adapterId:z(),slot:z(),title:z(),node:sc.nullable(),webRenderer:H(),mobileFallback:z().nullable(),updatedAt:X}),el=G({sessionId:Z.nullable(),adapterId:z().nullable(),level:J([`info`,`warning`,`error`]),message:z(),at:X}),tl=G({id:z(),version:z(),tier:J([`project`,`owner`,`plugin`,`bundled`]),target:G({extension:z(),versionRange:z(),testedVersions:W(z())}),capabilities:W(z()),webRenderer:H(),status:J([`active`,`disabled`,`error`]),detail:z().nullable()}),nl=G({id:z(),name:z(),createdAt:X,lastUsedAt:X.nullable(),transports:W(z())});G({token:z().min(1),name:z().min(1).max(80),kind:J([`browser`,`pwa`,`terminal`,`cli`])}),G({deviceId:z(),credential:z()}),G({kind:J([`device`,`host`])});var rl=G({token:z(),url:z(),expiresAt:z(),qrSvg:z(),command:z().nullable()});K([G({token:z().min(1),name:z().min(1).max(80),platform:J([`darwin`,`linux`])}),G({secret:z().min(1),name:z().min(1).max(80),platform:J([`darwin`,`linux`])})]),G({hostId:z(),credential:z()}),G({name:z().min(1),hostId:z(),path:z().min(1),defaultProfileId:z().nullable().optional(),setupCommand:z().nullable().optional(),checks:W(z()).optional(),maxConcurrentRuns:V().int().min(1).max(32).optional(),worktreeDir:gc.optional()}),G({name:z().min(1).optional(),defaultProfileId:z().nullable().optional(),defaultHostId:z().nullable().optional(),maxConcurrentRuns:V().int().min(1).max(32).optional(),automationEnabled:H().optional(),setupCommand:z().nullable().optional(),checks:W(z()).optional(),workspaceSharing:J([`single_writer`,`shared`]).optional(),worktreeDir:gc.optional()}),G({hostId:z(),path:z().min(1)});function il(e){return e.includes(`\0`)?!1:e===`~`||e.startsWith(`~/`)||e.startsWith(`/`)}G({projectFolders:W(z().trim().min(1).max(1024).refine(il,`must be an absolute path or start with ~/`)).max(20).optional()}),mc.extend({added:W(G({projectId:z(),name:z(),path:z(),newProject:H()}))}),G({name:z().min(1),provider:z().nullable().default(null),model:z().nullable().default(null),thinking:xc.nullable().default(null),projectTrust:J([`ask`,`approve`,`ignore`]).default(`ask`),extraArgs:W(Cc).default([])}),G({checkoutId:z(),branch:z().min(1),base:z().nullable().optional()}),G({force:G({dirty:H(),unmerged:H()}).default({dirty:!1,unmerged:!1})}),G({projectId:z(),workspace:K([G({existingId:z()}),G({checkoutId:z(),newBranch:z().min(1),base:z().nullable().optional()})]),profileId:z().nullable().optional(),prompt:z().default(``),title:z().optional()}),G({text:z().min(1),mode:J([`prompt`,`steer`,`followUp`]).default(`prompt`),images:W(G({mimeType:z(),data:z()})).default([]),clientMessageId:z().optional()}),G({title:z().min(1).max(200)}),G({hostId:z(),sessionFile:z(),projectId:z().nullable().optional()}),G({revision:V().int(),response:uc}),G({status:J([`answered`,`already_answered`]),interaction:qc}),G({adapterId:z(),actionId:z(),payload:U().optional()}),G({projectId:z(),title:z().min(1).max(300),objective:z().default(``),acceptanceCriteria:W(z()).default([]),dependencies:W(z()).default([]),priority:Pc.default(2),state:J([`backlog`,`ready`]).default(`backlog`),notBefore:z().nullable().optional(),policy:Mc.partial().optional()}),G({title:z().min(1).max(300).optional(),objective:z().optional(),acceptanceCriteria:W(z()).optional(),dependencies:W(z()).optional(),priority:Pc.optional(),position:V().optional(),notBefore:z().nullable().optional(),policy:Mc.partial().optional()}),G({to:Nc,confirm:H().optional(),onRunning:J([`pause`,`stop`]).optional(),position:V().optional()}),G({feedback:W(z().min(1)).min(1)});var al=K([G({eligible:Y(!0),hostId:z(),hostName:z()}),G({eligible:Y(!1),wait:J([`dependency`,`host_offline`,`project_limit`,`workspace_occupied`,`scheduled_time`,`invalid_configuration`,`dispatch_paused`,`project_automation_disabled`,`not_ready`,`already_dispatched`,`retry_backoff`]),message:z()})]);G({running:W(G({taskId:z(),runId:z(),sessionId:z().nullable()})),queued:W(G({taskId:z(),eligibility:al})),dispatchPaused:H()});var ol=G({name:z().min(1),enabled:H().default(!0),projectId:z(),trigger:Vc,filters:W(G({path:z(),equals:z()})).default([]),template:Hc,hostId:z().nullable().default(null),profileId:z().nullable().default(null),mode:J([`fresh`,`continue`,`watch`]).default(`fresh`),groupingKey:z().nullable().default(null),overlap:J([`skip`,`queue_one`,`append`]).default(`skip`),missed:J([`skip`,`run_once`]).default(`skip`),continuation:kc.default({enabled:!1}),completion:Ac.default({checks:null,requireHumanReview:!0})});G({summary:z(),task:G({title:z(),objective:z(),acceptanceCriteria:W(z()),priority:Pc}),next:W(z())});var sl=G({token:z(),url:z()});G({endpoint:z().url(),keys:G({p256dh:z(),auth:z()}),permission:J([`granted`,`denied`,`default`,`unknown`]).default(`granted`)}),G({quietHours:G({start:z().regex(/^\d{2}:\d{2}$/),end:z().regex(/^\d{2}:\d{2}$/),timezone:z()}).nullable(),privatePreviews:H(),preferredDeviceId:z().nullable()}),K([G({type:Y(`show`),title:z(),body:z(),tag:z(),url:z(),renotify:H()}),G({type:Y(`clear`),tag:z()})]),G({initialized:H(),passkey:G({available:H(),registered:H(),reason:z().nullable()}),oidc:G({label:z()}).nullable()}),G({alreadyInitialized:H(),enrollment:rl}),G({challengeId:z(),options:U()}),G({challengeId:z(),name:z().min(1).max(80),response:U()}),G({challengeId:z(),options:U()}),G({challengeId:z(),response:U(),deviceName:z().min(1).max(80),kind:J([`browser`,`pwa`])}),G({deviceName:z().min(1).max(80),kind:J([`browser`,`pwa`]),next:z().default(`/`),handoff:H().default(!1)}),G({authorizeUrl:z(),flowId:z().nullable(),pollToken:z().nullable()}),G({flowId:z(),pollToken:z()}),K([G({status:Y(`pending`)}),G({status:Y(`done`),deviceId:z()})]),G({passkeys:W(nl),passkeyAvailability:G({available:H(),reason:z().nullable()}),oidc:G({issuer:z(),label:z(),ownerMatch:z(),status:J([`ready`,`error`]),error:z().nullable()}).nullable()}),G({device:Xc,admin:H(),publicUrl:z()});var cl={"host.updated":hc,"project.updated":_c,"project.deleted":G({id:z()}),"checkout.updated":vc,"workspace.updated":bc,"workspace.removed":G({id:z()}),"profile.updated":wc,"profile.deleted":G({id:z()}),"session.updated":Oc,"transcript.item":Qc,"interaction.updated":qc,"panel.updated":$c,"adapters.updated":G({hostId:z(),adapters:W(tl)}),diagnostic:el,"task.updated":Lc,"task.deleted":G({id:z()}),"run.updated":Bc,"automation.updated":Uc,"automation.deleted":G({id:z()}),"occurrence.created":Gc,"attention.updated":Yc,"device.updated":Xc,"settings.updated":G({dispatchPaused:H()})},ll=J(Object.keys(cl)),ul=G({hostId:z().optional(),sessionId:z().optional(),taskId:z().optional(),projectId:z().optional()}),dl=ul.extend({seq:V().int(),id:z(),type:ll,at:z(),data:U()}),fl=ul.extend({eventId:z(),type:J([`session.updated`,`transcript.item`,`interaction.updated`,`panel.updated`,`adapters.updated`,`diagnostic`,`workspace.updated`,`workspace.removed`]),at:z(),data:U()}),pl=G({sessionId:z(),itemId:z(),kind:J([`text`,`thinking`,`tool_args`,`tool_output`]),delta:z(),order:V().int().optional()}),ml=G({hosts:W(hc),projects:W(_c),checkouts:W(vc),workspaces:W(bc),profiles:W(wc),sessions:W(Oc),tasks:W(Lc),runs:W(Bc),automations:W(Uc),attention:W(Yc),interactions:W(qc),panels:W($c),devices:W(Xc),adapters:Es(z(),W(tl)),dispatchPaused:H()}),hl=G({foreground:H(),interactedAt:z().nullable(),viewing:G({sessionId:z()}).nullable()});q(`type`,[G({type:Y(`hello`),cursor:V().int().nullable()}),G({type:Y(`presence`),presence:hl}),G({type:Y(`ping`)})]),q(`type`,[G({type:Y(`replay`),seq:V().int(),events:W(dl)}),G({type:Y(`snapshot`),seq:V().int(),state:ml}),G({type:Y(`event`),event:dl}),G({type:Y(`stream`),delta:pl}),G({type:Y(`pong`)}),G({type:Y(`force_logout`),reason:z()})]);var gl=V().int().min(10).max(1e3),_l=V().int().min(5).max(500);q(`t`,[G({t:Y(`in`),d:z()}),G({t:Y(`resize`),cols:gl,rows:_l})]);var vl=q(`t`,[G({t:Y(`out`),d:z()}),G({t:Y(`closed`),reason:z()})]),yl=q(`t`,[G({t:Y(`open`),sessionId:z(),cols:gl,rows:_l}),G({t:Y(`in`),d:z()}),G({t:Y(`resize`),cols:gl,rows:_l}),G({t:Y(`close`)})]),bl=J([`human`,`automation`]),xl=q(`type`,[G({type:Y(`session.start`),sessionId:z(),title:z(),workspacePath:z(),projectId:z().nullable(),profile:wc,nativeHandle:Ec.nullable(),initialPrompt:z().nullable(),dispatchKey:z().nullable(),controlRevision:V().int(),controlMode:J([`automation`,`human`]),origin:bl,readOnly:H().default(!1)}),G({type:Y(`session.prompt`),sessionId:z(),text:z(),images:W(G({mimeType:z(),data:z()})).default([]),mode:J([`prompt`,`steer`,`followUp`]),origin:bl,controlRevision:V().int()}),G({type:Y(`session.abort`),sessionId:z(),clearQueue:H()}),G({type:Y(`session.stop`),sessionId:z()}),G({type:Y(`session.answer`),sessionId:z(),interactionId:z(),revision:V().int(),response:uc,deviceId:z()}),G({type:Y(`session.adapterAction`),sessionId:z(),adapterId:z(),actionId:z(),payload:U()}),G({type:Y(`session.setControl`),sessionId:z(),controlRevision:V().int(),mode:J([`automation`,`human`])}),G({type:Y(`session.rename`),sessionId:z(),title:z()}),G({type:Y(`session.importable`)}),G({type:Y(`session.readNative`),sessionFile:z()}),G({type:Y(`session.snapshot`),sessionId:z()}),G({type:Y(`checkout.inspect`),path:z()}),G({type:Y(`projects.scan`),folder:z().min(1)}),G({type:Y(`workspace.discover`),checkoutPath:z(),worktreeDir:z().default(`.worktrees`)}),G({type:Y(`workspace.create`),checkoutPath:z(),branch:z(),base:z(),setupCommand:z().nullable(),worktreeDir:z().default(`.worktrees`)}),G({type:Y(`workspace.status`),path:z(),base:z().nullable()}),G({type:Y(`workspace.remove`),path:z(),checkoutPath:z(),base:z().nullable(),force:G({dirty:H(),unmerged:H()})}),G({type:Y(`workspace.diff`),path:z(),base:z().nullable(),file:z().nullable()}),G({type:Y(`workspace.files`),path:z(),dir:z()}),G({type:Y(`workspace.readFile`),path:z(),file:z()}),G({type:Y(`dispatch.start`),dispatchKey:z(),runId:z(),taskId:z(),sessionId:z(),projectId:z(),title:z(),workspace:K([G({path:z()}),G({createFrom:G({checkoutPath:z(),branch:z(),base:z(),setupCommand:z().nullable(),worktreeDir:z().default(`.worktrees`)})})]),nativeHandle:Ec.nullable(),profile:wc,prompt:z(),controlRevision:V().int(),controlMode:J([`automation`,`human`]).default(`automation`)}),G({type:Y(`dispatch.reconcile`),dispatchKey:z()}),G({type:Y(`checks.run`),sessionId:z(),path:z(),commands:W(z())})]);G({sessionFile:z(),sessionId:z(),cwd:z(),name:z().nullable(),mtime:z(),inactive:H()}),G({path:z(),head:z().nullable(),branch:z().nullable(),bare:H(),detached:H(),locked:H(),prunable:H(),provenance:J([`managed`,`discovered`,`main`]),git:yc.nullable()});var Sl=G({root:z(),commonDir:z(),repoIdentity:z(),defaultBranch:z()}).extend({name:z()});G({folder:z(),repositories:W(Sl)});var Cl=G({path:z(),oldPath:z().nullable(),added:V().int(),deleted:V().int(),status:J([`added`,`modified`,`deleted`,`renamed`,`untracked`,`binary`])});G({base:z(),files:W(Cl),patch:z().nullable()}),G({name:z(),path:z(),kind:J([`file`,`dir`,`symlink`]),size:V().int().nullable()}),K([G({known:Y(!1)}),G({known:Y(!0),sessionId:z().nullable(),state:J([`accepted`,`workspace_ready`,`started`,`failed`]),runtime:Tc.nullable(),workspacePath:z().nullable(),nativeHandle:Ec.nullable(),error:z().nullable(),errorDetails:Es(z(),U()).nullable().default(null)})]),G({sessionId:z(),workspacePath:z(),nativeHandle:Ec.nullable(),reused:H()}),G({status:J([`answered`,`already_answered`]),interaction:qc}),G({partial:W(Qc),pendingInteractions:W(qc)}),G({results:W(zc)});var wl=K([G({commandId:z(),ok:Y(!0),result:U()}),G({commandId:z(),ok:Y(!1),error:ec})]);q(`type`,[G({type:Y(`hello`),hostId:z(),credential:z(),name:z(),agentVersion:z(),piVersion:z().nullable(),piCompatible:H(),platform:J([`darwin`,`linux`]),capabilities:pc.nullable(),protocolVersion:V().int()}),G({type:Y(`event`),hostSeq:V().int(),event:fl}),G({type:Y(`stream`),delta:pl}),G({type:Y(`receipt`),receipt:wl}),G({type:Y(`pong`)}),G({type:Y(`term`),streamId:z(),msg:vl})]),q(`type`,[G({type:Y(`welcome`),coordinatorVersion:z(),ackedHostSeq:V().int()}),G({type:Y(`ack`),hostSeq:V().int()}),G({type:Y(`command`),commandId:z(),command:xl}),G({type:Y(`ping`)}),G({type:Y(`reject`),error:ec}),G({type:Y(`term`),streamId:z(),msg:yl})]);var Tl=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,El=32,Dl=16,Ol=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 kl(e){let t=Math.floor(e()*El)%El;return Tl.charAt(t)}function Al(e,t,n){return t>e.length-1?e:e.substr(0,t)+n+e.substr(t+1)}function jl(e){let t,n=e.length,r,i,a=e;for(;!t&&n-->=0;){if(r=a[n],i=Tl.indexOf(r),i===-1)throw new $(Q.Base32IncorrectEncoding,`Incorrectly encoded string`);i===31?a=Al(a,n,Tl[0]):t=Al(a,n,Tl[i+1])}if(typeof t==`string`)return t;throw new $(Q.Base32IncorrectEncoding,`Failed incrementing string`)}function Ml(e){let t=Nl(),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 Nl(){return Il()?self:typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:null}function Pl(e,t){let n=``;for(;e>0;e--)n=kl(t)+n;return n}function Fl(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 ${Ol}: ${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%El,r=Tl.charAt(n)+r,e=(e-n)/El;return r}function Il(){return typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope}function Ll(e){let t=e||Ml(),n=0,r;return function(e){let i=!e||isNaN(e)?Date.now():e;if(i<=n){let e=r=jl(r);return Fl(n,10)+e}n=i;let a=r=Pl(Dl,t);return Fl(i,10)+a}}Ll();var Rl=`>=1.4.0 <1.6.0`;export{Uc as a,Fc as c,cc as d,il as i,xc as l,ol as n,fc as o,sl as r,Cc as s,Rl as t,gc as u};
56
- //# sourceMappingURL=dist-C-h8FC-n.js.map