@hearsay-tools/squawk 0.17.0-dev.5736 → 0.17.0-dev.5745
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ci-wait/controller.d.ts +37 -37
- package/dist/contract/discovery.d.ts +1 -32
- package/dist/contract/health.d.ts +2 -17
- package/dist/contract/index.js +2573 -2565
- package/dist/contract/repo-info.d.ts +12 -0
- package/dist/contract/repo.d.ts +1 -2
- package/dist/contract/runner.d.ts +15 -0
- package/dist/contract/usage-limit-hold.d.ts +15 -0
- package/dist/contract/waits.d.ts +2 -11
- package/dist/contract/workflows.d.ts +1 -1
- package/dist/contract/workspace.d.ts +36 -1
- package/dist/delegation/routes.d.ts +4 -4
- package/dist/delegation/transport.d.ts +9 -9
- package/dist/runs/run-exits.js.map +1 -1
- package/dist/server/self-update-routes.d.ts +19 -19
- package/dist/workflows/run/wait-engine.d.ts +72 -72
- package/dist/workflows/run-states.js +4 -4
- package/dist/workflows/run-states.js.map +1 -1
- package/package.json +4 -4
- package/web/dist/assets/activity-motion-Deqj_hcK.js +2 -0
- package/web/dist/assets/{activity-route-De0BnSrc.js → activity-route-Z8SMpPLm.js} +1 -1
- package/web/dist/assets/{agent-accounts-BCg-578Q.js → agent-accounts-f1cxwgfz.js} +2 -2
- package/web/dist/assets/{cez-idle-BT0U4GN_.js → cez-idle-EVoUsgU3.js} +1 -1
- package/web/dist/assets/{commit-diff-panel-DYtYc_dH.js → commit-diff-panel-DZutYRbq.js} +1 -1
- package/web/dist/assets/{control-locations-CA9TMupq.js → control-locations-C9II3kPz.js} +1 -1
- package/web/dist/assets/{diff-tVGVhYyc.js → diff-DNAtaTLC.js} +2 -2
- package/web/dist/assets/{diff-view-CNM3u77o.js → diff-view---8Bt-0a.js} +1 -1
- package/web/dist/assets/{file-preview-C1eTdJLJ.js → file-preview-D08Kq15E.js} +1 -1
- package/web/dist/assets/{git-toolbar-Dwz8p8GW.js → git-toolbar-DMDmGits.js} +1 -1
- package/web/dist/assets/{github-BSezqH6f.js → github-DlMu4p0I.js} +1 -1
- package/web/dist/assets/{github-sidebar-model-Ct0DltOv.js → github-sidebar-model-B0Ufci5S.js} +1 -1
- package/web/dist/assets/{global-activity-route-BZiYz-B0.js → global-activity-route-mJrrP9I0.js} +1 -1
- package/web/dist/assets/{index-D489J7QW.js → index-FoxgrgAH.js} +8 -8
- package/web/dist/assets/{live-protocol-BDY7JJpT.js → live-protocol-BVn0UA_g.js} +1 -1
- package/web/dist/assets/{live-refetch-C0kQc3-z.js → live-refetch-BdnmTJ_8.js} +1 -1
- package/web/dist/assets/{preview-pane-connected-DGkEs_L3.js → preview-pane-connected-KzJn9jAG.js} +1 -1
- package/web/dist/assets/{project-router-1m_VlC22.js → project-router-MMOk9VbW.js} +1 -1
- package/web/dist/assets/project-scope-context-B3M-u8R0.js +4 -0
- package/web/dist/assets/{queries-DYfIpJ-d.js → queries-DORTKwyN.js} +1 -1
- package/web/dist/assets/{repo-git-CU1S5P-y.js → repo-git-Bf_EfIHt.js} +1 -1
- package/web/dist/assets/{report-reader-DlZol2Ux.js → report-reader-ztLhC9gp.js} +1 -1
- package/web/dist/assets/reports-BxGqf1aC.js +1 -0
- package/web/dist/assets/{run-header-DPjiPKRe.js → run-header-CDMGqoPE.js} +1 -1
- package/web/dist/assets/skills-D2r8n5IP.js +1 -0
- package/web/dist/assets/{tab-link-DCUifQ46.js → tab-link-BvoGfK8S.js} +1 -1
- package/web/dist/assets/{task-changes-BZXWvQN3.js → task-changes-CfUCDwcL.js} +1 -1
- package/web/dist/assets/{task-commits-ByI9MSfc.js → task-commits-IOjoz_mL.js} +1 -1
- package/web/dist/assets/{task-files-LJbenpiH.js → task-files-CpUYhIpd.js} +1 -1
- package/web/dist/assets/{task-github-item-B0CU9lGR.js → task-github-item-B8YPhQDV.js} +1 -1
- package/web/dist/assets/task-thread-2Kme3Fc0.js +9 -0
- package/web/dist/assets/{thread-state-BLaCzqeX.js → thread-state-C136Em0C.js} +1 -1
- package/web/dist/assets/{use-hand-to-agent-state-BkmKad8x.js → use-hand-to-agent-state-C6u70P2A.js} +1 -1
- package/web/dist/assets/{useInfiniteQuery-qEY8OhKb.js → useInfiniteQuery-BbYMWe23.js} +1 -1
- package/web/dist/assets/useQuery-CqqnAJvu.js +1 -0
- package/web/dist/assets/{workflows-Dbxb-d-6.js → workflows-CWrdqLII.js} +1 -1
- package/web/dist/assets/{ws-DvGmrP4z.js → ws-BtSVmivO.js} +1 -1
- package/web/dist/index.html +13 -13
- package/web/dist/live-worker.js +1 -1
- package/web/dist/assets/activity-motion-hhx0e841.js +0 -2
- package/web/dist/assets/project-scope-context-CaUqlAd7.js +0 -4
- package/web/dist/assets/reports-DIGGjk7C.js +0 -1
- package/web/dist/assets/skills-BMwanop_.js +0 -1
- package/web/dist/assets/task-thread-CXCN__1a.js +0 -9
- package/web/dist/assets/useQuery-DOJQOEBO.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-C0kQc3-z.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-CaUqlAd7.js";import{$ as oe,A as se,Q as ce,V as le,Y as h,Z as g,dt as ue,et as _,nt as v,ot as y,q as de,rt as b,st as fe,ut as pe}from"./live-protocol-BDY7JJpT.js";import{t as me}from"./useQuery-DOJQOEBO.js";import{n as he,t as ge}from"./ws-DvGmrP4z.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-1m_VlC22.js";import{jt as Se,ot as C,tn as Ce}from"./index-D489J7QW.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=ue(),D=v().int().nonnegative(),O=y().min(1),Ne=b({title:y().max(160),toolKind:h([`read`,`edit`,`delete`,`move`,`search`,`execute`,`think`,`fetch`,`task`,`plan`,`other`]),status:h([`pending`,`running`,`completed`,`failed`,`declined`]),startedAt:E,endedAt:E.optional()}).strict(),Pe=h([`pass`,`fail`,`pending`,`skipping`,`cancel`]),Fe=b({checks:g(b({name:y().max(100),bucket:Pe}).strict()).max(100),counts:b({pass:D,fail:D,pending:D,skipping:D,cancel:D}).strict(),truncated:_(!0).optional()}).strict(),Ie=oe(`kind`,[b({kind:_(`human`),since:E,detail:b({question:y().max(500).optional(),reason:h([`question`,`turn-end`,`budget`,`completion`]),queuedMessages:v().int().positive().optional()}).strict()}).strict(),b({kind:_(`usage-limit`),detail:b({resumeAt:y()}).strict()}).strict(),b({kind:_(`workers`),since:E,deadline:E.optional(),detail:b({owed:D,total:D,settled:D,replies:_(!0).optional(),mode:se.optional(),recipientRunIds:g(O)}).strict()}).strict(),b({kind:_(`peers`),since:E,deadline:E,detail:b({peerRunIds:g(O)}).strict()}).strict(),b({kind:_(`subagents`),since:E,deadline:E,detail:b({running:D}).strict()}).strict(),b({kind:_(`pr`),since:E,deadline:E,detail:b({number:v().int().positive(),target:re,checks:Fe.shape.checks.optional(),counts:Fe.shape.counts.optional(),truncated:_(!0).optional()}).strict()}).strict(),b({kind:_(`process`),since:E,deadline:E,detail:b({pid:v().int(),note:y().optional()}).strict()}).strict(),b({kind:_(`timer`),since:E,deadline:E,detail:b({wakeAt:E,note:y().optional()}).strict()}).strict()]),Le={runId:O,title:y(),status:ee,rung:h(p),runner:de.optional(),model:y().optional(),currentStepId:y().optional(),startedAt:y().optional(),wait:Ie.optional(),tool:Ne.optional(),rate:g(D).length(30),error:y().max(200).optional()},Re=b({...Le,revision:D,collected:ce()}).strict(),ze=b({...Le,workers:g(Re)}).strict(),Be=b({requestId:pe(),relationship:h([`family`,`peer`]),senderRunId:O,recipientRunId:O,text:y().max(500),senderTitle:y().optional(),recipientTitle:y().optional(),createdAt:E,deadline:E.optional()}).strict(),Ve=b({requestId:pe(),senderRunId:O,recipientRunId:O,status:le.shape.status,observedAt:E}).strict(),He=b({generatedAt:E,projects:g(b({projectId:y(),name:y(),loaded:ce(),unavailable:b({status:fe([_(404),_(409),_(503)]),error:y()}).strict().optional(),inReview:D,tasks:g(ze),requests:g(Be),closed:g(Ve)}).strict())}).strict();b({project:fe([_(`default`),y().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,I=(e,t=`Deadline`)=>e?`${t} ${M(e)}`:void 0;function ut(e,t,n){return t.length===1&&t[0]!==void 0?`${e} ${n.titleOf(t[0])}`:`${e} ${P(t.length,`task`)}`}function dt(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 ft(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 pt(e){return{verb:`Needs you`,tone:F(e),icon:`user`,main:`Permission`,action:`open`}}function mt(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?ut(`From`,c,n):`Waiting for replies`;return{...u,verb:`Waiting for reply`,icon:`reply`,main:e,...L(`detail`,I(t.deadline,`Reply due`))}}let d=c.length>0?`${r} owed · ${a} settled`:s?`${ht[s]} of ${i} · ${a} settled`:`${r} owed`;return{...u,verb:`Waiting for workers`,icon:`workers`,main:d,bar:l,...L(`detail`,I(t.deadline))}}var ht={one:`One`,any:`Any`,all:`All`};function gt(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 _t=[`fail`,`pending`,`pass`,`skipping`,`cancel`];function vt(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=_t.reduce((e,t)=>e+i(t),0),o=_t.find(e=>i(e)>0);return a>0&&o?{count:a,bucket:o}:void 0}var yt=[[`pass`,`passed`],[`fail`,`failed`],[`pending`,`pending`],[`skipping`,`skipped`],[`cancel`,`cancelled`]];function bt(e){let{counts:t,checks:n}=e.detail,r=e=>t?t[e]:(n??[]).filter(t=>t.bucket===e).length,i=yt.filter(([e])=>r(e)>0).map(([e,t])=>`${r(e)} ${t}`),a=vt(e);return a&&i.push(`+${a.count} more not listed`),i.length>0?i.join(`, `):void 0}function xt(e,t){let n={tone:F(e),since:t.since,...L(`detail`,I(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:gt(t),...L(`checks`,r),...L(`overflow`,vt(t)),...L(`checkSummary`,bt(t))}}function L(e,t){return t===void 0?{}:{[e]:t}}function St(e,t,n){let r=F(e);switch(t.kind){case`workers`:return mt(e,t,n);case`peers`:return{verb:`Waiting for a peer`,tone:r,icon:`peer`,since:t.since,main:ut(`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 xt(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 Ct(e,t.detail.resumeAt,n);case`human`:return}}function Ct(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 wt(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 R(e,t){return{verb:ct[e.status]??e.status,tone:F(e),icon:lt[e.status]??`done`,main:t}}function z(e,t){return N(e.status)?Tt(e,t):R(e,P(e.workers.filter(e=>N(e.status)).length,`live worker`))}function Tt(e,t){let n=e.wait;switch(e.rung){case`running`:return dt(e,t);case`needs-permission`:return pt(e);case`needs-you`:return ft(e,n?.kind===`human`?n:void 0);case`usage-limit`:return n?.kind===`usage-limit`?Ct(e,n.detail.resumeAt,t):{verb:`Paused`,tone:F(e),icon:`pause`,main:`Usage limit`};case`queued`:case`waiting-for-capacity`:return wt(e,t);default:return(n&&St(e,n,t))??wt(e,t)}}function Et(e,t,n){if(n!==void 0&&N(e.status))return{verb:`Asks parent`,tone:F(e),main:`“${n}”`,asks:!0};let r=Dt(e,t);return{verb:r.verb,tone:r.tone,main:r.main,...r.mono?{mono:!0}:{}}}function Dt(e,t){switch(e.status){case`done`:return R(e,e.collected?`Collected`:`Ready to collect`);case`review`:return R(e,`Waiting for the parent’s review`);case`failed`:case`cancelled`:return R(e,e.error??ct[e.status]??e.status);default:return Tt({...e,workers:[]},t)}}function Ot(e){if(e.unavailable)return e.unavailable.error;if(!e.loaded)return`Not loaded in this cockpit`}function kt(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 B(e,t,n){return e.get(t)?.title??n??`Unreadable task`}var V=(e,t)=>B(e,t.senderRunId,t.senderTitle),H=(e,t)=>B(e,t.recipientRunId,t.recipientTitle),At=(e,t)=>`wait:${e}:${t}`;function jt(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:At(n.runId,r),waiterRunId:n.runId,peerRunId:r,since:e.since,deadline:e.deadline})}return t}function Mt(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 Nt(e,t){return t.filter(t=>t.waiterRunId===e)}function Pt(e,t,n,r=[]){let i=[];for(let r of t)r.senderRunId===e&&i.push(`Waiting for a reply from ${H(n,r)}`),r.recipientRunId===e&&i.push(`${V(n,r)} waits for your reply`);for(let t of r)t.waiterRunId===e&&i.push(`Waiting for a message from ${B(n,t.peerRunId)}`),t.peerRunId===e&&i.push(`${B(n,t.waiterRunId)} waits for you to write`);return i}function Ft(e,t,n){return n.find(n=>n.relationship===`family`&&n.senderRunId===e&&n.recipientRunId===t)}function It(e,t){let n=-j(e,t);return n>=1e3?`reply due in ${A(n)}`:`reply overdue`}function Lt(e,t){return t.filter(t=>t.relationship===`peer`&&t.senderRunId===e)}function Rt(e,t){return e.relationship===`peer`?{kind:`Request`,relation:`Peer`}:{kind:`Question`,relation:zt[Bt(e,t)]}}var zt={worker:`Worker → parent`,parent:`Parent → worker`,unknown:`Family`};function Bt(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 Vt=new Set([`needs-you`,`needs-permission`]),Ht=new Set([`queued`,`waiting-for-capacity`]);function Ut(e){if(N(e.status))return Vt.has(e.rung)?`needsYou`:e.rung===`running`?`working`:Ht.has(e.rung)?`queued`:`waiting`}function Wt(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=Ut(e);n&&(t[n]+=1),t.activeWorkers+=e.workers.filter(e=>N(e.status)).length}}return t}function Gt(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 Kt({finished:e,failed:t}){if(e!==0)return t>0?`✓ ${e} finished · ${t} failed`:`✓ ${e} worker${e===1?``:`s`} finished`}var U={flash:1300,cardEnter:700,cardLeave:500,workerEnter:700,workerHold:3e3,workerFold:500,comet:1100,replied:900,fade:800,bump:500,slide:450,check:800},W={flash:{},entering:{},leaving:{},workerEnter:{},workerHold:{},opening:{},closing:{},waitsClosing:{},comets:{},bumps:{},slides:{},checks:{}},qt=(e,t)=>`${e}\n${t}`;function Jt(e,t){let n=qt(t,``);return new Set(Object.keys(e.checks).filter(e=>e.startsWith(n)).map(e=>e.slice(n.length)))}var Yt=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})}},Xt={done:`success`,review:`success`,failed:`danger`,cancelled:`neutral`};function Zt(e,t){let n=Xt[t.status]??`success`;if(t.status===`review`){e.timed(`workerHold`,t.runId,{tone:n,phase:`flash`},U.flash);return}e.timed(`workerHold`,t.runId,{tone:n,phase:`flash`},U.workerHold+U.workerFold),e.later(`workerHold`,t.runId,{tone:n,phase:`fold`},U.workerHold)}function Qt(e,t){e.drop(`closing`,t.requestId),e.timed(`opening`,t.requestId,{},U.fade),e.timed(`comets`,`${t.requestId}:open:${e.key}`,{requestId:t.requestId,reverse:!1,tone:t.relationship},U.comet)}function $t(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`},U.fade);return}let a=U.comet+U.replied+U.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`},U.comet),e.later(`closing`,i,{projectId:t,request:n,replied:!0,phase:`fade`},U.comet+U.replied),e.timed(`comets`,`${i}:reply:${e.key}`,{requestId:i,reverse:!0,tone:`success`},U.comet)}function en(e,t){switch(t.kind){case`rung-changed`:return e.timed(`flash`,t.task.runId,{tone:m(t.task.rung).tone},U.flash);case`tool-started`:return e.timed(`slides`,t.runId,{},U.slide);case`worker-started`:return e.timed(`workerEnter`,t.worker.runId,{},U.workerEnter);case`worker-settled`:return Zt(e,t.worker);case`card-entered`:return e.drop(`leaving`,t.task.runId),e.timed(`entering`,t.task.runId,{},U.cardEnter);case`card-left`:return e.timed(`leaving`,t.task.runId,{projectId:t.projectId,task:t.task},U.cardLeave);case`check-passed`:return e.timed(`checks`,qt(t.runId,t.name),{},U.check);case`request-opened`:return Qt(e,t.request);case`request-closed`:return $t(e,t.projectId,t.request,t.status===`replied`);case`chip-changed`:return e.timed(`bumps`,t.chip,{},U.bump);case`wait-opened`:return e.drop(`waitsClosing`,t.wait.id),e.timed(`opening`,t.wait.id,{},U.fade);case`wait-closed`:return e.drop(`opening`,t.wait.id),e.timed(`waitsClosing`,t.wait.id,{projectId:t.projectId,wait:t.wait},U.fade)}}function tn(e,t,n){let r=new Yt(t);if(!n)for(let t of e)en(r,t);return{changes:r.changes,timers:r.timers}}function nn(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 rn(e,t){return t.reduce(nn,e)}function an(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 on={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 sn({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 cn={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`},ln={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`},un={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 dn(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:pn(e,t)??n.label}}var fn=(e,t,n)=>`${e} ${t} ${n}${t===1?``:`s`}`;function pn(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 fn(`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 fn(`waiting on`,n.detail.owed,`worker`)}if(e.rung===`waiting-on-subagents`&&n?.kind===`subagents`&&n.detail.running>0)return fn(`waiting for`,n.detail.running,`subagent`)}function mn(e,t){if(N(e.status))return e.rung===`running`&&t===`filled`?`activity-pulse`:t===`filled`?void 0:`activity-breathe`}function G({run:e,role:t}){let{tone:n,shape:r,label:a}=dn(e,t);return(0,T.jsx)(`span`,{"data-activity-anchor":e.runId,className:i(`inline-flex size-[12px] shrink-0 items-center justify-center`,mn(e,r)),children:(0,T.jsx)(C,{tone:n,shape:r,role:`img`,"aria-label":a})})}function hn({runId:e,requests:t,waits:n,index:r,link:i,pathOf:a,className:o,linkClassName:s}){let c=Lt(e,t),l=Nt(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:[`→ `,H(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 `,B(r,e.peerRunId)]})},e.id))]})}var gn={pass:`bg-success`,fail:`bg-danger`,pending:`bg-info`,skipping:`border border-soft-foreground`,cancel:`border border-soft-foreground`},_n=(e,t)=>t?`activity-check-pass`:e===`pending`?`activity-breathe-fast`:void 0;function vn({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]`,gn[e.bucket],_n(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]`,gn[t.bucket])}),`+`,t.count]}):null]})}function yn({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 bn=new Set;function xn({box:e,now:t,dense:n,motion:r={}}){let a=un[e.icon],o=on[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)(sn,{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)(vn,{checks:e.checks,overflow:e.overflow,passed:r.passed??bn}):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)(yn,{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 Sn({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 K=e=>`/tasks/${encodeURIComponent(e)}`;function Cn(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 wn({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 Tn({worker:e,parentId:t,requests:n,index:r,ctx:a,motion:o}){let s=Et(e,a,Ft(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`,ln[c.tone])},c.key):null,(0,T.jsx)(`span`,{className:`mt-[3px]`,children:(0,T.jsx)(G,{run:e,role:`worker`})}),(0,T.jsxs)(`span`,{className:`min-w-0 truncate text-[12.5px] font-medium`,children:[(0,T.jsx)(S,{to:K(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`,on[s.tone]),children:s.verb}),` · `,(0,T.jsx)(`span`,{className:i(s.mono&&`font-mono`),children:s.main})]}),(0,T.jsx)(wn,{texts:Pt(e.runId,n,r)})]})}function En({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)(G,{run:e,role:`worker`},e.runId)),(0,T.jsxs)(`span`,{className:`ml-1`,children:[e.length,` worker`,e.length===1?``:`s`]})]})}function Dn({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=Kt(Gt(e,o));return(0,T.jsxs)(T.Fragment,{children:[s.length>0&&i?(0,T.jsx)(En,{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)(Tn,{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 On=`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 kn(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 An(e,t,n){return n?`activity-card-leave`:e.runId in t.entering?`activity-card-enter`:void 0}function jn({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`,cn[r.tone])},r.key):null]})}var Mn=[];function Nn({task:e,requests:t,waits:n=Mn,index:a,ctx:o,dense:s,narrow:c,motion:l=W,ghost:u=!1,linked:d=!1,onHover:f}){let p=z(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:Jt(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?{}:kn(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`,An(e,l,u)),children:[(0,T.jsx)(jn,{task:e,motion:l,glow:p.action!==void 0&&!u}),(0,T.jsxs)(`header`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(G,{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:K(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)(Sn,{rate:e.rate})]}),(0,T.jsx)(`p`,{className:`mt-0.5 mb-2 ml-5 truncate text-[11.5px] text-muted-foreground`,children:Cn(e,o.now)}),(0,T.jsx)(wn,{texts:Pt(e.runId,t,a,n)}),(0,T.jsx)(xn,{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:K(e.runId),children:p.action===`answer`?`Answer`:`Open task`})})}):null,c?(0,T.jsx)(hn,{runId:e.runId,requests:t,waits:n,index:a,link:S,pathOf:K,className:`mt-2 flex flex-col gap-1`,linkClassName:On}):null,(0,T.jsx)(Dn,{task:e,requests:t,index:a,ctx:o,dense:s,motion:l})]})}function Pn(e){return!Number.isFinite(e)||e<=0?1:Math.max(1,Math.floor((e+96)/396))}function Fn(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 In(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)||(Fn(o,r).push(e),s.add(e));return o}function Ln(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 Rn=(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 zn(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 Bn=(e,...t)=>e.filter(e=>!t.some(t=>Vn(e,t))),Vn=(e,t)=>e.x===t.x&&e.y===t.y&&e.w===t.w&&e.h===t.h,Hn=e=>Math.round(e*10)/10,q=e=>`${Hn(e.x)} ${Hn(e.y)}`;function Un(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 Wn(e,t=8){let n=Un(e),r=n[0];if(!r)return``;let i=`M${q(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 ${q(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 ${q(c(r,a,s))} Q ${q(r)}, ${q(c(r,o,s))}`}return i}function Gn(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 Kn(e){return{rows:Gn(e,e=>e.y,e=>e.y+e.h).map(({from:e,to:t})=>({top:e,bottom:t})),cols:Gn(e,e=>e.x,e=>e.x+e.w).map(({from:e,to:t})=>({left:e,right:t}))}}var J=(e,t,n)=>Math.max(0,e.findIndex(e=>Math.abs(t(e)-n)<=2)),Y=(e,t)=>((e.rows[t]?.bottom??0)+(e.rows[t+1]?.top??(e.rows[t]?.bottom??0)+16))/2;function qn(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 Jn(e,t,n,r=0){let i=Kn(n),a=J(i.rows,e=>e.top,e.y),o=J(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?Y(i,a):Y(i,a-1))+r/2,d=(s?Y(i,o-1):Y(i,o))+r/2,f=qn(i,J(i.cols,e=>e.left,e.x),J(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 Yn=15;function Xn(e,t,n){let r=[...n,...e.flatMap(e=>[e.y-Yn,e.y+e.h+Yn])].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 Zn(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=Xn(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),Yn-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 Qn(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 $n(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 er=e=>Math.round(e*10)/10,X=e=>`${er(e.x)} ${er(e.y)}`;function tr(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 nr(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${X({x:o,y:i})} C ${X({x:o+s,y:i})}, ${X({x:o+s,y:a})}, ${X({x:o+2*r,y:a})}`,label:{x:o+s*.75,y:(i+a)/2}}}function rr(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 nr(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(zn(Rn({x:c,y:a},{x:l,y:o}),Bn(n,e,t))){let i=Zn({x:c,y:a},{x:l,y:o},96,Bn(n,e,t),r);return{d:Wn(i.points),label:i.label}}return{d:`M${X({x:c,y:a})} C ${X({x:c+u,y:a})}, ${X({x:l-u,y:o})}, ${X({x:d,y:o})}`,label:{x:(c+l)/2,y:(a+o)/2}}}function ir(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?ar(a,n.y0+i,n.y1-i):a}var ar=(e,t,n)=>Math.max(t,Math.min(n,e));function or(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:ir(i,n)};return{d:Wn(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 sr(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${X(i)} C ${X({x:o,y:i.y})}, ${X({x:o,y:a.y})}, ${X(a)}`,label:{x:o,y:(i.y+a.y)/2}}}function cr(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(zn(Rn({x:i,y:s},{x:a,y:c}),Bn(n,e,t))){let i=Jn(e,t,n,r);return{d:Wn(i.points),label:i.label}}return{d:`M${X({x:i,y:s})} C ${X({x:i,y:s+l})}, ${X({x:a,y:c-l})}, ${X({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${X({x:i,y:o})} C ${X({x:i,y:c-l})}, ${X({x:a,y:c-l})}, ${X({x:a,y:s-3})}`,label:{x:(i+a)/2,y:c-l*.75}}}function lr(e,t){return{x:e.left-t.left,y:e.top-t.top,w:e.width,h:e.height}}function ur(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 dr(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 fr(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 ur(e,t.w+r))for(let e of dr(n,t.h+r,i,a))o.set(e.id,e.at);return o}var pr=(e,t)=>e.x<=t.x1&&t.x0<=e.x+e.w&&e.y<=t.y1&&t.y0<=e.y+e.h;function mr(e,t,n){let r=e!==void 0&&pr(e,n),i=t!==void 0&&pr(t,n);return r&&i?`both`:r?`sender`:i?`recipient`:`none`}var hr=e=>/(auto|scroll|hidden|clip)/.test(getComputedStyle(e).overflowY);function gr(e){let t=[];for(let n=e.parentElement;n&&n!==document.body&&n!==document.documentElement;n=n.parentElement)hr(n)&&t.push(n);return t}function _r(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 vr(e){let t=e.getBoundingClientRect(),n={x0:0,y0:0,x1:window.innerWidth,y1:window.innerHeight};for(let t of gr(e)){let e=t.getBoundingClientRect();e.width>0&&e.height>0&&(n=_r(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 Z={w:88,h:40};function yr(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,lr(i.getBoundingClientRect(),n))}return r}function br({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:tr(e,t,s.width),labelHeight:Z.h,lane:o??0,view:u,...t?{other:t}:{}});switch(mr(c,l,u)){case`both`:return c&&l?{...e,...rr(c,l,[...a.values()],o,tr(c,void 0,s.width))}:void 0;case`sender`:return c?{...e,...or(c,`sender`,d(c,l)),away:i()}:void 0;case`recipient`:return l?{...e,...or(l,`recipient`,d(l,c)),away:r()}:void 0;case`none`:return}}var xr=(e,t)=>({base:{id:e.requestId,kind:`peer`},from:e.senderRunId,to:e.recipientRunId,fromName:()=>V(t,e),toName:()=>H(t,e)}),Sr=(e,t)=>({base:{id:e.id,kind:`wait`},from:e.peerRunId,to:e.waiterRunId,fromName:()=>B(t,e.peerRunId),toName:()=>B(t,e.waiterRunId)}),Cr=e=>({requestId:e.id,senderRunId:e.peerRunId,recipientRunId:e.waiterRunId});function wr(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 Tr(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 Er(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&&!pr(s,a)))return{id:e.requestId,kind:`family`,...sr(c,l,s,i)}}function Dr(e,t,n,{peers:r,frame:i={width:e.clientWidth},waits:a=[]}){let o=yr(e,`data-activity-card`),s=yr(e,`data-activity-anchor`),c=Qn([...t,...a.map(Cr)]),l=[];for(let e of t){let t=c.get(e.requestId),a=e.relationship===`peer`?r?br(xr(e,n),o,t,i):void 0:Er(e,o,s,n,t,i.view);a&&l.push(a)}for(let e of r?a:[]){let t=br(Sr(e,n),o,c.get(e.id),i);t&&l.push(t)}let u=wr(o,i.width),d=fr(l.filter(e=>e.kind!==`family`).map(e=>({id:e.id,at:Tr(e.label,u)})),Z,i.view);return l.map(e=>({...e,label:d.get(e.id)??e.label}))}function Or(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 kr({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 Ar=e=>e<.5?2*e*e:1-(-2*e+2)**2/2;function jr(e,t,n=0){let r=Math.min(1,Math.max(0,(t-e.start)/e.duration)),i=Math.max(0,Ar(r)-n);return e.reverse?1-i:i}var Mr=`http://www.w3.org/2000/svg`,Nr=[0,.03,.06,.09,.12],Pr=[4.5,3.5,3,2.5,2],Fr={peer:`fill-message-peer-accent`,family:`fill-message-inbound-accent`,success:`fill-success`};function Ir(e,t){let n=e.querySelector(`g[data-comet="${CSS.escape(t.id)}"]`);if(n)return n;let r=document.createElementNS(Mr,`g`);r.setAttribute(`data-comet`,t.id);let i=document.createElementNS(Mr,`circle`);return i.setAttribute(`r`,`9`),i.setAttribute(`class`,`${Fr[t.tone]} opacity-35`),r.append(i),Nr.forEach((e,n)=>{let i=document.createElementNS(Mr,`circle`);i.setAttribute(`r`,String(Pr[n])),i.setAttribute(`class`,n===0?`fill-foreground`:Fr[t.tone]),i.setAttribute(`opacity`,String(1-n*.15)),r.append(i)}),e.append(r),r}function Lr(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();Ir(e,r).querySelectorAll(`circle`).forEach((e,i)=>{let o=t.getPointAtLength(jr(r,n,Nr[Math.max(0,i-1)])*a);e.setAttribute(`transform`,`translate(${o.x} ${o.y})`)})}}var Rr=e=>typeof requestAnimationFrame==`function`?requestAnimationFrame(e):setTimeout(()=>e(performance.now()),16),zr=e=>typeof cancelAnimationFrame==`function`?cancelAnimationFrame(e):clearTimeout(e);function Br(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=kr({frame:Rr,cancel:zr,draw:(t,n)=>Lr(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:U.comet}))},[e,t,n]),r}function Vr(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 Hr(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 Ur=`activity-layout-settled`;function Wr(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=Hr(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 Vr(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&&Gr(n,a.current,o)}}),w.useEffect(()=>{if(!r)for(let e of[...a.current])e.cancel()},[r])}function Gr(e,t,n){t.add(e);let r=()=>{t.delete(e)&&t.size===0&&n.dispatchEvent(new Event(Ur))};e.addEventListener(`finish`,r),e.addEventListener(`cancel`,r)}function Kr(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?qr(i,o):void 0;i.addEventListener(Ur,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(Ur,o),c?.()}},[e,t,n,r,i,a]),o}function qr(e,t){let n,r=()=>{n===void 0&&(n=requestAnimationFrame(()=>{n=void 0,t()}))},i=[...gr(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 Jr=28;function Yr(e){let t=e.replace(/\s+/g,` `).trim();return t.length>Jr?`${t.slice(0,Jr-1).trimEnd()}…`:t}function Xr(e,t){if(e.deadline!==void 0)return Zr(e.createdAt,e.deadline,t)}function Zr(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 Qr(e,t){if(e===`fade`)return`activity-line-out`;if(e!==`replied`)return i(`activity-march`,t&&`activity-line-in`)}function $r(e,t){return t in e.waitsClosing?`activity-line-out`:i(`activity-drift`,t in e.opening&&`activity-line-in`)}var ei=`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 ti({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:Z.w},className:i(ei,`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(Zr(t.since,t.deadline,n)*100)}%`}})})]})}function ni({line:e,request:t,now:n,phase:r,replied:a}){let o=Xr(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:Z.w},className:i(ei,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??Yr(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 Q=(e,t)=>e.closing[t]?.phase??`open`;function ri(e,t){let n=e.closing[t];return n!==void 0&&n.replied&&n.phase!==`reply`}var ii=new Set;function ai({line:e,motion:t}){let n=Q(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`,Qr(n,e.id in t.opening))})}function oi({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`,$r(t,e.id))})}function si({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 ci=[];function li({requests:e,waits:t=ci,active:n=ii,index:r,peers:i,layoutKey:a,now:o,motion:s=W,paused:c=!1}){let l=w.useRef(null),u=Kr(l,w.useCallback(n=>Dr(n,e,r,{peers:i,waits:t,frame:{width:n.clientWidth,view:vr(n)}}),[e,t,r,i]),Or,`[data-activity-card]`,a,!0),d=w.useMemo(()=>new Set(u.map(e=>e.id)),[u]),f=Br(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)(si,{id:`activity-ring-wait`})]}),u.map(e=>e.kind===`wait`?(0,T.jsx)(oi,{line:e,motion:s,active:n.has(e.id)},e.id):(0,T.jsx)(ai,{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)(ti,{line:e,wait:t,now:o,motion:s},e.id);let n=p.get(e.id);return e.kind===`peer`&&n?(0,T.jsx)(ni,{line:e,request:n,now:o,phase:Q(s,e.id),replied:ri(s,e.id)},e.id):null})]})}function ui(e,t){let n=new Map;for(let r of[...e?.projects??[],...t.projects])for(let[e,t]of kt(r))n.set(e,t);return n}var di={"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 fi(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} ${di[t??``]??`closed`}`}var pi={done:{tone:`success`,word:`finished`},failed:{tone:`danger`,word:`failed`},cancelled:{tone:`neutral`,word:`was cancelled`},review:{tone:`info`,word:`waits for review`}},mi=e=>e.relationship===`peer`?`peer`:`family`;function hi(e,t,n){let r=(e,n)=>B(t,e,n);switch(e.kind){case`request-opened`:return{tone:mi(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:fi(e.request,e.status,r)};case`rung-changed`:return{tone:m(e.task.rung).tone,text:`${e.task.title}: ${z(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=pi[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 gi(e,t,n,r){return[...t.map((e,t)=>({...e,id:r+t,at:n})),...e].slice(0,6)}function _i(e){let t=Math.max(0,Math.floor(e/1e3));return t<5?`now`:t<60?`${t} s`:`${Math.floor(t/60)} min`}var vi=new Set;function yi(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?vi:Mt(r,e),[r,e]),active:w.useMemo(()=>r===void 0?vi:new Set(e.filter(e=>e.waiterRunId===r||e.peerRunId===r).map(e=>e.id)),[r,e]),onHover:i}}var bi=new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}),xi=`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 Si({scope:e,projectId:t}){let r=e=>i(xi,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 Ci({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`}),bi.format(e),` `,ot()]})}function wi({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)(Ci,{now:t,stale:n}),r]})}function Ti({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 $({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)(Ti,{value:t,bump:r}),` `,n]})}function Ei({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)($,{icon:(0,T.jsx)(C,{tone:`pending`,"aria-hidden":`true`}),count:e.needsYou,label:`needs you`,bump:r(`needsYou`)}),(0,T.jsx)($,{icon:(0,T.jsx)(C,{tone:`running`,"aria-hidden":`true`}),count:e.working,label:`working`,bump:r(`working`)}),(0,T.jsx)($,{icon:(0,T.jsx)(C,{tone:`running`,shape:`ring`,"aria-hidden":`true`}),count:e.waiting,label:`waiting`,bump:r(`waiting`)}),(0,T.jsx)($,{icon:(0,T.jsx)(C,{tone:`neutral`,shape:`ring`,"aria-hidden":`true`}),count:e.queued,label:`queued`,bump:r(`queued`)}),(0,T.jsx)($,{icon:(0,T.jsx)(Ce,{"aria-hidden":`true`,className:`size-3.5`}),count:e.activeWorkers,label:`active workers`,bump:r(`activeWorkers`)}),(0,T.jsx)($,{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)(Ti,{value:e.inReview,bump:r(`inReview`)}),` in review`]})})]})}var Di=e=>new Map(e.map(e=>[e.runId,e])),Oi=e=>e!==void 0&&Ot(e)===void 0;function ki(e,t,n,r){let i=Di(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=Di(e.tasks),i=Di(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=jt(e.tasks),i=jt(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=Wt(e),i=Wt(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:W,feed:[],epoch:0,...e.snapshot?{seen:e.snapshot}:{}}}function Bi(e){let{plan:t,...n}=e;return{...n,motion:W,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=ui(t,n),o=r.flatMap(e=>hi(e,a,i)??[]),s=e.seq+o.length+1,c=tn(r,s,e.input.reduced);return{...e,seq:s,feed:o.length>0?gi(e.feed,o,i,e.seq+1):e.feed,motion:rn(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:rn(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{Sn as A,jt as B,Pn as C,jn as D,Nn as E,W as F,V as G,H,an as I,z as J,Wt as K,Rt as L,G as M,ln as N,wn as O,sn as P,rt as Q,Pt as R,$n as S,Ln as T,It as U,Ot as V,kt as W,A as X,M as Y,j as Z,Br as _,Ei as a,lr as b,li as c,Q as d,ri as f,Wr as g,Kr as h,Si as i,hn as j,kn as k,si as l,Xr as m,Xi as n,yi as o,$r as p,N as q,wi as r,_i as s,Zi as t,Qr as u,Cr as v,In as w,Qn as x,cr as y,B as 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 ee,O as y,Q as b,S as te,T as ne,U as re,V as x,W as ie,X as S,Y as C,Z as w,a as ae,at as T,ct as oe,dt as E,et as D,ft as se,it as ce,k as le,l as ue,lt as de,n as fe,nt as O,ot as k,p as pe,pt as A,q as j,r as me,rt as M,s as he,st as ge,tt as _e,ut as N,v as ve,w as ye,x as be,y as xe}from"./live-protocol-BDY7JJpT.js";var Se=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(){}},Ce=new class extends Se{#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`}},we=typeof window>`u`||`Deno`in globalThis;function P(){}function Te(e,t){return typeof e==`function`?e(t):e}function Ee(e){return typeof e==`number`&&e>=0&&e!==1/0}function De(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 Oe(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==Ae(o,t.options))return!1}else if(!Me(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 ke(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(je(t.options.mutationKey)!==je(a))return!1}else if(!Me(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function Ae(e,t){return(t?.queryKeyHashFn||je)(e)}function je(e){return JSON.stringify(e,(e,t)=>Le(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function Me(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>Me(e[n],t[n])):!1}var Ne=Object.prototype.hasOwnProperty;function Pe(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=Ie(e)&&Ie(t);if(!r&&!(Le(e)&&Le(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:Ne.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=Pe(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function Fe(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 Ie(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Le(e){if(!Re(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!Re(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function Re(e){return Object.prototype.toString.call(e)===`[object Object]`}function ze(e){return new Promise(t=>{A.setTimeout(t,e)})}function Be(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:Pe(e,t)}function Ve(e){return e}function He(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function Ue(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var We=Symbol();function Ge(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===We?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Ke(e,t){return typeof e==`function`?e(...t):!!e}function qe(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 Je=(()=>{let e=()=>we;return{isServer(){return e()},setIsServer(t){e=t}}})();function Ye(){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 Xe=new class extends Se{#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 Ze(e){return Math.min(1e3*2**e,3e4)}function Qe(e){return(e??`online`)!==`online`||Xe.isOnline()}var $e=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function et(e){let t=!1,n=0,r,i=Ye(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new $e(t);f(n),e.onCancel?.(n)}},s=()=>{t=!0},c=()=>{t=!1},l=()=>Ce.isFocused()&&(e.networkMode===`always`||Xe.isOnline())&&e.canRun(),u=()=>Qe(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??(Je.isServer()?0:3),o=e.retryDelay??Ze,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),ze(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 tt=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Ee(this.gcTime)&&(this.#e=A.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Je.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(A.clearTimeout(this.#e),this.#e=void 0)}};function nt(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=>{qe(e,()=>t.signal,()=>n=!0)},u=Ge(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?Ue:He;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?it:rt,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:rt(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 rt(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 it(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function at(e,t){return t?rt(e,t)!=null:!1}function ot(e,t){return!t||!e.getPreviousPageParam?!1:it(e,t)!=null}var st=class extends tt{#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=ut(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=ut(this.options);e.data!==void 0&&(this.setState(lt(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=Be(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===We||!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:!De(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=Ge(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`?nt(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=et({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof $e&&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 $e){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,...ct(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...lt(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 ct(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Qe(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function lt(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function ut(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 dt=class extends Se{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=Ye(),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),pt(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return mt(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return mt(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&&!Fe(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&ht(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 _t(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(Je.isServer()||this.#r.isStale||!Ee(e))return;let t=De(this.#r.dataUpdatedAt,e)+1;this.#d=A.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,!(Je.isServer()||I(this.options.enabled,this.#t)===!1||!Ee(this.#p)||this.#p===0)&&(this.#f=A.setInterval(()=>{(this.options.refetchIntervalInBackground||Ce.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(A.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(A.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&&pt(e,t),o=i&&ht(e,n,t,r);(a||o)&&(l={...l,...ct(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=Be(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=Be(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`,ee=_&&g,y=d!==void 0,b={status:m,fetchStatus:l.fetchStatus,isPending:_,isSuccess:m===`success`,isError:v,isInitialLoading:ee,isLoading:ee,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&&!y,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:v&&y,isStale:gt(e,t),refetch:this.refetch,promise:this.#o,isEnabled:I(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=b.data!==void 0,r=b.status===`error`&&!t,i=e=>{r?e.reject(b.error):t&&e.resolve(b.data)},a=()=>{let e=this.#o=b.promise=Ye();i(e)},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||b.data!==o.value)&&a();break;case`rejected`:(!r||b.error!==o.reason)&&a();break}}return b}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),!Fe(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 ft(e,t){return I(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&I(t.retryOnMount,e)===!1)}function pt(e,t){return ft(e,t)||e.state.data!==void 0&&mt(e,t,t.refetchOnMount)}function mt(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&>(e,t)}return!1}function ht(e,t,n,r){return(e!==t||I(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&>(e,n)}function gt(e,t){return I(t.enabled,e)!==!1&&e.isStaleByTime(F(t.staleTime,e))}function _t(e,t){return!Fe(e.getCurrentResult(),t)}var L=e(l(),1),vt=u(),yt=L.createContext(void 0),bt=e=>{let t=L.useContext(yt);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},xt=({client:e,children:t})=>(L.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,vt.jsx)(yt.Provider,{value:e,children:t})),St=L.createContext(!1),Ct=()=>L.useContext(St);St.Provider;function wt(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Tt=L.createContext(wt()),Et=()=>L.useContext(Tt),Dt=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?Ke(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},Ot=e=>{L.useEffect(()=>{e.clearReset()},[e])},kt=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||Ke(n,[e.error,r])),At=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))}},jt=(e,t)=>e.isLoading&&e.isFetching&&!t,Mt=(e,t)=>e?.suspense&&t.isPending,Nt=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Pt(e,t,n){let r=Ct(),i=Et(),a=bt(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,At(o),Dt(o,i,s),Ot(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]),Mt(o,d))throw Nt(o,u,i);if(kt({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&&!Je.isServer()&&jt(d,r)&&(l?Nt(o,u,i):s?.promise)?.catch(P).finally(()=>{u.updateResult()}),o.notifyOnChangeProps?d:u.trackResult(d)}var Ft=g.extend({capabilities:ie.partial()}),It=Error(`finite cycle deadline`);async function Lt(e,t,n,r){let i=(e,t)=>{for(let r of n)r.value(e,t)},a=()=>r.aborted&&r.reason!==It,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 Rt(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=ue.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(It),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 Lt(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 zt=!1,Bt=new Set,R=()=>typeof document<`u`&&document.visibilityState===`visible`&&!zt,Vt=()=>{let e=R();for(let t of[...Bt])t(e)},Ht=()=>{zt=!0,Vt()},Ut=()=>{zt=!1,Vt()};function Wt(e){return Bt.size===0&&typeof window<`u`&&(zt=!1,document.addEventListener(`visibilitychange`,Vt),document.addEventListener(`freeze`,Ht),document.addEventListener(`resume`,Ut),window.addEventListener(`pagehide`,Ht),window.addEventListener(`pageshow`,Ut)),Bt.add(e),()=>{Bt.delete(e),!Bt.size&&typeof window<`u`&&(document.removeEventListener(`visibilitychange`,Vt),document.removeEventListener(`freeze`,Ht),document.removeEventListener(`resume`,Ut),window.removeEventListener(`pagehide`,Ht),window.removeEventListener(`pageshow`,Ut))}}function Gt(){return(0,L.useSyncExternalStore)(Wt,R,()=>!1)}var Kt=new Set;function qt(e){return Kt.add(e),()=>{Kt.delete(e)}}async function Jt(e,t=!1){e.throwIfAborted(),await Yt(Promise.all([...Kt].map(async n=>n(e,t))),e)}function Yt(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 Xt(e,t){let n=new URL(e.apiBase||`/`,location.href);return!e.local||n.origin!==location.origin||n.pathname!==`/`||t||typeof SharedWorker!=`function`}function Zt(){return new URL(`/live-worker.js`,location.href)}function Qt(e){for(let t of e)t.handlers.ready?.()}function $t(){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),ee,y=()=>{ee?.abort();let e=ee=new AbortController,t=setTimeout(()=>e.abort(),1e4);Jt(e.signal).catch(()=>{}).finally(()=>clearTimeout(t))},b=Rt(v,e=>Jt(e,!0),(e,t)=>fetch(`${n?.apiBase??``}${String(e)}`,t)),te=e=>e.kind===`run`&&e.projectId==="default"&&n?{...e,projectId:n.bootProject}:e,ne=e=>{if(r)try{r.port.postMessage({version:3,documentId:t,epoch:o,...e})}catch{S()}},re=!1,x=()=>{if(!l||f)return;let e=v().map(e=>({id:e.id,demand:e.demand}));if(!e.length){ie();return}ne({type:`sync`,entries:e,...re?{workspaceReady:!0}:{}})},ie=()=>{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 S(){if(!(!l||d)){u=!0,ie(),_(`finite`);for(let e of v())e.handlers.ready?.();b.start(),y()}}let C=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,x();try{let n=await Yt(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&&S()}finally{clearTimeout(a),n?.removeEventListener(`abort`,i),e.recovery=void 0,e.recovering=!1,!e.released&&l&&!n&&(++o,w())}},w=(t=!1)=>{if(!(d||f||!n||!e.size||!R())){if(l=!0,Xt(n,u)){_(`finite`),Qt(v()),b.start(t);return}if(r){_(`topics`),Qt(v()),x();return}try{let t=new SharedWorker(Zt(),{type:`module`,name:fe});r=t,c=Date.now(),_(`topics`),t.addEventListener(`error`,()=>{r===t&&S()}),t.port.onmessageerror=()=>{r===t&&S()},t.port.onmessage=({data:n})=>{if(r!==t||!l)return;let i=he.safeParse(n);if(!i.success){S();return}let a=i.data;if(a.type===`hello`){c=Date.now(),x();return}if(a.epoch!==o||(c=Date.now(),a.type===`alive`))return;if(a.type===`unavailable`){S();return}let s=e.get(a.id);if(!(!s||s.recovering)){if(a.type===`reset`){if(a.reason===`shared task capacity reached`)S();else if(a.reason===`server restarted`)for(let e of v())C(e,a.reason);else C(s,a.reason);return}if(a.type===`value`){s.handlers.value?.(a.value,a.error);return}s.frame(a.frame)}},t.port.start(),Qt(v()),x(),i=setInterval(()=>{if(Date.now()-c>=15e3){S();return}x()},me)}catch{S()}}},T=()=>{l=!1,ie(),b.stop(),ee?.abort(),f?.abort(),f=void 0,clearTimeout(p),p=void 0;for(let t of e.values())t.recovery?.abort()},oe=t=>{if(!t){T();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=Ft.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 Jt(r.signal),await Promise.all(v().filter(e=>e.demand.kind===`run`).map(e=>C(e,`document resumed`,r.signal))),r.signal.throwIfAborted(),f===r&&(f=void 0,m=0,w(!0))})().catch(()=>{f!==r||d||!R()||(l=!1,m=Math.min(m+1,5),p=setTimeout(()=>{p=void 0,oe(!0)},Math.min(3e4,1e3*2**m)))}).finally(()=>clearTimeout(i))},E=()=>{R()&&(T(),oe(!0))},D=()=>{a||typeof window>`u`||(a=Wt(oe),window.addEventListener(`online`,E))};return{resetSession(){T(),n=void 0,u=!1,re=!1,_(void 0)},requestWorkspaceReady(){return!r||h!==`topics`?!1:(re=!0,x(),!0)},workspaceReadyReceived(){re=!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)){T(),n=t,u=!1;for(let n of e.values())n.bootAlias&&n.demand.kind===`run`&&(n.demand.projectId=t.bootProject);++o,w()}},subscribe(t,n){let r=te(ae.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,ne({type:`ack`,id:i,seq:e.event.seq})}else`type`in e&&(e.type===`reset`||e.type===`error`)?C(c,e.error):n.frame?.(e)},value:(e,t)=>{!c.released&&l&&!f&&n.value?.(e,t)},reset:(e,t)=>C(c,e,t)};return e.set(i,c),++o,D(),w(),()=>{if(!c.released){if(c.released=!0,c.recovery?.abort(),e.delete(i),++o,e.size){x();return}T(),a?.(),a=void 0,window.removeEventListener(`online`,E)}}},invalidateReads(){for(let e of v())e.demand.kind===`read`&&ne({type:`refresh`,id:e.id});b.refresh()},dispose(){d=!0,T(),e.clear(),a?.(),a=void 0,typeof window<`u`&&window.removeEventListener(`online`,E)}}}var z=$t(),en=z.configure,tn=z.subscribe,nn=z.invalidateReads,rn=z.bootProject,an=z.transport,on=z.onTransport,sn=z.resetSession,cn=z.requestWorkspaceReady,ln=z.workspaceReadyReceived,un=j.options,dn=new Set([`connected`,`disconnected`,`not-installed`,`unknown`]);function fn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function pn(e,t){return typeof e==`boolean`||!t&&e===void 0}function mn(e,t){return e===void 0||typeof e==`string`&&e.length>=1&&e.length<=128&&t===`disconnected`}function hn(e,t,n,r,i,a){return typeof e==`string`&&un.includes(e)&&typeof t==`string`&&dn.has(t)&&pn(n,a)&&(r===void 0||typeof r==`string`)&&mn(i,t)}function gn(e,t){if(!fn(e))return null;let{provider:n,status:r,enabled:i,hint:a,authFailureId:o}=e;return hn(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 _n(e){return gn(e,!1)}function vn(e,t){if(!fn(e)||!Array.isArray(e.providers))return null;let n=[],r=new Set;for(let i of e.providers){let e=gn(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=vn(e,!0);if(t===null||t.length===0)return null;let n=new Map(t.map(e=>[e.provider,e]));return un.flatMap(e=>{let t=n.get(e);return t?[t]:[]})}function yn(e){let t=B(e);if(t===null)throw Error(`Invalid provider status response`);return{providers:t}}function bn(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 xn(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:Sn(t,n)?e:i?{...e,enabled:n.enabled}:n})}}function Sn(e,t){return e.provider===t.provider&&e.status===t.status&&e.enabled===t.enabled&&e.hint===t.hint&&e.authFailureId===t.authFailureId}function Cn(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 un.filter(e=>n.has(e))}function wn(e,t){return B(e)?.find(e=>e.provider===t)}var Tn=C([`passing`,`failing`,`pending`]).nullable(),En=M({kind:C([`issue`,`pr`]),number:O(),title:k(),author:k(),createdAt:k(),labels:w(k()),body:k().optional(),url:k(),comments:O(),assignees:w(k()).optional(),projectIds:w(k()).optional(),isDraft:b().optional(),additions:O().optional(),deletions:O().optional(),checks:Tn.optional()});d(`available`,[M({available:D(!0),item:En.nullable(),labelColors:T(k(),k()).optional()}),M({available:D(!1),reason:k()})]),M({kind:C([`issue`,`pr`]),number:v().int().positive().safe()});var Dn=M({id:k(),title:k(),url:k()});M({available:b(),reason:k().optional(),repo:k().optional(),syncedAt:k().optional(),issues:w(En),prs:w(En),labelColors:T(k(),k()).optional(),viewerLogin:k().optional(),projects:w(Dn).optional(),projectsReason:k().optional(),projectsState:C([`refreshing`,`ready`,`unavailable`]).optional(),projectsGeneration:k().optional(),issuesTotal:O().int().nonnegative().optional(),prsTotal:O().int().nonnegative().optional(),issuesNextCursor:k().nullable().optional(),prsNextCursor:k().nullable().optional(),commentsDeferred:D(!0).optional()});var On=k().min(1).max(2e3).optional();M({limit:k().optional(),refresh:k().optional(),issuesCursor:On,prsCursor:On,issuesDone:D(`1`).optional(),prsDone:D(`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`})}),M({kind:C([`issue`,`pr`]),numbers:k().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:D(`1`).optional()}),d(`available`,[M({available:D(!0),counts:T(O(),O().int().nonnegative())}),M({available:D(!1),reason:k()})]),d(`available`,[M({available:D(!0),checks:T(O(),Tn)}),M({available:D(!1),reason:k()})]),M({kind:C([`issue`,`pr`]),q:k().trim().min(1).max(256),limit:v().int().positive().max(50).optional()}),M({available:b(),projectsReason:k().optional(),reason:k().optional(),items:w(En),truncated:b().optional(),labelColors:T(k(),k()).optional()});var kn=C([`draft`,`review-required`,`changes-requested`,`checks-pending`,`checks-failing`,`ready`,`merged`,`closed`,`open`,`completed`,`not-planned`]),An=O().nullable();d(`available`,[M({available:D(!0),prs:T(O(),kn),issues:T(O(),kn),conflicts:w(O()).optional(),recheckAfterMs:An}),M({available:D(!1),reason:k(),recheckAfterMs:An})]);var jn=M({id:O(),author:k(),avatarUrl:k().optional(),createdAt:k(),body:k(),kind:C([`comment`,`review`]),reviewState:C([`approved`,`changes_requested`,`commented`,`dismissed`]).optional(),url:k()}),Mn=C([`committed`,`labeled`,`unlabeled`,`assigned`,`unassigned`,`merged`,`closed`,`reopened`,`head_ref_force_pushed`,`cross-referenced`,`renamed`]),Nn=M({id:k(),kind:Mn,actor:k(),avatarUrl:k().optional(),createdAt:k(),url:k().optional(),sha:k().optional(),message:k().optional(),checks:Tn.optional(),label:M({name:k(),color:k().optional()}).optional(),subject:k().optional(),refNumber:O().optional(),refTitle:k().optional(),refIsPr:b().optional()});M({available:b(),reason:k().optional(),comments:w(jn),truncated:b().optional(),events:w(Nn).optional(),detail:M({body:k(),additions:O().int().nonnegative().optional(),deletions:O().int().nonnegative().optional()}).optional()});var Pn=C([`merge`,`squash`,`rebase`]),Fn=M({name:k(),state:C([`passing`,`failing`,`pending`,`unknown`]),required:b().nullable(),url:k().optional()}),In=M({number:O(),title:k(),url:k(),state:C([`open`,`closed`,`merged`]),isDraft:b(),headRef:k(),baseRef:k(),headSha:k(),mergeable:C([`mergeable`,`conflicting`,`unknown`]),reviewDecision:C([`approved`,`changes-requested`,`review-required`,`not-required`,`unknown`]),checks:w(Fn),methods:w(Pn),defaultMethod:Pn.nullable(),eligibility:C([`ready`,`blocked`,`pending`,`unauthorized`,`terminal`,`unknown`]),blockers:w(M({code:k(),message:k()})),canMerge:b(),canOverride:b()});d(`available`,[M({available:D(!0),mergeState:In}),M({available:D(!1),reason:k()})]),M({merged:D(!0),number:O(),url:k(),method:Pn,mergeCommitSha:k().optional()});var Ln=M({path:k(),previousPath:k().optional(),status:C([`added`,`modified`,`removed`,`renamed`,`copied`,`changed`]),additions:O(),deletions:O(),patch:k().optional(),patchUnavailableReason:C([`binary`,`too-large`,`not-provided`]).optional(),truncated:b().optional()});d(`available`,[M({available:D(!0),number:O(),headSha:k(),files:w(Ln),additions:O(),deletions:O(),truncated:b(),reason:k().optional()}),M({available:D(!1),reason:k()})]),M({generation:k().uuid()}),d(`state`,[M({generation:k().uuid(),state:D(`ready`),projects:w(Dn),membership:T(k(),w(k()))}),M({generation:k().uuid(),state:D(`unavailable`),reason:k()})]),M({command:k().min(1).max(1024),port:O().int().min(1).max(65535),cwd:k().optional(),label:k().min(1).max(48).optional(),path:k().startsWith(`/`).optional()});var Rn=C([`registered`,`replaced`,`invalid_input`,`cwd_outside_worktree`,`cezar_port`,`port_held`,`too_many`,`preview_disabled`,`headless`,`worktree_missing`,`unavailable`]);M({ok:b(),code:Rn,message:k(),hint:k()}),M({port:O().int().min(1).max(65535),restart:b().optional()}).strict(),M({ok:b(),code:C([`stopped`,`restarted`,`approval_required`,`adopted`,`not_registered`,`port_held`,`port_in_use`,`invalid_input`,`preview_disabled`,`headless`,`worktree_missing`,`unavailable`]),message:k(),hint:k()});var V=M({port:O().int().min(1).max(65535),command:k(),cwd:k().optional(),label:k(),path:k().optional(),registeredAt:E(),answeredAtRegistration:b()}),zn=C([`registered`,`starting`,`up`,`stalled`,`exited`,`stopped`,`adopted`,`unavailable`]),Bn=M({type:D(`preview.agent-browser`),state:C([`connected`,`disconnected`])}),Vn=O().int().min(1).max(65535),Hn=e=>Math.min(4e3,Math.max(100,Math.round(e))),Un=e=>Math.min(2,Math.max(1,e)),Wn=C([`normal`,`high`,`ultra`]),Gn=C([`mousePressed`,`mouseReleased`,`mouseMoved`,`mouseWheel`]),Kn=C([`left`,`middle`,`right`,`none`]),qn=C([`keyDown`,`rawKeyDown`,`keyUp`]);d(`t`,[M({t:D(`open`),viewerId:k().min(1).max(128).optional(),resume:b().optional(),target:ge([M({port:Vn}),M({url:k().min(1).max(2048)}),M({agent:D(!0)})]),quality:Wn.optional(),dpr:O().finite().transform(Un).optional()}),M({t:D(`quality`),quality:Wn}),M({t:D(`run`),port:Vn}),M({t:D(`stop`),port:Vn}),M({t:D(`keepWaiting`),port:Vn}),M({t:D(`resize`),w:O().finite().transform(Hn),h:O().finite().transform(Hn),dpr:O().finite().transform(Un).optional()}),M({t:D(`mouse`),type:Gn,x:O().finite(),y:O().finite(),button:Kn.optional(),buttons:O().optional(),clickCount:O().optional(),deltaX:O().optional(),deltaY:O().optional(),modifiers:O().optional()}),M({t:D(`key`),type:qn,key:k().optional(),code:k().optional(),text:k().optional(),modifiers:O().optional(),vk:O().optional(),commands:w(k()).optional()}),M({t:D(`insertText`),text:k()}),M({t:D(`nav`),url:k().min(1).max(2048)}),M({t:D(`back`)}),M({t:D(`forward`)}),M({t:D(`reload`),ignoreCache:b().optional()}),M({t:D(`dialogResult`),accept:b(),text:k().optional()}),M({t:D(`ack`)}),M({t:D(`ping`),ts:O()}),M({t:D(`download`)}),M({t:D(`cancelDownload`)}),M({t:D(`retryBrowser`)})]);var Jn=d(`t`,[d(`stage`,[M({t:D(`state`),stage:D(`chromium-missing`),installCommand:k(),canDownload:b()}),M({t:D(`state`),stage:D(`downloading`),received:O(),total:O()}),M({t:D(`state`),stage:D(`download-failed`),error:k(),installCommand:k()}),M({t:D(`state`),stage:D(`sandbox-failed`),stderrTail:k()}),M({t:D(`state`),stage:D(`browser-exited`),reason:C([`timeout`,`exited`]).optional(),signal:k().optional(),exitCode:O().int().optional(),stderrTail:k(),serverUp:b()}),M({t:D(`state`),stage:D(`needs-approval`),server:V,wasRunning:b()}),M({t:D(`state`),stage:D(`port-held`),server:V,ownerTitle:k()}),M({t:D(`state`),stage:D(`server-starting`),server:V,attempt:O().int(),startedAt:E(),logTail:w(k())}),M({t:D(`state`),stage:D(`server-stalled`),server:V,logTail:k()}),M({t:D(`state`),stage:D(`server-exited`),server:V,exitCode:O().int().nullable(),logTail:k()}),M({t:D(`state`),stage:D(`server-stopped`),server:V,reason:C([`user`,`idle`]),lastUrl:k()}),M({t:D(`state`),stage:D(`worktree-removed`),server:V.optional()}),M({t:D(`state`),stage:D(`loading`),step:C([`browser`,`page`,`frame`])}),M({t:D(`state`),stage:D(`streaming`),adopted:b()}),M({t:D(`state`),stage:D(`agent-idle`)})]),M({t:D(`url`),url:k()}),M({t:D(`cursor`),cursor:k()}),M({t:D(`dialog`),type:C([`alert`,`confirm`,`prompt`,`beforeunload`]),message:k(),defaultPrompt:k().optional(),origin:k()}),M({t:D(`replaced`),by:k()}),M({t:D(`pong`),ts:O()}),M({t:D(`downloadProgress`),received:O(),total:O()})]),Yn=[`text/plain`,`text/markdown`,`text/x-markdown`,`application/pdf`];function Xn(e){return e.startsWith(`image/`)}function Zn(e){return Xn(e)||Yn.includes(e)}function Qn(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 $n=new Set([`png`,`jpg`,`jpeg`,`webp`,`gif`,`img`]);function er(e){let t=e.split(`.`).pop()?.toLowerCase();return t!==void 0&&$n.has(t)}var tr=M({id:k().min(1),name:k().optional(),prompt:k().optional(),skill:k().optional(),model:k().optional(),effort:k().max(32).optional(),timeoutMs:O().int().min(0).max(2147483647).optional(),runner:j.optional(),agentProfile:k().min(1).max(64).optional(),allowedTools:w(k()).optional(),bashAllowlist:w(k()).optional(),command:k().optional(),onFail:M({retry:k().min(1),max:O().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`]}),nr=M({name:k(),description:k().optional(),steps:w(tr),source:C([`built-in`,`file`]),path:k().optional()});function rr(e,t){let n=new Set;for(let r of e.steps)r.command||n.add(r.runner??t);return j.options.filter(e=>n.has(e))}var ir=M({path:k(),message:k()});M({workflows:w(nr),issues:w(ir)}),M({name:k().trim().min(1).max(80),description:k().max(2e3,`must be at most 2000 characters`).optional(),steps:w(tr).min(1).max(8).optional(),skills:w(k().trim().min(1)).min(1).max(8).optional(),overwrite:b().optional()}).refine(e=>!!e.steps!=!!e.skills,{message:`provide either "steps" or "skills", not both`}),M({path:k(),name:k()}),M({name:k(),description:k().optional(),steps:w(tr)}),M({ok:D(!0),path:k()}),M({name:k().optional(),steps:w(tr),rationale:k(),fallback:b()});var ar=/^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]*)$/,or=k().max(2048).regex(ar).refine(e=>{let t=ar.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`),sr=C([`checks`,`merge`,`merge_or_blocked`]),cr=M({pr:or,until:sr.default(`checks`),wake_on_conflict:b().default(!0),timeout_seconds:O().int().min(1).max(7200).default(1800)}).strict(),lr=k().regex(/^[0-9a-f]{40}$/i),H=M({prUrl:or,repository:k().max(2048).regex(/^[a-zA-Z0-9_-]+\/[a-zA-Z0-9_.-]+$/),prNumber:O().int().positive().max(2**53-1),headSha:lr}).strict(),ur=C([`passed`,`failed`,`cancelled`,`skipped`,`no_checks`,`head_changed`,`conflicting`,`deadline`,`error`,`merged`,`closed`,`blocked`]),dr=C(`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(`.`));M({code:dr,message:k().max(4096)}).strict();function fr(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 pr=M({reason:C([`conflict`,`no_pending_merge`]),isInMergeQueue:b(),autoMergeEnabled:b(),event:M({kind:C([`queue_removal`,`auto_merge_disabled`]),createdAt:E({offset:!0}),reason:k().max(256).optional(),reasonCode:k().max(256).optional()}).strict().optional()}).strict(),mr=M({outcome:ur,headSha:lr,observedHeadSha:lr.optional(),mergeable:C([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]).optional(),mergeStateStatus:k().max(64).optional(),mergedAt:E({offset:!0}).optional(),mergeCommitSha:lr.optional(),mergeBlock:pr.optional(),observedAt:E(),checks:w(M({name:k().max(256),state:k().max(256),link:k().max(2048)}).strict()).max(100),totalChecks:O().int().nonnegative(),truncated:b(),diagnostic:k().max(4096).refine(e=>fr(e)<=4096).optional()}).strict().refine(e=>e.outcome===`blocked`==(e.mergeBlock!==void 0),`Only blocked outcomes require mergeBlock`).refine(e=>fr(JSON.stringify(e))<=32*1024,`CI result exceeds 32 KiB`),hr=H.extend({id:N(),generation:k().min(1).max(256),turnId:k().min(1).max(256),timeoutSeconds:O().int().min(1).max(7200),until:sr.default(`checks`),wakeOnConflict:b().default(!0),registeredAt:E(),deadline:E(),phase:C([`registered`,`parked`,`wake-pending`,`delivered`,`withdrawn`]),result:mr.optional(),wakeId:k().min(1).max(256).optional(),deliveredAt:E().optional()}).strict();H.extend({waitId:N(),registeredAt:E(),deadline:E(),phase:hr.shape.phase}).strict();var gr=7200,U=512,_r=1800,vr=7200,yr=4096,br=1800,xr=O().int().min(2),Sr=C([`open`,`resolved`,`delivered`,`cancelled`]),Cr=C([`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:N(),source:C([`agent`,`cezar`]),via:Cr,registeredAt:E(),phase:Sr,resolvedAt:E().optional(),deliveredAt:E().optional(),cancelledAt:E().optional(),turnId:k().min(1).max(256)},wr=M({...W,kind:D(`pr`),deadline:E(),...H.shape,generation:k().min(1).max(256),timeoutSeconds:O().int().min(1).max(7200),until:sr,wakeOnConflict:b(),result:mr.optional()}).strict(),Tr=M({...W,kind:D(`timer`),deadline:E(),seconds:O().int().min(60).max(gr),note:k().max(U).optional()}).strict(),Er=M({outcome:C([`exit_file`,`exited`,`deadline`,`error`]),observedAt:E(),exitCode:O().int().min(-2147483648).max(2147483647).optional(),exitFileNote:D(`not-an-exit-code`).optional(),diagnostic:k().max(512).optional()}).strict(),Dr=M({...W,kind:D(`process`),deadline:E(),timeoutSeconds:O().int().min(1).max(vr),pid:xr,startToken:k().min(1).max(256).optional(),exitFile:k().min(1).max(yr).optional(),note:k().max(U).optional(),result:Er.optional()}).strict(),Or=M({...W,kind:D(`human`),questions:re.shape.questions.optional(),context:_.optional(),askSeq:O().int().nonnegative().optional()}).strict(),kr=M({...W,kind:D(`worker`),deadline:E().optional(),timeoutSeconds:O().int().min(1).max(1800).optional(),mode:f.optional(),workerIds:y.optional(),revisions:w(M({workerId:N(),revision:O().int().nonnegative()}).strict()).max(32).optional(),outcomes:w(le).max(32).optional(),requestIds:y.optional(),requestOutcomes:w(x).max(32).optional(),result:M({reason:C([`outcome`,`timeout`])}).strict().optional(),wakeInputId:N().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]})}),Ar=e=>e.deadline!==void 0,jr=M({...W,kind:D(`peer`),deadline:E(),timeoutSeconds:O().int().min(1).max(br),peerIds:y,result:p.optional()}).strict().superRefine(ye),Mr=M({id:k().min(1).max(256),status:C([`running`,`completed`,`failed`,`cancelled`])}).strict(),Nr=M({reason:C([`settled`,`timeout`,`interrupted`,`superseded`])}).strict(),Pr=d(`kind`,[wr,Tr,Or,kr,Dr,jr,M({...W,kind:D(`subagent`),source:D(`cezar`),via:D(`native-subagents`),deadline:E(),children:w(Mr).min(1).max(32),result:Nr.optional()}).strict()]),Fr=(e,t,n)=>{t===`one`&&e.length!==1&&n.addIssue({code:`custom`,message:`one mode requires exactly one id`,path:[`mode`]})},Ir=O().int().min(1).max(br).default(600),Lr={operation_id:N().optional()};d(`kind`,[cr.extend({kind:D(`pr`),...Lr}).strict(),M({kind:D(`worker`),...Lr,worker_ids:y,mode:f.optional(),timeout_seconds:Ir}).strict().superRefine((e,t)=>Fr(e.worker_ids,e.mode,t)),M({kind:D(`request`),...Lr,request_ids:y,mode:f.optional(),timeout_seconds:Ir}).strict().superRefine((e,t)=>Fr(e.request_ids,e.mode,t)),M({kind:D(`peer`),...Lr,peer_ids:y,timeout_seconds:Ir}).strict(),M({kind:D(`timer`),...Lr,seconds:O().int().min(60).max(gr),note:k().max(U).optional()}).strict(),M({kind:D(`process`),...Lr,pid:xr,exit_file:k().min(1).max(yr).optional(),timeout_seconds:O().int().min(1).max(vr).default(_r),note:k().max(U).optional()}).strict()]),M({wait_id:N()}).strict();var Rr={wait_id:N(),summary:k().max(256)},G=d(`kind`,[M({...Rr,kind:C([`pr`,`timer`,`worker`,`process`,`peer`,`subagent`]),deadline:E()}).strict(),M({...Rr,kind:D(`human`)}).strict()]),zr=C([...dr.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`]),Br=k().max(4096),Vr=M({operationId:N(),requestHash:k().regex(/^[0-9a-f]{64}$/),wait:Pr,deduplicated:b()}).strict(),Hr={operation_id:N().optional()};d(`ok`,[M({ok:D(!0),...Hr,effect:C([`applied`,`unchanged`]).optional(),deduplicated:b().optional(),replayed:b().optional(),wait_phase:C([...Sr.options,`unavailable`]).optional(),wait_id:N(),kind:C([`pr`,`timer`,`worker`,`request`,`process`,`peer`]),deadline:E(),open_waits:w(G).max(16)}).strict(),M({ok:D(!1),...Hr,effect:C([`refused`,`unknown`]).optional(),retained_wait:G.optional(),code:zr,message:Br,open_waits:w(G).max(16).optional()}).strict()]),re.extend({context:_});var Ur=C([`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`]);d(`ok`,[M({ok:D(!0),wait_id:N(),open_waits:w(G).max(16)}).strict(),M({ok:D(!1),code:Ur,message:Br,open_waits:w(G).max(16).optional()}).strict()]),d(`cancelled`,[M({cancelled:D(!0),wait_id:N(),open_waits:w(G).max(16)}).strict(),M({cancelled:D(!1),code:C([`not_found`,`already_resolved`,`human_question`,`invalid_request`,`unavailable`]),message:Br,open_waits:w(G).max(16).optional()}).strict()]),M({summary:k().max(2e3).optional()}).strict();var Wr=C([`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`]),Gr={ok:D(!0),finishes:D(`at_turn_end`),open_waits:w(G).max(16)};d(`ok`,[d(`completes`,[M({...Gr,completes:D(`task`)}).strict(),M({...Gr,completes:D(`step`),next_step:k().min(1)}).strict()]),M({ok:D(!1),code:Wr,message:Br,workers:w(M({worker_id:k(),reason:C([`outstanding`,`uncollected`,`question`])}).strict()).max(64).optional(),open_waits:w(G).max(16).optional()}).strict()]);var Kr=ce(e=>e&&typeof e==`object`&&e.kind===`ci`?{...e,kind:`pr`,until:`checks`}:e,d(`kind`,[M({kind:D(`human`),shown:D(!0).optional()}),M({kind:D(`usage-limit`),at:k()}),M({kind:D(`workers`),count:O().int().nonnegative(),replies:D(!0).optional(),peers:D(!0).optional()}),M({kind:D(`peers`),count:O().int().nonnegative()}),M({kind:D(`subagents`),count:O().int().nonnegative()}),M({kind:D(`pr`),until:sr,waitId:N(),prUrl:H.shape.prUrl,repository:H.shape.repository,prNumber:H.shape.prNumber,deadline:E()}),M({kind:D(`process`),waitId:N(),pid:xr,deadline:E(),note:k().max(U).optional()}),M({kind:D(`timer`),waitId:N(),at:E(),note:k().max(U).optional()})]));function qr(e){return e.status===`waiting`&&e.autoResumeAt!==void 0}function Jr(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 Yr(e,t){let n=Jr(e);return!!t?.some(e=>n.has(e))}function Xr(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 Zr(e){let t=e.filter(e=>e.kind===`worker`);if(t.length)return new Set(t.flatMap(e=>Xr(e).filter(e=>!e.settled).map(e=>e.key))).size}function Qr(e){let t;for(let n of e)(!t||Date.parse(n.deadline)<Date.parse(t.deadline))&&(t=n);return t}function $r(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(qr(e))return{kind:`usage-limit`,at:e.autoResumeAt};let r=Zr(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=>Yr(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=Qr(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=Qr(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=Qr(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 ei(e){return Array.isArray(e.waits)&&e.waits.some(e=>e?.kind===`human`&&e.phase===`open`)}function ti(e){return Array.isArray(e.waits)&&e.waits.some(e=>e?.kind===`human`&&e.phase===`open`&&(e.source===`agent`||!!e.questions?.length))}function ni(e){return e.waitWakePending?!0:Array.isArray(e.waits)&&e.waits.some(e=>e?.phase===`resolved`)}function ri(e){return e.waitingOn??$r(e)}function ii(e){let t=e.delegation;if(!t||t.role===`invalid`)return;let n=(e.waits??[]).filter(e=>e.kind===`worker`&&Ar(e)&&(e.phase===`open`||e.phase===`resolved`)).at(-1);if(!n)return;let r=ci(n);return n.phase===`open`&&e.status===`waiting`&&!ei(e)?{...r,phase:`parked`}:r}function ai(e,t){return(e??[]).filter(e=>e.kind===`worker`&&e.via===`completion`&&!Ar(e)&&(e.phase===`open`||e.phase===`resolved`)&&(t===void 0||!!e.workerIds?.includes(t))).at(-1)}function oi(e,t){let n=e.phase===`cancelled`?`cancelled`:e.phase===`open`?void 0:e.result?.reason,r=e.phase===`open`&&t.status===`waiting`&&!ei(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 si(e){if(e.delegation?.role!==`root`)return;let t=ai(e.waits);return t?oi(t,e):void 0}function ci(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 li=M({autosave:w(M({at:k(),note:k(),periodic:M({branch:k().nullable(),count:O().int().positive(),first:k().nullable(),latest:k().nullable()}).optional()}))});function ui(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 di(e,t){let n=e.indexOf(`
|
|
4
|
-
`,t);return n<0?e.length:n+1}var fi={archiveWhenDone:b().optional(),autoMergePr:b().optional()},pi={allowWorkers:b().optional(),allowMessaging:b().optional()},mi=e=>e.allowWorkers!==!1,hi=e=>e.allowMessaging!==!1,gi=M({owner:k().min(1),repo:k().min(1),number:O().int().positive()}).extend({mergedAt:k().datetime()}),_i=M({reason:D(`pull-requests-merged`),archivedAt:k().datetime(),fingerprint:k(),pullRequests:w(gi)}),vi=C([`queued`,`running`,`waiting`,`review`,`done`,`failed`,`cancelled`]),yi=M({id:k().uuid(),phase:C([`pending`,`blocked`,`complete`]),message:k().optional()}),bi=C([`pending`,`running`,`waiting`,`review`,`done`,`failed`,`cancelled`,`skipped`]),xi=C([`cursor-acp`,`cursor-print`]),K=O().finite().nonnegative(),Si=M({id:k(),name:k(),kind:C([`agent`,`check`]),status:bi,iterations:O(),retriesUsed:O().int().nonnegative().optional(),tokensUsed:O(),inputTokens:K.optional(),outputTokens:K.optional(),usageInvocationsStarted:K.optional(),usageInvocationsObserved:K.optional(),usageTurnsStarted:K.optional(),usageTurnsRecorded:K.optional(),usageInvocationEpoch:K.optional(),startedAt:k().optional(),finishedAt:k().optional(),error:k().optional(),sessionId:k().optional(),sessionTransport:xi.optional(),backend:j.optional(),profileId:k().optional(),costUsd:O().optional(),synthetic:D(`continuation`).optional()}),Ci=M({adds:O(),dels:O(),files:O(),repointed:b().optional()}),wi=M({id:k(),text:k(),images:w(k()).optional(),createdAt:k()}),Ti=wi.extend({origin:C([`human`,`lifecycle`]).optional(),agentInputId:N().optional(),resumeContext:M({failure:M({stepId:k().optional(),error:k()}).optional(),restarted:D(!0).optional()}).optional()}),Ei=M({cpuPct:O(),rssBytes:O(),procCount:O()}),Di=M({lastDeliveredAt:k().optional(),lastError:k().max(1024).optional(),lastErrorWebhookId:k().optional()}),Oi=M({status:C([`running`,`done`,`failed`]),startedAt:k(),finishedAt:k().optional(),durationMs:O().optional(),error:k().optional()}),ki=M({number:O().int().positive().lt(1e7),url:k().regex(/^https?:\/\/github\.com\/[a-z0-9_.-]+\/[a-z0-9_.-]+\/pull\/\d+\/?(?:[?#][^\s]*)?$/i).optional(),source:C([`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`}),Ai=M({id:k(),title:k(),titleSummary:k().optional(),diffStat:Ci.optional(),workflow:k(),task:k(),queuedMessages:w(wi).optional(),stopping:b().optional(),continuationMessage:Ti.optional(),workflowResumeStepId:k().optional(),invalidAsk:b().optional(),delegation:te.optional(),agentInputs:w(be).optional(),waits:w(Pr).optional(),waitRegistrations:w(Vr).optional(),lastWaits:w(Pr).optional(),lastWaitsError:k().max(256).optional(),automaticWakes:O().int().nonnegative().optional(),waitDeliveryFailures:O().int().nonnegative().optional(),previewServers:w(V).optional(),taskImages:w(k()).optional(),model:k().optional(),effort:k().max(32).optional(),modelIdentity:k().optional(),runner:j.optional(),agentProfile:k().optional(),systemPrompt:k().optional(),generateFollowups:b().optional(),autonomous:b().optional(),...fi,...pi,completionAction:yi.optional(),archiveBlocker:M({message:k(),runId:k().optional(),pullRequestUrl:k().optional()}).optional(),automation:M({automationId:k(),automationRevision:O(),receiptId:k(),event:k(),githubUrl:k()}).optional(),automationTrigger:M({automationId:k(),automationRevision:O(),receiptId:k(),trigger:C([`schedule`,`catch-up`,`manual`]),occurrenceAt:k()}).optional(),destroyRetry:m.optional(),notify:b().optional(),webhook:Di.optional(),status:vi,hasPendingPermission:b().optional(),autoResumeAt:k().optional(),autoResumeAttempts:O().optional(),createdAt:k(),startedAt:k().optional(),finishedAt:k().optional(),tokensUsed:O(),inputTokens:K.optional(),outputTokens:K.optional(),costUsd:O().optional(),pullRequestUrl:k().optional(),pullRequests:w(ki).optional(),referencedPullRequestUrl:k().optional(),prNumber:O().optional(),issueNumber:O().optional(),referencedIssueNumberSeeded:b().optional(),titleOrigin:C([`user`,`auto`,`marker`]).optional(),markerRefs:M({pr:O().optional(),issue:O().optional()}).optional(),referencedPrCandidates:w(k()).optional(),referencedIssueUrl:k().optional(),referencedIssueCandidates:w(k()).optional(),worktree:D(!1).optional(),worktreePath:k().optional(),branch:k().optional(),baseBranch:k().optional(),worktreeReclaimedAt:k().optional(),worktreeSetup:Oi.optional(),groupId:k().optional(),variant:k().optional(),clientRequestId:k().optional(),clientRequestHash:k().optional(),peakRssBytes:O().optional(),peakProcCount:O().optional(),archived:b(),archivedAt:k().optional(),autoArchive:_i.optional(),manualUnarchivedAt:k().datetime().optional(),pinned:b().optional(),pinnedAt:k().optional(),seenAt:k().optional(),currentStepId:k().optional(),error:k().optional(),steps:w(Si),workflowDef:nr.optional(),handoffRecords:li.optional()});Ai.extend({finishBlocked:k().nullable().optional(),cliResumeCommand:k().optional(),usage:Ei.optional()});var ji=M({id:k(),title:k(),titleSummary:k().optional(),titleOrigin:C([`user`,`auto`,`marker`]).optional(),status:vi,hasPendingPermission:Ai.shape.hasPendingPermission,waitingOn:Kr.optional(),waitWakePending:D(!0).optional(),delegation:ne.optional(),createdAt:k(),finishedAt:k().optional(),seenAt:k().optional(),archived:b(),autoResumeAt:k().optional(),workflow:k(),branch:k().optional(),startedAt:k().optional(),pullRequestUrl:k().optional(),pullRequests:w(ki).optional(),referencedPullRequestUrl:k().optional(),prNumber:O().optional(),issueNumber:O().optional(),referencedIssueUrl:k().optional(),markerRefs:M({pr:O().optional(),issue:O().optional()}).optional(),costUsd:O().optional(),peakRssBytes:O().optional(),peakProcCount:O().optional(),usage:Ei.optional(),workflowLabel:k(),groupId:k().optional(),variant:k().optional(),pinned:b().optional(),automationId:k().optional(),runner:Ai.shape.runner,model:k().optional(),notify:b().optional(),diffStat:Ci.optional(),tokensUsed:O(),inputTokens:Ai.shape.inputTokens,outputTokens:Ai.shape.outputTokens,currentStepId:k().optional(),currentStepBackend:j.optional(),error:k().optional(),worktreePath:k().optional()}),Mi=ji.extend({projectId:k()});function Ni(e){return e.automationId!==void 0}var Pi=T(k(),M({prs:T(O(),kn),issues:T(O(),kn)}));M({archived:C([`recent`,`all`]).optional()}),M({before:k().optional(),limit:v().int().min(1).max(200).optional(),q:k().optional()});var Fi=M({runs:w(ji),nextCursor:k().nullable(),total:O().int().nonnegative()});M({q:k().trim().min(2),limit:v().int().min(1).max(50).optional()});var Ii=M({runs:w(Mi),truncated:w(k())});M({cancelled:b()}),M({cancelled:D(!0)}),M({scope:C([`unpinned`,`pinned`]).optional(),automation:b().optional()}),M({archived:O(),ids:w(k()),pinnedIds:w(k())}),M({automation:b().optional()}),M({read:O()}),M({deleted:D(!0)}),M({finished:D(!0)}),M({continued:D(!0)}),M({url:k(),dryRun:b()}),ge([M({delivered:D(!0)}),M({queued:D(!0),message:wi}),M({deferred:D(!0)})]),M({message:wi}),M({removed:D(!0)}),M({opened:D(!0),command:k()}),M({removed:D(!0)}),M({committed:D(!0),sha:k()}),M({pushed:D(!0),branch:k(),remote:k(),upstreamSet:b()}),M({commits:w(M({sha:k(),subject:k(),author:k(),when:k()}))}),M({id:k().min(1),file:k().regex(/^[A-Za-z0-9_-][A-Za-z0-9._-]*$/).refine(e=>!e.includes(`..`))});var Li=M({mediaType:k().refine(Zn,{message:`unsupported attachment type — images, plain text, markdown and PDF only`}),data:k().min(1).max(7e6)}),Ri=D(1,{error:`Parallel variants are removed. Use owned workers to compare approaches; collect their results and integrate the chosen commits explicitly.`}).optional(),zi=M({workflow:k().min(1).optional(),steps:w(tr).min(1).max(8).optional(),task:k().min(1).max(1e5,`must be at most 100000 characters`),model:k().optional(),effort:k().max(32).optional(),runner:j.optional(),agentProfile:k().max(64).optional(),variants:Ri,worktree:b().optional(),autonomous:b().optional(),...fi,...pi,systemPrompt:k().trim().max(2e4,`must be at most 20000 characters`).optional().transform(e=>e||void 0),images:w(Li).max(4).optional()});zi.extend({clientRequestId:k().uuid().optional(),notify:b().optional()}).refine(e=>!!e.workflow!=!!e.steps,{message:`provide either "workflow" or "steps", not both`}),M({text:k().max(1e5).default(``),images:w(Li).max(4).default([])}).refine(e=>e.text.trim().length>0||e.images.length>0,{message:`message needs text or at least one attachment`}),M({title:k().trim().min(1).max(300).optional(),task:k().trim().min(1).max(1e5).optional(),...fi,...pi}),M({pinned:b().optional()}),M({notify:b(),message:k().trim().max(1e5).optional().transform(e=>e||void 0)});var Bi=/^[\w!#$%&'*.^`|~+-]+$/,Vi=(e,t,n={})=>{if(!Bi.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},Hi=(e,t,n)=>(t=encodeURIComponent(t),Vi(e,t,n)),Ui=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),Wi=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??`);e=e.replace(t,r?`/${r}`:``)}return e},Gi=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},Ki=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},qi=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function Ji(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Yi(e,t){if(!Ji(e)&&!Ji(t))return t;let n={...e};for(let e in t){let r=t[e];Ji(n[e])&&Ji(r)?n[e]=Yi(n[e],r):n[e]=r}return n}var Xi=(e,t)=>new Proxy(()=>{},{get(n,r){if(!(typeof r!=`string`||r===`then`))return Xi(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}}),Zi=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(Hi(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=qi(a),a=Wi(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})}},Qi=(e,t)=>Xi(function n(r){let i=t?.buildSearchParams??Gi,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=Ui(e,a.join(`/`));if(s===`url`||s===`path`){let t=c;return r.args[0]&&(r.args[0].param&&(t=Wi(c,r.args[0].param)),r.args[0].query&&(t=t+`?`+i(r.args[0].query).toString())),t=qi(t),s===`url`?new URL(t):t.slice(e.replace(/\/+$/,``).length).replace(/^\/?/,`/`)}if(s===`ws`){let e=Ki(r.args[0]&&r.args[0].param?Wi(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 Zi(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=Yi(t,e);return l.fetch(r.args[0],a)}return l},[]);function $i(e={}){let{baseUrl:t=``,token:n,headers:r,fetch:i}=e;return Qi(t,{headers:{...n?{Authorization:`Bearer ${n}`}:{},...r},...i?{fetch:i}:{}})}var ea={permission:0,error:1,waiting:2,running:3,unseen:4,none:5},ta=[`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 na(e){return e.hasPendingPermission===!0&&(e.status===`waiting`||e.status===`running`)}function ra(e){return!1}function ia(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 aa={"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`}},oa={rung:`waiting-for-capacity`,...aa[`waiting-for-capacity`]};function q(e){return e===`waiting-for-capacity`?oa:{rung:e,...aa[e]}}function sa(e){return Array.isArray(e.waits)&&e.waits.some(e=>e?.kind===`worker`&&e.phase===`resolved`)}function ca(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 la(e){let t=ri(e);return t?.kind===`workers`?ca(e,t).label:void 0}function ua(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 da(e){let t=e.count,n=q(`waiting-on-subagents`);return{...n,label:t?`waiting for ${t} subagent${t===1?``:`s`}`:n.label}}function fa(e,t){if(!(e.status!==`waiting`&&e.status!==`queued`)){if(t?.kind===`usage-limit`)return`usage-limit`;if(e.delegation?.role!==`invalid`&&sa(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&&ni(e)?`waiting-for-capacity`:`needs-you`}}}var pa=[(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,fa,e=>ra(e)?`unseen`:void 0,e=>e.status===`queued`?`queued`:void 0,e=>e.status===`done`?`done`:void 0];function ma(e,t){for(let n of pa){let r=n(e,t);if(r!==void 0)return r}return`cancelled`}function ha(e){if(na(e))return q(`needs-permission`);if(e.status===`failed`)return q(`failed`);let t=e.status===`waiting`||e.status===`queued`||e.status===`running`?ri(e):void 0,n=ma(e,t);return n===`waiting-on-workers`&&t?.kind===`workers`?ca(e,t):n===`waiting-on-workers`&&t?.kind===`peers`?ua(t):n===`waiting-on-subagents`&&t?.kind===`subagents`?da(t):q(n)}var ga=[`needs-you`,`failed`,`done`,`cancelled`,`running`,`waiting-workers`,`waiting-ci`,`waiting-timer`,`waiting-other`],_a=[`needs-you`,`failed`,`done`,`cancelled`],va=2048,ya=1024,ba=/^[A-Za-z0-9][A-Za-z0-9._-]{0,99}$/,xa=/^[a-z0-9][a-z0-9-]{0,63}$/,Sa=1e3,Ca=/^[A-Za-z0-9_-]{1,64}$/,wa=64*1024,Ta=C(ga),Ea=M({id:k(),name:k(),description:k().optional(),url:k(),tokenSet:b(),tasks:b(),triggers:w(Ta).optional(),agent:b()}),Da=M({id:k(),name:k(),root:k(),addedAt:k(),lastOpenedAt:k(),source:C([`local`,`checkout`]),status:C([`ok`,`missing`,`not-git`]),branch:k().optional(),forge:D(`github`).optional(),repoUrl:k().optional(),maxParallel:O().optional(),tags:w(k()).optional(),webhook:M({url:k(),tokenSet:b(),triggers:w(Ta).optional()}).optional(),webhooks:w(Ea).optional()});M({projects:w(Da),bootProject:k(),projectsDir:k()});var Oa=M({project:Da,error:k().optional()});M({removed:D(!0),id:k()}),M({project:Da});var ka=k().trim().max(va).pipe(de({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`),Aa=M({url:ka,token:k().trim().max(ya).optional(),triggers:w(Ta).refine(e=>new Set(e).size===e.length,`webhook triggers must not repeat`).optional()}),ja=w(Ta).refine(e=>new Set(e).size===e.length,`webhook triggers must not repeat`),Ma=k().trim().min(1,`webhook name is required`).max(80),Na=k().trim().max(Sa),Pa=k().trim().max(ya);M({name:Ma,description:Na.optional(),url:ka,token:Pa.optional(),tasks:b().optional(),triggers:ja.optional(),agent:b().optional()}),M({name:Ma.optional(),description:Na.optional(),url:ka.optional(),token:Pa.optional(),tasks:b().optional(),triggers:ja.optional(),agent:b().optional()}).refine(e=>Object.values(e).some(e=>e!==void 0),`specify at least one webhook field`),M({projectId:k(),webhookId:k().regex(Ca,`unknown webhook`)}),M({project:Da,webhook:Ea});var Fa=M({id:k(),name:k(),description:k().optional()});M({webhooks:w(Fa)}),M({projectId:k(),webhook:k().min(1).max(80)}),M({runId:k().min(1).max(128).optional(),title:k().trim().min(1).max(200).optional(),message:k().trim().min(1,`message is required`).max(wa),data:T(k(),oe()).optional()}),M({ok:b(),webhook:Fa.pick({id:!0,name:!0}),deliveryId:k(),attempts:O(),status:O().optional(),error:k().optional(),dryRun:b().optional()}),M({ok:b(),status:O().optional(),error:k().optional(),dryRun:b().optional()}),M({maxParallel:O().int().min(1).max(16).nullable().optional(),tags:w(k().trim().min(1).max(32)).max(20).nullable().optional(),webhook:Aa.nullable().optional()}).refine(e=>e.maxParallel!==void 0||e.tags!==void 0||e.webhook!==void 0,`specify maxParallel, tags or webhook`),M({url:k().trim().min(1).max(512),name:k().trim().max(128).optional(),checkoutId:k().trim().max(128).optional()}),M({name:k().trim().regex(ba),github:M({owner:k().trim().min(1).max(64),template:k().trim().max(512).optional()}).optional(),checkoutId:k().trim().max(128).optional()}),Oa.extend({warning:k().optional()});var Ia=M({login:k(),personal:b(),avatarUrl:k().optional(),description:k().optional()}),La=d(`available`,[M({available:D(!0),owners:w(Ia)}),M({available:D(!1),reason:k()})]),Ra=M({name:k(),path:k(),isRepo:b()});M({path:k(),parent:k().nullable(),dirs:w(Ra),truncated:b()}),M({key:k()}),M({checkoutId:k().min(1).max(128)}),M({progress:pe.nullable()}),M({root:k().trim().min(1).max(4096)});var za=M({status:k(),path:k()}),Ba=M({runId:k(),title:k(),prNumber:O().nullable()}),Va=M({hash:k(),subject:k(),author:k(),when:k(),at:k(),source:Ba.optional()}),Ha=M({ref:k(),ahead:O(),behind:O(),fetchedAt:k().nullable()});ge([M({info:S(),status:w(_e()),log:w(_e()),branches:w(_e()),baseBranch:S(),tracking:S()}),M({info:ee,status:w(za),log:w(Va),branches:w(k()),baseBranch:k().nullable(),tracking:Ha.nullable()})]),M({branch:k(),created:b()});var Ua=C([`active`,`not-landed`,`orphan`,`merged`,`empty`,`other`]),Wa=C([`open`,`draft`,`merged`,`closed`]),Ga=M({name:k(),class:Ua,runId:k().nullable(),title:k().nullable(),runStatus:vi.nullable(),ahead:O(),lastCommit:M({sha:k(),subject:k(),at:k()}),diffStat:M({additions:O(),deletions:O()}).nullable(),pr:M({number:O(),url:k(),state:Wa}).nullable(),keptReason:k().optional()});M({base:k(),prStateKnown:b(),branches:w(Ga),counts:M({notLanded:O(),cleanup:O()})}).pick({base:!0,prStateKnown:!0,counts:!0}).extend({allBranches:O()}),M({names:w(k().trim().min(1).max(250)).min(1).max(500),confirm:k().optional()});var Ka=M({name:k(),reason:k()});M({deleted:w(k()),refused:w(Ka),dropped:w(M({sha:k(),subject:k()})).optional()}),M({error:k(),refused:w(Ka)}),M({branches:w(k())}),M({branch:k().trim().min(1).max(200).optional(),confirm:b().optional()});var qa=M({branch:k(),pulled:D(!0),summary:k()}),Ja=M({error:k(),branch:k(),risks:w(C([`active_runs`,`dirty_tree`]))});ge([Ja,M({error:k()})]);var Ya=M({adds:O(),dels:O(),files:O()}),Xa=M({path:k(),oldPath:k().optional(),status:C([`added`,`modified`,`deleted`,`renamed`,`copied`]),adds:O(),dels:O(),binary:b(),image:b().optional(),patch:k()});M({files:w(Xa),stat:Ya,repointedHead:M({headBranch:k(),taskBranch:k()}).optional()}),M({sha:k(),subject:k(),author:k(),when:k(),files:w(Xa),stat:Ya});var Za=M({name:k(),type:C([`dir`,`file`]),size:O().optional()});d(`type`,[M({type:D(`dir`),path:k(),entries:w(Za)}),M({type:D(`file`),path:k(),size:O(),binary:b(),tooLarge:b(),content:k().optional()})]);var Qa=C([`queued`,`running`,`waiting`,`review`,`done`,`failed`,`cancelled`]);M({worktrees:w(M({runId:k(),title:k(),status:Qa,branch:k().nullable(),sizeBytes:O().nullable(),finishedAt:k().nullable(),reclaimable:b(),pastKeep:b()})),totalBytes:O().nullable(),keep:O()}),M({runId:k(),worktreeReclaimedAt:k()}),M({reclaimed:w(k())});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 $a(e){try{return JSON.parse(e)}catch{return}}function eo(e){return typeof e==`string`?e:void 0}function Y(e,t,n){let r=$a(n),i=r&&typeof r==`object`?r:{};return new J(e,eo(i.error)??`${e} ${t||`request failed`}`.trim(),{manual:eo(i.manual),command:eo(i.command),exists:typeof i.exists==`boolean`?i.exists:void 0})}var X=$i({fetch:(e,t)=>ao(to(String(e)),t)});function to(e){let n=ro(e.endsWith(`?`)?e.slice(0,-1):e);return n.startsWith(`/`)?`${t()}${n}`:n}var no=`${a}/p/default`;function ro(e){if(o()!==null||!e.startsWith(no))return e;let t=e.slice(no.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=$a(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 io(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 ao(e,t){try{let n=await fetch(e,{...t,credentials:`include`});return n.ok&&t?.method&&![`GET`,`HEAD`].includes(t.method.toUpperCase())&&nn(),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 oo(e,t){return ao(s(e),t)}async function so(e,t={}){let n=new Headers(t.headers);n.set(`accept`,`text/plain`);let r=await oo(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 co(e){return Q(await X.api.v1.health.$get({},Z(e)),`/health`)}async function lo(e,t){return Q(await X.api.v1.models.$get({query:{runner:e}},Z(t)),`/models`)}async function uo(e=!1,t){return yn(await Q(await X.api.v1.providers.status.$get({query:e?{refresh:`1`}:{}},Z(t)),`/providers/status`))}async function fo(e){return Q(await X.api.v1.p[`:projectId`][`launch-key`].$get({param:{projectId:i()}},Z(e)),`/launch-key`)}async function po(e){return Q(await X.api.v1.projects.$get({},Z(e)),`/projects`)}async function mo(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 ho(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 go(e,t){let n={...e.before===void 0?{}:{before:e.before},...e.limit===void 0?{}:{limit:e.limit},...e.q?{q:e.q}:{}};return io(await X.api.v1.p[`:projectId`][`run-summaries`].archived.$get({param:{projectId:i()},query:n},Z(t)),`/run-summaries/archived`,Fi)}async function _o(e){return Q(await X.api.v1.workspace[`runs-index`].$get({},Z(e)),`/workspace/runs-index`)}async function vo(e,t){return io(await X.api.v1.workspace[`runs-search`].$get({query:{q:e}},Z(t)),`/workspace/runs-search`,Ii)}async function yo(e,t){return io(await X.api.v1.p[`:projectId`].runs[`:id`].relationships.$get({param:{projectId:i(),id:encodeURIComponent(e)},query:{}},Z(t)),`${$(e)}/relationships`,h)}async function bo({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 xo(e,t,n){return io(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`,xe)}async function So(e,t){return io(await X.api.v1.p[`:projectId`].runs[`:id`][`history-context`].$get({param:{projectId:i(),id:encodeURIComponent(e)}},Z(t)),`${$(e)}/history-context`,ve)}async function Co(e,t=i()){return Q(await X.api.v1.p[`:projectId`][`ui-state`].$get({param:{projectId:t}},Z(e)),`/ui-state`)}async function wo(e){return Q(await X.api.v1.p[`:projectId`].workflows.$get({param:{projectId:e?.projectId??i()}},Z(e)),`/workflows`)}async function To(e){return Q(await X.api.v1.p[`:projectId`].skills.$get({param:{projectId:i()},query:{}},Z(e)),`/skills`)}async function Eo(e){return Q(await X.api.v1.p[`:projectId`].skills.$get({param:{projectId:i()},query:{wait:`1`}},Z(e)),`/skills`)}async function Do(){return Q(await X.api.v1.p[`:projectId`].skills.refresh.$post({param:{projectId:i()}}),`/skills/refresh`)}async function Oo(e){return Q(await X.api.v1.p[`:projectId`].skills.importable.$get({param:{projectId:i()},query:{}},Z(e)),`/skills/importable`)}async function ko(e){return Q(await X.api.v1.p[`:projectId`].skills.importable.$get({param:{projectId:i()},query:{wait:`1`}},Z(e)),`/skills/importable`)}async function Ao(e,t){return Q(await X.api.v1.p[`:projectId`].repo.$get({param:{projectId:t??i()}},Z(e)),`/repo`)}async function jo(e,t){return Q(await X.api.v1.p[`:projectId`].repo.branches.$get({param:{projectId:t??i()}},Z(e)),`/repo/branches`)}async function Mo(e){return Q(await X.api.v1.p[`:projectId`].repo.branches.delete.$post({param:{projectId:i()},json:e}),`/repo/branches/delete`)}async function No(e,t){let n=await X.api.v1.p[`:projectId`].repo.pull.$post({param:{projectId:t??i()},json:e}),a=await n.text(),o=$a(a);if(n.status===409){let e=Ja.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=qa.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 Po(e){return Q(await X.api.v1.p[`:projectId`].config.$get({param:{projectId:i()}},Z(e)),`/config`)}async function Fo(e={}){return Q(await X.api.v1.p[`:projectId`][`agent-config`].$get({param:{projectId:i()}},Z(e)),`/agent-config`)}async function Io(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 Lo(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 Ro(e){return Q(await X.api.v1.p[`:projectId`].repo.changes.$get({param:{projectId:i()}},Z(e)),`/repo/changes`)}async function zo(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 Bo(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 Vo(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 Ho(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 Uo(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 Wo(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 Go(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 Ko(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 qo(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 Jo(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 Yo(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 Xo(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 Zo(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 Qo(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 $o(e,t){return so($(e,`/diff`),{method:`GET`,...c({signal:t?.signal})})}async function es({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 ts(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 ns(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 rs(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 is(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 as(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 os(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 ss(e,t,n){return s($(e,`/artifacts/${encodeURIComponent(t)}/${n}`))}function cs(e,t){return s($(e,`/file-link?path=${encodeURIComponent(t)}&raw=1`))}function ls(e,t){return s($(e,`/files?path=${encodeURIComponent(t)}&raw=1`))}async function us(e){return Q(await X.api.v1.workspace[`application-update`].apply.$post({json:{}},Z({signal:e})),`/workspace/application-update/apply`)}async function ds(e){return Q(await X.api.v1.workspace[`application-update`].restart.$post({json:{}},Z({signal:e})),`/workspace/application-update/restart`)}async function fs(e,t){return Q(await X.api.v1.providers.connect.$post({json:{provider:e,...t?{profileId:t}:{}}}),`/providers/connect`)}async function ps(e,t){return yn(await Q(await X.api.v1.providers[`:provider`].enabled.$put({param:{provider:e},json:{enabled:t}}),`/providers/${encodeURIComponent(e)}/enabled`))}async function ms(e,t){return yn(await Q(await X.api.v1.providers[`:provider`].retry.$post({param:{provider:e},json:{authFailureId:t}}),`/providers/${encodeURIComponent(e)}/retry`))}async function hs(e){let t=`/projects`,n=await oo(t,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({root:e})}),i=await n.text(),a=$a(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 gs(e){return Q(await X.api.v1.projects.checkout.$post({json:e}),`/projects/checkout`)}async function _s(e){return Q(await X.api.v1.projects.create.$post({json:e}),`/projects/create`)}async function vs(e){return io(await X.api.v1.projects[`github-owners`].$get({},Z(e)),`/projects/github-owners`,La)}async function ys(e){return Q(await X.api.v1.projects[`:projectId`].$delete({param:{projectId:encodeURIComponent(e)}}),`/projects/${encodeURIComponent(e)}`)}async function bs(e,t){return Q(await X.api.v1.projects[`:projectId`].$patch({param:{projectId:encodeURIComponent(e)},json:t}),`/projects/${encodeURIComponent(e)}`)}async function xs(e,t){return Q(await X.api.v1.projects[`:projectId`].webhooks.$post({param:{projectId:encodeURIComponent(e)},json:t}),`/projects/${encodeURIComponent(e)}/webhooks`)}async function Ss(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 Cs(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 ws(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 Ts(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 Es(e){return Q(await X.api.v1.p[`:projectId`].runs.$post({param:{projectId:i()},json:e}),`/runs`)}async function Ds(e){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].cancel.$post({param:{projectId:i(),id:encodeURIComponent(e)}}),$(e,`/cancel`))}async function Os(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 ks({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 As({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 js({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 Ms(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 Ns({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 Ps(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 Fs(e){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].finish.$post({param:{projectId:i(),id:encodeURIComponent(e)}}),$(e,`/finish`))}async function Is({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 Ls(e){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].pr.$post({param:{projectId:i(),id:encodeURIComponent(e)}}),$(e,`/pr`))}async function Rs(e,t){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].$patch({param:{projectId:i(),id:encodeURIComponent(e)},json:t}),$(e))}async function zs(e){return Q(await X.api.v1.p[`:projectId`].runs[`:id`].$delete({param:{projectId:i(),id:encodeURIComponent(e)}}),$(e))}async function Bs(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 Vs(e){return Q(await X.api.v1.p[`:projectId`][`open-targets`].$get({param:{projectId:i()}},Z(e)),`/open-targets`)}async function Hs(e,t=i()){return Q(await X.api.v1.p[`:projectId`][`open-in`].$post({param:{projectId:t},json:{target:e}}),`/open-in`)}async function Us(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 Ws(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 Gs(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 Ks(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 qs(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 Js({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 Ys(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 Xs(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 Zs(e,t){return Q(await X.api.v1.p[`:projectId`].repo.branch.$post({param:{projectId:t??i()},json:e}),`/repo/branch`)}async function Qs(e){return Q(await X.api.v1.p[`:projectId`].plan.$post({param:{projectId:i()},json:{task:e}}),`/plan`)}async function $s(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 ec(e){return Q(await X.api.v1.p[`:projectId`].automations.$post({param:{projectId:i()},json:e}),`/automations`)}async function tc(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 nc(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 rc(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 ic(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 ac(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 oc(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 sc(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 cc(e,t){return Q(await X.api.v1[`automation-checks`][`:checkId`].$get({param:{checkId:encodeURIComponent(e)}},Z(t)),`/automation-checks/${encodeURIComponent(e)}`)}async function lc(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 uc(e){return Q(await X.api.v1.p[`:projectId`].workflows.$post({param:{projectId:i()},json:e}),`/workflows`)}async function dc(e){return Q(await X.api.v1.p[`:projectId`].workflows.parse.$post({param:{projectId:i()},json:{yaml:e}}),`/workflows/parse`)}async function fc(e){return Q(await X.api.v1.p[`:projectId`].workflows[`:name`].$delete({param:{projectId:i(),name:encodeURIComponent(e)}}),`/workflows/${encodeURIComponent(e)}`)}async function pc(e,t=i()){return Q(await X.api.v1.p[`:projectId`][`ui-state`].$put({param:{projectId:t},json:e}),`/ui-state`)}async function mc(e){return Q(await X.api.v1.workspace[`ui-state`].$get({},Z(e)),`/workspace/ui-state`)}async function hc(e,t={}){return Q(await X.api.v1.workspace[`ui-state`].$put({json:e},{init:{...c({keepalive:t.keepalive})}}),`/workspace/ui-state`)}async function gc(e){let t=await Q(await X.api.v1.workspace.config.$get({},Z(e)),`/workspace/config`);return{...t,agentDefaults:t.agentDefaults??{}}}async function _c(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 vc(e){return Q(await X.api.v1.workspace[`agent-profiles`].$post({json:e}),`/workspace/agent-profiles`)}async function yc(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 bc(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 xc(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 Sc(e){return Q(await X.api.v1.workspace[`agent-profiles`].selection.$put({json:e}),`/workspace/agent-profiles/selection`)}async function Cc(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 wc(e){return Q(await X.api.v1.workspace[`agent-profiles`][`:id`].$delete({param:{id:encodeURIComponent(e)}}),`/workspace/agent-profiles/${encodeURIComponent(e)}`)}async function Tc(e){return Q(await X.api.v1.workspace.config.$put({json:e}),`/workspace/config`)}async function Ec(e,t){return Q(await X.api.v1.p[`:projectId`].config.$put({param:{projectId:t??i()},json:e}),`/config`)}async function Dc(e,t){return Q(await X.api.v1.p[`:projectId`].worktrees.$get({param:{projectId:t??i()}},Z(e)),`/worktrees`)}async function Oc(){return Q(await X.api.v1.p[`:projectId`].worktrees.reclaim.$post({param:{projectId:i()},json:{}}),`/worktrees/reclaim`)}async function kc(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 Ac(e,t){return Q(await X.api.v1.projects.checkout[`:checkoutId`].progress.$get({param:{checkoutId:e}},Z(t)),`/projects/checkout/progress`)}async function jc(e,t){return Q(await X.api.v1.p[`:projectId`].voice.decide.$post({param:{projectId:i()},json:e},Z({signal:t})),`/voice/decide`)}function Mc(e,t){(async()=>{await X.api.v1.p[`:projectId`].voice.outcome.$post({param:{projectId:i()},json:{decisionId:e,outcome:t}})})().catch(()=>{})}var Nc={projectId:null,apiBase:a},Pc=(0,L.createContext)(Nc);function Fc(){return(0,L.useContext)(Pc)}function Ic({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?Nc:{projectId:e,apiBase:`${a}/p/${encodeURIComponent(e)}`},[e]);return(0,vt.jsx)(Pc.Provider,{value:r,children:t})}export{Uo as $,hi as $n,tt as $r,Ks as $t,zs as A,Ss as An,cn as Ar,ho as At,_c as B,ga as Bn,Nt as Br,Ps as Bt,Zs as C,ps as Cn,wn as Cr,$o as Ct,qs as D,Cc as Dn,an as Dr,So as Dt,uc as E,Q as En,rn as Er,xo as Et,Fs as F,ya as Fn,Wt as Fr,wo as Ft,cc as G,zi as Gn,Et as Gr,Ws as Gt,as as H,ha as Hn,Dt as Hr,Ts as Ht,bc as I,va as In,Gt as Ir,gc as It,Ac as J,Pi as Jn,bt as Jr,dc as Jt,lc as K,Ni as Kn,Ct as Kr,Us as Kt,yc as L,ea as Ln,Ft as Lr,mc as Lt,Os as M,xa as Mn,tn as Mr,To as Mt,Ys as N,ba as Nn,ln as Nr,Eo as Nt,ac as O,tc as On,qt as Or,yo as Ot,cs as P,Sa as Pn,R as Pr,Co as Pt,Go as Q,Ri as Qn,ot as Qr,No as Qt,Fo as R,ta as Rn,Pt as Rr,Dc as Rt,xs as S,nc as Sn,yn as Sr,Bo as St,Ls as T,ws as Tn,en as Tr,es as Tt,os as U,ia as Un,kt as Ur,xc as Ut,go as V,q as Vn,Mt as Vr,Zo as Vt,is as W,la as Wn,Ot as Wr,Hs as Wt,rs as X,vi as Xn,st as Xr,As as Xt,Po as Y,Mi as Yn,dt as Yr,Rs as Yt,Ho as Z,ji as Zn,at as Zr,Qs as Zt,fs as _,oc as _n,V as _r,Ro as _t,us as a,Ve as ai,kc as an,qr as ar,Wo as at,ec as b,Sc as bn,xn as br,ts as bt,ss as c,P as ci,hs as cn,ii as cr,co as ct,ic as d,F as di,Cs as dn,Qn as dr,fo as dt,et as ei,Lo as en,mi as er,Jo as et,Ds as f,Fe as fi,Xs as fn,Zn as fr,Vs as ft,Gs as g,Se as gi,ms as gn,Jn as gr,jo as gt,gs as h,Ce as hi,sc as hn,Bn as hr,Ao as ht,J as i,Ae as ii,hc as in,si as ir,Xo as it,fc as j,jc as jn,sn as jr,_o as jt,Mo as k,bs as kn,on as kr,lo as kt,mo as l,Me as li,wc as ln,sr as lr,Oo as lt,rc as m,We as mi,ds as mn,Xn as mr,uo as mt,Ic as n,Te as ni,pc as nn,di as nr,vs as nt,Ns as o,ke as oi,Oc as on,Yr as or,qo as ot,X as p,Ke as pi,Mc as pn,er as pr,po as pt,$s as q,Ei as qn,xt as qr,Bs as qt,Fc as r,je as ri,Tc as rn,ti as rr,Qo as rt,ks as s,Oe as si,Do as sn,ri as sr,Ko as st,Pc as t,Xe as ti,Ec as tn,ui as tr,Yo as tt,Ms as u,Pe as ui,ys as un,rr as ur,ko as ut,Is as v,ls as vn,zn as vr,zo as vt,Es as w,js as wn,Cn as wr,ns as wt,_s as x,Js as xn,_n as xr,Vo as xt,vc as y,vo as yn,bn as yr,bo as yt,Io as z,_a as zn,At 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-CaUqlAd7.js";import{$ as h,Z as g,dt as _,et as v,nt as y,ot as b,rt as x,ut as S}from"./live-protocol-BDY7JJpT.js";import{t as C}from"./useInfiniteQuery-qEY8OhKb.js";import{n as w,t as T}from"./ws-DvGmrP4z.js";import{t as E}from"./project-router-1m_VlC22.js";import{rn as D,yt as O}from"./index-D489J7QW.js";import{t as k}from"./report-title-D4Mbu2Er.js";var A=e(o(),1),j=1e3,M=b().min(1).max(1024);x({q:b().max(j).optional(),before:M.optional(),limit:b().regex(/^(?:[1-9]|[1-9][0-9]|100)$/).transform(Number).optional()}).strict();var N=x({reports:g(x({id:S(),runId:S(),name:b(),title:b(),createdAt:_(),size:y().int().nonnegative(),taskTitle:b(),taskStatus:d}).strict()),nextCursor:M.nullable(),total:y().int().nonnegative()}).strict(),P=x({epoch:S(),generation:y().int().nonnegative(),metadataGeneration:y().int().nonnegative()}).strict(),F=x({runId:S(),taskTitle:b(),taskStatus:d}).strict(),I=h(`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-CaUqlAd7.js";import{$ as h,Q as g,Y as _,Z as ee,et as v,nt as y,ot as b,rt as x,z as S}from"./live-protocol-BDY7JJpT.js";import{I as te,Rt as ne,Un as C,Z as w,jt as re,n as T}from"./queries-DYfIpJ-d.js";import{t as ie}from"./useQuery-DOJQOEBO.js";import{n as E}from"./toaster-B1MyeHiE.js";import{S as ae,x as oe,y as se}from"./github-sidebar-model-Ct0DltOv.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-1m_VlC22.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-D489J7QW.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=b().trim().min(1).max(500).refine(e=>N(e)!==null,{message:`Use ${M}.`}),we=b().trim().refine(P,{message:`Use a branch, tag or commit SHA, such as main.`}),Te=x({repo:b().min(1).max(500),ref:b().min(1).max(256)}).strict();x({repo:Ce,ref:we.optional()}).strict(),Te.extend({enabled:g()}).strict();var Ee=_([`refused-format`,`fetch-failed`,`ref-not-found`]),De=h(`state`,[x({state:v(`idle`)}),x({state:v(`loading`)}),x({state:v(`ok`),skillCount:y().int().min(0)}),x({state:v(`error`),cause:Ee,detail:b(),skillCount:y().int().min(0)})]);x({sources:ee(x({repo:b(),ref:b(),enabled:g(),status:De})),editable:g(),configIssue:b().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};
|