@hearsay-tools/squawk 0.17.0-pr3272.5740 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/contract/discovery.d.ts +32 -1
  2. package/dist/contract/health.d.ts +17 -2
  3. package/dist/contract/index.js +2565 -2573
  4. package/dist/contract/repo.d.ts +2 -1
  5. package/dist/contract/waits.d.ts +11 -2
  6. package/dist/contract/workflows.d.ts +1 -1
  7. package/dist/contract/workspace.d.ts +1 -36
  8. package/dist/delegation/routes.d.ts +4 -4
  9. package/dist/delegation/transport.d.ts +9 -9
  10. package/dist/runs/run-exits.js.map +1 -1
  11. package/dist/server/server.d.ts +58 -58
  12. package/dist/workflows/run/wait-engine.d.ts +72 -72
  13. package/dist/workflows/run-states.js +4 -4
  14. package/dist/workflows/run-states.js.map +1 -1
  15. package/package.json +4 -4
  16. package/web/dist/assets/activity-motion-hhx0e841.js +2 -0
  17. package/web/dist/assets/{activity-route-Z8SMpPLm.js → activity-route-De0BnSrc.js} +1 -1
  18. package/web/dist/assets/{agent-accounts-f1cxwgfz.js → agent-accounts-BCg-578Q.js} +2 -2
  19. package/web/dist/assets/{cez-idle-EVoUsgU3.js → cez-idle-BT0U4GN_.js} +1 -1
  20. package/web/dist/assets/{commit-diff-panel-DZutYRbq.js → commit-diff-panel-DYtYc_dH.js} +1 -1
  21. package/web/dist/assets/{control-locations-C9II3kPz.js → control-locations-CA9TMupq.js} +1 -1
  22. package/web/dist/assets/{diff-DNAtaTLC.js → diff-tVGVhYyc.js} +2 -2
  23. package/web/dist/assets/{diff-view---8Bt-0a.js → diff-view-CNM3u77o.js} +1 -1
  24. package/web/dist/assets/{file-preview-D08Kq15E.js → file-preview-C1eTdJLJ.js} +1 -1
  25. package/web/dist/assets/{git-toolbar-DMDmGits.js → git-toolbar-Dwz8p8GW.js} +1 -1
  26. package/web/dist/assets/{github-DlMu4p0I.js → github-BSezqH6f.js} +1 -1
  27. package/web/dist/assets/{github-sidebar-model-B0Ufci5S.js → github-sidebar-model-Ct0DltOv.js} +1 -1
  28. package/web/dist/assets/{global-activity-route-mJrrP9I0.js → global-activity-route-BZiYz-B0.js} +1 -1
  29. package/web/dist/assets/{index-FoxgrgAH.js → index-D489J7QW.js} +8 -8
  30. package/web/dist/assets/{live-protocol-BVn0UA_g.js → live-protocol-BDY7JJpT.js} +1 -1
  31. package/web/dist/assets/{live-refetch-BdnmTJ_8.js → live-refetch-C0kQc3-z.js} +1 -1
  32. package/web/dist/assets/{preview-pane-connected-KzJn9jAG.js → preview-pane-connected-DGkEs_L3.js} +1 -1
  33. package/web/dist/assets/{project-router-MMOk9VbW.js → project-router-1m_VlC22.js} +1 -1
  34. package/web/dist/assets/project-scope-context-CaUqlAd7.js +4 -0
  35. package/web/dist/assets/{queries-DORTKwyN.js → queries-DYfIpJ-d.js} +1 -1
  36. package/web/dist/assets/{repo-git-Bf_EfIHt.js → repo-git-CU1S5P-y.js} +1 -1
  37. package/web/dist/assets/{report-reader-ztLhC9gp.js → report-reader-DlZol2Ux.js} +1 -1
  38. package/web/dist/assets/reports-DIGGjk7C.js +1 -0
  39. package/web/dist/assets/{run-header-CDMGqoPE.js → run-header-DPjiPKRe.js} +1 -1
  40. package/web/dist/assets/skills-BMwanop_.js +1 -0
  41. package/web/dist/assets/{tab-link-BvoGfK8S.js → tab-link-DCUifQ46.js} +1 -1
  42. package/web/dist/assets/{task-changes-CfUCDwcL.js → task-changes-BZXWvQN3.js} +1 -1
  43. package/web/dist/assets/{task-commits-IOjoz_mL.js → task-commits-ByI9MSfc.js} +1 -1
  44. package/web/dist/assets/{task-files-CpUYhIpd.js → task-files-LJbenpiH.js} +1 -1
  45. package/web/dist/assets/{task-github-item-B8YPhQDV.js → task-github-item-B0CU9lGR.js} +1 -1
  46. package/web/dist/assets/task-thread-CXCN__1a.js +9 -0
  47. package/web/dist/assets/{thread-state-C136Em0C.js → thread-state-BLaCzqeX.js} +1 -1
  48. package/web/dist/assets/{use-hand-to-agent-state-C6u70P2A.js → use-hand-to-agent-state-BkmKad8x.js} +1 -1
  49. package/web/dist/assets/{useInfiniteQuery-BbYMWe23.js → useInfiniteQuery-qEY8OhKb.js} +1 -1
  50. package/web/dist/assets/useQuery-DOJQOEBO.js +1 -0
  51. package/web/dist/assets/{workflows-CWrdqLII.js → workflows-Dbxb-d-6.js} +1 -1
  52. package/web/dist/assets/{ws-BtSVmivO.js → ws-DvGmrP4z.js} +1 -1
  53. package/web/dist/index.html +13 -13
  54. package/web/dist/live-worker.js +1 -1
  55. package/dist/contract/repo-info.d.ts +0 -12
  56. package/dist/contract/runner.d.ts +0 -15
  57. package/dist/contract/usage-limit-hold.d.ts +0 -15
  58. package/web/dist/assets/activity-motion-Deqj_hcK.js +0 -2
  59. package/web/dist/assets/project-scope-context-B3M-u8R0.js +0 -4
  60. package/web/dist/assets/reports-BxGqf1aC.js +0 -1
  61. package/web/dist/assets/skills-D2r8n5IP.js +0 -1
  62. package/web/dist/assets/task-thread-2Kme3Fc0.js +0 -9
  63. package/web/dist/assets/useQuery-CqqnAJvu.js +0 -1
@@ -1,2 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{L as t,p as n,t as r,u as i}from"./button-CHUAMTHK.js";import{i as a,t as o}from"./react-runtime-CCIEwYL0.js";import{t as s}from"./live-refetch-BdnmTJ_8.js";import{Dr as c,En as l,Ir as u,Jr as d,Mn as f,Rn as p,Vn as m,Xn as ee,i as te,kr as ne,lr as re,p as ie,zt as ae}from"./project-scope-context-B3M-u8R0.js";import{$ as h,A as oe,J as g,K as _,V as se,W as ce,X as le,Y as ue,Z as v,ct as de,et as y,it as fe,rt as b,st as pe}from"./live-protocol-BVn0UA_g.js";import{t as me}from"./useQuery-CqqnAJvu.js";import{n as he,t as ge}from"./ws-BtSVmivO.js";import{t as x}from"./createLucideIcon-BHp8sXmF.js";import{n as _e,r as ve,t as ye}from"./hourglass-B0lPAJvT.js";import{t as be}from"./eye-B8okNWXU.js";import{t as xe}from"./message-square-B-MD-8rD.js";import{t as S}from"./project-router-MMOk9VbW.js";import{jt as Se,ot as C,tn as Ce}from"./index-FoxgrgAH.js";var we=x(`ban`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}]]),Te=x(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),Ee=x(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),De=x(`git-pull-request`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),Oe=x(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),ke=x(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),Ae=x(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),je=x(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]),Me=x(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),w=e(a(),1),T=o(),E=de(),D=h().int().nonnegative(),O=b().min(1),Ne=y({title:b().max(160),toolKind:_([`read`,`edit`,`delete`,`move`,`search`,`execute`,`think`,`fetch`,`task`,`plan`,`other`]),status:_([`pending`,`running`,`completed`,`failed`,`declined`]),startedAt:E,endedAt:E.optional()}).strict(),Pe=_([`pass`,`fail`,`pending`,`skipping`,`cancel`]),Fe=y({checks:g(y({name:b().max(100),bucket:Pe}).strict()).max(100),counts:y({pass:D,fail:D,pending:D,skipping:D,cancel:D}).strict(),truncated:v(!0).optional()}).strict(),Ie=le(`kind`,[y({kind:v(`human`),since:E,detail:y({question:b().max(500).optional(),reason:_([`question`,`turn-end`,`budget`,`completion`]),queuedMessages:h().int().positive().optional()}).strict()}).strict(),y({kind:v(`usage-limit`),detail:y({resumeAt:b()}).strict()}).strict(),y({kind:v(`workers`),since:E,deadline:E.optional(),detail:y({owed:D,total:D,settled:D,replies:v(!0).optional(),mode:oe.optional(),recipientRunIds:g(O)}).strict()}).strict(),y({kind:v(`peers`),since:E,deadline:E,detail:y({peerRunIds:g(O)}).strict()}).strict(),y({kind:v(`subagents`),since:E,deadline:E,detail:y({running:D}).strict()}).strict(),y({kind:v(`pr`),since:E,deadline:E,detail:y({number:h().int().positive(),target:re,checks:Fe.shape.checks.optional(),counts:Fe.shape.counts.optional(),truncated:v(!0).optional()}).strict()}).strict(),y({kind:v(`process`),since:E,deadline:E,detail:y({pid:h().int(),note:b().optional()}).strict()}).strict(),y({kind:v(`timer`),since:E,deadline:E,detail:y({wakeAt:E,note:b().optional()}).strict()}).strict()]),Le={runId:O,title:b(),status:ee,rung:_(p),runner:ce.optional(),model:b().optional(),currentStepId:b().optional(),startedAt:b().optional(),wait:Ie.optional(),tool:Ne.optional(),rate:g(D).length(30),error:b().max(200).optional()},Re=y({...Le,revision:D,collected:ue()}).strict(),ze=y({...Le,workers:g(Re)}).strict(),Be=y({requestId:pe(),relationship:_([`family`,`peer`]),senderRunId:O,recipientRunId:O,text:b().max(500),senderTitle:b().optional(),recipientTitle:b().optional(),createdAt:E,deadline:E.optional()}).strict(),Ve=y({requestId:pe(),senderRunId:O,recipientRunId:O,status:se.shape.status,observedAt:E}).strict(),He=y({generatedAt:E,projects:g(y({projectId:b(),name:b(),loaded:ue(),unavailable:y({status:fe([v(404),v(409),v(503)]),error:b()}).strict().optional(),inReview:D,tasks:g(ze),requests:g(Be),closed:g(Ve)}).strict())}).strict();y({project:fe([v(`default`),b().regex(f)]).optional()});var Ue=5e3,We=e=>[`workspace`,`activity`,e.kind===`project`?e.projectId:null],Ge=e=>e.kind===`project`?`activity:project:${e.projectId}`:`activity:workspace`,Ke=e=>e.kind===`project`?`/api/v1/workspace/activity?project=${encodeURIComponent(e.projectId)}`:`/api/v1/workspace/activity`,qe=`the ${t(`cezar`)} server answered /workspace/activity with an unexpected body`;function Je(e){let t=He.safeParse(e);if(!t.success)throw new te(200,qe);return t.data}async function Ye(e,t){let n=e.kind===`project`?{project:e.projectId}:{};return Je(await l(await ie.api.v1.workspace.activity.$get({query:n},ae(t)),`/workspace/activity`))}function Xe(e,t){return e!==void 0&&Date.parse(t.generatedAt)<Date.parse(e.generatedAt)?e:t}var Ze=new Date(0).toISOString();function Qe(e){return e!==void 0&&e!==Ze&&!Number.isNaN(Date.parse(e))}var $e=new Set([404,409,503]);function et(e,t,n,r){let i=e?.projects.find(e=>e.projectId===t)?.name??t;return{generatedAt:e?.generatedAt??Ze,projects:[{projectId:t,name:i,loaded:!0,unavailable:{status:n,error:r},inReview:0,tasks:[],requests:[],closed:[]}]}}function tt(e,t){return new te(Number(/^HTTP (\d+)$/.exec(t)?.[1]??0),e&&typeof e==`object`&&typeof e.error==`string`?e.error:t)}var nt=(e,t)=>e.kind===`project`&&$e.has(t.status)?t.status:void 0;function rt(e){let t=e.kind===`project`?e.projectId:void 0,n=(0,w.useMemo)(()=>t===void 0?{kind:`workspace`}:{kind:`project`,projectId:t},[t]),r=(0,w.useMemo)(()=>We(n),[n]),i=d(),a=me({queryKey:r,queryFn:async({signal:e})=>{let t=i.getQueryData(r);try{return Xe(t,await Ye(n,{signal:e}))}catch(e){let r=e instanceof te?nt(n,e):void 0;if(r===void 0||n.kind!==`project`)throw e;return et(t,n.projectId,r,e.message)}},staleTime:1/0});return(0,w.useEffect)(()=>{let e=!0,t=t=>{i.cancelQueries({queryKey:r,exact:!0}).then(()=>{if(!e)return;let a=nt(n,t);if(a!==void 0&&n.kind===`project`){i.setQueryData(r,e=>et(e,n.projectId,a,t.message));return}let o=i.getQueryCache().find({queryKey:r,exact:!0});o?.setState({status:`error`,error:t,errorUpdatedAt:Date.now(),errorUpdateCount:o.state.errorUpdateCount+1,fetchStatus:`idle`})})},a=n=>{let a;try{a=Je(n)}catch(e){t(e);return}i.cancelQueries({queryKey:r,exact:!0}).then(()=>{e&&i.setQueryData(r,e=>Xe(e,a))})},o=ge(Ge(n),a),l=s(Ue),u,d=()=>{let e=c()===`finite`&&l!==!1;e&&!u?u=he({path:Ke(n),intervalMs:l},(e,n)=>{n===void 0?a(e):t(tt(e,n))}):!e&&u&&(u(),u=void 0)};d();let f=ne(d);return()=>{e=!1,f(),u?.(),o()}},[i,r,n]),a}var k=e=>String(e).padStart(2,`0`);function A(e){let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t/60)%60,i=t%60;return n>0?`${n}:${k(r)}:${k(i)}`:`${r}:${k(i)}`}function it(e){let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t} s`;let n=Math.floor(t/60);return n<60?`${n} min`:`${Math.floor(n/60)} h ${k(n%60)} min`}function j(e,t){let n=e===void 0?NaN:Date.parse(e);return Number.isNaN(n)?0:t-n}var at=new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`});function M(e){let t=Date.parse(e);return Number.isNaN(t)?e:at.format(t)}function ot(){return Intl.DateTimeFormat().resolvedOptions().timeZone}var st=new Set([`queued`,`running`,`waiting`]),ct={review:`In review`,failed:`Failed`,done:`Done`,cancelled:`Cancelled`},lt={review:`review`,failed:`failed`,done:`done`,cancelled:`cancelled`},N=e=>st.has(e),P=(e,t,n=`${t}s`)=>`${e} ${e===1?t:n}`,F=e=>m(e.rung).tone,ut=(e,t=`Deadline`)=>e?`${t} ${M(e)}`:void 0;function dt(e,t,n){return t.length===1&&t[0]!==void 0?`${e} ${n.titleOf(t[0])}`:`${e} ${P(t.length,`task`)}`}function ft(e,t){let n=e.tool,r={verb:`Doing`,tone:F(e),icon:`tool`},i=n?.endedAt!==void 0&&j(n.endedAt,t.now)>1e4;if(n===void 0)return{...r,main:`Thinking`,...e.startedAt?{since:e.startedAt}:{}};let a=`Last tool ${it(j(n.endedAt??n.startedAt,t.now))} ago`;return i?{...r,main:`Thinking`,detail:a,since:n.endedAt??n.startedAt}:{...r,main:n.title,mono:!0,detail:a,since:n.startedAt}}function pt(e,t){let n={verb:`Needs you`,tone:F(e),icon:`user`,...t?{since:t.since}:{}};if(t?.detail.reason===`question`)return t.detail.question?{...n,main:t.detail.question,action:`answer`}:{...n,main:`Your turn`,action:`answer`};if(t?.detail.reason===`budget`){let e=t.detail.queuedMessages;return{...n,main:e?`Automatic wakes used up · ${P(e,`message`)} queued`:`Automatic wakes used up`,action:`open`}}return{...n,main:`Your turn`,action:`open`}}function mt(e){return{verb:`Needs you`,tone:F(e),icon:`user`,main:`Permission`,action:`open`}}function ht(e,t,n){let{owed:r,total:i,settled:a,replies:o,mode:s,recipientRunIds:c}=t.detail,l=i>0?a/i:0,u={tone:F(e),since:t.since};if(o){let e=c.length>0?dt(`From`,c,n):`Waiting for replies`;return{...u,verb:`Waiting for reply`,icon:`reply`,main:e,...I(`detail`,ut(t.deadline,`Reply due`))}}let d=c.length>0?`${r} owed · ${a} settled`:s?`${gt[s]} of ${i} · ${a} settled`:`${r} owed`;return{...u,verb:`Waiting for workers`,icon:`workers`,main:d,bar:l,...I(`detail`,ut(t.deadline))}}var gt={one:`One`,any:`Any`,all:`All`};function _t(e){let t=e.detail.counts;if(t===void 0)return`PR ${e.detail.number} checks`;let n=t.pass+t.fail+t.pending;return`PR ${e.detail.number} checks · ${t.pass} of ${n} passed`}var vt=[`fail`,`pending`,`pass`,`skipping`,`cancel`];function yt(e){let{counts:t,checks:n=[],truncated:r}=e.detail;if(!r||t===void 0)return;let i=e=>Math.max(0,t[e]-n.filter(t=>t.bucket===e).length),a=vt.reduce((e,t)=>e+i(t),0),o=vt.find(e=>i(e)>0);return a>0&&o?{count:a,bucket:o}:void 0}var bt=[[`pass`,`passed`],[`fail`,`failed`],[`pending`,`pending`],[`skipping`,`skipped`],[`cancel`,`cancelled`]];function xt(e){let{counts:t,checks:n}=e.detail,r=e=>t?t[e]:(n??[]).filter(t=>t.bucket===e).length,i=bt.filter(([e])=>r(e)>0).map(([e,t])=>`${r(e)} ${t}`),a=yt(e);return a&&i.push(`+${a.count} more not listed`),i.length>0?i.join(`, `):void 0}function St(e,t){let n={tone:F(e),since:t.since,...I(`detail`,ut(t.deadline))};if(t.detail.target!==`checks`)return{...n,verb:`Waiting for merge`,icon:`merge`,main:`PR ${t.detail.number}`};let r=t.detail.checks?[...t.detail.checks].sort((e,t)=>e.name.localeCompare(t.name)):void 0;return{...n,verb:`Waiting for CI`,icon:`ci`,main:_t(t),...I(`checks`,r),...I(`overflow`,yt(t)),...I(`checkSummary`,xt(t))}}function I(e,t){return t===void 0?{}:{[e]:t}}function Ct(e,t,n){let r=F(e);switch(t.kind){case`workers`:return ht(e,t,n);case`peers`:return{verb:`Waiting for a peer`,tone:r,icon:`peer`,since:t.since,main:dt(`For`,t.detail.peerRunIds,n),detail:`Deadline ${M(t.deadline)}`};case`subagents`:return{verb:`Waiting for subagents`,tone:r,icon:`subagents`,since:t.since,main:P(t.detail.running,`native subagent`),detail:`Deadline ${M(t.deadline)}`};case`pr`:return St(e,t);case`process`:return{verb:`Waiting for command`,tone:r,icon:`command`,since:t.since,main:t.detail.note??`Process ${t.detail.pid}`,detail:`Running ${A(j(t.since,n.now))} · deadline ${M(t.deadline)}`};case`timer`:return{verb:`Waiting for timer`,tone:r,icon:`timer`,since:t.since,main:t.detail.note??`Timer`,detail:`Wakes ${M(t.detail.wakeAt)} · in ${A(-j(t.detail.wakeAt,n.now))}`};case`usage-limit`:return wt(e,t.detail.resumeAt,n);case`human`:return}}function wt(e,t,n){let r=Date.parse(t),i=Number.isNaN(r)?`Resumes ${t}`:`Resumes ${M(t)} · in ${A(r-n.now)}`;return{verb:`Paused`,tone:F(e),icon:`pause`,main:`Usage limit`,detail:i}}function Tt(e,t){let n=e.wait&&`since`in e.wait?e.wait.since:e.startedAt;return{verb:`Queued`,tone:F(e),icon:`queued`,main:`Waiting for a free slot`,...n?{since:n,detail:`Waiting ${it(j(n,t.now))}`}:{}}}function L(e,t){return{verb:ct[e.status]??e.status,tone:F(e),icon:lt[e.status]??`done`,main:t}}function R(e,t){return N(e.status)?Et(e,t):L(e,P(e.workers.filter(e=>N(e.status)).length,`live worker`))}function Et(e,t){let n=e.wait;switch(e.rung){case`running`:return ft(e,t);case`needs-permission`:return mt(e);case`needs-you`:return pt(e,n?.kind===`human`?n:void 0);case`usage-limit`:return n?.kind===`usage-limit`?wt(e,n.detail.resumeAt,t):{verb:`Paused`,tone:F(e),icon:`pause`,main:`Usage limit`};case`queued`:case`waiting-for-capacity`:return Tt(e,t);default:return(n&&Ct(e,n,t))??Tt(e,t)}}function Dt(e,t,n){if(n!==void 0&&N(e.status))return{verb:`Asks parent`,tone:F(e),main:`“${n}”`,asks:!0};let r=Ot(e,t);return{verb:r.verb,tone:r.tone,main:r.main,...r.mono?{mono:!0}:{}}}function Ot(e,t){switch(e.status){case`done`:return L(e,e.collected?`Collected`:`Ready to collect`);case`review`:return L(e,`Waiting for the parent’s review`);case`failed`:case`cancelled`:return L(e,e.error??ct[e.status]??e.status);default:return Et({...e,workers:[]},t)}}function kt(e){if(e.unavailable)return e.unavailable.error;if(!e.loaded)return`Not loaded in this cockpit`}function At(e){let t=new Map;for(let n of e.tasks){t.set(n.runId,{title:n.title,cardId:n.runId,role:`root`});for(let e of n.workers)t.set(e.runId,{title:e.title,cardId:n.runId,role:`worker`})}return t}function z(e,t,n){return e.get(t)?.title??n??`Unreadable task`}var B=(e,t)=>z(e,t.senderRunId,t.senderTitle),V=(e,t)=>z(e,t.recipientRunId,t.recipientTitle),jt=(e,t)=>`wait:${e}:${t}`;function Mt(e){let t=[];for(let n of e){let e=n.wait;if(!(!N(n.status)||e?.kind!==`peers`))for(let r of new Set(e.detail.peerRunIds))r!==n.runId&&t.push({id:jt(n.runId,r),waiterRunId:n.runId,peerRunId:r,since:e.since,deadline:e.deadline})}return t}function Nt(e,t){let n=new Set;for(let r of t)r.waiterRunId===e&&n.add(r.peerRunId),r.peerRunId===e&&n.add(r.waiterRunId);return n}function Pt(e,t){return t.filter(t=>t.waiterRunId===e)}function Ft(e,t,n,r=[]){let i=[];for(let r of t)r.senderRunId===e&&i.push(`Waiting for a reply from ${V(n,r)}`),r.recipientRunId===e&&i.push(`${B(n,r)} waits for your reply`);for(let t of r)t.waiterRunId===e&&i.push(`Waiting for a message from ${z(n,t.peerRunId)}`),t.peerRunId===e&&i.push(`${z(n,t.waiterRunId)} waits for you to write`);return i}function It(e,t,n){return n.find(n=>n.relationship===`family`&&n.senderRunId===e&&n.recipientRunId===t)}function Lt(e,t){let n=-j(e,t);return n>=1e3?`reply due in ${A(n)}`:`reply overdue`}function Rt(e,t){return t.filter(t=>t.relationship===`peer`&&t.senderRunId===e)}function zt(e,t){return e.relationship===`peer`?{kind:`Request`,relation:`Peer`}:{kind:`Question`,relation:Bt[Vt(e,t)]}}var Bt={worker:`Worker → parent`,parent:`Parent → worker`,unknown:`Family`};function Vt(e,t){let n=t.get(e.senderRunId)?.role;if(n)return n===`worker`?`worker`:`parent`;let r=t.get(e.recipientRunId)?.role;return r?r===`root`?`worker`:`parent`:`unknown`}var Ht=new Set([`needs-you`,`needs-permission`]),Ut=new Set([`queued`,`waiting-for-capacity`]);function Wt(e){if(N(e.status))return Ht.has(e.rung)?`needsYou`:e.rung===`running`?`working`:Ut.has(e.rung)?`queued`:`waiting`}function Gt(e){let t={needsYou:0,working:0,waiting:0,queued:0,activeWorkers:0,openRequests:0,inReview:0};for(let n of e){t.inReview+=n.inReview,t.openRequests+=n.requests.length;for(let e of n.tasks){let n=Wt(e);n&&(t[n]+=1),t.activeWorkers+=e.workers.filter(e=>N(e.status)).length}}return t}function Kt(e,t=()=>!1){let n=0,r=0;for(let i of e.workers)t(i.runId)||((i.status===`done`||i.status===`cancelled`)&&(n+=1),i.status===`failed`&&(n+=1,r+=1));return{finished:n,failed:r}}function qt({finished:e,failed:t}){if(e!==0)return t>0?`✓ ${e} finished · ${t} failed`:`✓ ${e} worker${e===1?``:`s`} finished`}var H={flash:1300,cardEnter:700,cardLeave:500,workerEnter:700,workerHold:3e3,workerFold:500,comet:1100,replied:900,fade:800,bump:500,slide:450,check:800},U={flash:{},entering:{},leaving:{},workerEnter:{},workerHold:{},opening:{},closing:{},waitsClosing:{},comets:{},bumps:{},slides:{},checks:{}},Jt=(e,t)=>`${e}\n${t}`;function Yt(e,t){let n=Jt(t,``);return new Set(Object.keys(e.checks).filter(e=>e.startsWith(n)).map(e=>e.slice(n.length)))}var Xt=class{key;changes=[];timers=[];constructor(e){this.key=e}timed(e,t,n,r){this.changes.push({field:e,id:t,value:{...n,key:this.key}}),this.timers.push({after:r,change:{field:e,id:t,ifKey:this.key}})}later(e,t,n,r){this.timers.push({after:r,change:{field:e,id:t,value:{...n,key:this.key},ifKey:this.key}})}drop(e,t){this.changes.push({field:e,id:t})}},Zt={done:`success`,review:`success`,failed:`danger`,cancelled:`neutral`};function Qt(e,t){let n=Zt[t.status]??`success`;if(t.status===`review`){e.timed(`workerHold`,t.runId,{tone:n,phase:`flash`},H.flash);return}e.timed(`workerHold`,t.runId,{tone:n,phase:`flash`},H.workerHold+H.workerFold),e.later(`workerHold`,t.runId,{tone:n,phase:`fold`},H.workerHold)}function $t(e,t){e.drop(`closing`,t.requestId),e.timed(`opening`,t.requestId,{},H.fade),e.timed(`comets`,`${t.requestId}:open:${e.key}`,{requestId:t.requestId,reverse:!1,tone:t.relationship},H.comet)}function en(e,t,n,r){let i=n.requestId;if(e.drop(`opening`,i),!r){e.timed(`closing`,i,{projectId:t,request:n,replied:!1,phase:`fade`},H.fade);return}let a=H.comet+H.replied+H.fade;e.timed(`closing`,i,{projectId:t,request:n,replied:!0,phase:`reply`},a),e.later(`closing`,i,{projectId:t,request:n,replied:!0,phase:`replied`},H.comet),e.later(`closing`,i,{projectId:t,request:n,replied:!0,phase:`fade`},H.comet+H.replied),e.timed(`comets`,`${i}:reply:${e.key}`,{requestId:i,reverse:!0,tone:`success`},H.comet)}function tn(e,t){switch(t.kind){case`rung-changed`:return e.timed(`flash`,t.task.runId,{tone:m(t.task.rung).tone},H.flash);case`tool-started`:return e.timed(`slides`,t.runId,{},H.slide);case`worker-started`:return e.timed(`workerEnter`,t.worker.runId,{},H.workerEnter);case`worker-settled`:return Qt(e,t.worker);case`card-entered`:return e.drop(`leaving`,t.task.runId),e.timed(`entering`,t.task.runId,{},H.cardEnter);case`card-left`:return e.timed(`leaving`,t.task.runId,{projectId:t.projectId,task:t.task},H.cardLeave);case`check-passed`:return e.timed(`checks`,Jt(t.runId,t.name),{},H.check);case`request-opened`:return $t(e,t.request);case`request-closed`:return en(e,t.projectId,t.request,t.status===`replied`);case`chip-changed`:return e.timed(`bumps`,t.chip,{},H.bump);case`wait-opened`:return e.drop(`waitsClosing`,t.wait.id),e.timed(`opening`,t.wait.id,{},H.fade);case`wait-closed`:return e.drop(`opening`,t.wait.id),e.timed(`waitsClosing`,t.wait.id,{projectId:t.projectId,wait:t.wait},H.fade)}}function nn(e,t,n){let r=new Xt(t);if(!n)for(let t of e)tn(r,t);return{changes:r.changes,timers:r.timers}}function rn(e,t){let n=e[t.field];if(t.ifKey!==void 0&&n[t.id]?.key!==t.ifKey||t.value===void 0&&!(t.id in n))return e;let r={...n};return t.value===void 0?delete r[t.id]:r[t.id]=t.value,{...e,[t.field]:r}}function an(e,t){return t.reduce(rn,e)}function on(e,t,n){let r=new Set(t.map(e=>e.id));return Object.values(n.waitsClosing).filter(t=>t.projectId===e&&!r.has(t.wait.id)).map(e=>e.wait)}var sn={success:`text-success`,pending:`text-signal-word-amber`,danger:`text-signal-word-red`,accent:`text-accent-text`,info:`text-info`,running:`text-status-running`,neutral:`text-muted-foreground`};function cn({tone:e,className:t,children:n,...r}){return(0,T.jsx)(`span`,{...r,className:i(`bg-card-2`,{"text-success":e===`success`,"text-signal-word-amber":e===`pending`,"text-signal-word-red":e===`danger`,"text-accent-text":e===`accent`,"text-info":e===`info`,"text-status-running":e===`running`,"text-muted-foreground":e===`neutral`},t),children:n})}var ln={success:`border-success`,pending:`border-pending-strong`,danger:`border-danger`,accent:`border-accent-strong`,info:`border-info`,running:`border-status-running`,neutral:`border-soft-foreground`},un={success:`bg-success`,pending:`bg-pending-strong`,danger:`bg-danger`,accent:`bg-accent-strong`,info:`bg-info`,running:`bg-status-running`,neutral:`bg-soft-foreground`},dn={tool:Me,user:je,workers:Ce,reply:xe,peer:Oe,subagents:Ce,ci:De,merge:Ee,command:Ae,timer:Te,pause:ke,queued:ye,review:be,failed:_e,done:ve,cancelled:we};function fn(e,t){let n=m(e.rung),r=e.rung===`waiting-on-workers`&&(t===`worker`||e.wait?.kind===`peers`);return{tone:n.tone,shape:r?`ring`:n.shape,label:mn(e,t)??n.label}}var pn=(e,t,n)=>`${e} ${t} ${n}${t===1?``:`s`}`;function mn(e,t){let n=e.wait;if(e.rung===`waiting-on-workers`){if(t===`worker`)return`waiting on parent reply`;if(n?.kind===`peers`&&n.detail.peerRunIds.length>0)return pn(`waiting on`,n.detail.peerRunIds.length,`task`);if(n?.kind===`workers`&&n.detail.replies)return`waiting on replies`;if(n?.kind===`workers`&&n.detail.owed>0)return pn(`waiting on`,n.detail.owed,`worker`)}if(e.rung===`waiting-on-subagents`&&n?.kind===`subagents`&&n.detail.running>0)return pn(`waiting for`,n.detail.running,`subagent`)}function hn(e,t){if(N(e.status))return e.rung===`running`&&t===`filled`?`activity-pulse`:t===`filled`?void 0:`activity-breathe`}function W({run:e,role:t}){let{tone:n,shape:r,label:a}=fn(e,t);return(0,T.jsx)(`span`,{"data-activity-anchor":e.runId,className:i(`inline-flex size-[12px] shrink-0 items-center justify-center`,hn(e,r)),children:(0,T.jsx)(C,{tone:n,shape:r,role:`img`,"aria-label":a})})}function gn({runId:e,requests:t,waits:n,index:r,link:i,pathOf:a,className:o,linkClassName:s}){let c=Rt(e,t),l=Pt(e,n);return c.length===0&&l.length===0?null:(0,T.jsxs)(`ul`,{"data-slot":`activity-peer-links`,className:o,children:[c.map(e=>(0,T.jsx)(`li`,{children:(0,T.jsxs)(i,{to:a(e.recipientRunId),className:s,children:[`→ `,V(r,e)]})},e.requestId)),l.map(e=>(0,T.jsx)(`li`,{children:(0,T.jsxs)(i,{to:a(e.peerRunId),className:s,children:[`⋯ waits on `,z(r,e.peerRunId)]})},e.id))]})}var _n={pass:`bg-success`,fail:`bg-danger`,pending:`bg-info`,skipping:`border border-soft-foreground`,cancel:`border border-soft-foreground`},vn=(e,t)=>t?`activity-check-pass`:e===`pending`?`activity-breathe-fast`:void 0;function yn({checks:e,overflow:t,passed:n}){return(0,T.jsxs)(`span`,{"data-slot":`activity-checks`,"aria-hidden":`true`,className:i(`col-start-2 mt-[5px] flex items-center`,e.length>40?`gap-px`:`gap-[3px]`),children:[e.map(e=>(0,T.jsx)(`i`,{"data-bucket":e.bucket,"data-passed":n.has(e.name)?`true`:void 0,title:e.name,className:i(`h-[5px] min-w-px flex-1 rounded-[2px]`,_n[e.bucket],vn(e.bucket,n.has(e.name)))},e.name)),t?(0,T.jsxs)(`span`,{"data-slot":`activity-checks-overflow`,"data-bucket":t.bucket,className:`ml-1 flex shrink-0 items-center gap-1 text-[10px] leading-none text-muted-foreground tabular-nums`,children:[(0,T.jsx)(`i`,{className:i(`h-[5px] w-2 rounded-[2px]`,_n[t.bucket])}),`+`,t.count]}):null]})}function bn({value:e,ink:t}){return(0,T.jsx)(`span`,{"data-slot":`activity-bar`,"aria-hidden":`true`,className:`col-start-2 mt-[5px] block h-1 overflow-hidden rounded-sm bg-border`,children:(0,T.jsx)(`span`,{className:i(`block h-full bg-current`,t),style:{width:`${Math.round(e*100)}%`}})})}var xn=new Set;function Sn({box:e,now:t,dense:n,motion:r={}}){let a=dn[e.icon],o=sn[e.tone];return(0,T.jsxs)(`div`,{"data-slot":`activity-now`,"data-verb":e.verb,className:`relative grid grid-cols-[16px_minmax(0,1fr)] gap-x-2 gap-y-px overflow-hidden rounded-lg bg-card-2 px-2.5 py-2`,children:[r.sweep?(0,T.jsx)(`span`,{"data-slot":`activity-sweep`,"aria-hidden":`true`,className:`activity-sweep`}):null,(0,T.jsx)(a,{"aria-hidden":`true`,className:i(`mt-px size-[15px]`,o)}),(0,T.jsxs)(cn,{tone:e.tone,className:`flex gap-2 text-[11px] font-semibold tracking-[0.04em] uppercase`,children:[(0,T.jsx)(`span`,{"data-slot":`activity-verb`,children:e.verb}),e.since?(0,T.jsx)(`span`,{"data-slot":`activity-age`,className:`ml-auto font-medium tracking-normal text-muted-foreground normal-case tabular-nums`,children:A(j(e.since,t))}):null]}),(0,T.jsx)(`span`,{"data-slot":`activity-main`,className:i(`col-start-2 truncate text-[12.5px] text-foreground`,e.mono&&`font-mono text-[12px]`,r.slideKey!==void 0&&`activity-slide`),children:e.main},r.slideKey??`still`),e.checks?(0,T.jsx)(yn,{checks:e.checks,overflow:e.overflow,passed:r.passed??xn}):null,e.checkSummary?(0,T.jsx)(`span`,{"data-slot":`activity-checks-summary`,className:`sr-only`,children:e.checkSummary}):null,e.bar===void 0?null:(0,T.jsx)(bn,{value:e.bar,ink:o}),e.detail&&!n?(0,T.jsx)(`span`,{"data-slot":`activity-detail`,className:`col-start-2 text-[11.5px] text-muted-foreground tabular-nums`,children:e.detail}):null]})}function Cn({rate:e,className:t}){let n=e.reduce((e,t)=>e+t,0),r=Math.max(4,...e);return(0,T.jsxs)(`svg`,{"data-slot":`activity-heartbeat`,role:`img`,"aria-label":`${n} tool call${n===1?``:`s`} in the last ${e.length} s`,viewBox:`0 0 62 16`,className:i(`block h-4 w-[62px] shrink-0`,t),children:[(0,T.jsx)(`path`,{d:`M0 15.5h62`,className:`stroke-border`}),e.map((e,t)=>{if(e<=0)return null;let n=Math.max(1.5,e/r*14);return(0,T.jsx)(`rect`,{x:t*2.07,y:15-n,width:1.4,height:n,className:`fill-status-running`},t)})]})}var G=e=>`/tasks/${encodeURIComponent(e)}`;function wn(e,t){return[e.runner,e.model,e.currentStepId?`step ${e.currentStepId}`:void 0,e.startedAt?it(j(e.startedAt,t)):void 0].filter(e=>!!e).join(` · `)}function Tn({texts:e}){return e.length===0?null:(0,T.jsx)(`ul`,{"data-slot":`activity-line-text`,className:`sr-only`,children:e.map((e,t)=>(0,T.jsx)(`li`,{children:e},t))})}function En({worker:e,parentId:t,requests:n,index:r,ctx:a,motion:o}){let s=Dt(e,a,It(e.runId,t,n)?.text),c=o.workerHold[e.runId];return(0,T.jsxs)(`li`,{"data-slot":`activity-worker`,"data-run":e.runId,"data-asks":s.asks?`true`:void 0,"data-hold":c?.phase,className:i(`relative grid grid-cols-[14px_minmax(0,1fr)] items-start gap-x-2 rounded-lg py-[5px] before:absolute before:top-[13px] before:-left-3.5 before:w-2.5 before:border-t before:border-border`,s.asks&&`-mx-1.5 bg-message-inbound-bg px-1.5`,e.runId in o.workerEnter&&`activity-row-enter`,c?.phase===`fold`&&`activity-row-fold`),children:[c?(0,T.jsx)(`span`,{"aria-hidden":`true`,className:i(`activity-row-flash`,un[c.tone])},c.key):null,(0,T.jsx)(`span`,{className:`mt-[3px]`,children:(0,T.jsx)(W,{run:e,role:`worker`})}),(0,T.jsxs)(`span`,{className:`min-w-0 truncate text-[12.5px] font-medium`,children:[(0,T.jsx)(S,{to:G(e.runId),className:`relative z-[1] hover:underline focus-visible:outline-2 focus-visible:outline-ring max-md:inline-flex max-md:min-h-11 max-md:items-center`,children:e.title}),(0,T.jsx)(`span`,{className:`ml-1.5 text-[11px] font-normal text-muted-foreground`,children:[e.runner,e.model].filter(Boolean).join(` · `)})]}),(0,T.jsxs)(`span`,{"data-slot":`activity-worker-line`,className:`col-start-2 truncate text-[11.5px] text-muted-foreground tabular-nums`,children:[(0,T.jsx)(`b`,{className:i(`font-semibold`,sn[s.tone]),children:s.verb}),` · `,(0,T.jsx)(`span`,{className:i(s.mono&&`font-mono`),children:s.main})]}),(0,T.jsx)(Tn,{texts:Ft(e.runId,n,r)})]})}function Dn({workers:e}){return(0,T.jsxs)(`div`,{"data-slot":`activity-worker-dots`,className:`mt-2 ml-[18px] flex flex-wrap items-center gap-1 text-[11px] text-muted-foreground`,children:[e.map(e=>(0,T.jsx)(W,{run:e,role:`worker`},e.runId)),(0,T.jsxs)(`span`,{className:`ml-1`,children:[e.length,` worker`,e.length===1?``:`s`]})]})}function On({task:e,requests:t,index:n,ctx:r,dense:i,motion:a}){let o=e=>e in a.workerHold,s=e.workers.filter(e=>N(e.status)||e.status===`review`||o(e.runId)),c=qt(Kt(e,o));return(0,T.jsxs)(T.Fragment,{children:[s.length>0&&i?(0,T.jsx)(Dn,{workers:s}):null,s.length>0&&!i?(0,T.jsx)(`ul`,{"data-slot":`activity-workers`,className:`mt-2 ml-1 border-l border-border pl-3.5`,children:s.map(i=>(0,T.jsx)(En,{worker:i,parentId:e.runId,requests:t,index:n,ctx:r,motion:a},i.runId))}):null,c?(0,T.jsx)(`p`,{"data-slot":`activity-finished`,className:`mt-1.5 ml-[18px] text-[11px] text-muted-foreground`,children:c}):null]})}var kn=`relative z-[1] text-[12px] text-message-peer-accent hover:underline focus-visible:outline-2 focus-visible:outline-ring max-md:inline-flex max-md:min-h-11 max-md:items-center`;function An(e,t){return t?{onPointerEnter:()=>t(`pointer`,e),onPointerLeave:()=>t(`pointer`,void 0),onFocus:()=>t(`focus`,e),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||t(`focus`,void 0)}}:{}}function jn(e,t,n){return n?`activity-card-leave`:e.runId in t.entering?`activity-card-enter`:void 0}function Mn({task:e,motion:t,glow:n}){let r=t.flash[e.runId];return(0,T.jsxs)(T.Fragment,{children:[n?(0,T.jsx)(`span`,{"aria-hidden":`true`,className:`activity-glow`}):null,r?(0,T.jsx)(`span`,{"data-slot":`activity-flash`,"data-tone":r.tone,"aria-hidden":`true`,className:i(`activity-flash`,ln[r.tone])},r.key):null]})}var Nn=[];function Pn({task:e,requests:t,waits:n=Nn,index:a,ctx:o,dense:s,narrow:c,motion:l=U,ghost:u=!1,linked:d=!1,onHover:f}){let p=R(e,o),m=u?{"data-activity-ghost":e.runId,inert:!0,"aria-hidden":!0}:{"data-activity-card":e.runId},ee={sweep:e.rung===`running`&&N(e.status),slideKey:l.slides[e.runId]?.key,passed:Yt(l,e.runId)};return(0,T.jsxs)(`article`,{...m,"data-flip":e.runId,"data-rung":e.rung,"data-linked":d&&!u?`true`:void 0,...u?{}:An(e.runId,f),className:i(`relative min-w-0 rounded-xl border bg-card px-3.5 py-3`,p.action?`border-pending`:`border-border`,d&&!u&&`outline-2 outline-offset-2 outline-message-peer-accent`,jn(e,l,u)),children:[(0,T.jsx)(Mn,{task:e,motion:l,glow:p.action!==void 0&&!u}),(0,T.jsxs)(`header`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(W,{run:e,role:`root`}),(0,T.jsx)(`h3`,{className:`min-w-0 flex-1 truncate text-[13.5px] font-semibold`,children:(0,T.jsx)(S,{to:G(e.runId),className:`after:absolute after:inset-0 after:rounded-xl after:content-[''] focus-visible:outline-2 focus-visible:outline-ring`,children:e.title})}),(0,T.jsx)(Cn,{rate:e.rate})]}),(0,T.jsx)(`p`,{className:`mt-0.5 mb-2 ml-5 truncate text-[11.5px] text-muted-foreground`,children:wn(e,o.now)}),(0,T.jsx)(Tn,{texts:Ft(e.runId,t,a,n)}),(0,T.jsx)(Sn,{box:p,now:o.now,dense:s,motion:ee}),p.action?(0,T.jsx)(`div`,{className:`mt-2 flex gap-1.5`,children:(0,T.jsx)(r,{asChild:!0,size:`sm`,variant:p.action===`answer`?`primary`:`outline`,className:`relative z-[1] max-md:min-h-11`,children:(0,T.jsx)(S,{to:G(e.runId),children:p.action===`answer`?`Answer`:`Open task`})})}):null,c?(0,T.jsx)(gn,{runId:e.runId,requests:t,waits:n,index:a,link:S,pathOf:G,className:`mt-2 flex flex-col gap-1`,linkClassName:kn}):null,(0,T.jsx)(On,{task:e,requests:t,index:a,ctx:o,dense:s,motion:l})]})}function Fn(e){return!Number.isFinite(e)||e<=0?1:Math.max(1,Math.floor((e+96)/396))}function In(e,t){let n=e[0],r=1/0;for(let i of e){let e=i.reduce((e,n)=>e+t(n),0);e<r&&(n=i,r=e)}return n}function Ln(e,t,n,r=()=>1){let i=Math.max(1,Math.floor(n)),a=new Set(t),o=e?.length===i?e.map(e=>e.filter(e=>a.has(e))):Array.from({length:i},()=>[]),s=new Set(o.flat());for(let e of t)s.has(e)||(In(o,r).push(e),s.add(e));return o}function Rn(e,t){return e!==void 0&&e.length===t.length&&e.every((e,n)=>e.length===t[n]?.length&&e.every((e,r)=>e===t[n]?.[r]))}var zn=(e,t)=>({x0:Math.min(e.x,t.x),y0:Math.min(e.y,t.y),x1:Math.max(e.x,t.x),y1:Math.max(e.y,t.y)});function Bn(e,t,n=1){return t.some(t=>t.x+n<e.x1&&e.x0<t.x+t.w-n&&t.y+n<e.y1&&e.y0<t.y+t.h-n)}var Vn=(e,...t)=>e.filter(e=>!t.some(t=>Hn(e,t))),Hn=(e,t)=>e.x===t.x&&e.y===t.y&&e.w===t.w&&e.h===t.h,Un=e=>Math.round(e*10)/10,K=e=>`${Un(e.x)} ${Un(e.y)}`;function Wn(e){let t=[];for(let n of e){let e=t[t.length-1];if(e&&e.x===n.x&&e.y===n.y)continue;let r=t[t.length-2];r&&e&&(r.x===e.x&&e.x===n.x||r.y===e.y&&e.y===n.y)&&t.pop(),t.push(n)}return t}function Gn(e,t=8){let n=Wn(e),r=n[0];if(!r)return``;let i=`M${K(r)}`;for(let e=1;e<n.length;e++){let r=n[e],a=n[e-1],o=n[e+1];if(!o){i+=` L ${K(r)}`;continue}let s=Math.min(t,Math.hypot(r.x-a.x,r.y-a.y)/2,Math.hypot(o.x-r.x,o.y-r.y)/2),c=(e,t,n)=>{let r=Math.hypot(t.x-e.x,t.y-e.y)||1;return{x:e.x+(t.x-e.x)/r*n,y:e.y+(t.y-e.y)/r*n}};i+=` L ${K(c(r,a,s))} Q ${K(r)}, ${K(c(r,o,s))}`}return i}function Kn(e,t,n){let r=[];for(let i of[...e].sort((e,n)=>t(e)-t(n))){let e=r[r.length-1];e&&Math.abs(t(i)-e.from)<=2?e.to=Math.max(e.to,n(i)):r.push({from:t(i),to:n(i)})}return r}function qn(e){return{rows:Kn(e,e=>e.y,e=>e.y+e.h).map(({from:e,to:t})=>({top:e,bottom:t})),cols:Kn(e,e=>e.x,e=>e.x+e.w).map(({from:e,to:t})=>({left:e,right:t}))}}var q=(e,t,n)=>Math.max(0,e.findIndex(e=>Math.abs(t(e)-n)<=2)),J=(e,t)=>((e.rows[t]?.bottom??0)+(e.rows[t+1]?.top??(e.rows[t]?.bottom??0)+16))/2;function Jn(e,t,n){let r=e.cols,i=e=>((r[e]?.right??0)+(r[e+1]?.left??0))/2;return t<n?i(t):t>n?i(t-1):t+1<r.length?i(t):t>0?i(t-1):(r[t]?.right??0)+8}function Yn(e,t,n,r=0){let i=qn(n),a=q(i.rows,e=>e.top,e.y),o=q(i.rows,e=>e.top,t.y),s=o>a,c=e.x+e.w/2+r,l=t.x+t.w/2+r,u=(s?J(i,a):J(i,a-1))+r/2,d=(s?J(i,o-1):J(i,o))+r/2,f=Jn(i,q(i.cols,e=>e.left,e.x),q(i.cols,e=>e.left,t.x))+r/2,p={x:c,y:s?e.y+e.h+1:e.y-1},m={x:l,y:s?t.y-3:t.y+t.h+3};return{points:[p,{x:c,y:u},{x:f,y:u},{x:f,y:d},{x:l,y:d},m],label:{x:(c+f)/2,y:u}}}var Xn=15;function Zn(e,t,n){let r=[...n,...e.flatMap(e=>[e.y-Xn,e.y+e.h+Xn])].filter(t=>t>=0&&!e.some(e=>e.y-6<t&&t<e.y+e.h+6));return r.reduce((e,n)=>Math.abs(n-t)<Math.abs(e-t)?n:e,r[0]??t)}function Qn(e,t,n,r,i=0){let a=t.x>e.x?1:-1,o=e.x+a*n/2+i,s=t.x-a*n/2+i,c=Zn(r.filter(e=>e.x+e.w>Math.min(o,s)&&e.x<Math.max(o,s)),(e.y+t.y)/2,[e.y,t.y])+(i===0?0:Math.sign(i)*Math.min(Math.abs(i),Xn-6)),l=c===e.y?{x:s,y:(c+t.y)/2}:{x:o,y:(e.y+c)/2};return{points:[e,{x:o,y:e.y},{x:o,y:c},{x:s,y:c},{x:s,y:t.y},{x:t.x-a*2,y:t.y}],label:l}}function $n(e){let t=new Map;for(let n of e){let e=[n.senderRunId,n.recipientRunId].sort().join(`
2
- `);t.set(e,[...t.get(e)??[],n.requestId])}let n=new Map;for(let e of t.values())e.forEach((t,r)=>n.set(t,(r-(e.length-1)/2)*12));return n}function er(e,t,n,r=4){let i=[],a=new Map;for(let{id:o,at:s}of e){let e={...s};for(let a=0;a<=i.length;a++){let a=i.find(n=>Math.abs(e.x-n.x)<t.w+r&&Math.abs(e.y-n.y)<t.h+r);if(!a)break;n===`x`?e.x=a.x+t.w+r:e.y=a.y+t.h+r}i.push(e),a.set(o,e)}return a}var tr=e=>Math.round(e*10)/10,Y=e=>`${tr(e.x)} ${tr(e.y)}`;function nr(e,t,n){return t&&t.x>e.x+40?1:t&&t.x<e.x-40?-1:e.x+e.w+96<=n+1?1:-1}function rr(e,t,n,r,i,a){let o=r>0?Math.max(e.x+e.w,t.x+t.w):Math.min(e.x,t.x),s=(70+n)*r;return{d:`M${Y({x:o,y:i})} C ${Y({x:o+s,y:i})}, ${Y({x:o+s,y:a})}, ${Y({x:o+2*r,y:a})}`,label:{x:o+s*.75,y:(i+a)/2}}}function ir(e,t,n=[],r=0,i=1){let a=e.y+22+r,o=t.y+22+r;if(Math.abs(e.x-t.x)<40)return rr(e,t,r,i,a,o);let s=t.x>e.x,c=s?e.x+e.w:e.x,l=s?t.x:t.x+t.w,u=Math.max(40,Math.abs(l-c)*.5)*(s?1:-1),d=l-(s?2:-2);if(Bn(zn({x:c,y:a},{x:l,y:o}),Vn(n,e,t))){let i=Qn({x:c,y:a},{x:l,y:o},96,Vn(n,e,t),r);return{d:Gn(i.points),label:i.label}}return{d:`M${Y({x:c,y:a})} C ${Y({x:c+u,y:a})}, ${Y({x:l-u,y:o})}, ${Y({x:d,y:o})}`,label:{x:(c+l)/2,y:(a+o)/2}}}function ar(e,{other:t,view:n,labelHeight:r}){let i=r/2+4,a=!t||!n?e+44:t.y>e?Math.max(e+44,n.y1-i):Math.min(e-44,n.y0+i);return n?or(a,n.y0+i,n.y1-i):a}var or=(e,t,n)=>Math.max(t,Math.min(n,e));function sr(e,t,n){let r=n.lane??0,i=e.y+22+r,a=n.side>0?e.x+e.w:e.x,o=a+n.side*96/2+r/2,s={x:o,y:ar(i,n)};return{d:Gn(t===`sender`?[{x:a,y:i},{x:o,y:i},s]:[s,{x:o,y:i},{x:a+2*n.side,y:i}]),label:s}}function cr(e,t,n,r=0){let i={x:e.x,y:e.y+e.h/2},a={x:t.x-2,y:t.y+t.h/2},o=n.x-18+r/2;return{d:`M${Y(i)} C ${Y({x:o,y:i.y})}, ${Y({x:o,y:a.y})}, ${Y(a)}`,label:{x:o,y:(i.y+a.y)/2}}}function lr(e,t,n=[],r=0){let i=e.x+e.w/2+r,a=t.x+t.w/2+r;if(t.y>=e.y+e.h||t.y+t.h<=e.y){let o=t.y>e.y,s=o?e.y+e.h+1:e.y-1,c=o?t.y-3:t.y+t.h+3,l=(c-s)/2;if(Bn(zn({x:i,y:s},{x:a,y:c}),Vn(n,e,t))){let i=Yn(e,t,n,r);return{d:Gn(i.points),label:i.label}}return{d:`M${Y({x:i,y:s})} C ${Y({x:i,y:s+l})}, ${Y({x:a,y:c-l})}, ${Y({x:a,y:c})}`,label:{x:(i+a)/2,y:(s+c)/2}}}let o=e.y-1,s=t.y-1,c=Math.min(o,s),l=Math.max(8,Math.min(30,18+Math.abs(a-i)*.05)+r);return{d:`M${Y({x:i,y:o})} C ${Y({x:i,y:c-l})}, ${Y({x:a,y:c-l})}, ${Y({x:a,y:s-3})}`,label:{x:(i+a)/2,y:c-l*.75}}}function ur(e,t){return{x:e.left-t.left,y:e.top-t.top,w:e.width,h:e.height}}function dr(e,t){let n=[];for(let r of e){let e=n.find(e=>Math.abs((e[0]?.at.x??NaN)-r.at.x)<t);e?e.push(r):n.push([r])}return n}function fr(e,t,n,r){let i=e.map(e=>Math.min(r,Math.max(n,e.at.y))),a=i.map((e,t)=>t).sort((e,t)=>i[e]-i[t]);for(let e=1;e<a.length;e++){let n=a[e];i[n]=Math.max(i[n],i[a[e-1]]+t)}for(let e=a.length-1;e>=0;e--){let n=a[e],o=e+1<a.length?i[a[e+1]]-t:r;i[n]=Math.min(i[n],o)}return e.map((e,t)=>({id:e.id,at:{x:e.at.x,y:i[t]}}))}function pr(e,t,n,r=4){let i=n?n.y0+t.h/2:-1/0,a=n?n.y1-t.h/2:1/0,o=new Map;for(let n of dr(e,t.w+r))for(let e of fr(n,t.h+r,i,a))o.set(e.id,e.at);return o}var mr=(e,t)=>e.x<=t.x1&&t.x0<=e.x+e.w&&e.y<=t.y1&&t.y0<=e.y+e.h;function hr(e,t,n){let r=e!==void 0&&mr(e,n),i=t!==void 0&&mr(t,n);return r&&i?`both`:r?`sender`:i?`recipient`:`none`}var gr=e=>/(auto|scroll|hidden|clip)/.test(getComputedStyle(e).overflowY);function _r(e){let t=[];for(let n=e.parentElement;n&&n!==document.body&&n!==document.documentElement;n=n.parentElement)gr(n)&&t.push(n);return t}function vr(e,t){return{x0:Math.max(e.x0,t.x0),y0:Math.max(e.y0,t.y0),x1:Math.min(e.x1,t.x1),y1:Math.min(e.y1,t.y1)}}function yr(e){let t=e.getBoundingClientRect(),n={x0:0,y0:0,x1:window.innerWidth,y1:window.innerHeight};for(let t of _r(e)){let e=t.getBoundingClientRect();e.width>0&&e.height>0&&(n=vr(n,{x0:e.left,y0:e.top,x1:e.right,y1:e.bottom}))}return{x0:n.x0-t.left,y0:n.y0-t.top,x1:n.x1-t.left,y1:n.y1-t.top}}var X={w:88,h:40};function br(e,t){let n=e.getBoundingClientRect(),r=new Map;for(let i of e.querySelectorAll(`[${t}]`)){let e=i.getAttribute(t);e&&r.set(e,ur(i.getBoundingClientRect(),n))}return r}function xr({base:e,from:t,to:n,fromName:r,toName:i},a,o,s){let c=a.get(t),l=a.get(n),u=s.view??{x0:-1/0,y0:-1/0,x1:1/0,y1:1/0},d=(e,t)=>({side:nr(e,t,s.width),labelHeight:X.h,lane:o??0,view:u,...t?{other:t}:{}});switch(hr(c,l,u)){case`both`:return c&&l?{...e,...ir(c,l,[...a.values()],o,nr(c,void 0,s.width))}:void 0;case`sender`:return c?{...e,...sr(c,`sender`,d(c,l)),away:i()}:void 0;case`recipient`:return l?{...e,...sr(l,`recipient`,d(l,c)),away:r()}:void 0;case`none`:return}}var Sr=(e,t)=>({base:{id:e.requestId,kind:`peer`},from:e.senderRunId,to:e.recipientRunId,fromName:()=>B(t,e),toName:()=>V(t,e)}),Cr=(e,t)=>({base:{id:e.id,kind:`wait`},from:e.peerRunId,to:e.waiterRunId,fromName:()=>z(t,e.peerRunId),toName:()=>z(t,e.waiterRunId)}),wr=e=>({requestId:e.id,senderRunId:e.peerRunId,recipientRunId:e.waiterRunId});function Tr(e,t){return[...new Set([...e.values()].map(e=>Math.round(e.x+e.w)))].filter(e=>e+96<=t+1).map(e=>e+96/2)}function Er(e,t){return t.length===0?e:{x:t.reduce((t,n)=>Math.abs(n-e.x)<Math.abs(t-e.x)?n:t),y:e.y}}function Dr(e,t,n,r,i,a){let o=r.get(e.senderRunId)?.cardId??r.get(e.recipientRunId)?.cardId,s=o===void 0?void 0:t.get(o),c=n.get(e.senderRunId),l=n.get(e.recipientRunId);if(!(!s||!c||!l||a&&!mr(s,a)))return{id:e.requestId,kind:`family`,...cr(c,l,s,i)}}function Or(e,t,n,{peers:r,frame:i={width:e.clientWidth},waits:a=[]}){let o=br(e,`data-activity-card`),s=br(e,`data-activity-anchor`),c=$n([...t,...a.map(wr)]),l=[];for(let e of t){let t=c.get(e.requestId),a=e.relationship===`peer`?r?xr(Sr(e,n),o,t,i):void 0:Dr(e,o,s,n,t,i.view);a&&l.push(a)}for(let e of r?a:[]){let t=xr(Cr(e,n),o,c.get(e.id),i);t&&l.push(t)}let u=Tr(o,i.width),d=pr(l.filter(e=>e.kind!==`family`).map(e=>({id:e.id,at:Er(e.label,u)})),X,i.view);return l.map(e=>({...e,label:d.get(e.id)??e.label}))}function kr(e,t){return e.length===t.length&&e.every((e,n)=>{let r=t[n];return r!==void 0&&e.id===r.id&&e.d===r.d&&e.away===r.away&&e.label.x===r.label.x&&e.label.y===r.label.y})}function Ar({frame:e,cancel:t,draw:n}){let r=[],i,a=t=>{i=void 0,r=r.map(e=>({...e,start:e.start??t})).filter(e=>t<e.start+e.duration),n(r,t),r.length>0&&(i=e(a))};return{launch(t){r.some(e=>e.id===t.id)||(r.push(t),i===void 0&&(i=e(a)))},stop(){i!==void 0&&t(i),i=void 0,r=[],n([],0)},running:()=>i!==void 0}}var jr=e=>e<.5?2*e*e:1-(-2*e+2)**2/2;function Mr(e,t,n=0){let r=Math.min(1,Math.max(0,(t-e.start)/e.duration)),i=Math.max(0,jr(r)-n);return e.reverse?1-i:i}var Nr=`http://www.w3.org/2000/svg`,Pr=[0,.03,.06,.09,.12],Fr=[4.5,3.5,3,2.5,2],Ir={peer:`fill-message-peer-accent`,family:`fill-message-inbound-accent`,success:`fill-success`};function Lr(e,t){let n=e.querySelector(`g[data-comet="${CSS.escape(t.id)}"]`);if(n)return n;let r=document.createElementNS(Nr,`g`);r.setAttribute(`data-comet`,t.id);let i=document.createElementNS(Nr,`circle`);return i.setAttribute(`r`,`9`),i.setAttribute(`class`,`${Ir[t.tone]} opacity-35`),r.append(i),Pr.forEach((e,n)=>{let i=document.createElementNS(Nr,`circle`);i.setAttribute(`r`,String(Fr[n])),i.setAttribute(`class`,n===0?`fill-foreground`:Ir[t.tone]),i.setAttribute(`opacity`,String(1-n*.15)),r.append(i)}),e.append(r),r}function Rr(e,t,n){let r=new Set(t.map(e=>e.id));for(let t of e.querySelectorAll(`g[data-comet]`))r.has(t.getAttribute(`data-comet`)??``)||t.remove();let i=e.ownerSVGElement;for(let r of t){let t=i?.querySelector(`path[data-request="${CSS.escape(r.requestId)}"]`);if(!t||typeof t.getTotalLength!=`function`)continue;let a=t.getTotalLength();Lr(e,r).querySelectorAll(`circle`).forEach((e,i)=>{let o=t.getPointAtLength(Mr(r,n,Pr[Math.max(0,i-1)])*a);e.setAttribute(`transform`,`translate(${o.x} ${o.y})`)})}}var zr=e=>typeof requestAnimationFrame==`function`?requestAnimationFrame(e):setTimeout(()=>e(performance.now()),16),Br=e=>typeof cancelAnimationFrame==`function`?cancelAnimationFrame(e):clearTimeout(e);function Vr(e,t,n){let r=w.useRef(null),i=w.useRef(void 0),a=w.useRef(new Set);return w.useEffect(()=>{let e=r.current;if(!e)return;let t=Ar({frame:zr,cancel:Br,draw:(t,n)=>Rr(e,t,n)});return i.current=t,()=>{t.stop(),i.current=void 0}},[]),w.useEffect(()=>{if(n){i.current?.stop();return}for(let t of a.current)t in e||a.current.delete(t);for(let[n,r]of Object.entries(e))a.current.has(n)||!t.has(r.requestId)||(a.current.add(n),i.current?.launch({id:n,requestId:r.requestId,reverse:r.reverse,tone:r.tone,duration:H.comet}))},[e,t,n]),r}function Hr(e,t){let n=new Map;for(let[r,i]of t){let t=e.get(r);if(!t)continue;let a={x:t.x-i.x,y:t.y-i.y};(Math.abs(a.x)>=1||Math.abs(a.y)>=1)&&n.set(r,a)}return n}function Ur(e,t){let n=new Map;for(let r of e.querySelectorAll(`[${t}]`)){let e=r.getBoundingClientRect();n.set(r.getAttribute(t)??``,{el:r,at:{x:e.left,y:e.top}})}return n}var Wr=`activity-layout-settled`;function Gr(e,t,n,r){let i=w.useRef(void 0),a=w.useRef(new Set);w.useLayoutEffect(()=>{let o=e.current;if(!o)return;let s=Ur(o,t),c=new Map([...s].map(([e,t])=>[e,t.at])),l=i.current;if(i.current={key:n,at:c},!(!r||!l||l.key===n))for(let[e,t]of Hr(l.at,c)){let n=s.get(e)?.el.animate?.([{transform:`translate(${t.x}px, ${t.y}px)`},{transform:`none`}],{duration:400,easing:`cubic-bezier(0.2, 0, 0, 1)`});n&&Kr(n,a.current,o)}}),w.useEffect(()=>{if(!r)for(let e of[...a.current])e.cancel()},[r])}function Kr(e,t,n){t.add(e);let r=()=>{t.delete(e)&&t.size===0&&n.dispatchEvent(new Event(Wr))};e.addEventListener(`finish`,r),e.addEventListener(`cancel`,r)}function qr(e,t,n,r,i,a=!1){let[o,s]=w.useState([]);return w.useLayoutEffect(()=>{let i=e.current?.parentElement;if(!i)return;let o=()=>{let e=t(i);s(t=>n(t,e)?t:e)};o();let c=a?Jr(i,o):void 0;i.addEventListener(Wr,o);let l=typeof ResizeObserver>`u`?void 0:new ResizeObserver(o);l?.observe(i);for(let e of i.querySelectorAll(r))l?.observe(e);return()=>{l?.disconnect(),i.removeEventListener(Wr,o),c?.()}},[e,t,n,r,i,a]),o}function Jr(e,t){let n,r=()=>{n===void 0&&(n=requestAnimationFrame(()=>{n=void 0,t()}))},i=[..._r(e),window];for(let e of i)e.addEventListener(`scroll`,r,{passive:!0});return window.addEventListener(`resize`,r),()=>{for(let e of i)e.removeEventListener(`scroll`,r);window.removeEventListener(`resize`,r),n!==void 0&&cancelAnimationFrame(n)}}var Yr=28;function Xr(e){let t=e.replace(/\s+/g,` `).trim();return t.length>Yr?`${t.slice(0,Yr-1).trimEnd()}…`:t}function Zr(e,t){if(e.deadline!==void 0)return Qr(e.createdAt,e.deadline,t)}function Qr(e,t,n){let r=Date.parse(e),i=Date.parse(t);return Number.isNaN(r)||Number.isNaN(i)||i<=r?1:Math.min(1,Math.max(0,(n-r)/(i-r)))}function $r(e,t){if(e===`fade`)return`activity-line-out`;if(e!==`replied`)return i(`activity-march`,t&&`activity-line-in`)}function ei(e,t){return t in e.waitsClosing?`activity-line-out`:i(`activity-drift`,t in e.opening&&`activity-line-in`)}var ti=`pointer-events-none absolute z-[4] -translate-x-1/2 -translate-y-1/2 rounded-lg border bg-background px-1.5 py-[3px] text-[10px] leading-[1.3] text-foreground tabular-nums`;function ni({line:e,wait:t,now:n,motion:r}){return(0,T.jsxs)(`div`,{"data-slot":`activity-line-label`,"data-wait":t.id,"aria-hidden":`true`,style:{left:e.label.x,top:e.label.y,width:X.w},className:i(ti,`border-dashed border-message-peer-accent`,t.id in r.waitsClosing&&`activity-line-out`),children:[(0,T.jsxs)(`span`,{className:`flex gap-1 font-semibold`,children:[(0,T.jsx)(`span`,{className:`min-w-0 truncate text-message-peer-accent`,children:`Waiting`}),(0,T.jsx)(`span`,{className:`ml-auto shrink-0`,children:A(j(t.since,n))})]}),e.away?(0,T.jsx)(`span`,{className:`block truncate`,children:e.away}):null,(0,T.jsx)(`span`,{"data-slot":`activity-wait-bar`,className:`mt-[3px] block h-[3px] overflow-hidden rounded-sm bg-border`,children:(0,T.jsx)(`span`,{className:`block h-full bg-message-peer-accent opacity-70`,style:{width:`${Math.round(Qr(t.since,t.deadline,n)*100)}%`}})})]})}function ri({line:e,request:t,now:n,phase:r,replied:a}){let o=Zr(t,n);return(0,T.jsxs)(`div`,{"data-slot":`activity-line-label`,"data-request":t.requestId,"data-phase":r,"aria-hidden":`true`,style:{left:e.label.x,top:e.label.y,width:X.w},className:i(ti,a?`border-success`:`border-message-peer-accent`,r===`fade`&&`activity-line-out`),children:[(0,T.jsxs)(`span`,{className:`flex gap-1 font-semibold`,children:[a?(0,T.jsx)(`span`,{className:`text-success`,children:`Replied`}):(0,T.jsx)(`span`,{className:`min-w-0 truncate text-message-peer-accent`,children:`Request`}),(0,T.jsx)(`span`,{className:`ml-auto shrink-0`,children:A(j(t.createdAt,n))})]}),(0,T.jsx)(`span`,{className:`block truncate`,children:e.away??Xr(t.text)}),o===void 0||a?null:(0,T.jsx)(`span`,{className:`mt-[3px] block h-[3px] overflow-hidden rounded-sm bg-border`,children:(0,T.jsx)(`span`,{className:`block h-full bg-message-peer-accent`,style:{width:`${Math.round(o*100)}%`}})})]})}var Z=(e,t)=>e.closing[t]?.phase??`open`;function ii(e,t){let n=e.closing[t];return n!==void 0&&n.replied&&n.phase!==`reply`}var ai=new Set;function oi({line:e,motion:t}){let n=Z(t,e.id);return(0,T.jsx)(`path`,{"data-request":e.id,"data-kind":e.kind,"data-phase":n,d:e.d,fill:`none`,strokeDasharray:n===`replied`?void 0:`6 5`,strokeWidth:e.kind===`peer`?2.2:1.8,markerEnd:`url(#activity-arrow-${e.kind})`,className:i(e.kind===`peer`?`stroke-message-peer-accent`:`stroke-message-inbound-accent`,$r(n,e.id in t.opening))})}function si({line:e,motion:t,active:n}){return(0,T.jsx)(`path`,{"data-wait":e.id,"data-kind":`wait`,"data-active":n?`true`:void 0,d:e.d,fill:`none`,strokeDasharray:`0 8`,strokeLinecap:`round`,strokeWidth:n?3.2:2.4,markerEnd:`url(#activity-ring-wait)`,className:i(`stroke-message-peer-accent`,n?`opacity-100`:`opacity-80`,ei(t,e.id))})}function ci({id:e}){return(0,T.jsx)(`marker`,{id:e,viewBox:`0 0 12 12`,refX:`10`,refY:`6`,markerWidth:`5`,markerHeight:`5`,markerUnits:`strokeWidth`,orient:`auto`,children:(0,T.jsx)(`circle`,{cx:`6`,cy:`6`,r:`4`,strokeWidth:`2.4`,className:`fill-background stroke-message-peer-accent`})})}var li=[];function ui({requests:e,waits:t=li,active:n=ai,index:r,peers:i,layoutKey:a,now:o,motion:s=U,paused:c=!1}){let l=w.useRef(null),u=qr(l,w.useCallback(n=>Or(n,e,r,{peers:i,waits:t,frame:{width:n.clientWidth,view:yr(n)}}),[e,t,r,i]),kr,`[data-activity-card]`,a,!0),d=w.useMemo(()=>new Set(u.map(e=>e.id)),[u]),f=Vr(s.comets,d,c),p=new Map(e.map(e=>[e.requestId,e])),m=new Map(t.map(e=>[e.id,e]));return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`svg`,{ref:l,"data-slot":`activity-lines`,"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 z-[3] size-full overflow-visible`,children:[(0,T.jsxs)(`defs`,{children:[(0,T.jsx)(`marker`,{id:`activity-arrow-peer`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto`,children:(0,T.jsx)(`path`,{d:`M0 0 10 5 0 10z`,className:`fill-message-peer-accent`})}),(0,T.jsx)(`marker`,{id:`activity-arrow-family`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto`,children:(0,T.jsx)(`path`,{d:`M0 0 10 5 0 10z`,className:`fill-message-inbound-accent`})}),(0,T.jsx)(ci,{id:`activity-ring-wait`})]}),u.map(e=>e.kind===`wait`?(0,T.jsx)(si,{line:e,motion:s,active:n.has(e.id)},e.id):(0,T.jsx)(oi,{line:e,motion:s},e.id)),(0,T.jsx)(`g`,{ref:f,"data-slot":`activity-comets`})]}),u.map(e=>{let t=e.kind===`wait`?m.get(e.id):void 0;if(t)return(0,T.jsx)(ni,{line:e,wait:t,now:o,motion:s},e.id);let n=p.get(e.id);return e.kind===`peer`&&n?(0,T.jsx)(ri,{line:e,request:n,now:o,phase:Z(s,e.id),replied:ii(s,e.id)},e.id):null})]})}function di(e,t){let n=new Map;for(let r of[...e?.projects??[],...t.projects])for(let[e,t]of At(r))n.set(e,t);return n}var fi={"timed-out":`timed out`,cancelled:`was cancelled`,destroyed:`closed: the recipient was destroyed`,failed:`closed: the recipient failed`,"completed-without-reply":`closed without a reply`,"sender-closed":`was closed by its sender`,"human-fallback":`went to a human`,deleted:`closed: the recipient was deleted`};function pi(e,t,n){let r=n(e.senderRunId,e.senderTitle),i=n(e.recipientRunId,e.recipientTitle);return t===`replied`?`${i} replied to ${r}`:`${r}’s request to ${i} ${fi[t??``]??`closed`}`}var mi={done:{tone:`success`,word:`finished`},failed:{tone:`danger`,word:`failed`},cancelled:{tone:`neutral`,word:`was cancelled`},review:{tone:`info`,word:`waits for review`}},hi=e=>e.relationship===`peer`?`peer`:`family`;function gi(e,t,n){let r=(e,n)=>z(t,e,n);switch(e.kind){case`request-opened`:return{tone:hi(e.request),text:`${r(e.request.senderRunId,e.request.senderTitle)} asked ${r(e.request.recipientRunId,e.request.recipientTitle)}`};case`request-closed`:return{tone:e.status===`replied`?`success`:`neutral`,text:pi(e.request,e.status,r)};case`rung-changed`:return{tone:m(e.task.rung).tone,text:`${e.task.title}: ${R(e.task,{now:n,titleOf:e=>r(e)}).verb}`};case`worker-started`:return{tone:`running`,text:`${e.worker.title} started`};case`worker-settled`:{let t=mi[e.worker.status]??{tone:`neutral`,word:`settled`};return{tone:t.tone,text:`${e.worker.title} ${t.word}`}}case`card-entered`:return{tone:m(e.task.rung).tone,text:`${e.task.title} started`};case`card-left`:return{tone:`neutral`,text:`${e.task.title} left active work`};case`check-passed`:return{tone:`success`,text:`PR ${e.pr}: check “${e.name}” passed`};default:return}}function _i(e,t,n,r){return[...t.map((e,t)=>({...e,id:r+t,at:n})),...e].slice(0,6)}function vi(e){let t=Math.max(0,Math.floor(e/1e3));return t<5?`now`:t<60?`${t} s`:`${Math.floor(t/60)} min`}var yi=new Set;function bi(e){let[t,n]=w.useState({}),r=t.pointer??t.focus,i=w.useCallback((e,t)=>n(n=>n[e]===t?n:{...n,[e]:t}),[]);return{linked:w.useMemo(()=>r===void 0?yi:Nt(r,e),[r,e]),active:w.useMemo(()=>r===void 0?yi:new Set(e.filter(e=>e.waiterRunId===r||e.peerRunId===r).map(e=>e.id)),[r,e]),onHover:i}}var xi=new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}),Si=`inline-flex items-center px-3 py-[5px] text-[12px] font-medium focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring max-md:min-h-11`;function Ci({scope:e,projectId:t}){let r=e=>i(Si,e?`bg-card-2 text-foreground`:`text-muted-foreground hover:text-foreground`);return(0,T.jsxs)(`nav`,{"aria-label":`Activity scope`,"data-slot":`activity-scope`,className:`ml-auto inline-flex overflow-hidden rounded-lg border border-border`,children:[t===null?null:(0,T.jsx)(n,{to:`/p/${encodeURIComponent(t)}/activity`,"aria-current":e===`project`?`page`:void 0,className:r(e===`project`),children:`This project`}),(0,T.jsx)(n,{to:`/activity`,state:{activityProjectId:t},"aria-current":e===`all`?`page`:void 0,className:r(e===`all`),children:`All projects`})]})}function wi({now:e,stale:t}){return(0,T.jsxs)(`span`,{"data-slot":`activity-clock`,"data-stale":t?`true`:void 0,className:`inline-flex items-center gap-1.5 text-[12px] text-muted-foreground tabular-nums`,children:[(0,T.jsx)(`span`,{"data-tone":`success`,className:i(`inline-flex size-[12px] items-center justify-center`,!t&&`activity-pulse`),children:(0,T.jsx)(C,{tone:t?`neutral`:`success`,"aria-hidden":`true`})}),(0,T.jsx)(`b`,{className:i(`font-semibold`,t?`text-muted-foreground`:`text-success`),children:t?`Not updating`:`Live`}),xi.format(e),` `,ot()]})}function Ti({name:e,now:t,stale:n=!1,children:r}){return(0,T.jsxs)(`header`,{className:`flex flex-wrap items-center gap-x-4 gap-y-2`,children:[(0,T.jsxs)(`h1`,{className:`min-w-0 truncate text-[18px] font-semibold`,children:[`Activity `,(0,T.jsxs)(`span`,{className:`font-normal text-muted-foreground`,children:[`· `,e]})]}),t===void 0?null:(0,T.jsx)(wi,{now:t,stale:n}),r]})}function Ei({value:e,bump:t}){return(0,T.jsx)(`strong`,{"data-bump":t===void 0?void 0:`true`,className:i(`font-semibold text-foreground tabular-nums`,t!==void 0&&`activity-bump`),children:e},t??`still`)}function Q({icon:e,count:t,label:n,bump:r}){return(0,T.jsxs)(`li`,{"data-slot":`activity-chip`,"data-chip":n,className:`inline-flex items-center gap-[7px] rounded-full border border-border bg-card px-[11px] py-[5px] text-[12px] text-muted-foreground`,children:[e,(0,T.jsx)(Ei,{value:t,bump:r}),` `,n]})}function Di({summary:e,tasksTo:t,bumps:n={}}){let r=e=>n[e]?.key;return(0,T.jsxs)(`ul`,{"data-slot":`activity-summary`,"aria-live":`polite`,"aria-label":`Summary`,className:`flex flex-wrap gap-2`,children:[(0,T.jsx)(Q,{icon:(0,T.jsx)(C,{tone:`pending`,"aria-hidden":`true`}),count:e.needsYou,label:`needs you`,bump:r(`needsYou`)}),(0,T.jsx)(Q,{icon:(0,T.jsx)(C,{tone:`running`,"aria-hidden":`true`}),count:e.working,label:`working`,bump:r(`working`)}),(0,T.jsx)(Q,{icon:(0,T.jsx)(C,{tone:`running`,shape:`ring`,"aria-hidden":`true`}),count:e.waiting,label:`waiting`,bump:r(`waiting`)}),(0,T.jsx)(Q,{icon:(0,T.jsx)(C,{tone:`neutral`,shape:`ring`,"aria-hidden":`true`}),count:e.queued,label:`queued`,bump:r(`queued`)}),(0,T.jsx)(Q,{icon:(0,T.jsx)(Ce,{"aria-hidden":`true`,className:`size-3.5`}),count:e.activeWorkers,label:`active workers`,bump:r(`activeWorkers`)}),(0,T.jsx)(Q,{icon:(0,T.jsx)(xe,{"aria-hidden":`true`,className:`size-3.5 text-message-peer-accent`}),count:e.openRequests,label:`open requests`,bump:r(`openRequests`)}),(0,T.jsx)(`li`,{"data-slot":`activity-chip`,"data-chip":`in review`,children:(0,T.jsxs)(S,{to:t,className:`inline-flex items-center gap-[7px] rounded-full border border-border bg-card px-[11px] py-[5px] text-[12px] text-muted-foreground hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring max-md:min-h-11`,children:[(0,T.jsx)(C,{tone:`info`,"aria-hidden":`true`}),(0,T.jsx)(Ei,{value:e.inReview,bump:r(`inReview`)}),` in review`]})})]})}var $=e=>new Map(e.map(e=>[e.runId,e])),Oi=e=>e!==void 0&&kt(e)===void 0;function ki(e,t,n,r){let i=$(t.workers);for(let t of n.workers){let a=i.get(t.runId);!a&&N(t.status)&&r({kind:`worker-started`,projectId:e,parentId:n.runId,worker:t}),a&&N(a.status)&&!N(t.status)&&r({kind:`worker-settled`,projectId:e,parentId:n.runId,worker:t})}}function Ai(e,t,n,r){if(t.wait?.kind!==`pr`||n.wait?.kind!==`pr`||t.wait.detail.number!==n.wait.detail.number)return;let i=new Set((t.wait.detail.checks??[]).filter(e=>e.bucket===`pending`).map(e=>e.name));for(let t of n.wait.detail.checks??[])t.bucket===`pass`&&i.has(t.name)&&r({kind:`check-passed`,projectId:e,runId:n.runId,pr:n.wait.detail.number,name:t.name})}var ji=(e,t)=>t.tool!==void 0&&(t.tool.startedAt!==e.tool?.startedAt||t.tool.title!==e.tool?.title);function Mi(e,t,n,r){t.rung!==n.rung&&r({kind:`rung-changed`,projectId:e,task:n,from:t.rung}),ji(t,n)&&r({kind:`tool-started`,projectId:e,runId:n.runId}),ki(e,t,n,r),Ai(e,t,n,r)}function Ni(e,t,n){let r=$(e.tasks),i=$(t.tasks);for(let e of t.tasks){let i=r.get(e.runId);i?Mi(t.projectId,i,e,n):n({kind:`card-entered`,projectId:t.projectId,task:e})}for(let r of e.tasks)i.has(r.runId)||n({kind:`card-left`,projectId:t.projectId,task:r})}function Pi(e,t,n){let r=new Set(e.requests.map(e=>e.requestId)),i=new Set(t.requests.map(e=>e.requestId)),a=new Map(t.closed.map(e=>[e.requestId,e.status]));for(let e of t.requests)r.has(e.requestId)||n({kind:`request-opened`,projectId:t.projectId,request:e});for(let r of e.requests){if(i.has(r.requestId))continue;let e=a.get(r.requestId);n({kind:`request-closed`,projectId:t.projectId,request:r,...e?{status:e}:{}})}}function Fi(e,t,n){let r=Mt(e.tasks),i=Mt(t.tasks),a=new Set(r.map(e=>e.id)),o=new Set(i.map(e=>e.id));for(let e of i)a.has(e.id)||n({kind:`wait-opened`,projectId:t.projectId,wait:e});for(let e of r)o.has(e.id)||n({kind:`wait-closed`,projectId:t.projectId,wait:e})}var Ii=[`needsYou`,`working`,`waiting`,`queued`,`activeWorkers`,`openRequests`,`inReview`];function Li(e,t,n){let r=Gt(e),i=Gt(t);for(let e of Ii)r[e]!==i[e]&&n({kind:`chip-changed`,chip:e,from:r[e],to:i[e]})}function Ri(e,t){if(e===void 0)return[];let n=[],r=e=>n.push(e),i=new Map(e.projects.map(e=>[e.projectId,e]));for(let e of t.projects){let t=i.get(e.projectId);!Oi(t)||!Oi(e)||(Ni(t,e,r),Pi(t,e,r),Fi(t,e,r))}return Li(e.projects,t.projects,r),n}function zi(e){return{input:e,reconcile:!1,seq:0,motion:U,feed:[],epoch:0,...e.snapshot?{seen:e.snapshot}:{}}}function Bi(e){let{plan:t,...n}=e;return{...n,motion:U,epoch:e.epoch+1}}function Vi(e,t,n){let r=Ri(t,n);if(r.length===0)return e;let i=Date.parse(n.generatedAt),a=di(t,n),o=r.flatMap(e=>gi(e,a,i)??[]),s=e.seq+o.length+1,c=nn(r,s,e.input.reduced);return{...e,seq:s,feed:o.length>0?_i(e.feed,o,i,e.seq+1):e.feed,motion:an(e.motion,c.changes),...c.timers.length>0?{plan:{key:s,timers:c.timers}}:{}}}function Hi(e,t){let n=e.seen;if(!t||t===n)return e;let r={...e,seen:t};return!n||!e.input.active?r:e.reconcile?{...r,reconcile:!1}:Vi(r,n,t)}function Ui(e,t){let n=e.input;if(t.scope!==n.scope)return{...zi(t),seq:e.seq,epoch:e.epoch+1};if(t.snapshot===n.snapshot&&t.active===n.active&&t.reduced===n.reduced)return e;let r={...e,input:t};return n.active&&!t.active&&(r={...Bi(r),reconcile:!0}),!n.reduced&&t.reduced&&(r=Bi(r)),Hi(r,t.snapshot)}var Wi=`(prefers-reduced-motion: reduce)`,Gi=()=>typeof window<`u`&&typeof window.matchMedia==`function`?window.matchMedia(Wi):void 0;function Ki(e){let t=Gi();return t?.addEventListener?.(`change`,e),()=>t?.removeEventListener?.(`change`,e)}function qi(){return Gi()?.matches??!1}function Ji(){return(0,w.useSyncExternalStore)(Ki,qi,()=>!1)}function Yi(e,t){let n=w.useRef(new Set);w.useEffect(()=>{let e=n.current;return()=>{for(let t of e)clearTimeout(t);e.clear()}},[e.epoch]),w.useEffect(()=>{for(let{after:r,change:i}of e.plan?.timers??[]){let e=setTimeout(()=>{n.current.delete(e),t(e=>({...e,motion:an(e.motion,[i])}))},r);n.current.add(e)}},[e.plan?.key])}function Xi(e,t){let n=Ji(),r=u(),i={snapshot:e,scope:t,active:r,reduced:n},[a,o]=w.useState(()=>zi(i)),s=Ui(a,i);return s!==a&&o(s),Yi(s,o),{motion:s.motion,feed:s.feed,reduced:n,paused:!r}}function Zi(e,t){let n=Se(1e3),[r,i]=w.useState({offset:0}),a=r.offset;return Qe(e)&&e!==r.generatedAt&&t!==0&&(a=Date.parse(e)-t,i({generatedAt:e,offset:a})),n+a}export{Cn as A,Mt as B,Fn as C,Mn as D,Pn as E,U as F,B as G,V as H,on as I,R as J,Gt as K,zt as L,W as M,un as N,Tn as O,cn as P,rt as Q,Ft as R,er as S,Rn as T,Lt as U,kt as V,At as W,A as X,M as Y,j as Z,Vr as _,Di as a,ur as b,ui as c,Z as d,ii as f,Gr as g,qr as h,Ci as i,gn as j,An as k,ci as l,Zr as m,Xi as n,bi as o,ei as p,N as q,Ti as r,vi as s,Zi as t,$r as u,wr as v,Ln as w,$n as x,lr as y,z};
@@ -1,4 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{A as t,F as n,L as r,M as i,O as a,j as o,k as s,l as c}from"./button-CHUAMTHK.js";import{i as l,t as u}from"./react-runtime-CCIEwYL0.js";import{$ as d,A as f,C as p,D as m,E as h,G as g,H as _,J as v,K as y,O as b,Q as x,S as ee,T as te,U as ne,V as S,W as C,X as w,Y as T,Z as E,a as re,at as D,ct as O,et as k,it as ie,k as ae,l as oe,lt as se,n as ce,nt as A,ot as le,p as ue,q as de,r as fe,rt as j,s as pe,st as M,tt as me,ut as N,v as he,w as ge,x as _e,y as ve}from"./live-protocol-BVn0UA_g.js";var ye=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},be=new class extends ye{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},xe=typeof window>`u`||`Deno`in globalThis;function P(){}function Se(e,t){return typeof e==`function`?e(t):e}function Ce(e){return typeof e==`number`&&e>=0&&e!==1/0}function we(e,t){return Math.max(e+(t||0)-Date.now(),0)}function F(e,t){return typeof e==`function`?e(t):e}function I(e,t){return typeof e==`function`?e(t):e}function Te(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==De(o,t.options))return!1}else if(!ke(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function Ee(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(Oe(t.options.mutationKey)!==Oe(a))return!1}else if(!ke(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function De(e,t){return(t?.queryKeyHashFn||Oe)(e)}function Oe(e){return JSON.stringify(e,(e,t)=>Pe(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function ke(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>ke(e[n],t[n])):!1}var Ae=Object.prototype.hasOwnProperty;function je(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=Ne(e)&&Ne(t);if(!r&&!(Pe(e)&&Pe(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:Ae.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=je(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function Me(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function Ne(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Pe(e){if(!Fe(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!Fe(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function Fe(e){return Object.prototype.toString.call(e)===`[object Object]`}function Ie(e){return new Promise(t=>{N.setTimeout(t,e)})}function Le(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:je(e,t)}function Re(e){return e}function ze(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function Be(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Ve=Symbol();function He(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Ve?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Ue(e,t){return typeof e==`function`?e(...t):!!e}function We(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var Ge=(()=>{let e=()=>xe;return{isServer(){return e()},setIsServer(t){e=t}}})();function Ke(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var qe=new class extends ye{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Je(e){return Math.min(1e3*2**e,3e4)}function Ye(e){return(e??`online`)!==`online`||qe.isOnline()}var Xe=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function Ze(e){let t=!1,n=0,r,i=Ke(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new Xe(t);f(n),e.onCancel?.(n)}},s=()=>{t=!0},c=()=>{t=!1},l=()=>be.isFocused()&&(e.networkMode===`always`||qe.isOnline())&&e.canRun(),u=()=>Ye(e.networkMode)&&e.canRun(),d=e=>{a()||(r?.(),i.resolve(e))},f=e=>{a()||(r?.(),i.reject(e))},p=()=>new Promise(t=>{r=e=>{(a()||l())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),m=()=>{if(a())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(d).catch(r=>{if(a())return;let i=e.retry??(Ge.isServer()?0:3),o=e.retryDelay??Je,s=typeof o==`function`?o(n,r):o,c=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!c){f(r);return}n++,e.onFail?.(n,r),Ie(s).then(()=>l()?void 0:p()).then(()=>{t?f(r):m()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:s,continueRetry:c,canStart:u,start:()=>(u()?m():p().then(m),i)}}var Qe=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Ce(this.gcTime)&&(this.#e=N.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Ge.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(N.clearTimeout(this.#e),this.#e=void 0)}};function $e(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{We(e,()=>t.signal,()=>n=!0)},u=He(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?Be:ze;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?tt:et,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:et(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function et(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function tt(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function nt(e,t){return t?et(e,t)!=null:!1}function rt(e,t){return!t||!e.getPreviousPageParam?!1:tt(e,t)!=null}var it=class extends Qe{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=st(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=st(this.options);e.data!==void 0&&(this.setState(ot(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=Le(this.state.data,e,this.options);return this.#l({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(P).catch(P):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>I(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Ve||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>F(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!we(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=He(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?$e(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=Ze({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof Xe&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof Xe){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...at(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...ot(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),se.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function at(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ye(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function ot(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function st(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var ct=class extends ye{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=Ke(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),ut(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return dt(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return dt(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof I(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!Me(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&ft(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||I(this.options.enabled,this.#t)!==I(t.enabled,this.#t)||F(this.options.staleTime,this.#t)!==F(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||I(this.options.enabled,this.#t)!==I(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return mt(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(P)),t}#g(){this.#b();let e=F(this.options.staleTime,this.#t);if(Ge.isServer()||this.#r.isStale||!Ce(e))return;let t=we(this.#r.dataUpdatedAt,e)+1;this.#d=N.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(Ge.isServer()||I(this.options.enabled,this.#t)===!1||!Ce(this.#p)||this.#p===0)&&(this.#f=N.setInterval(()=>{(this.options.refetchIntervalInBackground||be.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(N.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(N.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&ut(e,t),o=i&&ft(e,n,t,r);(a||o)&&(l={...l,...at(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let h=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,h=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(m=`success`,d=Le(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h)if(i&&d===a?.data&&t.select===this.#c)d=this.#l;else try{this.#c=t.select,d=t.select(d),d=Le(i?.data,d,t),this.#l=d,this.#s=null}catch(e){this.#s=e}this.#s&&(f=this.#s,d=this.#l,p=Date.now(),m=`error`);let g=l.fetchStatus===`fetching`,_=m===`pending`,v=m===`error`,y=_&&g,b=d!==void 0,x={status:m,fetchStatus:l.fetchStatus,isPending:_,isSuccess:m===`success`,isError:v,isInitialLoading:y,isLoading:y,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:g,isRefetching:g&&!_,isLoadingError:v&&!b,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:v&&b,isStale:pt(e,t),refetch:this.refetch,promise:this.#o,isEnabled:I(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=x.data!==void 0,r=x.status===`error`&&!t,i=e=>{r?e.reject(x.error):t&&e.resolve(x.data)},a=()=>{let e=this.#o=x.promise=Ke();i(e)},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||x.data!==o.value)&&a();break;case`rejected`:(!r||x.error!==o.reason)&&a();break}}return x}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!Me(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){se.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function lt(e,t){return I(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&I(t.retryOnMount,e)===!1)}function ut(e,t){return lt(e,t)||e.state.data!==void 0&&dt(e,t,t.refetchOnMount)}function dt(e,t,n){if(I(t.enabled,e)!==!1&&F(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&pt(e,t)}return!1}function ft(e,t,n,r){return(e!==t||I(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&pt(e,n)}function pt(e,t){return I(t.enabled,e)!==!1&&e.isStaleByTime(F(t.staleTime,e))}function mt(e,t){return!Me(e.getCurrentResult(),t)}var L=e(l(),1),ht=u(),gt=L.createContext(void 0),_t=e=>{let t=L.useContext(gt);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},vt=({client:e,children:t})=>(L.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,ht.jsx)(gt.Provider,{value:e,children:t})),yt=L.createContext(!1),bt=()=>L.useContext(yt);yt.Provider;function xt(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var St=L.createContext(xt()),Ct=()=>L.useContext(St),wt=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?Ue(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},Tt=e=>{L.useEffect(()=>{e.clearReset()},[e])},Et=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||Ue(n,[e.error,r])),Dt=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},Ot=(e,t)=>e.isLoading&&e.isFetching&&!t,kt=(e,t)=>e?.suspense&&t.isPending,At=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function jt(e,t,n){let r=bt(),i=Ct(),a=_t(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,Dt(o),wt(o,i,s),Tt(i);let l=!a.getQueryCache().get(o.queryHash),[u]=L.useState(()=>new t(a,o)),d=u.getOptimisticResult(o),f=!r&&c;if(L.useSyncExternalStore(L.useCallback(e=>{let t=f?u.subscribe(se.batchCalls(e)):P;return u.updateResult(),t},[u,f]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),L.useEffect(()=>{u.setOptions(o)},[o,u]),kt(o,d))throw At(o,u,i);if(Et({result:d,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw d.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,d),o.experimental_prefetchInRender&&!Ge.isServer()&&Ot(d,r)&&(l?At(o,u,i):s?.promise)?.catch(P).finally(()=>{u.updateResult()}),o.notifyOnChangeProps?d:u.trackResult(d)}var Mt=k({status:y([`idle`,`preparing`,`ready`,`restarting`,`error`]),supported:T(),targetVersion:j().optional(),message:j().optional()});A(j(),x()),k({state:Mt});var Nt=k({root:j(),branch:j(),remote:j().optional()}),Pt=k({name:y([...C.options,`gh`,`git`]),available:T(),version:j().optional(),hint:j().optional()}),Ft=k({kind:E(`github`),available:T().optional(),reason:j().optional()}),It=k({localHandoff:T(),settingsAdmin:T(),remoteSettingsAdmin:T(),singleProject:T(),automations:T(),preview:T(),voice:T(),tokenMetrics:T(),tokenUsageMetrics:T(),costMetrics:T()}),Lt=k({version:j(),latestVersion:j().optional(),repoRoot:j(),repo:Nt.nullable(),checks:v(Pt),defaultRunner:C,forge:Ft.nullable(),capabilities:It,projects:v(k({id:j(),name:j()})),bootProject:j(),applicationUpdate:Mt.optional()}).extend({capabilities:It.partial()}),Rt=Error(`finite cycle deadline`);async function zt(e,t,n,r){let i=(e,t)=>{for(let r of n)r.value(e,t)},a=()=>r.aborted&&r.reason!==Rt,o=await e(t,{credentials:`include`,signal:r}).catch(e=>{throw a()||i(void 0,`HTTP 0`),e});if(!o.ok){let e=await o.json().catch(()=>void 0);throw a()&&r.throwIfAborted(),i(e,`HTTP ${o.status}`),Error(`read HTTP ${o.status}`)}let s=await o.json();r.throwIfAborted();for(let e of n)e.value(s)}function Bt(e,t,n=(...e)=>fetch(...e)){let r,i,a,o=!0,s=0,c=-1/0,l=-1/0,u=new Map,d,f=e=>{let t=new Map;for(let n of e){let{kind:e,...r}=n.demand,i=`${r.projectId}/${r.runId}`;(!t.has(i)||t.get(i).afterSeq>r.afterSeq)&&t.set(i,r)}return[...t.values()]},p=async(e,t,r)=>{l=Date.now();for(let i=0;i<e.length;i+=32){let a=e.slice(i,i+32),o=await n(`/api/v1/workspace/run-event-batches`,{method:`POST`,credentials:`include`,signal:t,headers:{"content-type":`application/json`},body:JSON.stringify({runs:f(a)})});if(!o.ok)throw Error(`task batch HTTP ${o.status}`);let s=oe.parse(await o.json());t.throwIfAborted();let c=d!==void 0&&d!==s.generation;if(d=s.generation,c){await Promise.all(a.map(e=>e.reset(`server restarted`,t)));continue}for(let e of s.results)for(let n of a){let i=n.demand;if(!(e.runId!==i.runId||e.projectId!==i.projectId)){if(e.type!==`batch`){await n.reset(e.error,t),t.throwIfAborted();continue}for(let t of e.events)t.seq>i.afterSeq&&(n.frame({type:`event`,projectId:i.projectId,runId:i.runId,name:t.type.includes(`.`)?`ui-event`:`run-event`,event:t}),i.afterSeq=t.seq);i.cursor=e.cursor,i.afterSeq=Math.max(i.afterSeq,e.afterSeq),r.drain||=e.hasMore}}}},m=t=>{t&&(l=-1/0);let n=e().flatMap(e=>e.demand.kind===`run`?[l+2e3]:e.demand.kind===`workspace`?[c+5e3]:e.demand.kind===`read`?[(u.get(e.demand.path)??Date.now())+e.demand.intervalMs]:[]);n.length&&(i=setTimeout(()=>{i=void 0,h()},s?Math.min(3e4,1e3*2**s):t?50:Math.max(50,Math.min(...n)-Date.now())+(e().some(e=>e.demand.kind===`run`)?Math.random()*100:0)))},h=async()=>{if(o||r)return;r=new AbortController;let i=r;a=setTimeout(()=>i.abort(Rt),1e4);let d={drain:!1};try{let r=e(),a=new Set(r.flatMap(e=>e.demand.kind===`read`?[e.demand.path]:[]));for(let e of u.keys())a.has(e)||u.delete(e);let o=r.filter(e=>e.demand.kind===`run`);o.length&&Date.now()-l>=2e3&&await p(o,i.signal,d),r.some(e=>e.demand.kind===`workspace`)&&Date.now()-c>=5e3&&(c=Date.now(),await t(i.signal));for(let e of r){if(e.demand.kind!==`read`)continue;let{path:t,intervalMs:a}=e.demand;if(!u.has(t)){u.set(t,Date.now());continue}Date.now()-u.get(t)<a||(u.set(t,Date.now()),await zt(n,t,r.filter(e=>e.demand.kind===`read`&&e.demand.path===t),i.signal))}s=0}catch{o||(s=Math.min(s+1,5))}finally{clearTimeout(a),a=void 0,r===i&&(r=void 0),!o&&e().length&&m(d.drain)}};return{start(e=!1){if(!o){r||(clearTimeout(i),i=void 0,h());return}o=!1,c=e?Date.now():-1/0,l=-1/0,h()},refresh(){c=l=-1/0;for(let e of u.keys())u.set(e,-1/0);!r&&!o&&(clearTimeout(i),i=void 0,h())},stop(){o=!0,u.clear(),clearTimeout(i),i=void 0,clearTimeout(a),a=void 0,r?.abort()}}}var Vt=!1,Ht=new Set,R=()=>typeof document<`u`&&document.visibilityState===`visible`&&!Vt,Ut=()=>{let e=R();for(let t of[...Ht])t(e)},Wt=()=>{Vt=!0,Ut()},Gt=()=>{Vt=!1,Ut()};function Kt(e){return Ht.size===0&&typeof window<`u`&&(Vt=!1,document.addEventListener(`visibilitychange`,Ut),document.addEventListener(`freeze`,Wt),document.addEventListener(`resume`,Gt),window.addEventListener(`pagehide`,Wt),window.addEventListener(`pageshow`,Gt)),Ht.add(e),()=>{Ht.delete(e),!Ht.size&&typeof window<`u`&&(document.removeEventListener(`visibilitychange`,Ut),document.removeEventListener(`freeze`,Wt),document.removeEventListener(`resume`,Gt),window.removeEventListener(`pagehide`,Wt),window.removeEventListener(`pageshow`,Gt))}}function qt(){return(0,L.useSyncExternalStore)(Kt,R,()=>!1)}var Jt=new Set;function Yt(e){return Jt.add(e),()=>{Jt.delete(e)}}async function Xt(e,t=!1){e.throwIfAborted(),await Zt(Promise.all([...Jt].map(async n=>n(e,t))),e)}function Zt(e,t){return new Promise((n,r)=>{let i=()=>r(t.reason);t.addEventListener(`abort`,i,{once:!0}),t.aborted&&i(),e.then(n,r).finally(()=>t.removeEventListener(`abort`,i))})}function Qt(e,t){let n=new URL(e.apiBase||`/`,location.href);return!e.local||n.origin!==location.origin||n.pathname!==`/`||t||typeof SharedWorker!=`function`}function $t(){return new URL(`/live-worker.js`,location.href)}function en(e){for(let t of e)t.handlers.ready?.()}function tn(){let e=new Map,t=globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random()}`,n,r,i,a,o=0,s=0,c=0,l=!1,u=!1,d=!1,f,p,m=0,h,g=new Set,_=e=>{h!==e&&(h=e,queueMicrotask(()=>{for(let e of[...g])e()}))},v=()=>[...e.values()].filter(e=>!e.recovering&&!e.released),y,b=()=>{y?.abort();let e=y=new AbortController,t=setTimeout(()=>e.abort(),1e4);Xt(e.signal).catch(()=>{}).finally(()=>clearTimeout(t))},x=Bt(v,e=>Xt(e,!0),(e,t)=>fetch(`${n?.apiBase??``}${String(e)}`,t)),ee=e=>e.kind===`run`&&e.projectId==="default"&&n?{...e,projectId:n.bootProject}:e,te=e=>{if(r)try{r.port.postMessage({version:3,documentId:t,epoch:o,...e})}catch{w()}},ne=!1,S=()=>{if(!l||f)return;let e=v().map(e=>({id:e.id,demand:e.demand}));if(!e.length){C();return}te({type:`sync`,entries:e,...ne?{workspaceReady:!0}:{}})},C=()=>{if(clearInterval(i),i=void 0,r){let e=r;r=void 0;try{e.port.postMessage({type:`sync`,version:3,documentId:t,epoch:++o,entries:[]})}catch{}e.port.onmessage=null,e.port.onmessageerror=null,e.port.close()}};function w(){if(!(!l||d)){u=!0,C(),_(`finite`);for(let e of v())e.handlers.ready?.();x.start(),b()}}let T=async(e,t,n)=>{if(e.recovering||e.released)return;let r=new AbortController,i=()=>r.abort(n?.reason);n?.addEventListener(`abort`,i,{once:!0}),n?.aborted&&i();let a=setTimeout(()=>r.abort(),1e4);e.recovery=r,e.recovering=!0,++o,S();try{let n=await Zt(Promise.resolve(e.handlers.reset?.(t,r.signal)),r.signal);if(r.signal.throwIfAborted(),e.released||!l)return;n&&e.demand.kind===`run`&&Object.assign(e.demand,n)}catch(e){if(n)throw e;l&&!f&&w()}finally{clearTimeout(a),n?.removeEventListener(`abort`,i),e.recovery=void 0,e.recovering=!1,!e.released&&l&&!n&&(++o,E())}},E=(t=!1)=>{if(!(d||f||!n||!e.size||!R())){if(l=!0,Qt(n,u)){_(`finite`),en(v()),x.start(t);return}if(r){_(`topics`),en(v()),S();return}try{let t=new SharedWorker($t(),{type:`module`,name:ce});r=t,c=Date.now(),_(`topics`),t.addEventListener(`error`,()=>{r===t&&w()}),t.port.onmessageerror=()=>{r===t&&w()},t.port.onmessage=({data:n})=>{if(r!==t||!l)return;let i=pe.safeParse(n);if(!i.success){w();return}let a=i.data;if(a.type===`hello`){c=Date.now(),S();return}if(a.epoch!==o||(c=Date.now(),a.type===`alive`))return;if(a.type===`unavailable`){w();return}let s=e.get(a.id);if(!(!s||s.recovering)){if(a.type===`reset`){if(a.reason===`shared task capacity reached`)w();else if(a.reason===`server restarted`)for(let e of v())T(e,a.reason);else T(s,a.reason);return}if(a.type===`value`){s.handlers.value?.(a.value,a.error);return}s.frame(a.frame)}},t.port.start(),en(v()),S(),i=setInterval(()=>{if(Date.now()-c>=15e3){w();return}S()},fe)}catch{w()}}},D=()=>{l=!1,C(),x.stop(),y?.abort(),f?.abort(),f=void 0,clearTimeout(p),p=void 0;for(let t of e.values())t.recovery?.abort()},O=t=>{if(!t){D();return}if(l||d||!n||!e.size)return;u=!1,l=!0;let r=f=new AbortController,i=setTimeout(()=>r.abort(),1e4);(async()=>{let t=await fetch(`${n.apiBase}/api/v1/health`,{credentials:`include`,signal:r.signal,cache:`no-store`});if(!t.ok)throw Error(`bootstrap HTTP ${t.status}`);let i=Lt.pick({capabilities:!0,bootProject:!0}).parse(await t.json());r.signal.throwIfAborted(),n={...n,local:i.capabilities.localHandoff===!0,bootProject:i.bootProject};for(let t of e.values())t.bootAlias&&t.demand.kind===`run`&&(t.demand.projectId=i.bootProject);await Xt(r.signal),await Promise.all(v().filter(e=>e.demand.kind===`run`).map(e=>T(e,`document resumed`,r.signal))),r.signal.throwIfAborted(),f===r&&(f=void 0,m=0,E(!0))})().catch(()=>{f!==r||d||!R()||(l=!1,m=Math.min(m+1,5),p=setTimeout(()=>{p=void 0,O(!0)},Math.min(3e4,1e3*2**m)))}).finally(()=>clearTimeout(i))},k=()=>{R()&&(D(),O(!0))},ie=()=>{a||typeof window>`u`||(a=Kt(O),window.addEventListener(`online`,k))};return{resetSession(){D(),n=void 0,u=!1,ne=!1,_(void 0)},requestWorkspaceReady(){return!r||h!==`topics`?!1:(ne=!0,S(),!0)},workspaceReadyReceived(){ne=!1},transport:()=>h,onTransport(e){return g.add(e),()=>{g.delete(e)}},bootProject:()=>n?.bootProject,configure(t){if(!f&&!(n&&n.local===t.local&&n.apiBase===t.apiBase&&n.bootProject===t.bootProject)){D(),n=t,u=!1;for(let n of e.values())n.bootAlias&&n.demand.kind===`run`&&(n.demand.projectId=t.bootProject);++o,E()}},subscribe(t,n){let r=ee(re.parse(t)),i=String(++s),c={id:i,demand:r,handlers:n,bootAlias:t.kind===`run`&&t.projectId==="default",recovering:!1,released:!1,frame(e){if(!(c.released||c.recovering||!l||f))if(`type`in e&&e.type===`event`&&c.demand.kind===`run`){if(e.projectId!==c.demand.projectId||e.runId!==c.demand.runId||e.event.seq<=c.demand.afterSeq)return;n.frame?.(e),c.demand.afterSeq=e.event.seq,te({type:`ack`,id:i,seq:e.event.seq})}else`type`in e&&(e.type===`reset`||e.type===`error`)?T(c,e.error):n.frame?.(e)},value:(e,t)=>{!c.released&&l&&!f&&n.value?.(e,t)},reset:(e,t)=>T(c,e,t)};return e.set(i,c),++o,ie(),E(),()=>{if(!c.released){if(c.released=!0,c.recovery?.abort(),e.delete(i),++o,e.size){S();return}D(),a?.(),a=void 0,window.removeEventListener(`online`,k)}}},invalidateReads(){for(let e of v())e.demand.kind===`read`&&te({type:`refresh`,id:e.id});x.refresh()},dispose(){d=!0,D(),e.clear(),a?.(),a=void 0,typeof window<`u`&&window.removeEventListener(`online`,k)}}}var z=tn(),nn=z.configure,rn=z.subscribe,an=z.invalidateReads,on=z.bootProject,sn=z.transport,cn=z.onTransport,ln=z.resetSession,un=z.requestWorkspaceReady,dn=z.workspaceReadyReceived,fn=C.options,pn=new Set([`connected`,`disconnected`,`not-installed`,`unknown`]);function mn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function hn(e,t){return typeof e==`boolean`||!t&&e===void 0}function gn(e,t){return e===void 0||typeof e==`string`&&e.length>=1&&e.length<=128&&t===`disconnected`}function _n(e,t,n,r,i,a){return typeof e==`string`&&fn.includes(e)&&typeof t==`string`&&pn.has(t)&&hn(n,a)&&(r===void 0||typeof r==`string`)&&gn(i,t)}function vn(e,t){if(!mn(e))return null;let{provider:n,status:r,enabled:i,hint:a,authFailureId:o}=e;return _n(n,r,i,a,o,t)?{provider:n,status:r,...typeof i==`boolean`?{enabled:i}:{},...typeof a==`string`?{hint:a}:{},...typeof o==`string`?{authFailureId:o}:{}}:null}function yn(e){return vn(e,!1)}function bn(e,t){if(!mn(e)||!Array.isArray(e.providers))return null;let n=[],r=new Set;for(let i of e.providers){let e=vn(i,t);if(e===null||r.has(e.provider))return null;r.add(e.provider),n.push(e)}return n}function B(e){let t=bn(e,!0);if(t===null||t.length===0)return null;let n=new Map(t.map(e=>[e.provider,e]));return fn.flatMap(e=>{let t=n.get(e);return t?[t]:[]})}function xn(e){let t=B(e);if(t===null)throw Error(`Invalid provider status response`);return{providers:t}}function Sn(e,t){let n=B(e);if(n!==null)return{providers:n.map(e=>e.provider===t.provider?{provider:t.provider,status:t.status,enabled:t.enabled??e.enabled,...t.hint===void 0?{}:{hint:t.hint},...t.authFailureId===void 0?{}:{authFailureId:t.authFailureId}}:e)}}function Cn(e,t,n,r){let i=B(e),a=B(t),o=B(n);if(o===null||a===null)return n;if(i===null)return{providers:a};let s=new Map(i.map(e=>[e.provider,e])),c=new Map(a.map(e=>[e.provider,e]));return{providers:o.map(e=>{let t=s.get(e.provider),n=c.get(e.provider);if(t===void 0||n===void 0)return n??e;let i=r!==void 0&&n.authFailureId===r&&e.authFailureId===void 0;return r!==void 0&&n.authFailureId!==void 0&&n.authFailureId!==r&&e.authFailureId===void 0?n:wn(t,n)?e:i?{...e,enabled:n.enabled}:n})}}function wn(e,t){return e.provider===t.provider&&e.status===t.status&&e.enabled===t.enabled&&e.hint===t.hint&&e.authFailureId===t.authFailureId}function Tn(e){let t=B(e);if(t===null)return[];let n=new Set(t.filter(e=>e.enabled&&e.status===`connected`).map(e=>e.provider));return fn.filter(e=>n.has(e))}function En(e,t){return B(e)?.find(e=>e.provider===t)}var Dn=y([`passing`,`failing`,`pending`]).nullable(),On=k({kind:y([`issue`,`pr`]),number:d(),title:j(),author:j(),createdAt:j(),labels:v(j()),body:j().optional(),url:j(),comments:d(),assignees:v(j()).optional(),projectIds:v(j()).optional(),isDraft:T().optional(),additions:d().optional(),deletions:d().optional(),checks:Dn.optional()});w(`available`,[k({available:E(!0),item:On.nullable(),labelColors:A(j(),j()).optional()}),k({available:E(!1),reason:j()})]),k({kind:y([`issue`,`pr`]),number:g().int().positive().safe()});var kn=k({id:j(),title:j(),url:j()});k({available:T(),reason:j().optional(),repo:j().optional(),syncedAt:j().optional(),issues:v(On),prs:v(On),labelColors:A(j(),j()).optional(),viewerLogin:j().optional(),projects:v(kn).optional(),projectsReason:j().optional(),projectsState:y([`refreshing`,`ready`,`unavailable`]).optional(),projectsGeneration:j().optional(),issuesTotal:d().int().nonnegative().optional(),prsTotal:d().int().nonnegative().optional(),issuesNextCursor:j().nullable().optional(),prsNextCursor:j().nullable().optional(),commentsDeferred:E(!0).optional()});var An=j().min(1).max(2e3).optional();k({limit:j().optional(),refresh:j().optional(),issuesCursor:An,prsCursor:An,issuesDone:E(`1`).optional(),prsDone:E(`1`).optional()}).superRefine((e,t)=>{e.issuesDone&&e.issuesCursor&&t.addIssue({code:`custom`,message:`issuesDone and issuesCursor are exclusive`}),e.prsDone&&e.prsCursor&&t.addIssue({code:`custom`,message:`prsDone and prsCursor are exclusive`}),e.issuesDone&&e.prsDone&&t.addIssue({code:`custom`,message:`both sides are done; there is no page to ask for`})}),k({kind:y([`issue`,`pr`]),numbers:j().regex(/^[1-9]\d{0,15}(,[1-9]\d{0,15})*$/).refine(e=>{let t=e.split(`,`);return t.length<=100&&t.every(e=>Number.isSafeInteger(Number(e)))},{message:`at most 100 safe positive integers`}),refresh:E(`1`).optional()}),w(`available`,[k({available:E(!0),counts:A(d(),d().int().nonnegative())}),k({available:E(!1),reason:j()})]),w(`available`,[k({available:E(!0),checks:A(d(),Dn)}),k({available:E(!1),reason:j()})]),k({kind:y([`issue`,`pr`]),q:j().trim().min(1).max(256),limit:g().int().positive().max(50).optional()}),k({available:T(),projectsReason:j().optional(),reason:j().optional(),items:v(On),truncated:T().optional(),labelColors:A(j(),j()).optional()});var jn=y([`draft`,`review-required`,`changes-requested`,`checks-pending`,`checks-failing`,`ready`,`merged`,`closed`,`open`,`completed`,`not-planned`]),Mn=d().nullable();w(`available`,[k({available:E(!0),prs:A(d(),jn),issues:A(d(),jn),conflicts:v(d()).optional(),recheckAfterMs:Mn}),k({available:E(!1),reason:j(),recheckAfterMs:Mn})]);var Nn=k({id:d(),author:j(),avatarUrl:j().optional(),createdAt:j(),body:j(),kind:y([`comment`,`review`]),reviewState:y([`approved`,`changes_requested`,`commented`,`dismissed`]).optional(),url:j()}),Pn=y([`committed`,`labeled`,`unlabeled`,`assigned`,`unassigned`,`merged`,`closed`,`reopened`,`head_ref_force_pushed`,`cross-referenced`,`renamed`]),Fn=k({id:j(),kind:Pn,actor:j(),avatarUrl:j().optional(),createdAt:j(),url:j().optional(),sha:j().optional(),message:j().optional(),checks:Dn.optional(),label:k({name:j(),color:j().optional()}).optional(),subject:j().optional(),refNumber:d().optional(),refTitle:j().optional(),refIsPr:T().optional()});k({available:T(),reason:j().optional(),comments:v(Nn),truncated:T().optional(),events:v(Fn).optional(),detail:k({body:j(),additions:d().int().nonnegative().optional(),deletions:d().int().nonnegative().optional()}).optional()});var In=y([`merge`,`squash`,`rebase`]),Ln=k({name:j(),state:y([`passing`,`failing`,`pending`,`unknown`]),required:T().nullable(),url:j().optional()}),Rn=k({number:d(),title:j(),url:j(),state:y([`open`,`closed`,`merged`]),isDraft:T(),headRef:j(),baseRef:j(),headSha:j(),mergeable:y([`mergeable`,`conflicting`,`unknown`]),reviewDecision:y([`approved`,`changes-requested`,`review-required`,`not-required`,`unknown`]),checks:v(Ln),methods:v(In),defaultMethod:In.nullable(),eligibility:y([`ready`,`blocked`,`pending`,`unauthorized`,`terminal`,`unknown`]),blockers:v(k({code:j(),message:j()})),canMerge:T(),canOverride:T()});w(`available`,[k({available:E(!0),mergeState:Rn}),k({available:E(!1),reason:j()})]),k({merged:E(!0),number:d(),url:j(),method:In,mergeCommitSha:j().optional()});var zn=k({path:j(),previousPath:j().optional(),status:y([`added`,`modified`,`removed`,`renamed`,`copied`,`changed`]),additions:d(),deletions:d(),patch:j().optional(),patchUnavailableReason:y([`binary`,`too-large`,`not-provided`]).optional(),truncated:T().optional()});w(`available`,[k({available:E(!0),number:d(),headSha:j(),files:v(zn),additions:d(),deletions:d(),truncated:T(),reason:j().optional()}),k({available:E(!1),reason:j()})]),k({generation:j().uuid()}),w(`state`,[k({generation:j().uuid(),state:E(`ready`),projects:v(kn),membership:A(j(),v(j()))}),k({generation:j().uuid(),state:E(`unavailable`),reason:j()})]),k({command:j().min(1).max(1024),port:d().int().min(1).max(65535),cwd:j().optional(),label:j().min(1).max(48).optional(),path:j().startsWith(`/`).optional()});var Bn=y([`registered`,`replaced`,`invalid_input`,`cwd_outside_worktree`,`cezar_port`,`port_held`,`too_many`,`preview_disabled`,`headless`,`worktree_missing`,`unavailable`]);k({ok:T(),code:Bn,message:j(),hint:j()}),k({port:d().int().min(1).max(65535),restart:T().optional()}).strict(),k({ok:T(),code:y([`stopped`,`restarted`,`approval_required`,`adopted`,`not_registered`,`port_held`,`port_in_use`,`invalid_input`,`preview_disabled`,`headless`,`worktree_missing`,`unavailable`]),message:j(),hint:j()});var V=k({port:d().int().min(1).max(65535),command:j(),cwd:j().optional(),label:j(),path:j().optional(),registeredAt:O(),answeredAtRegistration:T()}),Vn=y([`registered`,`starting`,`up`,`stalled`,`exited`,`stopped`,`adopted`,`unavailable`]),Hn=k({type:E(`preview.agent-browser`),state:y([`connected`,`disconnected`])}),Un=d().int().min(1).max(65535),Wn=e=>Math.min(4e3,Math.max(100,Math.round(e))),Gn=e=>Math.min(2,Math.max(1,e)),Kn=y([`normal`,`high`,`ultra`]),qn=y([`mousePressed`,`mouseReleased`,`mouseMoved`,`mouseWheel`]),Jn=y([`left`,`middle`,`right`,`none`]),Yn=y([`keyDown`,`rawKeyDown`,`keyUp`]);w(`t`,[k({t:E(`open`),viewerId:j().min(1).max(128).optional(),resume:T().optional(),target:ie([k({port:Un}),k({url:j().min(1).max(2048)}),k({agent:E(!0)})]),quality:Kn.optional(),dpr:d().finite().transform(Gn).optional()}),k({t:E(`quality`),quality:Kn}),k({t:E(`run`),port:Un}),k({t:E(`stop`),port:Un}),k({t:E(`keepWaiting`),port:Un}),k({t:E(`resize`),w:d().finite().transform(Wn),h:d().finite().transform(Wn),dpr:d().finite().transform(Gn).optional()}),k({t:E(`mouse`),type:qn,x:d().finite(),y:d().finite(),button:Jn.optional(),buttons:d().optional(),clickCount:d().optional(),deltaX:d().optional(),deltaY:d().optional(),modifiers:d().optional()}),k({t:E(`key`),type:Yn,key:j().optional(),code:j().optional(),text:j().optional(),modifiers:d().optional(),vk:d().optional(),commands:v(j()).optional()}),k({t:E(`insertText`),text:j()}),k({t:E(`nav`),url:j().min(1).max(2048)}),k({t:E(`back`)}),k({t:E(`forward`)}),k({t:E(`reload`),ignoreCache:T().optional()}),k({t:E(`dialogResult`),accept:T(),text:j().optional()}),k({t:E(`ack`)}),k({t:E(`ping`),ts:d()}),k({t:E(`download`)}),k({t:E(`cancelDownload`)}),k({t:E(`retryBrowser`)})]);var Xn=w(`t`,[w(`stage`,[k({t:E(`state`),stage:E(`chromium-missing`),installCommand:j(),canDownload:T()}),k({t:E(`state`),stage:E(`downloading`),received:d(),total:d()}),k({t:E(`state`),stage:E(`download-failed`),error:j(),installCommand:j()}),k({t:E(`state`),stage:E(`sandbox-failed`),stderrTail:j()}),k({t:E(`state`),stage:E(`browser-exited`),reason:y([`timeout`,`exited`]).optional(),signal:j().optional(),exitCode:d().int().optional(),stderrTail:j(),serverUp:T()}),k({t:E(`state`),stage:E(`needs-approval`),server:V,wasRunning:T()}),k({t:E(`state`),stage:E(`port-held`),server:V,ownerTitle:j()}),k({t:E(`state`),stage:E(`server-starting`),server:V,attempt:d().int(),startedAt:O(),logTail:v(j())}),k({t:E(`state`),stage:E(`server-stalled`),server:V,logTail:j()}),k({t:E(`state`),stage:E(`server-exited`),server:V,exitCode:d().int().nullable(),logTail:j()}),k({t:E(`state`),stage:E(`server-stopped`),server:V,reason:y([`user`,`idle`]),lastUrl:j()}),k({t:E(`state`),stage:E(`worktree-removed`),server:V.optional()}),k({t:E(`state`),stage:E(`loading`),step:y([`browser`,`page`,`frame`])}),k({t:E(`state`),stage:E(`streaming`),adopted:T()}),k({t:E(`state`),stage:E(`agent-idle`)})]),k({t:E(`url`),url:j()}),k({t:E(`cursor`),cursor:j()}),k({t:E(`dialog`),type:y([`alert`,`confirm`,`prompt`,`beforeunload`]),message:j(),defaultPrompt:j().optional(),origin:j()}),k({t:E(`replaced`),by:j()}),k({t:E(`pong`),ts:d()}),k({t:E(`downloadProgress`),received:d(),total:d()})]),Zn=[`text/plain`,`text/markdown`,`text/x-markdown`,`application/pdf`];function Qn(e){return e.startsWith(`image/`)}function $n(e){return Qn(e)||Zn.includes(e)}function er(e){return/png/.test(e)?`png`:/jpe?g/.test(e)?`jpg`:/webp/.test(e)?`webp`:/gif/.test(e)?`gif`:e===`application/pdf`?`pdf`:e===`text/plain`?`txt`:e===`text/markdown`||e===`text/x-markdown`?`md`:`img`}var tr=new Set([`png`,`jpg`,`jpeg`,`webp`,`gif`,`img`]);function nr(e){let t=e.split(`.`).pop()?.toLowerCase();return t!==void 0&&tr.has(t)}var rr=k({id:j().min(1),name:j().optional(),prompt:j().optional(),skill:j().optional(),model:j().optional(),effort:j().max(32).optional(),timeoutMs:d().int().min(0).max(2147483647).optional(),runner:C.optional(),agentProfile:j().min(1).max(64).optional(),allowedTools:v(j()).optional(),bashAllowlist:v(j()).optional(),command:j().optional(),onFail:k({retry:j().min(1),max:d().int().positive().default(2)}).optional()}).refine(e=>!!e.command!=!!(e.prompt??e.skill),{message:`a step is either an agent step (prompt/skill) or a check step (command), not both`}).refine(e=>!e.command||e.timeoutMs===void 0,{message:`timeoutMs applies only to agent steps`,path:[`timeoutMs`]}),ir=k({name:j(),description:j().optional(),steps:v(rr),source:y([`built-in`,`file`]),path:j().optional()});function ar(e,t){let n=new Set;for(let r of e.steps)r.command||n.add(r.runner??t);return C.options.filter(e=>n.has(e))}var or=k({path:j(),message:j()});k({workflows:v(ir),issues:v(or)}),k({name:j().trim().min(1).max(80),description:j().max(2e3,`must be at most 2000 characters`).optional(),steps:v(rr).min(1).max(8).optional(),skills:v(j().trim().min(1)).min(1).max(8).optional(),overwrite:T().optional()}).refine(e=>!!e.steps!=!!e.skills,{message:`provide either "steps" or "skills", not both`}),k({path:j(),name:j()}),k({name:j(),description:j().optional(),steps:v(rr)}),k({ok:E(!0),path:j()}),k({name:j().optional(),steps:v(rr),rationale:j(),fallback:T()});var sr=/^https:\/\/([a-zA-Z0-9](?:[a-zA-Z0-9.-]*[a-zA-Z0-9])?)\/([a-zA-Z0-9_-]+)\/([a-zA-Z0-9_.-]+)\/pull\/([1-9][0-9]*)$/,cr=j().max(2048).regex(sr).refine(e=>{let t=sr.exec(e);return!!t&&Number.isSafeInteger(Number(t[4]))&&t[3]!==`.`&&t[3]!==`..`},`Expected an HTTPS GitHub PR URL with a positive integer PR number`),lr=y([`checks`,`merge`,`merge_or_blocked`]),ur=k({pr:cr,until:lr.default(`checks`),wake_on_conflict:T().default(!0),timeout_seconds:d().int().min(1).max(7200).default(1800)}).strict(),dr=j().regex(/^[0-9a-f]{40}$/i),H=k({prUrl:cr,repository:j().max(2048).regex(/^[a-zA-Z0-9_-]+\/[a-zA-Z0-9_.-]+$/),prNumber:d().int().positive().max(2**53-1),headSha:dr}).strict(),fr=y([`passed`,`failed`,`cancelled`,`skipped`,`no_checks`,`head_changed`,`conflicting`,`deadline`,`error`,`merged`,`closed`,`blocked`]),pr=y(`invalid_request.unsupported_host.gh_missing.authentication.inaccessible_pr.malformed_data.output_limit.query_timeout.command_failed.wait_conflict.capacity.unavailable.unauthorized.persistence.manager_disposed.capability_revoked.run_missing.run_not_running.run_stopping.session_replaced.session_closed.run_cancelled.finish_requested.generation_mismatch.worker_wait_pending.worker_execution_stopped.root_finish_pending.registration_aborted.turn_changed`.split(`.`));k({code:pr,message:j().max(4096)}).strict();function mr(e){let t=0;for(let n of e){let e=n.codePointAt(0);t+=e<=127?1:e<=2047?2:e<=65535?3:4}return t}var hr=k({reason:y([`conflict`,`no_pending_merge`]),isInMergeQueue:T(),autoMergeEnabled:T(),event:k({kind:y([`queue_removal`,`auto_merge_disabled`]),createdAt:O({offset:!0}),reason:j().max(256).optional(),reasonCode:j().max(256).optional()}).strict().optional()}).strict(),gr=k({outcome:fr,headSha:dr,observedHeadSha:dr.optional(),mergeable:y([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]).optional(),mergeStateStatus:j().max(64).optional(),mergedAt:O({offset:!0}).optional(),mergeCommitSha:dr.optional(),mergeBlock:hr.optional(),observedAt:O(),checks:v(k({name:j().max(256),state:j().max(256),link:j().max(2048)}).strict()).max(100),totalChecks:d().int().nonnegative(),truncated:T(),diagnostic:j().max(4096).refine(e=>mr(e)<=4096).optional()}).strict().refine(e=>e.outcome===`blocked`==(e.mergeBlock!==void 0),`Only blocked outcomes require mergeBlock`).refine(e=>mr(JSON.stringify(e))<=32*1024,`CI result exceeds 32 KiB`),_r=H.extend({id:M(),generation:j().min(1).max(256),turnId:j().min(1).max(256),timeoutSeconds:d().int().min(1).max(7200),until:lr.default(`checks`),wakeOnConflict:T().default(!0),registeredAt:O(),deadline:O(),phase:y([`registered`,`parked`,`wake-pending`,`delivered`,`withdrawn`]),result:gr.optional(),wakeId:j().min(1).max(256).optional(),deliveredAt:O().optional()}).strict();H.extend({waitId:M(),registeredAt:O(),deadline:O(),phase:_r.shape.phase}).strict();function vr(e){return e.status===`waiting`&&e.autoResumeAt!==void 0}var yr=7200,U=512,br=1800,xr=7200,Sr=4096,Cr=1800,wr=d().int().min(2),Tr=y([`open`,`resolved`,`delivered`,`cancelled`]),Er=y([`cezar_wait`,`cezar_wait_for_ci`,`cezar_ask`,`monitoring-line`,`schedule-wakeup`,`ask-line`,`native-ask`,`no-wait`,`budget`,`cez-worker-wait`,`completion`,`cez-message-wait`,`native-subagents`]),W={id:M(),source:y([`agent`,`cezar`]),via:Er,registeredAt:O(),phase:Tr,resolvedAt:O().optional(),deliveredAt:O().optional(),cancelledAt:O().optional(),turnId:j().min(1).max(256)},Dr=k({...W,kind:E(`pr`),deadline:O(),...H.shape,generation:j().min(1).max(256),timeoutSeconds:d().int().min(1).max(7200),until:lr,wakeOnConflict:T(),result:gr.optional()}).strict(),Or=k({...W,kind:E(`timer`),deadline:O(),seconds:d().int().min(60).max(yr),note:j().max(U).optional()}).strict(),kr=k({outcome:y([`exit_file`,`exited`,`deadline`,`error`]),observedAt:O(),exitCode:d().int().min(-2147483648).max(2147483647).optional(),exitFileNote:E(`not-an-exit-code`).optional(),diagnostic:j().max(512).optional()}).strict(),Ar=k({...W,kind:E(`process`),deadline:O(),timeoutSeconds:d().int().min(1).max(xr),pid:wr,startToken:j().min(1).max(256).optional(),exitFile:j().min(1).max(Sr).optional(),note:j().max(U).optional(),result:kr.optional()}).strict(),jr=k({...W,kind:E(`human`),questions:ne.shape.questions.optional(),context:_.optional(),askSeq:d().int().nonnegative().optional()}).strict(),Mr=k({...W,kind:E(`worker`),deadline:O().optional(),timeoutSeconds:d().int().min(1).max(1800).optional(),mode:f.optional(),workerIds:b.optional(),revisions:v(k({workerId:M(),revision:d().int().nonnegative()}).strict()).max(32).optional(),outcomes:v(ae).max(32).optional(),requestIds:b.optional(),requestOutcomes:v(S).max(32).optional(),result:k({reason:y([`outcome`,`timeout`])}).strict().optional(),wakeInputId:M().optional()}).strict().superRefine((e,t)=>{let n=e.deadline!==void 0,r=e.timeoutSeconds!==void 0;e.source===`agent`?(n||t.addIssue({code:`custom`,message:`an agent worker wait requires a deadline`,path:[`deadline`]}),r||t.addIssue({code:`custom`,message:`an agent worker wait requires timeoutSeconds`,path:[`timeoutSeconds`]})):n!==r&&t.addIssue({code:`custom`,message:`a cezar worker wait takes deadline and timeoutSeconds together or neither`,path:[n?`timeoutSeconds`:`deadline`]});let i=e.workerIds!==void 0;if(i===(e.requestIds!==void 0)){t.addIssue({code:`custom`,message:`a worker wait names workerIds or requestIds, exactly one`,path:[i?`requestIds`:`workerIds`]});return}e.mode===`one`&&(e.workerIds??e.requestIds)?.length!==1&&t.addIssue({code:`custom`,message:`one mode requires exactly one id`,path:[`mode`]});let a=i?[`revisions`,`outcomes`]:[`requestOutcomes`],o=i?[`requestOutcomes`]:[`revisions`,`outcomes`];for(let n of a)e[n]===void 0&&t.addIssue({code:`custom`,message:`${n} is required with ${i?`workerIds`:`requestIds`}`,path:[n]});for(let n of o)e[n]!==void 0&&t.addIssue({code:`custom`,message:`${n} does not go with ${i?`workerIds`:`requestIds`}`,path:[n]})}),Nr=e=>e.deadline!==void 0,Pr=k({...W,kind:E(`peer`),deadline:O(),timeoutSeconds:d().int().min(1).max(Cr),peerIds:b,result:p.optional()}).strict().superRefine(ge),Fr=k({id:j().min(1).max(256),status:y([`running`,`completed`,`failed`,`cancelled`])}).strict(),Ir=k({reason:y([`settled`,`timeout`,`interrupted`,`superseded`])}).strict(),Lr=w(`kind`,[Dr,Or,jr,Mr,Ar,Pr,k({...W,kind:E(`subagent`),source:E(`cezar`),via:E(`native-subagents`),deadline:O(),children:v(Fr).min(1).max(32),result:Ir.optional()}).strict()]),Rr=(e,t,n)=>{t===`one`&&e.length!==1&&n.addIssue({code:`custom`,message:`one mode requires exactly one id`,path:[`mode`]})},zr=d().int().min(1).max(Cr).default(600),Br={operation_id:M().optional()};w(`kind`,[ur.extend({kind:E(`pr`),...Br}).strict(),k({kind:E(`worker`),...Br,worker_ids:b,mode:f.optional(),timeout_seconds:zr}).strict().superRefine((e,t)=>Rr(e.worker_ids,e.mode,t)),k({kind:E(`request`),...Br,request_ids:b,mode:f.optional(),timeout_seconds:zr}).strict().superRefine((e,t)=>Rr(e.request_ids,e.mode,t)),k({kind:E(`peer`),...Br,peer_ids:b,timeout_seconds:zr}).strict(),k({kind:E(`timer`),...Br,seconds:d().int().min(60).max(yr),note:j().max(U).optional()}).strict(),k({kind:E(`process`),...Br,pid:wr,exit_file:j().min(1).max(Sr).optional(),timeout_seconds:d().int().min(1).max(xr).default(br),note:j().max(U).optional()}).strict()]),k({wait_id:M()}).strict();var Vr={wait_id:M(),summary:j().max(256)},G=w(`kind`,[k({...Vr,kind:y([`pr`,`timer`,`worker`,`process`,`peer`,`subagent`]),deadline:O()}).strict(),k({...Vr,kind:E(`human`)}).strict()]),Hr=y([...pr.options,`timers_disabled`,`wake_budget_spent`,`denied_scope`,`exit_file_outside`,`process_not_allowed`,`process_not_owned`,`duplicate_deadline`,`operation_conflict`,`outcome_unknown`,`messaging_off`]),Ur=j().max(4096),Wr=k({operationId:M(),requestHash:j().regex(/^[0-9a-f]{64}$/),wait:Lr,deduplicated:T()}).strict(),Gr={operation_id:M().optional()};w(`ok`,[k({ok:E(!0),...Gr,effect:y([`applied`,`unchanged`]).optional(),deduplicated:T().optional(),replayed:T().optional(),wait_phase:y([...Tr.options,`unavailable`]).optional(),wait_id:M(),kind:y([`pr`,`timer`,`worker`,`request`,`process`,`peer`]),deadline:O(),open_waits:v(G).max(16)}).strict(),k({ok:E(!1),...Gr,effect:y([`refused`,`unknown`]).optional(),retained_wait:G.optional(),code:Hr,message:Ur,open_waits:v(G).max(16).optional()}).strict()]),ne.extend({context:_});var Kr=y([`invalid_request`,`capacity`,`persistence`,`unavailable`,`unauthorized`,`autonomous_run`,`manager_disposed`,`capability_revoked`,`run_missing`,`run_not_running`,`run_stopping`,`session_replaced`,`session_closed`,`run_cancelled`,`finish_requested`,`generation_mismatch`,`worker_wait_pending`,`worker_execution_stopped`,`root_finish_pending`]);w(`ok`,[k({ok:E(!0),wait_id:M(),open_waits:v(G).max(16)}).strict(),k({ok:E(!1),code:Kr,message:Ur,open_waits:v(G).max(16).optional()}).strict()]),w(`cancelled`,[k({cancelled:E(!0),wait_id:M(),open_waits:v(G).max(16)}).strict(),k({cancelled:E(!1),code:y([`not_found`,`already_resolved`,`human_question`,`invalid_request`,`unavailable`]),message:Ur,open_waits:v(G).max(16).optional()}).strict()]),k({summary:j().max(2e3).optional()}).strict();var qr=y([`workers_outstanding`,`workers_uncollected`,`worker_questions`,`requests_outstanding`,`requests_unanswered`,`human_question_pending`,`worker_wait_pending`,`root_finish_pending`,`not_final_step`,`manager_disposed`,`capability_revoked`,`run_missing`,`run_not_running`,`run_stopping`,`session_replaced`,`session_closed`,`run_cancelled`,`finish_requested`,`generation_mismatch`,`invalid_request`,`unavailable`]),Jr={ok:E(!0),finishes:E(`at_turn_end`),open_waits:v(G).max(16)};w(`ok`,[w(`completes`,[k({...Jr,completes:E(`task`)}).strict(),k({...Jr,completes:E(`step`),next_step:j().min(1)}).strict()]),k({ok:E(!1),code:qr,message:Ur,workers:v(k({worker_id:j(),reason:y([`outstanding`,`uncollected`,`question`])}).strict()).max(64).optional(),open_waits:v(G).max(16).optional()}).strict()]);var Yr=me(e=>e&&typeof e==`object`&&e.kind===`ci`?{...e,kind:`pr`,until:`checks`}:e,w(`kind`,[k({kind:E(`human`),shown:E(!0).optional()}),k({kind:E(`usage-limit`),at:j()}),k({kind:E(`workers`),count:d().int().nonnegative(),replies:E(!0).optional(),peers:E(!0).optional()}),k({kind:E(`peers`),count:d().int().nonnegative()}),k({kind:E(`subagents`),count:d().int().nonnegative()}),k({kind:E(`pr`),until:lr,waitId:M(),prUrl:H.shape.prUrl,repository:H.shape.repository,prNumber:H.shape.prNumber,deadline:O()}),k({kind:E(`process`),waitId:M(),pid:wr,deadline:O(),note:j().max(U).optional()}),k({kind:E(`timer`),waitId:M(),at:O(),note:j().max(U).optional()})]));function Xr(e){let t=e?.role===`root`&&`conversation`in e?e.conversation:void 0,n=Array.isArray(t?.messages)?t.messages:[];return new Set(n.flatMap(e=>{let t=e&&typeof e==`object`?e:void 0;return t?.relationship===`peer`&&t.kind===`request`&&typeof t.id==`string`?[t.id]:[]}))}function Zr(e,t){let n=Xr(e);return!!t?.some(e=>n.has(e))}function Qr(e){if(e.requestIds){let t=new Set(e.requestOutcomes?.map(e=>e.requestId));return e.requestIds.map(e=>({key:`request:${e}`,settled:t.has(e)}))}let t=new Set(e.outcomes?.map(e=>e.workerId));return(e.workerIds??[]).map(e=>({key:`worker:${e}`,settled:t.has(e)}))}function $r(e){let t=e.filter(e=>e.kind===`worker`);if(t.length)return new Set(t.flatMap(e=>Qr(e).filter(e=>!e.settled).map(e=>e.key))).size}function ei(e){let t;for(let n of e)(!t||Date.parse(n.deadline)<Date.parse(t.deadline))&&(t=n);return t}function ti(e){let t=(Array.isArray(e.waits)?e.waits:[]).filter(e=>e?.phase===`open`),n=t.filter(e=>e.kind===`human`);if(n.length)return n.some(e=>e.askSeq!==void 0)?{kind:`human`,shown:!0}:{kind:`human`};if(vr(e))return{kind:`usage-limit`,at:e.autoResumeAt};let r=$r(t);if(r!==void 0){let n=t.filter(e=>e.kind===`worker`),i=n.every(e=>e.requestIds!==void 0),a=i&&n.some(t=>Zr(e.delegation,t.requestIds));return{kind:`workers`,count:r,...i?{replies:!0}:{},...a?{peers:!0}:{}}}let i=t.filter(e=>e.kind===`peer`);if(i.length)return{kind:`peers`,count:new Set(i.flatMap(e=>e.peerIds)).size};let a=t.filter(e=>e.kind===`subagent`);if(a.length)return{kind:`subagents`,count:new Set(a.flatMap(e=>e.children.filter(e=>e.status===`running`).map(e=>e.id))).size};let o=ei(t.filter(e=>e.kind===`pr`));if(o)return{kind:`pr`,until:o.until,waitId:o.id,prUrl:o.prUrl,repository:o.repository,prNumber:o.prNumber,deadline:o.deadline};let s=ei(t.filter(e=>e.kind===`process`));if(s)return{kind:`process`,waitId:s.id,pid:s.pid,deadline:s.deadline,...s.note===void 0?{}:{note:s.note}};let c=ei(t.filter(e=>e.kind===`timer`));if(c)return{kind:`timer`,waitId:c.id,at:c.deadline,...c.note===void 0?{}:{note:c.note}}}function ni(e){return Array.isArray(e.waits)&&e.waits.some(e=>e?.kind===`human`&&e.phase===`open`)}function ri(e){return Array.isArray(e.waits)&&e.waits.some(e=>e?.kind===`human`&&e.phase===`open`&&(e.source===`agent`||!!e.questions?.length))}function ii(e){return e.waitWakePending?!0:Array.isArray(e.waits)&&e.waits.some(e=>e?.phase===`resolved`)}function ai(e){return e.waitingOn??ti(e)}function oi(e){let t=e.delegation;if(!t||t.role===`invalid`)return;let n=(e.waits??[]).filter(e=>e.kind===`worker`&&Nr(e)&&(e.phase===`open`||e.phase===`resolved`)).at(-1);if(!n)return;let r=ui(n);return n.phase===`open`&&e.status===`waiting`&&!ni(e)?{...r,phase:`parked`}:r}function si(e,t){return(e??[]).filter(e=>e.kind===`worker`&&e.via===`completion`&&!Nr(e)&&(e.phase===`open`||e.phase===`resolved`)&&(t===void 0||!!e.workerIds?.includes(t))).at(-1)}function ci(e,t){let n=e.phase===`cancelled`?`cancelled`:e.phase===`open`?void 0:e.result?.reason,r=e.phase===`open`&&t.status===`waiting`&&!ni(t);return{id:e.id,via:`completion`,workerIds:e.workerIds??[],...e.mode===void 0?{}:{mode:e.mode},...e.revisions?.length?{revisions:e.revisions}:{},...n===void 0?{}:{reason:n},phase:r?`parked`:e.phase===`open`?`registered`:`wake-pending`,outcomes:e.outcomes??[],wakeId:e.wakeInputId??e.id}}function li(e){if(e.delegation?.role!==`root`)return;let t=si(e.waits);return t?ci(t,e):void 0}function ui(e){let t=e.phase===`cancelled`?`cancelled`:e.phase===`open`?void 0:e.result?.reason;return{id:e.id,workerIds:e.workerIds??[],...e.requestIds===void 0?{}:{requestIds:e.requestIds},...e.requestOutcomes===void 0?{}:{requestOutcomes:e.requestOutcomes},deadline:e.deadline,...e.mode===void 0?{}:{mode:e.mode},...e.revisions?.length?{revisions:e.revisions}:{},...t===void 0?{}:{reason:t},phase:e.phase===`open`?`registered`:`wake-pending`,outcomes:e.outcomes??[],wakeId:e.wakeInputId??e.id}}var di=k({autosave:v(k({at:j(),note:j(),periodic:k({branch:j().nullable(),count:d().int().positive(),first:j().nullable(),latest:j().nullable()}).optional()}))});function fi(e,t){let n=`\n${e}\n`;for(let e=n.indexOf(`\n${t}`);e>=0;e=n.indexOf(`\n${t}`,e+1)){let r=e+1+t.length;if(n[r]===`
2
- `||n.startsWith(`\r
3
- `,r))return e}return-1}function pi(e,t){let n=e.indexOf(`
4
- `,t);return n<0?e.length:n+1}var mi={archiveWhenDone:T().optional(),autoMergePr:T().optional()},hi={allowWorkers:T().optional(),allowMessaging:T().optional()},gi=e=>e.allowWorkers!==!1,_i=e=>e.allowMessaging!==!1,vi=k({owner:j().min(1),repo:j().min(1),number:d().int().positive()}).extend({mergedAt:j().datetime()}),yi=k({reason:E(`pull-requests-merged`),archivedAt:j().datetime(),fingerprint:j(),pullRequests:v(vi)}),bi=y([`queued`,`running`,`waiting`,`review`,`done`,`failed`,`cancelled`]),xi=k({id:j().uuid(),phase:y([`pending`,`blocked`,`complete`]),message:j().optional()}),Si=y([`pending`,`running`,`waiting`,`review`,`done`,`failed`,`cancelled`,`skipped`]),Ci=y([`cursor-acp`,`cursor-print`]),K=d().finite().nonnegative(),wi=k({id:j(),name:j(),kind:y([`agent`,`check`]),status:Si,iterations:d(),retriesUsed:d().int().nonnegative().optional(),tokensUsed:d(),inputTokens:K.optional(),outputTokens:K.optional(),usageInvocationsStarted:K.optional(),usageInvocationsObserved:K.optional(),usageTurnsStarted:K.optional(),usageTurnsRecorded:K.optional(),usageInvocationEpoch:K.optional(),startedAt:j().optional(),finishedAt:j().optional(),error:j().optional(),sessionId:j().optional(),sessionTransport:Ci.optional(),backend:C.optional(),profileId:j().optional(),costUsd:d().optional(),synthetic:E(`continuation`).optional()}),Ti=k({adds:d(),dels:d(),files:d(),repointed:T().optional()}),Ei=k({id:j(),text:j(),images:v(j()).optional(),createdAt:j()}),Di=Ei.extend({origin:y([`human`,`lifecycle`]).optional(),agentInputId:M().optional(),resumeContext:k({failure:k({stepId:j().optional(),error:j()}).optional(),restarted:E(!0).optional()}).optional()}),Oi=k({cpuPct:d(),rssBytes:d(),procCount:d()}),ki=k({lastDeliveredAt:j().optional(),lastError:j().max(1024).optional(),lastErrorWebhookId:j().optional()}),Ai=k({status:y([`running`,`done`,`failed`]),startedAt:j(),finishedAt:j().optional(),durationMs:d().optional(),error:j().optional()}),ji=k({number:d().int().positive().lt(1e7),url:j().regex(/^https?:\/\/github\.com\/[a-z0-9_.-]+\/[a-z0-9_.-]+\/pull\/\d+\/?(?:[?#][^\s]*)?$/i).optional(),source:y([`declared`,`created`])}).refine(e=>e.url===void 0||Number(/\/pull\/(\d+)/i.exec(e.url)?.[1])===e.number,{message:`PR URL and number must agree`}),Mi=k({id:j(),title:j(),titleSummary:j().optional(),diffStat:Ti.optional(),workflow:j(),task:j(),queuedMessages:v(Ei).optional(),stopping:T().optional(),continuationMessage:Di.optional(),workflowResumeStepId:j().optional(),invalidAsk:T().optional(),delegation:ee.optional(),agentInputs:v(_e).optional(),waits:v(Lr).optional(),waitRegistrations:v(Wr).optional(),lastWaits:v(Lr).optional(),lastWaitsError:j().max(256).optional(),automaticWakes:d().int().nonnegative().optional(),waitDeliveryFailures:d().int().nonnegative().optional(),previewServers:v(V).optional(),taskImages:v(j()).optional(),model:j().optional(),effort:j().max(32).optional(),modelIdentity:j().optional(),runner:C.optional(),agentProfile:j().optional(),systemPrompt:j().optional(),generateFollowups:T().optional(),autonomous:T().optional(),...mi,...hi,completionAction:xi.optional(),archiveBlocker:k({message:j(),runId:j().optional(),pullRequestUrl:j().optional()}).optional(),automation:k({automationId:j(),automationRevision:d(),receiptId:j(),event:j(),githubUrl:j()}).optional(),automationTrigger:k({automationId:j(),automationRevision:d(),receiptId:j(),trigger:y([`schedule`,`catch-up`,`manual`]),occurrenceAt:j()}).optional(),destroyRetry:m.optional(),notify:T().optional(),webhook:ki.optional(),status:bi,hasPendingPermission:T().optional(),autoResumeAt:j().optional(),autoResumeAttempts:d().optional(),createdAt:j(),startedAt:j().optional(),finishedAt:j().optional(),tokensUsed:d(),inputTokens:K.optional(),outputTokens:K.optional(),costUsd:d().optional(),pullRequestUrl:j().optional(),pullRequests:v(ji).optional(),referencedPullRequestUrl:j().optional(),prNumber:d().optional(),issueNumber:d().optional(),referencedIssueNumberSeeded:T().optional(),titleOrigin:y([`user`,`auto`,`marker`]).optional(),markerRefs:k({pr:d().optional(),issue:d().optional()}).optional(),referencedPrCandidates:v(j()).optional(),referencedIssueUrl:j().optional(),referencedIssueCandidates:v(j()).optional(),worktree:E(!1).optional(),worktreePath:j().optional(),branch:j().optional(),baseBranch:j().optional(),worktreeReclaimedAt:j().optional(),worktreeSetup:Ai.optional(),groupId:j().optional(),variant:j().optional(),clientRequestId:j().optional(),clientRequestHash:j().optional(),peakRssBytes:d().optional(),peakProcCount:d().optional(),archived:T(),archivedAt:j().optional(),autoArchive:yi.optional(),manualUnarchivedAt:j().datetime().optional(),pinned:T().optional(),pinnedAt:j().optional(),seenAt:j().optional(),currentStepId:j().optional(),error:j().optional(),steps:v(wi),workflowDef:ir.optional(),handoffRecords:di.optional()});Mi.extend({finishBlocked:j().nullable().optional(),cliResumeCommand:j().optional(),usage:Oi.optional()});var Ni=k({id:j(),title:j(),titleSummary:j().optional(),titleOrigin:y([`user`,`auto`,`marker`]).optional(),status:bi,hasPendingPermission:Mi.shape.hasPendingPermission,waitingOn:Yr.optional(),waitWakePending:E(!0).optional(),delegation:te.optional(),createdAt:j(),finishedAt:j().optional(),seenAt:j().optional(),archived:T(),autoResumeAt:j().optional(),workflow:j(),branch:j().optional(),startedAt:j().optional(),pullRequestUrl:j().optional(),pullRequests:v(ji).optional(),referencedPullRequestUrl:j().optional(),prNumber:d().optional(),issueNumber:d().optional(),referencedIssueUrl:j().optional(),markerRefs:k({pr:d().optional(),issue:d().optional()}).optional(),costUsd:d().optional(),peakRssBytes:d().optional(),peakProcCount:d().optional(),usage:Oi.optional(),workflowLabel:j(),groupId:j().optional(),variant:j().optional(),pinned:T().optional(),automationId:j().optional(),runner:Mi.shape.runner,model:j().optional(),notify:T().optional(),diffStat:Ti.optional(),tokensUsed:d(),inputTokens:Mi.shape.inputTokens,outputTokens:Mi.shape.outputTokens,currentStepId:j().optional(),currentStepBackend:C.optional(),error:j().optional(),worktreePath:j().optional()}),Pi=Ni.extend({projectId:j()});function Fi(e){return e.automationId!==void 0}var Ii=A(j(),k({prs:A(d(),jn),issues:A(d(),jn)}));k({archived:y([`recent`,`all`]).optional()}),k({before:j().optional(),limit:g().int().min(1).max(200).optional(),q:j().optional()});var Li=k({runs:v(Ni),nextCursor:j().nullable(),total:d().int().nonnegative()});k({q:j().trim().min(2),limit:g().int().min(1).max(50).optional()});var Ri=k({runs:v(Pi),truncated:v(j())});k({cancelled:T()}),k({cancelled:E(!0)}),k({scope:y([`unpinned`,`pinned`]).optional(),automation:T().optional()}),k({archived:d(),ids:v(j()),pinnedIds:v(j())}),k({automation:T().optional()}),k({read:d()}),k({deleted:E(!0)}),k({finished:E(!0)}),k({continued:E(!0)}),k({url:j(),dryRun:T()}),ie([k({delivered:E(!0)}),k({queued:E(!0),message:Ei}),k({deferred:E(!0)})]),k({message:Ei}),k({removed:E(!0)}),k({opened:E(!0),command:j()}),k({removed:E(!0)}),k({committed:E(!0),sha:j()}),k({pushed:E(!0),branch:j(),remote:j(),upstreamSet:T()}),k({commits:v(k({sha:j(),subject:j(),author:j(),when:j()}))}),k({id:j().min(1),file:j().regex(/^[A-Za-z0-9_-][A-Za-z0-9._-]*$/).refine(e=>!e.includes(`..`))});var zi=k({mediaType:j().refine($n,{message:`unsupported attachment type — images, plain text, markdown and PDF only`}),data:j().min(1).max(7e6)}),Bi=E(1,{error:`Parallel variants are removed. Use owned workers to compare approaches; collect their results and integrate the chosen commits explicitly.`}).optional(),Vi=k({workflow:j().min(1).optional(),steps:v(rr).min(1).max(8).optional(),task:j().min(1).max(1e5,`must be at most 100000 characters`),model:j().optional(),effort:j().max(32).optional(),runner:C.optional(),agentProfile:j().max(64).optional(),variants:Bi,worktree:T().optional(),autonomous:T().optional(),...mi,...hi,systemPrompt:j().trim().max(2e4,`must be at most 20000 characters`).optional().transform(e=>e||void 0),images:v(zi).max(4).optional()});Vi.extend({clientRequestId:j().uuid().optional(),notify:T().optional()}).refine(e=>!!e.workflow!=!!e.steps,{message:`provide either "workflow" or "steps", not both`}),k({text:j().max(1e5).default(``),images:v(zi).max(4).default([])}).refine(e=>e.text.trim().length>0||e.images.length>0,{message:`message needs text or at least one attachment`}),k({title:j().trim().min(1).max(300).optional(),task:j().trim().min(1).max(1e5).optional(),...mi,...hi}),k({pinned:T().optional()}),k({notify:T(),message:j().trim().max(1e5).optional().transform(e=>e||void 0)});var Hi=/^[\w!#$%&'*.^`|~+-]+$/,Ui=(e,t,n={})=>{if(!Hi.test(e))throw Error(`Invalid cookie name`);let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}for(let e of[`domain`,`path`,`sameSite`,`priority`])if(n[e]&&/[;\r\n]/.test(n[e]))throw Error(`${e} must not contain ";", "\\r", or "\\n"`);if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},Wi=(e,t,n)=>(t=encodeURIComponent(t),Ui(e,t,n)),Gi=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),Ki=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??`);e=e.replace(t,r?`/${r}`:``)}return e},qi=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(r!==void 0)if(Array.isArray(r))for(let e of r)t.append(n,e);else t.set(n,r);return t},Ji=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},Yi=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function Xi(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Zi(e,t){if(!Xi(e)&&!Xi(t))return t;let n={...e};for(let e in t){let r=t[e];Xi(n[e])&&Xi(r)?n[e]=Zi(n[e],r):n[e]=r}return n}var Qi=(e,t)=>new Proxy(()=>{},{get(n,r){if(!(typeof r!=`string`||r===`then`))return Qi(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}}),$i=class{url;method;buildSearchParams;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t,n){this.url=e,this.method=t,this.buildSearchParams=n.buildSearchParams}fetch=async(e,t)=>{if(e){if(e.query&&(this.queryParams=this.buildSearchParams(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(r!==void 0)if(Array.isArray(r))for(let e of r)t.append(n,e);else t.append(n,r);this.rBody=t}e.json&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let n=this.method.toUpperCase(),r={...e?.header,...typeof t?.headers==`function`?await t.headers():t?.headers};if(e?.cookie){let t=[];for(let[n,r]of Object.entries(e.cookie))t.push(Wi(n,r,{path:`/`}));r.Cookie=t.join(`,`)}this.cType&&(r[`Content-Type`]=this.cType);let i=new Headers(r??void 0),a=this.url;a=Yi(a),a=Ki(a,this.pathParams),this.queryParams&&(a=a+`?`+this.queryParams.toString()),n=this.method.toUpperCase();let o=!(n===`GET`||n===`HEAD`);return(t?.fetch||fetch)(a,{body:o?this.rBody:void 0,method:n,headers:i,...t?.init})}},ea=(e,t)=>Qi(function n(r){let i=t?.buildSearchParams??qi,a=[...r.path],o=a.slice(-3).reverse();if(o[0]===`toString`)return o[1]===`name`?o[2]||``:n.toString();if(o[0]===`valueOf`)return o[1]===`name`?o[2]||``:n;let s=``;if(/^\$/.test(o[0])){let e=a.pop();e&&(s=e.replace(/^\$/,``))}let c=Gi(e,a.join(`/`));if(s===`url`||s===`path`){let t=c;return r.args[0]&&(r.args[0].param&&(t=Ki(c,r.args[0].param)),r.args[0].query&&(t=t+`?`+i(r.args[0].query).toString())),t=Yi(t),s===`url`?new URL(t):t.slice(e.replace(/\/+$/,``).length).replace(/^\/?/,`/`)}if(s===`ws`){let e=Ji(r.args[0]&&r.args[0].param?Ki(c,r.args[0].param):c,`ws`),n=new URL(e),i=r.args[0]?.query;return i&&Object.entries(i).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.searchParams.append(e,t)):n.searchParams.set(e,t)}),((...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e))(n.toString())}let l=new $i(c,s,{buildSearchParams:i});if(s){t??={};let e={...r.args[1]},n=t.headers,i=e.headers;n&&i&&(e.headers=async()=>({...typeof n==`function`?await n():n,...typeof i==`function`?await i():i}));let a=Zi(t,e);return l.fetch(r.args[0],a)}return l},[]);function ta(e={}){let{baseUrl:t=``,token:n,headers:r,fetch:i}=e;return ea(t,{headers:{...n?{Authorization:`Bearer ${n}`}:{},...r},...i?{fetch:i}:{}})}var na={permission:0,error:1,waiting:2,running:3,unseen:4,none:5},ra=[`needs-permission`,`failed`,`needs-you`,`needs-review`,`running`,`usage-limit`,`waiting-on-workers`,`waiting-on-subagents`,`waiting-for-ci`,`waiting-for-merge`,`waiting-for-command`,`monitoring`,`waiting-for-capacity`,`queued`,`done`,`cancelled`,`unseen`];function ia(e){return e.hasPendingPermission===!0&&(e.status===`waiting`||e.status===`running`)}function aa(e){return!1}function oa(e,t,n=!1){if(t.requestIds?.length)return e===`worker`?`waiting on parent reply`:n?`waiting on replies`:`waiting on worker replies`;let r=new Set(t.outcomes?.map(e=>e.workerId)),i=t.workerIds?.filter(e=>!r.has(e)).length;return i?`waiting on ${i} worker${i===1?``:`s`}`:`waiting on workers`}var sa={"needs-permission":{bucket:`permission`,tone:`info`,shape:`filled`,pulse:!0,label:`needs permission`},failed:{bucket:`error`,tone:`danger`,shape:`filled`,pulse:!1,label:`failed`},"needs-you":{bucket:`waiting`,tone:`pending`,shape:`filled`,pulse:!0,label:`needs you`},"needs-review":{bucket:`waiting`,tone:`info`,shape:`filled`,pulse:!0,label:`needs review`},running:{bucket:`running`,tone:`running`,shape:`filled`,pulse:!0,label:`running`},"usage-limit":{bucket:`none`,tone:`neutral`,shape:`ring`,pulse:!1,label:`usage limit`},"waiting-on-workers":{bucket:`none`,tone:`running`,shape:`workers`,pulse:!1,label:`waiting on workers`},"waiting-on-subagents":{bucket:`none`,tone:`running`,shape:`workers`,pulse:!1,label:`waiting for subagents`},"waiting-for-ci":{bucket:`running`,tone:`running`,shape:`ring`,pulse:!0,label:`waiting for CI`},"waiting-for-merge":{bucket:`running`,tone:`running`,shape:`ring`,pulse:!0,label:`waiting for merge`},"waiting-for-command":{bucket:`running`,tone:`running`,shape:`ring`,pulse:!0,label:`waiting for a command`},monitoring:{bucket:`running`,tone:`running`,shape:`ring`,pulse:!0,label:`monitoring`},"waiting-for-capacity":{bucket:`none`,tone:`running`,shape:`ring`,pulse:!1,label:`waiting for capacity`},queued:{bucket:`none`,tone:`neutral`,shape:`ring`,pulse:!1,label:`queued`},done:{bucket:`none`,tone:`success`,shape:`filled`,pulse:!1,label:`done`},cancelled:{bucket:`none`,tone:`neutral`,shape:`filled`,pulse:!1,label:`cancelled`},unseen:{bucket:`unseen`,tone:`accent`,shape:`filled`,pulse:!1,label:`unseen`}},ca={rung:`waiting-for-capacity`,...sa[`waiting-for-capacity`]};function q(e){return e===`waiting-for-capacity`?ca:{rung:e,...sa[e]}}function la(e){return Array.isArray(e.waits)&&e.waits.some(e=>e?.kind===`worker`&&e.phase===`resolved`)}function ua(e,t){let n=q(`waiting-on-workers`);if(e.delegation?.role===`worker`)return{...n,shape:`ring`,label:`waiting on parent reply`};if(t.replies)return{...n,label:t.peers?`waiting on replies`:`waiting on worker replies`};let r=t.count;return{...n,label:r?`waiting on ${r} worker${r===1?``:`s`}`:n.label}}function da(e){let t=ai(e);return t?.kind===`workers`?ua(e,t).label:void 0}function fa(e){let t=e.count;return{...q(`waiting-on-workers`),shape:`ring`,label:t?`waiting on ${t} task${t===1?``:`s`}`:`waiting on tasks`}}function pa(e){let t=e.count,n=q(`waiting-on-subagents`);return{...n,label:t?`waiting for ${t} subagent${t===1?``:`s`}`:n.label}}function ma(e,t){if(!(e.status!==`waiting`&&e.status!==`queued`)){if(t?.kind===`usage-limit`)return`usage-limit`;if(e.delegation?.role!==`invalid`&&la(e))return`waiting-for-capacity`;if(e.status===`waiting`){switch(t?.kind){case`workers`:case`peers`:return`waiting-on-workers`;case`subagents`:return`waiting-on-subagents`;case`pr`:return t.until===`checks`?`waiting-for-ci`:`waiting-for-merge`;case`process`:return`waiting-for-command`;case`timer`:return`monitoring`}return t===void 0&&ii(e)?`waiting-for-capacity`:`needs-you`}}}var ha=[(e,t)=>t?.kind===`human`&&(t.shown||e.status===`waiting`)?`needs-you`:void 0,e=>e.status===`review`?`needs-review`:void 0,e=>e.status===`running`?`running`:void 0,ma,e=>aa(e)?`unseen`:void 0,e=>e.status===`queued`?`queued`:void 0,e=>e.status===`done`?`done`:void 0];function ga(e,t){for(let n of ha){let r=n(e,t);if(r!==void 0)return r}return`cancelled`}function _a(e){if(ia(e))return q(`needs-permission`);if(e.status===`failed`)return q(`failed`);let t=e.status===`waiting`||e.status===`queued`||e.status===`running`?ai(e):void 0,n=ga(e,t);return n===`waiting-on-workers`&&t?.kind===`workers`?ua(e,t):n===`waiting-on-workers`&&t?.kind===`peers`?fa(t):n===`waiting-on-subagents`&&t?.kind===`subagents`?pa(t):q(n)}var va=[`needs-you`,`failed`,`done`,`cancelled`,`running`,`waiting-workers`,`waiting-ci`,`waiting-timer`,`waiting-other`],ya=[`needs-you`,`failed`,`done`,`cancelled`],ba=2048,xa=1024,Sa=/^[A-Za-z0-9][A-Za-z0-9._-]{0,99}$/,Ca=/^[a-z0-9][a-z0-9-]{0,63}$/,wa=1e3,Ta=/^[A-Za-z0-9_-]{1,64}$/,Ea=64*1024,Da=y(va),Oa=k({id:j(),name:j(),description:j().optional(),url:j(),tokenSet:T(),tasks:T(),triggers:v(Da).optional(),agent:T()}),ka=k({id:j(),name:j(),root:j(),addedAt:j(),lastOpenedAt:j(),source:y([`local`,`checkout`]),status:y([`ok`,`missing`,`not-git`]),branch:j().optional(),forge:E(`github`).optional(),repoUrl:j().optional(),maxParallel:d().optional(),tags:v(j()).optional(),webhook:k({url:j(),tokenSet:T(),triggers:v(Da).optional()}).optional(),webhooks:v(Oa).optional()});k({projects:v(ka),bootProject:j(),projectsDir:j()});var Aa=k({project:ka,error:j().optional()});k({removed:E(!0),id:j()}),k({project:ka});var ja=j().trim().max(ba).pipe(le({protocol:/^https?$/,error:`webhook url must be an http(s) URL`})).refine(e=>!/^https?:\/\/[^/?#]*@/i.test(e),`webhook url must not contain credentials; put the secret in the token`),Ma=k({url:ja,token:j().trim().max(xa).optional(),triggers:v(Da).refine(e=>new Set(e).size===e.length,`webhook triggers must not repeat`).optional()}),Na=v(Da).refine(e=>new Set(e).size===e.length,`webhook triggers must not repeat`),Pa=j().trim().min(1,`webhook name is required`).max(80),Fa=j().trim().max(wa),Ia=j().trim().max(xa);k({name:Pa,description:Fa.optional(),url:ja,token:Ia.optional(),tasks:T().optional(),triggers:Na.optional(),agent:T().optional()}),k({name:Pa.optional(),description:Fa.optional(),url:ja.optional(),token:Ia.optional(),tasks:T().optional(),triggers:Na.optional(),agent:T().optional()}).refine(e=>Object.values(e).some(e=>e!==void 0),`specify at least one webhook field`),k({projectId:j(),webhookId:j().regex(Ta,`unknown webhook`)}),k({project:ka,webhook:Oa});var La=k({id:j(),name:j(),description:j().optional()});k({webhooks:v(La)}),k({projectId:j(),webhook:j().min(1).max(80)}),k({runId:j().min(1).max(128).optional(),title:j().trim().min(1).max(200).optional(),message:j().trim().min(1,`message is required`).max(Ea),data:A(j(),D()).optional()}),k({ok:T(),webhook:La.pick({id:!0,name:!0}),deliveryId:j(),attempts:d(),status:d().optional(),error:j().optional(),dryRun:T().optional()}),k({ok:T(),status:d().optional(),error:j().optional(),dryRun:T().optional()}),k({maxParallel:d().int().min(1).max(16).nullable().optional(),tags:v(j().trim().min(1).max(32)).max(20).nullable().optional(),webhook:Ma.nullable().optional()}).refine(e=>e.maxParallel!==void 0||e.tags!==void 0||e.webhook!==void 0,`specify maxParallel, tags or webhook`),k({url:j().trim().min(1).max(512),name:j().trim().max(128).optional(),checkoutId:j().trim().max(128).optional()}),k({name:j().trim().regex(Sa),github:k({owner:j().trim().min(1).max(64),template:j().trim().max(512).optional()}).optional(),checkoutId:j().trim().max(128).optional()}),Aa.extend({warning:j().optional()});var Ra=k({login:j(),personal:T(),avatarUrl:j().optional(),description:j().optional()}),za=w(`available`,[k({available:E(!0),owners:v(Ra)}),k({available:E(!1),reason:j()})]),Ba=k({name:j(),path:j(),isRepo:T()});k({path:j(),parent:j().nullable(),dirs:v(Ba),truncated:T()}),k({key:j()}),k({checkoutId:j().min(1).max(128)}),k({progress:ue.nullable()}),k({root:j().trim().min(1).max(4096)});var Va=k({status:j(),path:j()}),Ha=k({runId:j(),title:j(),prNumber:d().nullable()}),Ua=k({hash:j(),subject:j(),author:j(),when:j(),at:j(),source:Ha.optional()}),Wa=k({ref:j(),ahead:d(),behind:d(),fetchedAt:j().nullable()});ie([k({info:de(),status:v(x()),log:v(x()),branches:v(x()),baseBranch:de(),tracking:de()}),k({info:Nt,status:v(Va),log:v(Ua),branches:v(j()),baseBranch:j().nullable(),tracking:Wa.nullable()})]),k({branch:j(),created:T()});var Ga=y([`active`,`not-landed`,`orphan`,`merged`,`empty`,`other`]),Ka=y([`open`,`draft`,`merged`,`closed`]),qa=k({name:j(),class:Ga,runId:j().nullable(),title:j().nullable(),runStatus:bi.nullable(),ahead:d(),lastCommit:k({sha:j(),subject:j(),at:j()}),diffStat:k({additions:d(),deletions:d()}).nullable(),pr:k({number:d(),url:j(),state:Ka}).nullable(),keptReason:j().optional()});k({base:j(),prStateKnown:T(),branches:v(qa),counts:k({notLanded:d(),cleanup:d()})}).pick({base:!0,prStateKnown:!0,counts:!0}).extend({allBranches:d()}),k({names:v(j().trim().min(1).max(250)).min(1).max(500),confirm:j().optional()});var Ja=k({name:j(),reason:j()});k({deleted:v(j()),refused:v(Ja),dropped:v(k({sha:j(),subject:j()})).optional()}),k({error:j(),refused:v(Ja)}),k({branches:v(j())}),k({branch:j().trim().min(1).max(200).optional(),confirm:T().optional()});var Ya=k({branch:j(),pulled:E(!0),summary:j()}),Xa=k({error:j(),branch:j(),risks:v(y([`active_runs`,`dirty_tree`]))});ie([Xa,k({error:j()})]);var Za=k({adds:d(),dels:d(),files:d()}),Qa=k({path:j(),oldPath:j().optional(),status:y([`added`,`modified`,`deleted`,`renamed`,`copied`]),adds:d(),dels:d(),binary:T(),image:T().optional(),patch:j()});k({files:v(Qa),stat:Za,repointedHead:k({headBranch:j(),taskBranch:j()}).optional()}),k({sha:j(),subject:j(),author:j(),when:j(),files:v(Qa),stat:Za});var $a=k({name:j(),type:y([`dir`,`file`]),size:d().optional()});w(`type`,[k({type:E(`dir`),path:j(),entries:v($a)}),k({type:E(`file`),path:j(),size:d(),binary:T(),tooLarge:T(),content:j().optional()})]);var eo=y([`queued`,`running`,`waiting`,`review`,`done`,`failed`,`cancelled`]);k({worktrees:v(k({runId:j(),title:j(),status:eo,branch:j().nullable(),sizeBytes:d().nullable(),finishedAt:j().nullable(),reclaimable:T(),pastKeep:T()})),totalBytes:d().nullable(),keep:d()}),k({runId:j(),worktreeReclaimedAt:j()}),k({reclaimed:v(j())});var J=class extends Error{status;manual;command;exists;constructor(e,t,n={}){super(t,n.cause===void 0?void 0:{cause:n.cause}),this.name=`ApiError`,this.status=e,this.manual=n.manual,this.command=n.command,this.exists=n.exists}};function to(e){try{return JSON.parse(e)}catch{return}}function no(e){return typeof e==`string`?e:void 0}function Y(e,t,n){let r=to(n),i=r&&typeof r==`object`?r:{};return new J(e,no(i.error)??`${e} ${t||`request failed`}`.trim(),{manual:no(i.manual),command:no(i.command),exists:typeof i.exists==`boolean`?i.exists:void 0})}var X=ta({fetch:(e,t)=>so(ro(String(e)),t)});function ro(e){let n=ao(e.endsWith(`?`)?e.slice(0,-1):e);return n.startsWith(`/`)?`${t()}${n}`:n}var io=`${a}/p/default`;function ao(e){if(o()!==null||!e.startsWith(io))return e;let t=e.slice(io.length);return t===``||t.startsWith(`/`)||t.startsWith(`?`)?`${a}${t}`:e}var Z=e=>({init:{...c({signal:e?.signal})}});async function Q(e,t){let n=await e.text();if(!e.ok)throw Y(e.status,e.statusText,n);let i=to(n);if(i===void 0)throw new J(e.status,`the ${r(`cezar`)} server answered ${t} with a non-JSON body`);return i}async function oo(e,t,n){let i=e.status,a=await Q(e,t),o=n.safeParse(a);if(!o.success)throw new J(i,`the ${r(`cezar`)} server answered ${t} with an unexpected body`);return o.data}async function so(e,t){try{let n=await fetch(e,{...t,credentials:`include`});return n.ok&&t?.method&&![`GET`,`HEAD`].includes(t.method.toUpperCase())&&an(),n}catch(t){throw t instanceof DOMException&&t.name===`AbortError`?t:new J(0,`cannot reach the ${r(`cezar`)} server (${e})`,{cause:t})}}async function co(e,t){return so(s(e),t)}async function lo(e,t={}){let n=new Headers(t.headers);n.set(`accept`,`text/plain`);let r=await co(e,{...t,headers:n}),i=await r.text();if(!r.ok)throw Y(r.status,r.statusText,i);return i}var $=(e,t=``)=>`/runs/${encodeURIComponent(e)}${t}`;async function uo(e){return Q(await X.api.v1.health.$get({},Z(e)),`/health`)}async function fo(e,t){return Q(await X.api.v1.models.$get({query:{runner:e}},Z(t)),`/models`)}async function po(e=!1,t){return xn(await Q(await X.api.v1.providers.status.$get({query:e?{refresh:`1`}:{}},Z(t)),`/providers/status`))}async function mo(e){return Q(await X.api.v1.p[`:projectId`][`launch-key`].$get({param:{projectId:i()}},Z(e)),`/launch-key`)}async function ho(e){return Q(await X.api.v1.projects.$get({},Z(e)),`/projects`)}async function go(e,t){return Q(await X.api.v1.fs.browse.$get({query:{path:e===``?void 0:e,...t?.showHidden?{showHidden:`1`}:{}}},Z(t)),`/fs/browse`)}async function _o(e,t){return Q(await X.api.v1.p[`:projectId`][`run-summaries`].$get({param:{projectId:e.projectId},query:{archived:`recent`}},Z(t)),`/run-summaries`)}async function vo(e,t){let n={...e.before===void 0?{}:{before:e.before},...e.limit===void 0?{}:{limit:e.limit},...e.q?{q:e.q}:{}};return oo(await X.api.v1.p[`:projectId`][`run-summaries`].archived.$get({param:{projectId:i()},query:n},Z(t)),`/run-summaries/archived`,Li)}async function yo(e){return Q(await X.api.v1.workspace[`runs-index`].$get({},Z(e)),`/workspace/runs-index`)}async function bo(e,t){return oo(await X.api.v1.workspace[`runs-search`].$get({query:{q:e}},Z(t)),`/workspace/runs-search`,Ri)}async function xo(e,t){return oo(await X.api.v1.p[`:projectId`].runs[`:id`].relationships.$get({param:{projectId:i(),id:encodeURIComponent(e)},query:{}},Z(t)),`${$(e)}/relationships`,h)}async function So({projectId:e,runId:t},n){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].$get({param:{projectId:e,id:encodeURIComponent(t)}},Z(n)),$(t))}async function Co(e,t,n){return oo(await X.api.v1.p[`:projectId`].runs[`:id`].history.$get({param:{projectId:i(),id:encodeURIComponent(e)},query:{...t===void 0?{}:{cursor:t}}},Z(n)),`${$(e)}/history`,ve)}async function wo(e,t){return oo(await X.api.v1.p[`:projectId`].runs[`:id`][`history-context`].$get({param:{projectId:i(),id:encodeURIComponent(e)}},Z(t)),`${$(e)}/history-context`,he)}async function To(e,t=i()){return Q(await X.api.v1.p[`:projectId`][`ui-state`].$get({param:{projectId:t}},Z(e)),`/ui-state`)}async function Eo(e){return Q(await X.api.v1.p[`:projectId`].workflows.$get({param:{projectId:e?.projectId??i()}},Z(e)),`/workflows`)}async function Do(e){return Q(await X.api.v1.p[`:projectId`].skills.$get({param:{projectId:i()},query:{}},Z(e)),`/skills`)}async function Oo(e){return Q(await X.api.v1.p[`:projectId`].skills.$get({param:{projectId:i()},query:{wait:`1`}},Z(e)),`/skills`)}async function ko(){return Q(await X.api.v1.p[`:projectId`].skills.refresh.$post({param:{projectId:i()}}),`/skills/refresh`)}async function Ao(e){return Q(await X.api.v1.p[`:projectId`].skills.importable.$get({param:{projectId:i()},query:{}},Z(e)),`/skills/importable`)}async function jo(e){return Q(await X.api.v1.p[`:projectId`].skills.importable.$get({param:{projectId:i()},query:{wait:`1`}},Z(e)),`/skills/importable`)}async function Mo(e,t){return Q(await X.api.v1.p[`:projectId`].repo.$get({param:{projectId:t??i()}},Z(e)),`/repo`)}async function No(e,t){return Q(await X.api.v1.p[`:projectId`].repo.branches.$get({param:{projectId:t??i()}},Z(e)),`/repo/branches`)}async function Po(e){return Q(await X.api.v1.p[`:projectId`].repo.branches.delete.$post({param:{projectId:i()},json:e}),`/repo/branches/delete`)}async function Fo(e,t){let n=await X.api.v1.p[`:projectId`].repo.pull.$post({param:{projectId:t??i()},json:e}),a=await n.text(),o=to(a);if(n.status===409){let e=Xa.safeParse(o);if(e.success)return e.data;throw Y(n.status,n.statusText,a)}if(!n.ok)throw Y(n.status,n.statusText,a);if(o===void 0)throw new J(n.status,`the ${r(`cezar`)} server answered /repo/pull with a non-JSON body`);let s=Ya.safeParse(o);if(!s.success)throw new J(n.status,`the ${r(`cezar`)} server answered /repo/pull with an unexpected body`);return s.data}async function Io(e){return Q(await X.api.v1.p[`:projectId`].config.$get({param:{projectId:i()}},Z(e)),`/config`)}async function Lo(e={}){return Q(await X.api.v1.p[`:projectId`][`agent-config`].$get({param:{projectId:i()}},Z(e)),`/agent-config`)}async function Ro(e,t={}){return Q(await X.api.v1.p[`:projectId`][`agent-config`][`:id`].$get({param:{projectId:i(),id:encodeURIComponent(e)}},Z(t)),`/agent-config/${encodeURIComponent(e)}`)}async function zo(e,t){return Q(await X.api.v1.p[`:projectId`][`agent-config`][`:id`].$put({param:{projectId:i(),id:encodeURIComponent(e)},json:t}),`/agent-config/${encodeURIComponent(e)}`)}async function Bo(e){return Q(await X.api.v1.p[`:projectId`].repo.changes.$get({param:{projectId:i()}},Z(e)),`/repo/changes`)}async function Vo(e,t){return Q(await X.api.v1.p[`:projectId`].repo.commit[`:sha`].$get({param:{projectId:t?.projectId??i(),sha:encodeURIComponent(e)},query:{structured:`1`}},Z(t)),`/repo/commit/:sha`)}async function Ho(e,t){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].commits.$get({param:{projectId:i(),id:encodeURIComponent(e)}},Z(t)),$(e,`/commits`))}async function Uo(e,t,n){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].commit[`:sha`].$get({param:{projectId:n?.projectId??i(),id:encodeURIComponent(e),sha:encodeURIComponent(t)}},Z(n)),$(e,`/commit/${encodeURIComponent(t)}`))}async function Wo(e={},t){return Q(await X.api.v1.p[`:projectId`].github.$get({param:{projectId:e.projectId??i()},query:{limit:e.limit===void 0?void 0:String(e.limit),refresh:e.refresh?`1`:void 0,issuesCursor:e.issuesCursor,prsCursor:e.prsCursor,issuesDone:e.issuesDone?`1`:void 0,prsDone:e.prsDone?`1`:void 0}},Z(t)),`/github`)}async function Go(e,t,n={},r){return Q(await X.api.v1.p[`:projectId`].github[`comment-counts`].$get({param:{projectId:i()},query:{kind:e,numbers:t.join(`,`),refresh:n.refresh?`1`:void 0}},Z(r)),`/github/comment-counts`)}async function Ko(e,t){return Q(await X.api.v1.p[`:projectId`].github.projects.$get({param:{projectId:i()},query:{generation:e}},Z(t)),`/github/projects`)}async function qo(e,t){return Q(await X.api.v1.p[`:projectId`].github.checks.$get({param:{projectId:i()},query:{prs:e.join(`,`)}},Z(t)),`/github/checks`)}async function Jo(e,t,n={},r){return Q(await X.api.v1.p[`:projectId`].github.search.$get({param:{projectId:n.projectId??i()},query:{kind:e,q:t,limit:n.limit}},Z(r)),`/github/search`)}async function Yo(e,t,n){return Q(await X.api.v1.p[`:projectId`].github[`ref-status`].$get({param:{projectId:e},query:{...t.prs?.length?{prs:t.prs.join(`,`)}:{},...t.issues?.length?{issues:t.issues.join(`,`)}:{}}},Z(n)),`/github/ref-status`)}async function Xo(e,t,n={},r){return Q(await X.api.v1.p[`:projectId`].github.comments[`:kind`][`:number`].$get({param:{projectId:i(),kind:e,number:String(t)},query:{refresh:n.refresh?`1`:void 0}},Z(r)),`/github/comments/${e}/${t}`)}async function Zo(e,t,n={},r){return Q(await X.api.v1.p[`:projectId`].github.items[`:kind`][`:number`].$get({param:{projectId:r?.projectId??i(),kind:e,number:String(t)},query:{refresh:n.refresh?`1`:void 0}},Z(r)),`/github/items/${e}/${t}`)}async function Qo(e,t={},n){return Q(await X.api.v1.p[`:projectId`].github.prs[`:number`][`merge-state`].$get({param:{projectId:i(),number:String(e)},query:{refresh:t.refresh?`1`:void 0}},Z(n)),`/github/prs/${e}/merge-state`)}async function $o(e,t){return Q(await X.api.v1.p[`:projectId`].github.prs[`:number`].merge.$post({param:{projectId:i(),number:String(e)},json:t}),`/github/prs/:number/merge`)}async function es(e,t={},n){return Q(await X.api.v1.p[`:projectId`].github.prs[`:number`].changes.$get({param:{projectId:i(),number:String(e)},query:{refresh:t.refresh?`1`:void 0}},Z(n)),`/github/prs/${e}/changes`)}function ts(e,t){return lo($(e,`/diff`),{method:`GET`,...c({signal:t?.signal})})}async function ns({projectId:e,runId:t},n){let r=await X.api.v1.p[`:projectId`].runs[`:id`].handoff.$get({param:{projectId:e,id:encodeURIComponent(t)}},{init:{...c({signal:n?.signal})},headers:{accept:`text/plain`}}),i=await r.text();if(!r.ok)throw Y(r.status,r.statusText,i);return i}async function rs(e,t){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].changes.$get({param:{projectId:i(),id:encodeURIComponent(e)}},Z(t)),$(e,`/changes`))}async function is(e,t,n){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].files.$get({param:{projectId:i(),id:encodeURIComponent(e)},query:{path:t}},Z(n)),`/runs/:id/files`)}async function as(e,t,n){return Q(await X.api.v1.p[`:projectId`].runs[`:id`][`file-link`].$get({param:{projectId:i(),id:e},query:{path:t}},Z(n)),`/runs/:id/file-link`)}async function os(e,t){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].artifacts.$get({param:{projectId:i(),id:e}},Z(t)),`/runs/:id/artifacts`)}async function ss(e,t,n){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].artifacts[`:artifactId`].$get({param:{projectId:i(),id:e,artifactId:t}},Z(n)),`/runs/:id/artifacts/:artifactId`)}async function cs(e,t,n){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].artifacts[`:artifactId`].metadata.$get({param:{projectId:i(),id:e,artifactId:t}},Z(n)),`/runs/:id/artifacts/:artifactId/metadata`)}function ls(e,t,n){return s($(e,`/artifacts/${encodeURIComponent(t)}/${n}`))}function us(e,t){return s($(e,`/file-link?path=${encodeURIComponent(t)}&raw=1`))}function ds(e,t){return s($(e,`/files?path=${encodeURIComponent(t)}&raw=1`))}async function fs(e){return Q(await X.api.v1.workspace[`application-update`].apply.$post({json:{}},Z({signal:e})),`/workspace/application-update/apply`)}async function ps(e){return Q(await X.api.v1.workspace[`application-update`].restart.$post({json:{}},Z({signal:e})),`/workspace/application-update/restart`)}async function ms(e,t){return Q(await X.api.v1.providers.connect.$post({json:{provider:e,...t?{profileId:t}:{}}}),`/providers/connect`)}async function hs(e,t){return xn(await Q(await X.api.v1.providers[`:provider`].enabled.$put({param:{provider:e},json:{enabled:t}}),`/providers/${encodeURIComponent(e)}/enabled`))}async function gs(e,t){return xn(await Q(await X.api.v1.providers[`:provider`].retry.$post({param:{provider:e},json:{authFailureId:t}}),`/providers/${encodeURIComponent(e)}/retry`))}async function _s(e){let t=`/projects`,n=await co(t,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({root:e})}),i=await n.text(),a=to(i),o=a?.project;if((n.ok||n.status===409)&&o!=null)return a;throw n.ok?new J(n.status,`the ${r(`cezar`)} server answered ${t} without a project`):Y(n.status,n.statusText,i)}async function vs(e){return Q(await X.api.v1.projects.checkout.$post({json:e}),`/projects/checkout`)}async function ys(e){return Q(await X.api.v1.projects.create.$post({json:e}),`/projects/create`)}async function bs(e){return oo(await X.api.v1.projects[`github-owners`].$get({},Z(e)),`/projects/github-owners`,za)}async function xs(e){return Q(await X.api.v1.projects[`:projectId`].$delete({param:{projectId:encodeURIComponent(e)}}),`/projects/${encodeURIComponent(e)}`)}async function Ss(e,t){return Q(await X.api.v1.projects[`:projectId`].$patch({param:{projectId:encodeURIComponent(e)},json:t}),`/projects/${encodeURIComponent(e)}`)}async function Cs(e,t){return Q(await X.api.v1.projects[`:projectId`].webhooks.$post({param:{projectId:encodeURIComponent(e)},json:t}),`/projects/${encodeURIComponent(e)}/webhooks`)}async function ws(e,t,n){return Q(await X.api.v1.projects[`:projectId`].webhooks[`:webhookId`].$patch({param:{projectId:encodeURIComponent(e),webhookId:encodeURIComponent(t)},json:n}),`/projects/${encodeURIComponent(e)}/webhooks/${encodeURIComponent(t)}`)}async function Ts(e,t){return Q(await X.api.v1.projects[`:projectId`].webhooks[`:webhookId`].$delete({param:{projectId:encodeURIComponent(e),webhookId:encodeURIComponent(t)}}),`/projects/${encodeURIComponent(e)}/webhooks/${encodeURIComponent(t)}`)}async function Es(e,t){return Q(await X.api.v1.projects[`:projectId`].webhooks[`:webhookId`].test.$post({param:{projectId:encodeURIComponent(e),webhookId:encodeURIComponent(t)}}),`/projects/${encodeURIComponent(e)}/webhooks/${encodeURIComponent(t)}/test`)}async function Ds(e,t){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].notify.$post({param:{projectId:i(),id:encodeURIComponent(e)},json:t}),$(e,`/notify`))}async function Os(e){return Q(await X.api.v1.p[`:projectId`].runs.$post({param:{projectId:i()},json:e}),`/runs`)}async function ks(e){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].cancel.$post({param:{projectId:i(),id:encodeURIComponent(e)}}),$(e,`/cancel`))}async function As(e){return Q(await X.api.v1.p[`:projectId`].runs[`:id`][`worker-destroy`].$post({param:{projectId:i(),id:encodeURIComponent(e)},query:{},json:{}}),$(e,`/worker-destroy`))}async function js({projectId:e,runId:t},n=!0){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].archive.$post({param:{projectId:e,id:encodeURIComponent(t)},json:{archived:n}}),$(t,`/archive`))}async function Ms({projectId:e,runId:t},n=!0){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].pin.$post({param:{projectId:e,id:encodeURIComponent(t)},json:{pinned:n}}),$(t,`/pin`))}async function Ns({projectId:e,runId:t},n){let r=n?`read`:`unread`;return Q(await(n?X.api.v1.p[`:projectId`].runs[`:id`].read.$post({param:{projectId:e,id:encodeURIComponent(t)}}):X.api.v1.p[`:projectId`].runs[`:id`].unread.$post({param:{projectId:e,id:encodeURIComponent(t)}})),$(t,`/${r}`))}async function Ps(e){return Q(await X.api.v1.p[`:projectId`].runs[`:id`][`auto-resume`].$delete({param:{projectId:i(),id:encodeURIComponent(e)}}),$(e,`/auto-resume`))}async function Fs({projectId:e},t,n){return Q(await X.api.v1.p[`:projectId`].runs[`archive-finished`].$post({param:{projectId:e},json:{...t?{scope:t}:{},...n===void 0?{}:{automation:n}}}),`/runs/archive-finished`)}async function Is(e){return Q(await X.api.v1.p[`:projectId`].runs[`read-all`].$post({param:{projectId:i()},json:e===void 0?{}:{automation:e}}),`/runs/read-all`)}async function Ls(e){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].finish.$post({param:{projectId:i(),id:encodeURIComponent(e)}}),$(e,`/finish`))}async function Rs({projectId:e,runId:t},n={}){let r={...n.text===void 0?{}:{text:n.text},...n.images===void 0?{}:{images:n.images},...n.runner===void 0?{}:{runner:n.runner},...n.model===void 0?{}:{model:n.model},...n.effort===void 0?{}:{effort:n.effort},...n.agentProfile===void 0?{}:{agentProfile:n.agentProfile}};return Q(await X.api.v1.p[`:projectId`].runs[`:id`].continue.$post({param:{projectId:e,id:encodeURIComponent(t)},json:r}),$(t,`/continue`))}async function zs(e){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].pr.$post({param:{projectId:i(),id:encodeURIComponent(e)}}),$(e,`/pr`))}async function Bs(e,t){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].$patch({param:{projectId:i(),id:encodeURIComponent(e)},json:t}),$(e))}async function Vs(e){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].$delete({param:{projectId:i(),id:encodeURIComponent(e)}}),$(e))}async function Hs(e){return Q(await X.api.v1.p[`:projectId`].runs[`:id`][`open-in-cli`].$post({param:{projectId:i(),id:encodeURIComponent(e)}}),$(e,`/open-in-cli`))}async function Us(e){return Q(await X.api.v1.p[`:projectId`][`open-targets`].$get({param:{projectId:i()}},Z(e)),`/open-targets`)}async function Ws(e,t=i()){return Q(await X.api.v1.p[`:projectId`][`open-in`].$post({param:{projectId:t},json:{target:e}}),`/open-in`)}async function Gs(e,t){return Q(await X.api.v1.p[`:projectId`].runs[`:id`][`open-in`].$post({param:{projectId:i(),id:encodeURIComponent(e)},json:{target:t}}),$(e,`/open-in`))}async function Ks(e,t){return Q(await X.api.v1.p[`:projectId`].runs[`:id`][`open-in`].$post({param:{projectId:i(),id:encodeURIComponent(e)},json:{target:`default`,path:t}}),$(e,`/open-in`))}async function qs(e,t){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].git.commit.$post({param:{projectId:i(),id:encodeURIComponent(e)},json:{message:t}}),$(e,`/git/commit`))}async function Js(e){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].git.push.$post({param:{projectId:i(),id:encodeURIComponent(e)}}),$(e,`/git/push`))}async function Ys(e,t){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].permissions.$post({param:{projectId:i(),id:encodeURIComponent(e)},json:t}),$(e,`/permissions`))}async function Xs({projectId:e,runId:t},n){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].messages.$post({param:{projectId:e,id:encodeURIComponent(t)},json:{text:n.text??``,images:n.images??[]}}),$(t,`/messages`))}async function Zs(e,t,n){return Q(await X.api.v1.p[`:projectId`].runs[`:id`][`queued-messages`][`:msgId`].$patch({param:{projectId:i(),id:encodeURIComponent(e),msgId:encodeURIComponent(t)},json:n}),$(e,`/queued-messages/${encodeURIComponent(t)}`))}async function Qs(e,t){return Q(await X.api.v1.p[`:projectId`].runs[`:id`][`queued-messages`][`:msgId`].$delete({param:{projectId:i(),id:encodeURIComponent(e),msgId:encodeURIComponent(t)}}),$(e,`/queued-messages/${encodeURIComponent(t)}`))}async function $s(e,t){return Q(await X.api.v1.p[`:projectId`].repo.branch.$post({param:{projectId:t??i()},json:e}),`/repo/branch`)}async function ec(e){return Q(await X.api.v1.p[`:projectId`].plan.$post({param:{projectId:i()},json:{task:e}}),`/plan`)}async function tc(e){return Q(await X.api.v1.p[`:projectId`].automations.$get({param:{projectId:e?.projectId??i()},query:e?.archived?{archived:e.archived}:{}},Z(e)),`/automations`)}async function nc(e){return Q(await X.api.v1.p[`:projectId`].automations.$post({param:{projectId:i()},json:e}),`/automations`)}async function rc(e,t){return Q(await X.api.v1.p[`:projectId`].automations[`:id`].$put({param:{projectId:i(),id:encodeURIComponent(e)},json:t}),`/automations/${encodeURIComponent(e)}`)}async function ic(e,t){let n={projectId:i(),id:encodeURIComponent(e)},r=`/automations/${encodeURIComponent(e)}/${t?`enable`:`pause`}`;return Q(t?await X.api.v1.p[`:projectId`].automations[`:id`].enable.$post({param:n}):await X.api.v1.p[`:projectId`].automations[`:id`].pause.$post({param:n}),r)}async function ac(e,t){return Q(await X.api.v1.p[`:projectId`].automations[`:id`].check.$post({param:{projectId:i(),id:encodeURIComponent(e)},json:{mode:t}}),`/automations/${encodeURIComponent(e)}/check`)}async function oc(e){return Q(await X.api.v1.p[`:projectId`].automations[`:id`].cancel.$post({param:{projectId:i(),id:encodeURIComponent(e)}}),`/automations/${encodeURIComponent(e)}/cancel`)}async function sc(e){let t=await X.api.v1.p[`:projectId`].automations[`:id`].$delete({param:{projectId:i(),id:encodeURIComponent(e)}});if(!t.ok)throw Y(t.status,t.statusText,await t.text())}async function cc(e){return Q(await X.api.v1.p[`:projectId`].automations[`:id`].run.$post({param:{projectId:i(),id:encodeURIComponent(e)}}),`/automations/${encodeURIComponent(e)}/run`)}async function lc(e){return Q(await X.api.v1.p[`:projectId`][`automation-log`][`:receiptId`].retry.$post({param:{projectId:i(),receiptId:encodeURIComponent(e)}}),`/automation-log/${encodeURIComponent(e)}/retry`)}async function uc(e,t){return Q(await X.api.v1[`automation-checks`][`:checkId`].$get({param:{checkId:encodeURIComponent(e)}},Z(t)),`/automation-checks/${encodeURIComponent(e)}`)}async function dc(e,t){return Q(await X.api.v1.p[`:projectId`][`automation-log`].$get({param:{projectId:i()},query:{automationId:e}},Z(t)),`/automation-log?automationId=${encodeURIComponent(e)}`)}async function fc(e){return Q(await X.api.v1.p[`:projectId`].workflows.$post({param:{projectId:i()},json:e}),`/workflows`)}async function pc(e){return Q(await X.api.v1.p[`:projectId`].workflows.parse.$post({param:{projectId:i()},json:{yaml:e}}),`/workflows/parse`)}async function mc(e){return Q(await X.api.v1.p[`:projectId`].workflows[`:name`].$delete({param:{projectId:i(),name:encodeURIComponent(e)}}),`/workflows/${encodeURIComponent(e)}`)}async function hc(e,t=i()){return Q(await X.api.v1.p[`:projectId`][`ui-state`].$put({param:{projectId:t},json:e}),`/ui-state`)}async function gc(e){return Q(await X.api.v1.workspace[`ui-state`].$get({},Z(e)),`/workspace/ui-state`)}async function _c(e,t={}){return Q(await X.api.v1.workspace[`ui-state`].$put({json:e},{init:{...c({keepalive:t.keepalive})}}),`/workspace/ui-state`)}async function vc(e){let t=await Q(await X.api.v1.workspace.config.$get({},Z(e)),`/workspace/config`);return{...t,agentDefaults:t.agentDefaults??{}}}async function yc(e){let t=await Q(await X.api.v1.workspace[`agent-profiles`].$get({},Z(e)),`/workspace/agent-profiles`);return{...t,profileCapableProviders:t.profileCapableProviders??[],selections:t.selections??{},defaults:t.defaults??{},profiles:(t.profiles??[]).map(e=>({...e,files:e.files??[]}))}}async function bc(e){return Q(await X.api.v1.workspace[`agent-profiles`].$post({json:e}),`/workspace/agent-profiles`)}async function xc(e,t){return Q(await X.api.v1.workspace[`agent-profiles`][`:id`].status.$get({param:{id:encodeURIComponent(e)},query:t?.refresh?{refresh:`1`}:{}},Z(t)),`/workspace/agent-profiles/${encodeURIComponent(e)}/status`)}async function Sc(e,t){return Q(await X.api.v1.workspace[`agent-profiles`][`:id`].details.$get({param:{id:encodeURIComponent(e)}},Z(t)),`/workspace/agent-profiles/${encodeURIComponent(e)}/details`)}async function Cc(e,t){return Q(await X.api.v1.workspace[`agent-profiles`][`:id`].open.$post({param:{id:encodeURIComponent(e)},json:t}),`/workspace/agent-profiles/${encodeURIComponent(e)}/open`)}async function wc(e){return Q(await X.api.v1.workspace[`agent-profiles`].selection.$put({json:e}),`/workspace/agent-profiles/selection`)}async function Tc(e,t){return Q(await X.api.v1.workspace[`agent-profiles`][`:id`].$patch({param:{id:encodeURIComponent(e)},json:t}),`/workspace/agent-profiles/${encodeURIComponent(e)}`)}async function Ec(e){return Q(await X.api.v1.workspace[`agent-profiles`][`:id`].$delete({param:{id:encodeURIComponent(e)}}),`/workspace/agent-profiles/${encodeURIComponent(e)}`)}async function Dc(e){return Q(await X.api.v1.workspace.config.$put({json:e}),`/workspace/config`)}async function Oc(e,t){return Q(await X.api.v1.p[`:projectId`].config.$put({param:{projectId:t??i()},json:e}),`/config`)}async function kc(e,t){return Q(await X.api.v1.p[`:projectId`].worktrees.$get({param:{projectId:t??i()}},Z(e)),`/worktrees`)}async function Ac(){return Q(await X.api.v1.p[`:projectId`].worktrees.reclaim.$post({param:{projectId:i()},json:{}}),`/worktrees/reclaim`)}async function jc(e){return Q(await X.api.v1.p[`:projectId`].worktrees[`:runId`].reclaim.$post({param:{projectId:i(),runId:encodeURIComponent(e)}}),`/worktrees/${encodeURIComponent(e)}/reclaim`)}async function Mc(e,t){return Q(await X.api.v1.projects.checkout[`:checkoutId`].progress.$get({param:{checkoutId:e}},Z(t)),`/projects/checkout/progress`)}async function Nc(e,t){return Q(await X.api.v1.p[`:projectId`].voice.decide.$post({param:{projectId:i()},json:e},Z({signal:t})),`/voice/decide`)}function Pc(e,t){(async()=>{await X.api.v1.p[`:projectId`].voice.outcome.$post({param:{projectId:i()},json:{decisionId:e,outcome:t}})})().catch(()=>{})}var Fc={projectId:null,apiBase:a},Ic=(0,L.createContext)(Fc);function Lc(){return(0,L.useContext)(Ic)}function Rc({projectId:e,children:t}){o()!==e&&n(e),(0,L.useLayoutEffect)(()=>{n(e)},[e]),(0,L.useLayoutEffect)(()=>()=>n(null),[]);let r=(0,L.useMemo)(()=>e===null?Fc:{projectId:e,apiBase:`${a}/p/${encodeURIComponent(e)}`},[e]);return(0,ht.jsx)(Ic.Provider,{value:r,children:t})}export{Go as $,_i as $n,Qe as $r,Js as $t,Vs as A,ws as An,un as Ar,_o as At,yc as B,va as Bn,At as Br,Is as Bt,$s as C,hs as Cn,En as Cr,ts as Ct,Ys as D,Tc as Dn,sn as Dr,wo as Dt,fc as E,Q as En,on as Er,Co as Et,Ls as F,xa as Fn,Kt as Fr,Eo as Ft,uc as G,Vi as Gn,Ct as Gr,Ks as Gt,ss as H,_a as Hn,wt as Hr,Ds as Ht,Sc as I,ba as In,qt as Ir,vc as It,Mc as J,Ii as Jn,_t as Jr,pc as Jt,dc as K,Fi as Kn,bt as Kr,Gs as Kt,xc as L,na as Ln,Lt as Lr,gc as Lt,As as M,Ca as Mn,rn as Mr,Do as Mt,Zs as N,Sa as Nn,dn as Nr,Oo as Nt,sc as O,rc as On,Yt as Or,xo as Ot,us as P,wa as Pn,R as Pr,To as Pt,qo as Q,Bi as Qn,rt as Qr,Fo as Qt,Lo as R,ra as Rn,jt as Rr,kc as Rt,Cs as S,ic as Sn,xn as Sr,Ho as St,zs as T,Es as Tn,nn as Tr,ns as Tt,cs as U,oa as Un,Et as Ur,Cc as Ut,vo as V,q as Vn,kt as Vr,$o as Vt,os as W,da as Wn,Tt as Wr,Ws as Wt,as as X,bi as Xn,it as Xr,Ms as Xt,Io as Y,Pi as Yn,ct as Yr,Bs as Yt,Wo as Z,Ni as Zn,nt as Zr,ec as Zt,ms as _,cc as _n,V as _r,Bo as _t,fs as a,Re as ai,jc as an,Zr as ar,Ko as at,nc as b,wc as bn,Cn as br,rs as bt,ls as c,P as ci,_s as cn,vr as cr,uo as ct,oc as d,F as di,Ts as dn,er as dr,mo as dt,Ze as ei,zo as en,gi as er,Xo as et,ks as f,Me as fi,Qs as fn,$n as fr,Us as ft,qs as g,ye as gi,gs as gn,Xn as gr,No as gt,vs as h,be as hi,lc as hn,Hn as hr,Mo as ht,J as i,De as ii,_c as in,li as ir,Qo as it,mc as j,Nc as jn,ln as jr,yo as jt,Po as k,Ss as kn,cn as kr,fo as kt,go as l,ke as li,Ec as ln,lr,Ao as lt,ac as m,Ve as mi,ps as mn,Qn as mr,po as mt,Rc as n,Se as ni,hc as nn,pi as nr,bs as nt,Fs as o,Ee as oi,Ac as on,ai as or,Yo as ot,X as p,Ue as pi,Pc as pn,nr as pr,ho as pt,tc as q,Oi as qn,vt as qr,Hs as qt,Lc as r,Oe as ri,Dc as rn,ri as rr,es as rt,js as s,Te as si,ko as sn,oi as sr,Jo as st,Ic as t,qe as ti,Oc as tn,fi as tr,Zo as tt,Ps as u,je as ui,xs as un,ar as ur,jo as ut,Rs as v,ds as vn,Vn as vr,Vo as vt,Os as w,Ns as wn,Tn as wr,is as wt,ys as x,Xs as xn,yn as xr,Uo as xt,bc as y,bo as yn,Sn as yr,So as yt,Ro as z,ya as zn,Dt as zr,Z as zt};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{C as t,I as n,M as r,T as i,t as a}from"./button-CHUAMTHK.js";import{i as o,t as s}from"./react-runtime-CCIEwYL0.js";import{Dr as c,En as l,Jr as u,Xn as d,kr as f,p,zt as m}from"./project-scope-context-B3M-u8R0.js";import{$ as h,J as g,X as _,Z as v,ct as y,et as b,rt as x,st as S}from"./live-protocol-BVn0UA_g.js";import{t as C}from"./useInfiniteQuery-BbYMWe23.js";import{n as w,t as T}from"./ws-BtSVmivO.js";import{t as E}from"./project-router-MMOk9VbW.js";import{rn as D,yt as O}from"./index-FoxgrgAH.js";import{t as k}from"./report-title-D4Mbu2Er.js";var A=e(o(),1),j=1e3,M=x().min(1).max(1024);b({q:x().max(j).optional(),before:M.optional(),limit:x().regex(/^(?:[1-9]|[1-9][0-9]|100)$/).transform(Number).optional()}).strict();var N=b({reports:g(b({id:S(),runId:S(),name:x(),title:x(),createdAt:y(),size:h().int().nonnegative(),taskTitle:x(),taskStatus:d}).strict()),nextCursor:M.nullable(),total:h().int().nonnegative()}).strict(),P=b({epoch:S(),generation:h().int().nonnegative(),metadataGeneration:h().int().nonnegative()}).strict(),F=b({runId:S(),taskTitle:x(),taskStatus:d}).strict(),I=_(`type`,[P.extend({type:v(`snapshot`)}),P.extend({type:v(`content`)}),P.extend({type:v(`metadata`),runs:g(F)})]),L=new WeakMap;function R(e,t){if(!e)return{content:t.type===`content`,metadata:t.type===`metadata`,reset:!1};if(e.epoch!==t.epoch)return{content:!0,metadata:!0,reset:!0};if(!(t.generation<e.generation||t.metadataGeneration<e.metadataGeneration)&&!(e.generation===t.generation&&e.metadataGeneration===t.metadataGeneration))return{content:t.generation!==e.generation,metadata:t.metadataGeneration!==e.metadataGeneration,reset:!1}}var z=class{client;project;state;content=0;metadata=0;patches=new Map;trailing=new Set;flights=new Map;constructor(e,t){this.client=e,this.project=t,e.getQueryCache().subscribe(n=>{if(n.type===`removed`){this.trailing.delete(n.query),this.flights.delete(n.query);return}if(!(n.query.queryKey[0]!==t||n.query.queryKey[1]!==`reports`)){if(n.type===`updated`&&n.action.type===`fetch`&&this.flights.set(n.query,this.metadata),n.query.state.fetchStatus===`idle`&&this.flights.has(n.query)){let e=this.flights.get(n.query);this.flights.delete(n.query),e!==this.metadata&&String(n.query.queryKey[2]??``).trim()===``&&this.client.setQueryData(n.query.queryKey,t=>t&&{...t,pages:t.pages.map(t=>this.patch(t,e))})}!this.trailing.has(n.query)||n.query.state.fetchStatus!==`idle`||(this.trailing.delete(n.query),queueMicrotask(()=>{e.invalidateQueries({queryKey:n.query.queryKey,exact:!0,refetchType:`active`},{cancelRefetch:!1})}))}})}patch(e,t=-1){return{...e,reports:e.reports.map(e=>{let n=this.patches.get(e.runId);return n&&n.version>t?{...e,taskTitle:n.value.taskTitle,taskStatus:n.value.taskStatus}:e})}}async read(e,t){for(;;){let n=this.content,r=this.metadata,i=await t();if(!(n!==this.content||e.trim()!==``&&r!==this.metadata))return e.trim()===``?this.patch(i,r):i}}receive(e,t=!1){let n=this.state;if(!n&&e.type===`snapshot`){this.state=e,this.content++,this.client.getQueryCache().findAll({queryKey:[this.project,`reports`]}).some(e=>e.state.data!==void 0)&&this.invalidate(!0);return}let r=R(n,e);if(!r){t&&e.type===`snapshot`&&(this.content++,this.invalidate(!0));return}let{metadata:i,reset:a}=r,o=r.content||t&&e.type===`snapshot`;this.state=e,a&&this.patches.clear(),i&&this.metadata++,o&&this.content++,e.type===`metadata`&&!a&&this.patchCaches(e);let s=o||i&&e.type!==`metadata`;(s||i)&&this.invalidate(s)}patchCaches(e){for(let t of e.runs)this.patches.set(t.runId,{value:t,version:this.metadata});this.client.setQueriesData({queryKey:[this.project,`reports`],predicate:e=>String(e.queryKey[2]??``).trim()===``},e=>e&&{...e,pages:e.pages.map(e=>this.patch(e,this.metadata-1))})}invalidate(e){let t={queryKey:[this.project,`reports`],refetchType:`active`,...e?{}:{predicate:e=>String(e.queryKey[2]??``).trim()!==``}};for(let e of this.client.getQueryCache().findAll(t))e.state.fetchStatus===`fetching`&&this.trailing.add(e);this.client.invalidateQueries(t,{cancelRefetch:!1})}};function B(e,t){let n=L.get(e);n||(n=new Map,L.set(e,n));let r=n.get(t);return r||(r=new z(e,t),n.set(t,r)),r}async function V(e,t){let n=await p.api.v1.p[`:projectId`].reports.state.$get({param:{projectId:e}},m({signal:t}));return P.parse(await l(n,`/reports/state`))}function H(e){let t=B(u(),e);return(0,A.useEffect)(()=>{let n=T(`reports:project:${e}`,e=>{let n=I.safeParse(e);n.success&&t.receive(n.data,n.data.type===`snapshot`)}),r,i,a=()=>{if(c()===`finite`&&!r){i=new AbortController;let n=i.signal;V(e,n).then(e=>{n.aborted||t.receive({type:`snapshot`,...e})}).catch(()=>void 0),r=w({path:`/api/v1/p/${encodeURIComponent(e)}/reports/state`,intervalMs:5e3},(e,n)=>{let r=P.safeParse(e);!n&&r.success&&t.receive({type:`snapshot`,...r.data})})}else c()!==`finite`&&(i?.abort(),r?.(),r=void 0)};a();let o=f(a);return()=>{o(),i?.abort(),r?.(),n()}},[t,e]),t}async function U(e,t,n,r){let i=await p.api.v1.p[`:projectId`].reports.$get({param:{projectId:e},query:{q:t.slice(0,j),...n?{before:n}:{}}},m(r?{signal:r}:void 0));return N.parse(await l(i,`/reports`))}function W(e){let t=r(),n=H(t);return C({queryKey:[t,`reports`,e],initialPageParam:void 0,queryFn:({pageParam:r,signal:i})=>n.read(e,()=>U(t,e,r,i)),getNextPageParam:e=>e.nextCursor??void 0,staleTime:0,refetchOnWindowFocus:!0})}var G=s(),K=new Map;function q(){let e=t(),r=i(),[o,s]=O(),c=(o.get(`q`)??``).slice(0,j),l=W(c),u=(0,A.useRef)(null),d=(0,A.useRef)(``),f=e.pathname+e.search,p=l.data?.pages.flatMap(e=>e.reports)??[];(0,A.useLayoutEffect)(()=>{if(!l.data||d.current===f)return;let t=K.get(f),n=e.state?.filesRestoreKey===f;if(!t||!u.current||r!==`POP`&&!n){d.current=f;return}let i=u.current.querySelector(`[data-report-id="${t.row}"]`);if(l.isFetchNextPageError){d.current=f,u.current.scrollTop=0;return}if((!i||l.data.pages.length<t.pages)&&l.hasNextPage){l.isFetchingNextPage||l.fetchNextPage();return}d.current=f,u.current.scrollTop=i?t.scroll:0,i?.focus({preventScroll:!0})},[f,l.data,l.hasNextPage,l.isFetchingNextPage,l.isFetchNextPageError,l.fetchNextPage,e.state,r]);let m=t=>s(n=>(t?n.set(`q`,t.slice(0,j)):n.delete(`q`),K.delete(e.pathname+`?`+n.toString()),n));return(0,G.jsxs)(`section`,{"data-route":`reports`,className:`flex h-full min-h-0 flex-col`,children:[(0,G.jsxs)(`header`,{className:`flex shrink-0 flex-col gap-3 border-b border-border p-4`,children:[(0,G.jsx)(`h1`,{className:`text-lg font-semibold`,children:`Reports`}),(0,G.jsx)(D,{maxLength:j,"aria-label":`Search reports`,placeholder:`Search reports or source tasks`,value:c,onChange:e=>m(e.target.value),className:`min-h-11`})]}),(0,G.jsxs)(`div`,{ref:u,"data-slot":`reports-list`,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain p-4 [scrollbar-gutter:stable]`,children:[l.isPending?(0,G.jsx)(`p`,{role:`status`,children:`Loading reports…`}):l.isError?(0,G.jsxs)(`div`,{role:`alert`,className:`flex flex-col items-start gap-3`,children:[(0,G.jsx)(`p`,{children:`Could not load reports`}),(0,G.jsx)(`p`,{className:`text-sm text-soft-foreground`,children:l.error.message}),(0,G.jsx)(a,{className:`min-h-11`,onClick:()=>void l.refetch(),children:`Retry`})]}):p.length===0?(0,G.jsxs)(`div`,{className:`flex flex-col items-start gap-3`,children:[(0,G.jsx)(`h2`,{className:`font-medium`,children:c?`No matching reports`:`No published reports yet`}),c?(0,G.jsx)(a,{"data-slot":`reports-clear-search`,variant:`outline`,className:`min-h-11`,onClick:()=>m(``),children:`Clear search`}):(0,G.jsxs)(`p`,{className:`text-sm text-soft-foreground`,children:[`Publish an HTML snapshot with `,(0,G.jsxs)(`code`,{children:[n(),` artifact publish`]}),` to list it here.`]})]}):(0,G.jsx)(`ul`,{className:`flex flex-col gap-3`,children:p.map(e=>(0,G.jsxs)(`li`,{"data-slot":`report-row`,className:`reports-row rounded-lg border border-border bg-card p-3`,children:[(0,G.jsx)(`h2`,{className:`min-w-0 font-medium [overflow-wrap:anywhere]`,children:(0,G.jsx)(E,{"data-report-id":e.id,className:`reports-open`,to:`/tasks/${e.runId}/report?artifact=${e.id}`,state:{readerFrom:f,filesRestoreKey:f},onClick:()=>K.set(f,{scroll:u.current?.scrollTop??0,row:e.id,pages:l.data?.pages.length??1}),children:k(e)})}),(0,G.jsx)(E,{className:`reports-task text-sm text-accent-text underline [overflow-wrap:anywhere]`,to:`/tasks/${e.runId}`,children:e.taskTitle}),(0,G.jsx)(`time`,{className:`block text-xs text-soft-foreground`,dateTime:e.createdAt,children:new Date(e.createdAt).toLocaleString()})]},e.id))}),l.hasNextPage?(0,G.jsx)(a,{variant:`outline`,className:`min-h-11`,disabled:l.isFetchingNextPage,onClick:()=>void l.fetchNextPage(),children:`Load more reports`}):null]})]})}export{q as ReportsRoute};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{D as t,I as n,L as r,M as i,t as a,u as o}from"./button-CHUAMTHK.js";import{i as s,t as c}from"./react-runtime-CCIEwYL0.js";import{En as l,Jr as u,nn as d,p as f,sn as p,zt as m}from"./project-scope-context-B3M-u8R0.js";import{$ as h,J as g,K as _,X as ee,Y as v,Z as y,et as b,rt as x,z as S}from"./live-protocol-BVn0UA_g.js";import{I as te,Rt as ne,Un as C,Z as w,jt as re,n as T}from"./queries-DORTKwyN.js";import{t as ie}from"./useQuery-CqqnAJvu.js";import{n as E}from"./toaster-B1MyeHiE.js";import{S as ae,x as oe,y as se}from"./github-sidebar-model-B0Ufci5S.js";import{G as ce,Q as le,Z as D,ct as O,d as ue,ht as de,l as fe,mt as pe,u as me}from"./design-icons-DmYTv2r1.js";import{t as k}from"./project-router-MMOk9VbW.js";import{t as he}from"./centered-state-DGyy0SuA.js";import{c as ge,i as _e,o as ve,p as ye}from"./skills-DFBiAuJG.js";/* empty css */import{et as be,rn as A}from"./index-FoxgrgAH.js";import{t as xe}from"./skill-empty-hint-YDmkqgo-.js";var j=e(s(),1),M=`owner/name, an https, ssh or git URL, git@host:path, or a local or file:// path`,Se=new Set([`https`,`http`,`ssh`,`git`,`file`]);function N(e){let t=e.trim();if(!t||t.startsWith(`-`)||t.includes(`::`))return null;if(t.startsWith(`~/`))return`home`;if(/^(\/|\.\/|\.\.\/)/.test(t)||/^[A-Za-z]:[\\/]/.test(t))return`local`;if(/^[\w.-]+\/[\w.-]+$/.test(t))return`github`;let n=/^([a-z][a-z0-9+.-]*):\/\//i.exec(t);return n?Se.has(n[1].toLowerCase())?`url`:null:/^[\w.-]+@[\w.-]+:/.test(t)?`scp`:null}function P(e){return e.length>0&&e.length<=256&&!e.startsWith(`-`)&&!e.includes(`..`)&&/^[A-Za-z0-9._/-]+$/.test(e)}var Ce=x().trim().min(1).max(500).refine(e=>N(e)!==null,{message:`Use ${M}.`}),we=x().trim().refine(P,{message:`Use a branch, tag or commit SHA, such as main.`}),Te=b({repo:x().min(1).max(500),ref:x().min(1).max(256)}).strict();b({repo:Ce,ref:we.optional()}).strict(),Te.extend({enabled:v()}).strict();var Ee=_([`refused-format`,`fetch-failed`,`ref-not-found`]),De=ee(`state`,[b({state:y(`idle`)}),b({state:y(`loading`)}),b({state:y(`ok`),skillCount:h().int().min(0)}),b({state:y(`error`),cause:Ee,detail:x(),skillCount:h().int().min(0)})]);b({sources:g(b({repo:x(),ref:x(),enabled:v(),status:De})),editable:v(),configIssue:x().nullable()});var F=()=>[i(),`skills`,`sources`];async function Oe(e){return l(await f.api.v1.p[`:projectId`].skills.sources.$get({param:{projectId:i()}},m(e)),`/skills/sources`)}async function ke(e){return l(await f.api.v1.p[`:projectId`].skills.sources.$post({param:{projectId:i()},json:e}),`/skills/sources`)}async function Ae(e){return l(await f.api.v1.p[`:projectId`].skills.sources.$patch({param:{projectId:i()},json:e}),`/skills/sources`)}async function je(e){return l(await f.api.v1.p[`:projectId`].skills.sources.$delete({param:{projectId:i()},json:e}),`/skills/sources`)}async function Me(e){return l(await f.api.v1.p[`:projectId`].skills.sources.retry.$post({param:{projectId:i()},json:e}),`/skills/sources/retry`)}var I=c(),Ne=1e3,L=e=>`${e.repo} @ ${e.ref}`;function Pe(){return ie({queryKey:F(),queryFn:({signal:e})=>Oe({signal:e}),refetchInterval:e=>e.state.data?.sources.some(e=>e.status.state===`loading`)?Ne:!1})}function R(){return{sources:F(),lists:[T.skills,T.skillsReady,T.importableSkills,T.importableSkillsReady]}}function z(e,t=R()){for(let n of t.lists)e.invalidateQueries({queryKey:n,exact:!0})}function B(e,t){let n=u();return C({mutationFn:async t=>{let n=R();return{answer:await e(t),keys:n}},onSuccess:({answer:e,keys:r},i)=>{n.setQueryData(r.sources,e),n.invalidateQueries({queryKey:r.sources,exact:!0}),z(n,r),t?.(i)},onError:e=>E(e.message,{tone:`danger`})})}function Fe(e){let t=u(),n=(0,j.useRef)(!1),r=e?.sources.some(e=>e.status.state===`loading`)??!1;(0,j.useEffect)(()=>{n.current&&!r&&z(t),n.current=r},[r,t])}function Ie(){let e=Pe();Fe(e.data);let t=B(Ae),i=B(je,e=>E(`Removed ${L(e)}. Add it again to restore its skill switches.`)),o=B(Me),s=e.data,c=s?.editable===!0&&s.configIssue===null,l=t.isPending||i.isPending;return(0,I.jsxs)(`section`,{"data-slot":`skill-sources`,"aria-labelledby":`skill-sources-heading`,className:`flex min-w-0 flex-col gap-3 rounded-xl border border-border bg-card p-3 @min-[520px]:p-4`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`h2`,{id:`skill-sources-heading`,className:`text-[15px] font-semibold`,children:`Team skill sources`}),(0,I.jsxs)(`p`,{className:`mt-1 text-xs leading-relaxed text-muted-foreground`,children:[`Repos whose skills this project can use. Changes are saved to`,` `,(0,I.jsx)(`span`,{className:`font-mono`,children:`.ai/cezar/config.json`}),`.`]})]}),e.isError?(0,I.jsxs)(V,{slot:`skill-sources-error`,alert:!0,children:[`Could not load the team skill sources: `,e.error.message,` `,(0,I.jsx)(a,{type:`button`,variant:`outline`,size:`sm`,className:`mt-2 min-h-11`,disabled:e.isFetching,onClick:()=>void e.refetch(),children:`Retry`})]}):null,s?.configIssue?(0,I.jsx)(V,{slot:`skill-sources-config-issue`,alert:!0,children:s.configIssue}):null,s&&!s.editable?(0,I.jsxs)(V,{slot:`skill-sources-read-only`,children:[`Sources are read-only on this remote cockpit. To edit them here, run`,` `,(0,I.jsxs)(`span`,{className:`font-mono`,children:[n(),` remote-settings enable`]}),` on the machine running `,r(`cezar`),`.`]}):null,e.isPending?(0,I.jsx)(`p`,{role:`status`,"aria-busy":`true`,className:`text-xs text-muted-foreground`,children:`Loading sources…`}):s&&s.configIssue===null&&s.sources.length===0?(0,I.jsx)(`p`,{"data-slot":`skill-sources-empty`,className:`text-xs leading-relaxed text-soft-foreground`,children:`No team skill sources yet. Add a repo below to use its skills in this project.`}):s&&s.sources.length>0?(0,I.jsx)(`ul`,{"data-slot":`skill-source-list`,className:`flex flex-col divide-y divide-border rounded-lg border border-border`,children:s.sources.map(e=>(0,I.jsx)(Le,{source:e,editable:c,busy:l,retrying:o.isPending,onToggle:()=>t.mutate({repo:e.repo,ref:e.ref,enabled:!e.enabled}),onRemove:()=>i.mutate({repo:e.repo,ref:e.ref}),onRetry:()=>o.mutate({repo:e.repo,ref:e.ref})},JSON.stringify([e.repo,e.ref])))}):null,s?(0,I.jsx)(Ve,{disabled:!c}):null]})}function V({slot:e,alert:t=!1,children:n}){return(0,I.jsxs)(`div`,{role:t?`alert`:void 0,"data-slot":e,className:`flex items-start gap-2 rounded-lg border border-border bg-background p-3 text-xs leading-relaxed text-muted-foreground`,children:[t?(0,I.jsx)(O,{"aria-hidden":`true`,className:`mt-0.5 size-4 shrink-0 text-danger`}):null,(0,I.jsx)(`div`,{className:`min-w-0 break-words`,children:n})]})}function Le({source:e,editable:t,busy:n,retrying:r,onToggle:i,onRemove:o,onRetry:s}){let c=(0,j.useId)(),l=Re(e),u=e.status.state===`error`,d=e.enabled&&(u||e.status.state===`idle`);return(0,I.jsxs)(`li`,{"data-slot":`skill-source`,"data-repo":e.repo,"data-ref":e.ref,"data-state":e.enabled?e.status.state:`disabled`,className:`flex flex-col gap-2 p-2.5 @min-[520px]:flex-row @min-[520px]:items-center`,children:[(0,I.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,I.jsxs)(`p`,{className:`break-all font-mono text-[13px] text-foreground`,children:[e.repo,` `,(0,I.jsxs)(`span`,{className:`text-muted-foreground`,children:[`@ `,e.ref]})]}),(0,I.jsx)(`p`,{id:c,"data-slot":`skill-source-status`,role:u?`alert`:void 0,"aria-live":u?void 0:`polite`,className:u?`mt-1 text-xs leading-relaxed text-danger`:`mt-1 text-xs leading-relaxed text-muted-foreground`,children:l})]}),(0,I.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[d?(0,I.jsxs)(a,{type:`button`,variant:`outline`,size:`sm`,"data-slot":`skill-source-retry`,className:`min-h-11`,disabled:!t||r,"aria-label":`Retry ${L(e)}`,onClick:s,children:[(0,I.jsx)(D,{"aria-hidden":`true`}),`Retry`]}):null,(0,I.jsx)(`span`,{className:`inline-flex min-h-11 min-w-11 items-center justify-center`,children:(0,I.jsx)(ae,{"data-slot":`skill-source-switch`,"aria-label":`Enable ${L(e)}`,"aria-describedby":c,checked:e.enabled,disabled:!t||n,onCheckedChange:i,className:`relative before:absolute before:-inset-x-1 before:-inset-y-2.5 before:content-['']`})}),(0,I.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,"data-slot":`skill-source-remove`,className:`size-11`,disabled:!t||n,"aria-label":`Remove ${L(e)}`,onClick:o,children:(0,I.jsx)(pe,{"aria-hidden":`true`})})]})]})}function Re(e){if(!e.enabled)return`Disabled. Its skills are hidden from the catalog and from tasks.`;let t=e.status;switch(t.state){case`loading`:return`Fetching…`;case`idle`:return`Not fetched yet. Use Retry to fetch it now.`;case`ok`:return t.skillCount===1?`1 skill`:`${t.skillCount} skills`;case`error`:{let e=t.skillCount>0?` Skills from an earlier fetch still show.`:``;return t.cause===`refused-format`?`${r(`cezar`)} does not accept this repo format. Remove it, then add it as ${M}.`:t.cause===`ref-not-found`?`${t.detail} Check the ref, or remove the source and add it with another ref.${e}`:`Could not fetch: ${ze(t.detail)} Check the network and your access to the repo, then Retry.${e}`}}}var ze=e=>/[.!?]$/.test(e.trim())?e.trim():`${e.trim()}.`;function Be(e,t){return e.trim()?N(e)===null?`Use ${M}.`:t.trim()&&!P(t.trim())?`Use a branch, tag or commit SHA for the ref, such as main.`:null:`Enter a repo.`}function Ve({disabled:e}){let[t,n]=(0,j.useState)(``),[r,i]=(0,j.useState)(``),[o,s]=(0,j.useState)(null),c=(0,j.useId)(),l=(0,j.useId)(),u=(0,j.useId)(),d=B(ke,()=>{n(``),i(``)});return(0,I.jsxs)(`form`,{"data-slot":`skill-source-add`,"aria-label":`Add a team skill source`,noValidate:!0,onSubmit:e=>{e.preventDefault();let n=Be(t,r);s(n),!n&&d.mutate(r.trim()?{repo:t.trim(),ref:r.trim()}:{repo:t.trim()})},className:`flex flex-col gap-2 @min-[520px]:flex-row @min-[520px]:flex-wrap @min-[520px]:items-end`,children:[(0,I.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,I.jsx)(`label`,{htmlFor:c,className:`text-xs font-medium`,children:`Repo`}),(0,I.jsx)(A,{id:c,"data-slot":`skill-source-repo`,value:t,placeholder:`owner/name`,autoComplete:`off`,spellCheck:!1,disabled:e,"aria-invalid":o?!0:void 0,"aria-describedby":o?u:void 0,onChange:e=>{n(e.target.value),s(null)},className:`h-11 font-mono text-[13px]`})]}),(0,I.jsxs)(`div`,{className:`flex flex-col gap-1 @min-[520px]:w-36`,children:[(0,I.jsx)(`label`,{htmlFor:l,className:`text-xs font-medium`,children:`Ref`}),(0,I.jsx)(A,{id:l,"data-slot":`skill-source-ref`,value:r,placeholder:`main`,autoComplete:`off`,spellCheck:!1,disabled:e,onChange:e=>{i(e.target.value),s(null)},className:`h-11 font-mono text-[13px]`})]}),(0,I.jsx)(a,{type:`submit`,"data-slot":`skill-source-submit`,className:`h-11`,disabled:e||d.isPending,children:`Add source`}),o?(0,I.jsx)(`p`,{id:u,role:`alert`,"data-slot":`skill-source-problem`,className:`text-xs text-danger @min-[520px]:basis-full`,children:o}):null]})}var He=[[`.ai`,`cezar`,`skills`],[`.ai`,`squawk`,`skills`],[`.ai`,`skills`],[`.claude`,`skills`],[`.agents`,`skills`],[`skills`]];function Ue(e){let t=e.split(`/`).slice(0,-1);if((e===`SKILL.md`||e.endsWith(`/SKILL.md`)||t.at(-1)===`commands`)&&t.pop(),t[0]===`plugins`&&t[1])return{kind:`plugin`,name:t[1]};for(let e of He){let n=We(t,e);if(n!==-1&&(e.length>1||n===t.length-1)){t.splice(n,e.length);break}}return t.length>0?{kind:`directory`,name:t.join(`/`)}:null}function We(e,t){for(let n=e.length-t.length;n>=0;n--)if(t.every((t,r)=>e[n+r]===t))return n;return-1}var H=[{id:`project`,label:`This project`,sources:new Set([`ai`,`cezar`,`agents`])},{id:`global`,label:`Global`,sources:new Set([`global`])},{id:`builtin`,label:`Built-in`,sources:new Set([`builtin`])}],U=(e,t,n,r)=>({key:e,label:t,kind:n,locked:r,items:[],children:[]});function Ge(e){let t=H.map(e=>U(`source\u0000${e.id}`,e.label,`source`,!0)),n=new Map;for(let r of e){let{skill:e}=r;if(!e.team){let n=H.findIndex(t=>t.sources.has(e.source));t[n===-1?0:n].items.push(r);continue}let{repo:i,path:a}=e.team,o=n.get(i);o||(o=U(`repo\u0000${i}`,i,`repo`,!1),n.set(i,o));let s=Ue(a);if(!s){o.items.push(r);continue}let c=`${o.key}\u0000${s.kind}\u0000${s.name}`,l=o.children.find(e=>e.key===c);l||(l=U(c,s.name,s.kind,!1),o.children.push(l)),l.items.push(r)}for(let e of n.values())e.children.sort((e,t)=>e.label.localeCompare(t.label));let r=[...n.values()].sort((e,t)=>e.label.localeCompare(t.label));return[t[0],...r,t[1],t[2]].filter(e=>e.items.length>0||e.children.length>0)}function W(e){return e.flatMap(e=>[e.key,...W(e.children)])}function G(e){return[...e.items,...e.children.flatMap(G)]}function Ke(e,t){let n=G(e);if(e.locked)return{enabled:n.length,total:n.length,state:`on`,refs:[]};let r=[],i=0;for(let{skill:e}of n)e.team&&(r.push({repo:e.team.repo,name:e.name}),t(e)&&i++);let a=i===0?`off`:i===r.length?`on`:`mixed`;return{enabled:i,total:r.length,state:a,refs:r}}function K(e,t){if(t.trim()===``)return null;let n=new Set,r=(e,i)=>{let a=[...i,e.label];for(let{skill:r,key:i}of e.items){let e=[r.description??``,...a].join(` `);ge(r.name,e,t)>0&&n.add(i)}for(let t of e.children)r(t,a)};for(let t of e)r(t,[]);return n}function q(e,t){let n=[],r=(e,i)=>{let a=[...i,e.key],o=e.items.some(e=>t.has(e.key));o&&n.push(...a.filter(e=>!n.includes(e)));for(let t of e.children)o=r(t,a)||o;return o};for(let t of e)r(t,[]);return n}function J(e){let t=e?.disabledTeamSkills;if(!Array.isArray(t))return[];let n=[];for(let e of t){let t=S.safeParse(e);t.success&&n.push(t.data)}return n}var Y=(e,t)=>e.repo===t.repo&&e.name===t.name;function X(e){return e.team?{repo:e.team.repo,name:e.name}:void 0}function qe(e,t,n){let r=new Map;for(let e of t)r.has(e.name)||r.set(e.name,e);let i=[],a=new Set;for(let t of e){let e=X(t);if(!e)continue;let o=JSON.stringify([e.repo,e.name]);if(a.has(o))continue;a.add(o);let s=n(e),c=r.get(t.name),l=c?X(c):void 0;s&&c&&!(l&&Y(l,e))?i.push({skill:t,on:s,hiddenBy:c.team?.repo??c.source}):i.push({skill:t,on:s})}return i}var Z=new Map;function Je(e){let t=Z.get(e);return t||(t={chain:Promise.resolve(),latest:0},Z.set(e,t)),t}function Ye(e){let t=u(),n=w(e),[r,i]=j.useState(0),a=j.useMemo(()=>J(n.data),[n.data]),o=j.useCallback(e=>!a.some(t=>Y(t,e)),[a]),s=j.useCallback(n=>{let r=[e,`ui-state`],a=[e,`skills`],o=t.getQueryData(r),s=n(J(o));t.setQueryData(r,{...o,disabledTeamSkills:s});let c=Je(e),l=++c.latest;i(e=>e+1),c.chain=c.chain.then(async()=>{try{let n=await d({disabledTeamSkills:s},e);l===c.latest&&(t.setQueryData(r,n),t.invalidateQueries({queryKey:a}))}catch(e){E(e instanceof Error?e.message:String(e),{tone:`danger`}),l===c.latest&&t.invalidateQueries({queryKey:r})}finally{i(e=>e-1)}})},[e,t]);return{disabled:a,isOn:o,toggle:j.useCallback(e=>{let t={repo:e.repo,name:e.name};s(e=>e.some(e=>Y(e,t))?e.filter(e=>!Y(e,t)):[...e,t])},[s]),setMany:j.useCallback((e,t)=>{let n=e.map(e=>({repo:e.repo,name:e.name}));s(e=>{if(t)return e.filter(e=>!n.some(t=>Y(e,t)));let r=[...e];for(let e of n)r.some(t=>Y(t,e))||r.push(e);return r})},[s]),pending:r>0,ready:n.isSuccess}}var Q=`__bm`,Xe=`__import`,$=e=>e.team?`${e.team.repo}\u0000${e.name}`:e.path,Ze=e=>e.source!==`team`&&e.source!==`builtin`;function Qe(){return(0,I.jsx)(`div`,{"data-route":`skills`,className:`mx-auto min-h-full w-full px-[18px] py-6 md:p-9`,children:(0,I.jsx)($e,{})})}function $e(){let e=re(),n=ne(),r=te(),[a]=t(),[o,s]=(0,j.useState)(``),c=Ye(i()),l=et(),u=(0,j.useMemo)(()=>e.data??[],[e.data]),d=(0,j.useMemo)(()=>r.data??[],[r.data]),f=r.isSuccess,p=(0,j.useMemo)(()=>tt(u,f?d:null,c.isOn),[u,d,f,c.isOn]),m=(0,j.useMemo)(()=>Ge(p),[p]),h=new Map;for(let e of p)h.set(e.skill.name,(h.get(e.skill.name)??0)+1);let g=e=>(h.get(e.name)??0)>1&&e.team!==void 0,_=e=>{let t=X(e);return t&&f?c.isOn(t):!0},ee=e=>{let t=X(e);return t?{ariaLabel:g(e)?`Enable ${e.name} from ${t.repo}`:`Enable ${e.name}`,checked:_(e),disabled:!f||!c.ready,locked:!1,onCheckedChange:()=>c.toggle(t)}:{ariaLabel:`${e.name} is always enabled`,checked:!0,disabled:!0,locked:!0,onCheckedChange:()=>{}}},v=e=>`/skills?skill=${encodeURIComponent(e.name)}${g(e)?`&repo=${encodeURIComponent(e.team.repo)}`:``}`,y=a.get(`skill`),b=nt(p,y,a.get(`repo`),_)?.key??null,x=rt(m,b),S=e=>{s(e);let t=K(m,e);t&&t.size>0&&x.open(q(m,t))};if(e.isError)return(0,I.jsx)(he,{icon:(0,I.jsx)(O,{}),tone:`danger`,heading:`h2`,title:`Could not load skills`,subtitle:e.error.message});let C=y===Q,w=e.isPending?[]:it({tree:m,matches:K(m,o),isOpen:x.isOpen,onFold:x.toggle,openKey:b,workflows:n.data?.workflows??[],activationFor:ee,linkFor:v,groupActivationFor:e=>Ke(e,_),switchable:f&&c.ready,onActivate:c.setMany});return(0,I.jsxs)(`div`,{"data-slot":`skills-section`,className:`@container flex min-w-0 flex-col gap-[22px]`,children:[(0,I.jsxs)(`header`,{className:`flex flex-col gap-4 @min-[700px]:flex-row @min-[700px]:items-center @min-[700px]:justify-between`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`h1`,{className:`text-[25px] font-semibold md:text-[30px]`,children:`Skills`}),(0,I.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground md:text-[13px]`,children:`Markdown playbooks your agents can follow.`})]}),(0,I.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(0,I.jsxs)(k,{to:C?`/skills`:`/skills?skill=${Q}`,"data-slot":`bookmarklets-row`,"aria-current":C?`page`:void 0,"aria-expanded":C,className:`inline-flex min-h-11 items-center gap-2 rounded-lg border border-border bg-card px-3 text-xs font-medium aria-[current=page]:bg-accent-strong/10 hover:bg-muted focus-visible:outline-2 focus-visible:outline-ring`,children:[(0,I.jsx)(de,{"aria-hidden":`true`,className:`size-4 text-link-foreground`}),`Run from GitHub`]})})]}),C?(0,I.jsx)(`section`,{"data-slot":`skills-bookmarklets`,className:`min-w-0 rounded-xl border border-border bg-card p-5`,children:(0,I.jsx)(be,{skills:p.filter(e=>_(e.skill)&&!e.hiddenBy).map(e=>e.skill)})}):null,(0,I.jsx)(Ie,{}),(0,I.jsx)(ot,{query:o,onQuery:S,refreshing:l.isPending,onRefresh:()=>l.mutate(),onFoldAll:x.setAll}),(0,I.jsxs)(`section`,{"data-slot":`skills-list`,"aria-label":`Skills`,className:`flex min-w-0 flex-col gap-3 rounded-xl border border-border bg-card p-2 @min-[520px]:p-3`,children:[r.isError?(0,I.jsx)(st,{message:r.error.message,retrying:r.isFetching,onRetry:()=>void r.refetch()}):null,(0,I.jsx)(`div`,{"data-slot":`skill-rows`,className:`min-h-0 overflow-y-auto md:max-h-[calc(100dvh-260px)]`,children:e.isPending?(0,I.jsx)(`p`,{role:`status`,"aria-busy":`true`,className:`min-h-72 p-3 text-[13px] text-muted-foreground`,children:`Loading skills…`}):w.length>0?(0,I.jsxs)(`table`,{"data-slot":`skills-table`,className:`w-full table-fixed border-collapse text-left`,children:[(0,I.jsx)(`thead`,{children:(0,I.jsxs)(`tr`,{className:`border-b border-border text-[12px] text-muted-foreground`,children:[(0,I.jsx)(`th`,{scope:`col`,className:`px-2 py-2 font-semibold`,children:`Skill / group`}),(0,I.jsx)(`th`,{scope:`col`,className:`hidden w-[30%] px-2 py-2 font-semibold @min-[520px]:table-cell`,children:`Used by`}),(0,I.jsx)(`th`,{scope:`col`,className:`w-[116px] px-2 py-2 text-right font-semibold`,children:`Enabled`})]})}),(0,I.jsx)(`tbody`,{children:w})]}):(0,I.jsx)(`p`,{className:`px-2.5 py-2 text-xs leading-relaxed text-soft-foreground`,children:p.length>0?`(no skills match)`:(0,I.jsx)(xe,{})})})]})]})}function et(){let e=u();return C({mutationFn:()=>p(),onSuccess:t=>{e.setQueryData(T.skills,t),e.invalidateQueries({queryKey:T.importableSkills}),E(`Team skills refreshed.`)},onError:e=>E(e.message,{tone:`danger`})})}function tt(e,t,n){let r=new Set(e.filter(Ze).map(e=>e.name)),i=t?qe(t.filter(e=>!r.has(e.name)),e,n):[],a=(e,t)=>({skill:e,key:$(e),...t?{hiddenBy:t}:{}}),o=new Set((t??[]).map($)),s=[...e.filter(e=>e.source!==`team`||!o.has($(e))).map(e=>a(e)),...i.map(e=>a(e.skill,e.on?e.hiddenBy:void 0))].sort((e,t)=>e.skill.name.localeCompare(t.skill.name)),c=new Map(s.map(e=>[e.skill,e]));return ve(s.map(e=>e.skill)).map(e=>c.get(e))}function nt(e,t,n,r){if(t===null||t===Q)return null;if(t===Xe)return e.find(e=>!r(e.skill))??null;let i=e.filter(e=>e.skill.name===t);return i.find(e=>n===null||e.skill.team?.repo===n)??i[0]??null}function rt(e,t){let[n,r]=(0,j.useState)({}),i=e=>r(t=>({...t,...Object.fromEntries(e.map(e=>[e,!0]))})),a=t?q(e,new Set([t])).join(``):``;return(0,j.useEffect)(()=>{a&&r(e=>({...e,...Object.fromEntries(a.split(``).map(e=>[e,!0]))}))},[a]),{isOpen:(e,t)=>n[e.key]??t===0,toggle:(e,t)=>r(n=>({...n,[e]:t})),open:i,setAll:t=>r(Object.fromEntries(W(e).map(e=>[e,t])))}}function it(e){let t=[],n=t=>e.matches===null||e.matches.has(t.key),r=e=>e.items.some(n)||e.children.some(r),i=(a,o)=>{if(!r(a))return;let s=e.isOpen(a,o);if(t.push((0,I.jsx)(ut,{node:a,depth:o,open:s,onFold:()=>e.onFold(a.key,!s),activation:e.groupActivationFor(a),switchable:e.switchable,onActivate:e.onActivate},a.key)),s){for(let r of a.items.filter(n)){let n=r.key===e.openKey,i=ye(e.workflows,r.skill.name),a=e.activationFor(r.skill);t.push((0,I.jsx)(ft,{item:r,depth:o+1,href:n?`/skills`:e.linkFor(r.skill),expanded:n,usedBy:i,activation:a},r.key)),n&&t.push((0,I.jsx)(at,{skill:r.skill,usedBy:i,activation:a},`${r.key}\u0000detail`))}for(let e of a.children)i(e,o+1)}};for(let t of e.tree)i(t,0);return t}function at({skill:e,usedBy:t,activation:n}){return(0,I.jsx)(`tr`,{"data-slot":`skill-detail-row`,children:(0,I.jsx)(`td`,{colSpan:3,className:`border-b border-border px-3 pb-5 @min-[520px]:px-5`,children:(0,I.jsx)(`div`,{"data-slot":`skills-detail`,className:`min-w-0 rounded-lg border border-border bg-background p-4 md:p-5`,children:(0,I.jsx)(se,{skill:e,usedBy:t,activation:n})})})})}function ot({query:e,onQuery:t,refreshing:n,onRefresh:r,onFoldAll:i}){return(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,I.jsxs)(`div`,{className:`sw-search relative min-w-0 basis-full sm:basis-auto sm:flex-1`,children:[(0,I.jsx)(le,{"aria-hidden":`true`,className:`pointer-events-none absolute left-3 top-3.5 size-4 text-muted-foreground`}),(0,I.jsx)(A,{"data-slot":`skills-filter`,placeholder:`Filter skills…`,"aria-label":`Filter skills`,value:e,onChange:e=>t(e.target.value),className:`h-11 min-w-0 bg-card pl-9 text-xs`})]}),(0,I.jsxs)(`button`,{type:`button`,"data-slot":`skills-refresh`,title:`git fetch the team skills repos`,disabled:n,onClick:r,className:`flex h-11 shrink-0 items-center gap-1.5 rounded-md border border-border bg-card px-2.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring disabled:opacity-55`,children:[(0,I.jsx)(D,{"aria-hidden":`true`,className:o(`size-3`,n&&`motion-safe:animate-spin`)}),n?`Refreshing…`:`Refresh`]}),(0,I.jsx)(a,{type:`button`,variant:`outline`,"data-slot":`skills-expand-all`,className:`h-11 text-xs`,onClick:()=>i(!0),children:`Expand groups`}),(0,I.jsx)(a,{type:`button`,variant:`outline`,"data-slot":`skills-collapse-all`,className:`h-11 text-xs`,onClick:()=>i(!1),children:`Collapse groups`})]})}function st({message:e,retrying:t,onRetry:n}){return(0,I.jsxs)(`div`,{role:`alert`,"data-slot":`skills-importable-error`,className:`flex flex-col items-start gap-2 rounded-lg border border-border bg-background p-3 text-xs text-muted-foreground`,children:[(0,I.jsxs)(`span`,{children:[`Could not load the team skills, so they cannot be switched right now. Your saved choice is kept.`,` `,e]}),(0,I.jsx)(a,{type:`button`,variant:`outline`,size:`sm`,className:`min-h-11`,disabled:t,onClick:n,children:`Retry`})]})}var ct={repo:`repository`,plugin:`plugin`,directory:`directory`},lt=e=>({paddingInlineStart:`${e*16}px`});function ut({node:e,depth:t,open:n,onFold:r,activation:i,switchable:a,onActivate:s}){let c=n?me:ue,l=ct[e.kind],u=e.locked||a;return(0,I.jsxs)(`tr`,{"data-slot":`skill-group-row`,"data-group":e.label,"data-kind":e.kind,"data-level":t,className:o(`border-b border-border`,t===0&&`bg-muted/40`),children:[(0,I.jsx)(`th`,{scope:`row`,className:`min-w-0 p-0 text-left font-normal`,children:(0,I.jsx)(`span`,{className:`flex min-w-0`,style:lt(t),children:(0,I.jsxs)(`button`,{type:`button`,"data-slot":`skill-group-toggle`,"aria-expanded":n,onClick:r,className:`flex min-h-11 min-w-0 flex-1 items-center gap-2 rounded-md px-2 text-left hover:bg-muted focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-link-foreground`,children:[(0,I.jsx)(c,{"aria-hidden":`true`,className:`size-4 shrink-0 text-muted-foreground`}),(0,I.jsx)(`span`,{className:o(`min-w-0 [overflow-wrap:anywhere]`,t===0?`text-[13px] font-semibold`:`text-[13px] font-medium`),children:e.label}),l?(0,I.jsx)(`span`,{className:`shrink-0 text-[12px] text-soft-foreground`,children:l}):null]})})}),(0,I.jsx)(`td`,{"aria-hidden":`true`,className:`hidden @min-[520px]:table-cell`}),(0,I.jsx)(`td`,{className:`px-1 py-0 text-right`,children:(0,I.jsxs)(`span`,{className:`inline-flex items-center justify-end gap-1`,children:[(0,I.jsx)(`span`,{"data-slot":`skill-group-count`,className:`text-[12px] tabular-nums text-muted-foreground`,children:u?`${i.enabled} / ${i.total}`:`—`}),(0,I.jsx)(dt,{label:e.label,locked:e.locked,state:u?i.state:null,disabled:e.locked||!a||i.total===0,onClick:()=>s(i.refs,i.state!==`on`)})]})})]})}function dt({label:e,locked:t,state:n,disabled:r,onClick:i}){return(0,I.jsx)(`button`,{type:`button`,role:`checkbox`,"data-slot":`skill-group-switch`,"data-state":n??`unknown`,"aria-checked":n===null?void 0:n===`mixed`?`mixed`:n===`on`,"aria-busy":n===null||void 0,"aria-label":t?`${e} skills are always enabled`:`Enable all skills in ${e}`,disabled:r,onClick:i,className:`group/check inline-flex size-11 shrink-0 items-center justify-center rounded-md focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-link-foreground disabled:cursor-default`,children:(0,I.jsx)(`span`,{"aria-hidden":`true`,className:o(`inline-flex size-5 items-center justify-center rounded border-2 transition-colors`,n===`on`||n===`mixed`?`border-accent-strong bg-accent-strong text-accent-strong-foreground`:`border-muted-foreground bg-card text-transparent`,n===null&&`border-dashed border-soft-foreground`,`group-disabled/check:opacity-60`),children:n===`mixed`?(0,I.jsx)(ce,{className:`size-3.5`}):(0,I.jsx)(fe,{className:`size-3.5`})})})}function ft({item:e,depth:t,href:n,expanded:r,usedBy:i,activation:a}){let{skill:s,hiddenBy:c}=e,l=_e(s),u=[...new Set(i.map(e=>e.split(` › `)[0]))];return(0,I.jsxs)(`tr`,{"data-slot":`skill-table-row`,className:o(`border-b border-border`,r&&`border-transparent`),children:[(0,I.jsx)(`td`,{className:`min-w-0 p-0`,style:lt(t),children:(0,I.jsxs)(k,{to:n,"data-slot":`skill-row`,"data-skill":s.name,"data-repo":s.team?.repo,"data-project":l?`true`:void 0,"data-enabled":a.checked?`true`:void 0,"aria-current":r?`page`:void 0,"aria-expanded":r,className:o(`selection-row flex min-h-11 min-w-0 flex-col justify-center gap-1 rounded-md px-3 py-2 transition-colors hover:bg-muted focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-link-foreground`,r&&`bg-accent-strong/10`),children:[(0,I.jsx)(`span`,{className:`flex min-w-0 items-center gap-2`,children:(0,I.jsx)(`span`,{className:o(`min-w-0 break-words text-[13px]`,l?`font-semibold text-foreground`:`font-normal text-muted-foreground`),children:s.name})}),s.description?(0,I.jsx)(`span`,{className:`line-clamp-1 text-xs leading-relaxed text-supporting-foreground`,children:s.description}):null,u.length>0?(0,I.jsxs)(`span`,{"data-slot":`skill-used-by-inline`,className:`text-xs text-supporting-foreground @min-[520px]:hidden`,children:[`Used by `,u.join(`, `)]}):null,c?(0,I.jsxs)(`span`,{"data-slot":`skill-hidden-by`,className:`min-w-0 text-xs text-supporting-foreground [overflow-wrap:anywhere]`,children:[`hidden by `,c]}):null]})}),(0,I.jsx)(`td`,{"data-slot":`skill-used-by-cell`,className:`hidden px-2 py-2 align-middle text-xs text-supporting-foreground @min-[520px]:table-cell`,children:u.length>0?(0,I.jsx)(`span`,{className:`[overflow-wrap:anywhere]`,children:u.join(`, `)}):(0,I.jsx)(`span`,{className:`text-soft-foreground`,children:`—`})}),(0,I.jsx)(`td`,{className:`px-1 py-0 text-right align-middle`,children:(0,I.jsx)(`span`,{className:`inline-flex justify-end`,children:(0,I.jsx)(oe,{skill:s,activation:a})})})]})}export{Qe as SkillsRoute};