@open-mercato/cezar 0.16.2 → 0.16.3
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/api-origin.d.ts +6 -0
- package/dist/api-origin.js +32 -0
- package/dist/api-origin.js.map +1 -0
- package/dist/automations/schedule-runner.d.ts +1 -0
- package/dist/automations/schedule-runner.js +2 -2
- package/dist/automations/schedule-runner.js.map +1 -1
- package/dist/core/agent-errors.d.ts +5 -0
- package/dist/core/agent-errors.js +49 -0
- package/dist/core/agent-errors.js.map +1 -1
- package/dist/core/claude-cli-runner.d.ts +3 -0
- package/dist/core/claude-cli-runner.js +20 -4
- package/dist/core/claude-cli-runner.js.map +1 -1
- package/dist/core/codex-ui-mapper.js +4 -1
- package/dist/core/codex-ui-mapper.js.map +1 -1
- package/dist/core/copilot-acp-runner.d.ts +1 -1
- package/dist/core/copilot-acp-runner.js +26 -5
- package/dist/core/copilot-acp-runner.js.map +1 -1
- package/dist/core/model-presets.d.ts +11 -0
- package/dist/core/model-presets.js +35 -1
- package/dist/core/model-presets.js.map +1 -1
- package/dist/core/opencode-model-catalog.js +3 -0
- package/dist/core/opencode-model-catalog.js.map +1 -1
- package/dist/core/opencode-server-runner.d.ts +7 -0
- package/dist/core/opencode-server-runner.js +36 -1
- package/dist/core/opencode-server-runner.js.map +1 -1
- package/dist/core/pi-runner.js +2 -0
- package/dist/core/pi-runner.js.map +1 -1
- package/dist/core/provider-auth.d.ts +6 -0
- package/dist/core/provider-auth.js +59 -13
- package/dist/core/provider-auth.js.map +1 -1
- package/dist/core/usage-limit.js +8 -2
- package/dist/core/usage-limit.js.map +1 -1
- package/dist/index.js +3 -19
- package/dist/index.js.map +1 -1
- package/dist/release/bump.d.ts +1 -1
- package/dist/release/bump.js +1 -1
- package/dist/release/stable.d.ts +21 -4
- package/dist/release/stable.js +48 -15
- package/dist/release/stable.js.map +1 -1
- package/dist/runs/agent-error-telemetry.js +4 -2
- package/dist/runs/agent-error-telemetry.js.map +1 -1
- package/dist/runs/store.d.ts +1 -1
- package/dist/runs/store.js +31 -4
- package/dist/runs/store.js.map +1 -1
- package/dist/server/git-changes.d.ts +22 -0
- package/dist/server/git-changes.js +19 -1
- package/dist/server/git-changes.js.map +1 -1
- package/dist/server/open-in-app.js +14 -3
- package/dist/server/open-in-app.js.map +1 -1
- package/dist/server/preview/location-reporter.d.ts +12 -0
- package/dist/server/preview/location-reporter.js +45 -0
- package/dist/server/preview/location-reporter.js.map +1 -0
- package/dist/server/preview/picker-script.d.ts +0 -22
- package/dist/server/preview/picker-script.js +3 -1
- package/dist/server/preview/picker-script.js.map +1 -1
- package/dist/server/provider-telemetry.d.ts +3 -1
- package/dist/server/provider-telemetry.js +4 -2
- package/dist/server/provider-telemetry.js.map +1 -1
- package/dist/server/repo-sync.js +5 -10
- package/dist/server/repo-sync.js.map +1 -1
- package/dist/server/server.d.ts +1854 -1854
- package/dist/server/server.js +7 -2
- package/dist/server/server.js.map +1 -1
- package/dist/server/worktree-lifecycle.d.ts +8 -8
- package/dist/telemetry.js +3 -1
- package/dist/telemetry.js.map +1 -1
- package/dist/workflows/continuation-context.d.ts +3 -1
- package/dist/workflows/continuation-context.js +22 -3
- package/dist/workflows/continuation-context.js.map +1 -1
- package/dist/workflows/run.d.ts +20 -9
- package/dist/workflows/run.js +49 -11
- package/dist/workflows/run.js.map +1 -1
- package/package.json +3 -3
- package/scripts/mock-copilot-acp.mjs +4 -0
- package/web/dist/assets/{agent-task-pickers-DEW3Vgdv.js → agent-task-pickers-CNuwgeJL.js} +1 -1
- package/web/dist/assets/{automations-route-Cx7mzYhD.js → automations-route-Cs1tsu1W.js} +1 -1
- package/web/dist/assets/{commit-list-xMdmPYbz.js → commit-list-Ti2arrt8.js} +1 -1
- package/web/dist/assets/{compare-variants-B6ja1M4D.js → compare-variants-CdchlJMs.js} +1 -1
- package/web/dist/assets/{dashboard-ClEGBFFq.js → dashboard-wi0EQack.js} +2 -2
- package/web/dist/assets/{file-preview-iucr8WDo.js → file-preview-pS9i9ZDR.js} +1 -1
- package/web/dist/assets/git-tab-loading-BC6WP7W4.js +1 -0
- package/web/dist/assets/{git-toolbar-DU5Ca6RI.js → git-toolbar-Dra1QlHb.js} +1 -1
- package/web/dist/assets/github-DZcdhMzw.js +1 -0
- package/web/dist/assets/{host-usage-DjDYDU0A.js → host-usage-DnkXF0CT.js} +1 -1
- package/web/dist/assets/index-qeFtKZ4e.js +22 -0
- package/web/dist/assets/{layout-cards-Sur4EWtx.js → layout-cards-CXMlrDUf.js} +1 -1
- package/web/dist/assets/{project-router-DZsR9P9C.js → project-router-CZzr7lzN.js} +2 -2
- package/web/dist/assets/queries-Bn7zl9OU.js +1 -0
- package/web/dist/assets/{reference-chip-DnemrSPW.js → reference-chip-CScP5y_O.js} +1 -1
- package/web/dist/assets/repo-git-CV-yXaSx.js +1 -0
- package/web/dist/assets/{run-diff-BPZ85gAE.js → run-diff-GHEaeAio.js} +2 -2
- package/web/dist/assets/{skills-BgCN1gTp.js → skills-DuSNv5op.js} +1 -1
- package/web/dist/assets/{task-commits-W1ZZiEt4.js → task-commits-D_gLpFQo.js} +1 -1
- package/web/dist/assets/{task-graph-DI2fn5M8.js → task-graph-BgHk8Y3v.js} +1 -1
- package/web/dist/assets/{task-notes-lmvd1UM7.js → task-notes-BBp0rdzM.js} +1 -1
- package/web/dist/assets/task-workspace-Cr9AjTxP.js +27 -0
- package/web/dist/assets/{terminal-drawer-DAkquqSe.js → terminal-drawer-CcPOjWwP.js} +2 -2
- package/web/dist/assets/{tracker-Cqdpt9RN.js → tracker-BHwMGsDY.js} +2 -2
- package/web/dist/assets/use-automations-Dh3Wj-79.js +5 -0
- package/web/dist/assets/{use-now-pBdvhv13.js → use-now-BB7W0F--.js} +1 -1
- package/web/dist/assets/{workflow-graph-l7O50dsV.js → workflow-graph-CcOTCItr.js} +3 -3
- package/web/dist/assets/worktree-lifecycle-operation-vTgExKUM.js +18 -0
- package/web/dist/index.html +10 -10
- package/web/dist/assets/git-tab-loading-BfC2ir8N.js +0 -1
- package/web/dist/assets/github-CELdSmld.js +0 -1
- package/web/dist/assets/index-BBND6Sg3.js +0 -22
- package/web/dist/assets/queries-CI0EmEcH.js +0 -1
- package/web/dist/assets/repo-git-Bj0PBOjX.js +0 -1
- package/web/dist/assets/task-workspace-B8Fpho3e.js +0 -27
- package/web/dist/assets/use-automations-v77gHYDG.js +0 -5
- package/web/dist/assets/worktree-lifecycle-operation-DOTiqQFx.js +0 -18
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{Bt as r,Ht as i,Nt as a,Oi as o,Qt as s,Rt as c,
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{Bt as r,Ht as i,Nt as a,Oi as o,Qt as s,Rt as c,Ti as l,Vt as u,Xr as d,en as f,ga as p,j as m,li as h,n as g,pr as _,qt as v,r as y,t as b,va as x,xa as S}from"./queries-Bn7zl9OU.js";import{B as C,Lt as w,r as T,t as E}from"./button-Clwd6u4_.js";import{f as D,t as O,w as k}from"./project-router-CZzr7lzN.js";import{a as A,o as j,r as M,v as N,x as P}from"./reference-chip-CScP5y_O.js";import{h as F,l as I,m as L,p as R}from"./use-now-BB7W0F--.js";import{t as z}from"./use-desktop-BNN3U2y9.js";import{fn as B,vn as ee}from"./git-tab-loading-BC6WP7W4.js";import{t as V}from"./arrow-left-BELOeFyX.js";import{t as te}from"./textarea-ewNKsXDa.js";import{t as ne}from"./check-Dt8U0Zvm.js";import{n as H}from"./terminal-F3ZJ5fI8.js";import{u as U}from"./git-toolbar-Dra1QlHb.js";import{t as W}from"./triangle-alert-BqI_9MkV.js";import{n as re,t as ie}from"./use-submit-shortcut-hAaAH4HY.js";import{n as ae}from"./square-8OFxLPoA.js";import{t as oe}from"./tag-yruQH0i-.js";import{t as se}from"./x-DMIsmLBt.js";import{r as G}from"./token-metrics-Dk2ZNHb_.js";import{t as ce}from"./centered-state-nM7v9xtl.js";import{t as le}from"./markdown-Rbaca31B.js";import{A as ue,M as de,d as fe,f as pe,k as K,m as me}from"./index-qeFtKZ4e.js";import{c as he,n as ge,r as _e,s as ve,t as ye}from"./agent-task-pickers-CNuwgeJL.js";var q=e(t(),1),be=(e,t)=>e?.available&&JSON.stringify([e.items,e.truncated])===JSON.stringify([t.items,t.truncated]);function xe(e,t,n=!0){let r=S(),i=m(),a=C(),c=JSON.stringify([a,e,t]),[u,d]=(0,q.useState)({identity:c,snapshot:null,error:null,pending:null}),p=(0,q.useRef)({refresh:async()=>{},applyChanges:async()=>{}}),g=i.data?i.data.capabilities.localHandoff?`local`:`remote`:null;(0,q.useEffect)(()=>{if(d({identity:c,snapshot:null,error:null,pending:null}),!g||!n)return;let i=t,u=!1,m=()=>{},_=null,v=null,y=null,b=(e=null)=>{u||d({identity:c,snapshot:_,error:e,pending:v})},x=(e,t=!1)=>{let n=r.getQueryData(i),a=r.getQueryState(i)?.fetchStatus===`fetching`;!t&&((n?.pages.length??0)>1||a)?(a&&(y=e),v=be(n?.pages[0],e)?null:e):(v=null,y=null,r.setQueryData(i,{pages:[e],pageParams:[void 0]}))},S=e=>{if(_&&e.version<_.version)return!1;let t=e.result?.available&&!e.checking&&e.checkedAt!==_?.checkedAt;return _=e,t&&e.result?.available&&x(e.result),e.result&&!e.result.available&&[`source_changed`,`credentials_missing`,`not_configured`].includes(e.result.code)&&(v=null,y=null,Promise.all([r.invalidateQueries({queryKey:[`tracker`,a,`association`]}),r.invalidateQueries({queryKey:[`tracker`,a,`connection`]}),r.invalidateQueries({queryKey:s.projects})])),b(),!0},C=r.getQueryCache().subscribe(e=>{if(u||!y||JSON.stringify(e.query.queryKey)!==JSON.stringify(i)||e.query.state.fetchStatus!==`idle`)return;let t=y;y=null,x(t),b()}),T=()=>{if(m(),p.current={refresh:async()=>{},applyChanges:async()=>{}},u||document.visibilityState===`hidden`)return;let t=new AbortController,n=()=>{},s,c=null,d=!1,y=!1,C=()=>!u&&!t.signal.aborted;m=()=>{t.abort(),n(),clearTimeout(s)};let E=e=>C()&&S(e),D=()=>{C()&&(b(`Automatic checking is temporarily unavailable. Retrying…`),n(),clearTimeout(s),s=setTimeout(()=>{C()&&T()},5e3))},O=async()=>{if(!(!C()||!c)){if(d){y=!0;return}d=!0;try{do y=!1,E(await l(a,c.id,t.signal));while(y&&C())}catch{D()}finally{d=!1}}};p.current={refresh:async()=>{if(!(!c||!C()))try{let e=await o(a,c.id,t.signal);if(!C()||_&&e.version<_.version||(await r.cancelQueries({queryKey:i,exact:!0}),!C())||!E(e))return;e.result?.available&&(x(e.result,!0),b())}catch{D()}},applyChanges:async()=>{!v||!C()||(await r.cancelQueries({queryKey:i,exact:!0}),C()&&v&&(x(v,!0),b()))}},(async()=>{try{if(c=await h(a,e,t.signal),!C())return;if(_=null,g===`local`)n=f(c.topic,e=>{w.safeParse(e).success&&O()},D),await O();else{let e=-1;for(;C();){let n=await l(a,c.id,t.signal,Math.max(0,e));if(E(n),e=n.version,n.result&&!n.result.available&&n.result.code===`source_changed`)break}}}catch{D()}})()};return T(),document.addEventListener(`visibilitychange`,T),()=>{u=!0,m(),C(),document.removeEventListener(`visibilitychange`,T)}},[r,c,g,n]);let _=u.identity===c?u:null,v=_?.snapshot;return{ready:v!=null,checkedAt:v?.checkedAt??null,checking:v?.checking??!1,error:_?.error??(v?.result&&!v.result.available?v.result.reason:null),hasChanges:!!_?.pending,refresh:()=>p.current.refresh(),applyChanges:()=>p.current.applyChanges()}}var Se=1e5;function J(e){let t=[];return e.bodyTruncated&&t.push(`The tracker description was truncated by the provider snapshot.`),e.unsupportedContent&&t.push(`The tracker item contains unsupported content that is absent from this snapshot.`),t}function Y(e,t={}){let n=[`Work on tracker ticket [${e.id}]: ${e.title}`,`Source: ${e.url}`,`Status: ${e.status}\nAuthor: ${e.author}\nLabels: ${e.labels.length?e.labels.join(`, `):`(none)`}`,`Description:\n${e.body.trim()||`(No description was provided.)`}`,`Tracker snapshot scope: description only; comments, attachments, and custom fields are not included.`],r=J(e);r.length&&n.push(`Snapshot limitations:\n${r.map(e=>`- ${e}`).join(`
|
|
2
2
|
`)}`),t.skills?.length&&n.push(`Use these skills where relevant: ${t.skills.join(`, `)}.`),t.supplemental?.trim()&&n.push(`Supplemental context:\n${t.supplemental.trim()}`),t.instruction?.trim()&&n.push(t.instruction.trim());let i=n.join(`
|
|
3
3
|
|
|
4
|
-
`);if(i.length>1e5)throw Error(`The final task exceeds the 100,000 character limit. Shorten the supplemental context or instruction.`);return i}function Ce(e,t,n,r,i){if(!t&&n.length>8)throw Error(`A skill chain can contain at most 8 skills. Remove a skill before launching.`);if(J(e).length>0&&!i.acknowledgeLoss)throw Error(`Acknowledge the snapshot limitations before handing this issue to an agent.`);let a=Y(e,{...i,skills:t?n:[]});return t?{...r,workflow:t,task:a}:n.length?{...r,steps:ve(n),task:a}:{...r,workflow:`quick-task`,task:a}}var X=n();function we({item:e,workflows:t,skills:n,selection:r,onSelectionChange:i,drafts:a,scopePending:o=!1,detailUnavailable:s=!1}){let c=l(),[u,d]=(0,q.useState)({workflow:null,selectedSkills:[],engine:{runner:null,model:null,account:null}}),{workflow:f,selectedSkills:p,engine:m}=r??u,h=i??d,g=e=>h(t=>({...t,workflow:e})),_=e=>h(t=>({...t,engine:e})),y=e=>h(t=>({...t,selectedSkills:e(t.selectedSkills)})),[x,C]=(0,q.useState)(a?.get(e.url)?.instruction??``),[w,T]=(0,q.useState)(a?.get(e.url)?.supplemental??``),[k,A]=(0,q.useState)(a?.get(e.url)?.acknowledgedSnapshot??null);(0,q.useEffect)(()=>{a?.set(e.url,{instruction:x,supplemental:w,acknowledgedSnapshot:k})},[a,e.url,x,w,k]);let j=JSON.stringify([e.id,e.body,e.bodyTruncated,e.unsupportedContent]),M=k===j,[N,P]=(0,q.useState)(null),F=me(m),I=J(e),L=e.body.trim()===``,R=p.filter(e=>n.some(t=>t.name===e)),z=f===null&&R.length>8,V=(0,q.useMemo)(()=>{try{return{task:Y(e,{skills:f?R:[],instruction:x,supplemental:w}),error:null}}catch(e){return{task:``,error:e.message}}},[e,f,R.join(`\0`),x,w]),H=S({mutationFn:()=>v(Ce(e,f,R,pe(F),{instruction:x,supplemental:w,acknowledgeLoss:M})),onSuccess:t=>{B(`tracker`);let n=`runs`in t?t.runs[0]:t;P(n?.id??null),c.invalidateQueries({queryKey:b.runs.all}),D(`Added ${e.id} to the queue`)},onError:e=>D(e.message,{tone:`danger`})}),U=e=>y(t=>t.includes(e)?t.filter(t=>t!==e):f===null&&R.length>=8?t:[...t,e]),W=!o&&!s&&!H.isPending&&F.canRun&&V.error===null&&!z&&(I.length===0||M);return(0,X.jsxs)(`section`,{className:`mt-7 rounded-lg border border-border bg-card p-4`,"data-slot":`tracker-handoff`,children:[(0,X.jsxs)(`h2`,{className:`flex items-center gap-1.5 text-[11px] font-semibold tracking-[.04em] text-soft-foreground uppercase`,children:[(0,X.jsx)(ee,{className:`size-3.5 text-violet`}),` Hand this to the agent`]}),(0,X.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:[(0,X.jsx)(ge,{workflows:t,value:f,onChange:g,slotPrefix:`tracker`}),(0,X.jsx)(ye,{skills:n,skillUsage:void 0,selected:R,onToggle:U,maxSelections:f===null?8:void 0,slotPrefix:`tracker`}),(0,X.jsx)(fe,{pick:m,onChange:_,accounts:!0,disabled:H.isPending||!F.canRun}),(0,X.jsx)(_e,{resolved:F,dataSlot:`tracker-provider-gate`})]}),R.length?(0,X.jsx)(`div`,{className:`mt-2.5 flex flex-wrap gap-1.5`,children:R.map(e=>(0,X.jsxs)(`button`,{type:`button`,"aria-label":`Remove skill ${e}`,onClick:()=>U(e),className:`inline-flex items-center gap-1 rounded-full border border-border bg-muted px-2 py-px font-mono text-[11px] font-medium text-foreground transition-colors hover:bg-danger/10 hover:text-danger`,children:[e,(0,X.jsx)(se,{"aria-hidden":`true`,className:`size-3`})]},e))}):null,f===null&&R.length>=8?(0,X.jsxs)(`p`,{className:`mt-2 text-xs ${z?`text-danger`:`text-muted-foreground`}`,children:[`Skill chains support at most `,8,` skills. Remove one before selecting another.`]}):null,I.length||L?(0,X.jsxs)(`div`,{className:`mt-3 rounded-md border border-warning/50 bg-warning/10 p-3 text-sm`,children:[(0,X.jsx)(`p`,{className:`font-medium`,children:I.length?`This provider snapshot lost some issue content.`:`This issue has no description.`}),I.length?(0,X.jsx)(`ul`,{className:`mt-1 list-disc pl-5 text-xs`,children:I.map(e=>(0,X.jsx)(`li`,{children:e},e))}):(0,X.jsx)(`p`,{className:`mt-1 text-xs`,children:`Add any context the agent needs before starting.`}),I.length?(0,X.jsx)(`a`,{className:`mt-2 inline-block text-xs text-violet underline underline-offset-4`,href:e.url,target:`_blank`,rel:`noreferrer`,children:`Review the source issue`}):null,(0,X.jsx)(`label`,{className:`mt-3 block text-xs font-medium`,htmlFor:`tracker-supplemental`,children:`Supplemental context`}),(0,X.jsx)(te,{id:`tracker-supplemental`,value:w,onChange:e=>T(e.target.value),placeholder:`Paste any missing context here…`,className:`mt-1 min-h-20 bg-background`}),I.length?(0,X.jsxs)(`label`,{className:`mt-2 flex items-start gap-2 text-xs`,children:[(0,X.jsx)(`input`,{type:`checkbox`,checked:M,onChange:e=>A(e.target.checked?j:null)}),`I understand the agent receives this snapshot and the supplemental context above.`]}):null]}):null,(0,X.jsx)(`label`,{className:`mt-3 block text-xs font-medium`,htmlFor:`tracker-instruction`,children:`Custom instruction`}),(0,X.jsx)(te,{id:`tracker-instruction`,"aria-keyshortcuts":`Control+Enter Meta+Enter`,onKeyDown:e=>{ie(e.nativeEvent)&&(e.preventDefault(),W&&H.mutate())},value:x,onChange:e=>C(e.target.value),placeholder:`Optional instructions; these are placed last in the task.`,className:`mt-1 min-h-20 text-[13px]`}),(0,X.jsxs)(`div`,{className:`mt-1 flex justify-between text-[11px] text-muted-foreground`,children:[(0,X.jsx)(`span`,{children:V.error??`Full tracker detail and source link are included. Comments, attachments, and custom fields are outside the snapshot.`}),(0,X.jsxs)(`span`,{children:[V.task.length.toLocaleString(),` / `,Se.toLocaleString()]})]}),o?(0,X.jsx)(`p`,{role:`status`,className:`mt-3 text-xs text-muted-foreground`,children:`Verifying tracker connection…`}):null,s?(0,X.jsx)(`p`,{role:`status`,className:`mt-3 text-xs text-danger`,children:`Issue detail could not be verified. Retry successfully before starting the agent; your draft is preserved.`}):null,(0,X.jsxs)(`div`,{className:`mt-4 flex flex-wrap items-center gap-2.5`,children:[(0,X.jsxs)(E,{variant:`contrast`,onClick:()=>H.mutate(),disabled:!W,children:[(0,X.jsx)(ae,{className:`size-3.5`}),` Run agent on this issue`]}),(0,X.jsx)(`kbd`,{"aria-hidden":`true`,className:`rounded-[5px] border border-b-2 border-border bg-card px-[5px] py-px font-mono text-[10.5px] font-medium text-muted-foreground`,children:re()}),N?(0,X.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-success`,children:[(0,X.jsx)(ne,{className:`size-3`}),` queued · `,(0,X.jsx)(O,{className:`text-violet hover:underline`,to:`/tasks/${N}`,children:`View task →`})]}):null]})]})}function Te({options:e,selected:t,onChange:n}){let[r,i]=(0,q.useState)(``),a=[...new Set([...t,...e])].sort(),o=e=>n(t.includes(e)?t.filter(t=>t!==e):[...t,e]),s=r.trim();return(0,X.jsxs)(M,{onOpenChange:e=>{e||i(``)},children:[(0,X.jsx)(j,{asChild:!0,children:(0,X.jsxs)(`button`,{type:`button`,"aria-label":`Filter labels`,className:T(`flex shrink-0 items-center gap-1 rounded-md border border-border px-2 py-1.5 text-xs text-soft-foreground hover:bg-muted`,t.length>0&&`border-primary/60 text-foreground`),children:[(0,X.jsx)(oe,{"aria-hidden":`true`,className:`size-3.5`}),`Labels`,t.length?` · ${t.length}`:``]})}),(0,X.jsx)(A,{align:`end`,sideOffset:6,className:`w-60 p-0`,children:(0,X.jsxs)(I,{label:`Find or add label`,shouldFilter:!1,children:[(0,X.jsx)(R,{"aria-label":`Find or add label`,placeholder:`Find or add label…`,value:r,onValueChange:i,maxLength:256}),(0,X.jsxs)(F,{className:`max-h-64`,children:[t.length?(0,X.jsx)(L,{onSelect:()=>n([]),children:`Clear filters`}):null,a.filter(e=>e.toLowerCase().includes(s.toLowerCase())).map(e=>(0,X.jsxs)(L,{value:e,disabled:!t.includes(e)&&t.length>=20,onSelect:()=>o(e),children:[(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e}),t.includes(e)?(0,X.jsx)(ne,{className:`size-3.5 text-primary`}):null]},e)),s&&!a.includes(s)?(0,X.jsxs)(L,{disabled:t.length>=20,onSelect:()=>{o(s),i(``)},children:[`Use label “`,s,`”`]}):null,(0,X.jsx)(`p`,{className:`px-3 py-2 text-[11px] text-soft-foreground`,children:`Suggestions come from loaded issues. Type any exact label to filter.`})]})]})})]})}var Ee=()=>({workflow:null,selectedSkills:[],engine:{runner:null,model:null,account:null}});function De(){let{id:e}=k(),{projectId:t}=p(),n=c(),i=r(),a=`${t??`default`}:${n.data?.association?Z(n.data.association):`none`}`,o=(0,q.useMemo)(()=>new Map,[a]),[s,l]=(0,q.useState)(null),u=s?.key===a?s.value:Ee(),d=e=>l(t=>{let n=t?.key===a?t.value:Ee();return{key:a,value:typeof e==`function`?e(n):e}});if(n.isPending)return(0,X.jsx)($,{text:`Loading tracker…`});if(n.isError)return(0,X.jsxs)(`div`,{className:`p-8 text-center text-sm text-danger`,children:[(0,X.jsx)(`p`,{children:n.error.message}),(0,X.jsx)(O,{className:`mt-3 inline-block text-violet underline underline-offset-4`,to:`/settings/tracker`,children:`Open tracker settings`})]});if(!n.data.association)return(0,X.jsx)(Oe,{});if(n.data.association.connectionId){if(i.isPending)return(0,X.jsx)($,{text:`Loading tracker…`});if(i.isError)return(0,X.jsxs)(`div`,{role:`alert`,className:`p-8 text-center text-sm`,children:[(0,X.jsx)(`p`,{children:`Could not verify the tracker connection.`}),(0,X.jsx)(E,{className:`mt-3`,variant:`outline`,onClick:()=>void i.refetch(),children:`Retry connection`})]});if(!i.data.demo&&(i.data.connection?.id!==n.data.association.connectionId||i.data.connection?.kind!==n.data.association.kind))return(0,X.jsx)(Oe,{})}return(0,X.jsx)(ke,{scopePending:n.isFetching||!!n.data.association.connectionId&&i.isFetching,association:n.data.association,selectedId:e,drafts:o,selection:u,setSelection:d},a)}function Z(e){return`${e.kind}:${e.source.id}:${e.source.webUrl}:${e.externalId}:${e.connectionId??`legacy`}`}function Oe(){return(0,X.jsxs)(`div`,{className:`mx-auto flex min-h-[55vh] max-w-lg flex-col items-center justify-center p-6 text-center`,children:[(0,X.jsx)(ue,{className:`size-8 text-muted-foreground`}),(0,X.jsx)(`h1`,{className:`mt-3 text-lg font-semibold`,children:`Connect an issue tracker`}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Choose a project or team from your issue tracker in project settings.`}),(0,X.jsx)(O,{className:`mt-4 rounded-md bg-primary px-3 py-2 text-sm font-medium text-primary-foreground`,to:`/settings/tracker`,children:`Open tracker settings`})]})}function ke({scopePending:e,association:t,selectedId:n,drafts:r,selection:a,setSelection:o}){let s=l(),c=z(),u=c||n===void 0,[d,f]=(0,q.useState)(null),[p,m]=(0,q.useState)(``),[h,g]=(0,q.useState)(``),[v,y]=(0,q.useState)(`active`),[x,S]=(0,q.useState)(!1),[C,w]=(0,q.useState)([]),D=i(t,{state:v,labels:C,query:h},u),k=xe({association:t,state:v,labels:C,query:h},D.queryKey,u),A=D.data?.pages??[],j=A.find(e=>!e.available),M=A.flatMap(e=>e.available?e.items:[]),F=JSON.stringify([h,v,C]),I=d?.filter===F?d.id:null;(0,q.useEffect)(()=>{I===null&&M[0]&&f({filter:F,id:M[0].id})},[I,M,F]);let L=n??(c?I:null),R=K[t.kind].label,B=async()=>{await(k.ready?k.refresh():D.restart()),L&&s.invalidateQueries({queryKey:b.tracker.detail(t,L)})};return(0,X.jsx)(he,{name:`tracker`,route:`tracker`,selected:n!==void 0,list:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`header`,{"data-slot":`tracker-header`,className:`sticky top-0 z-10 border-b border-border bg-background/95 px-4 pt-3 backdrop-blur`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,X.jsx)(`h1`,{className:`text-lg font-semibold`,children:R}),(0,X.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[11px] text-soft-foreground`,title:t.externalName,children:t.externalName}),(0,X.jsx)(O,{to:`/settings/tracker`,"aria-label":`Connection settings`,title:`Connection settings`,className:`ml-auto shrink-0 text-soft-foreground hover:text-foreground`,children:(0,X.jsx)(de,{className:`size-3.5`})}),(0,X.jsxs)(`button`,{type:`button`,"aria-label":`Refresh`,title:`Refresh from ${R}`,disabled:k.checking||D.isFetching,onClick:()=>void B(),className:`flex shrink-0 items-center gap-1 rounded-full border border-border px-1.5 py-px text-[10px] font-medium text-soft-foreground transition-colors hover:bg-muted hover:text-foreground disabled:opacity-55`,children:[(0,X.jsx)(U,{"aria-hidden":`true`,className:T(`size-[9px]`,(k.checking||D.isFetching)&&`motion-safe:animate-spin`)}),k.checkedAt?`synced ${G(k.checkedAt)} ago`:`refresh`]})]}),(0,X.jsxs)(`div`,{className:`mt-2.5 flex items-center justify-between border-b border-border pb-2`,children:[(0,X.jsxs)(`h2`,{className:`text-[13px] font-medium`,children:[`Issues · `,M.length,D.hasNextPage?`+`:``]}),(0,X.jsxs)(`select`,{"aria-label":`Issue state`,className:`min-w-0 rounded-md border border-input bg-card px-2 py-1 text-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:v,onChange:e=>{y(e.target.value),S(!0)},children:[(0,X.jsx)(`option`,{value:`active`,children:`Active`}),(0,X.jsx)(`option`,{value:`all`,children:`All states`})]})]}),(0,X.jsxs)(`form`,{className:`mt-2.5 flex items-center gap-2 pb-3`,onSubmit:e=>{e.preventDefault();let t=p.trim(),n=x?v:t?`all`:`active`;t===h&&n===v?B():(g(t),y(n))},children:[(0,X.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[(0,X.jsx)(N,{"aria-hidden":`true`,className:`pointer-events-none absolute top-1/2 left-2 size-3.5 -translate-y-1/2 text-soft-foreground`}),(0,X.jsx)(`input`,{type:`search`,"aria-label":`Search tracker`,maxLength:256,className:`w-full rounded-md border border-input bg-card py-1 pr-2 pl-7 text-[13px] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:p,onChange:e=>m(e.target.value),placeholder:`Search issues…`})]}),(0,X.jsx)(E,{type:`submit`,variant:`outline`,size:`sm`,disabled:D.isFetching,children:`Search`}),(0,X.jsx)(Te,{options:M.flatMap(e=>e.labels),selected:C,onChange:w})]})]}),k.error?(0,X.jsxs)(`p`,{role:`status`,className:`px-4 py-2 text-xs text-danger`,children:[k.error,` The displayed list may be outdated.`]}):null,k.hasChanges?(0,X.jsxs)(`div`,{className:`m-2 rounded-md border border-border bg-muted/40 p-3 text-xs`,children:[(0,X.jsx)(`p`,{children:`New changes are available. Your loaded pages have been preserved.`}),(0,X.jsx)(E,{size:`sm`,className:`mt-2`,variant:`outline`,onClick:()=>void k.applyChanges(),children:`Show changes`})]}):null,D.isPending&&u?(0,X.jsx)($,{text:`Loading issues…`}):null,D.isError?(0,X.jsx)(Q,{reason:D.error.message,generation:D.errorUpdatedAt,retryAfterSeconds:D.error instanceof _&&D.error.failure.code===`rate_limited`?D.error.failure.retryAfterSeconds:void 0,retry:()=>void D.restart()}):null,j&&!j.available?(0,X.jsx)(Q,{reason:j.reason,generation:D.dataUpdatedAt,retryAfterSeconds:j.code===`rate_limited`?j.retryAfterSeconds:void 0,retry:()=>void D.restart()}):null,!D.isPending&&!D.isError&&!j&&M.length===0?(0,X.jsx)($,{text:h.trim()?`No issues match this search.`:`No issues in this view.`}):null,(0,X.jsx)(`ul`,{"data-slot":`tracker-rows`,className:`flex flex-col gap-0.5 px-2 py-2`,children:M.map(n=>(0,X.jsx)(Ae,{scopePending:e,association:t,item:n,active:L===n.id},n.id))}),D.hasNextPage?(0,X.jsx)(E,{className:`mx-4 mb-4 shrink-0`,variant:`outline`,onClick:()=>void D.fetchNextPage(),disabled:D.isFetchingNextPage,children:`Load more`}):null]}),detail:L?(0,X.jsx)(Me,{scopePending:e,association:t,id:L,drafts:r,selection:a,onSelectionChange:o},`${Z(t)}:${L}`):(0,X.jsx)(ce,{icon:(0,X.jsx)(P,{}),tone:`neutral`,heading:`h2`,title:`Nothing selected`,subtitle:`Choose an issue from the list.`})})}function Ae({scopePending:e,association:t,item:n,active:r}){let i=l(),a=b.tracker.detail(t,n.id),o=()=>void i.prefetchQuery({queryKey:a,queryFn:({signal:e})=>f(n.id,{signal:e,association:t}),staleTime:x});return(0,X.jsx)(`li`,{children:(0,X.jsxs)(O,{to:`/tracker/${encodeURIComponent(n.id)}`,draggable:!0,onMouseEnter:o,onFocus:o,onDragStart:t=>{if(e){t.preventDefault();return}let n=i.getQueryState(a),r=je(i,a);if(!r){t.preventDefault(),o(),D(n?.status===`error`?`Full issue detail failed to load. Open the issue to retry.`:`Loading fresh issue detail. Drag again when it is ready.`,n?.status===`error`?{tone:`danger`}:void 0);return}if(J(r.item).length){t.preventDefault(),D(`Open this issue to acknowledge snapshot limitations before handoff.`,{tone:`danger`});return}t.dataTransfer.setData(`text/plain`,Y(r.item)),t.dataTransfer.effectAllowed=`copy`},"data-slot":`tracker-row`,"aria-current":r?`page`:void 0,title:`Drag into the composer to prefill a task`,className:T(`flex flex-col gap-1 rounded-md px-2.5 py-2 transition-colors hover:bg-muted`,r&&`bg-muted`),children:[(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(P,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-violet`}),(0,X.jsx)(`span`,{className:T(`min-w-0 truncate text-[13px] font-medium`,r&&`font-semibold`),children:n.title})]}),(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 pl-[22px] font-mono text-[10.5px] text-muted-foreground`,children:[(0,X.jsx)(`span`,{className:`shrink-0`,children:n.id}),(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:n.author}),(0,X.jsx)(`span`,{className:`shrink-0`,title:new Date(n.updatedAt).toLocaleString(),children:G(n.updatedAt)})]}),(0,X.jsxs)(`span`,{className:`flex flex-wrap gap-1 pl-[22px]`,children:[(0,X.jsx)(`span`,{className:`rounded border border-border px-1.5 py-px text-[10px] text-muted-foreground`,children:n.status}),n.labels.map(e=>(0,X.jsx)(`span`,{className:`rounded-full border border-border px-1.5 py-px text-[10px] text-muted-foreground`,children:e},e))]})]})})}function je(e,t,n=Date.now()){let r=e.getQueryState(t);return r?.status!==`success`||r.fetchStatus!==`idle`||r.isInvalidated||r.dataUpdatedAt<=0||n-r.dataUpdatedAt>=6e4||!r.data?.available?null:r.data}function Me({scopePending:e,association:t,id:n,selection:r,onSelectionChange:i,drafts:o}){let s=d(t,n),c=y(),l=a(),[u,f]=(0,q.useState)(null);(0,q.useEffect)(()=>{s.data?.available&&f(s.data.item)},[s.data]);let p=s.isError?(0,X.jsx)(Q,{reason:s.error.message,generation:s.errorUpdatedAt,retry:()=>void s.refetch()}):s.data&&!s.data.available?(0,X.jsx)(Q,{reason:s.data.reason,generation:s.dataUpdatedAt,retryAfterSeconds:s.data.code===`rate_limited`?s.data.retryAfterSeconds:void 0,retry:()=>void s.refetch()}):null,m=s.data?.available?s.data.item:u;return m?(0,X.jsxs)(`article`,{"data-slot":`tracker-detail-inner`,className:`min-w-0 px-4 py-4 md:px-7 md:py-5`,children:[(0,X.jsx)(Ne,{}),(0,X.jsxs)(`p`,{className:`flex flex-wrap items-center gap-x-1.5 font-mono text-[10.5px] text-soft-foreground`,children:[(0,X.jsx)(`span`,{children:m.id}),`·`,(0,X.jsx)(`span`,{children:`issue`}),`·`,(0,X.jsxs)(`span`,{children:[`opened by `,m.author]}),`·`,(0,X.jsxs)(`span`,{title:new Date(m.createdAt).toLocaleString(),children:[G(m.createdAt),` ago`]}),`·`,(0,X.jsxs)(`a`,{className:`inline-flex items-center gap-0.5 text-muted-foreground hover:text-foreground hover:underline`,href:m.url,target:`_blank`,rel:`noopener noreferrer`,children:[`open on `,K[t.kind].label,(0,X.jsx)(H,{"aria-hidden":`true`,className:`size-2.5`})]})]}),(0,X.jsx)(`h2`,{className:`mt-2 text-xl leading-snug font-semibold`,children:m.title}),(0,X.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-1.5`,children:[(0,X.jsx)(`span`,{className:`rounded border border-border px-1.5 py-px text-[10px] text-muted-foreground`,children:m.status}),m.labels.map(e=>(0,X.jsx)(`span`,{className:`rounded-full border border-border px-1.5 py-px text-[10px] text-muted-foreground`,children:e},e))]}),p,J(m).length?(0,X.jsxs)(`div`,{className:`mt-4 rounded-md border border-warning/50 bg-warning/10 p-3 text-sm`,children:[(0,X.jsx)(W,{className:`mr-2 inline size-4`}),`This snapshot is incomplete. Review the limitations in the handoff panel.`]}):null,(0,X.jsx)(`section`,{"data-slot":`tracker-body`,className:`mt-5 text-sm`,children:(0,X.jsx)(le,{children:m.body.trim()||`*No description was provided.*`})}),(0,X.jsx)(we,{scopePending:e,item:m,detailUnavailable:s.isError||!s.data?.available,drafts:o,selection:r,onSelectionChange:i,workflows:c.data?.workflows??[],skills:l.data??[]},`${Z(t)}:${m.id}`)]}):(0,X.jsxs)(`div`,{className:`p-4`,children:[(0,X.jsx)(Ne,{}),s.isPending?(0,X.jsx)($,{text:`Loading full issue detail…`}):p]})}function Q({reason:e,retry:t,retryAfterSeconds:n=0,generation:r}){let[i,a]=(0,q.useState)(n);return(0,q.useEffect)(()=>a(n),[e,n,r]),(0,q.useEffect)(()=>{if(i<=0)return;let e=window.setInterval(()=>a(e=>Math.max(0,e-1)),1e3);return()=>window.clearInterval(e)},[i>0]),(0,X.jsxs)(`div`,{className:`mt-5 rounded-md border border-danger/30 bg-danger/5 p-4 text-sm`,children:[(0,X.jsx)(`p`,{className:`text-danger`,children:e}),(0,X.jsxs)(`div`,{className:`mt-3 flex items-center gap-3`,children:[(0,X.jsxs)(E,{variant:`outline`,disabled:i>0,onClick:t,children:[(0,X.jsx)(U,{className:`size-3.5`}),i>0?`Retry in ${i}s`:`Retry`]}),(0,X.jsx)(O,{className:`text-xs text-violet underline underline-offset-4`,to:`/settings/tracker`,children:`Tracker settings`})]})]})}function $({text:e,danger:t=!1}){return(0,X.jsx)(`div`,{className:`p-8 text-center text-sm ${t?`text-danger`:`text-muted-foreground`}`,children:e})}function Ne(){return(0,X.jsxs)(O,{className:`mb-3 inline-flex items-center gap-1.5 text-xs font-medium text-muted-foreground hover:text-foreground md:hidden`,to:`/tracker`,children:[(0,X.jsx)(V,{"aria-hidden":`true`,className:`size-3.5`}),`Back to the list`]})}export{De as TrackerRoute};
|
|
4
|
+
`);if(i.length>1e5)throw Error(`The final task exceeds the 100,000 character limit. Shorten the supplemental context or instruction.`);return i}function Ce(e,t,n,r,i){if(!t&&n.length>8)throw Error(`A skill chain can contain at most 8 skills. Remove a skill before launching.`);if(J(e).length>0&&!i.acknowledgeLoss)throw Error(`Acknowledge the snapshot limitations before handing this issue to an agent.`);let a=Y(e,{...i,skills:t?n:[]});return t?{...r,workflow:t,task:a}:n.length?{...r,steps:ve(n),task:a}:{...r,workflow:`quick-task`,task:a}}var X=n();function we({item:e,workflows:t,skills:n,selection:r,onSelectionChange:i,drafts:a,scopePending:o=!1,detailUnavailable:s=!1}){let c=S(),[l,u]=(0,q.useState)({workflow:null,selectedSkills:[],engine:{runner:null,model:null,account:null}}),{workflow:d,selectedSkills:f,engine:p}=r??l,m=i??u,h=e=>m(t=>({...t,workflow:e})),g=e=>m(t=>({...t,engine:e})),v=e=>m(t=>({...t,selectedSkills:e(t.selectedSkills)})),[b,C]=(0,q.useState)(a?.get(e.url)?.instruction??``),[w,T]=(0,q.useState)(a?.get(e.url)?.supplemental??``),[k,A]=(0,q.useState)(a?.get(e.url)?.acknowledgedSnapshot??null);(0,q.useEffect)(()=>{a?.set(e.url,{instruction:b,supplemental:w,acknowledgedSnapshot:k})},[a,e.url,b,w,k]);let j=JSON.stringify([e.id,e.body,e.bodyTruncated,e.unsupportedContent]),M=k===j,[N,P]=(0,q.useState)(null),F=me(p),I=J(e),L=e.body.trim()===``,R=f.filter(e=>n.some(t=>t.name===e)),z=d===null&&R.length>8,V=(0,q.useMemo)(()=>{try{return{task:Y(e,{skills:d?R:[],instruction:b,supplemental:w}),error:null}}catch(e){return{task:``,error:e.message}}},[e,d,R.join(`\0`),b,w]),H=x({mutationFn:()=>_(Ce(e,d,R,pe(F),{instruction:b,supplemental:w,acknowledgeLoss:M})),onSuccess:t=>{B(`tracker`);let n=`runs`in t?t.runs[0]:t;P(n?.id??null),c.invalidateQueries({queryKey:y.runs.all}),D(`Added ${e.id} to the queue`)},onError:e=>D(e.message,{tone:`danger`})}),U=e=>v(t=>t.includes(e)?t.filter(t=>t!==e):d===null&&R.length>=8?t:[...t,e]),W=!o&&!s&&!H.isPending&&F.canRun&&V.error===null&&!z&&(I.length===0||M);return(0,X.jsxs)(`section`,{className:`mt-7 rounded-lg border border-border bg-card p-4`,"data-slot":`tracker-handoff`,children:[(0,X.jsxs)(`h2`,{className:`flex items-center gap-1.5 text-[11px] font-semibold tracking-[.04em] text-soft-foreground uppercase`,children:[(0,X.jsx)(ee,{className:`size-3.5 text-violet`}),` Hand this to the agent`]}),(0,X.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:[(0,X.jsx)(ge,{workflows:t,value:d,onChange:h,slotPrefix:`tracker`}),(0,X.jsx)(ye,{skills:n,skillUsage:void 0,selected:R,onToggle:U,maxSelections:d===null?8:void 0,slotPrefix:`tracker`}),(0,X.jsx)(fe,{pick:p,onChange:g,accounts:!0,disabled:H.isPending||!F.canRun}),(0,X.jsx)(_e,{resolved:F,dataSlot:`tracker-provider-gate`})]}),R.length?(0,X.jsx)(`div`,{className:`mt-2.5 flex flex-wrap gap-1.5`,children:R.map(e=>(0,X.jsxs)(`button`,{type:`button`,"aria-label":`Remove skill ${e}`,onClick:()=>U(e),className:`inline-flex items-center gap-1 rounded-full border border-border bg-muted px-2 py-px font-mono text-[11px] font-medium text-foreground transition-colors hover:bg-danger/10 hover:text-danger`,children:[e,(0,X.jsx)(se,{"aria-hidden":`true`,className:`size-3`})]},e))}):null,d===null&&R.length>=8?(0,X.jsxs)(`p`,{className:`mt-2 text-xs ${z?`text-danger`:`text-muted-foreground`}`,children:[`Skill chains support at most `,8,` skills. Remove one before selecting another.`]}):null,I.length||L?(0,X.jsxs)(`div`,{className:`mt-3 rounded-md border border-warning/50 bg-warning/10 p-3 text-sm`,children:[(0,X.jsx)(`p`,{className:`font-medium`,children:I.length?`This provider snapshot lost some issue content.`:`This issue has no description.`}),I.length?(0,X.jsx)(`ul`,{className:`mt-1 list-disc pl-5 text-xs`,children:I.map(e=>(0,X.jsx)(`li`,{children:e},e))}):(0,X.jsx)(`p`,{className:`mt-1 text-xs`,children:`Add any context the agent needs before starting.`}),I.length?(0,X.jsx)(`a`,{className:`mt-2 inline-block text-xs text-violet underline underline-offset-4`,href:e.url,target:`_blank`,rel:`noreferrer`,children:`Review the source issue`}):null,(0,X.jsx)(`label`,{className:`mt-3 block text-xs font-medium`,htmlFor:`tracker-supplemental`,children:`Supplemental context`}),(0,X.jsx)(te,{id:`tracker-supplemental`,value:w,onChange:e=>T(e.target.value),placeholder:`Paste any missing context here…`,className:`mt-1 min-h-20 bg-background`}),I.length?(0,X.jsxs)(`label`,{className:`mt-2 flex items-start gap-2 text-xs`,children:[(0,X.jsx)(`input`,{type:`checkbox`,checked:M,onChange:e=>A(e.target.checked?j:null)}),`I understand the agent receives this snapshot and the supplemental context above.`]}):null]}):null,(0,X.jsx)(`label`,{className:`mt-3 block text-xs font-medium`,htmlFor:`tracker-instruction`,children:`Custom instruction`}),(0,X.jsx)(te,{id:`tracker-instruction`,"aria-keyshortcuts":`Control+Enter Meta+Enter`,onKeyDown:e=>{ie(e.nativeEvent)&&(e.preventDefault(),W&&H.mutate())},value:b,onChange:e=>C(e.target.value),placeholder:`Optional instructions; these are placed last in the task.`,className:`mt-1 min-h-20 text-[13px]`}),(0,X.jsxs)(`div`,{className:`mt-1 flex justify-between text-[11px] text-muted-foreground`,children:[(0,X.jsx)(`span`,{children:V.error??`Full tracker detail and source link are included. Comments, attachments, and custom fields are outside the snapshot.`}),(0,X.jsxs)(`span`,{children:[V.task.length.toLocaleString(),` / `,Se.toLocaleString()]})]}),o?(0,X.jsx)(`p`,{role:`status`,className:`mt-3 text-xs text-muted-foreground`,children:`Verifying tracker connection…`}):null,s?(0,X.jsx)(`p`,{role:`status`,className:`mt-3 text-xs text-danger`,children:`Issue detail could not be verified. Retry successfully before starting the agent; your draft is preserved.`}):null,(0,X.jsxs)(`div`,{className:`mt-4 flex flex-wrap items-center gap-2.5`,children:[(0,X.jsxs)(E,{variant:`contrast`,onClick:()=>H.mutate(),disabled:!W,children:[(0,X.jsx)(ae,{className:`size-3.5`}),` Run agent on this issue`]}),(0,X.jsx)(`kbd`,{"aria-hidden":`true`,className:`rounded-[5px] border border-b-2 border-border bg-card px-[5px] py-px font-mono text-[10.5px] font-medium text-muted-foreground`,children:re()}),N?(0,X.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-success`,children:[(0,X.jsx)(ne,{className:`size-3`}),` queued · `,(0,X.jsx)(O,{className:`text-violet hover:underline`,to:`/tasks/${N}`,children:`View task →`})]}):null]})]})}function Te({options:e,selected:t,onChange:n}){let[r,i]=(0,q.useState)(``),a=[...new Set([...t,...e])].sort(),o=e=>n(t.includes(e)?t.filter(t=>t!==e):[...t,e]),s=r.trim();return(0,X.jsxs)(M,{onOpenChange:e=>{e||i(``)},children:[(0,X.jsx)(j,{asChild:!0,children:(0,X.jsxs)(`button`,{type:`button`,"aria-label":`Filter labels`,className:T(`flex shrink-0 items-center gap-1 rounded-md border border-border px-2 py-1.5 text-xs text-soft-foreground hover:bg-muted`,t.length>0&&`border-primary/60 text-foreground`),children:[(0,X.jsx)(oe,{"aria-hidden":`true`,className:`size-3.5`}),`Labels`,t.length?` · ${t.length}`:``]})}),(0,X.jsx)(A,{align:`end`,sideOffset:6,className:`w-60 p-0`,children:(0,X.jsxs)(I,{label:`Find or add label`,shouldFilter:!1,children:[(0,X.jsx)(R,{"aria-label":`Find or add label`,placeholder:`Find or add label…`,value:r,onValueChange:i,maxLength:256}),(0,X.jsxs)(F,{className:`max-h-64`,children:[t.length?(0,X.jsx)(L,{onSelect:()=>n([]),children:`Clear filters`}):null,a.filter(e=>e.toLowerCase().includes(s.toLowerCase())).map(e=>(0,X.jsxs)(L,{value:e,disabled:!t.includes(e)&&t.length>=20,onSelect:()=>o(e),children:[(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e}),t.includes(e)?(0,X.jsx)(ne,{className:`size-3.5 text-primary`}):null]},e)),s&&!a.includes(s)?(0,X.jsxs)(L,{disabled:t.length>=20,onSelect:()=>{o(s),i(``)},children:[`Use label “`,s,`”`]}):null,(0,X.jsx)(`p`,{className:`px-3 py-2 text-[11px] text-soft-foreground`,children:`Suggestions come from loaded issues. Type any exact label to filter.`})]})]})})]})}var Ee=()=>({workflow:null,selectedSkills:[],engine:{runner:null,model:null,account:null}});function De(){let{id:e}=k(),{projectId:t}=p(),n=c(),i=r(),a=`${t??`default`}:${n.data?.association?Z(n.data.association):`none`}`,o=(0,q.useMemo)(()=>new Map,[a]),[s,l]=(0,q.useState)(null),u=s?.key===a?s.value:Ee(),d=e=>l(t=>{let n=t?.key===a?t.value:Ee();return{key:a,value:typeof e==`function`?e(n):e}});if(n.isPending)return(0,X.jsx)($,{text:`Loading tracker…`});if(n.isError)return(0,X.jsxs)(`div`,{className:`p-8 text-center text-sm text-danger`,children:[(0,X.jsx)(`p`,{children:n.error.message}),(0,X.jsx)(O,{className:`mt-3 inline-block text-violet underline underline-offset-4`,to:`/settings/tracker`,children:`Open tracker settings`})]});if(!n.data.association)return(0,X.jsx)(Oe,{});if(n.data.association.connectionId){if(i.isPending)return(0,X.jsx)($,{text:`Loading tracker…`});if(i.isError)return(0,X.jsxs)(`div`,{role:`alert`,className:`p-8 text-center text-sm`,children:[(0,X.jsx)(`p`,{children:`Could not verify the tracker connection.`}),(0,X.jsx)(E,{className:`mt-3`,variant:`outline`,onClick:()=>void i.refetch(),children:`Retry connection`})]});if(!i.data.demo&&(i.data.connection?.id!==n.data.association.connectionId||i.data.connection?.kind!==n.data.association.kind))return(0,X.jsx)(Oe,{})}return(0,X.jsx)(ke,{scopePending:n.isFetching||!!n.data.association.connectionId&&i.isFetching,association:n.data.association,selectedId:e,drafts:o,selection:u,setSelection:d},a)}function Z(e){return`${e.kind}:${e.source.id}:${e.source.webUrl}:${e.externalId}:${e.connectionId??`legacy`}`}function Oe(){return(0,X.jsxs)(`div`,{className:`mx-auto flex min-h-[55vh] max-w-lg flex-col items-center justify-center p-6 text-center`,children:[(0,X.jsx)(ue,{className:`size-8 text-muted-foreground`}),(0,X.jsx)(`h1`,{className:`mt-3 text-lg font-semibold`,children:`Connect an issue tracker`}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Choose a project or team from your issue tracker in project settings.`}),(0,X.jsx)(O,{className:`mt-4 rounded-md bg-primary px-3 py-2 text-sm font-medium text-primary-foreground`,to:`/settings/tracker`,children:`Open tracker settings`})]})}function ke({scopePending:e,association:t,selectedId:n,drafts:r,selection:a,setSelection:o}){let s=S(),c=z(),l=c||n===void 0,[u,d]=(0,q.useState)(null),[f,p]=(0,q.useState)(``),[m,h]=(0,q.useState)(``),[_,v]=(0,q.useState)(`active`),[b,x]=(0,q.useState)(!1),[C,w]=(0,q.useState)([]),D=i(t,{state:_,labels:C,query:m},l),k=xe({association:t,state:_,labels:C,query:m},D.queryKey,l),A=D.data?.pages??[],j=A.find(e=>!e.available),M=A.flatMap(e=>e.available?e.items:[]),F=JSON.stringify([m,_,C]),I=u?.filter===F?u.id:null;(0,q.useEffect)(()=>{I===null&&M[0]&&d({filter:F,id:M[0].id})},[I,M,F]);let L=n??(c?I:null),R=K[t.kind].label,B=async()=>{await(k.ready?k.refresh():D.restart()),L&&s.invalidateQueries({queryKey:y.tracker.detail(t,L)})};return(0,X.jsx)(he,{name:`tracker`,route:`tracker`,selected:n!==void 0,list:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`header`,{"data-slot":`tracker-header`,className:`sticky top-0 z-10 border-b border-border bg-background/95 px-4 pt-3 backdrop-blur`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,X.jsx)(`h1`,{className:`text-lg font-semibold`,children:R}),(0,X.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[11px] text-soft-foreground`,title:t.externalName,children:t.externalName}),(0,X.jsx)(O,{to:`/settings/tracker`,"aria-label":`Connection settings`,title:`Connection settings`,className:`ml-auto shrink-0 text-soft-foreground hover:text-foreground`,children:(0,X.jsx)(de,{className:`size-3.5`})}),(0,X.jsxs)(`button`,{type:`button`,"aria-label":`Refresh`,title:`Refresh from ${R}`,disabled:k.checking||D.isFetching,onClick:()=>void B(),className:`flex shrink-0 items-center gap-1 rounded-full border border-border px-1.5 py-px text-[10px] font-medium text-soft-foreground transition-colors hover:bg-muted hover:text-foreground disabled:opacity-55`,children:[(0,X.jsx)(U,{"aria-hidden":`true`,className:T(`size-[9px]`,(k.checking||D.isFetching)&&`motion-safe:animate-spin`)}),k.checkedAt?`synced ${G(k.checkedAt)} ago`:`refresh`]})]}),(0,X.jsxs)(`div`,{className:`mt-2.5 flex items-center justify-between border-b border-border pb-2`,children:[(0,X.jsxs)(`h2`,{className:`text-[13px] font-medium`,children:[`Issues · `,M.length,D.hasNextPage?`+`:``]}),(0,X.jsxs)(`select`,{"aria-label":`Issue state`,className:`min-w-0 rounded-md border border-input bg-card px-2 py-1 text-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:_,onChange:e=>{v(e.target.value),x(!0)},children:[(0,X.jsx)(`option`,{value:`active`,children:`Active`}),(0,X.jsx)(`option`,{value:`all`,children:`All states`})]})]}),(0,X.jsxs)(`form`,{className:`mt-2.5 flex items-center gap-2 pb-3`,onSubmit:e=>{e.preventDefault();let t=f.trim(),n=b?_:t?`all`:`active`;t===m&&n===_?B():(h(t),v(n))},children:[(0,X.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[(0,X.jsx)(N,{"aria-hidden":`true`,className:`pointer-events-none absolute top-1/2 left-2 size-3.5 -translate-y-1/2 text-soft-foreground`}),(0,X.jsx)(`input`,{type:`search`,"aria-label":`Search tracker`,maxLength:256,className:`w-full rounded-md border border-input bg-card py-1 pr-2 pl-7 text-[13px] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,value:f,onChange:e=>p(e.target.value),placeholder:`Search issues…`})]}),(0,X.jsx)(E,{type:`submit`,variant:`outline`,size:`sm`,disabled:D.isFetching,children:`Search`}),(0,X.jsx)(Te,{options:M.flatMap(e=>e.labels),selected:C,onChange:w})]})]}),k.error?(0,X.jsxs)(`p`,{role:`status`,className:`px-4 py-2 text-xs text-danger`,children:[k.error,` The displayed list may be outdated.`]}):null,k.hasChanges?(0,X.jsxs)(`div`,{className:`m-2 rounded-md border border-border bg-muted/40 p-3 text-xs`,children:[(0,X.jsx)(`p`,{children:`New changes are available. Your loaded pages have been preserved.`}),(0,X.jsx)(E,{size:`sm`,className:`mt-2`,variant:`outline`,onClick:()=>void k.applyChanges(),children:`Show changes`})]}):null,D.isPending&&l?(0,X.jsx)($,{text:`Loading issues…`}):null,D.isError?(0,X.jsx)(Q,{reason:D.error.message,generation:D.errorUpdatedAt,retryAfterSeconds:D.error instanceof g&&D.error.failure.code===`rate_limited`?D.error.failure.retryAfterSeconds:void 0,retry:()=>void D.restart()}):null,j&&!j.available?(0,X.jsx)(Q,{reason:j.reason,generation:D.dataUpdatedAt,retryAfterSeconds:j.code===`rate_limited`?j.retryAfterSeconds:void 0,retry:()=>void D.restart()}):null,!D.isPending&&!D.isError&&!j&&M.length===0?(0,X.jsx)($,{text:m.trim()?`No issues match this search.`:`No issues in this view.`}):null,(0,X.jsx)(`ul`,{"data-slot":`tracker-rows`,className:`flex flex-col gap-0.5 px-2 py-2`,children:M.map(n=>(0,X.jsx)(Ae,{scopePending:e,association:t,item:n,active:L===n.id},n.id))}),D.hasNextPage?(0,X.jsx)(E,{className:`mx-4 mb-4 shrink-0`,variant:`outline`,onClick:()=>void D.fetchNextPage(),disabled:D.isFetchingNextPage,children:`Load more`}):null]}),detail:L?(0,X.jsx)(Me,{scopePending:e,association:t,id:L,drafts:r,selection:a,onSelectionChange:o},`${Z(t)}:${L}`):(0,X.jsx)(ce,{icon:(0,X.jsx)(P,{}),tone:`neutral`,heading:`h2`,title:`Nothing selected`,subtitle:`Choose an issue from the list.`})})}function Ae({scopePending:e,association:t,item:n,active:r}){let i=S(),a=y.tracker.detail(t,n.id),o=()=>void i.prefetchQuery({queryKey:a,queryFn:({signal:e})=>d(n.id,{signal:e,association:t}),staleTime:b});return(0,X.jsx)(`li`,{children:(0,X.jsxs)(O,{to:`/tracker/${encodeURIComponent(n.id)}`,draggable:!0,onMouseEnter:o,onFocus:o,onDragStart:t=>{if(e){t.preventDefault();return}let n=i.getQueryState(a),r=je(i,a);if(!r){t.preventDefault(),o(),D(n?.status===`error`?`Full issue detail failed to load. Open the issue to retry.`:`Loading fresh issue detail. Drag again when it is ready.`,n?.status===`error`?{tone:`danger`}:void 0);return}if(J(r.item).length){t.preventDefault(),D(`Open this issue to acknowledge snapshot limitations before handoff.`,{tone:`danger`});return}t.dataTransfer.setData(`text/plain`,Y(r.item)),t.dataTransfer.effectAllowed=`copy`},"data-slot":`tracker-row`,"aria-current":r?`page`:void 0,title:`Drag into the composer to prefill a task`,className:T(`flex flex-col gap-1 rounded-md px-2.5 py-2 transition-colors hover:bg-muted`,r&&`bg-muted`),children:[(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(P,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-violet`}),(0,X.jsx)(`span`,{className:T(`min-w-0 truncate text-[13px] font-medium`,r&&`font-semibold`),children:n.title})]}),(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 pl-[22px] font-mono text-[10.5px] text-muted-foreground`,children:[(0,X.jsx)(`span`,{className:`shrink-0`,children:n.id}),(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:n.author}),(0,X.jsx)(`span`,{className:`shrink-0`,title:new Date(n.updatedAt).toLocaleString(),children:G(n.updatedAt)})]}),(0,X.jsxs)(`span`,{className:`flex flex-wrap gap-1 pl-[22px]`,children:[(0,X.jsx)(`span`,{className:`rounded border border-border px-1.5 py-px text-[10px] text-muted-foreground`,children:n.status}),n.labels.map(e=>(0,X.jsx)(`span`,{className:`rounded-full border border-border px-1.5 py-px text-[10px] text-muted-foreground`,children:e},e))]})]})})}function je(e,t,n=Date.now()){let r=e.getQueryState(t);return r?.status!==`success`||r.fetchStatus!==`idle`||r.isInvalidated||r.dataUpdatedAt<=0||n-r.dataUpdatedAt>=6e4||!r.data?.available?null:r.data}function Me({scopePending:e,association:t,id:n,selection:r,onSelectionChange:i,drafts:o}){let s=u(t,n),c=v(),l=a(),[d,f]=(0,q.useState)(null);(0,q.useEffect)(()=>{s.data?.available&&f(s.data.item)},[s.data]);let p=s.isError?(0,X.jsx)(Q,{reason:s.error.message,generation:s.errorUpdatedAt,retry:()=>void s.refetch()}):s.data&&!s.data.available?(0,X.jsx)(Q,{reason:s.data.reason,generation:s.dataUpdatedAt,retryAfterSeconds:s.data.code===`rate_limited`?s.data.retryAfterSeconds:void 0,retry:()=>void s.refetch()}):null,m=s.data?.available?s.data.item:d;return m?(0,X.jsxs)(`article`,{"data-slot":`tracker-detail-inner`,className:`min-w-0 px-4 py-4 md:px-7 md:py-5`,children:[(0,X.jsx)(Ne,{}),(0,X.jsxs)(`p`,{className:`flex flex-wrap items-center gap-x-1.5 font-mono text-[10.5px] text-soft-foreground`,children:[(0,X.jsx)(`span`,{children:m.id}),`·`,(0,X.jsx)(`span`,{children:`issue`}),`·`,(0,X.jsxs)(`span`,{children:[`opened by `,m.author]}),`·`,(0,X.jsxs)(`span`,{title:new Date(m.createdAt).toLocaleString(),children:[G(m.createdAt),` ago`]}),`·`,(0,X.jsxs)(`a`,{className:`inline-flex items-center gap-0.5 text-muted-foreground hover:text-foreground hover:underline`,href:m.url,target:`_blank`,rel:`noopener noreferrer`,children:[`open on `,K[t.kind].label,(0,X.jsx)(H,{"aria-hidden":`true`,className:`size-2.5`})]})]}),(0,X.jsx)(`h2`,{className:`mt-2 text-xl leading-snug font-semibold`,children:m.title}),(0,X.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-1.5`,children:[(0,X.jsx)(`span`,{className:`rounded border border-border px-1.5 py-px text-[10px] text-muted-foreground`,children:m.status}),m.labels.map(e=>(0,X.jsx)(`span`,{className:`rounded-full border border-border px-1.5 py-px text-[10px] text-muted-foreground`,children:e},e))]}),p,J(m).length?(0,X.jsxs)(`div`,{className:`mt-4 rounded-md border border-warning/50 bg-warning/10 p-3 text-sm`,children:[(0,X.jsx)(W,{className:`mr-2 inline size-4`}),`This snapshot is incomplete. Review the limitations in the handoff panel.`]}):null,(0,X.jsx)(`section`,{"data-slot":`tracker-body`,className:`mt-5 text-sm`,children:(0,X.jsx)(le,{children:m.body.trim()||`*No description was provided.*`})}),(0,X.jsx)(we,{scopePending:e,item:m,detailUnavailable:s.isError||!s.data?.available,drafts:o,selection:r,onSelectionChange:i,workflows:c.data?.workflows??[],skills:l.data??[]},`${Z(t)}:${m.id}`)]}):(0,X.jsxs)(`div`,{className:`p-4`,children:[(0,X.jsx)(Ne,{}),s.isPending?(0,X.jsx)($,{text:`Loading full issue detail…`}):p]})}function Q({reason:e,retry:t,retryAfterSeconds:n=0,generation:r}){let[i,a]=(0,q.useState)(n);return(0,q.useEffect)(()=>a(n),[e,n,r]),(0,q.useEffect)(()=>{if(i<=0)return;let e=window.setInterval(()=>a(e=>Math.max(0,e-1)),1e3);return()=>window.clearInterval(e)},[i>0]),(0,X.jsxs)(`div`,{className:`mt-5 rounded-md border border-danger/30 bg-danger/5 p-4 text-sm`,children:[(0,X.jsx)(`p`,{className:`text-danger`,children:e}),(0,X.jsxs)(`div`,{className:`mt-3 flex items-center gap-3`,children:[(0,X.jsxs)(E,{variant:`outline`,disabled:i>0,onClick:t,children:[(0,X.jsx)(U,{className:`size-3.5`}),i>0?`Retry in ${i}s`:`Retry`]}),(0,X.jsx)(O,{className:`text-xs text-violet underline underline-offset-4`,to:`/settings/tracker`,children:`Tracker settings`})]})]})}function $({text:e,danger:t=!1}){return(0,X.jsx)(`div`,{className:`p-8 text-center text-sm ${t?`text-danger`:`text-muted-foreground`}`,children:e})}function Ne(){return(0,X.jsxs)(O,{className:`mb-3 inline-flex items-center gap-1.5 text-xs font-medium text-muted-foreground hover:text-foreground md:hidden`,to:`/tracker`,children:[(0,X.jsx)(V,{"aria-hidden":`true`,className:`size-3.5`}),`Back to the list`]})}export{De as TrackerRoute};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,r as n,t as r}from"./react-runtime-CCIEwYL0.js";import{Dr as i,Gn as a,Jn as o,Kn as s,Li as c,M as l,Qt as u,Un as d,Wi as f,Wn as p,_r as m,ar as h,da as g,dr as _,j as v,qn as y,r as b,ua as x,va as S,xa as C,ya as w}from"./queries-Bn7zl9OU.js";import{B as ee,F as T,Ht as E,L as te,Nt as ne,r as D,rt as re,st as O,z as k}from"./button-Clwd6u4_.js";import{f as A,s as ie}from"./project-router-CZzr7lzN.js";import{C as j,a as ae,o as M,r as oe}from"./reference-chip-CScP5y_O.js";import{d as N,f as P,h as F,l as I,m as L,p as se}from"./use-now-BB7W0F--.js";import{t as R}from"./check-Dt8U0Zvm.js";import{f as ce}from"./tooltip-B628Gs7C.js";var le=e(n()),z=r(),B=e(t(),1),V=new Map,H=e=>({status:e.status,archived:e.archived,awaitingAnswerSince:e.awaitingAnswerSince}),U=new Map,W=new Set,G=0;function ue(e,t){t?U.set(e,G+1):U.delete(e),G++,W.forEach(e=>e())}function de(e,t){let n=`${e}:${typeof t==`string`?t:t.id}`;V.delete(n),V.set(n,{value:typeof t==`string`?null:H(t),revision:G+1}),V.size>2e3&&V.delete(V.keys().next().value),G++,W.forEach(e=>e())}function fe(e){return(0,B.useSyncExternalStore)(e=>(W.add(e),()=>{W.delete(e)}),()=>G),me(e.projectId,e.id)}var pe=()=>G,me=(e,t)=>U.has(e)?null:V.get(`${e}:${t}`)?.value;function he(e,t=[]){let n=new Map(t.map(e=>[`${e.projectId}:${e.id}`,e])),r=!1;for(let n of t){let t=U.get(n.projectId);t!==void 0&&t<=e&&(U.delete(n.projectId),r=!0)}for(let[t,i]of V){let a=n.get(t);i.revision>e||!a||(a.status!==void 0&&a.archived!==void 0?(V.set(t,{value:H({status:a.status,archived:a.archived,awaitingAnswerSince:a.awaitingAnswerSince}),revision:G+1}),r=!0):i.value===null&&(V.delete(t),r=!0))}r&&(G++,W.forEach(e=>e()))}function ge(e=()=>performance.now()){let t=new Map,n=new Set,r,i={connected:!1,samples:[]},a=()=>{i={...i,samples:[...t.values()].map(e=>e.sample)},n.forEach(e=>e())},o=()=>{let n=!1;for(let[r,i]of t)i.deadline<=e()&&(t.delete(r),n=!0);n&&a()};return{getSnapshot:()=>i,subscribe(e){return n.add(e),r||=setInterval(o,1e3),o(),()=>{n.delete(e),n.size||(clearInterval(r),r=void 0)}},expire:o,connected(e){i.connected!==e&&(i={...i,connected:e},a())},replace(n,r,i){for(let[e,r]of t)r.sample.projectId===n&&t.delete(e);let o=i?Date.parse(i):NaN;for(let i of r){let r=Math.max(0,o-Date.parse(i.sampledAt));Number.isFinite(r)&&r<1e4&&i.projectId===n&&t.set(`${n}:${i.runId}`,{sample:i,deadline:e()+1e4-r})}a()},seed(n,r){for(let[e,n]of t)Date.parse(n.sample.sampledAt)<=Date.parse(r)&&t.delete(e);for(let i of n){let n=Math.max(0,Date.parse(r)-Date.parse(i.sampledAt));Number.isFinite(n)&&n<1e4&&!t.has(`${i.projectId}:${i.runId}`)&&t.set(`${i.projectId}:${i.runId}`,{sample:i,deadline:e()+1e4-n})}a()},remove(e,n){for(let[r,i]of t)i.sample.projectId===e&&(!n||i.sample.runId===n)&&t.delete(r);a()}}}var K=ge(),_e=()=>(0,B.useSyncExternalStore)(K.subscribe,K.getSnapshot),ve=te(`/workspace/events`),ye=2,be=3e3,xe=[`run`,`run-deleted`,`todos`,`usage`,`ping`],Se=[`project-added`,`project-removed`,`checkout-progress`,`automation-change`,`tracker-changed`],Ce=new Set;function we(e){return Ce.add(e),()=>{Ce.delete(e)}}var Te=400,Ee=15e3;function De(e){let t;return{onEvent(n){n.type!==`run`&&n.type!==`run-deleted`||t===void 0&&(t=setTimeout(()=>{t=void 0,e.invalidateQueries({queryKey:u.runsIndex})},Te))},cancel(){clearTimeout(t),t=void 0}}}function Oe(e,t){let n;for(let t of e.getQueryCache().getAll()){if(t.queryKey[1]!==`health`)continue;let e=t.state.data?.bootProject;if(typeof e==`string`){n=e;break}}let r=new Set([t]);return n===t&&r.add(`default`),[...r]}function ke(e){return[[`run-history`,e],[`run-history-context`,e],[`run-history-tail`,e]]}function Ae(e){return[[e,`runs`],[e,`todos`],[e,`worktrees`],...ke(e)]}function je(e){if(e[0]!==`workspace`)return e[0]===`run-history`||e[0]===`run-history-context`||e[0]===`run-history-tail`?typeof e[1]==`string`?e[1]:void 0:typeof e[0]==`string`?e[0]:void 0}function Me(e){return[...new Set(e.getQueryCache().getAll().map(({queryKey:e})=>je(e)).filter(e=>e!==void 0))]}function Ne(e){let t,n=new Set;return{onEvent(r){if(!(t!==void 0&&n.has(r))){for(let t of Oe(e,r))n.add(t);t===void 0&&(t=setTimeout(()=>{t=void 0;let r=n;n=new Set;let i=ee();for(let t of r)for(let n of Ae(t))e.invalidateQueries({queryKey:n,refetchType:t===i?`active`:`none`})},Te))}},cancel(){clearTimeout(t),t=void 0,n.clear()}}}function Pe(e,t,n){let r=new Map,i,a=0,o=()=>{if(clearTimeout(i),i=void 0,a>0)return;let o=Ie(e),s=r;r=new Map;for(let r of s.values())r.project===o?Le(e,t,r.event):n(r.project)},s=()=>{i===void 0&&(i=setTimeout(o,50))};return{onEvent(e,t){let n=e.type===`run`?e.run.id:e.id;r.set(`${t}:${n}`,{event:e,project:t}),s()},beginReconcile(){o(),a+=1},endReconcile(){a!==0&&(--a,a===0&&o())},cancel(){clearTimeout(i),i=void 0,r.clear(),a=0}}}async function Fe(e){let t=ee(),n=[b.runs.all,u.runsIndex,u.dashboard,b.todos,b.health,b.worktrees,j.all(),u.providerStatus,u.hostUsage,[`run-history`,t],[`run-history-context`,t]],r=Promise.allSettled([Promise.all([e.cancelQueries({queryKey:[`tracker`],predicate:e=>e.queryKey[2]!==`items`||e.getObserversCount()===0}),e.cancelQueries({queryKey:u.projects})]).then(()=>Promise.all([e.invalidateQueries({queryKey:[`tracker`],predicate:e=>e.queryKey[2]!==`items`||e.getObserversCount()===0}),e.invalidateQueries({queryKey:u.projects})])),e.invalidateQueries({queryKey:[`worktree-lifecycle`],refetchType:`none`}),...Me(e).filter(e=>e!==t).flatMap(t=>Ae(t).map(t=>e.invalidateQueries({queryKey:t,refetchType:`none`}))),...n.map(t=>e.invalidateQueries({queryKey:t}))]),i=!1,a;try{await Promise.race([r.then(()=>{i=!0}),new Promise(e=>{a=setTimeout(e,Ee)})])}finally{clearTimeout(a)}i||await Promise.allSettled(n.map(t=>e.cancelQueries({queryKey:t})))}function Ie(e){return k()??e.getQueryData(b.health)?.bootProject}function Le(e,t,n){switch(n.type){case`run`:{e.setQueryData(b.runs.list(),e=>a(e,n.run));let t=b.runs.detail(n.run.id);e.getQueryData(t)!==void 0&&e.setQueryData(t,e=>y(e,n.run));let r=b.runs.changes(n.run.id);e.getQueryData(r)!==void 0&&e.invalidateQueries({queryKey:r}),e.invalidateQueries({queryKey:b.worktrees});return}case`run-deleted`:e.setQueryData(b.runs.list(),e=>p(e,n.id)),e.removeQueries({queryKey:b.runs.detail(n.id)}),e.removeQueries({queryKey:b.runs.diff(n.id)}),e.invalidateQueries({queryKey:b.worktrees});return;case`todos`:e.setQueryData(b.todos,n.items);return;case`usage`:t.set(n.usage);return;case`ping`:return}}function Re(e,t=ve){let n=C();(0,B.useEffect)(()=>{let r=globalThis.EventSource;if(typeof r!=`function`)return;let i=null,a,s,c=new Set,l=()=>{clearTimeout(a),clearTimeout(s),a=void 0,s=void 0;let e=Ie(n);for(let t of c){let r=t===e?ee():t;n.invalidateQueries({queryKey:j.all(r),refetchType:t===e?`active`:`none`}),t===e&&n.invalidateQueries({queryKey:b.worktrees})}c.clear()},d,f,p=()=>{clearTimeout(d),clearTimeout(f),d=void 0,f=void 0,n.invalidateQueries({queryKey:u.dashboard,refetchType:document.visibilityState===`hidden`?`none`:`active`,predicate:e=>e.queryKey[2]!==`telemetry`&&e.queryKey[2]!==`automations`&&!(e.queryKey[2]===`feed`&&e.queryKey[3]===`github`)})},m=()=>{clearTimeout(d),d=setTimeout(p,250),f??=setTimeout(p,1e3)},h=De(n),_=Ne(n),v=Pe(n,e,_.onEvent),y,S=!1,C=!1,w=Date.now(),T,te=!1,D=!1,O=0,k=new Set,A=[],ie=()=>{te=!0,D=!1;let e=u.providerStatus;n.cancelQueries({queryKey:e,exact:!0}).then(()=>n.invalidateQueries({queryKey:e,exact:!0,refetchType:`active`})).finally(()=>{if(C||!D){te=!1;return}ie()})},ae=e=>{let t=u.providerStatus,r=x(n.getQueryData(t),e);if(r!==void 0){n.setQueryData(t,r);return}if(te){D=!0;return}ie()},M=()=>{O+=1,v.beginReconcile(),Fe(n).finally(()=>{--O,O===0&&(C?(k.clear(),A=[]):oe()),v.endReconcile()})},oe=()=>{let e=k,t=A;k=new Set,A=[];let r=Ie(n);for(let t of e)t===r?n.invalidateQueries({queryKey:b.todos}):_.onEvent(t);for(let e of t)ae(e)},N=()=>{C||y!==void 0||(y=setTimeout(()=>{y=void 0,C||P()},be))},P=()=>{K.connected(!1),i?.close(),w=Date.now();let d=new r(t,{withCredentials:!0});i=d,d.addEventListener(`open`,()=>{C||i!==d||(w=Date.now(),S&&M(),K.connected(!0),S=!0)});for(let t of xe)d.addEventListener(t,r=>{if(C||i!==d)return;w=Date.now();let a=o(t,r.data);if(a){if(h.onEvent(a.event),(a.event.type===`run`||a.event.type===`run-deleted`)&&(m(),a.project&&de(a.project,a.event.type===`run-deleted`?a.event.id:a.event.run),a.project&&(a.event.type===`run-deleted`||a.event.run.status!==`running`)&&K.remove(a.project,a.event.type===`run-deleted`?a.event.id:a.event.run.id)),t===`usage`)try{let e=re.safeParse(JSON.parse(r.data));e.success&&K.replace(e.data.project,e.data.samples??[],e.data.sentAt)}catch{}if(a.project!==null&&a.project!==Ie(n)){_.onEvent(a.project);return}a.event.type===`run`||a.event.type===`run-deleted`?a.project!==null&&v.onEvent(a.event,a.project):a.event.type===`todos`&&O>0?a.project!==null&&k.add(a.project):Le(n,e,a.event)}});d.addEventListener(`worktree-lifecycle`,e=>{if(C||i!==d)return;w=Date.now();let t;try{t=JSON.parse(e.data)}catch{return}let n=E.safeParse(t);n.success&&(c.add(n.data.projectId),clearTimeout(a),a=setTimeout(l,100),s??=setTimeout(l,1e3))});for(let e of Se)d.addEventListener(e,t=>{if(C||i!==d)return;w=Date.now();let r;try{r=JSON.parse(t.data)}catch{return}if(e===`tracker-changed`){if(!ne.safeParse(r).success)return;Promise.all([n.cancelQueries({queryKey:[`tracker`]}),n.cancelQueries({queryKey:u.projects})]).then(()=>Promise.all([n.invalidateQueries({queryKey:[`tracker`]}),n.invalidateQueries({queryKey:u.projects})]))}e!==`checkout-progress`&&e!==`automation-change`&&e!==`tracker-changed`&&(r&&typeof r==`object`&&(e===`project-removed`&&`id`in r&&typeof r.id==`string`?(ue(r.id,!0),K.remove(r.id)):e===`project-added`&&`project`in r&&r.project&&typeof r.project==`object`&&`id`in r.project&&typeof r.project.id==`string`&&ue(r.project.id,!1)),n.invalidateQueries({queryKey:u.projects}),n.invalidateQueries({queryKey:u.dashboard,refetchType:document.visibilityState===`hidden`?`none`:`active`}));for(let t of[...Ce])t(e,r)});d.addEventListener(`provider-status`,e=>{if(C||i!==d)return;w=Date.now();let t;try{t=JSON.parse(e.data)}catch{return}let n=g(t);if(n){if(O>0){A.push(n);return}ae(n)}}),d.addEventListener(`error`,()=>{C||i!==d||(K.connected(!1),d.readyState===ye&&N())})},F=()=>{document.visibilityState===`visible`&&(M(),(!i||i.readyState===ye)&&(clearTimeout(y),y=void 0,P()))},I=()=>{clearTimeout(y),y=void 0;let e=i;i=null,K.connected(!1),e?.close()},L=e=>{e.persisted&&(M(),P())};return T=setInterval(()=>{C||document.visibilityState!==`visible`||Date.now()-w<=4e4||(clearTimeout(y),y=void 0,P())},1e4),document.addEventListener(`visibilitychange`,F),window.addEventListener(`pagehide`,I),window.addEventListener(`pageshow`,L),P(),()=>{C=!0,clearTimeout(y),clearInterval(T),K.connected(!1),clearTimeout(d),clearTimeout(f),clearTimeout(a),clearTimeout(s),c.clear(),h.cancel(),_.cancel(),v.cancel(),k.clear(),A=[],document.removeEventListener(`visibilitychange`,F),window.removeEventListener(`pagehide`,I),window.removeEventListener(`pageshow`,L);let e=i;i=null,K.connected(!1),e?.close()}},[n,e,t])}var ze=(0,B.createContext)(null);function Be({children:e}){let[t]=(0,B.useState)(s);return Re(t),l(),(0,z.jsx)(ze.Provider,{value:t,children:e})}function Ve(e){let t=(0,B.useContext)(ze),n=t?t.get:Ue;return(0,B.useSyncExternalStore)(t?t.subscribe:He,()=>e?n()[e]:void 0,()=>void 0)}var He=()=>()=>void 0,Ue=()=>d,We=T(`check-check`,[[`path`,{d:`M18 6 7 17l-5-5`,key:`116fxf`}],[`path`,{d:`m22 10-7.5 7.5L13 16`,key:`ke71qq`}]]),Ge=T(`dollar-sign`,[[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`22`,key:`7eqyqh`}],[`path`,{d:`M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6`,key:`1b0p4s`}]]),Ke=T(`layout-dashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),qe=T(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]);function Je(){var e=[...arguments];return(0,B.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Ye=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Xe(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Ze(e){return`nodeType`in e}function q(e){return e?Xe(e)?e:Ze(e)?e.ownerDocument?.defaultView??window:window:window}function Qe(e){let{Document:t}=q(e);return e instanceof t}function $e(e){return!Xe(e)&&e instanceof q(e).HTMLElement}function et(e){return e instanceof q(e).SVGElement}function tt(e){return e?Xe(e)?e.document:Ze(e)?Qe(e)?e:$e(e)||et(e)?e.ownerDocument:document:document:document}var J=Ye?B.useLayoutEffect:B.useEffect;function nt(e){let t=(0,B.useRef)(e);return J(()=>{t.current=e}),(0,B.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function rt(){let e=(0,B.useRef)(null);return[(0,B.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,B.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function it(e,t){t===void 0&&(t=[e]);let n=(0,B.useRef)(e);return J(()=>{n.current!==e&&(n.current=e)},t),n}function at(e,t){let n=(0,B.useRef)();return(0,B.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function ot(e){let t=nt(e),n=(0,B.useRef)(null);return[n,(0,B.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function st(e){let t=(0,B.useRef)();return(0,B.useEffect)(()=>{t.current=e},[e]),t.current}var ct={};function lt(e,t){return(0,B.useMemo)(()=>{if(t)return t;let n=ct[e]==null?0:ct[e]+1;return ct[e]=n,e+`-`+n},[e,t])}function ut(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var dt=ut(1),ft=ut(-1);function pt(e){return`clientX`in e&&`clientY`in e}function mt(e){if(!e)return!1;let{KeyboardEvent:t}=q(e.target);return t&&e instanceof t}function ht(e){if(!e)return!1;let{TouchEvent:t}=q(e.target);return t&&e instanceof t}function gt(e){if(ht(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return pt(e)?{x:e.clientX,y:e.clientY}:null}var _t=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[_t.Translate.toString(e),_t.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),vt=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function yt(e){return e.matches(vt)?e:e.querySelector(vt)}var bt={display:`none`};function xt(e){let{id:t,value:n}=e;return B.createElement(`div`,{id:t,style:bt},n)}function St(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return B.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function Ct(){let[e,t]=(0,B.useState)(``);return{announce:(0,B.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var wt=(0,B.createContext)(null);function Tt(e){let t=(0,B.useContext)(wt);(0,B.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function Et(){let[e]=(0,B.useState)(()=>new Set),t=(0,B.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,B.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Dt={draggable:`
|
|
2
|
+
To pick up a draggable item, press the space bar.
|
|
3
|
+
While dragging, use the arrow keys to move the item.
|
|
4
|
+
Press space again to drop the item in its new position, or press escape to cancel.
|
|
5
|
+
`},Ot={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function kt(e){let{announcements:t=Ot,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=Dt}=e,{announce:a,announcement:o}=Ct(),s=lt(`DndLiveRegion`),[c,l]=(0,B.useState)(!1);if((0,B.useEffect)(()=>{l(!0)},[]),Tt((0,B.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=B.createElement(B.Fragment,null,B.createElement(xt,{id:r,value:i.draggable}),B.createElement(St,{id:s,announcement:o}));return n?(0,le.createPortal)(u,n):u}var Y;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(Y||={});function At(){}function jt(e,t){return(0,B.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function Mt(){var e=[...arguments];return(0,B.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var X=Object.freeze({x:0,y:0});function Nt(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function Pt(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function Ft(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function It(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function Lt(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Rt(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var zt=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Rt(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=Nt(Rt(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(Pt)},Bt=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=It(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=It(r),o=i.reduce((e,t,r)=>e+Nt(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(Pt)};function Vt(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var Ht=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=Vt(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(Ft)};function Ut(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Wt(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:X}function Gt(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var Kt=Gt(1);function qt(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Jt(e,t,n){let r=qt(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var Yt={ignoreTransform:!1};function Xt(e,t){t===void 0&&(t=Yt);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=q(e).getComputedStyle(e);t&&(n=Jt(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function Zt(e){return Xt(e,{ignoreTransform:!0})}function Qt(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function $t(e,t){return t===void 0&&(t=q(e).getComputedStyle(e)),t.position===`fixed`}function en(e,t){t===void 0&&(t=q(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`&&n.test(r)})}function tn(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Qe(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!$e(i)||et(i)||n.includes(i))return n;let a=q(e).getComputedStyle(i);return i!==e&&en(i,a)&&n.push(i),$t(i,a)?n:r(i.parentNode)}return e?r(e):n}function nn(e){let[t]=tn(e,1);return t??null}function rn(e){return!Ye||!e?null:Xe(e)?e:Ze(e)?Qe(e)||e===tt(e).scrollingElement?window:$e(e)?e:null:null}function an(e){return Xe(e)?e.scrollX:e.scrollLeft}function on(e){return Xe(e)?e.scrollY:e.scrollTop}function sn(e){return{x:an(e),y:on(e)}}var Z;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Z||={});function cn(e){return!Ye||!e?!1:e===document.scrollingElement}function ln(e){let t={x:0,y:0},n=cn(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var un={x:.2,y:.2};function dn(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=un);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=ln(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Z.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Z.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Z.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Z.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function fn(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function pn(e){return e.reduce((e,t)=>dt(e,sn(t)),X)}function mn(e){return e.reduce((e,t)=>e+an(t),0)}function hn(e){return e.reduce((e,t)=>e+on(t),0)}function gn(e,t){if(t===void 0&&(t=Xt),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);nn(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var _n=[[`x`,[`left`,`right`],mn],[`y`,[`top`,`bottom`],hn]],vn=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=tn(t),r=pn(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of _n)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},yn=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function bn(e){let{EventTarget:t}=q(e);return e instanceof t?e:tt(e)}function xn(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t&&r>t.y}var Q;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(Q||={});function Sn(e){e.preventDefault()}function Cn(e){e.stopPropagation()}var $;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})($||={});var wn={start:[$.Space,$.Enter],cancel:[$.Esc],end:[$.Space,$.Enter,$.Tab]},Tn=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case $.Right:return{...n,x:n.x+25};case $.Left:return{...n,x:n.x-25};case $.Down:return{...n,y:n.y+25};case $.Up:return{...n,y:n.y-25}}},En=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new yn(tt(t)),this.windowListeners=new yn(q(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Q.Resize,this.handleCancel),this.windowListeners.add(Q.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Q.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&gn(n),t(X)}handleKeyDown(e){if(mt(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=wn,coordinateGetter:a=Tn,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:X;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=ft(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=ln(n),p=fn(n),m={x:Math.min(i===$.Right?p.right-p.width/2:p.right,Math.max(i===$.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===$.Down?p.bottom-p.height/2:p.bottom,Math.max(i===$.Down?p.top:p.top+p.height/2,u.y))},h=i===$.Right&&!s||i===$.Left&&!c,g=i===$.Down&&!l||i===$.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===$.Right&&e<=d.x||i===$.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===$.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===$.Down&&e<=d.y||i===$.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===$.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,dt(ft(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};En.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=wn,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function Dn(e){return!!(e&&`distance`in e)}function On(e){return!!(e&&`delay`in e)}var kn=class{constructor(e,t,n){n===void 0&&(n=bn(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=tt(i),this.documentListeners=new yn(this.document),this.listeners=new yn(n),this.windowListeners=new yn(q(i)),this.initialCoordinates=gt(r)??X,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Q.Resize,this.handleCancel),this.windowListeners.add(Q.DragStart,Sn),this.windowListeners.add(Q.VisibilityChange,this.handleCancel),this.windowListeners.add(Q.ContextMenu,Sn),this.documentListeners.add(Q.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(On(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(Dn(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Q.Click,Cn,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Q.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=gt(e)??X,s=ft(n,o);if(!t&&a){if(Dn(a)){if(a.tolerance!=null&&xn(s,a.tolerance))return this.handleCancel();if(xn(s,a.distance))return this.handleStart()}if(On(a)&&xn(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===$.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},An={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},jn=class extends kn{constructor(e){let{event:t}=e,n=tt(t.target);super(e,An,n)}};jn.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var Mn={move:{name:`mousemove`},end:{name:`mouseup`}},Nn;(function(e){e[e.RightClick=2]=`RightClick`})(Nn||={});var Pn=class extends kn{constructor(e){super(e,Mn,tt(e.event.target))}};Pn.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===Nn.RightClick?!1:(r?.({event:n}),!0)}}];var Fn={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},In=class extends kn{constructor(e){super(e,Fn)}static setup(){return window.addEventListener(Fn.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Fn.move.name,e)};function e(){}}};In.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Ln;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(Ln||={});var Rn;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(Rn||={});function zn(e){let{acceleration:t,activator:n=Ln.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=Rn.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=Vn({delta:d,disabled:!a}),[m,h]=rt(),g=(0,B.useRef)({x:0,y:0}),_=(0,B.useRef)({x:0,y:0}),v=(0,B.useMemo)(()=>{switch(n){case Ln.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case Ln.DraggableRect:return i}},[n,i,c]),y=(0,B.useRef)(null),b=(0,B.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,B.useMemo)(()=>s===Rn.TreeOrder?[...l].reverse():l,[s,l]);(0,B.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=l.indexOf(e),i=u[n];if(!i)continue;let{direction:a,speed:s}=dn(e,i,v,t,f);for(let e of[`x`,`y`])p[e][a[e]]||(s[e]=0,a[e]=0);if(s.x>0||s.y>0){h(),y.current=e,m(b,o),g.current=s,_.current=a;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var Bn={x:{[Z.Backward]:!1,[Z.Forward]:!1},y:{[Z.Backward]:!1,[Z.Forward]:!1}};function Vn(e){let{delta:t,disabled:n}=e,r=st(t);return at(e=>{if(n||!r||!e)return Bn;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Z.Backward]:e.x[Z.Backward]||i.x===-1,[Z.Forward]:e.x[Z.Forward]||i.x===1},y:{[Z.Backward]:e.y[Z.Backward]||i.y===-1,[Z.Forward]:e.y[Z.Forward]||i.y===1}}},[n,t,r])}function Hn(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return at(e=>t==null?null:r??e??null,[r,t])}function Un(e,t){return(0,B.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var Wn;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(Wn||={});var Gn;(function(e){e.Optimized=`optimized`})(Gn||={});var Kn=new Map;function qn(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,B.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,B.useRef)(e),d=g(),f=it(d),p=(0,B.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,B.useRef)(null),h=at(t=>{if(d&&!n)return Kn;if(!t||t===Kn||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new vn(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,B.useEffect)(()=>{u.current=e},[e]),(0,B.useEffect)(()=>{d||p()},[n,d]),(0,B.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,B.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case Wn.Always:return!1;case Wn.BeforeDragging:return n;default:return!n}}}function Jn(e,t){return at(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function Yn(e,t){return Jn(e,t)}function Xn(e){let{callback:t,disabled:n}=e,r=nt(t),i=(0,B.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,B.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Zn(e){let{callback:t,disabled:n}=e,r=nt(t),i=(0,B.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,B.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Qn(e){return new vn(Xt(e),e)}function $n(e,t,n){t===void 0&&(t=Qn);let[r,i]=(0,B.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=Xn({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=Zn({callback:a});return J(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function er(e){return Wt(e,Jn(e))}var tr=[];function nr(e){let t=(0,B.useRef)(e),n=at(n=>e?n&&n!==tr&&e&&t.current&&e.parentNode===t.current.parentNode?n:tn(e):tr,[e]);return(0,B.useEffect)(()=>{t.current=e},[e]),n}function rr(e){let[t,n]=(0,B.useState)(null),r=(0,B.useRef)(e),i=(0,B.useCallback)(e=>{let t=rn(e.target);t&&n(e=>e?(e.set(t,sn(t)),new Map(e)):null)},[]);return(0,B.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=rn(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,sn(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{rn(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,B.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>dt(e,t),X):pn(e):X,[e,t])}function ir(e,t){t===void 0&&(t=[]);let n=(0,B.useRef)(null);return(0,B.useEffect)(()=>{n.current=null},t),(0,B.useEffect)(()=>{let t=e!==X;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?ft(e,n.current):X}function ar(e){(0,B.useEffect)(()=>{if(!Ye)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function or(e,t){return(0,B.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function sr(e){return(0,B.useMemo)(()=>e?Qt(e):null,[e])}var cr=[];function lr(e,t){t===void 0&&(t=Xt);let[n]=e,r=sr(n?q(n):null),[i,a]=(0,B.useState)(cr);function o(){a(()=>e.length?e.map(e=>cn(e)?r:new vn(t(e),e)):cr)}let s=Zn({callback:o});return J(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function ur(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return $e(t)?t:e}function dr(e){let{measure:t}=e,[n,r]=(0,B.useState)(null),i=Zn({callback:(0,B.useCallback)(e=>{for(let{target:n}of e)if($e(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=ot((0,B.useCallback)(e=>{let n=ur(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,B.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var fr=[{sensor:jn,options:{}},{sensor:En,options:{}}],pr={current:{}},mr={draggable:{measure:Zt},droppable:{measure:Zt,strategy:Wn.WhileDragging,frequency:Gn.Optimized},dragOverlay:{measure:Xt}},hr=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},gr={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new hr,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:At},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:mr,measureDroppableContainers:At,windowRect:null,measuringScheduled:!1},_r={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:At,draggableNodes:new Map,over:null,measureDroppableContainers:At},vr=(0,B.createContext)(_r),yr=(0,B.createContext)(gr);function br(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new hr}}}function xr(e,t){switch(t.type){case Y.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Y.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case Y.DragEnd:case Y.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Y.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new hr(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case Y.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new hr(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case Y.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new hr(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function Sr(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,B.useContext)(vr),a=st(r),o=st(n?.id);return(0,B.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!mt(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=yt(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function Cr(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function wr(e){return(0,B.useMemo)(()=>({draggable:{...mr.draggable,...e?.draggable},droppable:{...mr.droppable,...e?.droppable},dragOverlay:{...mr.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function Tr(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,B.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;J(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=Wt(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=nn(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var Er=(0,B.createContext)({...X,scaleX:1,scaleY:1}),Dr;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(Dr||={});var Or=(0,B.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=fr,collisionDetection:o=Ht,measuring:s,modifiers:c,...l}=e,[u,d]=(0,B.useReducer)(xr,void 0,br),[f,p]=Et(),[m,h]=(0,B.useState)(Dr.Uninitialized),g=m===Dr.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,B.useRef)({initial:null,translated:null}),C=(0,B.useMemo)(()=>_==null?null:{id:_,data:x?.data??pr,rect:S},[_,x]),w=(0,B.useRef)(null),[ee,T]=(0,B.useState)(null),[E,te]=(0,B.useState)(null),ne=it(l,Object.values(l)),D=lt(`DndDescribedBy`,t),re=(0,B.useMemo)(()=>b.getEnabled(),[b]),O=wr(s),{droppableRects:k,measureDroppableContainers:A,measuringScheduled:ie}=qn(re,{dragging:g,dependencies:[y.x,y.y],config:O.droppable}),j=Hn(v,_),ae=(0,B.useMemo)(()=>E?gt(E):null,[E]),M=we(),oe=Yn(j,O.draggable.measure);Tr({activeNode:_==null?null:v.get(_),config:M.layoutShiftCompensation,initialRect:oe,measure:O.draggable.measure});let N=$n(j,O.draggable.measure,oe),P=$n(j?j.parentElement:null),F=(0,B.useRef)({activatorEvent:null,active:null,activeNode:j,collisionRect:null,collisions:null,droppableRects:k,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),I=b.getNodeFor(F.current.over?.id),L=dr({measure:O.dragOverlay.measure}),se=L.nodeRef.current??j,R=g?L.rect??N:null,ce=!!(L.nodeRef.current&&L.rect),z=er(ce?null:N),V=sr(se?q(se):null),H=nr(g?I??j:null),U=lr(H),W=Cr(c,{transform:{x:y.x-z.x,y:y.y-z.y,scaleX:1,scaleY:1},activatorEvent:E,active:C,activeNodeRect:N,containerNodeRect:P,draggingNodeRect:R,over:F.current.over,overlayNodeRect:L.rect,scrollableAncestors:H,scrollableAncestorRects:U,windowRect:V}),G=ae?dt(ae,y):null,ue=rr(H),de=ir(ue),fe=ir(ue,[N]),pe=dt(W,de),me=R?Kt(R,W):null,he=C&&me?o({active:C,collisionRect:me,droppableRects:k,droppableContainers:re,pointerCoordinates:G}):null,ge=Lt(he,`id`),[K,_e]=(0,B.useState)(null),ve=Ut(ce?W:dt(W,fe),K?.rect??null,N),ye=(0,B.useRef)(null),be=(0,B.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(w.current==null)return;let i=v.get(w.current);if(!i)return;let a=e.nativeEvent,o=new n({active:w.current,activeNode:i,event:a,options:r,context:F,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=ne.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=ne.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=w.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=ne.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,le.unstable_batchedUpdates)(()=>{r?.(i),h(Dr.Initializing),d({type:Y.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),T(ye.current),te(a)})},onMove(e){d({type:Y.DragMove,coordinates:e})},onEnd:s(Y.DragEnd),onCancel:s(Y.DragCancel)});ye.current=o;function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=F.current,o=null;if(t&&i){let{cancelDrop:s}=ne.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===Y.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=Y.DragCancel)}w.current=null,(0,le.unstable_batchedUpdates)(()=>{d({type:e}),h(Dr.Uninitialized),_e(null),T(null),te(null),ye.current=null;let t=e===Y.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=ne.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),xe=Un(a,(0,B.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(w.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},w.current=r,be(n,t))},[v,be]));ar(a),J(()=>{N&&m===Dr.Initializing&&h(Dr.Initialized)},[N,m]),(0,B.useEffect)(()=>{let{onDragMove:e}=ne.current,{active:t,activatorEvent:n,collisions:r,over:i}=F.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:pe.x,y:pe.y},over:i};(0,le.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[pe.x,pe.y]),(0,B.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=F.current;if(!e||w.current==null||!t||!i)return;let{onDragOver:a}=ne.current,o=r.get(ge),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,le.unstable_batchedUpdates)(()=>{_e(s),a?.(c),f({type:`onDragOver`,event:c})})},[ge]),J(()=>{F.current={activatorEvent:E,active:C,activeNode:j,collisionRect:me,collisions:he,droppableRects:k,draggableNodes:v,draggingNode:se,draggingNodeRect:R,droppableContainers:b,over:K,scrollableAncestors:H,scrollAdjustedTranslate:pe},S.current={initial:R,translated:me}},[C,j,he,me,v,se,R,k,b,K,H,pe]),zn({...M,delta:y,draggingRect:me,pointerCoordinates:G,scrollableAncestors:H,scrollableAncestorRects:U});let Se=(0,B.useMemo)(()=>({active:C,activeNode:j,activeNodeRect:N,activatorEvent:E,collisions:he,containerNodeRect:P,dragOverlay:L,draggableNodes:v,droppableContainers:b,droppableRects:k,over:K,measureDroppableContainers:A,scrollableAncestors:H,scrollableAncestorRects:U,measuringConfiguration:O,measuringScheduled:ie,windowRect:V}),[C,j,N,E,he,P,L,v,b,k,K,A,H,U,O,ie,V]),Ce=(0,B.useMemo)(()=>({activatorEvent:E,activators:xe,active:C,activeNodeRect:N,ariaDescribedById:{draggable:D},dispatch:d,draggableNodes:v,over:K,measureDroppableContainers:A}),[E,xe,C,N,d,D,v,K,A]);return B.createElement(wt.Provider,{value:p},B.createElement(vr.Provider,{value:Ce},B.createElement(yr.Provider,{value:Se},B.createElement(Er.Provider,{value:ve},i)),B.createElement(Sr,{disabled:n?.restoreFocus===!1})),B.createElement(kt,{...n,hiddenTextDescribedById:D}));function we(){let e=ee?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),kr=(0,B.createContext)(null),Ar=`button`,jr=`Draggable`;function Mr(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=lt(jr),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,B.useContext)(vr),{role:p=Ar,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,B.useContext)(g?Er:kr),[v,y]=ot(),[b,x]=ot(),S=or(o,t),C=it(n);return J(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:C}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,B.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===Ar?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:S,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function Nr(){return(0,B.useContext)(yr)}var Pr=`Droppable`,Fr={timeout:25};function Ir(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=lt(Pr),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,B.useContext)(vr),u=(0,B.useRef)({disabled:n}),d=(0,B.useRef)(!1),f=(0,B.useRef)(null),p=(0,B.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...Fr,...i},_=it(h??r),v=Zn({callback:(0,B.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=ot((0,B.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=it(t);return(0,B.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,B.useEffect)(()=>(s({type:Y.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:Y.UnregisterDroppable,key:a,id:r})),[r]),(0,B.useEffect)(()=>{n!==u.current.disabled&&(s({type:Y.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function Lr(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Rr(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function zr(e){return e!==null&&e>=0}function Br(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Vr(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Hr=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=Lr(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},Ur=`Sortable`,Wr=B.createContext({activeIndex:-1,containerId:Ur,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Hr,disabled:{draggable:!1,droppable:!1}});function Gr(e){let{children:t,id:n,items:r,strategy:i=Hr,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=Nr(),d=lt(Ur,n),f=s.rect!==null,p=(0,B.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,B.useRef)(p),v=!Br(p,_.current),y=g!==-1&&h===-1||v,b=Vr(a);J(()=>{v&&m&&u(p)},[v,p,m,u]),(0,B.useEffect)(()=>{_.current=p},[p]);let x=(0,B.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:Rr(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return B.createElement(Wr.Provider,{value:x},t)}var Kr=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return Lr(n,r,i).indexOf(t)},qr=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},Jr={duration:200,easing:`ease`},Yr=`transform`,Xr=_t.Transition.toString({property:Yr,duration:0,easing:`linear`}),Zr={roleDescription:`sortable`};function Qr(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,B.useState)(null),s=(0,B.useRef)(n);return J(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=Xt(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,B.useEffect)(()=>{a&&o(null)},[a]),a}function $r(e){let{animateLayoutChanges:t=qr,attributes:n,disabled:r,data:i,getNewIndex:a=Kr,id:o,strategy:s,resizeObserverConfig:c,transition:l=Jr}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,B.useContext)(Wr),y=ei(r,p),b=u.indexOf(o),x=(0,B.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,B.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:C,node:w,isOver:ee,setNodeRef:T}=Ir({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:E,activatorEvent:te,activeNodeRect:ne,attributes:D,setNodeRef:re,listeners:O,isDragging:k,over:A,setActivatorNodeRef:ie,transform:j}=Mr({id:o,data:x,attributes:{...Zr,...n},disabled:y.draggable}),ae=Je(T,re),M=!!E,oe=M&&!m&&zr(f)&&zr(g),N=!_&&k,P=oe?(N&&oe?j:null)??(s??v)({rects:h,activeNodeRect:ne,activeIndex:f,overIndex:g,index:b}):null,F=zr(f)&&zr(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,I=E?.id,L=(0,B.useRef)({activeId:I,items:u,newIndex:F,containerId:d}),se=u!==L.current.items,R=t({active:E,containerId:d,isDragging:k,isSorting:M,id:o,index:b,items:u,newIndex:L.current.newIndex,previousItems:L.current.items,previousContainerId:L.current.containerId,transition:l,wasDragging:L.current.activeId!=null}),ce=Qr({disabled:!R,index:b,node:w,rect:C});return(0,B.useEffect)(()=>{M&&L.current.newIndex!==F&&(L.current.newIndex=F),d!==L.current.containerId&&(L.current.containerId=d),u!==L.current.items&&(L.current.items=u)},[M,F,d,u]),(0,B.useEffect)(()=>{if(I===L.current.activeId)return;if(I!=null&&L.current.activeId==null){L.current.activeId=I;return}let e=setTimeout(()=>{L.current.activeId=I},50);return()=>clearTimeout(e)},[I]),{active:E,activeIndex:f,attributes:D,data:x,rect:C,index:b,newIndex:F,items:u,isOver:ee,isSorting:M,isDragging:k,listeners:O,node:w,overIndex:g,over:A,setNodeRef:ae,setActivatorNodeRef:ie,setDroppableNodeRef:T,setDraggableNodeRef:re,transform:ce??P,transition:le()};function le(){if(ce||se&&L.current.newIndex===b)return Xr;if(!(N&&!mt(te)||!l)&&(M||R))return _t.Transition.toString({...l,property:Yr})}}function ei(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function ti(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var ni=[$.Down,$.Right,$.Up,$.Left],ri=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(ni.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case $.Down:r.top<a.top&&t.push(n);break;case $.Up:r.top>a.top&&t.push(n);break;case $.Left:r.left>a.left&&t.push(n);break;case $.Right:r.left<a.left&&t.push(n);break}});let c=Bt({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=Lt(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=tn(c).some((e,t)=>s[t]!==e),i=ii(e,t),a=ai(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:ft(u,l)}}}};function ii(e,t){return!ti(e)||!ti(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function ai(e,t){return!ti(e)||!ti(t)||!ii(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}function oi({slot:e,label:t,value:n,options:r,onChange:i,full:a=!1,allowRelease:o=!1,className:s}){return(0,z.jsx)(`div`,{"data-slot":e,"data-full":a?`true`:void 0,role:`group`,"aria-label":t,className:D(`inline-flex gap-0.5 rounded-md bg-muted p-[3px]`,a&&`flex w-full`,s),children:r.map(e=>{let t=e.value===n;return(0,z.jsxs)(`button`,{type:`button`,"data-value":e.value,"aria-pressed":t,onClick:()=>{t&&!o||i(e.value)},className:D(`flex h-7 items-center justify-center gap-1.5 rounded-[7px] px-3 text-[12.5px] font-medium whitespace-nowrap text-muted-foreground transition-colors hover:text-foreground`,a&&`flex-1`,t&&`bg-card font-semibold text-foreground shadow-xs`),children:[e.label,e.count===void 0?null:(0,z.jsx)(`small`,{className:`font-mono text-[11px] font-normal tabular-nums`,children:e.count})]},e.value)})})}function si({slot:e,label:t,options:n,selected:r,onToggle:i,onClear:a,searchPlaceholder:o,emptyLabel:s=`Nothing to filter by`}){let[c,l]=B.useState(!1),u=r.length>0,d=r.length===1?n.find(e=>e.value===r[0])?.label??r[0]:`${r.length} selected`;return(0,z.jsxs)(oe,{open:c,onOpenChange:l,children:[(0,z.jsx)(M,{asChild:!0,children:(0,z.jsxs)(`button`,{type:`button`,"data-slot":`facet-${e}`,"data-active":u?`true`:void 0,"aria-label":`Filter by ${t.toLowerCase()}`,className:D(`inline-flex h-7 items-center gap-1.5 rounded-full border border-border bg-card px-2.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,u&&`border-violet/40 bg-violet/10 text-foreground`),children:[(0,z.jsx)(`span`,{className:D(u&&`text-soft-foreground`),children:t}),u?(0,z.jsx)(`span`,{className:`max-w-[140px] truncate font-semibold`,children:d}):null,(0,z.jsx)(ce,{"aria-hidden":`true`,className:`size-2.5 shrink-0 text-soft-foreground`})]})}),(0,z.jsxs)(ae,{align:`start`,className:`w-64 p-0`,"data-testid":`facet-${e}-menu`,children:[(0,z.jsxs)(I,{children:[(0,z.jsx)(se,{placeholder:o??`Search ${t.toLowerCase()}…`}),(0,z.jsxs)(F,{children:[(0,z.jsx)(N,{children:s}),(0,z.jsx)(P,{children:n.map(e=>{let t=r.includes(e.value);return(0,z.jsxs)(L,{value:e.label,onSelect:()=>i(e.value),"data-slot":`facet-option`,"data-value":e.value,"aria-checked":t,role:`option`,children:[(0,z.jsx)(`span`,{"aria-hidden":`true`,className:D(`flex size-4 shrink-0 items-center justify-center rounded-[4px] border`,t?`border-violet bg-violet text-violet-foreground`:`border-input`),children:t?(0,z.jsx)(R,{className:`size-3`}):null}),(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),e.count===void 0?null:(0,z.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-soft-foreground tabular-nums`,children:e.count})]},e.value)})})]})]}),u?(0,z.jsx)(`div`,{className:`border-t border-border p-1`,children:(0,z.jsxs)(`button`,{type:`button`,"data-action":`facet-${e}-clear`,onClick:()=>a(),className:`w-full rounded-sm px-2 py-1.5 text-left text-xs font-medium text-muted-foreground hover:bg-muted hover:text-foreground`,children:[`Clear `,t.toLowerCase()]})}):null]})]})}function ci({label:e,count:t,selected:n,onToggle:r,slot:i,tone:a=`neutral`}){return(0,z.jsxs)(`button`,{type:`button`,"data-slot":i,"data-selected":n?`true`:void 0,"aria-pressed":n,onClick:r,className:D(`inline-flex h-7 items-center gap-1.5 rounded-full border px-2.5 text-xs font-medium transition-colors`,a===`tag`?`border-violet/25 bg-violet/10 text-violet hover:bg-violet/20`:`border-border bg-card text-muted-foreground hover:bg-muted hover:text-foreground`,n&&`border-violet bg-violet text-violet-foreground hover:bg-violet`),children:[e,t===void 0?null:(0,z.jsx)(`span`,{className:D(`font-mono text-[11px] tabular-nums`,!n&&`text-soft-foreground`),children:t})]})}function li({slot:e,label:t,value:n,options:r,onChange:i}){return(0,z.jsx)(oi,{slot:e,label:t,value:n,options:r,onChange:i,allowRelease:!0})}var ui=e=>`"${e.replace(/(["\\$`!])/g,`\\$1`)}"`;function di(e){return e%3600==0?`${e/3600}h`:e%60==0?`${e/60}m`:`${e}s`}function fi(e){if(e.kind===`tracker`)return!1;if(e.kind===`schedule`)return!!e.schedule;if(!e.events?.length)return!1;let t=e.filters??{};return!([`assignees`,`allLabels`,`excludeLabels`,`changedLabels`].some(e=>(t[e]?.length??0)>0)||t.lookbackDays!==void 0&&t.lookbackDays!==7||t.maxRecords!==void 0&&t.maxRecords!==25)}function pi(e){let t=[`cez automation add`,`--name ${ui(e.name||`untitled`)}`];if(e.kind===`schedule`&&e.schedule)t.push(`--cron ${ui(O(e.schedule))}`);else{t.push(`--on ${(e.events??[]).join(`,`)}`),t.push(`--every ${di(e.intervalSeconds??300)}`);for(let n of e.filters?.anyLabels??[])t.push(`--label ${ui(n)}`);for(let n of e.filters?.authors??[])t.push(`--author ${ui(n)}`)}let{task:n}=e;return n.workflow&&t.push(`--workflow ${ui(n.workflow)}`),n.runner&&t.push(`--runner ${ui(n.runner)}`),n.model&&t.push(`--model ${ui(n.model)}`),n.autonomous===!1?t.push(`--no-autonomous`):n.autonomous&&t.push(`--autonomous`),n.dispatch&&(t.push(`--dispatch`),n.dispatch.maxSubtasks!==void 0&&t.push(`--max-subtasks ${n.dispatch.maxSubtasks}`),n.dispatch.reviewChild&&t.push(`--review-child`)),e.enable&&t.push(`--enable`),t.push(`--prompt ${ui(n.prompt||`…`)}`),t.join(` `)}function mi(e){let t={name:e.name||`untitled`,kind:e.kind,...e.kind===`schedule`?{schedule:e.schedule}:e.kind===`tracker`?{trackerTrigger:e.trackerTrigger,intervalSeconds:e.intervalSeconds??1800,filters:{lookbackDays:7,maxRecords:25,...e.filters}}:{events:e.events,intervalSeconds:e.intervalSeconds??300,filters:{lookbackDays:7,maxRecords:25,...e.filters}},task:e.task,...e.enable?{enable:!0}:{}};return`cez automation create --json '${JSON.stringify(t).replace(/'/g,`'\\''`)}'`}function hi(e){return fi(e)?pi(e):mi(e)}var gi=()=>[ee(),`automations`];function _i(){let e=v(),t=e.data!==void 0;return{known:t,off:t&&e.data?.capabilities?.automations!==!0}}function vi(e){let t=C(),n=ie(),r=w({queryKey:gi(),queryFn:({signal:e})=>i({signal:e}),enabled:e});return(0,B.useEffect)(()=>we((e,r)=>{if(e!==`automation-change`)return;let i=r;typeof i.project==`string`&&(n===null||i.project===n)&&t.invalidateQueries({queryKey:gi()})}),[n,t]),r}function yi(e){let t=C(),n=()=>t.invalidateQueries({queryKey:gi()}),r=e=>A(e instanceof Error?e.message:String(e),{tone:`danger`}),i=S({mutationFn:async e=>{e.kind===`schedule`?(await c(e.id),A(`Started "${e.name}" — the task is queued.`)):(await h(e.id,`execute`),A(`Checking events for "${e.name}" now.`))},onSuccess:()=>void n(),onError:r}),a=S({mutationFn:async e=>{await h(e.id,`preview`),A(`Preview queued for "${e.name}" — no tasks will launch. See the execution log for results.`)},onSuccess:()=>void n(),onError:r}),o=S({mutationFn:e=>f(e.id,!e.enabled),onSuccess:()=>void n(),onError:r}),s=S({mutationFn:e=>_({name:`${e.name} (copy)`,...e.description?{description:e.description}:{},kind:e.kind,...e.kind===`schedule`?{schedule:e.schedule}:e.kind===`tracker`?{trackerTrigger:e.trackerTrigger,intervalSeconds:e.intervalSeconds,filters:e.filters}:{events:e.events,intervalSeconds:e.intervalSeconds,filters:e.filters},task:e.task}),onSuccess:e=>{A(`Duplicated as "${e.automation.name}", paused.`),n()},onError:r}),l=S({mutationFn:e=>m(e.id),onSuccess:()=>void n(),onError:r});return{preview:e=>a.mutateAsync(e).then(()=>void 0,()=>void 0),runNow:e=>i.mutateAsync(e).then(()=>void 0,()=>void 0),toggleEnabled:e=>o.mutateAsync(e).then(()=>void 0,()=>void 0),duplicate:e=>s.mutateAsync(e).then(()=>void 0,()=>void 0),remove:e=>l.mutateAsync(e).then(()=>void 0,()=>void 0),copyCli:async e=>{await bi(hi({name:e.name,kind:e.kind,trackerTrigger:e.trackerTrigger,schedule:e.schedule,events:e.events,intervalSeconds:e.intervalSeconds,filters:e.filters,task:e.task}))},busy:a.isPending||i.isPending||o.isPending||s.isPending||l.isPending}}async function bi(e){try{await navigator.clipboard.writeText(e),A(`Copied to the clipboard.`)}catch{A(`Copy failed — select the text to copy it.`,{tone:`danger`})}}export{K as A,qe as C,Be as D,We as E,pe as M,he as N,we as O,fe as P,_t as S,Ge as T,En as _,vi as a,jt as b,li as c,Gr as d,Lr as f,Or as g,$r as h,_i as i,_e as j,Ve as k,ci as l,ri as m,bi as n,hi as o,Hr as p,yi as r,si as s,gi as t,oi as u,jn as v,Ke as w,Mt as x,zt as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{D as r,L as i,M as a,a as o,c as s,d as c,f as l,l as u,o as d,r as f,s as p,u as m,x as h,z as g}from"./button-Clwd6u4_.js";import{_,f as v,g as y,m as b,p as x,v as S}from"./reference-chip-DnemrSPW.js";import{t as C}from"./x-DMIsmLBt.js";var w=e(t(),1),T=[`run-event`,`ui-event`],E=1e3,D=6e4,O=1e4;function k(e,t){if(e.add(t),e.size<=O)return;let n=e.values().next().value;typeof n==`number`&&e.delete(n)}function A(e,t){return typeof e==`string`?`${e}:${t}`:t}function j(e){let t=e.type===`item.delta`?e.itemId:typeof e.item==`object`&&e.item!==null&&!Array.isArray(e.item)?e.item.id:void 0;return typeof t==`string`&&t!==``?A(e.stepId,t):void 0}function M(e){let t=[],n=new Map;for(let r of e){let e=j(r);if(e!==void 0&&r.type!==`item.delta`)for(let t of[`text`,`reasoning`,`output`])n.delete(`${e}:${t}`);if(r.type===`item.delta`&&e!==void 0&&(r.field===`text`||r.field===`reasoning`||r.field===`output`)&&typeof r.delta==`string`){let i=`${e}:${r.field}`,a=n.get(i);if(a!==void 0){let e=t[a],o={...e,seq:r.seq,ts:r.ts,delta:`${e.delta}${r.delta}`};if(a===t.length-1)t[a]=o;else{t.splice(a,1);for(let[e,t]of n)t>a&&n.set(e,t-1);n.set(i,t.length),t.push(o)}continue}n.set(i,t.length)}t.push(r)}return t}function N(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t||Array.isArray(t))return null;let{seq:n,type:r}=t;return typeof n!=`number`||typeof r!=`string`||r===``?null:t}function P(e,t={}){let[n,r]=(0,w.useState)([]),a=g(),o=(0,w.useRef)(t);o.current=t;let s=(0,w.useRef)(0),c=(0,w.useRef)(0),l=(0,w.useRef)(0),u=(0,w.useRef)(!1),d=(0,w.useRef)(new Set),f=(0,w.useRef)(void 0);(0,w.useEffect)(()=>{let{afterSeq:t=0}=o.current;if(s.current=0,c.current=t,l.current=t,u.current=!1,d.current.clear(),r([]),!e)return;let n=globalThis.EventSource;if(typeof n!=`function`)return;let a=null,p=0,m,h=!1,g=0,_=0,v=0,y=[],b,x=Date.now(),S,C=()=>{g=Math.min(g+1,6),_=Date.now()+Math.min(D,E*2**(g-1))},w=e=>{let t=o.current;if(t.onCompact===void 0||(t.compactAt===void 0||v<t.compactAt)&&(t.compactWhenOver===void 0||e.length<=t.compactWhenOver)||Date.now()<_)return;let n=v;Promise.resolve().then(()=>{if(!h)return o.current.onCompact?.(e)}).then(e=>{if(h)return;if(!Array.isArray(e)||e.length===0){C();return}g=0,_=0,v=Math.max(0,v-n);let t=new Set(e);t.size!==0&&r(e=>e.filter(({seq:e})=>!t.has(e)))},()=>{h||C()})},O=()=>{if(b=void 0,y.length===0)return;let e=y;y=[],r(t=>{let n=o.current;return n.compactAt!==void 0||n.onCompact!==void 0?M([...t,...e]):[...t,...e]})},A=()=>{b===void 0&&(b=setTimeout(O,50))},j=()=>{p+=1;let e=a;e&&(e.close(),a=null)},P=(e,t)=>{if(h||t!==p)return;x=Date.now();let n=N(e.data);!n||d.current.has(n.seq)||n.seq<=s.current&&(!u.current||n.seq<=l.current)||(k(d.current,n.seq),s.current=Math.max(s.current,n.seq),v+=1,y.push(n),A())},F=e=>{h||e!==p||(x=Date.now())},I=()=>{h||m!==void 0||(m=setTimeout(()=>{m=void 0,h||L()},1500))},L=()=>{j();let t=p,{cursor:r,afterSeq:l=0}=o.current;x=Date.now(),c.current=Math.max(c.current,l);let u=new URLSearchParams;r!==void 0&&u.set(`cursor`,r);let d=Math.max(c.current,s.current);(r!==void 0||d>0)&&u.set(`afterSeq`,String(d));let f=u.size>0?`?${u.toString()}`:``,m=new n(i(`/runs/${encodeURIComponent(e)}/events${f}`),{withCredentials:!0});a=m;let g=e=>P(e,t);for(let e of T)m.addEventListener(e,g);m.addEventListener(`ping`,()=>F(t)),m.addEventListener(`error`,()=>{h||t!==p||m.readyState===2&&I()})},R=()=>{document.visibilityState===`visible`&&(!a||a.readyState===2)&&(clearTimeout(m),m=void 0,L())},z=()=>{clearTimeout(m),m=void 0,j()},B=e=>{e.persisted&&L()};return S=setInterval(()=>{h||document.visibilityState!==`visible`||Date.now()-x<=4e4||(clearTimeout(m),m=void 0,L())},1e4),document.addEventListener(`visibilitychange`,R),window.addEventListener(`pagehide`,z),window.addEventListener(`pageshow`,B),f.current=w,L(),()=>{h=!0,clearTimeout(m),clearTimeout(b),b=void 0,y=[],clearInterval(S),document.removeEventListener(`visibilitychange`,R),window.removeEventListener(`pagehide`,z),window.removeEventListener(`pageshow`,B),f.current===w&&(f.current=void 0),j()}},[e,a]),(0,w.useEffect)(()=>{n.length!==0&&f.current?.(n)},[n]);let p=t.afterSeq??0;return(0,w.useEffect)(()=>{e&&(p>c.current&&(u.current=!0),c.current=Math.max(c.current,p))},[p,e]),n}var F=1,I=.9,L=.8,R=.17,z=.1,B=.999,ee=.9999,te=.99,ne=/[\\\/_+.#"@\[\(\{&]/,re=/[\\\/_+.#"@\[\(\{&]/g,ie=/[\s-]/,ae=/[\s-]/g;function V(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?F:te;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=V(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=F:ne.test(e.charAt(l-1))?(d*=L,p=e.slice(i,l-1).match(re),p&&i>0&&(d*=B**+p.length)):ie.test(e.charAt(l-1))?(d*=I,m=e.slice(i,l-1).match(ae),m&&i>0&&(d*=B**+m.length)):(d*=R,i>0&&(d*=B**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=ee)),(d<z&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=V(e,t,n,r,l+1,a+2,o),f*z>d&&(d=f*z)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function oe(e){return e.toLowerCase().replace(ae,` `)}function se(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,V(e,t,oe(e),oe(t),0,0,{})}var H=`[cmdk-group=""]`,U=`[cmdk-group-items=""]`,ce=`[cmdk-group-heading=""]`,le=`[cmdk-item=""]`,ue=`${le}:not([aria-disabled="true"])`,W=`cmdk-item-select`,G=`data-value`,de=(e,t,n)=>se(e,t,n),fe=w.createContext(void 0),K=()=>w.useContext(fe),pe=w.createContext(void 0),q=()=>w.useContext(pe),me=w.createContext(void 0),he=w.forwardRef((e,t)=>{let n=X(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),i=X(()=>new Set),a=X(()=>new Map),o=X(()=>new Map),s=X(()=>new Set),c=Ee(e),{label:l,children:u,value:d,onValueChange:f,filter:p,shouldFilter:m,loop:g,disablePointerSelection:_=!1,vimBindings:v=!0,...y}=e,b=h(),x=h(),S=h(),C=w.useRef(null),T=Oe();Y(()=>{if(d!==void 0){let e=d.trim();n.current.value=e,E.emit()}},[d]),Y(()=>{T(6,M)},[]);let E=w.useMemo(()=>({subscribe:e=>(s.current.add(e),()=>s.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)j(),k(),T(1,A);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(S);e?e.focus():(i=document.getElementById(b))==null||i.focus()}if(T(7,()=>{n.current.selectedItemId=N()?.id,E.emit()}),r||T(5,M),c.current?.value!==void 0){let e=t??``;(o=(a=c.current).onValueChange)==null||o.call(a,e);return}}E.emit()}},emit:()=>{s.current.forEach(e=>e())}}),[]),D=w.useMemo(()=>({value:(e,t,r)=>{t!==o.current.get(e)?.value&&(o.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,O(t,r)),T(2,()=>{k(),E.emit()}))},item:(e,t)=>(i.current.add(e),t&&(a.current.has(t)?a.current.get(t).add(e):a.current.set(t,new Set([e]))),T(3,()=>{j(),k(),n.current.value||A(),E.emit()}),()=>{o.current.delete(e),i.current.delete(e),n.current.filtered.items.delete(e);let t=N();T(4,()=>{j(),t?.getAttribute(`id`)===e&&A(),E.emit()})}),group:e=>(a.current.has(e)||a.current.set(e,new Set),()=>{o.current.delete(e),a.current.delete(e)}),filter:()=>c.current.shouldFilter,label:l||e[`aria-label`],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:b,inputId:S,labelId:x,listInnerRef:C}),[]);function O(e,t){let r=c.current?.filter??de;return e?r(e,n.current.search,t):0}function k(){if(!n.current.search||c.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=a.current.get(n),i=0;r.forEach(t=>{let n=e.get(t);i=Math.max(n,i)}),t.push([n,i])});let r=C.current;P().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(U);t?t.appendChild(e.parentElement===t?e:e.closest(`${U} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${U} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=C.current?.querySelector(`${H}[${G}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function A(){let e=P().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(G);E.setState(`value`,e||void 0)}function j(){if(!n.current.search||c.current.shouldFilter===!1){n.current.filtered.count=i.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of i.current){let r=O(o.current.get(t)?.value??``,o.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of a.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function M(){var e;let t=N();t&&(t.parentElement?.firstChild===t&&((e=t.closest(H)?.querySelector(ce))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function N(){return C.current?.querySelector(`${le}[aria-selected="true"]`)}function P(){return Array.from(C.current?.querySelectorAll(ue)||[])}function F(e){let t=P()[e];t&&E.setState(`value`,t.getAttribute(G))}function I(e){var t;let n=N(),r=P(),i=r.findIndex(e=>e===n),a=r[i+e];(t=c.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&E.setState(`value`,a.getAttribute(G))}function L(e){let t=N()?.closest(H),n;for(;t&&!n;)t=e>0?we(t,H):Te(t,H),n=t?.querySelector(ue);n?E.setState(`value`,n.getAttribute(G)):I(e)}let R=()=>F(P().length-1),z=e=>{e.preventDefault(),e.metaKey?R():e.altKey?L(1):I(1)},B=e=>{e.preventDefault(),e.metaKey?F(0):e.altKey?L(-1):I(-1)};return w.createElement(r.div,{ref:t,tabIndex:-1,...y,"cmdk-root":``,onKeyDown:e=>{var t;(t=y.onKeyDown)==null||t.call(y,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:v&&e.ctrlKey&&z(e);break;case`ArrowDown`:z(e);break;case`p`:case`k`:v&&e.ctrlKey&&B(e);break;case`ArrowUp`:B(e);break;case`Home`:e.preventDefault(),F(0);break;case`End`:e.preventDefault(),R();break;case`Enter`:{e.preventDefault();let t=N();if(t){let e=new Event(W);t.dispatchEvent(e)}}}}},w.createElement(`label`,{"cmdk-label":``,htmlFor:D.inputId,id:D.labelId,style:Ae},l),Q(e,e=>w.createElement(pe.Provider,{value:E},w.createElement(fe.Provider,{value:D},e))))}),ge=w.forwardRef((e,t)=>{let n=h(),i=w.useRef(null),o=w.useContext(me),s=K(),c=Ee(e),l=c.current?.forceMount??o?.forceMount;Y(()=>{if(!l)return s.item(n,o?.id)},[l]);let u=De(n,i,[e.value,e.children,i],e.keywords),d=q(),f=Z(e=>e.value&&e.value===u.current),p=Z(e=>l||s.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);w.useEffect(()=>{let t=i.current;if(!(!t||e.disabled))return t.addEventListener(W,m),()=>t.removeEventListener(W,m)},[p,e.onSelect,e.disabled]);function m(){var e,t;g(),(t=(e=c.current).onSelect)==null||t.call(e,u.current)}function g(){d.setState(`value`,u.current,!0)}if(!p)return null;let{disabled:_,value:v,onSelect:y,forceMount:b,keywords:x,...S}=e;return w.createElement(r.div,{ref:a(i,t),...S,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!_,"aria-selected":!!f,"data-disabled":!!_,"data-selected":!!f,onPointerMove:_||s.getDisablePointerSelection()?void 0:g,onClick:_?void 0:m},e.children)}),_e=w.forwardRef((e,t)=>{let{heading:n,children:i,forceMount:o,...s}=e,c=h(),l=w.useRef(null),u=w.useRef(null),d=h(),f=K(),p=Z(e=>o||f.filter()===!1?!0:!e.search||e.filtered.groups.has(c));Y(()=>f.group(c),[]),De(c,l,[e.value,e.heading,u]);let m=w.useMemo(()=>({id:c,forceMount:o}),[o]);return w.createElement(r.div,{ref:a(l,t),...s,"cmdk-group":``,role:`presentation`,hidden:!p||void 0},n&&w.createElement(`div`,{ref:u,"cmdk-group-heading":``,"aria-hidden":!0,id:d},n),Q(e,e=>w.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?d:void 0},w.createElement(me.Provider,{value:m},e))))}),ve=w.forwardRef((e,t)=>{let{alwaysRender:n,...i}=e,o=w.useRef(null),s=Z(e=>!e.search);return!n&&!s?null:w.createElement(r.div,{ref:a(o,t),...i,"cmdk-separator":``,role:`separator`})}),ye=w.forwardRef((e,t)=>{let{onValueChange:n,...i}=e,a=e.value!=null,o=q(),s=Z(e=>e.search),c=Z(e=>e.selectedItemId),l=K();return w.useEffect(()=>{e.value!=null&&o.setState(`search`,e.value)},[e.value]),w.createElement(r.input,{ref:t,...i,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":l.listId,"aria-labelledby":l.labelId,"aria-activedescendant":c,id:l.inputId,type:`text`,value:a?e.value:s,onChange:e=>{a||o.setState(`search`,e.target.value),n?.(e.target.value)}})}),be=w.forwardRef((e,t)=>{let{children:n,label:i=`Suggestions`,...o}=e,s=w.useRef(null),c=w.useRef(null),l=Z(e=>e.selectedItemId),u=K();return w.useEffect(()=>{if(c.current&&s.current){let e=c.current,t=s.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),w.createElement(r.div,{ref:a(s,t),...o,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":l,"aria-label":i,id:u.listId},Q(e,e=>w.createElement(`div`,{ref:a(c,u.listInnerRef),"cmdk-list-sizer":``},e)))}),xe=w.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:s,...c}=e;return w.createElement(o,{open:n,onOpenChange:r},w.createElement(m,{container:s},w.createElement(u,{"cmdk-overlay":``,className:i}),w.createElement(p,{"aria-label":e.label,"cmdk-dialog":``,className:a},w.createElement(he,{ref:t,...c}))))}),Se=w.forwardRef((e,t)=>Z(e=>e.filtered.count===0)?w.createElement(r.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),Ce=w.forwardRef((e,t)=>{let{progress:n,children:i,label:a=`Loading...`,...o}=e;return w.createElement(r.div,{ref:t,...o,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},Q(e,e=>w.createElement(`div`,{"aria-hidden":!0},e)))}),J=Object.assign(he,{List:be,Item:ge,Input:ye,Group:_e,Separator:ve,Dialog:xe,Empty:Se,Loading:Ce});function we(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function Te(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function Ee(e){let t=w.useRef(e);return Y(()=>{t.current=e}),t}var Y=typeof window>`u`?w.useEffect:w.useLayoutEffect;function X(e){let t=w.useRef();return t.current===void 0&&(t.current=e()),t}function Z(e){let t=q(),n=()=>e(t.snapshot());return w.useSyncExternalStore(t.subscribe,n,n)}function De(e,t,n,r=[]){let i=w.useRef(),a=K();return Y(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(G,s),i.current=s}),i}var Oe=()=>{let[e,t]=w.useState(),n=X(()=>new Map);return Y(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function ke(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Q({asChild:e,children:t},n){return e&&w.isValidElement(t)?w.cloneElement(ke(t),{ref:t.ref},n(t.props.children)):n(t)}var Ae={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`},$=n();function je({className:e,...t}){return(0,$.jsx)(J,{"data-slot":`command`,className:f(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,e),...t})}function Me({title:e=`Command Palette`,description:t=`Search for a command to run...`,children:n,className:r,showCloseButton:i=!0,filter:a,commandProps:o,onOpenAutoFocus:s,onCloseAutoFocus:c,onEscapeKeyDown:l,...u}){return(0,$.jsxs)(v,{...u,children:[(0,$.jsxs)(y,{className:`sr-only`,children:[(0,$.jsx)(_,{children:e}),(0,$.jsx)(b,{children:t})]}),(0,$.jsx)(x,{className:f(`overflow-hidden p-0`,r),showCloseButton:i,onOpenAutoFocus:s,onCloseAutoFocus:c,onEscapeKeyDown:l,children:(0,$.jsx)(je,{filter:a,...o,className:`**:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5`,children:n})})]})}function Ne({className:e,...t}){return(0,$.jsxs)(`div`,{"data-slot":`command-input-wrapper`,className:`flex h-9 items-center gap-2 border-b px-3`,children:[(0,$.jsx)(S,{className:`size-4 shrink-0 opacity-50`}),(0,$.jsx)(J.Input,{"data-slot":`command-input`,className:f(`flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,e),...t})]})}function Pe({className:e,...t}){return(0,$.jsx)(J.List,{"data-slot":`command-list`,className:f(`max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto`,e),...t})}function Fe({...e}){return(0,$.jsx)(J.Empty,{"data-slot":`command-empty`,className:`py-6 text-center text-sm`,...e})}function Ie({className:e,...t}){return(0,$.jsx)(J.Group,{"data-slot":`command-group`,className:f(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,e),...t})}function Le({className:e,...t}){return(0,$.jsx)(J.Separator,{"data-slot":`command-separator`,className:f(`-mx-1 h-px bg-border`,e),...t})}function Re({className:e,...t}){return(0,$.jsx)(J.Item,{"data-slot":`command-item`,className:f(`relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...t})}function ze({className:e,...t}){return(0,$.jsx)(`span`,{"data-slot":`command-shortcut`,className:f(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t})}function Be({...e}){return(0,$.jsx)(o,{"data-slot":`sheet`,...e})}function Ve({...e}){return(0,$.jsx)(l,{"data-slot":`sheet-trigger`,...e})}function He({...e}){return(0,$.jsx)(d,{"data-slot":`sheet-close`,...e})}function Ue({...e}){return(0,$.jsx)(m,{"data-slot":`sheet-portal`,...e})}function We({className:e,...t}){return(0,$.jsx)(u,{"data-slot":`sheet-overlay`,className:f(`fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function Ge({className:e,children:t,side:n=`right`,showCloseButton:r=!0,...i}){return(0,$.jsxs)(Ue,{children:[(0,$.jsx)(We,{}),(0,$.jsxs)(p,{"data-slot":`sheet-content`,className:f(`fixed z-50 flex flex-col gap-4 bg-background shadow-modal transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500`,r&&`[&_[data-slot=sheet-header]]:pr-16`,n===`right`&&`inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm`,n===`left`&&`inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm`,n===`top`&&`inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,n===`bottom`&&`inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`,e),...i,children:[t,r&&(0,$.jsxs)(d,{className:`absolute top-4 right-4 grid size-11 place-items-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary`,children:[(0,$.jsx)(C,{className:`size-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function Ke({className:e,...t}){return(0,$.jsx)(`div`,{"data-slot":`sheet-header`,className:f(`flex flex-col gap-1.5 p-4`,e),...t})}function qe({className:e,...t}){return(0,$.jsx)(c,{"data-slot":`sheet-title`,className:f(`font-semibold text-foreground`,e),...t})}function Je({className:e,...t}){return(0,$.jsx)(s,{"data-slot":`sheet-description`,className:f(`text-sm text-muted-foreground`,e),...t})}function Ye(e){let[t,n]=w.useState(()=>Date.now());return w.useEffect(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}export{ze as _,Je as a,P as b,Ve as c,Fe as d,Ie as f,Le as g,Pe as h,Ge as i,je as l,Re as m,Be as n,Ke as o,Ne as p,He as r,qe as s,Ye as t,Me as u,j as v,A as y};
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{D as r,L as i,M as a,a as o,c as s,d as c,f as l,l as u,o as d,r as f,s as p,u as m,x as h,z as g}from"./button-Clwd6u4_.js";import{_,f as v,g as y,m as b,p as x,v as S}from"./reference-chip-CScP5y_O.js";import{t as C}from"./x-DMIsmLBt.js";var w=e(t(),1),T=[`run-event`,`ui-event`],E=1e3,D=6e4,O=1e4;function k(e,t){if(e.add(t),e.size<=O)return;let n=e.values().next().value;typeof n==`number`&&e.delete(n)}function A(e,t){return typeof e==`string`?`${e}:${t}`:t}function j(e){let t=e.type===`item.delta`?e.itemId:typeof e.item==`object`&&e.item!==null&&!Array.isArray(e.item)?e.item.id:void 0;return typeof t==`string`&&t!==``?A(e.stepId,t):void 0}function M(e){let t=[],n=new Map;for(let r of e){let e=j(r);if(e!==void 0&&r.type!==`item.delta`)for(let t of[`text`,`reasoning`,`output`])n.delete(`${e}:${t}`);if(r.type===`item.delta`&&e!==void 0&&(r.field===`text`||r.field===`reasoning`||r.field===`output`)&&typeof r.delta==`string`){let i=`${e}:${r.field}`,a=n.get(i);if(a!==void 0){let e=t[a],o={...e,seq:r.seq,ts:r.ts,delta:`${e.delta}${r.delta}`};if(a===t.length-1)t[a]=o;else{t.splice(a,1);for(let[e,t]of n)t>a&&n.set(e,t-1);n.set(i,t.length),t.push(o)}continue}n.set(i,t.length)}t.push(r)}return t}function N(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t||Array.isArray(t))return null;let{seq:n,type:r}=t;return typeof n!=`number`||typeof r!=`string`||r===``?null:t}function P(e,t={}){let[n,r]=(0,w.useState)([]),a=g(),o=(0,w.useRef)(t);o.current=t;let s=(0,w.useRef)(0),c=(0,w.useRef)(0),l=(0,w.useRef)(0),u=(0,w.useRef)(!1),d=(0,w.useRef)(new Set),f=(0,w.useRef)(void 0);(0,w.useEffect)(()=>{let{afterSeq:t=0}=o.current;if(s.current=0,c.current=t,l.current=t,u.current=!1,d.current.clear(),r([]),!e)return;let n=globalThis.EventSource;if(typeof n!=`function`)return;let a=null,p=0,m,h=!1,g=0,_=0,v=0,y=[],b,x=Date.now(),S,C=()=>{g=Math.min(g+1,6),_=Date.now()+Math.min(D,E*2**(g-1))},w=e=>{let t=o.current;if(t.onCompact===void 0||(t.compactAt===void 0||v<t.compactAt)&&(t.compactWhenOver===void 0||e.length<=t.compactWhenOver)||Date.now()<_)return;let n=v;Promise.resolve().then(()=>{if(!h)return o.current.onCompact?.(e)}).then(e=>{if(h)return;if(!Array.isArray(e)||e.length===0){C();return}g=0,_=0,v=Math.max(0,v-n);let t=new Set(e);t.size!==0&&r(e=>e.filter(({seq:e})=>!t.has(e)))},()=>{h||C()})},O=()=>{if(b=void 0,y.length===0)return;let e=y;y=[],r(t=>{let n=o.current;return n.compactAt!==void 0||n.onCompact!==void 0?M([...t,...e]):[...t,...e]})},A=()=>{b===void 0&&(b=setTimeout(O,50))},j=()=>{p+=1;let e=a;e&&(e.close(),a=null)},P=(e,t)=>{if(h||t!==p)return;x=Date.now();let n=N(e.data);!n||d.current.has(n.seq)||n.seq<=s.current&&(!u.current||n.seq<=l.current)||(k(d.current,n.seq),s.current=Math.max(s.current,n.seq),v+=1,y.push(n),A())},F=e=>{h||e!==p||(x=Date.now())},I=()=>{h||m!==void 0||(m=setTimeout(()=>{m=void 0,h||L()},1500))},L=()=>{j();let t=p,{cursor:r,afterSeq:l=0}=o.current;x=Date.now(),c.current=Math.max(c.current,l);let u=new URLSearchParams;r!==void 0&&u.set(`cursor`,r);let d=Math.max(c.current,s.current);(r!==void 0||d>0)&&u.set(`afterSeq`,String(d));let f=u.size>0?`?${u.toString()}`:``,m=new n(i(`/runs/${encodeURIComponent(e)}/events${f}`),{withCredentials:!0});a=m;let g=e=>P(e,t);for(let e of T)m.addEventListener(e,g);m.addEventListener(`ping`,()=>F(t)),m.addEventListener(`error`,()=>{h||t!==p||m.readyState===2&&I()})},R=()=>{document.visibilityState===`visible`&&(!a||a.readyState===2)&&(clearTimeout(m),m=void 0,L())},z=()=>{clearTimeout(m),m=void 0,j()},B=e=>{e.persisted&&L()};return S=setInterval(()=>{h||document.visibilityState!==`visible`||Date.now()-x<=4e4||(clearTimeout(m),m=void 0,L())},1e4),document.addEventListener(`visibilitychange`,R),window.addEventListener(`pagehide`,z),window.addEventListener(`pageshow`,B),f.current=w,L(),()=>{h=!0,clearTimeout(m),clearTimeout(b),b=void 0,y=[],clearInterval(S),document.removeEventListener(`visibilitychange`,R),window.removeEventListener(`pagehide`,z),window.removeEventListener(`pageshow`,B),f.current===w&&(f.current=void 0),j()}},[e,a]),(0,w.useEffect)(()=>{n.length!==0&&f.current?.(n)},[n]);let p=t.afterSeq??0;return(0,w.useEffect)(()=>{e&&(p>c.current&&(u.current=!0),c.current=Math.max(c.current,p))},[p,e]),n}var F=1,I=.9,L=.8,R=.17,z=.1,B=.999,ee=.9999,te=.99,ne=/[\\\/_+.#"@\[\(\{&]/,re=/[\\\/_+.#"@\[\(\{&]/g,ie=/[\s-]/,ae=/[\s-]/g;function V(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?F:te;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=V(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=F:ne.test(e.charAt(l-1))?(d*=L,p=e.slice(i,l-1).match(re),p&&i>0&&(d*=B**+p.length)):ie.test(e.charAt(l-1))?(d*=I,m=e.slice(i,l-1).match(ae),m&&i>0&&(d*=B**+m.length)):(d*=R,i>0&&(d*=B**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=ee)),(d<z&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=V(e,t,n,r,l+1,a+2,o),f*z>d&&(d=f*z)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function oe(e){return e.toLowerCase().replace(ae,` `)}function se(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,V(e,t,oe(e),oe(t),0,0,{})}var H=`[cmdk-group=""]`,U=`[cmdk-group-items=""]`,ce=`[cmdk-group-heading=""]`,le=`[cmdk-item=""]`,ue=`${le}:not([aria-disabled="true"])`,W=`cmdk-item-select`,G=`data-value`,de=(e,t,n)=>se(e,t,n),fe=w.createContext(void 0),K=()=>w.useContext(fe),pe=w.createContext(void 0),q=()=>w.useContext(pe),me=w.createContext(void 0),he=w.forwardRef((e,t)=>{let n=X(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),i=X(()=>new Set),a=X(()=>new Map),o=X(()=>new Map),s=X(()=>new Set),c=Ee(e),{label:l,children:u,value:d,onValueChange:f,filter:p,shouldFilter:m,loop:g,disablePointerSelection:_=!1,vimBindings:v=!0,...y}=e,b=h(),x=h(),S=h(),C=w.useRef(null),T=Oe();Y(()=>{if(d!==void 0){let e=d.trim();n.current.value=e,E.emit()}},[d]),Y(()=>{T(6,M)},[]);let E=w.useMemo(()=>({subscribe:e=>(s.current.add(e),()=>s.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)j(),k(),T(1,A);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(S);e?e.focus():(i=document.getElementById(b))==null||i.focus()}if(T(7,()=>{n.current.selectedItemId=N()?.id,E.emit()}),r||T(5,M),c.current?.value!==void 0){let e=t??``;(o=(a=c.current).onValueChange)==null||o.call(a,e);return}}E.emit()}},emit:()=>{s.current.forEach(e=>e())}}),[]),D=w.useMemo(()=>({value:(e,t,r)=>{t!==o.current.get(e)?.value&&(o.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,O(t,r)),T(2,()=>{k(),E.emit()}))},item:(e,t)=>(i.current.add(e),t&&(a.current.has(t)?a.current.get(t).add(e):a.current.set(t,new Set([e]))),T(3,()=>{j(),k(),n.current.value||A(),E.emit()}),()=>{o.current.delete(e),i.current.delete(e),n.current.filtered.items.delete(e);let t=N();T(4,()=>{j(),t?.getAttribute(`id`)===e&&A(),E.emit()})}),group:e=>(a.current.has(e)||a.current.set(e,new Set),()=>{o.current.delete(e),a.current.delete(e)}),filter:()=>c.current.shouldFilter,label:l||e[`aria-label`],getDisablePointerSelection:()=>c.current.disablePointerSelection,listId:b,inputId:S,labelId:x,listInnerRef:C}),[]);function O(e,t){let r=c.current?.filter??de;return e?r(e,n.current.search,t):0}function k(){if(!n.current.search||c.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=a.current.get(n),i=0;r.forEach(t=>{let n=e.get(t);i=Math.max(n,i)}),t.push([n,i])});let r=C.current;P().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(U);t?t.appendChild(e.parentElement===t?e:e.closest(`${U} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${U} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=C.current?.querySelector(`${H}[${G}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function A(){let e=P().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(G);E.setState(`value`,e||void 0)}function j(){if(!n.current.search||c.current.shouldFilter===!1){n.current.filtered.count=i.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of i.current){let r=O(o.current.get(t)?.value??``,o.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of a.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function M(){var e;let t=N();t&&(t.parentElement?.firstChild===t&&((e=t.closest(H)?.querySelector(ce))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function N(){return C.current?.querySelector(`${le}[aria-selected="true"]`)}function P(){return Array.from(C.current?.querySelectorAll(ue)||[])}function F(e){let t=P()[e];t&&E.setState(`value`,t.getAttribute(G))}function I(e){var t;let n=N(),r=P(),i=r.findIndex(e=>e===n),a=r[i+e];(t=c.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&E.setState(`value`,a.getAttribute(G))}function L(e){let t=N()?.closest(H),n;for(;t&&!n;)t=e>0?we(t,H):Te(t,H),n=t?.querySelector(ue);n?E.setState(`value`,n.getAttribute(G)):I(e)}let R=()=>F(P().length-1),z=e=>{e.preventDefault(),e.metaKey?R():e.altKey?L(1):I(1)},B=e=>{e.preventDefault(),e.metaKey?F(0):e.altKey?L(-1):I(-1)};return w.createElement(r.div,{ref:t,tabIndex:-1,...y,"cmdk-root":``,onKeyDown:e=>{var t;(t=y.onKeyDown)==null||t.call(y,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:v&&e.ctrlKey&&z(e);break;case`ArrowDown`:z(e);break;case`p`:case`k`:v&&e.ctrlKey&&B(e);break;case`ArrowUp`:B(e);break;case`Home`:e.preventDefault(),F(0);break;case`End`:e.preventDefault(),R();break;case`Enter`:{e.preventDefault();let t=N();if(t){let e=new Event(W);t.dispatchEvent(e)}}}}},w.createElement(`label`,{"cmdk-label":``,htmlFor:D.inputId,id:D.labelId,style:Ae},l),Q(e,e=>w.createElement(pe.Provider,{value:E},w.createElement(fe.Provider,{value:D},e))))}),ge=w.forwardRef((e,t)=>{let n=h(),i=w.useRef(null),o=w.useContext(me),s=K(),c=Ee(e),l=c.current?.forceMount??o?.forceMount;Y(()=>{if(!l)return s.item(n,o?.id)},[l]);let u=De(n,i,[e.value,e.children,i],e.keywords),d=q(),f=Z(e=>e.value&&e.value===u.current),p=Z(e=>l||s.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);w.useEffect(()=>{let t=i.current;if(!(!t||e.disabled))return t.addEventListener(W,m),()=>t.removeEventListener(W,m)},[p,e.onSelect,e.disabled]);function m(){var e,t;g(),(t=(e=c.current).onSelect)==null||t.call(e,u.current)}function g(){d.setState(`value`,u.current,!0)}if(!p)return null;let{disabled:_,value:v,onSelect:y,forceMount:b,keywords:x,...S}=e;return w.createElement(r.div,{ref:a(i,t),...S,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!_,"aria-selected":!!f,"data-disabled":!!_,"data-selected":!!f,onPointerMove:_||s.getDisablePointerSelection()?void 0:g,onClick:_?void 0:m},e.children)}),_e=w.forwardRef((e,t)=>{let{heading:n,children:i,forceMount:o,...s}=e,c=h(),l=w.useRef(null),u=w.useRef(null),d=h(),f=K(),p=Z(e=>o||f.filter()===!1?!0:!e.search||e.filtered.groups.has(c));Y(()=>f.group(c),[]),De(c,l,[e.value,e.heading,u]);let m=w.useMemo(()=>({id:c,forceMount:o}),[o]);return w.createElement(r.div,{ref:a(l,t),...s,"cmdk-group":``,role:`presentation`,hidden:!p||void 0},n&&w.createElement(`div`,{ref:u,"cmdk-group-heading":``,"aria-hidden":!0,id:d},n),Q(e,e=>w.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?d:void 0},w.createElement(me.Provider,{value:m},e))))}),ve=w.forwardRef((e,t)=>{let{alwaysRender:n,...i}=e,o=w.useRef(null),s=Z(e=>!e.search);return!n&&!s?null:w.createElement(r.div,{ref:a(o,t),...i,"cmdk-separator":``,role:`separator`})}),ye=w.forwardRef((e,t)=>{let{onValueChange:n,...i}=e,a=e.value!=null,o=q(),s=Z(e=>e.search),c=Z(e=>e.selectedItemId),l=K();return w.useEffect(()=>{e.value!=null&&o.setState(`search`,e.value)},[e.value]),w.createElement(r.input,{ref:t,...i,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":l.listId,"aria-labelledby":l.labelId,"aria-activedescendant":c,id:l.inputId,type:`text`,value:a?e.value:s,onChange:e=>{a||o.setState(`search`,e.target.value),n?.(e.target.value)}})}),be=w.forwardRef((e,t)=>{let{children:n,label:i=`Suggestions`,...o}=e,s=w.useRef(null),c=w.useRef(null),l=Z(e=>e.selectedItemId),u=K();return w.useEffect(()=>{if(c.current&&s.current){let e=c.current,t=s.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),w.createElement(r.div,{ref:a(s,t),...o,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":l,"aria-label":i,id:u.listId},Q(e,e=>w.createElement(`div`,{ref:a(c,u.listInnerRef),"cmdk-list-sizer":``},e)))}),xe=w.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:s,...c}=e;return w.createElement(o,{open:n,onOpenChange:r},w.createElement(m,{container:s},w.createElement(u,{"cmdk-overlay":``,className:i}),w.createElement(p,{"aria-label":e.label,"cmdk-dialog":``,className:a},w.createElement(he,{ref:t,...c}))))}),Se=w.forwardRef((e,t)=>Z(e=>e.filtered.count===0)?w.createElement(r.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),Ce=w.forwardRef((e,t)=>{let{progress:n,children:i,label:a=`Loading...`,...o}=e;return w.createElement(r.div,{ref:t,...o,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},Q(e,e=>w.createElement(`div`,{"aria-hidden":!0},e)))}),J=Object.assign(he,{List:be,Item:ge,Input:ye,Group:_e,Separator:ve,Dialog:xe,Empty:Se,Loading:Ce});function we(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function Te(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function Ee(e){let t=w.useRef(e);return Y(()=>{t.current=e}),t}var Y=typeof window>`u`?w.useEffect:w.useLayoutEffect;function X(e){let t=w.useRef();return t.current===void 0&&(t.current=e()),t}function Z(e){let t=q(),n=()=>e(t.snapshot());return w.useSyncExternalStore(t.subscribe,n,n)}function De(e,t,n,r=[]){let i=w.useRef(),a=K();return Y(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(G,s),i.current=s}),i}var Oe=()=>{let[e,t]=w.useState(),n=X(()=>new Map);return Y(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function ke(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Q({asChild:e,children:t},n){return e&&w.isValidElement(t)?w.cloneElement(ke(t),{ref:t.ref},n(t.props.children)):n(t)}var Ae={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`},$=n();function je({className:e,...t}){return(0,$.jsx)(J,{"data-slot":`command`,className:f(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,e),...t})}function Me({title:e=`Command Palette`,description:t=`Search for a command to run...`,children:n,className:r,showCloseButton:i=!0,filter:a,commandProps:o,onOpenAutoFocus:s,onCloseAutoFocus:c,onEscapeKeyDown:l,...u}){return(0,$.jsxs)(v,{...u,children:[(0,$.jsxs)(y,{className:`sr-only`,children:[(0,$.jsx)(_,{children:e}),(0,$.jsx)(b,{children:t})]}),(0,$.jsx)(x,{className:f(`overflow-hidden p-0`,r),showCloseButton:i,onOpenAutoFocus:s,onCloseAutoFocus:c,onEscapeKeyDown:l,children:(0,$.jsx)(je,{filter:a,...o,className:`**:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5`,children:n})})]})}function Ne({className:e,...t}){return(0,$.jsxs)(`div`,{"data-slot":`command-input-wrapper`,className:`flex h-9 items-center gap-2 border-b px-3`,children:[(0,$.jsx)(S,{className:`size-4 shrink-0 opacity-50`}),(0,$.jsx)(J.Input,{"data-slot":`command-input`,className:f(`flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,e),...t})]})}function Pe({className:e,...t}){return(0,$.jsx)(J.List,{"data-slot":`command-list`,className:f(`max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto`,e),...t})}function Fe({...e}){return(0,$.jsx)(J.Empty,{"data-slot":`command-empty`,className:`py-6 text-center text-sm`,...e})}function Ie({className:e,...t}){return(0,$.jsx)(J.Group,{"data-slot":`command-group`,className:f(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,e),...t})}function Le({className:e,...t}){return(0,$.jsx)(J.Separator,{"data-slot":`command-separator`,className:f(`-mx-1 h-px bg-border`,e),...t})}function Re({className:e,...t}){return(0,$.jsx)(J.Item,{"data-slot":`command-item`,className:f(`relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...t})}function ze({className:e,...t}){return(0,$.jsx)(`span`,{"data-slot":`command-shortcut`,className:f(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t})}function Be({...e}){return(0,$.jsx)(o,{"data-slot":`sheet`,...e})}function Ve({...e}){return(0,$.jsx)(l,{"data-slot":`sheet-trigger`,...e})}function He({...e}){return(0,$.jsx)(d,{"data-slot":`sheet-close`,...e})}function Ue({...e}){return(0,$.jsx)(m,{"data-slot":`sheet-portal`,...e})}function We({className:e,...t}){return(0,$.jsx)(u,{"data-slot":`sheet-overlay`,className:f(`fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function Ge({className:e,children:t,side:n=`right`,showCloseButton:r=!0,...i}){return(0,$.jsxs)(Ue,{children:[(0,$.jsx)(We,{}),(0,$.jsxs)(p,{"data-slot":`sheet-content`,className:f(`fixed z-50 flex flex-col gap-4 bg-background shadow-modal transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500`,r&&`[&_[data-slot=sheet-header]]:pr-16`,n===`right`&&`inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm`,n===`left`&&`inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm`,n===`top`&&`inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,n===`bottom`&&`inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`,e),...i,children:[t,r&&(0,$.jsxs)(d,{className:`absolute top-4 right-4 grid size-11 place-items-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary`,children:[(0,$.jsx)(C,{className:`size-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function Ke({className:e,...t}){return(0,$.jsx)(`div`,{"data-slot":`sheet-header`,className:f(`flex flex-col gap-1.5 p-4`,e),...t})}function qe({className:e,...t}){return(0,$.jsx)(c,{"data-slot":`sheet-title`,className:f(`font-semibold text-foreground`,e),...t})}function Je({className:e,...t}){return(0,$.jsx)(s,{"data-slot":`sheet-description`,className:f(`text-sm text-muted-foreground`,e),...t})}function Ye(e){let[t,n]=w.useState(()=>Date.now());return w.useEffect(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}export{ze as _,Je as a,P as b,Ve as c,Fe as d,Ie as f,Le as g,Pe as h,Ge as i,je as l,Re as m,Be as n,Ke as o,Ne as p,He as r,qe as s,Ye as t,Me as u,j as v,A as y};
|