@kubitnodes/stellaris 0.3.12 → 0.3.13

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 (38) hide show
  1. package/dist/cli/index.js +55 -3
  2. package/dist/server/index.js +171 -8
  3. package/package.json +1 -1
  4. package/web/dist/assets/{BackLink-BlJvN2RA.js → BackLink-d0xz7ZLb.js} +1 -1
  5. package/web/dist/assets/{ChannelForms-CmFxBXNK.js → ChannelForms-BIRwT9CY.js} +1 -1
  6. package/web/dist/assets/{ChannelView-4s--IwKC.js → ChannelView-BvMlzMiN.js} +1 -1
  7. package/web/dist/assets/{CitizenView-B5-LVVCG.js → CitizenView-DNQwjpIp.js} +1 -1
  8. package/web/dist/assets/{CitizensView-B8lVGSBD.js → CitizensView-Bv04iH-y.js} +1 -1
  9. package/web/dist/assets/{CliIcon-CT5ljQDC.js → CliIcon-tYTwI_RQ.js} +1 -1
  10. package/web/dist/assets/{KnowledgeView-DbI8DIZb.js → KnowledgeView-L0pdaM_2.js} +1 -1
  11. package/web/dist/assets/{Markdown-B5zEdYuO.js → Markdown-BLiIulgZ.js} +1 -1
  12. package/web/dist/assets/{MessageItem-DuxSZwn0.js → MessageItem-CHrmjF7P.js} +1 -1
  13. package/web/dist/assets/{MetricsView-D8D-y-sz.js → MetricsView-DG1alTgs.js} +1 -1
  14. package/web/dist/assets/{NeedsYouView-Buwq8-_l.js → NeedsYouView-Doc0fKPi.js} +1 -1
  15. package/web/dist/assets/{Overview-CrQ8ybpq.js → Overview-ChsOgIEW.js} +1 -1
  16. package/web/dist/assets/{Pane-CFoSKOo5.js → Pane-MJgGXQBb.js} +1 -1
  17. package/web/dist/assets/{ProjectView-BBQg-ZxC.js → ProjectView-CQTn7yDo.js} +1 -1
  18. package/web/dist/assets/{ProposalView-BjPHVxj4.js → ProposalView-C92OJ_w1.js} +1 -1
  19. package/web/dist/assets/{ProposalsView-DjyZpZe0.js → ProposalsView-CSA8neXR.js} +1 -1
  20. package/web/dist/assets/{RunnersView-2h5NWUuD.js → RunnersView-Dx21LDFu.js} +1 -1
  21. package/web/dist/assets/{SocietyView-BuaSb_3d.js → SocietyView-CdVW2DgG.js} +1 -1
  22. package/web/dist/assets/{SubjectThread-C1mHvHMI.js → SubjectThread-egXeFhT1.js} +1 -1
  23. package/web/dist/assets/{TaskFileView-CeEzbSCL.js → TaskFileView-BqqzxJKb.js} +1 -1
  24. package/web/dist/assets/{TaskView-yL9hCM7G.js → TaskView-rks26vuF.js} +2 -2
  25. package/web/dist/assets/{TasksView-DCVU5oZn.js → TasksView-Ba5fPAvy.js} +1 -1
  26. package/web/dist/assets/{ThreadCard-CXXf9qfA.js → ThreadCard-D6i69_15.js} +1 -1
  27. package/web/dist/assets/{ThreadForms-CTBaAJ57.js → ThreadForms-ChTFRu-P.js} +1 -1
  28. package/web/dist/assets/{ThreadView-zg8KqF3t.js → ThreadView-CnJPNS_8.js} +1 -1
  29. package/web/dist/assets/{citizen-CImM6WB6.js → citizen-D-dxX00V.js} +1 -1
  30. package/web/dist/assets/{compose-BG_-Tp87.js → compose-BgpUWGYE.js} +1 -1
  31. package/web/dist/assets/{format-BWr3zKWg.js → format-C3aawMM6.js} +1 -1
  32. package/web/dist/assets/{governance-cDTg2_iq.js → governance-Di4MijNG.js} +1 -1
  33. package/web/dist/assets/{index-Cxqhrg2v.js → index-krHkeIbX.js} +3 -3
  34. package/web/dist/assets/{link-CFdt17Sp.js → link-DAMxBItI.js} +1 -1
  35. package/web/dist/assets/{tasks-C10zwkED.js → tasks-bwj_EdwF.js} +1 -1
  36. package/web/dist/assets/{useMatch-BpnmzT6s.js → useMatch-B-8IcuU6.js} +1 -1
  37. package/web/dist/assets/{useStickyScroll-BjqdEt_f.js → useStickyScroll-BILPUgGj.js} +1 -1
  38. package/web/dist/index.html +8 -8
@@ -1,3 +1,3 @@
1
- import{I as e,M as t,N as n,O as r,_n as i,b as a,fn as o,g as s,mn as c,pn as l,t as u,y as d,z as f}from"./format-BWr3zKWg.js";import{l as p,s as m}from"./compose-BG_-Tp87.js";import{t as h}from"./link-CFdt17Sp.js";import{a as g,c as _,l as v,n as y,o as b,r as x,s as S,t as C}from"./tasks-C10zwkED.js";import{u as w}from"./governance-cDTg2_iq.js";import{T,_ as E,i as D,o as O,s as k}from"./index-Cxqhrg2v.js";import{n as A,r as j}from"./ThreadForms-CTBaAJ57.js";import{a as M,n as N,s as P,t as F,u as I}from"./Markdown-B5zEdYuO.js";import{n as L,t as R}from"./Pane-CFoSKOo5.js";import{t as z}from"./BackLink-BlJvN2RA.js";import{t as B}from"./SubjectThread-C1mHvHMI.js";var V=i(c(),1),H=l();function U({last:e,now:t}){return e===void 0?null:(0,H.jsxs)(`span`,{className:`ml-auto shrink-0 pl-2 text-meta`,children:[e.author,` `,u(e.at,t)]})}function W({taskId:e,nodes:t,nested:n,isOpen:r,toggle:i,now:a}){return(0,H.jsx)(`ul`,{className:n?`ml-[5px] border-l border-line-strong pl-2`:`mt-2`,children:t.map(t=>{if(t.kind===`dir`){let n=r(t);return(0,H.jsxs)(`li`,{children:[(0,H.jsxs)(`button`,{type:`button`,"aria-expanded":n,onClick:()=>i(t),className:`flex w-full items-baseline gap-2 rounded-md py-0.5 text-left text-sm hover:bg-surface-2/40`,children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,className:`inline-block w-2.5 shrink-0 text-[10px] text-fg-muted transition-transform ${n?`rotate-90`:``}`,children:`▸`}),(0,H.jsxs)(`span`,{className:`min-w-0 truncate text-fg-primary`,children:[t.name,`/`]}),(0,H.jsx)(`span`,{className:`shrink-0 text-meta`,children:t.files===1?`1 file`:`${t.files} files`}),(0,H.jsx)(U,{last:t.lastChange,now:a})]}),n?(0,H.jsx)(W,{taskId:e,nodes:t.children,nested:!0,isOpen:r,toggle:i,now:a}):null]},`dir:${t.path}`)}let{change:n}=t;return(0,H.jsxs)(`li`,{className:`flex items-baseline gap-2 py-0.5 text-sm`,children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,className:`w-2.5 shrink-0`}),n.status===`deleted`?(0,H.jsx)(`span`,{className:`min-w-0 truncate text-fg-tertiary line-through`,title:n.path,children:t.name}):(0,H.jsx)(N,{taskId:e,path:n.path,className:`min-w-0 truncate text-fg-secondary hover:text-fg-primary`,children:t.name}),(0,H.jsx)(`span`,{className:`shrink-0 text-meta`,children:M(n)}),(0,H.jsx)(U,{last:n.lastChange,now:a})]},n.path)})})}function G({taskId:e,changes:t,now:n}){let r=(0,V.useMemo)(()=>P(t),[t]),i=(0,V.useMemo)(()=>I(r),[r]),[a,o]=(0,V.useState)(new Map);return(0,H.jsx)(W,{taskId:e,nodes:r.children,nested:!1,isOpen:e=>a.get(e.path)??i.has(e.path),toggle:e=>{o(t=>new Map(t).set(e.path,!(t.get(e.path)??i.has(e.path))))},now:n})}function K({task:e,now:t}){let r=n(e.id),i=a(),o=`task/${e.id}`,s;if(r.data!==void 0){let{files:n,total:i,head:a}=r.data;s=n.length===0?(0,H.jsxs)(`p`,{className:`mt-2 text-meta`,children:[`Nothing changed on `,o,` yet. What a turn writes reaches the branch when the turn ends.`]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`p`,{className:`mt-2 text-meta`,children:[i===1?`1 file`:`${i} files`,` changed · newest commit by `,a.author,` `,u(a.at,t)]}),(0,H.jsx)(G,{taskId:e.id,changes:n,now:t}),i>n.length?(0,H.jsxs)(`p`,{className:`mt-2 text-meta`,children:[`The first `,n.length,` of `,i,`; browse the branch for the rest.`]}):null]})}else if(r.error instanceof f&&r.error.status===404)s=(0,H.jsxs)(`p`,{className:`mt-2 text-meta`,children:[`Nothing on `,o,` yet. What a turn writes reaches the branch when the turn ends.`]});else if(r.error instanceof f&&r.error.status===503){let t=i.data?.find(t=>t.slug===e.project);s=(0,H.jsxs)(`p`,{className:`mt-2 text-meta`,children:[t?.runner===void 0?`The runner`:`${t.runner}, the runner`,` `,t?.name??e.project,` lives on, is not connected, so the task's files cannot be listed now.`]})}else s=r.error===null?(0,H.jsx)(`p`,{className:`mt-2 text-meta`,children:`Reading the task's branch…`}):(0,H.jsx)(`p`,{className:`mt-2 text-meta`,children:r.error.message});return(0,H.jsxs)(`section`,{"aria-label":`Files`,className:`mt-5 border-t border-line pt-4`,children:[(0,H.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,H.jsx)(`h3`,{className:`text-section`,children:`Files`}),(0,H.jsx)(N,{taskId:e.id,path:``,className:`text-meta underline decoration-line underline-offset-2 hover:text-fg-primary`,children:`Browse the branch`})]}),s]})}function q({stage:e,index:t,task:n,members:r,now:i}){let a=e.completedBy!==void 0,o=b(n,e),s=t===n.stages.length-1,c=o&&n.status===`claimed`?n.claimedBy:void 0,l=e.holders.filter(t=>t!==c&&t!==e.completedBy),d=n.returned?.from===e.id?n.returned:void 0;return(0,H.jsxs)(`li`,{className:`relative flex gap-3 pb-4`,children:[s?null:(0,H.jsx)(`span`,{"aria-hidden":`true`,className:`absolute top-6 bottom-0 left-2.5 w-px bg-line`}),(0,H.jsx)(`span`,{"aria-hidden":`true`,className:`relative z-10 grid size-5 shrink-0 place-items-center rounded-full text-[10px] ${a?`bg-emerald-400/20 text-emerald-300`:o?`bg-fg-primary text-surface-0`:`bg-surface-2 text-fg-muted`}`,children:a?`✓`:t+1}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,H.jsxs)(`p`,{className:`text-sm ${o?`font-medium text-fg-primary`:`text-fg-secondary`}`,children:[e.name,e.gate?(0,H.jsx)(`span`,{className:`ml-2 rounded-md bg-sky-400/10 px-1.5 py-px text-[11px] text-sky-300`,children:`gate`}):null]}),(0,H.jsxs)(`p`,{className:`mt-0.5 text-meta`,children:[`for `,x(e),c===void 0?null:(0,H.jsxs)(H.Fragment,{children:[` · held by `,(0,H.jsx)(O,{name:c,members:r})]}),e.completedBy!==void 0&&e.completedAt!==void 0?` · done by ${e.completedBy} ${u(e.completedAt,i)}`:o&&n.status===`open`?` · waiting since ${u(n.stageSince,i)}`:``,l.length>0?` · held before by ${l.join(`, `)}`:``,d===void 0?``:` · sent back by ${d.by} ${u(d.at,i)}`]})]})]})}function J(e){return e.onDone===`ghpr`?e.pullRequest===void 0?`It lands through a pull request, and none is linked yet, so the board refuses to finish it.`:`Approving lands it: the board merges pull request #${e.pullRequest.number} on GitHub.`:e.onDone===`merge`?`Approving lands it: the board merges task/${e.id}.`:`Approving finishes the task.`}function Y({task:e,stage:t}){let{api:n}=r(),i=o(),[a,s]=(0,V.useState)(``),c=e.stages.findIndex(e=>e.id===t.id),l=e.stages[c+1],u=p({mutationFn:()=>n.advanceTask({task_id:e.id,...a.trim()===``?{}:{note:a.trim()}}),onSuccess:async()=>{s(``),await i.invalidateQueries({queryKey:[`task`,e.id]}),await i.invalidateQueries({queryKey:[`tasks`]})}});return(0,H.jsxs)(`form`,{"aria-label":`Approve ${t.name}`,className:`mt-1 mb-4 space-y-2 rounded-lg bg-surface-2/40 p-3`,onSubmit:e=>{e.preventDefault(),u.mutate()},children:[(0,H.jsxs)(`p`,{className:`text-sm text-fg-secondary`,children:[t.name,` waits on you.`,` `,l===void 0?J(e):`Approving moves the task on to ${l.name}.`]}),(0,H.jsx)(`textarea`,{value:a,rows:2,"aria-label":`Note for the task's thread`,placeholder:`A note for the thread, if any`,onChange:e=>s(e.target.value),className:A}),(0,H.jsx)(`div`,{className:`flex justify-end`,children:(0,H.jsx)(m,{variant:`primary`,type:`submit`,disabled:u.isPending,children:u.isPending?`Approving…`:`Approve`})}),(0,H.jsx)(j,{error:u.error})]})}function X({task:e,now:t}){let n=e.pullRequest;if(n===void 0)return null;let r=[n.subject??`The pull request's title`,n.body??``].filter(e=>e!==``).join(`
1
+ import{I as e,M as t,N as n,O as r,_n as i,b as a,fn as o,g as s,mn as c,pn as l,t as u,y as d,z as f}from"./format-C3aawMM6.js";import{l as p,s as m}from"./compose-BgpUWGYE.js";import{t as h}from"./link-DAMxBItI.js";import{a as g,c as _,l as v,n as y,o as b,r as x,s as S,t as C}from"./tasks-bwj_EdwF.js";import{u as w}from"./governance-Di4MijNG.js";import{T,_ as E,i as D,o as O,s as k}from"./index-krHkeIbX.js";import{n as A,r as j}from"./ThreadForms-ChTFRu-P.js";import{a as M,n as N,s as P,t as F,u as I}from"./Markdown-BLiIulgZ.js";import{n as L,t as R}from"./Pane-MJgGXQBb.js";import{t as z}from"./BackLink-d0xz7ZLb.js";import{t as B}from"./SubjectThread-egXeFhT1.js";var V=i(c(),1),H=l();function U({last:e,now:t}){return e===void 0?null:(0,H.jsxs)(`span`,{className:`ml-auto shrink-0 pl-2 text-meta`,children:[e.author,` `,u(e.at,t)]})}function W({taskId:e,nodes:t,nested:n,isOpen:r,toggle:i,now:a}){return(0,H.jsx)(`ul`,{className:n?`ml-[5px] border-l border-line-strong pl-2`:`mt-2`,children:t.map(t=>{if(t.kind===`dir`){let n=r(t);return(0,H.jsxs)(`li`,{children:[(0,H.jsxs)(`button`,{type:`button`,"aria-expanded":n,onClick:()=>i(t),className:`flex w-full items-baseline gap-2 rounded-md py-0.5 text-left text-sm hover:bg-surface-2/40`,children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,className:`inline-block w-2.5 shrink-0 text-[10px] text-fg-muted transition-transform ${n?`rotate-90`:``}`,children:`▸`}),(0,H.jsxs)(`span`,{className:`min-w-0 truncate text-fg-primary`,children:[t.name,`/`]}),(0,H.jsx)(`span`,{className:`shrink-0 text-meta`,children:t.files===1?`1 file`:`${t.files} files`}),(0,H.jsx)(U,{last:t.lastChange,now:a})]}),n?(0,H.jsx)(W,{taskId:e,nodes:t.children,nested:!0,isOpen:r,toggle:i,now:a}):null]},`dir:${t.path}`)}let{change:n}=t;return(0,H.jsxs)(`li`,{className:`flex items-baseline gap-2 py-0.5 text-sm`,children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,className:`w-2.5 shrink-0`}),n.status===`deleted`?(0,H.jsx)(`span`,{className:`min-w-0 truncate text-fg-tertiary line-through`,title:n.path,children:t.name}):(0,H.jsx)(N,{taskId:e,path:n.path,className:`min-w-0 truncate text-fg-secondary hover:text-fg-primary`,children:t.name}),(0,H.jsx)(`span`,{className:`shrink-0 text-meta`,children:M(n)}),(0,H.jsx)(U,{last:n.lastChange,now:a})]},n.path)})})}function G({taskId:e,changes:t,now:n}){let r=(0,V.useMemo)(()=>P(t),[t]),i=(0,V.useMemo)(()=>I(r),[r]),[a,o]=(0,V.useState)(new Map);return(0,H.jsx)(W,{taskId:e,nodes:r.children,nested:!1,isOpen:e=>a.get(e.path)??i.has(e.path),toggle:e=>{o(t=>new Map(t).set(e.path,!(t.get(e.path)??i.has(e.path))))},now:n})}function K({task:e,now:t}){let r=n(e.id),i=a(),o=`task/${e.id}`,s;if(r.data!==void 0){let{files:n,total:i,head:a}=r.data;s=n.length===0?(0,H.jsxs)(`p`,{className:`mt-2 text-meta`,children:[`Nothing changed on `,o,` yet. What a turn writes reaches the branch when the turn ends.`]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`p`,{className:`mt-2 text-meta`,children:[i===1?`1 file`:`${i} files`,` changed · newest commit by `,a.author,` `,u(a.at,t)]}),(0,H.jsx)(G,{taskId:e.id,changes:n,now:t}),i>n.length?(0,H.jsxs)(`p`,{className:`mt-2 text-meta`,children:[`The first `,n.length,` of `,i,`; browse the branch for the rest.`]}):null]})}else if(r.error instanceof f&&r.error.status===404)s=(0,H.jsxs)(`p`,{className:`mt-2 text-meta`,children:[`Nothing on `,o,` yet. What a turn writes reaches the branch when the turn ends.`]});else if(r.error instanceof f&&r.error.status===503){let t=i.data?.find(t=>t.slug===e.project);s=(0,H.jsxs)(`p`,{className:`mt-2 text-meta`,children:[t?.runner===void 0?`The runner`:`${t.runner}, the runner`,` `,t?.name??e.project,` lives on, is not connected, so the task's files cannot be listed now.`]})}else s=r.error===null?(0,H.jsx)(`p`,{className:`mt-2 text-meta`,children:`Reading the task's branch…`}):(0,H.jsx)(`p`,{className:`mt-2 text-meta`,children:r.error.message});return(0,H.jsxs)(`section`,{"aria-label":`Files`,className:`mt-5 border-t border-line pt-4`,children:[(0,H.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,H.jsx)(`h3`,{className:`text-section`,children:`Files`}),(0,H.jsx)(N,{taskId:e.id,path:``,className:`text-meta underline decoration-line underline-offset-2 hover:text-fg-primary`,children:`Browse the branch`})]}),s]})}function q({stage:e,index:t,task:n,members:r,now:i}){let a=e.completedBy!==void 0,o=b(n,e),s=t===n.stages.length-1,c=o&&n.status===`claimed`?n.claimedBy:void 0,l=e.holders.filter(t=>t!==c&&t!==e.completedBy),d=n.returned?.from===e.id?n.returned:void 0;return(0,H.jsxs)(`li`,{className:`relative flex gap-3 pb-4`,children:[s?null:(0,H.jsx)(`span`,{"aria-hidden":`true`,className:`absolute top-6 bottom-0 left-2.5 w-px bg-line`}),(0,H.jsx)(`span`,{"aria-hidden":`true`,className:`relative z-10 grid size-5 shrink-0 place-items-center rounded-full text-[10px] ${a?`bg-emerald-400/20 text-emerald-300`:o?`bg-fg-primary text-surface-0`:`bg-surface-2 text-fg-muted`}`,children:a?`✓`:t+1}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,H.jsxs)(`p`,{className:`text-sm ${o?`font-medium text-fg-primary`:`text-fg-secondary`}`,children:[e.name,e.gate?(0,H.jsx)(`span`,{className:`ml-2 rounded-md bg-sky-400/10 px-1.5 py-px text-[11px] text-sky-300`,children:`gate`}):null]}),(0,H.jsxs)(`p`,{className:`mt-0.5 text-meta`,children:[`for `,x(e),c===void 0?null:(0,H.jsxs)(H.Fragment,{children:[` · held by `,(0,H.jsx)(O,{name:c,members:r})]}),e.completedBy!==void 0&&e.completedAt!==void 0?` · done by ${e.completedBy} ${u(e.completedAt,i)}`:o&&n.status===`open`?` · waiting since ${u(n.stageSince,i)}`:``,l.length>0?` · held before by ${l.join(`, `)}`:``,d===void 0?``:` · sent back by ${d.by} ${u(d.at,i)}`]})]})]})}function J(e){return e.onDone===`ghpr`?e.pullRequest===void 0?`It lands through a pull request, and none is linked yet, so the board refuses to finish it.`:`Approving lands it: the board merges pull request #${e.pullRequest.number} on GitHub.`:e.onDone===`merge`?`Approving lands it: the board merges task/${e.id}.`:`Approving finishes the task.`}function Y({task:e,stage:t}){let{api:n}=r(),i=o(),[a,s]=(0,V.useState)(``),c=e.stages.findIndex(e=>e.id===t.id),l=e.stages[c+1],u=p({mutationFn:()=>n.advanceTask({task_id:e.id,...a.trim()===``?{}:{note:a.trim()}}),onSuccess:async()=>{s(``),await i.invalidateQueries({queryKey:[`task`,e.id]}),await i.invalidateQueries({queryKey:[`tasks`]})}});return(0,H.jsxs)(`form`,{"aria-label":`Approve ${t.name}`,className:`mt-1 mb-4 space-y-2 rounded-lg bg-surface-2/40 p-3`,onSubmit:e=>{e.preventDefault(),u.mutate()},children:[(0,H.jsxs)(`p`,{className:`text-sm text-fg-secondary`,children:[t.name,` waits on you.`,` `,l===void 0?J(e):`Approving moves the task on to ${l.name}.`]}),(0,H.jsx)(`textarea`,{value:a,rows:2,"aria-label":`Note for the task's thread`,placeholder:`A note for the thread, if any`,onChange:e=>s(e.target.value),className:A}),(0,H.jsx)(`div`,{className:`flex justify-end`,children:(0,H.jsx)(m,{variant:`primary`,type:`submit`,disabled:u.isPending,children:u.isPending?`Approving…`:`Approve`})}),(0,H.jsx)(j,{error:u.error})]})}function X({task:e,now:t}){let n=e.pullRequest;if(n===void 0)return null;let r=[n.subject??`The pull request's title`,n.body??``].filter(e=>e!==``).join(`
2
2
 
3
- `);return(0,H.jsxs)(`section`,{"aria-label":`Pull request`,className:`mt-5 border-t border-line pt-4`,children:[(0,H.jsx)(`h3`,{className:`text-section`,children:`Pull request`}),(0,H.jsxs)(`p`,{className:`mt-2 text-sm`,children:[(0,H.jsxs)(`a`,{href:n.url,target:`_blank`,rel:`noreferrer`,className:`text-fg-primary underline decoration-line underline-offset-2 hover:decoration-fg-tertiary`,children:[`#`,n.number,` on GitHub`]}),(0,H.jsxs)(`span`,{className:`text-meta`,children:[` `,`· linked by `,n.linkedBy,` `,u(n.linkedAt,t)]})]}),(0,H.jsx)(`p`,{className:`mt-3 text-caps text-fg-muted`,children:`Merges as`}),(0,H.jsx)(`pre`,{className:`mt-1 rounded-lg bg-surface-2/40 p-3 font-mono text-xs whitespace-pre-wrap text-fg-secondary`,children:r})]})}function Z({taskId:e}){let{api:t}=r(),n=o(),i=p({mutationFn:()=>t.openThread({task_id:e}),onSuccess:()=>{n.invalidateQueries({queryKey:[`threads`]})}});return(0,H.jsxs)(`div`,{className:`mt-2 flex items-center gap-3`,children:[(0,H.jsx)(m,{variant:`primary`,disabled:i.isPending,onClick:()=>i.mutate(),children:i.isPending?`Opening…`:`Open its thread`}),(0,H.jsx)(`p`,{className:`text-meta`,children:i.error===null?`This task is older than task threads. It closes when the task ends.`:i.error.message})]})}function Q(){let{taskId:n}=T({from:`/task/$taskId`}),r=t(n),i=e(),o=a(),c=s(),l=d(3e4),p=k();if(r.data===void 0)return(0,H.jsx)(L,{children:r.error instanceof f&&r.error.status===404?`There is no task ${n}.`:`Reading the task…`});let m=r.data,b=S(m),x=w(m),O=o.data?.find(e=>e.slug===m.project),A=i.data?.find(e=>e.id===m.id);return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(R,{leading:(0,H.jsx)(z,{fallback:(0,H.jsx)(h,{to:`/p/$slug/tasks`,params:{slug:m.project},"aria-label":`Back to the tasks of ${O?.name??m.project}`,className:`grid size-7 shrink-0 place-items-center rounded-lg text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`,children:`←`})}),title:m.title,subtitle:`${O?.name??m.project}${m.channel===`general`?``:` #${m.channel}`} · ${_(m)} · created by ${p(m.createdBy)} ${u(m.createdAt,l)}`,trailing:(0,H.jsx)(`span`,{className:`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium ${y[b]}`,children:C.find(e=>e.phase===b)?.label.toLowerCase()})}),(0,H.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-4 py-4`,children:[(0,H.jsx)(`h3`,{className:`text-section`,children:`Plan`}),m.returned===void 0?null:(0,H.jsxs)(`p`,{className:`mt-2 rounded-lg bg-orange-500/10 px-3 py-2 text-xs leading-relaxed text-orange-200`,children:[`Sent back from `,v(m,m.returned.from),` by `,m.returned.by,` `,u(m.returned.at,l),`. The work is redone from`,` `,v(m,m.stage),` until it reaches that stage again.`]}),(0,H.jsx)(`ol`,{className:`mt-3`,children:m.stages.map((e,t)=>(0,H.jsx)(q,{stage:e,index:t,task:m,members:c.data,now:l},e.id))}),x===null?null:(0,H.jsx)(Y,{task:m,stage:x}),(0,H.jsxs)(`p`,{className:`text-meta`,children:[`When the last stage is done:`,` `,m.onDone===`merge`?`task/${m.id} merges onto the default branch`:m.onDone===`ghpr`?m.pullRequest===void 0?`its pull request merges on GitHub, once one is linked`:`pull request #${m.pullRequest.number} merges on GitHub`:`nothing more`,m.blockedBy.length>0?(0,H.jsxs)(H.Fragment,{children:[` · blocked by `,(0,H.jsx)(E,{text:m.blockedBy.join(`, `)})]}):null]}),m.body.trim()===``?null:(0,H.jsxs)(`section`,{className:`mt-5 border-t border-line pt-4`,children:[(0,H.jsx)(`h3`,{className:`text-section`,children:`Brief`}),(0,H.jsx)(`div`,{className:`mt-2`,children:(0,H.jsx)(F,{text:m.body})})]}),(0,H.jsx)(X,{task:m,now:l}),(0,H.jsx)(K,{task:m,now:l}),(0,H.jsxs)(`section`,{"aria-label":`Thread`,className:`mt-5 border-t border-line pt-4`,children:[(0,H.jsx)(`h3`,{className:`text-section`,children:`Thread`}),i.data===void 0?null:A===void 0?g(m)?(0,H.jsx)(Z,{taskId:m.id}):(0,H.jsx)(`p`,{className:`mt-2 text-meta`,children:`No thread on this task.`}):(0,H.jsx)(B,{thread:A,now:l,task:m,empty:`Nothing said yet. Each stage's handover lands here, and so does anything written below.`})]})]}),A?.state===`open`?(0,H.jsx)(D,{target:{threadId:m.id},placeholder:`Write in the task's thread`}):null]})}export{Q as TaskView};
3
+ `);return(0,H.jsxs)(`section`,{"aria-label":`Pull request`,className:`mt-5 border-t border-line pt-4`,children:[(0,H.jsx)(`h3`,{className:`text-section`,children:`Pull request`}),(0,H.jsxs)(`p`,{className:`mt-2 text-sm`,children:[(0,H.jsxs)(`a`,{href:n.url,target:`_blank`,rel:`noreferrer`,className:`text-fg-primary underline decoration-line underline-offset-2 hover:decoration-fg-tertiary`,children:[`#`,n.number,` on GitHub`]}),(0,H.jsxs)(`span`,{className:`text-meta`,children:[` `,`· linked by `,n.linkedBy,` `,u(n.linkedAt,t)]})]}),e.status===`abandoned`&&e.onDone===`ghpr`?(0,H.jsxs)(`p`,{className:`mt-2 text-sm text-fg-secondary`,children:[n.closed===void 0?`The task was abandoned, so the board closes the pull request on GitHub.`:n.closed.ok?`The task was abandoned: ${n.closed.detail}.`:`The task was abandoned, and the board could not close the pull request: ${n.closed.detail}.`,n.closed===void 0?null:(0,H.jsxs)(`span`,{className:`text-meta`,children:[` · `,u(n.closed.at,t)]})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`p`,{className:`mt-3 text-caps text-fg-muted`,children:`Merges as`}),(0,H.jsx)(`pre`,{className:`mt-1 rounded-lg bg-surface-2/40 p-3 font-mono text-xs whitespace-pre-wrap text-fg-secondary`,children:r})]})]})}function Z({taskId:e}){let{api:t}=r(),n=o(),i=p({mutationFn:()=>t.openThread({task_id:e}),onSuccess:()=>{n.invalidateQueries({queryKey:[`threads`]})}});return(0,H.jsxs)(`div`,{className:`mt-2 flex items-center gap-3`,children:[(0,H.jsx)(m,{variant:`primary`,disabled:i.isPending,onClick:()=>i.mutate(),children:i.isPending?`Opening…`:`Open its thread`}),(0,H.jsx)(`p`,{className:`text-meta`,children:i.error===null?`This task is older than task threads. It closes when the task ends.`:i.error.message})]})}function Q(){let{taskId:n}=T({from:`/task/$taskId`}),r=t(n),i=e(),o=a(),c=s(),l=d(3e4),p=k();if(r.data===void 0)return(0,H.jsx)(L,{children:r.error instanceof f&&r.error.status===404?`There is no task ${n}.`:`Reading the task…`});let m=r.data,b=S(m),x=w(m),O=o.data?.find(e=>e.slug===m.project),A=i.data?.find(e=>e.id===m.id);return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(R,{leading:(0,H.jsx)(z,{fallback:(0,H.jsx)(h,{to:`/p/$slug/tasks`,params:{slug:m.project},"aria-label":`Back to the tasks of ${O?.name??m.project}`,className:`grid size-7 shrink-0 place-items-center rounded-lg text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`,children:`←`})}),title:m.title,subtitle:`${O?.name??m.project}${m.channel===`general`?``:` #${m.channel}`} · ${_(m)} · created by ${p(m.createdBy)} ${u(m.createdAt,l)}`,trailing:(0,H.jsx)(`span`,{className:`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium ${y[b]}`,children:C.find(e=>e.phase===b)?.label.toLowerCase()})}),(0,H.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-4 py-4`,children:[(0,H.jsx)(`h3`,{className:`text-section`,children:`Plan`}),m.returned===void 0?null:(0,H.jsxs)(`p`,{className:`mt-2 rounded-lg bg-orange-500/10 px-3 py-2 text-xs leading-relaxed text-orange-200`,children:[`Sent back from `,v(m,m.returned.from),` by `,m.returned.by,` `,u(m.returned.at,l),`. The work is redone from`,` `,v(m,m.stage),` until it reaches that stage again.`]}),(0,H.jsx)(`ol`,{className:`mt-3`,children:m.stages.map((e,t)=>(0,H.jsx)(q,{stage:e,index:t,task:m,members:c.data,now:l},e.id))}),x===null?null:(0,H.jsx)(Y,{task:m,stage:x}),(0,H.jsxs)(`p`,{className:`text-meta`,children:[`When the last stage is done:`,` `,m.onDone===`merge`?`task/${m.id} merges onto the default branch`:m.onDone===`ghpr`?m.pullRequest===void 0?`its pull request merges on GitHub, once one is linked`:`pull request #${m.pullRequest.number} merges on GitHub`:`nothing more`,m.blockedBy.length>0?(0,H.jsxs)(H.Fragment,{children:[` · blocked by `,(0,H.jsx)(E,{text:m.blockedBy.join(`, `)})]}):null]}),m.body.trim()===``?null:(0,H.jsxs)(`section`,{className:`mt-5 border-t border-line pt-4`,children:[(0,H.jsx)(`h3`,{className:`text-section`,children:`Brief`}),(0,H.jsx)(`div`,{className:`mt-2`,children:(0,H.jsx)(F,{text:m.body})})]}),(0,H.jsx)(X,{task:m,now:l}),(0,H.jsx)(K,{task:m,now:l}),(0,H.jsxs)(`section`,{"aria-label":`Thread`,className:`mt-5 border-t border-line pt-4`,children:[(0,H.jsx)(`h3`,{className:`text-section`,children:`Thread`}),i.data===void 0?null:A===void 0?g(m)?(0,H.jsx)(Z,{taskId:m.id}):(0,H.jsx)(`p`,{className:`mt-2 text-meta`,children:`No thread on this task.`}):(0,H.jsx)(B,{thread:A,now:l,task:m,empty:`Nothing said yet. Each stage's handover lands here, and so does anything written below.`})]})]}),A?.state===`open`?(0,H.jsx)(D,{target:{threadId:m.id},placeholder:`Write in the task's thread`}):null]})}export{Q as TaskView};
@@ -1 +1 @@
1
- import{F as e,_n as t,b as n,dt as r,g as i,mn as a,pn as o,t as s,y as c}from"./format-BWr3zKWg.js";import{t as l}from"./link-CFdt17Sp.js";import{c as u,i as d,l as f,o as p,r as m,s as h,t as g}from"./tasks-C10zwkED.js";import{T as _,o as v}from"./index-Cxqhrg2v.js";import{n as y,t as b}from"./Pane-CFoSKOo5.js";var x=t(a(),1),S=o();function C({task:e}){let t=h(e);return(0,S.jsx)(`ol`,{className:`flex gap-1`,"aria-hidden":`true`,children:e.stages.map((n,r)=>{let i=n.completedBy!==void 0,a=p(e,n),o=i?`bg-emerald-400/60`:a?e.status===`claimed`?`bg-fg-primary/90`:`bg-amber-300/80`:t===`abandoned`?`bg-surface-2/50`:`bg-surface-2`;return(0,S.jsx)(`li`,{title:`${r+1}. ${n.name} · ${m(n)}${n.gate?` · gate`:``}`,className:`h-1.5 min-w-3 flex-1 rounded-full ${o} ${n.gate?`ring-1 ring-sky-300/70 ring-offset-1 ring-offset-surface-1`:``}`},n.id)})})}var w=5;function T({task:e,members:t,now:n}){let i=h(e),a=r(e);return(0,S.jsx)(`li`,{children:(0,S.jsxs)(l,{to:`/task/$taskId`,params:{taskId:e.id},className:`block rounded-xl px-3 py-2.5 transition-colors hover:bg-surface-2/50`,children:[(0,S.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,S.jsx)(`span`,{className:`text-title min-w-0 flex-1 truncate`,children:e.title}),(0,S.jsx)(`span`,{className:`shrink-0 text-meta`,children:u(e)})]}),(0,S.jsx)(`div`,{className:`mt-2`,children:(0,S.jsx)(C,{task:e})}),e.returned===void 0?null:(0,S.jsxs)(`p`,{className:`mt-1.5 truncate text-xs text-orange-300/90`,children:[`Sent back from `,f(e,e.returned.from),` by `,e.returned.by,` `,s(e.returned.at,n)]}),(0,S.jsx)(`p`,{className:`mt-1.5 truncate text-meta`,children:e.status===`claimed`&&i!==`landing`&&a!==void 0?(0,S.jsxs)(S.Fragment,{children:[a.name,` · held by `,(0,S.jsx)(v,{name:e.claimedBy??``,members:t})]}):e.status===`open`&&i!==`landing`&&a!==void 0?`${a.name} · waiting for ${m(a)} since ${s(e.stageSince,n)}`:i===`landing`?`landing task/${e.id} on the default branch`:`${i} ${s(e.updatedAt,n)}`})]})})}function E(){let{slug:t}=_({from:`/p/$slug/tasks`}),r=e(t),a=n(),o=i(),s=c(3e4),[l,u]=(0,x.useState)(new Set),f=a.data?.find(e=>e.slug===t),p=d(r.data??[]),m=p.filter(e=>e.phase!==`done`&&e.phase!==`abandoned`).reduce((e,t)=>e+t.tasks.length,0);return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(b,{title:`Tasks`,subtitle:`${f?.name??t} · ${m} in play · ${r.data?.length??0} in all`}),(0,S.jsx)(`div`,{className:`flex-1 overflow-y-auto px-2 py-2`,children:r.data===void 0?(0,S.jsx)(y,{children:`Reading the tasks…`}):p.length===0?(0,S.jsx)(y,{children:`No tasks in this project yet.`}):p.map(e=>{let t=e.phase!==`done`&&e.phase!==`abandoned`||l.has(e.phase)?e.tasks:e.tasks.slice(0,w);return(0,S.jsxs)(`section`,{className:`mb-3`,children:[(0,S.jsxs)(`h3`,{className:`px-3 pt-2 pb-1 text-[11px] font-semibold tracking-wider text-fg-muted uppercase`,children:[g.find(t=>t.phase===e.phase)?.label,` · `,e.tasks.length]}),(0,S.jsx)(`ul`,{children:t.map(e=>(0,S.jsx)(T,{task:e,members:o.data,now:s},e.id))}),t.length<e.tasks.length?(0,S.jsxs)(`button`,{type:`button`,onClick:()=>u(new Set([...l,e.phase])),className:`px-3 pt-1 text-xs text-fg-tertiary hover:text-fg-primary`,children:[`Show all `,e.tasks.length]}):null]},e.phase)})})]})}export{E as TasksView};
1
+ import{F as e,_n as t,b as n,dt as r,g as i,mn as a,pn as o,t as s,y as c}from"./format-C3aawMM6.js";import{t as l}from"./link-DAMxBItI.js";import{c as u,i as d,l as f,o as p,r as m,s as h,t as g}from"./tasks-bwj_EdwF.js";import{T as _,o as v}from"./index-krHkeIbX.js";import{n as y,t as b}from"./Pane-MJgGXQBb.js";var x=t(a(),1),S=o();function C({task:e}){let t=h(e);return(0,S.jsx)(`ol`,{className:`flex gap-1`,"aria-hidden":`true`,children:e.stages.map((n,r)=>{let i=n.completedBy!==void 0,a=p(e,n),o=i?`bg-emerald-400/60`:a?e.status===`claimed`?`bg-fg-primary/90`:`bg-amber-300/80`:t===`abandoned`?`bg-surface-2/50`:`bg-surface-2`;return(0,S.jsx)(`li`,{title:`${r+1}. ${n.name} · ${m(n)}${n.gate?` · gate`:``}`,className:`h-1.5 min-w-3 flex-1 rounded-full ${o} ${n.gate?`ring-1 ring-sky-300/70 ring-offset-1 ring-offset-surface-1`:``}`},n.id)})})}var w=5;function T({task:e,members:t,now:n}){let i=h(e),a=r(e);return(0,S.jsx)(`li`,{children:(0,S.jsxs)(l,{to:`/task/$taskId`,params:{taskId:e.id},className:`block rounded-xl px-3 py-2.5 transition-colors hover:bg-surface-2/50`,children:[(0,S.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,S.jsx)(`span`,{className:`text-title min-w-0 flex-1 truncate`,children:e.title}),(0,S.jsx)(`span`,{className:`shrink-0 text-meta`,children:u(e)})]}),(0,S.jsx)(`div`,{className:`mt-2`,children:(0,S.jsx)(C,{task:e})}),e.returned===void 0?null:(0,S.jsxs)(`p`,{className:`mt-1.5 truncate text-xs text-orange-300/90`,children:[`Sent back from `,f(e,e.returned.from),` by `,e.returned.by,` `,s(e.returned.at,n)]}),(0,S.jsx)(`p`,{className:`mt-1.5 truncate text-meta`,children:e.status===`claimed`&&i!==`landing`&&a!==void 0?(0,S.jsxs)(S.Fragment,{children:[a.name,` · held by `,(0,S.jsx)(v,{name:e.claimedBy??``,members:t})]}):e.status===`open`&&i!==`landing`&&a!==void 0?`${a.name} · waiting for ${m(a)} since ${s(e.stageSince,n)}`:i===`landing`?`landing task/${e.id} on the default branch`:`${i} ${s(e.updatedAt,n)}`})]})})}function E(){let{slug:t}=_({from:`/p/$slug/tasks`}),r=e(t),a=n(),o=i(),s=c(3e4),[l,u]=(0,x.useState)(new Set),f=a.data?.find(e=>e.slug===t),p=d(r.data??[]),m=p.filter(e=>e.phase!==`done`&&e.phase!==`abandoned`).reduce((e,t)=>e+t.tasks.length,0);return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(b,{title:`Tasks`,subtitle:`${f?.name??t} · ${m} in play · ${r.data?.length??0} in all`}),(0,S.jsx)(`div`,{className:`flex-1 overflow-y-auto px-2 py-2`,children:r.data===void 0?(0,S.jsx)(y,{children:`Reading the tasks…`}):p.length===0?(0,S.jsx)(y,{children:`No tasks in this project yet.`}):p.map(e=>{let t=e.phase!==`done`&&e.phase!==`abandoned`||l.has(e.phase)?e.tasks:e.tasks.slice(0,w);return(0,S.jsxs)(`section`,{className:`mb-3`,children:[(0,S.jsxs)(`h3`,{className:`px-3 pt-2 pb-1 text-[11px] font-semibold tracking-wider text-fg-muted uppercase`,children:[g.find(t=>t.phase===e.phase)?.label,` · `,e.tasks.length]}),(0,S.jsx)(`ul`,{children:t.map(e=>(0,S.jsx)(T,{task:e,members:o.data,now:s},e.id))}),t.length<e.tasks.length?(0,S.jsxs)(`button`,{type:`button`,onClick:()=>u(new Set([...l,e.phase])),className:`px-3 pt-1 text-xs text-fg-tertiary hover:text-fg-primary`,children:[`Show all `,e.tasks.length]}):null]},e.phase)})})]})}export{E as TasksView};
@@ -1 +1 @@
1
- import{n as e,pn as t,t as n}from"./format-BWr3zKWg.js";import{t as r}from"./link-CFdt17Sp.js";import{_ as i}from"./index-Cxqhrg2v.js";var a=t();function o(e){return e?.kind??`topic`}function s({state:e}){return(0,a.jsx)(`span`,{className:`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium ${e===`open`?`bg-emerald-500/15 text-emerald-300`:`bg-surface-2 text-fg-tertiary`}`,children:e})}function c({thread:t,now:c}){let l=t.state===`closed`?e(t.body,180):``,u=t.messages===1?`1 message`:`${t.messages} messages`;return(0,a.jsxs)(r,{to:`/thread/$threadId`,params:{threadId:t.id},className:`mx-4 my-2 block rounded-xl bg-surface-2/40 px-3.5 py-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:bg-surface-2/70`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,a.jsx)(`span`,{"aria-hidden":`true`,className:`text-fg-muted`,children:`↳`}),(0,a.jsx)(`span`,{className:`text-title min-w-0 flex-1 truncate`,children:t.title}),(0,a.jsx)(s,{state:t.state})]}),(0,a.jsxs)(`p`,{className:`mt-1 text-meta`,children:[o(t.subject),` thread by `,t.openedBy,` · `,u,` · opened`,` `,n(t.openedAt,c)]}),l===``?null:(0,a.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-relaxed text-fg-secondary`,children:(0,a.jsx)(i,{text:l,links:!1})})]})}export{c as n,o as r,s as t};
1
+ import{n as e,pn as t,t as n}from"./format-C3aawMM6.js";import{t as r}from"./link-DAMxBItI.js";import{_ as i}from"./index-krHkeIbX.js";var a=t();function o(e){return e?.kind??`topic`}function s({state:e}){return(0,a.jsx)(`span`,{className:`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium ${e===`open`?`bg-emerald-500/15 text-emerald-300`:`bg-surface-2 text-fg-tertiary`}`,children:e})}function c({thread:t,now:c}){let l=t.state===`closed`?e(t.body,180):``,u=t.messages===1?`1 message`:`${t.messages} messages`;return(0,a.jsxs)(r,{to:`/thread/$threadId`,params:{threadId:t.id},className:`mx-4 my-2 block rounded-xl bg-surface-2/40 px-3.5 py-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:bg-surface-2/70`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,a.jsx)(`span`,{"aria-hidden":`true`,className:`text-fg-muted`,children:`↳`}),(0,a.jsx)(`span`,{className:`text-title min-w-0 flex-1 truncate`,children:t.title}),(0,a.jsx)(s,{state:t.state})]}),(0,a.jsxs)(`p`,{className:`mt-1 text-meta`,children:[o(t.subject),` thread by `,t.openedBy,` · `,u,` · opened`,` `,n(t.openedAt,c)]}),l===``?null:(0,a.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-relaxed text-fg-secondary`,children:(0,a.jsx)(i,{text:l,links:!1})})]})}export{c as n,o as r,s as t};
@@ -1 +1 @@
1
- import{O as e,_n as t,fn as n,g as r,mn as i,pn as a,w as o,z as s}from"./format-BWr3zKWg.js";import{c,l,n as u,o as d,s as f}from"./compose-BG_-Tp87.js";var p=t(i(),1),m=a(),h=`block w-full rounded-lg bg-surface-2/50 px-3 py-2 text-sm text-fg-primary outline-none shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] placeholder:text-fg-muted focus:shadow-[inset_0_0_0_1px_rgba(255,255,255,0.16)]`;function g({error:e}){return e===null?null:(0,m.jsx)(`p`,{role:`alert`,className:`text-xs text-red-400`,children:e instanceof s?e.message:`The board did not take it.`})}function _({channel:t,onDone:i}){let{api:a}=e(),s=n(),_=c(),v=r(),y=o(),[b,x]=(0,p.useState)(``),[S,C]=(0,p.useState)(``),w=(0,p.useRef)(null);(0,p.useEffect)(()=>w.current?.focus(),[]);let T=l({mutationFn:async()=>{let e=await a.openThread({channel:t,title:b.trim()});return S.trim()!==``&&await a.sendMessage({thread_id:e.id,body:S.trim()}),e},onSuccess:e=>{s.invalidateQueries({queryKey:[`threads`]}),i(),_({to:`/thread/$threadId`,params:{threadId:e.id}})}}),E=S.trim()===``?[]:d(S,v.data??[],y.data??[]);return(0,m.jsxs)(`form`,{className:`space-y-2 border-b border-line bg-surface-2/20 p-3`,onSubmit:e=>{e.preventDefault(),T.mutate()},children:[(0,m.jsx)(`input`,{ref:w,value:b,maxLength:200,placeholder:`What is the thread about?`,"aria-label":`Thread title`,onChange:e=>x(e.target.value),className:h}),(0,m.jsx)(`textarea`,{value:S,rows:3,placeholder:`First message, optional`,"aria-label":`First message`,onChange:e=>C(e.target.value),className:`${h} resize-none`}),(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,m.jsx)(`p`,{className:`min-w-0 flex-1 truncate text-[11px] text-fg-muted`,children:E.length>0?`The first message wakes ${u(E)}.`:`Only its participants and anyone mentioned will read it.`}),(0,m.jsx)(f,{onClick:i,children:`Cancel`}),(0,m.jsx)(f,{variant:`primary`,type:`submit`,disabled:b.trim()===``||T.isPending,children:T.isPending?`Opening…`:`Open thread`})]}),(0,m.jsx)(g,{error:T.error})]})}function v({threadId:t,channel:r,onDone:i}){let{api:a}=e(),o=n(),[s,c]=(0,p.useState)(``),u=(0,p.useRef)(null);(0,p.useEffect)(()=>u.current?.focus(),[]);let d=l({mutationFn:()=>a.closeThread({thread_id:t,summary:s.trim()}),onSuccess:()=>{for(let e of[[`thread`,t],[`threads`],[`channel`,r]])o.invalidateQueries({queryKey:e});i()}});return(0,m.jsxs)(`form`,{className:`space-y-2 border-b border-line bg-surface-2/20 p-3`,onSubmit:e=>{e.preventDefault(),d.mutate()},children:[(0,m.jsx)(`textarea`,{ref:u,value:s,rows:3,placeholder:`What did it settle? The summary is posted to #${r}.`,"aria-label":`Closing summary`,onChange:e=>c(e.target.value),className:`${h} resize-none`}),(0,m.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,m.jsx)(f,{onClick:i,children:`Cancel`}),(0,m.jsx)(f,{variant:`primary`,type:`submit`,disabled:s.trim()===``||d.isPending,children:d.isPending?`Closing…`:`Close thread`})]}),(0,m.jsx)(g,{error:d.error})]})}export{_ as i,h as n,g as r,v as t};
1
+ import{O as e,_n as t,fn as n,g as r,mn as i,pn as a,w as o,z as s}from"./format-C3aawMM6.js";import{c,l,n as u,o as d,s as f}from"./compose-BgpUWGYE.js";var p=t(i(),1),m=a(),h=`block w-full rounded-lg bg-surface-2/50 px-3 py-2 text-sm text-fg-primary outline-none shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] placeholder:text-fg-muted focus:shadow-[inset_0_0_0_1px_rgba(255,255,255,0.16)]`;function g({error:e}){return e===null?null:(0,m.jsx)(`p`,{role:`alert`,className:`text-xs text-red-400`,children:e instanceof s?e.message:`The board did not take it.`})}function _({channel:t,onDone:i}){let{api:a}=e(),s=n(),_=c(),v=r(),y=o(),[b,x]=(0,p.useState)(``),[S,C]=(0,p.useState)(``),w=(0,p.useRef)(null);(0,p.useEffect)(()=>w.current?.focus(),[]);let T=l({mutationFn:async()=>{let e=await a.openThread({channel:t,title:b.trim()});return S.trim()!==``&&await a.sendMessage({thread_id:e.id,body:S.trim()}),e},onSuccess:e=>{s.invalidateQueries({queryKey:[`threads`]}),i(),_({to:`/thread/$threadId`,params:{threadId:e.id}})}}),E=S.trim()===``?[]:d(S,v.data??[],y.data??[]);return(0,m.jsxs)(`form`,{className:`space-y-2 border-b border-line bg-surface-2/20 p-3`,onSubmit:e=>{e.preventDefault(),T.mutate()},children:[(0,m.jsx)(`input`,{ref:w,value:b,maxLength:200,placeholder:`What is the thread about?`,"aria-label":`Thread title`,onChange:e=>x(e.target.value),className:h}),(0,m.jsx)(`textarea`,{value:S,rows:3,placeholder:`First message, optional`,"aria-label":`First message`,onChange:e=>C(e.target.value),className:`${h} resize-none`}),(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,m.jsx)(`p`,{className:`min-w-0 flex-1 truncate text-[11px] text-fg-muted`,children:E.length>0?`The first message wakes ${u(E)}.`:`Only its participants and anyone mentioned will read it.`}),(0,m.jsx)(f,{onClick:i,children:`Cancel`}),(0,m.jsx)(f,{variant:`primary`,type:`submit`,disabled:b.trim()===``||T.isPending,children:T.isPending?`Opening…`:`Open thread`})]}),(0,m.jsx)(g,{error:T.error})]})}function v({threadId:t,channel:r,onDone:i}){let{api:a}=e(),o=n(),[s,c]=(0,p.useState)(``),u=(0,p.useRef)(null);(0,p.useEffect)(()=>u.current?.focus(),[]);let d=l({mutationFn:()=>a.closeThread({thread_id:t,summary:s.trim()}),onSuccess:()=>{for(let e of[[`thread`,t],[`threads`],[`channel`,r]])o.invalidateQueries({queryKey:e});i()}});return(0,m.jsxs)(`form`,{className:`space-y-2 border-b border-line bg-surface-2/20 p-3`,onSubmit:e=>{e.preventDefault(),d.mutate()},children:[(0,m.jsx)(`textarea`,{ref:u,value:s,rows:3,placeholder:`What did it settle? The summary is posted to #${r}.`,"aria-label":`Closing summary`,onChange:e=>c(e.target.value),className:`${h} resize-none`}),(0,m.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,m.jsx)(f,{onClick:i,children:`Cancel`}),(0,m.jsx)(f,{variant:`primary`,type:`submit`,disabled:s.trim()===``||d.isPending,children:d.isPending?`Closing…`:`Close thread`})]}),(0,m.jsx)(g,{error:d.error})]})}export{_ as i,h as n,g as r,v as t};
@@ -1 +1 @@
1
- import{Kt as e,M as t,O as n,_n as r,g as i,mn as a,pn as o,t as s,y as c,z as l}from"./format-BWr3zKWg.js";import{s as u}from"./compose-BG_-Tp87.js";import{t as d}from"./link-CFdt17Sp.js";import{S as f,T as p,i as m,s as h}from"./index-Cxqhrg2v.js";import{t as g}from"./ThreadForms-CTBaAJ57.js";import{t as _}from"./Markdown-B5zEdYuO.js";import{t as v}from"./MessageItem-DuxSZwn0.js";import{n as y,t as b}from"./Pane-CFoSKOo5.js";import{r as x,t as S}from"./ThreadCard-CXXf9qfA.js";import{t as C}from"./useStickyScroll-BjqdEt_f.js";import{t as w}from"./BackLink-BlJvN2RA.js";var T=r(a(),1),E=o();function D(){let{threadId:e}=p({from:`/thread/$threadId`});return(0,E.jsx)(O,{id:e},e)}function O({id:r}){let{api:a}=n(),o=e({queryKey:[`thread`,r],queryFn:()=>a.thread(r)}),p=i(),D=c(3e4),O=h(),k=o.data?.messages??[],A=k.at(-1)?.id??null;(0,T.useEffect)(()=>f(r,A),[r,A]);let{ref:j,onScroll:M}=C(),[N,P]=(0,T.useState)(!1),F=o.data?.thread.subject,I=t(F?.kind===`task`?F.id:null);if(o.data===void 0)return(0,E.jsx)(y,{children:o.error instanceof l&&o.error.status===404?`There is no thread ${r}.`:`Reading the thread…`});let{thread:L}=o.data;return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(b,{leading:(0,E.jsx)(w,{fallback:(0,E.jsx)(d,{to:`/c/$`,params:{_splat:L.channel},"aria-label":`Back to #${L.channel}`,className:`grid size-7 shrink-0 place-items-center rounded-lg text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`,children:`←`})}),title:L.title,subtitle:`${x(L.subject)} thread in #${L.channel} · opened by ${O(L.openedBy)} ${s(L.openedAt,D)}`,trailing:(0,E.jsxs)(E.Fragment,{children:[L.subject?.kind===`task`?(0,E.jsx)(d,{to:`/task/$taskId`,params:{taskId:L.subject.id},className:`shrink-0 rounded-md px-2 py-1 text-xs text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`,children:`Task →`}):L.subject?.kind===`proposal`?(0,E.jsx)(d,{to:`/proposal/$proposalId`,params:{proposalId:L.subject.id},className:`shrink-0 rounded-md px-2 py-1 text-xs text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`,children:`Proposal →`}):null,L.state===`open`&&!N&&L.subject?.kind!==`task`?(0,E.jsx)(u,{onClick:()=>P(!0),children:`Close`}):(0,E.jsx)(S,{state:L.state})]})}),N&&L.state===`open`?(0,E.jsx)(g,{threadId:L.id,channel:L.channel,onDone:()=>P(!1)}):null,(0,E.jsxs)(`div`,{ref:j,onScroll:M,className:`flex-1 overflow-y-auto py-2`,children:[k.length===0?(0,E.jsx)(y,{children:`No messages in this thread yet.`}):null,k.map(e=>(0,E.jsx)(v,{message:e,members:p.data,now:D,task:I.data},e.id)),L.state===`closed`?(0,E.jsxs)(`section`,{className:`mx-4 mt-3 mb-2 rounded-xl bg-surface-2/40 px-3.5 py-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)]`,children:[(0,E.jsxs)(`p`,{className:`text-caps`,children:[`Closed by `,O(L.closedBy??`board`),L.closedAt===void 0?``:` ${s(L.closedAt,D)}`]}),L.body.trim()===``?(0,E.jsxs)(`p`,{className:`mt-1 text-meta`,children:[`It ended with its `,x(L.subject),`.`]}):(0,E.jsx)(_,{text:L.body})]}):null]}),L.state===`open`?(0,E.jsx)(m,{target:{threadId:L.id},placeholder:`Reply in the thread`}):null]})}export{D as ThreadView};
1
+ import{Kt as e,M as t,O as n,_n as r,g as i,mn as a,pn as o,t as s,y as c,z as l}from"./format-C3aawMM6.js";import{s as u}from"./compose-BgpUWGYE.js";import{t as d}from"./link-DAMxBItI.js";import{S as f,T as p,i as m,s as h}from"./index-krHkeIbX.js";import{t as g}from"./ThreadForms-ChTFRu-P.js";import{t as _}from"./Markdown-BLiIulgZ.js";import{t as v}from"./MessageItem-CHrmjF7P.js";import{n as y,t as b}from"./Pane-MJgGXQBb.js";import{r as x,t as S}from"./ThreadCard-D6i69_15.js";import{t as C}from"./useStickyScroll-BILPUgGj.js";import{t as w}from"./BackLink-d0xz7ZLb.js";var T=r(a(),1),E=o();function D(){let{threadId:e}=p({from:`/thread/$threadId`});return(0,E.jsx)(O,{id:e},e)}function O({id:r}){let{api:a}=n(),o=e({queryKey:[`thread`,r],queryFn:()=>a.thread(r)}),p=i(),D=c(3e4),O=h(),k=o.data?.messages??[],A=k.at(-1)?.id??null;(0,T.useEffect)(()=>f(r,A),[r,A]);let{ref:j,onScroll:M}=C(),[N,P]=(0,T.useState)(!1),F=o.data?.thread.subject,I=t(F?.kind===`task`?F.id:null);if(o.data===void 0)return(0,E.jsx)(y,{children:o.error instanceof l&&o.error.status===404?`There is no thread ${r}.`:`Reading the thread…`});let{thread:L}=o.data;return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(b,{leading:(0,E.jsx)(w,{fallback:(0,E.jsx)(d,{to:`/c/$`,params:{_splat:L.channel},"aria-label":`Back to #${L.channel}`,className:`grid size-7 shrink-0 place-items-center rounded-lg text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`,children:`←`})}),title:L.title,subtitle:`${x(L.subject)} thread in #${L.channel} · opened by ${O(L.openedBy)} ${s(L.openedAt,D)}`,trailing:(0,E.jsxs)(E.Fragment,{children:[L.subject?.kind===`task`?(0,E.jsx)(d,{to:`/task/$taskId`,params:{taskId:L.subject.id},className:`shrink-0 rounded-md px-2 py-1 text-xs text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`,children:`Task →`}):L.subject?.kind===`proposal`?(0,E.jsx)(d,{to:`/proposal/$proposalId`,params:{proposalId:L.subject.id},className:`shrink-0 rounded-md px-2 py-1 text-xs text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`,children:`Proposal →`}):null,L.state===`open`&&!N&&L.subject?.kind!==`task`?(0,E.jsx)(u,{onClick:()=>P(!0),children:`Close`}):(0,E.jsx)(S,{state:L.state})]})}),N&&L.state===`open`?(0,E.jsx)(g,{threadId:L.id,channel:L.channel,onDone:()=>P(!1)}):null,(0,E.jsxs)(`div`,{ref:j,onScroll:M,className:`flex-1 overflow-y-auto py-2`,children:[k.length===0?(0,E.jsx)(y,{children:`No messages in this thread yet.`}):null,k.map(e=>(0,E.jsx)(v,{message:e,members:p.data,now:D,task:I.data},e.id)),L.state===`closed`?(0,E.jsxs)(`section`,{className:`mx-4 mt-3 mb-2 rounded-xl bg-surface-2/40 px-3.5 py-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)]`,children:[(0,E.jsxs)(`p`,{className:`text-caps`,children:[`Closed by `,O(L.closedBy??`board`),L.closedAt===void 0?``:` ${s(L.closedAt,D)}`]}),L.body.trim()===``?(0,E.jsxs)(`p`,{className:`mt-1 text-meta`,children:[`It ended with its `,x(L.subject),`.`]}):(0,E.jsx)(_,{text:L.body})]}):null]}),L.state===`open`?(0,E.jsx)(m,{target:{threadId:L.id},placeholder:`Reply in the thread`}):null]})}export{D as ThreadView};
@@ -1 +1 @@
1
- import{lt as e,tt as t}from"./format-BWr3zKWg.js";import{l as n}from"./index-Cxqhrg2v.js";function r(e){return e===`society`?`the society`:e}function i(t){return[...t.memberships,e]}function a(e){return e.startedAt===void 0?null:n(e.startedAt,Date.parse(e.ts))}var o={completed:`completed`,timeout:`timed out`,error:`failed`,interrupted:`interrupted`,blocked:`blocked`,stopped:`stopped by you`};function s(e){return e.exitReason===null?e.outcome===`failed`?`failed`:`completed`:o[e.exitReason]??e.exitReason}function c(e){return e.outcome===`failed`||e.exitReason!==null&&e.exitReason!==`completed`&&e.exitReason!==`stopped`}var l=new Intl.NumberFormat(`en`,{notation:`compact`}),u=new Intl.NumberFormat(`en`);function d(e){return e.inputTokens+e.cacheReadTokens+e.cacheWriteTokens}function f(e){return`${l.format(d(e))} in · ${l.format(e.outputTokens)} out`}function p(e){return[`${u.format(d(e))} input tokens: ${u.format(e.cacheReadTokens)} read from the cache,`,`${u.format(e.cacheWriteTokens)} written to it, ${u.format(e.inputTokens)} neither;`,`${u.format(e.outputTokens)} output tokens`].join(` `)}function m(e){let n=e.flatMap(e=>e.usage===void 0?[]:[e.usage]);return{turns:e.length,failed:e.filter(c).length,usage:n.length===0?null:n.reduce(t),withUsage:n.length}}function h(e,t){let n=/^\s*#{1,6}\s+(.+?)\s*(?:\n|$)/.exec(e);return n?.[1]?.toLowerCase()===t.toLowerCase()?e.slice(n[0].length).trim():e}function g(e,t){let n=[...e.homeRunner===void 0?[]:[{what:`outside projects`,runner:e.homeRunner}],...e.memberships.map(e=>({what:e,runner:t.get(e)}))],r=[...new Set(n.flatMap(e=>e.runner===void 0?[]:[e.runner]))],i=n.map(e=>`${e.what}: ${e.runner??`placed on its first turn`}`).join(`; `);return{label:r.length===0?`no runner yet`:`on ${r.join(`, `)}`,detail:i===``?`pinned to a runner on its first turn`:i}}export{p as a,i as c,r as i,h as l,m as n,f as o,g as r,a as s,s as t};
1
+ import{lt as e,tt as t}from"./format-C3aawMM6.js";import{l as n}from"./index-krHkeIbX.js";function r(e){return e===`society`?`the society`:e}function i(t){return[...t.memberships,e]}function a(e){return e.startedAt===void 0?null:n(e.startedAt,Date.parse(e.ts))}var o={completed:`completed`,timeout:`timed out`,error:`failed`,interrupted:`interrupted`,blocked:`blocked`,stopped:`stopped by you`};function s(e){return e.exitReason===null?e.outcome===`failed`?`failed`:`completed`:o[e.exitReason]??e.exitReason}function c(e){return e.outcome===`failed`||e.exitReason!==null&&e.exitReason!==`completed`&&e.exitReason!==`stopped`}var l=new Intl.NumberFormat(`en`,{notation:`compact`}),u=new Intl.NumberFormat(`en`);function d(e){return e.inputTokens+e.cacheReadTokens+e.cacheWriteTokens}function f(e){return`${l.format(d(e))} in · ${l.format(e.outputTokens)} out`}function p(e){return[`${u.format(d(e))} input tokens: ${u.format(e.cacheReadTokens)} read from the cache,`,`${u.format(e.cacheWriteTokens)} written to it, ${u.format(e.inputTokens)} neither;`,`${u.format(e.outputTokens)} output tokens`].join(` `)}function m(e){let n=e.flatMap(e=>e.usage===void 0?[]:[e.usage]);return{turns:e.length,failed:e.filter(c).length,usage:n.length===0?null:n.reduce(t),withUsage:n.length}}function h(e,t){let n=/^\s*#{1,6}\s+(.+?)\s*(?:\n|$)/.exec(e);return n?.[1]?.toLowerCase()===t.toLowerCase()?e.slice(n[0].length).trim():e}function g(e,t){let n=[...e.homeRunner===void 0?[]:[{what:`outside projects`,runner:e.homeRunner}],...e.memberships.map(e=>({what:e,runner:t.get(e)}))],r=[...new Set(n.flatMap(e=>e.runner===void 0?[]:[e.runner]))],i=n.map(e=>`${e.what}: ${e.runner??`placed on its first turn`}`).join(`; `);return{label:r.length===0?`no runner yet`:`on ${r.join(`, `)}`,detail:i===``?`pinned to a runner on its first turn`:i}}export{p as a,i as c,r as i,h as l,m as n,f as o,g as r,a as s,s as t};
@@ -1 +1 @@
1
- import{$t as e,J as t,Jt as n,Ot as r,Yt as i,Zt as a,_n as o,an as s,cn as c,fn as l,gt as u,ln as d,mn as f,pn as p,tn as m,xt as h}from"./format-BWr3zKWg.js";import{t as g}from"./mentions-BCdV0bMK.js";var _=class extends n{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||v(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??(this.state.status===`pending`?this.execute(this.state.variables):Promise.resolve())}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#r=i({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),a=this.state.status===`pending`,o=!r.canStart();try{if(a)t();else{this.#i({type:`pending`,variables:e,isPaused:o}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:o})}let i=await r.start();return await this.#n.config.onSuccess?.(i,e,this.state.context,this,n),await this.options.onSuccess?.(i,e,this.state.context,n),await this.#n.config.onSettled?.(i,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(i,null,e,this.state.context,n),this.#i({type:`success`,data:i}),i}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#r===r&&(this.#r=void 0),this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),a.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function v(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var y=class extends e{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),c(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&m(t.mutationKey)!==m(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#i())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??v();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){a.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},b=o(f(),1);function x(e,t){let n=l(t),[r]=b.useState(()=>new y(n,e));b.useEffect(()=>{r.setOptions(e)},[r,e]);let i=b.useSyncExternalStore(b.useCallback(e=>r.subscribe(a.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),o=b.useCallback((...e)=>{r.mutate(e[0],e[1]).catch(s)},[r]);if(i.error&&d(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:o,mutateAsync:i.mutate}}function S(e){let t=r();return b.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}var C=p(),w={primary:`bg-fg-primary font-medium text-surface-0 hover:bg-white`,ghost:`text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`};function T({variant:e=`ghost`,className:t=``,...n}){return(0,C.jsx)(`button`,{type:`button`,...n,className:`inline-flex h-7 shrink-0 items-center rounded-md px-3 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-40 ${w[e]} ${t}`})}function E(e,t){let n=/(^|[^\w@])@([a-z0-9-]*)$/.exec(e.slice(0,t))?.[2];return n===void 0?null:{start:t-n.length-1,prefix:n}}function D(e,t,n,r){let i=`@${r} `;return{text:e.slice(0,n)+i+e.slice(t),caret:n+i.length}}function O(e,t,n){let r=t.filter(e=>e.status===`active`&&e.cli!==null),i=r.filter(e=>n.find(t=>t.name===e.role)?.wakeTriggers.includes(`user_post`)).map(e=>e.name),a=g(e).filter(e=>r.some(t=>t.name===e));return[...new Set([...i,...a])]}function k(e,n,r,i){return e.filter(e=>r.some(r=>{if(r.agent!==e||!r.steerable)return!1;if(`thread`in i)return r.thread===i.thread;let a=n.find(t=>t.name===e);if(a===void 0||r.thread!==void 0)return!1;let o=u(a,h(i.channel).project);return r.scope===o&&r.channel===t(o,i.channel)}))}function A(e,t){let n=e.length===0?null:`reaches ${M(e)} in the turn under way`,r=t.length===0?null:`wakes ${M(t)}: a turn each`;return n===null&&r===null?null:`Sending ${[n,r].filter(e=>e!==null).join(` and `)}.`}var j=new Intl.ListFormat(`en`,{type:`conjunction`});function M(e){return j.format(e)}export{A as a,S as c,k as i,x as l,M as n,O as o,E as r,T as s,D as t,_ as u};
1
+ import{$t as e,J as t,Jt as n,Ot as r,Yt as i,Zt as a,_n as o,an as s,cn as c,fn as l,gt as u,ln as d,mn as f,pn as p,tn as m,xt as h}from"./format-C3aawMM6.js";import{t as g}from"./mentions-BCdV0bMK.js";var _=class extends n{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||v(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??(this.state.status===`pending`?this.execute(this.state.variables):Promise.resolve())}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#r=i({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),a=this.state.status===`pending`,o=!r.canStart();try{if(a)t();else{this.#i({type:`pending`,variables:e,isPaused:o}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:o})}let i=await r.start();return await this.#n.config.onSuccess?.(i,e,this.state.context,this,n),await this.options.onSuccess?.(i,e,this.state.context,n),await this.#n.config.onSettled?.(i,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(i,null,e,this.state.context,n),this.#i({type:`success`,data:i}),i}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#r===r&&(this.#r=void 0),this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),a.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function v(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var y=class extends e{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),c(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&m(t.mutationKey)!==m(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#i())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??v();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){a.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},b=o(f(),1);function x(e,t){let n=l(t),[r]=b.useState(()=>new y(n,e));b.useEffect(()=>{r.setOptions(e)},[r,e]);let i=b.useSyncExternalStore(b.useCallback(e=>r.subscribe(a.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),o=b.useCallback((...e)=>{r.mutate(e[0],e[1]).catch(s)},[r]);if(i.error&&d(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:o,mutateAsync:i.mutate}}function S(e){let t=r();return b.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}var C=p(),w={primary:`bg-fg-primary font-medium text-surface-0 hover:bg-white`,ghost:`text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`};function T({variant:e=`ghost`,className:t=``,...n}){return(0,C.jsx)(`button`,{type:`button`,...n,className:`inline-flex h-7 shrink-0 items-center rounded-md px-3 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-40 ${w[e]} ${t}`})}function E(e,t){let n=/(^|[^\w@])@([a-z0-9-]*)$/.exec(e.slice(0,t))?.[2];return n===void 0?null:{start:t-n.length-1,prefix:n}}function D(e,t,n,r){let i=`@${r} `;return{text:e.slice(0,n)+i+e.slice(t),caret:n+i.length}}function O(e,t,n){let r=t.filter(e=>e.status===`active`&&e.cli!==null),i=r.filter(e=>n.find(t=>t.name===e.role)?.wakeTriggers.includes(`user_post`)).map(e=>e.name),a=g(e).filter(e=>r.some(t=>t.name===e));return[...new Set([...i,...a])]}function k(e,n,r,i){return e.filter(e=>r.some(r=>{if(r.agent!==e||!r.steerable)return!1;if(`thread`in i)return r.thread===i.thread;let a=n.find(t=>t.name===e);if(a===void 0||r.thread!==void 0)return!1;let o=u(a,h(i.channel).project);return r.scope===o&&r.channel===t(o,i.channel)}))}function A(e,t){let n=e.length===0?null:`reaches ${M(e)} in the turn under way`,r=t.length===0?null:`wakes ${M(t)}: a turn each`;return n===null&&r===null?null:`Sending ${[n,r].filter(e=>e!==null).join(` and `)}.`}var j=new Intl.ListFormat(`en`,{type:`conjunction`});function M(e){return j.format(e)}export{A as a,S as c,k as i,x as l,M as n,O as o,E as r,T as s,D as t,_ as u};
@@ -52,4 +52,4 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
52
52
 
53
53
  `)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},o,s=sn,c=!E.jitless,l=c&&cn.value,u=t.catchall,d;e._zod.parse=(i,f)=>{d??=r.value;let p=i.value;return s(p)?c&&l&&f?.async===!1&&f.jitless!==!0?(o||=a(t.shape),i=o(i,f),u?Da([],p,i,f,d,e,f?.abortEarly===!0):i):n(i,f):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function Aa(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=>!Dn(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=>Mn(e,r,D())))}),t)}var ja=T(`$ZodUnion`,(e,t)=>{k.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=>Jt(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=>Aa(t,r,e,i)):Aa(o,r,e,i)}});function Ma(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 Na=T(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,ja.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)||Xt(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=Zt(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=Kt(()=>Ma(t));e._zod.parse=(i,a)=>{let o=i.value;if(!sn(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)}}),Pa=T(`$ZodIntersection`,(e,t)=>{k.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Ia(e,t,n)):Ia(e,i,a)}});function Fa(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ln(e)&&ln(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=Fa(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=Fa(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 Ia(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=Fa(t.value,n.value);if(!c.valid){if(Dn(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var La=T(`$ZodRecord`,(e,t)=>{k.init(e,t);let n=E.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!ln(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=>Mn(e,i,D())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...kn(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...kn(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`&&oi.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=>Mn(e,i,D())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...kn(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...kn(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}}),Ra=T(`$ZodEnum`,(e,t)=>{k.init(e,t);let n=Ht(t.entries),r=new Set(n);e._zod.values=r,w(e,`pattern`,e=>{let t=Ht(e.def.entries).filter(e=>dn.has(typeof e));return RegExp(t.length?`^(${t.map(e=>fn(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),za=T(`$ZodLiteral`,(e,t)=>{k.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`?fn(e):e?fn(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}}),Ba=T(`$ZodTransform`,(e,t)=>{k.init(e,t),e._zod.optin=`optional`,E.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new tr(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 er;return n.value=i,n}});function Va(e,t){return e.value=t.issues.length?void 0:t.value,e}var Ha=T(`$ZodOptional`,(e,t)=>{k.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(`^(${Jt(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=>Va(e,t)):Va(e,r)}return t.innerType._zod.run(e,n)}}),Ua=T(`$ZodExactOptional`,(e,t)=>{Ha.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)}),Wa=T(`$ZodNullable`,(e,t)=>{k.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(`^(${Jt(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)}),Ga=T(`$ZodDefault`,(e,t)=>{k.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=>Ka(e,t)):Ka(r,t)}});function Ka(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var qa=T(`$ZodPrefault`,(e,t)=>{k.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))}),Ja=T(`$ZodNonOptional`,(e,t)=>{k.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=>Ya(t,e)):Ya(i,e)}});function Ya(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 Xa(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>Mn(e,r,D()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var Za=T(`$ZodCatch`,(e,t)=>{k.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=>Xa(e,r,t,n)):Xa(e,r,t,n)}}),Qa=T(`$ZodPipe`,(e,t)=>{k.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=>$a(e,t.in,n)):$a(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>$a(e,t.out,n)):$a(r,t.out,n)}});function $a(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 eo=T(`$ZodPreprocess`,(e,t)=>{Qa.init(e,t)}),to=T(`$ZodReadonly`,(e,t)=>{k.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(no):no(r)}});function no(e){return e.memo||(e.value=Object.freeze(e.value)),e}var ro=T(`$ZodCustom`,(e,t)=>{O.init(e,t),k.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>io(t,n,r,e));io(i,n,r,e)}});function io(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(Ln(e))}}var ao=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},oo=`~memo`,so=[];function co(e){return typeof e==`object`&&!!e}function lo(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var uo=new WeakMap,fo=0,po=1,mo=2;function ho(e,t,n){let r=uo.get(e);if(r!==void 0)return r?mo:fo;if(t.has(e))return mo;t.add(e);let i=fo,a=e=>{if(i!==mo&&e?._zod){let r=ho(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=fo;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?po:o.value?._zod?ho(o.value,t,n):fo;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=Zt(c);s(e?o(e,!0):po),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?ho(r,t,!1):po);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),go(e,i)}function go(e,t){return t!==po&&uo.set(e,t===mo),t}function _o(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}var vo,yo=[],bo={alloc(e,t,n){let r=vo;if(!r)return n;vo=void 0;let i={value:n,issues:null};return r.set(t.value,i),yo.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`&&So(n,e.value))throw new ao;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=ho(e,new Set,!1);if(i===fo)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===mo||r?n=!0:r=!0}let l=s.value;if(!co(l))return t(s,c);let u=c[oo];u||(u={buckets:new WeakMap,backEdges:void 0},c[oo]=u);let d;i===c?d=a:(d=_o(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(...lo(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;vo=d;let p=yo.length,m=t(s,c);vo=void 0;let h=yo.length>p?yo.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?lo(e.issues):so),e)):(h&&(h.issues=m.issues.length?lo(m.issues):so),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function xo(){return bo}function So(e,t){let n=e[oo]?.backEdges;return n!==void 0&&co(t)&&n.has(t)}var Co=()=>{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 t(t){return e[t]??null}let n={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`},r={nan:`NaN`};function i(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):r[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${i(e.expected)}, received ${i(In(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${mn(e.values[0])}`:`Invalid option: expected one of ${Ut(e.values,`|`)}`;case`too_big`:{let n=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${n}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${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 ${n[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`:``}: ${Ut(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 wo(){return{localeError:Co()}}var To,Eo=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 Do(){return new Eo}(To=globalThis).__zod_globalRegistry??(To.__zod_globalRegistry=Do());var Oo=globalThis.__zod_globalRegistry;function ko(e){return e.checks&&=[...e.checks],e}function Ao(e,t){return new e(ko({type:`string`,...C(t)}))}function jo(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...C(t)})}function Mo(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...C(t)})}function No(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...C(t)})}function Po(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...C(t)})}function Fo(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...C(t)})}function Io(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...C(t)})}function Lo(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...C(t)})}function Ro(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...C(t)})}function zo(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...C(t)})}function Bo(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...C(t)})}function Vo(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...C(t)})}function Ho(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...C(t)})}function Uo(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...C(t)})}function Wo(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...C(t)})}function Go(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...C(t)})}function Ko(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...C(t)})}function qo(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...C(t)})}function Jo(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...C(t)})}function Yo(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...C(t)})}function Xo(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...C(t)})}function Zo(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...C(t)})}function Qo(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...C(t)})}function $o(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...C(t)})}function es(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...C(t)})}function ts(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...C(t)})}function ns(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...C(t)})}function rs(e,t){return new e(ko({type:`number`,checks:[],...C(t)}))}function is(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...C(t)})}function as(e,t){return new e({type:`boolean`,...C(t)})}function os(e){return new e({type:`unknown`})}function ss(e,t){return new e({type:`never`,...C(t)})}function cs(e,t){return new fi({check:`less_than`,...C(t),value:e,inclusive:!1})}function ls(e,t){return new fi({check:`less_than`,...C(t),value:e,inclusive:!0})}function us(e,t){return new pi({check:`greater_than`,...C(t),value:e,inclusive:!1})}function ds(e,t){return new pi({check:`greater_than`,...C(t),value:e,inclusive:!0})}function fs(e,t){return new mi({check:`multiple_of`,...C(t),value:e})}function ps(e,t){return new gi({check:`max_length`,...C(t),maximum:e})}function ms(e,t){return new _i({check:`min_length`,...C(t),minimum:e})}function hs(e,t){return new vi({check:`length_equals`,...C(t),length:e})}function gs(e,t){return new bi({check:`string_format`,format:`regex`,...C(t),pattern:e})}function _s(e){return new xi({check:`string_format`,format:`lowercase`,...C(e)})}function vs(e){return new Si({check:`string_format`,format:`uppercase`,...C(e)})}function ys(e,t){return new Ci({check:`string_format`,format:`includes`,...C(t),includes:e})}function bs(e,t){return new wi({check:`string_format`,format:`starts_with`,...C(t),prefix:e})}function xs(e,t){return new Ti({check:`string_format`,format:`ends_with`,...C(t),suffix:e})}function Ss(e){return new Ei({check:`overwrite`,tx:e})}function Cs(e){return Ss(t=>t.normalize(e))}function ws(){return Ss(e=>e.trim())}function Ts(){return Ss(e=>e.toLowerCase())}function Es(){return Ss(e=>e.toUpperCase())}function Ds(){return Ss(e=>an(e))}function Os(e,t,n){return new e({type:`array`,element:t,...C(n)})}function ks(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...C(n)})}function As(e,t){let n=js(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Ln(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(Ln(r))}},e(t.value,t)),t);return n}function js(e,t){let n=new O({check:`custom`,...C(t)});return n._zod.check=e,n}function Ms(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&Xt(e,t,n[t]);return e}function Ns(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??Oo,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 Ps(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 j(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,j(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Ms(o.schema,c),t.io===`input`&&M(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 Fs(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Is(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}/${Fs(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+Fs(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
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);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Ls(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;Ls(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 Rs=new Set([`type`,`properties`,`required`,`additionalProperties`]),zs=[`oneOf`,`anyOf`];function Bs(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Vs(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Rs.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]??Bs(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}Xt(n,r,e.length===1?e[0]:Vs(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=Bs(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 Hs(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Rs)if(t in e)return;let n=t.filter(e=>zs.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Vs(t);else{let e=n[0],i=zs.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=>Vs([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Ms(e,r))}function Us(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)):Ms(i,s),Ms(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())Ls(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)??[])Hs(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)}Ms(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,Xt(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:Gs(t,`input`,e.processors),output:Gs(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function M(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 M(r.element,n);if(r.type===`set`)return M(r.valueType,n);if(r.type===`lazy`)return M(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 M(r.innerType,n);if(r.type===`intersection`)return M(r.left,n)||M(r.right,n);if(r.type===`record`||r.type===`map`)return M(r.keyType,n)||M(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:M(r.in,n)||M(r.out,n);if(r.type===`object`){for(let e in r.shape)if(M(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(M(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(M(e,n))return!0;return!!(r.rest&&M(r.rest,n))}return!1}var Ws=(e,t={})=>n=>{let r=Ns({...n,processors:t});return j(e,r),Is(r,e),Us(r,e)},Gs=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Ns({...i??{},target:a,io:t,processors:n});return j(e,o),Is(o,e),Us(o,e)},Ks=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},qs=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Js=(e,t)=>{Ks(e,`minimum`,t),qs(e,`maximum`,t)},Ys=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Xs=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},Zs=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Qs=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},$s=(e,t)=>Ks(e,`minimum`,t.minimum),ec=(e,t)=>qs(e,`maximum`,t.maximum),tc=e=>(t,n)=>{Qs(t,n.format);let[r,i]=e[n.format];Ks(t,`minimum`,r),qs(t,`maximum`,i)},nc={greater_than:(e,t)=>Ks(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>qs(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>Ys(e,t.value),number_format:tc(gn),bigint_format:tc(_n),min_length:$s,max_length:ec,length_equals:(e,t)=>Js(e,t.length),min_size:$s,max_size:ec,size_equals:(e,t)=>Js(e,t.size),string_format:(e,t)=>{Qs(e,t.format),t.pattern&&Xs(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)=>Zs(e,t.mime)};function N(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)nc[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&Ks(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&Ks(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&qs(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&qs(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&Ys(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&Zs(t,i.mime);for(let e of i.patterns??[])Xs(t,e);return t}var rc={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},ic=new Map([[la,Jr],[da,Yr]]),ac=e=>ic.get(e)??e,oc=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=N(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=rc[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(ac);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}))])}},sc=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=N(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)):Ps(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}))])}},cc=(e,t,n,r)=>{n.type=`boolean`},lc=(e,t,n,r)=>{n.not={}},uc=(e,t,n,r)=>{let i=e._zod.def,a=Ht(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},dc=(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(Ps(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(Ps(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}},fc=(e,t,n,r)=>{Ps(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},pc=(e,t,n,r)=>{Ps(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},mc=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=N(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=j(a.element,t,{...r,path:[...r.path,`items`]})};function hc(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?hc(t.out):t.type===`catch`?hc(t.innerType):e._zod.optin}var gc=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Ps(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)Xt(i.properties,e,j(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`?hc(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=j(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},_c=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>j(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},vc=(e,t,n,r)=>{let i=e._zod.def,a=j(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=j(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 yc(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=yc(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=>yc(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`)?oi:ai).source),p):p}var bc=new WeakMap;function xc(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 bc.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=yc(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 Sc=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=N(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=j(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)Xt(i.patternProperties,ac(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=j(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=bc.get(t);n||(n=[],bc.set(t,n),t.deferred.push(()=>xc(t))),n.push(e)}i.additionalProperties=j(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&hc(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))}},Cc=(e,t,n,r)=>{let i=e._zod.def,a=j(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`}]},wc=(e,t,n,r)=>{let i=e._zod.def;j(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Tc=Symbol();function Ec(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Ps(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Tc):JSON.parse(o)}var Dc=(e,t,n,r)=>{let i=e._zod.def;j(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=Ec(i.defaultValue,e,t,n,r);o!==Tc&&(n.default=o)},Oc=(e,t,n,r)=>{let i=e._zod.def;j(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=Ec(i.defaultValue,e,t,n,r);o!==Tc&&(n._prefault=o)},kc=(e,t,n,r)=>{let i=e._zod.def;j(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{Ps(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Ac=(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;j(o,t,r);let s=t.seen.get(e);s.ref=o},jc=(e,t,n,r)=>{let i=e._zod.def;j(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Mc=(e,t,n,r)=>{let i=e._zod.def;j(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Nc=new WeakSet([Object.prototype,Error.prototype]);function Pc(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 P=T(`ZodError`,(e,t)=>{cr.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);Nc.has(n)||(Nc.add(n),Pc(n,`format`,e=>t=>dr(e,t)),Pc(n,`flatten`,e=>t=>ur(e,t)),Pc(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Wt,2)}),Pc(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Wt,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Fc=pr(P),Ic=mr(P),Lc=hr(P),Rc=_r(P),zc=Cr(P),Bc=wr(P),Vc=Tr(P),Hc=Er(P),Uc=Dr(P),Wc=Or(P),Gc=kr(P),Kc=Ar(P);function qc(){E.localeError||D(wo())}function Jc(){E.memoizer||D({memoizer:xo()})}var F=T(`ZodType`,(e,t)=>(qc(),k.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(S(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 pn(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(uu(e,t))},superRefine(e,t){return this.check(du(e,t))},overwrite(e){return this.check(Ss(e))},optional(){return Gl(this)},exactOptional(){return ql(this)},nullable(){return Yl(this)},nullish(){return Gl(Yl(this))},nonoptional(e){return tu(this,e)},array(){return B(this)},or(e){return Nl([this,e])},and(e){return Ll(this,e)},transform(e){return au(this,Ul(e))},default(e){return Zl(this,e)},prefault(e){return $l(this,e)},catch(e){return ru(this,e)},pipe(e){return au(this,e)},readonly(){return cu(this)},describe(e){let t=this.clone();return Oo.add(t,{description:e}),t},meta(...e){if(e.length===0)return Oo.get(this);let t=this.clone();return Oo.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 Bn(this,`~standard`,{...ji(this),jsonSchema:{input:Gs(this,`input`),output:Gs(this,`output`)}})},set"~standard"(e){zn(this,`~standard`,e)},parse:function e(t,n){return Fc(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Ic(this,t,n,{callee:e})},safeParse(e,t){return Lc(this,e,t)},async safeParseAsync(e,t){return Rc(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){zn(this,`spa`,e)},validate(e,t){return br(this,e,t)},validateAsync(e,t){return Sr(this,e,t)},encode:function e(t,n){return zc(this,t,n,{callee:e})},decode:function e(t,n){return Bc(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Vc(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Hc(this,t,n,{callee:e})},safeEncode(e,t){return Uc(this,e,t)},safeDecode(e,t){return Wc(this,e,t)},async safeEncodeAsync(e,t){return Gc(this,e,t)},async safeDecodeAsync(e,t){return Kc(this,e,t)},toJSONSchema(e){return Ws(this,{})(e)},get description(){return Oo.get(this)?.description},get _def(){return this._zod.def}}),Yc=T(`_ZodString`,(e,t)=>{Mi.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oc(e,t,n,r)},Vn({format:e=>N(e).format??null,minLength:e=>N(e).minimum??null,maxLength:e=>N(e).maximum??null},{regex(...e){return this.check(gs(...e))},includes(...e){return this.check(ys(...e))},startsWith(...e){return this.check(bs(...e))},endsWith(...e){return this.check(xs(...e))},min(...e){return this.check(ms(...e))},max(...e){return this.check(ps(...e))},length(...e){return this.check(hs(...e))},nonempty(...e){return this.check(ms(1,...e))},lowercase(e){return this.check(_s(e))},uppercase(e){return this.check(vs(e))},trim(){return this.check(ws())},normalize(...e){return this.check(Cs(...e))},toLowerCase(){return this.check(Ts())},toUpperCase(){return this.check(Es())},slugify(){return this.check(Ds())}})),Xc=T(`ZodString`,(e,t)=>{Mi.init(e,t),Yc.init(e,t)},{email(e){return this.check(jo(tl,e))},url(e){return this.check(Lo(al,e))},jwt(e){return this.check(Qo(xl,e))},emoji(e){return this.check(Ro(sl,e))},guid(e){return this.check(Mo(nl,e))},uuid(e){return this.check(No(rl,e))},uuidv4(e){return this.check(Po(rl,e))},uuidv6(e){return this.check(Fo(rl,e))},uuidv7(e){return this.check(Io(rl,e))},nanoid(e){return this.check(zo(cl,e))},cuid(e){return this.check(Bo(ll,e))},cuid2(e){return this.check(Vo(ul,e))},ulid(e){return this.check(Ho(dl,e))},base64(e){return this.check(Yo(vl,e))},base64url(e){return this.check(Xo(yl,e))},xid(e){return this.check(Uo(fl,e))},ksuid(e){return this.check(Wo(pl,e))},ipv4(e){return this.check(Go(ml,e))},ipv6(e){return this.check(Ko(hl,e))},cidrv4(e){return this.check(qo(gl,e))},cidrv6(e){return this.check(Jo(_l,e))},e164(e){return this.check(Zo(bl,e))},datetime(e){return this.check($o(Zc,e))},date(e){return this.check(es(Qc,e))},time(e){return this.check(ts($c,e))},duration(e){return this.check(ns(el,e))}});function I(e){return Ao(Xc,e)}var L=T(`ZodStringFormat`,(e,t)=>{A.init(e,t),Yc.init(e,t)}),Zc=T(`ZodISODateTime`,(e,t)=>{Zi.init(e,t),L.init(e,t)}),Qc=T(`ZodISODate`,(e,t)=>{Qi.init(e,t),L.init(e,t)}),$c=T(`ZodISOTime`,(e,t)=>{$i.init(e,t),L.init(e,t)}),el=T(`ZodISODuration`,(e,t)=>{ea.init(e,t),L.init(e,t)}),tl=T(`ZodEmail`,(e,t)=>{Fi.init(e,t),L.init(e,t)}),nl=T(`ZodGUID`,(e,t)=>{Ni.init(e,t),L.init(e,t)}),rl=T(`ZodUUID`,(e,t)=>{Pi.init(e,t),L.init(e,t)});function il(e){return No(rl,e)}var al=T(`ZodURL`,(e,t)=>{Ui.init(e,t),L.init(e,t)});function ol(e){return Lo(al,e)}var sl=T(`ZodEmoji`,(e,t)=>{Wi.init(e,t),L.init(e,t)}),cl=T(`ZodNanoID`,(e,t)=>{Gi.init(e,t),L.init(e,t)}),ll=T(`ZodCUID`,(e,t)=>{Ki.init(e,t),L.init(e,t)}),ul=T(`ZodCUID2`,(e,t)=>{qi.init(e,t),L.init(e,t)}),dl=T(`ZodULID`,(e,t)=>{Ji.init(e,t),L.init(e,t)}),fl=T(`ZodXID`,(e,t)=>{Yi.init(e,t),L.init(e,t)}),pl=T(`ZodKSUID`,(e,t)=>{Xi.init(e,t),L.init(e,t)}),ml=T(`ZodIPv4`,(e,t)=>{ta.init(e,t),L.init(e,t)}),hl=T(`ZodIPv6`,(e,t)=>{ia.init(e,t),L.init(e,t)}),gl=T(`ZodCIDRv4`,(e,t)=>{aa.init(e,t),L.init(e,t)}),_l=T(`ZodCIDRv6`,(e,t)=>{sa.init(e,t),L.init(e,t)}),vl=T(`ZodBase64`,(e,t)=>{ua.init(e,t),L.init(e,t)}),yl=T(`ZodBase64URL`,(e,t)=>{pa.init(e,t),L.init(e,t)}),bl=T(`ZodE164`,(e,t)=>{ma.init(e,t),L.init(e,t)}),xl=T(`ZodJWT`,(e,t)=>{ga.init(e,t),L.init(e,t)}),Sl=T(`ZodNumber`,(e,t)=>{_a.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>sc(e,t,n,r),e.isFinite=!0},Vn({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=N(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=N(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=N(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>N(e).format??null},{gt(e,t){return this.check(us(e,t))},gte(e,t){return this.check(ds(e,t))},min(e,t){return this.check(ds(e,t))},lt(e,t){return this.check(cs(e,t))},lte(e,t){return this.check(ls(e,t))},max(e,t){return this.check(ls(e,t))},int(e){return this.check(wl(e))},safe(e){return this.check(wl(e))},positive(e){return this.check(us(0,e))},nonnegative(e){return this.check(ds(0,e))},negative(e){return this.check(cs(0,e))},nonpositive(e){return this.check(ls(0,e))},multipleOf(e,t){return this.check(fs(e,t))},step(e,t){return this.check(fs(e,t))},finite(){return this}}));function R(e){return rs(Sl,e)}var Cl=T(`ZodNumberFormat`,(e,t)=>{va.init(e,t),Sl.init(e,t)});function wl(e){return is(Cl,e)}var Tl=T(`ZodBoolean`,(e,t)=>{ya.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>cc(e,t,n,r)});function z(e){return as(Tl,e)}var El=T(`ZodUnknown`,(e,t)=>{ba.init(e,t),F.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Dl(){return os(El)}var Ol=T(`ZodNever`,(e,t)=>{xa.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lc(e,t,n,r)});function kl(e){return ss(Ol,e)}var Al=T(`ZodArray`,(e,t)=>{Jc(),Ca.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mc(e,t,n,r),e.element=t.element},{min(e,t){return this.check(ms(e,t))},nonempty(e){return this.check(ms(1,e))},max(e,t){return this.check(ps(e,t))},length(e,t){return this.check(hs(e,t))},unwrap(){return this.element}});function B(e,t){return Os(Al,e,t)}var jl=T(`ZodObject`,(e,t)=>{Jc(),ka.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gc(e,t,n,r),qn(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return H(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(S(this._zod.def,{catchall:e}))},passthrough(){return this.clone(S(this._zod.def,{catchall:Dl()}))},loose(){return this.clone(S(this._zod.def,{catchall:Dl()}))},strict(){return this.clone(S(this._zod.def,{catchall:kl()}))},strip(){return this.clone(S(this._zod.def,{catchall:void 0}))},extend(e){return xn(this,e)},safeExtend(e){return Cn(this,e)},merge(e){return wn(this,e)},pick(e){return vn(this,e)},omit(e){return bn(this,e)},partial(...e){return Tn(Wl,this,e[0])},exactPartial(...e){return Tn(Kl,this,e[0],`exactPartial`)},required(...e){return En(eu,this,e[0])}});function V(e,t){return new jl({type:`object`,shape:e??{},...C(t)})}var Ml=T(`ZodUnion`,(e,t)=>{ja.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_c(e,t,n,r),e.options=t.options});function Nl(e,t){return new Ml({type:`union`,options:e,...C(t)})}var Pl=T(`ZodDiscriminatedUnion`,(e,t)=>{Ml.init(e,t),Na.init(e,t)});function Fl(e,t,n){return new Pl({type:`union`,options:t,discriminator:e,...C(n)})}var Il=T(`ZodIntersection`,(e,t)=>{Pa.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vc(e,t,n,r)});function Ll(e,t){return new Il({type:`intersection`,left:e,right:t})}var Rl=T(`ZodRecord`,(e,t)=>{Jc(),La.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sc(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function zl(e,t,n){return!t||!t._zod?new Rl({type:`record`,keyType:I(),valueType:e,...C(t)}):new Rl({type:`record`,keyType:e,valueType:t,...C(n)})}var Bl=T(`ZodEnum`,(e,t)=>{Ra.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uc(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 Bl({...t,checks:[],...C(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 Bl({...t,checks:[],...C(r),entries:i})}});function H(e,t){return new Bl({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...C(t)})}var Vl=T(`ZodLiteral`,(e,t)=>{za.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>dc(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 U(e,t){return new Vl({type:`literal`,values:Array.isArray(e)?e:[e],...C(t)})}var Hl=T(`ZodTransform`,(e,t)=>{Jc(),Ba.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pc(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new tr(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Ln(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(Ln(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Ul(e){return new Hl({type:`transform`,transform:e})}var Wl=T(`ZodOptional`,(e,t)=>{Ha.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Gl(e){return new Wl({type:`optional`,innerType:e})}var Kl=T(`ZodExactOptional`,(e,t)=>{Ua.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ql(e){return new Kl({type:`optional`,innerType:e})}var Jl=T(`ZodNullable`,(e,t)=>{Wa.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Yl(e){return new Jl({type:`nullable`,innerType:e})}var Xl=T(`ZodDefault`,(e,t)=>{Ga.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Dc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Zl(e,t){return new Xl({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():un(t)}})}var Ql=T(`ZodPrefault`,(e,t)=>{qa.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $l(e,t){return new Ql({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():un(t)}})}var eu=T(`ZodNonOptional`,(e,t)=>{Ja.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tu(e,t){return new eu({type:`nonoptional`,innerType:e,...C(t)})}var nu=T(`ZodCatch`,(e,t)=>{Za.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ru(e,t){return new nu({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:Yn(t)})}var iu=T(`ZodPipe`,(e,t)=>{Qa.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ac(e,t,n,r),e.in=t.in,e.out=t.out});function au(e,t){return new iu({type:`pipe`,in:e,out:t})}var ou=T(`ZodPreprocess`,(e,t)=>{iu.init(e,t),eo.init(e,t)}),su=T(`ZodReadonly`,(e,t)=>{to.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function cu(e){return new su({type:`readonly`,innerType:e})}var lu=T(`ZodCustom`,(e,t)=>{ro.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fc(e,t,n,r)});function uu(e,t={}){return ks(lu,e,t)}function du(e,t){return As(e,t)}function fu(e,t){return new ou({type:`pipe`,in:Ul(e),out:t})}function pu(e){return $o(Zc,e)}var W=I().regex(/^[a-z0-9][a-z0-9-]{0,31}$/,`expected 1-32 lowercase letters, digits, or hyphens, starting with a letter or digit`),G=I().regex(/^[0-9A-HJKMNP-TV-Z]{26}$/,`expected a ULID`),K=I().regex(/^(?:[a-z0-9][a-z0-9-]{0,31}\/)?[a-z0-9][a-z0-9-]{0,31}$/,`expected <channel> or <project>/<channel>`);function mu(e){let t=e.indexOf(`/`);return t===-1?{project:null,channel:e}:{project:e.slice(0,t),channel:e.slice(t+1)}}function hu(e,t){return e===null?t:`${e}/${t}`}var q=fu(e=>e instanceof Date?e.toISOString():e,pu()),gu=H(`post_message.read_inbox.search.open_thread.close_thread.create_task.claim_task.release_task.update_task.get_task.subscribe.unsubscribe.propose.approve.reject.create_project.join_project.leave_project.write_knowledge.plan_task.advance_task.configure_project.archive_project.remove_knowledge.create_channel.archive_channel.update_dashboard`.split(`.`)),_u=H([`user_post`,`ops_event`,`heartbeat`]),vu=V({name:W,purpose:I().min(1),verbs:B(gu),wakeTriggers:B(_u).default([`heartbeat`]),reviewDate:I().optional(),maxReplicas:R().int().min(1).default(1),backlogThreshold:R().positive().default(3),resident:z().default(!1),societyScope:z().default(!1),reflects:z().default(!0)}),yu=`user`,bu=`user`,xu=[`post_message`,`read_inbox`,`search`,`open_thread`,`close_thread`,`create_task`,`claim_task`,`release_task`,`update_task`,`get_task`,`subscribe`,`unsubscribe`,`propose`,`join_project`,`leave_project`,`write_knowledge`,`remove_knowledge`,`plan_task`,`advance_task`,`update_dashboard`],Su=[`approve`,`reject`],Cu=[`create_project`],wu=[`configure_project`,`create_channel`,`archive_channel`],Tu=[`archive_project`];[...xu,...Su,...Cu,...wu,...Tu],[...xu,...Su,...wu],[...xu,...Cu,...wu];var Eu=`asks`,Du=[`general`,`governance`,Eu],Ou=[`general`];function ku(e,t){return(e===null?Du:Ou).includes(t)}var Au=`society`;function ju(e,t){return t!==null&&e.memberships.includes(t)?t:Au}var J=H([`claude`,`codex`]),Mu=V({name:W,at:q,by:W,reason:I().min(1)}),Nu=V({name:I().min(1),version:U(1),createdAt:q,channels:B(W),archivedChannels:B(Mu).default([])}),Pu=H([`none`,`merge`,`ghpr`]),Fu=I().trim().regex(/^https:\/\/github\.com\/([A-Za-z0-9-]+)\/([A-Za-z0-9._-]+)\/pull\/([1-9]\d*)\/?$/,`a pull request's address, https://github.com/<owner>/<repo>/pull/<number>`),Iu=I().trim().min(1).max(300).regex(/^[^\n]+$/,`a merge commit's subject is one line`),Lu=V({url:Fu,number:R().int().positive(),subject:Iu.optional(),body:I().max(2e4).optional(),linkedBy:W,linkedAt:q}),Ru=I().trim().min(1).max(100).regex(/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,`a branch name is letters, digits, and . _ / -`).refine(e=>!e.includes(`..`)&&!e.includes(`//`)&&!e.endsWith(`/`)&&!e.endsWith(`.`)&&!e.endsWith(`.lock`),`not a branch name git takes`).refine(e=>!e.startsWith(`task/`)&&!e.startsWith(`agent/`),`task/ and agent/ hold the board's own branches`),zu=I().regex(/^s[1-9][0-9]*$/,`expected a stage id such as s1`),Bu={name:I().trim().min(1).max(120),role:W.optional(),agent:W.optional(),gate:z().default(!1)};function Vu(e){return e.role===void 0||e.agent===void 0}var Hu={message:`a stage names a role or an agent, not both`},Uu=V(Bu).refine(Vu,Hu),Wu=V({id:zu.optional(),...Bu}).refine(Vu,Hu),Gu=V({slug:W,name:I().min(1),repo:I().nullable(),defaultBranch:I().min(1),channels:B(W),archivedChannels:B(Mu).default([]),members:B(W),approvers:B(W),requiredCapabilities:B(I()),createdAt:q,onDone:Pu.default(`none`),runner:W.optional(),archived:V({at:q,by:W,reason:I().min(1)}).optional()}),Ku=Nl([V({action:H([`advanced`,`returned`,`abandoned`,`landed`,`reopened`]),stage:zu,to:zu.nullable()}),V({action:H([`approved`,`rejected`])})]);function qu(e){return`stage`in e}var Ju=V({id:G,author:W,channel:K,thread:G.optional(),task:G.optional(),closes:G.optional(),step:Ku.optional(),ts:q,mentions:B(W)}),Yu=H([`open`,`claimed`,`done`,`abandoned`]),Xu=H([`open`,`closed`]),Zu=V({kind:H([`task`,`proposal`]),id:G}),Qu=V({id:G,channel:K,title:I().min(1).max(200),subject:Zu.optional(),state:Xu,openedBy:W,openedAt:q,closedBy:W.optional(),closedAt:q.optional()}),$u=V({id:zu,name:I().min(1),role:W.optional(),agent:W.optional(),gate:z().default(!1),holders:B(W).default([]),completedBy:W.optional(),completedAt:q.optional()}),ed=V({from:zu,by:W,at:q}),td=V({id:G,project:W,channel:W.default(`general`),title:I().min(1),status:Yu,createdBy:W,createdAt:q,updatedAt:q,claimedBy:W.optional(),leaseExpiresAt:q.optional(),parentId:G.optional(),blockedBy:B(G),requiredCapabilities:B(I()),stages:B($u).min(1),stage:zu,stageSince:q,stageSeq:R().int().positive(),onDone:Pu.default(`none`),pullRequest:Lu.optional(),completing:z().default(!1),returned:ed.optional()});function nd(e,t){return e.stages.findIndex(e=>e.id===t)}function rd(e){return e.stages.find(t=>t.id===e.stage)}var id=I().trim().min(1).max(120).regex(/^[\w.:/[\]-]+$/,`a model name is one word of letters, digits, and . _ : / - [ ]`),ad=I().trim().min(1).max(32).regex(/^[a-z][a-z0-9_-]*$/,`an effort is one lowercase word, such as high`),od=V({id:ad,description:I().default(``)}),sd=V({runner:W,cli:J,models:B(V({id,name:I(),description:I().default(``),isDefault:z().default(!1),efforts:B(od).default([]),defaultEffort:ad.optional()}))}),cd=H([`active`,`retired`]),ld=V({name:W,role:W,cli:J.nullable(),model:I().optional(),effort:I().optional(),homeRunner:W.optional(),memberships:B(W),subscriptions:B(K),status:cd,createdAt:q,tokenHash:I().min(1),retiredAt:q.optional(),retiredReason:I().optional()}),ud=V({name:W,role:W,cli:J.nullable(),homeRunner:W.optional(),status:cd,resident:z().default(!1),model:I().optional(),lastModel:I().optional(),effort:I().optional(),skills:B(W).default([]),memberships:B(W),subscriptions:B(K),claimsHeld:R().int().nonnegative().default(0),tasksDone:R().int().nonnegative().default(0),lastTurnAt:q.optional(),lastTurnOutcome:I().optional(),createdAt:q,retiredAt:q.optional()}),dd=H([`linux`,`windows`,`darwin`]),fd=V({name:W,os:dd,clis:B(J),capabilities:B(I()),version:I().optional(),status:H([`connected`,`disconnected`]),lastSeen:q.optional()}),pd=H([`role`,`member`,`channel`,`reallocation`,`retirement`,`skill`,`archive`]),md=H([`proposed`,`approved`,`rejected`,`provisioned`,`retired`]),hd=V({name:W,role:W,cli:J,model:I().optional(),homeRunner:W.optional(),memberships:B(W).default([]),subscriptions:B(K).default([]),seedInstructions:I().optional()}),gd=V({project:W.nullable().default(null),name:W,purpose:I().min(1)}),_d=V({description:I().min(1)}),vd=V({agent:W,reason:I().min(1)}),yd=V({project:W,reason:I().min(1)}),bd=V({name:W,summary:I().min(1).max(200),body:I().min(1)}),xd={role:[yu],member:[yu],retirement:[yu],archive:[yu],channel:[yu,`steward`],reallocation:[yu,`steward`],skill:[yu,`steward`]};function Sd(e,t){switch(e){case`member`:{let e=hd.safeParse(t);if(!e.success)break;let{name:n,role:r,cli:i,memberships:a}=e.data;return`member ${n} as ${r} on ${i}${a.length===0?``:` for ${a.join(`, `)}`}`}case`role`:{let e=vu.safeParse(t);if(!e.success)break;let{name:n,verbs:r,maxReplicas:i}=e.data;return`role ${n} (${r.length} verbs, up to ${i} per project)`}case`channel`:{let e=gd.safeParse(t);if(!e.success)break;return`channel ${hu(e.data.project,e.data.name)}: ${e.data.purpose}`}case`retirement`:{let e=vd.safeParse(t);if(!e.success)break;return`retirement of ${e.data.agent}: ${e.data.reason}`}case`reallocation`:{let e=_d.safeParse(t);if(!e.success)break;return`reallocation: ${e.data.description}`}case`skill`:{let e=bd.safeParse(t);if(!e.success)break;return`skill ${e.data.name}: ${e.data.summary.trim().replace(/\.+$/,``)}`}case`archive`:{let e=yd.safeParse(t);if(!e.success)break;return`archive of project ${e.data.project}: ${e.data.reason}`}}return`${e} ${JSON.stringify(t)}`}var Cd=V({name:W,summary:I().default(``),scope:H([`own`,`society`]),path:I().min(1)}),wd=V({path:I().min(1),file:I().min(1),since:q}),Td=I().regex(/^[0-9a-f]{40}([0-9a-f]{24})?$/),Ed=V({path:I().min(1),status:H([`added`,`modified`,`deleted`]),added:R().int().nonnegative().nullable(),removed:R().int().nonnegative().nullable()}),Dd=V({changes:B(V({commit:Td,at:q,kind:H([`turn`,`board`,`merge`]),author:I(),turnId:G.optional(),subject:I(),files:B(Ed)})),more:z()}),Od=Ed.pick({path:!0,status:!0}).extend({patch:I().nullable(),truncated:z()}),kd=V({topic:W,project:W.nullable(),updatedBy:W,updatedAt:q}),Ad=V({topic:W,project:W.nullable(),removedBy:W,removedAt:q}),jd=V({project:W,revision:R().int().min(0),updatedBy:W.optional(),updatedAt:q.optional(),body:I()}),Md=V({id:G,kind:pd,proposedBy:W,status:md,createdAt:q,decidedBy:W.optional(),decidedAt:q.optional(),reason:I().optional(),charter:zl(I(),Dl()),provisionedAt:q.optional(),provision:zl(I(),Dl()).optional()}),Nd=V({id:G,proposalId:G,decidedBy:W,outcome:H([`approved`,`rejected`]),reason:I().optional(),ts:q});V({channel:K.optional(),body:I().min(1),thread_id:G.optional()}),V({since_cursor:G.nullable().optional(),limit:R().int().positive().max(200).default(50),advance:z().default(!0)}),V({query:I().min(1),project:W.optional(),channel:K.optional(),limit:R().int().positive().max(100).default(20)}),V({task_id:G.optional(),proposal_id:G.optional(),channel:K.optional(),title:I().min(1).max(200).optional()}),V({thread_id:G,summary:I().min(1)}),V({project:W,title:I().min(1).max(200),body:I().default(``),parent_id:G.optional(),required_capabilities:B(I()).default([]),stages:B(Uu).min(1).optional(),channel:W.default(`general`)}),V({task_id:G}),V({task_id:G}),V({task_id:G,stage:zu.optional(),status:H([`abandoned`]).optional(),note:I().min(1).optional(),blocked_by:B(G).optional(),pull_request:V({url:Fu,merge_subject:Iu.optional(),merge_body:I().max(2e4).optional()}).nullable().optional()}),V({task_id:G}),V({channel:K}),V({channel:K}),V({kind:pd,charter:zl(I(),Dl()),rationale:I().default(``)}),V({proposal_id:G,reason:I().optional()}),V({proposal_id:G,reason:I().min(1)}),V({slug:W,name:I().min(1).optional(),repo:I().min(1).nullable().default(null),default_branch:Ru.default(`main`),on_done:Pu.optional()}),V({project:W,agent:W.optional()}),V({project:W,agent:W.optional()}),V({project:W.nullable().default(null),topic:W,body:I().min(1)}),V({project:W.nullable().default(null),topic:W}),V({task_id:G,stages:B(Wu),on_done:Pu.optional()}),V({task_id:G,note:I().min(1).optional()}),V({project:W,on_done:Pu.optional(),name:I().trim().min(1).max(120).optional(),default_branch:Ru.optional()}),V({project:W,reason:I().min(1)}),V({project:W.nullable().default(null),name:W,purpose:I().min(1)}),V({channel:K,reason:I().min(1)}),V({project:W,body:I().min(1),revision:R().int().min(0)});var Pd=V({id:G,ts:q,type:H(`society.initialized,project.added,project.configured,project.archived,project.placed,agent.added,agent.configured,agent.placed,message.posted,thread.opened,thread.closed,task.created,task.claimed,task.released,task.updated,task.planned,task.advanced,task.moved,task.completing,task.completed,task.reopened,lease.expired,subscription.changed,proposal.created,proposal.decided,proposal.provisioned,channel.added,channel.archived,role.added,agent.retired,agent.joined,agent.left,knowledge.written,knowledge.removed,dashboard.updated,skill.promoted,runner.added,user.signed_in,user.signed_out,user.token_rotated,runner.changed,ops.signal,paused.changed,wake.requested,turn.started,turn.steered,turn.stopped,turn.completed,turn.failed,merge.completed,merge.failed,workspace.leftovers`.split(`,`)),actor:W,payload:zl(I(),Dl())}),Fd=V({inputTokens:R().int().nonnegative(),outputTokens:R().int().nonnegative(),cacheReadTokens:R().int().nonnegative().default(0),cacheWriteTokens:R().int().nonnegative().default(0)});function Id(e,t){return{inputTokens:e.inputTokens+t.inputTokens,outputTokens:e.outputTokens+t.outputTokens,cacheReadTokens:e.cacheReadTokens+t.cacheReadTokens,cacheWriteTokens:e.cacheWriteTokens+t.cacheWriteTokens}}var Ld=V({summary:I().min(1),claimsHeld:B(G).default([]),blockedOn:B(I()).default([]),needsUserDecision:z().default(!1),memoryUpdated:z().default(!1)}),Rd=H([`completed`,`timeout`,`error`,`interrupted`,`blocked`,`stopped`]),zd=Fl(`type`,[V({type:U(`turn_started`),agent:W,session:I(),runner:W,model:I().optional()}),V({type:U(`steered`),steer:I().min(1),messages:B(G).optional(),text:I().optional()}),V({type:U(`text`),delta:I()}),V({type:U(`tool_call`),name:I(),input:Dl()}),V({type:U(`tool_result`),name:I(),ok:z(),output:I().optional()}),V({type:U(`approval_requested`),kind:I(),detail:Dl()}),V({type:U(`turn_completed`),usage:Fd,costUsd:R().nonnegative(),status:Ld.nullable(),exitReason:Rd}),V({type:U(`error`),message:I()})]),Bd=V({ts:q,event:zd}),Vd=V({seq:R().int().positive(),ts:q,agent:W,project:W,thread:G.optional(),channel:W.optional(),event:zd});V({protocol:R().int().positive(),version:I().min(1),os:dd,clis:B(J),residentClis:B(J).default([]),steerableClis:B(J).default([]),stoppableClis:B(J).default([]),branchReads:z().default(!1),branchChanges:z().default(!1),capabilities:B(I()).default([]),slots:R().int().positive().nullable(),turns:B(G).default([])}),V({name:W,version:I()}),V({protocol:R().int().positive(),version:I().min(1).max(64),hostname:I().min(1).max(253),os:dd,clis:B(J).max(8),capabilities:B(I().min(1).max(64)).max(32).default([])}),V({deviceCode:I().min(1),userCode:I().min(1),expiresAt:q,intervalMs:R().int().positive()}),V({deviceCode:I().min(1)}),Fl(`status`,[V({status:U(`pending`)}),V({status:U(`approved`),name:W,token:I().min(1)}),V({status:U(`denied`)})]);var Hd=V({userCode:I().min(1),hostname:I(),os:dd,clis:B(J),capabilities:B(I()),version:I(),requestedAt:q,expiresAt:q}),Ud=V({slug:W,origin:I().nullable(),defaultBranch:I().min(1),boardLands:z()}),Wd=Fl(`kind`,[V({kind:U(`home`),thread:G.optional(),channel:W.optional()}),V({kind:U(`project`),repo:Ud,branches:B(I().min(1)),thread:G.optional(),channel:W.optional()}),V({kind:U(`task`),repo:Ud,taskId:G})]),Gd=V({turnId:G,agent:W,role:W,cli:J,model:I().optional(),effort:I().optional(),scope:W,thread:G.optional(),channel:W.optional(),session:I().min(1).nullable(),costSoFarUsd:R().nonnegative(),instructions:I(),prompt:I(),mcp:V({url:I().min(1),token:I().min(1)}),limits:V({timeoutMs:R().int().positive().nullable(),maxTurns:R().int().positive().nullable()}),resident:V({key:I().min(1),idleMs:R().int().positive()}).optional(),workspace:Wd}),Kd=V({branch:I().min(1),head:I().min(1)});V({entries:B(Bd)}),V({exitReason:Rd,status:Ld.nullable(),error:I().nullable(),usage:Fd,costUsd:R().nonnegative(),sessionCostUsd:R().nonnegative().optional(),session:I().min(1),model:I().nullable(),work:Kd.nullable(),leftovers:z().default(!1)}),V({dropWorkspace:z()});var qd=V({repo:Ud,branch:I().min(1),pullRequest:V({url:I().min(1),subject:I().min(1).optional(),body:I().optional()}).optional()});V({ok:z(),detail:I()});var Jd=8388608,Yd=I().max(4096).refine(e=>e===``||e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`&&!e.includes(`\0`)),{message:"a path inside the branch, with no empty, `.`, or `..` segment"}),Xd=I().regex(/^[A-Za-z0-9][A-Za-z0-9._/-]*$/),Zd=V({repo:Ud,branch:Xd,path:Yd}),Qd=V({id:I().min(1),at:q,author:I()}),$d=Fl(`kind`,[V({kind:U(`file`),path:Yd,commit:Qd,size:R().int().nonnegative(),content:I().nullable()}),V({kind:U(`dir`),path:Yd,commit:Qd,entries:B(V({name:I().min(1),kind:H([`file`,`dir`]),size:R().int().nonnegative().nullable()}))})]),ef=V({repo:Ud,branch:Xd}),tf=V({head:Qd,files:B(V({path:I().min(1),status:H([`added`,`modified`,`deleted`]),added:R().int().nonnegative().nullable(),removed:R().int().nonnegative().nullable(),lastChange:V({author:I(),at:q}).optional()})),total:R().int().nonnegative()}),nf=Fl(`kind`,[V({kind:U(`thread`),id:G}),V({kind:U(`channel`),scope:W,name:W})]),rf=V({agent:W,scope:W,conversation:nf});V({workspaces:B(rf)}),V({kept:B(rf)});var af=V({id:il(),text:I().min(1)});Fl(`type`,[V({type:U(`turn`),job:Gd}),V({type:U(`land`),request:I().min(1),land:qd}),V({type:U(`models`),request:I().min(1),cli:J}),V({type:U(`file`),request:I().min(1),read:Zd}),V({type:U(`changes`),request:I().min(1),read:ef}),V({type:U(`steer`),request:I().min(1),turnId:G,steer:af}),V({type:U(`stop`),request:I().min(1),turnId:G}),V({type:U(`sweep`),request:I().min(1),conversation:nf})]),Fl(`ok`,[V({ok:U(!0),value:Dl()}),V({ok:U(!1),error:I()})]),V({warm:B(I())}),V({files:zl(I(),I())}),V({paths:B(I())}),V({files:zl(I(),I())});var of=V({kind:H([`mention`,`stage`,`task_done`,`proposal_decided`,`heartbeat`,`reflection`,`onboarding`,`manual`,`ops_event`,`user_post`,`closing`]),from:W.optional(),fromUser:z().default(!1),reason:I().default(``),taskId:G.optional(),messageId:G.optional(),channel:K.optional()});V({agent:W,project:W,thread:V({id:G,task:z()}).optional(),channel:W.optional(),trigger:of,priority:R().int().min(0).max(2),onboarding:z().default(!1)});function sf(e){return e.thread??(e.channel===void 0?void 0:`#${e.channel}`)}function cf(e,t,n){return n===void 0?`${e}/${t}`:`${e}/${t}/${n}`}function lf(e){let[t,n,r,i]=e.split(`/`);return t===void 0||n===void 0||i!==void 0?null:r===void 0?{agent:t,scope:n}:r.startsWith(`#`)?{agent:t,scope:n,channel:r.slice(1)}:{agent:t,scope:n,thread:r}}function uf(e,t){let n=t.indexOf(`/`),r=n<0?Au:t.slice(0,n),i=n<0?t:t.slice(n+1);return r===e&&i!==`general`?i:void 0}V({id:G.optional(),agent:W,project:W,thread:G.optional(),channel:W.optional(),runner:W,cli:J.nullable(),session:I().nullable(),trigger:of,startedAt:q,endedAt:q.nullable(),exitReason:Rd.nullable(),status:Ld.nullable(),error:I().nullable(),usage:Fd.nullable(),costUsd:R().nonnegative().default(0),sessionCostUsd:R().nonnegative().optional(),toolCalls:R().int().nonnegative().default(0),model:I().nullable().default(null),work:Kd.optional(),stoppedBy:W.optional()});var df=V({turnId:G,agent:W,scope:W,thread:G.optional(),channel:W.optional(),cli:J,askedIn:K.optional(),steerable:z(),stoppable:z()});V({claude:I().optional(),codex:I().optional(),runner:W.optional()}),V({agent:W,project:W,reason:I().default(`manual wake`),kind:H([`manual`,`reflection`]).default(`manual`)});var ff=V({id:G,turnId:G.optional(),ts:q,outcome:H([`completed`,`failed`]),project:W,thread:G.optional(),channel:W.optional(),trigger:I(),exitReason:I().nullable(),costUsd:R(),usage:Fd.optional(),model:I().nullable(),summary:I().nullable(),error:I().nullable(),startedAt:q.optional(),toolCalls:R().int().nonnegative().optional()}),pf=H([`waiting_stage`,`backlog`,`role_gap`,`churn`,`stale_thread`,`idle_member`,`blocked_capability`,`turn_cost`,`scaled`,`runner`,`home_conflict`,`stuck_workspace`]),mf=[`backlog`,`role_gap`,`churn`,`stale_thread`,`idle_member`,`blocked_capability`,`scaled`],hf=V({kind:pf,key:I().min(1),summary:I().min(1),value:R(),threshold:R().optional(),project:W.optional(),agent:W.optional(),role:W.optional(),taskId:G.optional()}),gf=H([`24h`,`7d`,`all`]),Y=R().int().nonnegative(),_f=R().nonnegative(),vf=V({window:gf,since:q.nullable(),until:q,idle:V({turns:Y,idle:Y,unknown:Y,byTrigger:B(V({trigger:I(),turns:Y,idle:Y})),byAgent:B(V({agent:W,role:W.nullable(),turns:Y,idle:Y}))}),sentBack:V({finished:Y,sendBacks:Y,tasksSentBack:Y,byStage:B(V({project:W,stage:I(),count:Y})),bySender:B(V({agent:W,count:Y}))}),messages:V({finished:Y,messages:Y,byProject:B(V({project:W,finished:Y,messages:Y})),busiest:B(V({taskId:G,title:I(),project:W,messages:Y}))}),latency:V({mentions:Y,unanswered:Y,medianMs:_f.nullable(),slowestMs:_f.nullable(),byAgent:B(V({agent:W,mentions:Y,medianMs:_f,slowestMs:_f}))}),decisions:V({total:Y,byDay:B(V({day:I(),proposals:Y,answers:Y,stages:Y}))}),blocked:B(V({taskId:G,title:I().nullable(),project:W.nullable(),summary:I(),firstAt:q,lastAt:q,holds:z()}))}),yf=H([`trace`,`debug`,`info`,`warn`,`error`,`fatal`]),bf=V({clientId:I().min(1),clientSecret:I().min(1),users:B(I().min(1)).min(1)});V({dataDir:I().min(1),host:I().min(1),port:R().int().positive().max(65535),publicUrl:I().min(1).nullable(),logLevel:yf,concurrency:R().int().positive().nullable(),turnTimeoutMs:R().int().positive().nullable(),toolRounds:R().int().positive().nullable(),residentIdleMs:R().int().positive(),github:bf.nullable(),trustedProxies:R().int().min(0).max(16)}),V({serverUrl:I().url(),token:I().min(1).nullable(),dataDir:I().min(1),logLevel:yf,slots:R().int().positive().nullable(),clis:B(J).min(1),capabilities:B(I())});var xf=`stellaris.token`;function Sf(){return localStorage.getItem(xf)}function Cf(e){localStorage.setItem(xf,e)}function wf(){localStorage.removeItem(xf)}var Tf=V({github:z()});async function Ef(){try{let e=Tf.safeParse(await(await fetch(`/auth/config`)).json());return e.success?e.data:{github:!1}}catch{return{github:!1}}}var Df=class extends Error{status;constructor(e,t){super(t),this.status=e}},Of=V({name:W,role:W,signIn:V({login:I().min(1),avatarUrl:ol()}).optional()}),kf=ud.extend({profile:I()}).array(),Af=V({paused:z(),running:B(I()),pending:B(I()),resident:B(I()),signals:B(I()),turns:B(df).default([])});function jf(e){return e.flatMap(e=>{let t=lf(e);return t===null?[]:[t]})}var Mf=Ju.extend({body:I()}),Nf=Mf.array(),Pf=V({ref:K,project:W.nullable(),name:W,messages:R().int(),lastMessageId:G.nullable(),lastAt:I().nullable(),archived:Mu.optional()}),Ff=Qu.extend({body:I()}),If=Ff.extend({messages:R().int(),lastMessageId:G.nullable(),lastAuthor:W.nullable().default(null)}),Lf=V({thread:Ff,messages:Nf}),Rf=V({message:Mf,thread:Ff.nullable()}),zf=td.extend({body:I()}),Bf=Md.extend({body:I()}),Vf=kd.extend({body:I()}),Hf=V({body:I()});function Uf(e){return e.split(`/`).map(encodeURIComponent).join(`/`)}var Wf=V({message:I()});async function X(e,t,n){let r;try{r=await fetch(e,{headers:{authorization:`Bearer ${t}`}})}catch{throw new Df(0,`The board server is not reachable.`)}if(!r.ok){let t=Wf.safeParse(await r.json().catch(()=>null));throw new Df(r.status,t.success?t.data.message:`${e} answered ${r.status}`)}return n.parse(await r.json())}async function Z(e,t,n,r,i){let a;try{a=await fetch(t,{method:e,headers:{authorization:`Bearer ${n}`,"content-type":`application/json`},body:JSON.stringify(r)})}catch{throw new Df(0,`The board server is not reachable.`)}if(!a.ok){let e=Wf.safeParse(await a.json().catch(()=>null));throw new Df(a.status,e.success?e.data.message:`${t} answered ${a.status}`)}return i.parse(await a.json())}function Q(e,t,n,r){return Z(`POST`,`/api/verbs/${e}`,t,n,r)}var Gf=V({paused:z()}),Kf=V({version:I()}),qf=V({id:G,ts:I(),signal:hf}),Jf=ld.omit({tokenHash:!0}),Yf=V({signedOut:z()}),Xf=V({denied:z()}),Zf=V({stopped:z()});function Qf(e){return{me:()=>X(`/api/me`,e,Of),signOut:()=>Z(`DELETE`,`/api/sign-in`,e,{},Yf),society:()=>X(`/api/society`,e,Nu),version:async()=>(await X(`/api/version`,e,Kf)).version,members:()=>X(`/api/members`,e,kf),projects:()=>X(`/api/projects`,e,Gu.array()),roles:()=>X(`/api/roles`,e,vu.array()),scheduler:()=>X(`/api/scheduler`,e,Af),signals:t=>X(`/api/signals?limit=${t}`,e,qf.array()),metrics:t=>X(`/api/metrics?window=${t}`,e,vf),channels:()=>X(`/api/channels`,e,Pf.array()),channel:t=>X(`/api/channels/${Uf(t)}`,e,Nf),threads:()=>X(`/api/threads`,e,If.array()),requests:()=>X(`/api/requests`,e,Rf.array()),thread:t=>X(`/api/threads/${encodeURIComponent(t)}`,e,Lf),tasks:t=>X(`/api/projects/${encodeURIComponent(t)}/tasks`,e,zf.array()),task:t=>X(`/api/tasks/${encodeURIComponent(t)}`,e,zf),taskFile:(t,n)=>X(`/api/tasks/${encodeURIComponent(t)}/files${n.split(`/`).filter(e=>e!==``).map(e=>`/${encodeURIComponent(e)}`).join(``)}`,e,$d),taskChanges:t=>X(`/api/tasks/${encodeURIComponent(t)}/changes`,e,tf),proposals:()=>X(`/api/proposals`,e,Bf.array()),proposal:t=>X(`/api/proposals/${encodeURIComponent(t)}`,e,Bf),skills:()=>X(`/api/skills`,e,Cd.array()),turns:(t,n)=>X(`/api/agents/${encodeURIComponent(t)}/turns?limit=${n}`,e,ff.array()),transcript:(t,n)=>X(`/api/agents/${encodeURIComponent(t)}/turns/${encodeURIComponent(n)}`,e,Bd.array()),memory:t=>X(`/api/agents/${encodeURIComponent(t)}/memory`,e,Hf),agentSkills:t=>X(`/api/agents/${encodeURIComponent(t)}/skills`,e,Cd.array()),history:(t,n)=>X(`/api/agents/${encodeURIComponent(t)}/history?limit=${n}`,e,Dd),change:(t,n)=>X(`/api/agents/${encodeURIComponent(t)}/history/${encodeURIComponent(n)}`,e,Od.array()),conflicts:t=>X(`/api/agents/${encodeURIComponent(t)}/conflicts`,e,wd.array()),dashboard:t=>X(`/api/projects/${encodeURIComponent(t)}/dashboard`,e,jd),knowledge:t=>X(t===`society`?`/api/society/knowledge`:`/api/projects/${encodeURIComponent(t)}/knowledge`,e,Vf.array()),sendMessage:t=>Q(`post_message`,e,t,Mf),openThread:t=>Q(`open_thread`,e,t,Ff),closeThread:t=>Q(`close_thread`,e,t,Mf),approve:t=>Q(`approve`,e,t,Nd),reject:t=>Q(`reject`,e,t,Nd),advanceTask:t=>Q(`advance_task`,e,t,zf),configureProject:(t,n)=>Q(`configure_project`,e,{project:t,...n},Gu),createChannel:t=>Q(`create_channel`,e,t,K),archiveChannel:t=>Q(`archive_channel`,e,t,Mu),removeKnowledge:t=>Q(`remove_knowledge`,e,t,Ad),wake:t=>Z(`POST`,`/api/wake`,e,t,Pd),setPaused:t=>Z(`POST`,t?`/api/pause`:`/api/resume`,e,{},Gf),stopTurn:t=>Z(`POST`,`/api/turns/${encodeURIComponent(t)}/stop`,e,{},Zf),agentModels:t=>X(`/api/agents/${encodeURIComponent(t)}/models`,e,sd),runners:()=>X(`/api/runners`,e,fd.array()),enrollments:()=>X(`/api/enrollments`,e,Hd.array()),approveEnrollment:(t,n)=>Z(`POST`,`/api/enrollments/${encodeURIComponent(t)}/approve`,e,{name:n},fd),denyEnrollment:t=>Z(`POST`,`/api/enrollments/${encodeURIComponent(t)}/deny`,e,{},Xf),setRunner:(t,n)=>Z(`PUT`,`/api/agents/${encodeURIComponent(t)}/runner`,e,{runner:n},Jf),setModel:(t,n)=>Z(`PUT`,`/api/agents/${encodeURIComponent(t)}/model`,e,{model:n},Jf),setEffort:(t,n)=>Z(`PUT`,`/api/agents/${encodeURIComponent(t)}/effort`,e,{effort:n},Jf)}}var $f=(0,m.createContext)(null);function $(){let e=(0,m.useContext)($f);if(e===null)throw Error(`useSession needs a signed-in SessionContext`);return e}function ep(){let{api:e}=$();return x({queryKey:[`society`],queryFn:e.society,staleTime:6e4})}function tp(){let{api:e}=$();return x({queryKey:[`server-version`],queryFn:e.version,staleTime:1/0})}function np(){let{api:e}=$();return x({queryKey:[`me`],queryFn:e.me,staleTime:1/0})}function rp(){let{api:e}=$();return x({queryKey:[`members`],queryFn:e.members,refetchInterval:3e4})}function ip(){let{api:e}=$();return x({queryKey:[`projects`],queryFn:e.projects,refetchInterval:6e4})}function ap(){let{api:e}=$();return x({queryKey:[`roles`],queryFn:e.roles,refetchInterval:6e4})}function op(){let{api:e}=$();return x({queryKey:[`scheduler`],queryFn:e.scheduler,refetchInterval:3e3})}function sp(){let{api:e}=$();return x({queryKey:[`requests`],queryFn:e.requests,refetchInterval:6e4})}function cp(e){let{api:t}=$();return x({queryKey:[`signals`],queryFn:()=>t.signals(200),enabled:e,refetchInterval:6e4})}function lp(e){let{api:t}=$();return x({queryKey:[`metrics`,e],queryFn:()=>t.metrics(e),refetchInterval:6e4})}function up(){let{api:e}=$();return x({queryKey:[`channels`],queryFn:e.channels,refetchInterval:6e4})}function dp(){let{api:e}=$();return x({queryKey:[`threads`],queryFn:e.threads,refetchInterval:6e4})}function fp(e){let{api:t}=$();return x({queryKey:[`tasks`,e],queryFn:()=>t.tasks(e),refetchInterval:6e4})}function pp(e){return e.flatMap(e=>e.data??[])}function mp(){let{api:e}=$();return ft({queries:(ip().data??[]).map(t=>({queryKey:[`tasks`,t.slug],queryFn:()=>e.tasks(t.slug),refetchInterval:6e4})),combine:pp})}function hp(e){let{api:t}=$();return x({queryKey:[`task`,e],queryFn:()=>t.task(e??``),enabled:e!==null})}function gp(e,t){let{api:n}=$();return x({queryKey:[`task-file`,e,t],queryFn:()=>n.taskFile(e,t),staleTime:3e4,retry:(e,t)=>e<1&&!(t instanceof Df&&(t.status===404||t.status===503))})}function _p(e){let{api:t}=$();return x({queryKey:[`task-changes`,e],queryFn:()=>t.taskChanges(e),staleTime:3e4,retry:(e,t)=>e<1&&!(t instanceof Df&&(t.status===404||t.status===503))})}function vp(){let{api:e}=$();return x({queryKey:[`proposals`],queryFn:e.proposals,refetchInterval:6e4})}function yp(e){let{api:t}=$();return x({queryKey:[`proposal`,e],queryFn:()=>t.proposal(e)})}function bp(){let{api:e}=$();return x({queryKey:[`skills`],queryFn:e.skills,staleTime:6e4})}function xp(e,t){let{api:n}=$();return x({queryKey:[`turns`,e,t],queryFn:()=>n.turns(e,t),refetchInterval:6e4})}function Sp(e,t){let{api:n}=$();return x({queryKey:[`transcript`,e,t],queryFn:()=>n.transcript(e,t??``),enabled:t!==null,staleTime:1/0})}function Cp(e){let{api:t}=$();return x({queryKey:[`memory`,e],queryFn:()=>t.memory(e)})}function wp(e){let{api:t}=$();return x({queryKey:[`agent-skills`,e],queryFn:()=>t.agentSkills(e)})}function Tp(e,t){let{api:n}=$();return x({queryKey:[`history`,e,t],queryFn:()=>n.history(e,t),placeholderData:be})}function Ep(e,t,n){let{api:r}=$();return x({queryKey:[`home-change`,e,t],queryFn:()=>r.change(e,t),enabled:n,staleTime:1/0})}function Dp(e){let{api:t}=$();return x({queryKey:[`conflicts`,e],queryFn:()=>t.conflicts(e)})}function Op(e){let{api:t}=$();return x({queryKey:[`dashboard`,e],queryFn:()=>t.dashboard(e),refetchInterval:12e4})}function kp(e){let{api:t}=$();return x({queryKey:[`knowledge`,e],queryFn:()=>t.knowledge(e),refetchInterval:12e4})}function Ap(){let{api:e}=$();return x({queryKey:[`runners`],queryFn:()=>e.runners(),refetchInterval:6e4})}function jp(){let{api:e}=$();return x({queryKey:[`enrollments`],queryFn:e.enrollments,refetchInterval:5e3})}function Mp(e){let{api:t}=$();return x({queryKey:[`models`,`agent`,e],queryFn:()=>t.agentModels(e),staleTime:6e5,retry:!1})}function Np(e){let[t,n]=(0,m.useState)(()=>Date.now());return(0,m.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}var Pp=[[`day`,86400],[`hour`,3600],[`minute`,60]],Fp=new Intl.RelativeTimeFormat(`en`,{numeric:`auto`});function Ip(e,t){let n=Math.round((Date.parse(e)-t)/1e3);for(let[e,t]of Pp)if(Math.abs(n)>=t)return Fp.format(Math.round(n/t),e);return`just now`}function Lp(e){let t=Math.max(0,Math.round(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?`${n}m`:`${Math.floor(n/60)}h ${n%60}m`}function Rp(e,t=220){let n=(e.split(/\n\s*\n/).map(e=>e.trim()).find(e=>e.length>0&&!e.startsWith(`#`))??``).replaceAll(/[*_`>]/g,``).replaceAll(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1).trimEnd()}…`}export{Pd as $,ke as $t,bp as A,Dt as At,Ef as B,At as Bt,sp as C,z as Ct,tp as D,Vt as Dt,op as E,I as Et,fp as F,Mt as Ft,Sf as G,bt as Gt,Qf as H,mt as Ht,dp as I,ht as It,uf as J,ze as Jt,gf as K,x as Kt,Sp as L,Ot as Lt,hp as M,vt as Mt,_p as N,jt as Nt,$ as O,Ft as Ot,gp as P,St as Pt,Jd as Q,Ae as Qt,xp as R,_t as Rt,vp as S,B as St,Ap as T,zl as Tt,jf as U,yt as Ut,wf as V,Ct as Vt,Cf as W,kt as Wt,lf as X,Pe as Xt,sf as Y,Re as Yt,cf as Z,Ne as Zt,Cp as _,l as _n,vu as _t,Mp as a,ie as an,hd as at,ip as b,hu as bt,up as c,me as cn,vd as ct,Ep as d,te as dn,rd as dt,ae as en,Vd as et,Dp as f,g as fn,Sd as ft,rp as g,s as gn,ju as gt,np as h,o as hn,nd as ht,$f as i,se as in,gd as it,ep as j,Nt as jt,cp as k,Pt as kt,Op as l,Te as ln,Au as lt,kp as m,d as mn,qu as mt,Rp as n,le as nn,Eu as nt,wp as o,de as on,xd as ot,Tp as p,p as pn,ku as pt,mf as q,Ue as qt,Lp as r,ce as rn,yd as rt,mp as s,b as sn,_d as st,Ip as t,ue as tn,Id as tt,jp as u,Ce as un,bd as ut,lp as v,bu as vt,ap as w,V as wt,yp as x,mu as xt,Np as y,yu as yt,Df as z,gt as zt};
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);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Ls(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;Ls(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 Rs=new Set([`type`,`properties`,`required`,`additionalProperties`]),zs=[`oneOf`,`anyOf`];function Bs(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Vs(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Rs.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]??Bs(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}Xt(n,r,e.length===1?e[0]:Vs(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=Bs(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 Hs(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Rs)if(t in e)return;let n=t.filter(e=>zs.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Vs(t);else{let e=n[0],i=zs.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=>Vs([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Ms(e,r))}function Us(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)):Ms(i,s),Ms(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())Ls(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)??[])Hs(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)}Ms(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,Xt(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:Gs(t,`input`,e.processors),output:Gs(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function M(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 M(r.element,n);if(r.type===`set`)return M(r.valueType,n);if(r.type===`lazy`)return M(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 M(r.innerType,n);if(r.type===`intersection`)return M(r.left,n)||M(r.right,n);if(r.type===`record`||r.type===`map`)return M(r.keyType,n)||M(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:M(r.in,n)||M(r.out,n);if(r.type===`object`){for(let e in r.shape)if(M(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(M(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(M(e,n))return!0;return!!(r.rest&&M(r.rest,n))}return!1}var Ws=(e,t={})=>n=>{let r=Ns({...n,processors:t});return j(e,r),Is(r,e),Us(r,e)},Gs=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Ns({...i??{},target:a,io:t,processors:n});return j(e,o),Is(o,e),Us(o,e)},Ks=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},qs=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Js=(e,t)=>{Ks(e,`minimum`,t),qs(e,`maximum`,t)},Ys=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Xs=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},Zs=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Qs=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},$s=(e,t)=>Ks(e,`minimum`,t.minimum),ec=(e,t)=>qs(e,`maximum`,t.maximum),tc=e=>(t,n)=>{Qs(t,n.format);let[r,i]=e[n.format];Ks(t,`minimum`,r),qs(t,`maximum`,i)},nc={greater_than:(e,t)=>Ks(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>qs(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>Ys(e,t.value),number_format:tc(gn),bigint_format:tc(_n),min_length:$s,max_length:ec,length_equals:(e,t)=>Js(e,t.length),min_size:$s,max_size:ec,size_equals:(e,t)=>Js(e,t.size),string_format:(e,t)=>{Qs(e,t.format),t.pattern&&Xs(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)=>Zs(e,t.mime)};function N(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)nc[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&Ks(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&Ks(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&qs(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&qs(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&Ys(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&Zs(t,i.mime);for(let e of i.patterns??[])Xs(t,e);return t}var rc={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},ic=new Map([[la,Jr],[da,Yr]]),ac=e=>ic.get(e)??e,oc=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=N(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=rc[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(ac);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}))])}},sc=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=N(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)):Ps(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}))])}},cc=(e,t,n,r)=>{n.type=`boolean`},lc=(e,t,n,r)=>{n.not={}},uc=(e,t,n,r)=>{let i=e._zod.def,a=Ht(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},dc=(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(Ps(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(Ps(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}},fc=(e,t,n,r)=>{Ps(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},pc=(e,t,n,r)=>{Ps(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},mc=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=N(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=j(a.element,t,{...r,path:[...r.path,`items`]})};function hc(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?hc(t.out):t.type===`catch`?hc(t.innerType):e._zod.optin}var gc=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Ps(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)Xt(i.properties,e,j(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`?hc(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=j(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},_c=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>j(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},vc=(e,t,n,r)=>{let i=e._zod.def,a=j(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=j(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 yc(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=yc(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=>yc(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`)?oi:ai).source),p):p}var bc=new WeakMap;function xc(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 bc.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=yc(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 Sc=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=N(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=j(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)Xt(i.patternProperties,ac(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=j(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=bc.get(t);n||(n=[],bc.set(t,n),t.deferred.push(()=>xc(t))),n.push(e)}i.additionalProperties=j(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&hc(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))}},Cc=(e,t,n,r)=>{let i=e._zod.def,a=j(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`}]},wc=(e,t,n,r)=>{let i=e._zod.def;j(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Tc=Symbol();function Ec(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Ps(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Tc):JSON.parse(o)}var Dc=(e,t,n,r)=>{let i=e._zod.def;j(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=Ec(i.defaultValue,e,t,n,r);o!==Tc&&(n.default=o)},Oc=(e,t,n,r)=>{let i=e._zod.def;j(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=Ec(i.defaultValue,e,t,n,r);o!==Tc&&(n._prefault=o)},kc=(e,t,n,r)=>{let i=e._zod.def;j(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{Ps(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Ac=(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;j(o,t,r);let s=t.seen.get(e);s.ref=o},jc=(e,t,n,r)=>{let i=e._zod.def;j(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Mc=(e,t,n,r)=>{let i=e._zod.def;j(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Nc=new WeakSet([Object.prototype,Error.prototype]);function Pc(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 P=T(`ZodError`,(e,t)=>{cr.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);Nc.has(n)||(Nc.add(n),Pc(n,`format`,e=>t=>dr(e,t)),Pc(n,`flatten`,e=>t=>ur(e,t)),Pc(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Wt,2)}),Pc(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Wt,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Fc=pr(P),Ic=mr(P),Lc=hr(P),Rc=_r(P),zc=Cr(P),Bc=wr(P),Vc=Tr(P),Hc=Er(P),Uc=Dr(P),Wc=Or(P),Gc=kr(P),Kc=Ar(P);function qc(){E.localeError||D(wo())}function Jc(){E.memoizer||D({memoizer:xo()})}var F=T(`ZodType`,(e,t)=>(qc(),k.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(S(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 pn(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(uu(e,t))},superRefine(e,t){return this.check(du(e,t))},overwrite(e){return this.check(Ss(e))},optional(){return Gl(this)},exactOptional(){return ql(this)},nullable(){return Yl(this)},nullish(){return Gl(Yl(this))},nonoptional(e){return tu(this,e)},array(){return B(this)},or(e){return Nl([this,e])},and(e){return Ll(this,e)},transform(e){return au(this,Ul(e))},default(e){return Zl(this,e)},prefault(e){return $l(this,e)},catch(e){return ru(this,e)},pipe(e){return au(this,e)},readonly(){return cu(this)},describe(e){let t=this.clone();return Oo.add(t,{description:e}),t},meta(...e){if(e.length===0)return Oo.get(this);let t=this.clone();return Oo.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 Bn(this,`~standard`,{...ji(this),jsonSchema:{input:Gs(this,`input`),output:Gs(this,`output`)}})},set"~standard"(e){zn(this,`~standard`,e)},parse:function e(t,n){return Fc(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Ic(this,t,n,{callee:e})},safeParse(e,t){return Lc(this,e,t)},async safeParseAsync(e,t){return Rc(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){zn(this,`spa`,e)},validate(e,t){return br(this,e,t)},validateAsync(e,t){return Sr(this,e,t)},encode:function e(t,n){return zc(this,t,n,{callee:e})},decode:function e(t,n){return Bc(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Vc(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Hc(this,t,n,{callee:e})},safeEncode(e,t){return Uc(this,e,t)},safeDecode(e,t){return Wc(this,e,t)},async safeEncodeAsync(e,t){return Gc(this,e,t)},async safeDecodeAsync(e,t){return Kc(this,e,t)},toJSONSchema(e){return Ws(this,{})(e)},get description(){return Oo.get(this)?.description},get _def(){return this._zod.def}}),Yc=T(`_ZodString`,(e,t)=>{Mi.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oc(e,t,n,r)},Vn({format:e=>N(e).format??null,minLength:e=>N(e).minimum??null,maxLength:e=>N(e).maximum??null},{regex(...e){return this.check(gs(...e))},includes(...e){return this.check(ys(...e))},startsWith(...e){return this.check(bs(...e))},endsWith(...e){return this.check(xs(...e))},min(...e){return this.check(ms(...e))},max(...e){return this.check(ps(...e))},length(...e){return this.check(hs(...e))},nonempty(...e){return this.check(ms(1,...e))},lowercase(e){return this.check(_s(e))},uppercase(e){return this.check(vs(e))},trim(){return this.check(ws())},normalize(...e){return this.check(Cs(...e))},toLowerCase(){return this.check(Ts())},toUpperCase(){return this.check(Es())},slugify(){return this.check(Ds())}})),Xc=T(`ZodString`,(e,t)=>{Mi.init(e,t),Yc.init(e,t)},{email(e){return this.check(jo(tl,e))},url(e){return this.check(Lo(al,e))},jwt(e){return this.check(Qo(xl,e))},emoji(e){return this.check(Ro(sl,e))},guid(e){return this.check(Mo(nl,e))},uuid(e){return this.check(No(rl,e))},uuidv4(e){return this.check(Po(rl,e))},uuidv6(e){return this.check(Fo(rl,e))},uuidv7(e){return this.check(Io(rl,e))},nanoid(e){return this.check(zo(cl,e))},cuid(e){return this.check(Bo(ll,e))},cuid2(e){return this.check(Vo(ul,e))},ulid(e){return this.check(Ho(dl,e))},base64(e){return this.check(Yo(vl,e))},base64url(e){return this.check(Xo(yl,e))},xid(e){return this.check(Uo(fl,e))},ksuid(e){return this.check(Wo(pl,e))},ipv4(e){return this.check(Go(ml,e))},ipv6(e){return this.check(Ko(hl,e))},cidrv4(e){return this.check(qo(gl,e))},cidrv6(e){return this.check(Jo(_l,e))},e164(e){return this.check(Zo(bl,e))},datetime(e){return this.check($o(Zc,e))},date(e){return this.check(es(Qc,e))},time(e){return this.check(ts($c,e))},duration(e){return this.check(ns(el,e))}});function I(e){return Ao(Xc,e)}var L=T(`ZodStringFormat`,(e,t)=>{A.init(e,t),Yc.init(e,t)}),Zc=T(`ZodISODateTime`,(e,t)=>{Zi.init(e,t),L.init(e,t)}),Qc=T(`ZodISODate`,(e,t)=>{Qi.init(e,t),L.init(e,t)}),$c=T(`ZodISOTime`,(e,t)=>{$i.init(e,t),L.init(e,t)}),el=T(`ZodISODuration`,(e,t)=>{ea.init(e,t),L.init(e,t)}),tl=T(`ZodEmail`,(e,t)=>{Fi.init(e,t),L.init(e,t)}),nl=T(`ZodGUID`,(e,t)=>{Ni.init(e,t),L.init(e,t)}),rl=T(`ZodUUID`,(e,t)=>{Pi.init(e,t),L.init(e,t)});function il(e){return No(rl,e)}var al=T(`ZodURL`,(e,t)=>{Ui.init(e,t),L.init(e,t)});function ol(e){return Lo(al,e)}var sl=T(`ZodEmoji`,(e,t)=>{Wi.init(e,t),L.init(e,t)}),cl=T(`ZodNanoID`,(e,t)=>{Gi.init(e,t),L.init(e,t)}),ll=T(`ZodCUID`,(e,t)=>{Ki.init(e,t),L.init(e,t)}),ul=T(`ZodCUID2`,(e,t)=>{qi.init(e,t),L.init(e,t)}),dl=T(`ZodULID`,(e,t)=>{Ji.init(e,t),L.init(e,t)}),fl=T(`ZodXID`,(e,t)=>{Yi.init(e,t),L.init(e,t)}),pl=T(`ZodKSUID`,(e,t)=>{Xi.init(e,t),L.init(e,t)}),ml=T(`ZodIPv4`,(e,t)=>{ta.init(e,t),L.init(e,t)}),hl=T(`ZodIPv6`,(e,t)=>{ia.init(e,t),L.init(e,t)}),gl=T(`ZodCIDRv4`,(e,t)=>{aa.init(e,t),L.init(e,t)}),_l=T(`ZodCIDRv6`,(e,t)=>{sa.init(e,t),L.init(e,t)}),vl=T(`ZodBase64`,(e,t)=>{ua.init(e,t),L.init(e,t)}),yl=T(`ZodBase64URL`,(e,t)=>{pa.init(e,t),L.init(e,t)}),bl=T(`ZodE164`,(e,t)=>{ma.init(e,t),L.init(e,t)}),xl=T(`ZodJWT`,(e,t)=>{ga.init(e,t),L.init(e,t)}),Sl=T(`ZodNumber`,(e,t)=>{_a.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>sc(e,t,n,r),e.isFinite=!0},Vn({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=N(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=N(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=N(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>N(e).format??null},{gt(e,t){return this.check(us(e,t))},gte(e,t){return this.check(ds(e,t))},min(e,t){return this.check(ds(e,t))},lt(e,t){return this.check(cs(e,t))},lte(e,t){return this.check(ls(e,t))},max(e,t){return this.check(ls(e,t))},int(e){return this.check(wl(e))},safe(e){return this.check(wl(e))},positive(e){return this.check(us(0,e))},nonnegative(e){return this.check(ds(0,e))},negative(e){return this.check(cs(0,e))},nonpositive(e){return this.check(ls(0,e))},multipleOf(e,t){return this.check(fs(e,t))},step(e,t){return this.check(fs(e,t))},finite(){return this}}));function R(e){return rs(Sl,e)}var Cl=T(`ZodNumberFormat`,(e,t)=>{va.init(e,t),Sl.init(e,t)});function wl(e){return is(Cl,e)}var Tl=T(`ZodBoolean`,(e,t)=>{ya.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>cc(e,t,n,r)});function z(e){return as(Tl,e)}var El=T(`ZodUnknown`,(e,t)=>{ba.init(e,t),F.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Dl(){return os(El)}var Ol=T(`ZodNever`,(e,t)=>{xa.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lc(e,t,n,r)});function kl(e){return ss(Ol,e)}var Al=T(`ZodArray`,(e,t)=>{Jc(),Ca.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mc(e,t,n,r),e.element=t.element},{min(e,t){return this.check(ms(e,t))},nonempty(e){return this.check(ms(1,e))},max(e,t){return this.check(ps(e,t))},length(e,t){return this.check(hs(e,t))},unwrap(){return this.element}});function B(e,t){return Os(Al,e,t)}var jl=T(`ZodObject`,(e,t)=>{Jc(),ka.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gc(e,t,n,r),qn(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return H(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(S(this._zod.def,{catchall:e}))},passthrough(){return this.clone(S(this._zod.def,{catchall:Dl()}))},loose(){return this.clone(S(this._zod.def,{catchall:Dl()}))},strict(){return this.clone(S(this._zod.def,{catchall:kl()}))},strip(){return this.clone(S(this._zod.def,{catchall:void 0}))},extend(e){return xn(this,e)},safeExtend(e){return Cn(this,e)},merge(e){return wn(this,e)},pick(e){return vn(this,e)},omit(e){return bn(this,e)},partial(...e){return Tn(Wl,this,e[0])},exactPartial(...e){return Tn(Kl,this,e[0],`exactPartial`)},required(...e){return En(eu,this,e[0])}});function V(e,t){return new jl({type:`object`,shape:e??{},...C(t)})}var Ml=T(`ZodUnion`,(e,t)=>{ja.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_c(e,t,n,r),e.options=t.options});function Nl(e,t){return new Ml({type:`union`,options:e,...C(t)})}var Pl=T(`ZodDiscriminatedUnion`,(e,t)=>{Ml.init(e,t),Na.init(e,t)});function Fl(e,t,n){return new Pl({type:`union`,options:t,discriminator:e,...C(n)})}var Il=T(`ZodIntersection`,(e,t)=>{Pa.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vc(e,t,n,r)});function Ll(e,t){return new Il({type:`intersection`,left:e,right:t})}var Rl=T(`ZodRecord`,(e,t)=>{Jc(),La.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sc(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function zl(e,t,n){return!t||!t._zod?new Rl({type:`record`,keyType:I(),valueType:e,...C(t)}):new Rl({type:`record`,keyType:e,valueType:t,...C(n)})}var Bl=T(`ZodEnum`,(e,t)=>{Ra.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uc(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 Bl({...t,checks:[],...C(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 Bl({...t,checks:[],...C(r),entries:i})}});function H(e,t){return new Bl({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...C(t)})}var Vl=T(`ZodLiteral`,(e,t)=>{za.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>dc(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 U(e,t){return new Vl({type:`literal`,values:Array.isArray(e)?e:[e],...C(t)})}var Hl=T(`ZodTransform`,(e,t)=>{Jc(),Ba.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pc(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new tr(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Ln(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(Ln(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Ul(e){return new Hl({type:`transform`,transform:e})}var Wl=T(`ZodOptional`,(e,t)=>{Ha.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Gl(e){return new Wl({type:`optional`,innerType:e})}var Kl=T(`ZodExactOptional`,(e,t)=>{Ua.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ql(e){return new Kl({type:`optional`,innerType:e})}var Jl=T(`ZodNullable`,(e,t)=>{Wa.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Yl(e){return new Jl({type:`nullable`,innerType:e})}var Xl=T(`ZodDefault`,(e,t)=>{Ga.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Dc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Zl(e,t){return new Xl({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():un(t)}})}var Ql=T(`ZodPrefault`,(e,t)=>{qa.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $l(e,t){return new Ql({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():un(t)}})}var eu=T(`ZodNonOptional`,(e,t)=>{Ja.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tu(e,t){return new eu({type:`nonoptional`,innerType:e,...C(t)})}var nu=T(`ZodCatch`,(e,t)=>{Za.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ru(e,t){return new nu({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:Yn(t)})}var iu=T(`ZodPipe`,(e,t)=>{Qa.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ac(e,t,n,r),e.in=t.in,e.out=t.out});function au(e,t){return new iu({type:`pipe`,in:e,out:t})}var ou=T(`ZodPreprocess`,(e,t)=>{iu.init(e,t),eo.init(e,t)}),su=T(`ZodReadonly`,(e,t)=>{to.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function cu(e){return new su({type:`readonly`,innerType:e})}var lu=T(`ZodCustom`,(e,t)=>{ro.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fc(e,t,n,r)});function uu(e,t={}){return ks(lu,e,t)}function du(e,t){return As(e,t)}function fu(e,t){return new ou({type:`pipe`,in:Ul(e),out:t})}function pu(e){return $o(Zc,e)}var W=I().regex(/^[a-z0-9][a-z0-9-]{0,31}$/,`expected 1-32 lowercase letters, digits, or hyphens, starting with a letter or digit`),G=I().regex(/^[0-9A-HJKMNP-TV-Z]{26}$/,`expected a ULID`),K=I().regex(/^(?:[a-z0-9][a-z0-9-]{0,31}\/)?[a-z0-9][a-z0-9-]{0,31}$/,`expected <channel> or <project>/<channel>`);function mu(e){let t=e.indexOf(`/`);return t===-1?{project:null,channel:e}:{project:e.slice(0,t),channel:e.slice(t+1)}}function hu(e,t){return e===null?t:`${e}/${t}`}var q=fu(e=>e instanceof Date?e.toISOString():e,pu()),gu=H(`post_message.read_inbox.search.open_thread.close_thread.create_task.claim_task.release_task.update_task.get_task.subscribe.unsubscribe.propose.approve.reject.create_project.join_project.leave_project.write_knowledge.plan_task.advance_task.configure_project.archive_project.remove_knowledge.create_channel.archive_channel.update_dashboard`.split(`.`)),_u=H([`user_post`,`ops_event`,`heartbeat`]),vu=V({name:W,purpose:I().min(1),verbs:B(gu),wakeTriggers:B(_u).default([`heartbeat`]),reviewDate:I().optional(),maxReplicas:R().int().min(1).default(1),backlogThreshold:R().positive().default(3),resident:z().default(!1),societyScope:z().default(!1),reflects:z().default(!0)}),yu=`user`,bu=`user`,xu=[`post_message`,`read_inbox`,`search`,`open_thread`,`close_thread`,`create_task`,`claim_task`,`release_task`,`update_task`,`get_task`,`subscribe`,`unsubscribe`,`propose`,`join_project`,`leave_project`,`write_knowledge`,`remove_knowledge`,`plan_task`,`advance_task`,`update_dashboard`],Su=[`approve`,`reject`],Cu=[`create_project`],wu=[`configure_project`,`create_channel`,`archive_channel`],Tu=[`archive_project`];[...xu,...Su,...Cu,...wu,...Tu],[...xu,...Su,...wu],[...xu,...Cu,...wu];var Eu=`asks`,Du=[`general`,`governance`,Eu],Ou=[`general`];function ku(e,t){return(e===null?Du:Ou).includes(t)}var Au=`society`;function ju(e,t){return t!==null&&e.memberships.includes(t)?t:Au}var J=H([`claude`,`codex`]),Mu=V({name:W,at:q,by:W,reason:I().min(1)}),Nu=V({name:I().min(1),version:U(1),createdAt:q,channels:B(W),archivedChannels:B(Mu).default([])}),Pu=H([`none`,`merge`,`ghpr`]),Fu=I().trim().regex(/^https:\/\/github\.com\/([A-Za-z0-9-]+)\/([A-Za-z0-9._-]+)\/pull\/([1-9]\d*)\/?$/,`a pull request's address, https://github.com/<owner>/<repo>/pull/<number>`),Iu=I().trim().min(1).max(300).regex(/^[^\n]+$/,`a merge commit's subject is one line`),Lu=V({url:Fu,number:R().int().positive(),subject:Iu.optional(),body:I().max(2e4).optional(),linkedBy:W,linkedAt:q,closed:V({at:q,ok:z(),detail:I()}).optional()}),Ru=I().trim().min(1).max(100).regex(/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,`a branch name is letters, digits, and . _ / -`).refine(e=>!e.includes(`..`)&&!e.includes(`//`)&&!e.endsWith(`/`)&&!e.endsWith(`.`)&&!e.endsWith(`.lock`),`not a branch name git takes`).refine(e=>!e.startsWith(`task/`)&&!e.startsWith(`agent/`),`task/ and agent/ hold the board's own branches`),zu=I().regex(/^s[1-9][0-9]*$/,`expected a stage id such as s1`),Bu={name:I().trim().min(1).max(120),role:W.optional(),agent:W.optional(),gate:z().default(!1)};function Vu(e){return e.role===void 0||e.agent===void 0}var Hu={message:`a stage names a role or an agent, not both`},Uu=V(Bu).refine(Vu,Hu),Wu=V({id:zu.optional(),...Bu}).refine(Vu,Hu),Gu=V({slug:W,name:I().min(1),repo:I().nullable(),defaultBranch:I().min(1),channels:B(W),archivedChannels:B(Mu).default([]),members:B(W),approvers:B(W),requiredCapabilities:B(I()),createdAt:q,onDone:Pu.default(`none`),runner:W.optional(),archived:V({at:q,by:W,reason:I().min(1)}).optional()}),Ku=Nl([V({action:H([`advanced`,`returned`,`abandoned`,`landed`,`reopened`]),stage:zu,to:zu.nullable()}),V({action:H([`approved`,`rejected`])})]);function qu(e){return`stage`in e}var Ju=V({id:G,author:W,channel:K,thread:G.optional(),task:G.optional(),closes:G.optional(),step:Ku.optional(),ts:q,mentions:B(W)}),Yu=H([`open`,`claimed`,`done`,`abandoned`]),Xu=H([`open`,`closed`]),Zu=V({kind:H([`task`,`proposal`]),id:G}),Qu=V({id:G,channel:K,title:I().min(1).max(200),subject:Zu.optional(),state:Xu,openedBy:W,openedAt:q,closedBy:W.optional(),closedAt:q.optional()}),$u=V({id:zu,name:I().min(1),role:W.optional(),agent:W.optional(),gate:z().default(!1),holders:B(W).default([]),completedBy:W.optional(),completedAt:q.optional()}),ed=V({from:zu,by:W,at:q}),td=V({id:G,project:W,channel:W.default(`general`),title:I().min(1),status:Yu,createdBy:W,createdAt:q,updatedAt:q,claimedBy:W.optional(),leaseExpiresAt:q.optional(),parentId:G.optional(),blockedBy:B(G),requiredCapabilities:B(I()),stages:B($u).min(1),stage:zu,stageSince:q,stageSeq:R().int().positive(),onDone:Pu.default(`none`),pullRequest:Lu.optional(),completing:z().default(!1),returned:ed.optional()});function nd(e,t){return e.stages.findIndex(e=>e.id===t)}function rd(e){return e.stages.find(t=>t.id===e.stage)}var id=I().trim().min(1).max(120).regex(/^[\w.:/[\]-]+$/,`a model name is one word of letters, digits, and . _ : / - [ ]`),ad=I().trim().min(1).max(32).regex(/^[a-z][a-z0-9_-]*$/,`an effort is one lowercase word, such as high`),od=V({id:ad,description:I().default(``)}),sd=V({runner:W,cli:J,models:B(V({id,name:I(),description:I().default(``),isDefault:z().default(!1),efforts:B(od).default([]),defaultEffort:ad.optional()}))}),cd=H([`active`,`retired`]),ld=V({name:W,role:W,cli:J.nullable(),model:I().optional(),effort:I().optional(),homeRunner:W.optional(),memberships:B(W),subscriptions:B(K),status:cd,createdAt:q,tokenHash:I().min(1),retiredAt:q.optional(),retiredReason:I().optional()}),ud=V({name:W,role:W,cli:J.nullable(),homeRunner:W.optional(),status:cd,resident:z().default(!1),model:I().optional(),lastModel:I().optional(),effort:I().optional(),skills:B(W).default([]),memberships:B(W),subscriptions:B(K),claimsHeld:R().int().nonnegative().default(0),tasksDone:R().int().nonnegative().default(0),lastTurnAt:q.optional(),lastTurnOutcome:I().optional(),createdAt:q,retiredAt:q.optional()}),dd=H([`linux`,`windows`,`darwin`]),fd=V({name:W,os:dd,clis:B(J),capabilities:B(I()),version:I().optional(),status:H([`connected`,`disconnected`]),lastSeen:q.optional()}),pd=H([`role`,`member`,`channel`,`reallocation`,`retirement`,`skill`,`archive`]),md=H([`proposed`,`approved`,`rejected`,`provisioned`,`retired`]),hd=V({name:W,role:W,cli:J,model:I().optional(),homeRunner:W.optional(),memberships:B(W).default([]),subscriptions:B(K).default([]),seedInstructions:I().optional()}),gd=V({project:W.nullable().default(null),name:W,purpose:I().min(1)}),_d=V({description:I().min(1)}),vd=V({agent:W,reason:I().min(1)}),yd=V({project:W,reason:I().min(1)}),bd=V({name:W,summary:I().min(1).max(200),body:I().min(1)}),xd={role:[yu],member:[yu],retirement:[yu],archive:[yu],channel:[yu,`steward`],reallocation:[yu,`steward`],skill:[yu,`steward`]};function Sd(e,t){switch(e){case`member`:{let e=hd.safeParse(t);if(!e.success)break;let{name:n,role:r,cli:i,memberships:a}=e.data;return`member ${n} as ${r} on ${i}${a.length===0?``:` for ${a.join(`, `)}`}`}case`role`:{let e=vu.safeParse(t);if(!e.success)break;let{name:n,verbs:r,maxReplicas:i}=e.data;return`role ${n} (${r.length} verbs, up to ${i} per project)`}case`channel`:{let e=gd.safeParse(t);if(!e.success)break;return`channel ${hu(e.data.project,e.data.name)}: ${e.data.purpose}`}case`retirement`:{let e=vd.safeParse(t);if(!e.success)break;return`retirement of ${e.data.agent}: ${e.data.reason}`}case`reallocation`:{let e=_d.safeParse(t);if(!e.success)break;return`reallocation: ${e.data.description}`}case`skill`:{let e=bd.safeParse(t);if(!e.success)break;return`skill ${e.data.name}: ${e.data.summary.trim().replace(/\.+$/,``)}`}case`archive`:{let e=yd.safeParse(t);if(!e.success)break;return`archive of project ${e.data.project}: ${e.data.reason}`}}return`${e} ${JSON.stringify(t)}`}var Cd=V({name:W,summary:I().default(``),scope:H([`own`,`society`]),path:I().min(1)}),wd=V({path:I().min(1),file:I().min(1),since:q}),Td=I().regex(/^[0-9a-f]{40}([0-9a-f]{24})?$/),Ed=V({path:I().min(1),status:H([`added`,`modified`,`deleted`]),added:R().int().nonnegative().nullable(),removed:R().int().nonnegative().nullable()}),Dd=V({changes:B(V({commit:Td,at:q,kind:H([`turn`,`board`,`merge`]),author:I(),turnId:G.optional(),subject:I(),files:B(Ed)})),more:z()}),Od=Ed.pick({path:!0,status:!0}).extend({patch:I().nullable(),truncated:z()}),kd=V({topic:W,project:W.nullable(),updatedBy:W,updatedAt:q}),Ad=V({topic:W,project:W.nullable(),removedBy:W,removedAt:q}),jd=V({project:W,revision:R().int().min(0),updatedBy:W.optional(),updatedAt:q.optional(),body:I()}),Md=V({id:G,kind:pd,proposedBy:W,status:md,createdAt:q,filedFrom:V({scope:W,thread:G.optional(),channel:W.optional()}).optional(),decidedBy:W.optional(),decidedAt:q.optional(),reason:I().optional(),charter:zl(I(),Dl()),provisionedAt:q.optional(),provision:zl(I(),Dl()).optional()}),Nd=V({id:G,proposalId:G,decidedBy:W,outcome:H([`approved`,`rejected`]),reason:I().optional(),ts:q});V({channel:K.optional(),body:I().min(1),thread_id:G.optional()}),V({since_cursor:G.nullable().optional(),limit:R().int().positive().max(200).default(50),advance:z().default(!0)}),V({query:I().min(1),project:W.optional(),channel:K.optional(),limit:R().int().positive().max(100).default(20)}),V({task_id:G.optional(),proposal_id:G.optional(),channel:K.optional(),title:I().min(1).max(200).optional()}),V({thread_id:G,summary:I().min(1)}),V({project:W,title:I().min(1).max(200),body:I().default(``),parent_id:G.optional(),required_capabilities:B(I()).default([]),stages:B(Uu).min(1).optional(),channel:W.default(`general`)}),V({task_id:G}),V({task_id:G}),V({task_id:G,stage:zu.optional(),status:H([`abandoned`]).optional(),note:I().min(1).optional(),blocked_by:B(G).optional(),pull_request:V({url:Fu,merge_subject:Iu.optional(),merge_body:I().max(2e4).optional()}).nullable().optional()}),V({task_id:G}),V({channel:K}),V({channel:K}),V({kind:pd,charter:zl(I(),Dl()),rationale:I().default(``)}),V({proposal_id:G,reason:I().optional()}),V({proposal_id:G,reason:I().min(1)}),V({slug:W,name:I().min(1).optional(),repo:I().min(1).nullable().default(null),default_branch:Ru.default(`main`),on_done:Pu.optional()}),V({project:W,agent:W.optional()}),V({project:W,agent:W.optional()}),V({project:W.nullable().default(null),topic:W,body:I().min(1)}),V({project:W.nullable().default(null),topic:W}),V({task_id:G,stages:B(Wu),on_done:Pu.optional()}),V({task_id:G,note:I().min(1).optional()}),V({project:W,on_done:Pu.optional(),name:I().trim().min(1).max(120).optional(),default_branch:Ru.optional()}),V({project:W,reason:I().min(1)}),V({project:W.nullable().default(null),name:W,purpose:I().min(1)}),V({channel:K,reason:I().min(1)}),V({project:W,body:I().min(1),revision:R().int().min(0)});var Pd=V({id:G,ts:q,type:H(`society.initialized,project.added,project.configured,project.archived,project.placed,agent.added,agent.configured,agent.placed,message.posted,thread.opened,thread.closed,task.created,task.claimed,task.released,task.updated,task.planned,task.advanced,task.moved,task.completing,task.completed,task.reopened,lease.expired,subscription.changed,proposal.created,proposal.decided,proposal.provisioned,channel.added,channel.archived,role.added,agent.retired,agent.joined,agent.left,knowledge.written,knowledge.removed,dashboard.updated,skill.promoted,runner.added,user.signed_in,user.signed_out,user.token_rotated,runner.changed,ops.signal,paused.changed,wake.requested,turn.started,turn.steered,turn.stopped,turn.completed,turn.failed,merge.completed,merge.failed,pull_request.closed,pull_request.close_failed,workspace.leftovers`.split(`,`)),actor:W,payload:zl(I(),Dl())}),Fd=V({inputTokens:R().int().nonnegative(),outputTokens:R().int().nonnegative(),cacheReadTokens:R().int().nonnegative().default(0),cacheWriteTokens:R().int().nonnegative().default(0)});function Id(e,t){return{inputTokens:e.inputTokens+t.inputTokens,outputTokens:e.outputTokens+t.outputTokens,cacheReadTokens:e.cacheReadTokens+t.cacheReadTokens,cacheWriteTokens:e.cacheWriteTokens+t.cacheWriteTokens}}var Ld=V({summary:I().min(1),claimsHeld:B(G).default([]),blockedOn:B(I()).default([]),needsUserDecision:z().default(!1),memoryUpdated:z().default(!1)}),Rd=H([`completed`,`timeout`,`error`,`interrupted`,`blocked`,`stopped`]),zd=Fl(`type`,[V({type:U(`turn_started`),agent:W,session:I(),runner:W,model:I().optional()}),V({type:U(`steered`),steer:I().min(1),messages:B(G).optional(),text:I().optional()}),V({type:U(`text`),delta:I()}),V({type:U(`tool_call`),name:I(),input:Dl()}),V({type:U(`tool_result`),name:I(),ok:z(),output:I().optional()}),V({type:U(`approval_requested`),kind:I(),detail:Dl()}),V({type:U(`turn_completed`),usage:Fd,costUsd:R().nonnegative(),status:Ld.nullable(),exitReason:Rd}),V({type:U(`error`),message:I()})]),Bd=V({ts:q,event:zd}),Vd=V({seq:R().int().positive(),ts:q,agent:W,project:W,thread:G.optional(),channel:W.optional(),event:zd});V({protocol:R().int().positive(),version:I().min(1),os:dd,clis:B(J),residentClis:B(J).default([]),steerableClis:B(J).default([]),stoppableClis:B(J).default([]),branchReads:z().default(!1),branchChanges:z().default(!1),capabilities:B(I()).default([]),slots:R().int().positive().nullable(),turns:B(G).default([])}),V({name:W,version:I()}),V({protocol:R().int().positive(),version:I().min(1).max(64),hostname:I().min(1).max(253),os:dd,clis:B(J).max(8),capabilities:B(I().min(1).max(64)).max(32).default([])}),V({deviceCode:I().min(1),userCode:I().min(1),expiresAt:q,intervalMs:R().int().positive()}),V({deviceCode:I().min(1)}),Fl(`status`,[V({status:U(`pending`)}),V({status:U(`approved`),name:W,token:I().min(1)}),V({status:U(`denied`)})]);var Hd=V({userCode:I().min(1),hostname:I(),os:dd,clis:B(J),capabilities:B(I()),version:I(),requestedAt:q,expiresAt:q}),Ud=V({slug:W,origin:I().nullable(),defaultBranch:I().min(1),boardLands:z()}),Wd=Fl(`kind`,[V({kind:U(`home`),thread:G.optional(),channel:W.optional()}),V({kind:U(`project`),repo:Ud,branches:B(I().min(1)),thread:G.optional(),channel:W.optional()}),V({kind:U(`task`),repo:Ud,taskId:G})]),Gd=V({turnId:G,agent:W,role:W,cli:J,model:I().optional(),effort:I().optional(),scope:W,thread:G.optional(),channel:W.optional(),session:I().min(1).nullable(),costSoFarUsd:R().nonnegative(),instructions:I(),prompt:I(),mcp:V({url:I().min(1),token:I().min(1)}),limits:V({timeoutMs:R().int().positive().nullable(),maxTurns:R().int().positive().nullable()}),resident:V({key:I().min(1),idleMs:R().int().positive()}).optional(),workspace:Wd}),Kd=V({branch:I().min(1),head:I().min(1)});V({entries:B(Bd)}),V({exitReason:Rd,status:Ld.nullable(),error:I().nullable(),usage:Fd,costUsd:R().nonnegative(),sessionCostUsd:R().nonnegative().optional(),session:I().min(1),model:I().nullable(),work:Kd.nullable(),leftovers:z().default(!1)}),V({dropWorkspace:z()});var qd=V({repo:Ud,branch:I().min(1),pullRequest:V({url:I().min(1),subject:I().min(1).optional(),body:I().optional()}).optional()}),Jd=V({repo:Ud,url:I().min(1),comment:I().min(1)});V({ok:z(),detail:I()});var Yd=8388608,Xd=I().max(4096).refine(e=>e===``||e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`&&!e.includes(`\0`)),{message:"a path inside the branch, with no empty, `.`, or `..` segment"}),Zd=I().regex(/^[A-Za-z0-9][A-Za-z0-9._/-]*$/),Qd=V({repo:Ud,branch:Zd,path:Xd}),$d=V({id:I().min(1),at:q,author:I()}),ef=Fl(`kind`,[V({kind:U(`file`),path:Xd,commit:$d,size:R().int().nonnegative(),content:I().nullable()}),V({kind:U(`dir`),path:Xd,commit:$d,entries:B(V({name:I().min(1),kind:H([`file`,`dir`]),size:R().int().nonnegative().nullable()}))})]),tf=V({repo:Ud,branch:Zd}),nf=V({head:$d,files:B(V({path:I().min(1),status:H([`added`,`modified`,`deleted`]),added:R().int().nonnegative().nullable(),removed:R().int().nonnegative().nullable(),lastChange:V({author:I(),at:q}).optional()})),total:R().int().nonnegative()}),rf=Fl(`kind`,[V({kind:U(`thread`),id:G}),V({kind:U(`channel`),scope:W,name:W})]),af=V({agent:W,scope:W,conversation:rf});V({workspaces:B(af)}),V({kept:B(af)});var of=V({id:il(),text:I().min(1)});Fl(`type`,[V({type:U(`turn`),job:Gd}),V({type:U(`land`),request:I().min(1),land:qd}),V({type:U(`close`),request:I().min(1),close:Jd}),V({type:U(`models`),request:I().min(1),cli:J}),V({type:U(`file`),request:I().min(1),read:Qd}),V({type:U(`changes`),request:I().min(1),read:tf}),V({type:U(`steer`),request:I().min(1),turnId:G,steer:of}),V({type:U(`stop`),request:I().min(1),turnId:G}),V({type:U(`sweep`),request:I().min(1),conversation:rf})]),Fl(`ok`,[V({ok:U(!0),value:Dl()}),V({ok:U(!1),error:I()})]),V({warm:B(I())}),V({files:zl(I(),I())}),V({paths:B(I())}),V({files:zl(I(),I())});var sf=V({kind:H([`mention`,`stage`,`task_done`,`proposal_decided`,`heartbeat`,`reflection`,`onboarding`,`manual`,`ops_event`,`user_post`,`closing`]),from:W.optional(),fromUser:z().default(!1),reason:I().default(``),taskId:G.optional(),messageId:G.optional(),channel:K.optional()});V({agent:W,project:W,thread:V({id:G,task:z()}).optional(),channel:W.optional(),trigger:sf,priority:R().int().min(0).max(2),onboarding:z().default(!1)});function cf(e){return e.thread??(e.channel===void 0?void 0:`#${e.channel}`)}function lf(e,t,n){return n===void 0?`${e}/${t}`:`${e}/${t}/${n}`}function uf(e){let[t,n,r,i]=e.split(`/`);return t===void 0||n===void 0||i!==void 0?null:r===void 0?{agent:t,scope:n}:r.startsWith(`#`)?{agent:t,scope:n,channel:r.slice(1)}:{agent:t,scope:n,thread:r}}function df(e,t){let n=t.indexOf(`/`),r=n<0?Au:t.slice(0,n),i=n<0?t:t.slice(n+1);return r===e&&i!==`general`?i:void 0}V({id:G.optional(),agent:W,project:W,thread:G.optional(),channel:W.optional(),runner:W,cli:J.nullable(),session:I().nullable(),trigger:sf,startedAt:q,endedAt:q.nullable(),exitReason:Rd.nullable(),status:Ld.nullable(),error:I().nullable(),usage:Fd.nullable(),costUsd:R().nonnegative().default(0),sessionCostUsd:R().nonnegative().optional(),toolCalls:R().int().nonnegative().default(0),model:I().nullable().default(null),work:Kd.optional(),stoppedBy:W.optional()});var ff=V({turnId:G,agent:W,scope:W,thread:G.optional(),channel:W.optional(),cli:J,askedIn:K.optional(),steerable:z(),stoppable:z()});V({claude:I().optional(),codex:I().optional(),runner:W.optional()}),V({agent:W,project:W,reason:I().default(`manual wake`),kind:H([`manual`,`reflection`]).default(`manual`)});var pf=V({id:G,turnId:G.optional(),ts:q,outcome:H([`completed`,`failed`]),project:W,thread:G.optional(),channel:W.optional(),trigger:I(),exitReason:I().nullable(),costUsd:R(),usage:Fd.optional(),model:I().nullable(),summary:I().nullable(),error:I().nullable(),startedAt:q.optional(),toolCalls:R().int().nonnegative().optional()}),mf=H([`waiting_stage`,`backlog`,`role_gap`,`churn`,`stale_thread`,`idle_member`,`blocked_capability`,`turn_cost`,`scaled`,`runner`,`home_conflict`,`stuck_workspace`]),hf=[`backlog`,`role_gap`,`churn`,`stale_thread`,`idle_member`,`blocked_capability`,`scaled`],gf=V({kind:mf,key:I().min(1),summary:I().min(1),value:R(),threshold:R().optional(),project:W.optional(),agent:W.optional(),role:W.optional(),taskId:G.optional()}),_f=H([`24h`,`7d`,`all`]),Y=R().int().nonnegative(),vf=R().nonnegative(),yf=V({window:_f,since:q.nullable(),until:q,idle:V({turns:Y,idle:Y,unknown:Y,byTrigger:B(V({trigger:I(),turns:Y,idle:Y})),byAgent:B(V({agent:W,role:W.nullable(),turns:Y,idle:Y}))}),sentBack:V({finished:Y,sendBacks:Y,tasksSentBack:Y,byStage:B(V({project:W,stage:I(),count:Y})),bySender:B(V({agent:W,count:Y}))}),messages:V({finished:Y,messages:Y,byProject:B(V({project:W,finished:Y,messages:Y})),busiest:B(V({taskId:G,title:I(),project:W,messages:Y}))}),latency:V({mentions:Y,unanswered:Y,medianMs:vf.nullable(),slowestMs:vf.nullable(),byAgent:B(V({agent:W,mentions:Y,medianMs:vf,slowestMs:vf}))}),decisions:V({total:Y,byDay:B(V({day:I(),proposals:Y,answers:Y,stages:Y}))}),blocked:B(V({taskId:G,title:I().nullable(),project:W.nullable(),summary:I(),firstAt:q,lastAt:q,holds:z()}))}),bf=H([`trace`,`debug`,`info`,`warn`,`error`,`fatal`]),xf=V({clientId:I().min(1),clientSecret:I().min(1),users:B(I().min(1)).min(1)});V({dataDir:I().min(1),host:I().min(1),port:R().int().positive().max(65535),publicUrl:I().min(1).nullable(),logLevel:bf,concurrency:R().int().positive().nullable(),turnTimeoutMs:R().int().positive().nullable(),toolRounds:R().int().positive().nullable(),residentIdleMs:R().int().positive(),github:xf.nullable(),trustedProxies:R().int().min(0).max(16)}),V({serverUrl:I().url(),token:I().min(1).nullable(),dataDir:I().min(1),logLevel:bf,slots:R().int().positive().nullable(),clis:B(J).min(1),capabilities:B(I())});var Sf=`stellaris.token`;function Cf(){return localStorage.getItem(Sf)}function wf(e){localStorage.setItem(Sf,e)}function Tf(){localStorage.removeItem(Sf)}var Ef=V({github:z()});async function Df(){try{let e=Ef.safeParse(await(await fetch(`/auth/config`)).json());return e.success?e.data:{github:!1}}catch{return{github:!1}}}var Of=class extends Error{status;constructor(e,t){super(t),this.status=e}},kf=V({name:W,role:W,signIn:V({login:I().min(1),avatarUrl:ol()}).optional()}),Af=ud.extend({profile:I()}).array(),jf=V({paused:z(),running:B(I()),pending:B(I()),resident:B(I()),signals:B(I()),turns:B(ff).default([])});function Mf(e){return e.flatMap(e=>{let t=uf(e);return t===null?[]:[t]})}var Nf=Ju.extend({body:I()}),Pf=Nf.array(),Ff=V({ref:K,project:W.nullable(),name:W,messages:R().int(),lastMessageId:G.nullable(),lastAt:I().nullable(),archived:Mu.optional()}),If=Qu.extend({body:I()}),Lf=If.extend({messages:R().int(),lastMessageId:G.nullable(),lastAuthor:W.nullable().default(null)}),Rf=V({thread:If,messages:Pf}),zf=V({message:Nf,thread:If.nullable()}),Bf=td.extend({body:I()}),Vf=Md.extend({body:I()}),Hf=kd.extend({body:I()}),Uf=V({body:I()});function Wf(e){return e.split(`/`).map(encodeURIComponent).join(`/`)}var Gf=V({message:I()});async function X(e,t,n){let r;try{r=await fetch(e,{headers:{authorization:`Bearer ${t}`}})}catch{throw new Of(0,`The board server is not reachable.`)}if(!r.ok){let t=Gf.safeParse(await r.json().catch(()=>null));throw new Of(r.status,t.success?t.data.message:`${e} answered ${r.status}`)}return n.parse(await r.json())}async function Z(e,t,n,r,i){let a;try{a=await fetch(t,{method:e,headers:{authorization:`Bearer ${n}`,"content-type":`application/json`},body:JSON.stringify(r)})}catch{throw new Of(0,`The board server is not reachable.`)}if(!a.ok){let e=Gf.safeParse(await a.json().catch(()=>null));throw new Of(a.status,e.success?e.data.message:`${t} answered ${a.status}`)}return i.parse(await a.json())}function Q(e,t,n,r){return Z(`POST`,`/api/verbs/${e}`,t,n,r)}var Kf=V({paused:z()}),qf=V({version:I()}),Jf=V({id:G,ts:I(),signal:gf}),Yf=ld.omit({tokenHash:!0}),Xf=V({signedOut:z()}),Zf=V({denied:z()}),Qf=V({stopped:z()});function $f(e){return{me:()=>X(`/api/me`,e,kf),signOut:()=>Z(`DELETE`,`/api/sign-in`,e,{},Xf),society:()=>X(`/api/society`,e,Nu),version:async()=>(await X(`/api/version`,e,qf)).version,members:()=>X(`/api/members`,e,Af),projects:()=>X(`/api/projects`,e,Gu.array()),roles:()=>X(`/api/roles`,e,vu.array()),scheduler:()=>X(`/api/scheduler`,e,jf),signals:t=>X(`/api/signals?limit=${t}`,e,Jf.array()),metrics:t=>X(`/api/metrics?window=${t}`,e,yf),channels:()=>X(`/api/channels`,e,Ff.array()),channel:t=>X(`/api/channels/${Wf(t)}`,e,Pf),threads:()=>X(`/api/threads`,e,Lf.array()),requests:()=>X(`/api/requests`,e,zf.array()),thread:t=>X(`/api/threads/${encodeURIComponent(t)}`,e,Rf),tasks:t=>X(`/api/projects/${encodeURIComponent(t)}/tasks`,e,Bf.array()),task:t=>X(`/api/tasks/${encodeURIComponent(t)}`,e,Bf),taskFile:(t,n)=>X(`/api/tasks/${encodeURIComponent(t)}/files${n.split(`/`).filter(e=>e!==``).map(e=>`/${encodeURIComponent(e)}`).join(``)}`,e,ef),taskChanges:t=>X(`/api/tasks/${encodeURIComponent(t)}/changes`,e,nf),proposals:()=>X(`/api/proposals`,e,Vf.array()),proposal:t=>X(`/api/proposals/${encodeURIComponent(t)}`,e,Vf),skills:()=>X(`/api/skills`,e,Cd.array()),turns:(t,n)=>X(`/api/agents/${encodeURIComponent(t)}/turns?limit=${n}`,e,pf.array()),transcript:(t,n)=>X(`/api/agents/${encodeURIComponent(t)}/turns/${encodeURIComponent(n)}`,e,Bd.array()),memory:t=>X(`/api/agents/${encodeURIComponent(t)}/memory`,e,Uf),agentSkills:t=>X(`/api/agents/${encodeURIComponent(t)}/skills`,e,Cd.array()),history:(t,n)=>X(`/api/agents/${encodeURIComponent(t)}/history?limit=${n}`,e,Dd),change:(t,n)=>X(`/api/agents/${encodeURIComponent(t)}/history/${encodeURIComponent(n)}`,e,Od.array()),conflicts:t=>X(`/api/agents/${encodeURIComponent(t)}/conflicts`,e,wd.array()),dashboard:t=>X(`/api/projects/${encodeURIComponent(t)}/dashboard`,e,jd),knowledge:t=>X(t===`society`?`/api/society/knowledge`:`/api/projects/${encodeURIComponent(t)}/knowledge`,e,Hf.array()),sendMessage:t=>Q(`post_message`,e,t,Nf),openThread:t=>Q(`open_thread`,e,t,If),closeThread:t=>Q(`close_thread`,e,t,Nf),approve:t=>Q(`approve`,e,t,Nd),reject:t=>Q(`reject`,e,t,Nd),advanceTask:t=>Q(`advance_task`,e,t,Bf),configureProject:(t,n)=>Q(`configure_project`,e,{project:t,...n},Gu),createChannel:t=>Q(`create_channel`,e,t,K),archiveChannel:t=>Q(`archive_channel`,e,t,Mu),removeKnowledge:t=>Q(`remove_knowledge`,e,t,Ad),wake:t=>Z(`POST`,`/api/wake`,e,t,Pd),setPaused:t=>Z(`POST`,t?`/api/pause`:`/api/resume`,e,{},Kf),stopTurn:t=>Z(`POST`,`/api/turns/${encodeURIComponent(t)}/stop`,e,{},Qf),agentModels:t=>X(`/api/agents/${encodeURIComponent(t)}/models`,e,sd),runners:()=>X(`/api/runners`,e,fd.array()),enrollments:()=>X(`/api/enrollments`,e,Hd.array()),approveEnrollment:(t,n)=>Z(`POST`,`/api/enrollments/${encodeURIComponent(t)}/approve`,e,{name:n},fd),denyEnrollment:t=>Z(`POST`,`/api/enrollments/${encodeURIComponent(t)}/deny`,e,{},Zf),setRunner:(t,n)=>Z(`PUT`,`/api/agents/${encodeURIComponent(t)}/runner`,e,{runner:n},Yf),setModel:(t,n)=>Z(`PUT`,`/api/agents/${encodeURIComponent(t)}/model`,e,{model:n},Yf),setEffort:(t,n)=>Z(`PUT`,`/api/agents/${encodeURIComponent(t)}/effort`,e,{effort:n},Yf)}}var ep=(0,m.createContext)(null);function $(){let e=(0,m.useContext)(ep);if(e===null)throw Error(`useSession needs a signed-in SessionContext`);return e}function tp(){let{api:e}=$();return x({queryKey:[`society`],queryFn:e.society,staleTime:6e4})}function np(){let{api:e}=$();return x({queryKey:[`server-version`],queryFn:e.version,staleTime:1/0})}function rp(){let{api:e}=$();return x({queryKey:[`me`],queryFn:e.me,staleTime:1/0})}function ip(){let{api:e}=$();return x({queryKey:[`members`],queryFn:e.members,refetchInterval:3e4})}function ap(){let{api:e}=$();return x({queryKey:[`projects`],queryFn:e.projects,refetchInterval:6e4})}function op(){let{api:e}=$();return x({queryKey:[`roles`],queryFn:e.roles,refetchInterval:6e4})}function sp(){let{api:e}=$();return x({queryKey:[`scheduler`],queryFn:e.scheduler,refetchInterval:3e3})}function cp(){let{api:e}=$();return x({queryKey:[`requests`],queryFn:e.requests,refetchInterval:6e4})}function lp(e){let{api:t}=$();return x({queryKey:[`signals`],queryFn:()=>t.signals(200),enabled:e,refetchInterval:6e4})}function up(e){let{api:t}=$();return x({queryKey:[`metrics`,e],queryFn:()=>t.metrics(e),refetchInterval:6e4})}function dp(){let{api:e}=$();return x({queryKey:[`channels`],queryFn:e.channels,refetchInterval:6e4})}function fp(){let{api:e}=$();return x({queryKey:[`threads`],queryFn:e.threads,refetchInterval:6e4})}function pp(e){let{api:t}=$();return x({queryKey:[`tasks`,e],queryFn:()=>t.tasks(e),refetchInterval:6e4})}function mp(e){return e.flatMap(e=>e.data??[])}function hp(){let{api:e}=$();return ft({queries:(ap().data??[]).map(t=>({queryKey:[`tasks`,t.slug],queryFn:()=>e.tasks(t.slug),refetchInterval:6e4})),combine:mp})}function gp(e){let{api:t}=$();return x({queryKey:[`task`,e],queryFn:()=>t.task(e??``),enabled:e!==null})}function _p(e,t){let{api:n}=$();return x({queryKey:[`task-file`,e,t],queryFn:()=>n.taskFile(e,t),staleTime:3e4,retry:(e,t)=>e<1&&!(t instanceof Of&&(t.status===404||t.status===503))})}function vp(e){let{api:t}=$();return x({queryKey:[`task-changes`,e],queryFn:()=>t.taskChanges(e),staleTime:3e4,retry:(e,t)=>e<1&&!(t instanceof Of&&(t.status===404||t.status===503))})}function yp(){let{api:e}=$();return x({queryKey:[`proposals`],queryFn:e.proposals,refetchInterval:6e4})}function bp(e){let{api:t}=$();return x({queryKey:[`proposal`,e],queryFn:()=>t.proposal(e)})}function xp(){let{api:e}=$();return x({queryKey:[`skills`],queryFn:e.skills,staleTime:6e4})}function Sp(e,t){let{api:n}=$();return x({queryKey:[`turns`,e,t],queryFn:()=>n.turns(e,t),refetchInterval:6e4})}function Cp(e,t){let{api:n}=$();return x({queryKey:[`transcript`,e,t],queryFn:()=>n.transcript(e,t??``),enabled:t!==null,staleTime:1/0})}function wp(e){let{api:t}=$();return x({queryKey:[`memory`,e],queryFn:()=>t.memory(e)})}function Tp(e){let{api:t}=$();return x({queryKey:[`agent-skills`,e],queryFn:()=>t.agentSkills(e)})}function Ep(e,t){let{api:n}=$();return x({queryKey:[`history`,e,t],queryFn:()=>n.history(e,t),placeholderData:be})}function Dp(e,t,n){let{api:r}=$();return x({queryKey:[`home-change`,e,t],queryFn:()=>r.change(e,t),enabled:n,staleTime:1/0})}function Op(e){let{api:t}=$();return x({queryKey:[`conflicts`,e],queryFn:()=>t.conflicts(e)})}function kp(e){let{api:t}=$();return x({queryKey:[`dashboard`,e],queryFn:()=>t.dashboard(e),refetchInterval:12e4})}function Ap(e){let{api:t}=$();return x({queryKey:[`knowledge`,e],queryFn:()=>t.knowledge(e),refetchInterval:12e4})}function jp(){let{api:e}=$();return x({queryKey:[`runners`],queryFn:()=>e.runners(),refetchInterval:6e4})}function Mp(){let{api:e}=$();return x({queryKey:[`enrollments`],queryFn:e.enrollments,refetchInterval:5e3})}function Np(e){let{api:t}=$();return x({queryKey:[`models`,`agent`,e],queryFn:()=>t.agentModels(e),staleTime:6e5,retry:!1})}function Pp(e){let[t,n]=(0,m.useState)(()=>Date.now());return(0,m.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}var Fp=[[`day`,86400],[`hour`,3600],[`minute`,60]],Ip=new Intl.RelativeTimeFormat(`en`,{numeric:`auto`});function Lp(e,t){let n=Math.round((Date.parse(e)-t)/1e3);for(let[e,t]of Fp)if(Math.abs(n)>=t)return Ip.format(Math.round(n/t),e);return`just now`}function Rp(e){let t=Math.max(0,Math.round(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?`${n}m`:`${Math.floor(n/60)}h ${n%60}m`}function zp(e,t=220){let n=(e.split(/\n\s*\n/).map(e=>e.trim()).find(e=>e.length>0&&!e.startsWith(`#`))??``).replaceAll(/[*_`>]/g,``).replaceAll(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1).trimEnd()}…`}export{Pd as $,ke as $t,xp as A,Dt as At,Df as B,At as Bt,cp as C,z as Ct,np as D,Vt as Dt,sp as E,I as Et,pp as F,Mt as Ft,Cf as G,bt as Gt,$f as H,mt as Ht,fp as I,ht as It,df as J,ze as Jt,_f as K,x as Kt,Cp as L,Ot as Lt,gp as M,vt as Mt,vp as N,jt as Nt,$ as O,Ft as Ot,_p as P,St as Pt,Yd as Q,Ae as Qt,Sp as R,_t as Rt,yp as S,B as St,jp as T,zl as Tt,Mf as U,yt as Ut,Tf as V,Ct as Vt,wf as W,kt as Wt,uf as X,Pe as Xt,cf as Y,Re as Yt,lf as Z,Ne as Zt,wp as _,l as _n,vu as _t,Np as a,ie as an,hd as at,ap as b,hu as bt,dp as c,me as cn,vd as ct,Dp as d,te as dn,rd as dt,ae as en,Vd as et,Op as f,g as fn,Sd as ft,ip as g,s as gn,ju as gt,rp as h,o as hn,nd as ht,ep as i,se as in,gd as it,tp as j,Nt as jt,lp as k,Pt as kt,kp as l,Te as ln,Au as lt,Ap as m,d as mn,qu as mt,zp as n,le as nn,Eu as nt,Tp as o,de as on,xd as ot,Ep as p,p as pn,ku as pt,hf as q,Ue as qt,Rp as r,ce as rn,yd as rt,hp as s,b as sn,_d as st,Lp as t,ue as tn,Id as tt,Mp as u,Ce as un,bd as ut,up as v,bu as vt,op as w,V as wt,bp as x,mu as xt,Pp as y,yu as yt,Of as z,gt as zt};
@@ -1 +1 @@
1
- import{_t as e,at as t,bt as n,ct as r,ft as i,it as a,ot as o,rt as s,ut as c}from"./format-BWr3zKWg.js";import{s as l}from"./tasks-C10zwkED.js";var u=[{group:`yours`,label:`Waiting on you`},{group:`others`,label:`Waiting on others`},{group:`decided`,label:`Decided`}];function d(e){let t=i(e.kind,e.charter);return t.charAt(0).toUpperCase()+t.slice(1)}function f(e){return e.status===`proposed`&&e.proposedBy!==`user`&&o[e.kind].includes(`user`)}function p(e){return e.status===`proposed`?f(e)?`yours`:`others`:`decided`}function m(e){return u.map(({group:t})=>{let n=e.filter(e=>p(e)===t);return{group:t,proposals:t===`decided`?n.toSorted((e,t)=>(t.decidedAt??t.createdAt).localeCompare(e.decidedAt??e.createdAt)):n.toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}}).filter(e=>e.proposals.length>0)}var h=new Intl.ListFormat(`en`,{type:`disjunction`});function g(e,t){let n=o[e.kind].flatMap(n=>n===`user`?e.proposedBy===`user`?[]:[`you`]:[n===t?`another ${n}`:`the ${n}`]);return n.length===0?`nobody`:h.format(n)}function _(t){let n=e.safeParse(t.charter);return t.kind===`role`&&n.success?n.data:null}function v(e){return e===void 0?`unset`:typeof e==`boolean`?e?`yes`:`no`:Array.isArray(e)?e.length===0?`none`:e.join(`, `):typeof e==`string`||typeof e==`number`?String(e):JSON.stringify(e)}var y=[[`wakeTriggers`,`wake triggers`],[`maxReplicas`,`replicas per project`],[`backlogThreshold`,`backlog per member before scaling`],[`resident`,`warm session`],[`societyScope`,`society role`],[`reflects`,`reflects`],[`reviewDate`,`review date`]];function b(e,t){return{verbsAdded:t.verbs.filter(t=>!e.verbs.includes(t)),verbsRemoved:e.verbs.filter(e=>!t.verbs.includes(e)),purposeChanged:e.purpose.trim()!==t.purpose.trim(),changes:y.flatMap(([n,r])=>{let i=v(e[n]),a=v(t[n]);return i===a?[]:[{field:r,from:i,to:a}]})}}function x(e){return e.replace(/^\s*---\n[\s\S]*?\n---[ \t]*\n?/,``).trim()}function S(e,i){switch(e.kind){case`member`:{let n=t.safeParse(e.charter);if(!n.success)break;let{name:r,role:i,cli:a,memberships:o}=n.data;return`Creates the citizen ${r} (${i}, ${a})${o.length===0?``:` in ${o.join(`, `)}`} and starts its first turn.`}case`role`:{let t=_(e);if(t===null)break;if(!i.roles.some(e=>e.name===t.name))return`Adds the role ${t.name}; nobody holds it until a member proposal is approved.`;let n=i.members.filter(e=>e.role===t.name&&e.status===`active`).length;return n===0?`Rewrites the ${t.name} charter; no active member holds the role.`:`Rewrites the ${t.name} charter for ${n===1?`its member`:`its ${n} members`}, from their next turn.`}case`channel`:{let t=a.safeParse(e.charter);if(!t.success)break;return`Creates #${n(t.data.project,t.data.name)}.`}case`retirement`:{let t=r.safeParse(e.charter);if(!t.success)break;return`Retires ${t.data.agent}: its stages go back to open and its home is archived, not deleted.`}case`skill`:{let t=c.safeParse(e.charter);if(!t.success)break;return i.skills.some(e=>e.name===t.data.name)?`Replaces the society's ${t.data.name} skill with this text.`:`Publishes ${t.data.name} to the society's skills, which every citizen's instructions list.`}case`archive`:{let t=s.safeParse(e.charter);if(!t.success)break;return`Archives ${t.data.project}: its members leave, its open threads close, and it takes no more work; its channels, tasks, and history stay readable.`}case`reallocation`:return`Records the decision; the board carries out nothing for a reallocation.`}return`The charter does not parse as its kind; approving it will fail.`}function C(e){let t=l(e);if(t===`landing`||t===`done`||t===`abandoned`)return null;let n=e.stages.find(t=>t.id===e.stage);return n===void 0||n.agent!==`user`&&n.role!==`user`?null:e.status===`open`||e.claimedBy===`user`?n:null}function w(e){let t=(e,t)=>e.since.localeCompare(t.since),n=e.proposals.filter(f).map(e=>({kind:`proposal`,since:e.createdAt,proposal:e})),r=e.tasks.flatMap(e=>{let t=C(e);return t===null?[]:[{kind:`stage`,since:e.stageSince,task:e,stage:t}]}),i=e.requests.map(({message:e,thread:t})=>({kind:`request`,since:e.ts,message:e,thread:t}));return[...n.toSorted(t),...r.toSorted(t),...i.toSorted(t)]}export{w as a,b as c,f as d,m as i,x as l,S as n,d as o,g as r,_ as s,u as t,C as u};
1
+ import{_t as e,at as t,bt as n,ct as r,ft as i,it as a,ot as o,rt as s,ut as c}from"./format-C3aawMM6.js";import{s as l}from"./tasks-bwj_EdwF.js";var u=[{group:`yours`,label:`Waiting on you`},{group:`others`,label:`Waiting on others`},{group:`decided`,label:`Decided`}];function d(e){let t=i(e.kind,e.charter);return t.charAt(0).toUpperCase()+t.slice(1)}function f(e){return e.status===`proposed`&&e.proposedBy!==`user`&&o[e.kind].includes(`user`)}function p(e){return e.status===`proposed`?f(e)?`yours`:`others`:`decided`}function m(e){return u.map(({group:t})=>{let n=e.filter(e=>p(e)===t);return{group:t,proposals:t===`decided`?n.toSorted((e,t)=>(t.decidedAt??t.createdAt).localeCompare(e.decidedAt??e.createdAt)):n.toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}}).filter(e=>e.proposals.length>0)}var h=new Intl.ListFormat(`en`,{type:`disjunction`});function g(e,t){let n=o[e.kind].flatMap(n=>n===`user`?e.proposedBy===`user`?[]:[`you`]:[n===t?`another ${n}`:`the ${n}`]);return n.length===0?`nobody`:h.format(n)}function _(t){let n=e.safeParse(t.charter);return t.kind===`role`&&n.success?n.data:null}function v(e){return e===void 0?`unset`:typeof e==`boolean`?e?`yes`:`no`:Array.isArray(e)?e.length===0?`none`:e.join(`, `):typeof e==`string`||typeof e==`number`?String(e):JSON.stringify(e)}var y=[[`wakeTriggers`,`wake triggers`],[`maxReplicas`,`replicas per project`],[`backlogThreshold`,`backlog per member before scaling`],[`resident`,`warm session`],[`societyScope`,`society role`],[`reflects`,`reflects`],[`reviewDate`,`review date`]];function b(e,t){return{verbsAdded:t.verbs.filter(t=>!e.verbs.includes(t)),verbsRemoved:e.verbs.filter(e=>!t.verbs.includes(e)),purposeChanged:e.purpose.trim()!==t.purpose.trim(),changes:y.flatMap(([n,r])=>{let i=v(e[n]),a=v(t[n]);return i===a?[]:[{field:r,from:i,to:a}]})}}function x(e){return e.replace(/^\s*---\n[\s\S]*?\n---[ \t]*\n?/,``).trim()}function S(e,i){switch(e.kind){case`member`:{let n=t.safeParse(e.charter);if(!n.success)break;let{name:r,role:i,cli:a,memberships:o}=n.data;return`Creates the citizen ${r} (${i}, ${a})${o.length===0?``:` in ${o.join(`, `)}`} and starts its first turn.`}case`role`:{let t=_(e);if(t===null)break;if(!i.roles.some(e=>e.name===t.name))return`Adds the role ${t.name}; nobody holds it until a member proposal is approved.`;let n=i.members.filter(e=>e.role===t.name&&e.status===`active`).length;return n===0?`Rewrites the ${t.name} charter; no active member holds the role.`:`Rewrites the ${t.name} charter for ${n===1?`its member`:`its ${n} members`}, from their next turn.`}case`channel`:{let t=a.safeParse(e.charter);if(!t.success)break;return`Creates #${n(t.data.project,t.data.name)}.`}case`retirement`:{let t=r.safeParse(e.charter);if(!t.success)break;return`Retires ${t.data.agent}: its stages go back to open and its home is archived, not deleted.`}case`skill`:{let t=c.safeParse(e.charter);if(!t.success)break;return i.skills.some(e=>e.name===t.data.name)?`Replaces the society's ${t.data.name} skill with this text.`:`Publishes ${t.data.name} to the society's skills, which every citizen's instructions list.`}case`archive`:{let t=s.safeParse(e.charter);if(!t.success)break;return`Archives ${t.data.project}: its members leave, its open threads close, and it takes no more work; its channels, tasks, and history stay readable.`}case`reallocation`:return`Records the decision; the board carries out nothing for a reallocation.`}return`The charter does not parse as its kind; approving it will fail.`}function C(e){let t=l(e);if(t===`landing`||t===`done`||t===`abandoned`)return null;let n=e.stages.find(t=>t.id===e.stage);return n===void 0||n.agent!==`user`&&n.role!==`user`?null:e.status===`open`||e.claimedBy===`user`?n:null}function w(e){let t=(e,t)=>e.since.localeCompare(t.since),n=e.proposals.filter(f).map(e=>({kind:`proposal`,since:e.createdAt,proposal:e})),r=e.tasks.flatMap(e=>{let t=C(e);return t===null?[]:[{kind:`stage`,since:e.stageSince,task:e,stage:t}]}),i=e.requests.map(({message:e,thread:t})=>({kind:`request`,since:e.ts,message:e,thread:t}));return[...n.toSorted(t),...r.toSorted(t),...i.toSorted(t)]}export{w as a,b as c,f as d,m as i,x as l,S as n,d as o,g as r,_ as s,u as t,C as u};