@wjarka/cezarion 0.11.1 → 0.11.2-pr50.83
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/automations/task-template.js +1 -0
- package/dist/automations/task-template.js.map +1 -1
- package/dist/automations/types.d.ts +2 -0
- package/dist/automations/types.js +1 -0
- package/dist/automations/types.js.map +1 -1
- package/dist/contract/automations.d.ts +8 -0
- package/dist/contract/effort.d.ts +18 -0
- package/dist/contract/index.d.ts +1 -0
- package/dist/contract/index.js +919 -898
- package/dist/contract/runs.d.ts +7 -0
- package/dist/contract/skills.d.ts +1 -0
- package/dist/core/agent-runner.d.ts +4 -0
- package/dist/core/agent-runner.js.map +1 -1
- package/dist/core/claude-cli-runner.js +4 -0
- package/dist/core/claude-cli-runner.js.map +1 -1
- package/dist/core/codex-app-server-runner.d.ts +9 -0
- package/dist/core/codex-app-server-runner.js +14 -1
- package/dist/core/codex-app-server-runner.js.map +1 -1
- package/dist/core/opencode-server-runner.js +4 -0
- package/dist/core/opencode-server-runner.js.map +1 -1
- package/dist/core/pi-runner.js +4 -0
- package/dist/core/pi-runner.js.map +1 -1
- package/dist/runs/store.d.ts +3 -0
- package/dist/runs/store.js +4 -0
- package/dist/runs/store.js.map +1 -1
- package/dist/server/server.d.ts +68 -0
- package/dist/server/server.js +14 -3
- package/dist/server/server.js.map +1 -1
- package/dist/workflows/run.d.ts +7 -0
- package/dist/workflows/run.js +109 -52
- package/dist/workflows/run.js.map +1 -1
- package/package.json +3 -3
- package/scripts/mock-claude.mjs +72 -2
- package/web/dist/assets/{alert-dialog-B4Ofsgv7.js → alert-dialog-g-GVThSw.js} +1 -1
- package/web/dist/assets/arrow-down-BzmL0uj0.js +1 -0
- package/web/dist/assets/arrow-left-DtUM7GFU.js +1 -0
- package/web/dist/assets/{centered-state-duPW0phQ.js → centered-state-DdbE_pNl.js} +2 -2
- package/web/dist/assets/chevron-right-DnLh0uM2.js +1 -0
- package/web/dist/assets/{collapsible-DdcNBdSk.js → collapsible-R1r7zUOB.js} +1 -1
- package/web/dist/assets/{commit-list-CgvN9vec.js → commit-list-Bgb1DHBX.js} +1 -1
- package/web/dist/assets/{compare-variants-CQA2nd65.js → compare-variants-UA_0n_5a.js} +1 -1
- package/web/dist/assets/{diff-B6Agp5Hl.js → diff-Cv3z9esx.js} +2 -2
- package/web/dist/assets/{diff-stat-BoXuGkgq.js → diff-stat-ydfu0_5T.js} +1 -1
- package/web/dist/assets/{diff-view-CD8XI-fj.js → diff-view-DnPdkmk2.js} +1 -1
- package/web/dist/assets/{dropdown-menu-B3SYw-k5.js → dropdown-menu-CPP9gEmn.js} +1 -1
- package/web/dist/assets/{editable-title-B-hjp5wl.js → editable-title-D_bWdmY0.js} +1 -1
- package/web/dist/assets/{ellipsis-vertical-BYwzw0xl.js → ellipsis-vertical-WNkaehnw.js} +1 -1
- package/web/dist/assets/{file-BRj5eISx.js → file-RvhJlchx.js} +1 -1
- package/web/dist/assets/{folder-z4oT5981.js → folder-Dz-weqBo.js} +1 -1
- package/web/dist/assets/{git-toolbar-owSEkYld.js → git-toolbar-BEKuAjHk.js} +1 -1
- package/web/dist/assets/github-CmFHDNje.js +1 -0
- package/web/dist/assets/{image-preview-h3WFluuy.js → image-preview-DYiOSYoY.js} +1 -1
- package/web/dist/assets/index-BQTfjxFm.js +7 -0
- package/web/dist/assets/{markdown-DqBKYPiB.js → markdown-DQHRRO9e.js} +1 -1
- package/web/dist/assets/new-task-form-D2KlpqYC.js +1 -0
- package/web/dist/assets/{pill-BQfmfpYp.js → pill-FAFXjmY6.js} +1 -1
- package/web/dist/assets/{project-router-DxgFZY1l.js → project-router-Dzc0JK2j.js} +1 -1
- package/web/dist/assets/{prompt-templates-B6m16gq-.js → prompt-templates-DmqtzSPL.js} +1 -1
- package/web/dist/assets/{refresh-cw-mhSpxf2a.js → refresh-cw-BP4TkA4M.js} +1 -1
- package/web/dist/assets/{repo-git-CUNRxR3_.js → repo-git-C20pc5tT.js} +1 -1
- package/web/dist/assets/{run-diff-DsmmDVfx.js → run-diff-CvcsWwew.js} +1 -1
- package/web/dist/assets/run-header-xFlbebSJ.js +1 -0
- package/web/dist/assets/{search-x-BqDMB2g8.js → search-x-Drnmsmd0.js} +1 -1
- package/web/dist/assets/{skill-empty-hint-BWEvTggc.js → skill-empty-hint-D2l_OqZ5.js} +1 -1
- package/web/dist/assets/{skills-DwIxnnWO.js → skills-Cn2ppPow.js} +1 -1
- package/web/dist/assets/{sparkles-DIoTQpyx.js → sparkles-B9ja4FHw.js} +1 -1
- package/web/dist/assets/{square-terminal-Cc7CuQxc.js → square-terminal-CB2du-YG.js} +1 -1
- package/web/dist/assets/{tab-link-D1fQgpmO.js → tab-link-C5FWJ66Y.js} +1 -1
- package/web/dist/assets/{task-changes-BKeLlDpK.js → task-changes-CuUmQArS.js} +1 -1
- package/web/dist/assets/{task-commits-gcEFZIa5.js → task-commits-DgIWIhW9.js} +1 -1
- package/web/dist/assets/{task-files-BGAqoXTW.js → task-files-BeDXPyz5.js} +1 -1
- package/web/dist/assets/task-thread-2nmi0vcz.js +9 -0
- package/web/dist/assets/{textarea-BOVbfy5C.js → textarea-Sm6doUPO.js} +1 -1
- package/web/dist/assets/{thread-loading-CypW73KD.js → thread-loading-DojNeADh.js} +1 -1
- package/web/dist/assets/{trash-2-CJq6LHWn.js → trash-2-C_lGBXG2.js} +1 -1
- package/web/dist/assets/{triangle-alert-CjDFvU27.js → triangle-alert-Brk_ldFl.js} +1 -1
- package/web/dist/assets/{upload-CPDZlJeK.js → upload-Cxs1UROt.js} +1 -1
- package/web/dist/assets/{use-desktop-5JsLmi0a.js → use-desktop-Cmrz3npD.js} +1 -1
- package/web/dist/assets/{use-submit-shortcut-CHVFevty.js → use-submit-shortcut-DzeqN3GK.js} +1 -1
- package/web/dist/assets/{utils-DiO6zyJd.js → utils-Unt0mZvU.js} +1 -1
- package/web/dist/assets/{workflows-rQDFzWRt.js → workflows-D_GyBbup.js} +1 -1
- package/web/dist/assets/{zoomable-image-COWqb11v.js → zoomable-image-ByySCppM.js} +1 -1
- package/web/dist/index.html +22 -22
- package/web/dist/assets/arrow-down-Dy8dup7j.js +0 -1
- package/web/dist/assets/arrow-left-BJaucbhn.js +0 -1
- package/web/dist/assets/chevron-right-Be4A5TCS.js +0 -1
- package/web/dist/assets/github-Bz2VgRX3.js +0 -1
- package/web/dist/assets/index-EtQQQ6Kj.js +0 -7
- package/web/dist/assets/new-task-form-BdJKRBJX.js +0 -1
- package/web/dist/assets/run-header-BkhrseLJ.js +0 -1
- package/web/dist/assets/task-thread-DT8aUYTS.js +0 -9
|
@@ -1 +0,0 @@
|
|
|
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,_ as i,b as a,c as o,d as s,f as c,g as l,h as u,l as d,s as f,u as p,w as m,x as h,y as g}from"./centered-state-duPW0phQ.js";import{m as _,r as v,t as y}from"./utils-DiO6zyJd.js";import{f as b,g as x,h as ee,m as S,p as te}from"./dropdown-menu-B3SYw-k5.js";var ne=v(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),re=v(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),C=v(`circle-dot`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}]]),w=v(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),ie=v(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),ae=v(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),T=e(t(),1),E=n(),D=`Popover`,[O,oe]=a(D,[x]),k=x(),[A,j]=O(D),M=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:a,onOpenChange:o,modal:s=!1}=e,c=k(t),l=T.useRef(null),[d,f]=T.useState(!1),[p,m]=i({prop:r,defaultProp:a??!1,onChange:o,caller:D});return(0,E.jsx)(ee,{...c,children:(0,E.jsx)(A,{scope:t,contentId:u(),triggerRef:l,open:p,onOpenChange:m,onOpenToggle:T.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:d,onCustomAnchorAdd:T.useCallback(()=>f(!0),[]),onCustomAnchorRemove:T.useCallback(()=>f(!1),[]),modal:s,children:n})})};M.displayName=D;var N=`PopoverAnchor`,P=T.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=j(N,n),a=k(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return T.useEffect(()=>(o(),()=>s()),[o,s]),(0,E.jsx)(b,{...a,...r,ref:t})});P.displayName=N;var F=`PopoverTrigger`,I=T.forwardRef((e,t)=>{let{__scopePopover:n,...i}=e,a=j(F,n),o=k(n),s=r(t,a.triggerRef),c=(0,E.jsx)(h.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":q(a.open),...i,ref:s,onClick:g(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?c:(0,E.jsx)(b,{asChild:!0,...o,children:c})});I.displayName=F;var L=`PopoverPortal`,[se,R]=O(L,{forceMount:void 0}),z=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=j(L,t);return(0,E.jsx)(se,{scope:t,forceMount:n,children:(0,E.jsx)(l,{present:n||a.open,children:(0,E.jsx)(p,{asChild:!0,container:i,children:r})})})};z.displayName=L;var B=`PopoverContent`,V=T.forwardRef((e,t)=>{let n=R(B,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=j(B,e.__scopePopover);return(0,E.jsx)(l,{present:r||a.open,children:a.modal?(0,E.jsx)(U,{...i,ref:t}):(0,E.jsx)(W,{...i,ref:t})})});V.displayName=B;var H=m(`PopoverContent.RemoveScroll`),U=T.forwardRef((e,t)=>{let n=j(B,e.__scopePopover),i=T.useRef(null),a=r(t,i),s=T.useRef(!1);return T.useEffect(()=>{let e=i.current;if(e)return f(e)},[]),(0,E.jsx)(o,{as:H,allowPinchZoom:!0,children:(0,E.jsx)(G,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:g(e.onCloseAutoFocus,e=>{e.preventDefault(),s.current||n.triggerRef.current?.focus()}),onPointerDownOutside:g(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;s.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:g(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),W=T.forwardRef((e,t)=>{let n=j(B,e.__scopePopover),r=T.useRef(!1),i=T.useRef(!1);return(0,E.jsx)(G,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),G=T.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:f,onInteractOutside:p,...m}=e,h=j(B,n),g=k(n);return d(),(0,E.jsx)(s,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,E.jsx)(c,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:p,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:f,onDismiss:()=>h.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,E.jsx)(S,{"data-state":q(h.open),role:`dialog`,id:h.contentId,...g,...m,ref:t,style:{...m.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),K=`PopoverClose`,ce=T.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=j(K,n);return(0,E.jsx)(h.button,{type:`button`,...r,ref:t,onClick:g(e.onClick,()=>i.onOpenChange(!1))})});ce.displayName=K;var le=`PopoverArrow`,ue=T.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=k(n);return(0,E.jsx)(te,{...i,...r,ref:t})});ue.displayName=le;function q(e){return e?`open`:`closed`}var de=M,fe=P,J=I,pe=z,me=V;function Y(e){let t=e.visualViewport;return t?Math.max(0,Math.round(e.innerHeight-t.height-t.offsetTop)):0}function he(e,t,n,r=250){let i=e.visualViewport;if(!i)return t(0),()=>{};let a,o=()=>{let i=Y(e);t(i),n&&(clearTimeout(a),a=setTimeout(()=>n(i),r))};return t(Y(e)),i.addEventListener(`resize`,o),i.addEventListener(`scroll`,o),()=>{clearTimeout(a),i.removeEventListener(`resize`,o),i.removeEventListener(`scroll`,o),t(0)}}function ge(e){let t=e.visualViewport;return t?{top:Math.max(0,Math.round(t.offsetTop)),bottom:Y(e)}:{top:0,bottom:0}}function _e(e,t=0){let n=typeof t==`number`?{top:t,right:t,bottom:t,left:t}:t;return{top:(n.top??0)+e.top,right:n.right??0,bottom:(n.bottom??0)+e.bottom,left:n.left??0}}function ve(e,t){let n=e.visualViewport;if(!n)return t({top:0,bottom:0}),()=>{};let r=()=>t(ge(e));return r(),n.addEventListener(`resize`,r),n.addEventListener(`scroll`,r),()=>{n.removeEventListener(`resize`,r),n.removeEventListener(`scroll`,r)}}function ye(){let[e,t]=(0,T.useState)({top:0,bottom:0});return(0,T.useEffect)(()=>ve(window,e=>t(t=>t.top===e.top&&t.bottom===e.bottom?t:e)),[]),e}function be(e){let t=(0,T.useRef)(e);t.current=e,(0,T.useEffect)(()=>{let e=document.documentElement;return he(window,t=>e.style.setProperty(`--kb`,`${t}px`),e=>t.current?.(e))},[])}function xe({...e}){return(0,E.jsx)(de,{"data-slot":`popover`,...e})}function Se({...e}){return(0,E.jsx)(J,{"data-slot":`popover-trigger`,...e})}function Ce({className:e,align:t=`center`,sideOffset:n=4,collisionPadding:r,...i}){let a=ye();return(0,E.jsx)(pe,{children:(0,E.jsx)(me,{"data-slot":`popover-content`,align:t,sideOffset:n,collisionPadding:_e(a,r),className:y(`z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...i})})}function we({...e}){return(0,E.jsx)(fe,{"data-slot":`popover-anchor`,...e})}var Te=`quick-task`;function Ee(e,t,n=24){return[t,...(e??[]).filter(e=>!(e.source===t.source&&e.ref===t.ref))].slice(0,n)}var X=[{id:`claude`,label:`claude`,desc:`Claude Code CLI`},{id:`codex`,label:`codex`,desc:`OpenAI Codex (app-server)`},{id:`opencode`,label:`opencode`,desc:`OpenCode (serve)`},{id:`pi`,label:`pi`,desc:`pi CLI (provider/model)`}],Z={claude:[{id:``,label:`auto`,desc:`Pick the best model per step`},{id:`opus`,label:`opus`,desc:`Deep reasoning for hard tasks`},{id:`sonnet`,label:`sonnet`,desc:`Fast and cheap`},{id:`haiku`,label:`haiku`,desc:`Fastest — simple, scoped tasks`},{id:`claude-fable-5`,label:`Fable 5`,desc:`Most capable — the Claude 5 family`},{id:`claude-opus-4-8`,label:`Opus 4.8`,desc:`Pinned version`},{id:`claude-sonnet-5`,label:`Sonnet 5`,desc:`Pinned version`},{id:`claude-haiku-4-5`,label:`Haiku 4.5`,desc:`Pinned version`}],codex:[{id:``,label:`auto`,desc:`Use your Codex default model`}],opencode:[{id:``,label:`auto`,desc:`Use your OpenCode default model`}],pi:[{id:``,label:`auto`,desc:`Use your pi default model`}]},De=[`opencode`,`pi`];function Oe(e,t){return!e||Z[t].some(t=>t.id===e)?!1:Object.entries(Z).some(([n,r])=>n!==t&&!De.includes(n)&&r.some(t=>t.id!==``&&t.id===e))}function Q(e,t,n=[]){let r=[...Z[e]??Z.claude],i=new Set(r.map(e=>e.id));if(_(e))for(let e of t?.models??[])!e.id||i.has(e.id)||(i.add(e.id),r.push({id:e.id,label:e.label||e.id,desc:e.description}));for(let t of n)!t||i.has(t)||Oe(t,e)||(i.add(t),r.push({id:t,label:t,desc:`Custom or legacy model`}));return r}var ke={codex:`Codex`,opencode:`OpenCode`,pi:`Pi`};function Ae(e,t,n=!1){if(!_(e))return;let r=ke[e];if(t?.stale)return`Using cached ${r} model list`;if(n||t?.source===`unavailable`)return`Latest ${r} models unavailable`}function je(e){let t=X.map(e=>e.id).filter(t=>e.some(e=>e.name===t&&e.available));return t.length>0?t:[`claude`]}function Me(e,t,n){return e!==null&&t.includes(e)?e:t.includes(n)?n:t[0]??`claude`}function $(e,t,n=!1){return!n&&e===t?void 0:e}function Ne(e,t,n,r){let i=Q(t,r,[e,n?.[t]]);if(e!==null&&i.some(t=>t.id===e))return e;let a=n?.[t];return a!==void 0&&i.some(e=>e.id===a)?a:``}function Pe(e,t,n){return e.source===`skill`?t.some(t=>t.name===e.ref):n.some(t=>t.name===e.ref)}function Fe(e,t,n){return e&&Pe(e,t,n)?e:null}function Ie(e){let{task:t,source:n,model:r,modelsLocked:i,runner:a,runnerExplicit:o,defaultRunner:s,agentProfile:c,variants:l,images:u,worktree:d,autonomous:f,generateFollowups:p,todoId:m}=e;return{task:t,...n?.source===`skill`?{steps:[{id:`task`,name:n.ref,skill:n.ref,prompt:`{{task}}`}]}:{workflow:n?.ref??`quick-task`},model:i?void 0:r||void 0,runner:$(a,s,o),agentProfile:c||void 0,variants:l>1?l:void 0,images:u.length>0?[...u]:void 0,worktree:d===!1&&l<=1?!1:void 0,autonomous:f===!0||void 0,generateFollowups:p!==!1&&void 0,todoId:m||void 0}}function Le(e){let t=`runs`in e?e.runs[0]:e;return t?`/tasks/${t.id}`:`/`}export{ne as C,re as S,be as _,Ae as a,w as b,Ne as c,$ as d,Le as f,Se as g,Ce as h,Ie as i,Me as l,we as m,X as n,Q as o,xe as p,je as r,Ee as s,Te as t,Fe as u,ae as v,C as x,ie as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{A as r,At as i,B as a,Bn as o,Cn as s,Dn as c,Hn as l,Hr as u,Kr as d,M as f,Nt as p,Pn as m,R as h,Z as g,a as _,an as v,ar as ee,at as y,en as te,gn as b,i as x,in as ne,ir as re,it as ie,k as ae,kn as oe,kr as S,ln as se,mn as ce,nn as le,nt as ue,ot as de,pt as fe,sn as pe,ut as C}from"./centered-state-duPW0phQ.js";import{n as w,r as T,t as E}from"./utils-DiO6zyJd.js";import{A as D,O as me,_ as O,c as he,f as ge,h as _e,k,m as ve,n as ye,p as A,r as be,s as xe,t as Se,v as Ce,w as we}from"./editable-title-B-hjp5wl.js";import{C as Te,S as Ee,b as De,l as Oe,y as j}from"./new-task-form-BdJKRBJX.js";import{c as M,i as N,n as P,r as F,s as I,t as L,x as ke}from"./dropdown-menu-B3SYw-k5.js";import{n as R,t as z}from"./trash-2-CJq6LHWn.js";import{t as Ae}from"./ellipsis-vertical-BYwzw0xl.js";import{t as B}from"./square-terminal-Cc7CuQxc.js";import{n as je,r as Me,t as Ne}from"./collapsible-DdcNBdSk.js";import{a as Pe,c as V,i as Fe,n as Ie,o as Le,r as Re,s as ze,t as Be}from"./alert-dialog-B4Ofsgv7.js";import{c as Ve,t as He}from"./project-router-DxgFZY1l.js";import{a as Ue,n as We,r as Ge,t as Ke}from"./pill-BQfmfpYp.js";import{t as qe}from"./markdown-DqBKYPiB.js";import{t as Je}from"./diff-stat-BoXuGkgq.js";import{t as H}from"./tab-link-D1fQgpmO.js";var U=T(`circle-stop`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`,key:`1ssd4o`}]]),W=T(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),G=T(`mail`,[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`,key:`132q7q`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}]]),K=e(t(),1);function q(e,t=null){let n=C(),r=S(n.data),i=e.runner??`claude`,a=Oe(t,r,i),o=r.includes(i),s=n.isSuccess&&r.length>0,c=n.isPending?`Checking agent providers…`:n.isError?`Provider authentication could not be verified.`:s?void 0:`Connect an agent provider to continue.`;return{runners:r,currentRunner:i,runner:a,currentRunnerConnected:o,canContinue:s,providerPending:n.isPending,providerError:n.isError,reason:c,runnerOverride:t!==null||!o?a:void 0}}var J=n();function Y(e){switch(e){case`done`:return`done`;case`running`:case`waiting`:case`review`:return`active`;case`failed`:case`cancelled`:return`failed`;case`pending`:case`skipped`:return`pending`}}function X(e){if(e.length===0)return 0;let t=new Set([`done`,`failed`,`cancelled`,`skipped`]),n=new Set([`running`,`waiting`,`review`]),r=0;for(let i of e)t.has(i.status)?r+=1:n.has(i.status)&&(r+=.5);return r/e.length}function Ye({steps:e}){if(e.length===0)return null;let t=X(e)*100;return(0,J.jsxs)(`div`,{"data-slot":`step-rail`,className:`flex min-w-0 flex-col gap-1`,children:[e.map((t,n)=>(0,J.jsxs)(`div`,{"data-slot":`step-row`,"data-visual":Y(t.status),className:`flex min-h-[22px] min-w-0 items-center gap-2 text-[13px] text-muted-foreground`,children:[(0,J.jsx)(Xe,{visual:Y(t.status)}),(0,J.jsx)(`span`,{className:`min-w-0 truncate font-medium text-foreground`,children:t.name}),t.iterations>1?(0,J.jsxs)(`span`,{"data-slot":`step-iterations`,className:`shrink-0 text-xs text-soft-foreground tabular-nums`,children:[`×`,t.iterations]}):null,(0,J.jsxs)(`span`,{className:`ml-auto shrink-0 pl-2 text-[11.5px] text-soft-foreground tabular-nums`,children:[t.kind,` · step `,n+1,` of `,e.length]})]},t.id)),(0,J.jsx)(`div`,{"data-slot":`step-progress`,className:`mt-1 h-0.5 overflow-hidden rounded-full bg-muted`,children:(0,J.jsx)(`div`,{className:`h-full rounded-full bg-pending`,style:{width:`${t}%`}})})]})}function Xe({visual:e}){let t=`size-[13px] shrink-0`;switch(e){case`done`:return(0,J.jsx)(Ee,{"aria-hidden":!0,className:E(t,`text-success`)});case`active`:return(0,J.jsx)(ae,{role:`status`,"aria-label":`Step running`,className:E(t,`animate-spin stroke-pending motion-reduce:animate-none`)});case`failed`:return(0,J.jsx)(De,{"aria-hidden":!0,className:E(t,`text-danger`)});case`pending`:return(0,J.jsx)(ke,{"aria-hidden":!0,className:E(t,`text-soft-foreground`)})}}function Ze(e){let t=e.findIndex(e=>Y(e.status)===`active`);if(t>=0)return t;let n=e.findIndex(e=>Y(e.status)===`pending`);return n>=0?n:Math.max(0,e.length-1)}function Qe({visual:e}){return(0,J.jsx)(`span`,{"aria-hidden":!0,"data-slot":`step-dot`,"data-visual":e,className:E(`size-1.5 rounded-full`,e===`done`?`bg-success`:e===`failed`?`bg-danger`:e===`active`?`bg-pending`:`bg-soft-foreground`,e===`active`&&`animate-pulse motion-reduce:animate-none`)})}var Z=new Map;function $e({runId:e,steps:t}){let[n,r]=(0,K.useState)(()=>Z.get(e)??!1);if(t.length===0)return null;let i=t=>{Z.set(e,t),r(t)},a=Ze(t),o=t[a],s=X(t)*100;return(0,J.jsxs)(Ne,{"data-slot":`workflow-steps`,open:n,onOpenChange:i,className:`min-w-0`,children:[(0,J.jsxs)(Me,{"aria-label":`Workflow: ${o.name}, step ${a+1} of ${t.length}`,className:`group flex min-h-[30px] w-full items-center gap-2.5 text-left text-xs text-muted-foreground hover:text-foreground`,children:[(0,J.jsx)(`span`,{"data-slot":`step-dots`,className:`flex shrink-0 items-center gap-1`,children:t.map(e=>(0,J.jsx)(Qe,{visual:Y(e.status)},e.id))}),(0,J.jsx)(`span`,{className:`min-w-0 max-w-[45%] shrink truncate font-semibold text-foreground`,children:o.name}),(0,J.jsxs)(`span`,{className:`shrink-0 text-soft-foreground tabular-nums`,children:[`step `,a+1,` of `,t.length]}),(0,J.jsx)(`span`,{"data-slot":`step-summary-progress`,className:`h-0.5 min-w-[36px] flex-1 overflow-hidden rounded-full bg-muted`,children:(0,J.jsx)(`span`,{className:`block h-full rounded-full bg-pending`,style:{width:`${s}%`}})}),(0,J.jsx)(Te,{"aria-hidden":!0,className:`size-4 shrink-0 text-soft-foreground transition-transform group-data-[state=open]:rotate-180`})]}),(0,J.jsx)(je,{children:(0,J.jsx)(`div`,{className:`pt-2`,children:(0,J.jsx)(Ye,{steps:t})})})]})}function Q(e){let t=d();return u({mutationFn:()=>l(e),onSuccess:()=>t.invalidateQueries({queryKey:f.runs.all}),onError:e=>x(e.message,{tone:`danger`})})}function et({run:e,planTally:t,tab:n=`session`,onMarkedUnread:i}){let a=Ue(e),o=A(e),s=ge(e),[c,l]=(0,K.useState)(!1),u=nt(e,i),d=p(),f=g(),m=We(f.data),h=e.status===`queued`?ce(d.data??[]).get(e.id):void 0;return(0,J.jsxs)(`header`,{"data-slot":`run-header`,className:`sticky top-0 z-20 border-b border-border bg-background/95 px-4 pt-3 backdrop-blur md:px-6`,children:[(0,J.jsxs)(`div`,{className:`mx-auto w-full max-w-[var(--measure)]`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,J.jsx)(rt,{run:e}),(0,J.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-2.5`,children:[t?(0,J.jsxs)(`span`,{"data-slot":`plan-mirror`,className:`text-[11px] text-soft-foreground tabular-nums`,children:[`Plan `,t.done,`/`,t.total]}):null,(0,J.jsxs)(Ke,{dot:a.tone,pulse:a.pulse,children:[a.label,h===void 0?``:` #${h}`]}),(0,J.jsx)(st,{run:e,actions:u,onToggleNotes:()=>l(e=>!e)})]})]}),(0,J.jsx)(it,{run:e,showTokens:m.tokens,showCost:m.cost,automationsAvailable:f.data?.capabilities?.automations===!0}),(0,J.jsx)(at,{run:e}),(0,J.jsxs)(`div`,{"data-slot":`run-tabs`,className:`mt-2.5 flex items-end gap-1`,children:[(0,J.jsx)(H,{to:`/tasks/${e.id}`,active:n===`session`,children:`Session`}),(0,J.jsx)(H,{to:`/tasks/${e.id}/changes`,active:n===`changes`,children:`Changes`}),(0,J.jsx)(H,{to:`/tasks/${e.id}/commits`,active:n===`commits`,children:`Commits`}),(0,J.jsx)(H,{to:`/tasks/${e.id}/files`,active:n===`files`,children:`Files`}),(0,J.jsxs)(`div`,{"data-slot":`run-actions`,className:`ml-auto hidden items-center gap-1 pb-1 md:flex`,children:[o.finish?(0,J.jsxs)(_,{variant:`outline`,size:`sm`,title:he(e.status),onClick:()=>u.finish.mutate(),children:[(0,J.jsx)(r,{"aria-hidden":`true`}),`Finish`]}):null,o.continueRun?(0,J.jsxs)(_,{variant:`outline`,size:`sm`,title:u.continuation.reason??`Reopen the session`,disabled:u.continueRun.isPending||!u.continuation.canContinue,onClick:()=>u.continueRun.mutate(),children:[(0,J.jsx)(j,{"aria-hidden":`true`}),`Continue`]}):null,(0,J.jsx)(tt,{run:e,canResume:o.terminal,onResume:()=>u.terminal.mutate()}),(0,J.jsxs)(_,{variant:`ghost`,size:`sm`,title:`Handoff notes — what the agent did and what's left`,"aria-expanded":c,onClick:()=>l(e=>!e),children:[(0,J.jsx)(W,{"aria-hidden":`true`}),`Notes`]}),o.markUnread?(0,J.jsxs)(_,{variant:`ghost`,size:`sm`,title:`Put this task back in the unread list`,disabled:u.markUnread.isPending,onClick:()=>u.markUnread.mutate(),children:[(0,J.jsx)(G,{"aria-hidden":`true`}),`Mark unread`]}):null,o.archive?(0,J.jsxs)(_,{variant:`ghost`,size:`sm`,onClick:()=>u.archive.mutate(),children:[e.archived?(0,J.jsx)(D,{"aria-hidden":`true`}):(0,J.jsx)(k,{"aria-hidden":`true`}),e.archived?`Unarchive`:`Archive`]}):null,o.cancel?(0,J.jsxs)(_,{variant:`danger-ghost`,size:`sm`,onClick:()=>u.setConfirming(`cancel`),children:[(0,J.jsx)(U,{"aria-hidden":`true`}),`Cancel`]}):null,o.deleteRun?(0,J.jsxs)(_,{variant:`danger-ghost`,size:`sm`,onClick:()=>u.setConfirming(`delete`),children:[(0,J.jsx)(z,{"aria-hidden":`true`}),`Delete`]}):null]})]}),e.steps.length>0?(0,J.jsx)(`div`,{className:`border-t border-border pt-2 pb-1`,children:(0,J.jsx)($e,{runId:e.id,steps:e.steps})}):null,s?(0,J.jsx)(lt,{hint:s}):null,c?(0,J.jsx)(ut,{runId:e.id}):null]}),(0,J.jsx)(ct,{run:e,actions:u})]})}function tt({run:e,canResume:t,onResume:n}){let r=ie(),i=C(),a=u({mutationFn:t=>re(e.id,t),onError:e=>x(e.message,{tone:`danger`})}),o=S(i.data),s=e=>!i.isSuccess||o.includes(e??`claude`),c=t&&s(e.runner),l=e.worktreePath?(r.data?.targets??[]).filter(e=>{let t=_e(e.id);return t===void 0||s(t)}).map(t=>({target:t,...xe(e,t.id)?{suffix:` (resume)`,title:`Resume this run's session`}:{}})):[];return!c&&l.length===0?null:(0,J.jsx)(ve,{choices:l,onPick:e=>a.mutate(e),title:`Resume in a terminal, or open the worktree locally`,leading:c?(0,J.jsxs)(F,{"data-target":`terminal-resume`,onSelect:n,children:[(0,J.jsx)(B,{"aria-hidden":`true`}),`Terminal (resume session)`]}):null,trailing:e.worktreePath?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(I,{}),(0,J.jsxs)(F,{onSelect:()=>{let t=e.worktreePath;t&&navigator.clipboard.writeText(t).then(()=>x(`Worktree path copied`)).catch(()=>x(`Path: ${t}`))},children:[(0,J.jsx)(R,{"aria-hidden":`true`}),`Copy worktree path`]})]}):null})}function nt(e,t){let n=d(),r=Ve(),[i,a]=(0,K.useState)(null),l=()=>n.invalidateQueries({queryKey:f.runs.all}),p=e=>x(e.message,{tone:`danger`}),h=Q(e.id),g=q(e),_=u({mutationFn:async()=>g.canContinue?m(e.id,{runner:g.runnerOverride}):null,onSuccess:e=>{e!==null&&l()},onError:p}),v=u({mutationFn:()=>c(e.id,!e.archived),onSuccess:l,onError:p}),y=ue();return{finish:h,continuation:g,continueRun:_,archive:v,markUnread:{isPending:y.isPending,mutate:()=>{t?.(),y.mutate(e.id,{onError:p})}},cancel:u({mutationFn:()=>oe(e.id),onSuccess:l,onError:p}),delete:u({mutationFn:()=>o(e.id),onSuccess:()=>{l(),r(`/`)},onError:p}),terminal:u({mutationFn:()=>ee(e.id),onError:e=>{if(e instanceof s&&e.command){$(e.command,`No terminal found — command copied to clipboard.`);return}p(e)}}),confirming:i,setConfirming:a}}async function $(e,t){try{await navigator.clipboard.writeText(e),x(t)}catch{x(`Run manually: ${e}`)}}function rt({run:e}){let t=y(e.id),n=b(e),r=ye(n,e=>t.mutate({title:e},{onError:e=>x(e.message,{tone:`danger`})}));return r.editing?(0,J.jsx)(Se,{editor:r,className:`flex-1 text-[15px] font-semibold`}):(0,J.jsxs)(`span`,{className:`group flex min-w-0 items-center gap-1`,children:[(0,J.jsx)(`h1`,{className:`min-w-0 truncate text-[15px] font-semibold`,title:e.task,children:n}),(0,J.jsx)(`button`,{type:`button`,"aria-label":`Rename task`,onClick:r.begin,className:`shrink-0 rounded-sm p-1 text-soft-foreground opacity-0 transition-opacity group-hover:opacity-100 hover:bg-muted hover:text-foreground focus-visible:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:(0,J.jsx)(we,{className:`size-3.5`,"aria-hidden":`true`})})]})}function it({run:e,showTokens:t,showCost:n,automationsAvailable:r}){let i=de(),a=fe(),o=(0,K.useMemo)(()=>pe(e,i),[e,i]),s=(0,K.useMemo)(()=>a===void 0?[]:o.map(e=>({projectId:a,kind:e.kind,number:e.number})),[o,a]),c=[(0,J.jsx)(`span`,{children:se(e)},`workflow`)];e.branch&&c.push((0,J.jsx)(`span`,{"data-slot":`branch-chip`,className:`rounded-sm border border-border bg-card px-1.5 py-px font-mono text-[11px] font-medium`,children:e.branch},`branch`));let l=o.filter(e=>e.kind===`PR`);for(let t of l)c.push((0,J.jsx)(O,{reference:t,taskTitle:b(e),className:`h-5`,conflictAction:(0,J.jsx)(be,{run:e,prNumber:t.number})},`pr-${t.number}`));let u=v(e);u&&w(u)&&!l.some(e=>e.url===u)&&c.push((0,J.jsx)(O,{reference:{kind:`PR`,url:u},taskTitle:b(e),className:`h-5`},`pr`));let d=ne(e,i);if(d&&w(d)){let t=le(d);c.push((0,J.jsx)(O,{reference:{kind:`Issue`,...t?{number:Number(t)}:{},url:d},taskTitle:b(e),className:`h-5`},`issue`))}e.diffStat&&c.push((0,J.jsx)(Je,{stat:e.diffStat},`diff`)),e.automation&&c.push(r?(0,J.jsx)(He,{to:`/automations/${encodeURIComponent(e.automation.automationId)}/log`,className:`rounded-sm border border-border bg-card px-1.5 py-px text-[11px] font-medium hover:text-foreground`,children:`Automation`},`automation`):(0,J.jsx)(`span`,{"data-slot":`automation-origin`,title:`Automations are off on this server (CEZ_AUTOMATIONS)`,className:`rounded-sm border border-border bg-card px-1.5 py-px text-[11px] font-medium`,children:`Automation`},`automation`));let f=[];return t&&(e.inputTokens!==void 0||e.outputTokens!==void 0)&&f.push((0,J.jsx)(Ge,{inputTokens:e.inputTokens,outputTokens:e.outputTokens},`tokens`)),n&&e.costUsd&&f.push((0,J.jsx)(`span`,{className:`tabular-nums`,children:te(e.costUsd)},`cost`)),(0,J.jsx)(Ce,{projectId:a,requests:s,children:(0,J.jsxs)(`div`,{"data-slot":`run-meta`,className:`mt-1.5 flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-muted-foreground`,children:[c.map((e,t)=>(0,J.jsxs)(K.Fragment,{children:[t>0?(0,J.jsx)(`span`,{className:`text-soft-foreground`,"aria-hidden":`true`,children:`·`}):null,e]},t)),(0,J.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[f.map((e,t)=>(0,J.jsxs)(K.Fragment,{children:[t>0?(0,J.jsx)(`span`,{className:`text-soft-foreground`,"aria-hidden":`true`,children:`·`}):null,e]},t)),(0,J.jsx)(ot,{run:e})]})]})})}function at({run:e}){if(e.status!==`running`||e.activity!==`monitoring`)return null;if(e.monitoringWakeCapReached)return(0,J.jsx)(`p`,{"data-slot":`monitoring-schedule`,role:`status`,className:`mt-1 text-xs text-muted-foreground`,children:`Automatic checks paused — 40/40 reached`});let t=e.monitoringWakeAt?new Date(e.monitoringWakeAt):null,n=t&&Number.isFinite(t.getTime())?t:null;if(!n)return(0,J.jsx)(`p`,{"data-slot":`monitoring-schedule`,role:`status`,className:`mt-1 text-xs text-muted-foreground`,children:`Parked — no automatic check scheduled`});let r=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`long`}).format(n);return(0,J.jsxs)(`p`,{"data-slot":`monitoring-schedule`,role:`status`,className:`mt-1 text-xs text-muted-foreground`,children:[`Next automatic check`,` `,(0,J.jsx)(`time`,{dateTime:e.monitoringWakeAt,className:`font-medium text-foreground`,children:r})]})}function ot({run:e}){let t=a(),n=h(),r=e.runner??t.data?.defaultRunner??`claude`,i=e.model??`auto`,o=[...e.steps].reverse().find(e=>e.profileId)?.profileId,s=o===void 0?void 0:o==="default"?`default`:n.data?.profiles.find(e=>e.id===o)?.label??`${o} (removed)`,c=e.modelIdentity&&e.modelIdentity!==i?e.modelIdentity:void 0,l=[r,s,i].filter(Boolean).join(` · `);return(0,J.jsxs)(L,{children:[(0,J.jsx)(M,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,"data-slot":`agent-badge`,title:l,"aria-label":`Agent: ${r}, ${s?`account ${s}, `:``}model ${i}`,className:`flex min-w-0 shrink items-center gap-1.5 rounded-sm px-1 py-1 text-soft-foreground hover:bg-muted hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:[(0,J.jsx)(me,{className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{"data-slot":`agent-badge-summary`,className:`truncate font-mono text-[11px]`,children:l})]})}),(0,J.jsxs)(P,{align:`end`,className:`min-w-[9rem]`,children:[(0,J.jsxs)(N,{className:`font-mono text-[11px] font-normal text-muted-foreground`,children:[`runner: `,r]}),s?(0,J.jsxs)(N,{"data-slot":`agent-badge-account`,className:`font-mono text-[11px] font-normal text-muted-foreground`,children:[`account: `,s]}):null,(0,J.jsxs)(N,{className:`font-mono text-[11px] font-normal text-muted-foreground`,children:[`model: `,i]}),c?(0,J.jsxs)(N,{"data-slot":`agent-badge-identity`,className:`font-mono text-[11px] font-normal text-muted-foreground`,children:[`identity: `,c]}):null]})]})}function st({run:e,actions:t,onToggleNotes:n}){let i=A(e);return(0,J.jsxs)(L,{children:[(0,J.jsx)(M,{asChild:!0,children:(0,J.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":`Run actions`,className:`md:hidden`,children:(0,J.jsx)(Ae,{"aria-hidden":`true`})})}),(0,J.jsxs)(P,{align:`end`,"data-slot":`run-actions-menu`,children:[i.finish?(0,J.jsxs)(F,{onSelect:()=>t.finish.mutate(),children:[(0,J.jsx)(r,{"aria-hidden":`true`}),` Finish`]}):null,i.continueRun?(0,J.jsxs)(F,{disabled:!t.continuation.canContinue||t.continueRun.isPending,title:t.continuation.reason,onSelect:()=>t.continueRun.mutate(),children:[(0,J.jsx)(j,{"aria-hidden":`true`}),` Continue`]}):null,i.terminal?(0,J.jsxs)(F,{onSelect:()=>t.terminal.mutate(),children:[(0,J.jsx)(B,{"aria-hidden":`true`}),` Terminal`]}):null,(0,J.jsxs)(F,{onSelect:n,children:[(0,J.jsx)(W,{"aria-hidden":`true`}),` Notes`]}),i.markUnread?(0,J.jsxs)(F,{disabled:t.markUnread.isPending,onSelect:()=>t.markUnread.mutate(),children:[(0,J.jsx)(G,{"aria-hidden":`true`}),` Mark unread`]}):null,i.archive?(0,J.jsxs)(F,{onSelect:()=>t.archive.mutate(),children:[e.archived?(0,J.jsx)(D,{"aria-hidden":`true`}):(0,J.jsx)(k,{"aria-hidden":`true`}),e.archived?`Unarchive`:`Archive`]}):null,i.cancel||i.deleteRun?(0,J.jsx)(I,{}):null,i.cancel?(0,J.jsxs)(F,{variant:`destructive`,onSelect:()=>t.setConfirming(`cancel`),children:[(0,J.jsx)(U,{"aria-hidden":`true`}),` Cancel`]}):null,i.deleteRun?(0,J.jsxs)(F,{variant:`destructive`,onSelect:()=>t.setConfirming(`delete`),children:[(0,J.jsx)(z,{"aria-hidden":`true`}),` Delete`]}):null]})]})}function ct({run:e,actions:t}){let n=t.confirming;return(0,J.jsx)(Be,{open:n!==null,onOpenChange:e=>!e&&t.setConfirming(null),children:(0,J.jsxs)(Fe,{children:[(0,J.jsxs)(ze,{children:[(0,J.jsx)(V,{children:n===`delete`?`Delete this task?`:`Cancel this task?`}),(0,J.jsx)(Pe,{children:n===`delete`?(0,J.jsxs)(J.Fragment,{children:[`This removes the run, its transcript, its worktree and its branch. There is no undo.`,(0,J.jsx)(`span`,{className:`mt-1 block truncate font-medium text-foreground`,title:b(e),children:b(e)})]}):`The agent is stopped and the run completes as cancelled. The worktree stays.`})]}),(0,J.jsxs)(Le,{children:[(0,J.jsx)(Re,{children:`Keep it`}),(0,J.jsx)(Ie,{className:`bg-danger text-danger-foreground hover:brightness-[0.96]`,onClick:()=>{n===`delete`?t.delete.mutate():t.cancel.mutate(),t.setConfirming(null)},children:n===`delete`?`Delete`:`Cancel the run`})]})]})})}function lt({hint:e}){return(0,J.jsxs)(`button`,{type:`button`,"data-slot":`resume-hint`,title:`Copy the command`,onClick:()=>void $(e,`Command copied to clipboard.`),className:`mb-2 flex w-full min-w-0 items-center gap-1.5 rounded-sm px-1 py-0.5 text-left font-mono text-[11px] text-soft-foreground hover:bg-muted hover:text-foreground`,children:[(0,J.jsx)(R,{className:`size-3 shrink-0`,"aria-hidden":`true`}),(0,J.jsxs)(`span`,{className:`truncate`,children:[`take over interactively: `,e]})]})}function ut({runId:e}){let t=i(e);return(0,J.jsx)(`div`,{"data-slot":`notes-panel`,className:`mb-3 max-h-72 overflow-y-auto rounded-md border border-border bg-card px-4 py-3`,children:t.isPending?(0,J.jsx)(`p`,{className:`text-xs text-soft-foreground`,children:`Loading notes…`}):t.isError?(0,J.jsx)(`p`,{className:`text-xs text-danger`,children:t.error.message}):t.data.trim().length>0?(0,J.jsx)(qe,{children:t.data}):(0,J.jsx)(`p`,{className:`text-xs text-soft-foreground`,children:`No notes yet — the handoff file is seeded when the task starts.`})})}export{W as i,Q as n,q as r,et as t};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{$n as r,A as i,B as a,Br as o,Cn as s,Hr as c,It as l,Jr as u,Kr as d,M as f,Mt as p,Nt as m,On as h,Pn as g,Qn as _,Rn as v,Rr as y,Ur as b,W as x,Wr as S,Xr as C,Zr as w,a as T,an as E,at as D,i as O,in as ee,jr as te,k,n as A,ot as ne,t as re,tt as ie,wt as ae,yt as oe}from"./centered-state-duPW0phQ.js";import{a as j,c as M,n as se,r as N,t as P}from"./utils-DiO6zyJd.js";import{O as F,S as ce,T as le,c as ue,d as de,g as fe,o as I,p as pe}from"./editable-title-B-hjp5wl.js";import{t as me}from"./arrow-down-Dy8dup7j.js";import{c as he,i as ge,l as _e,n as ve,o as ye,s as be,t as xe}from"./thread-loading-CypW73KD.js";import{C as Se,_ as Ce,a as we,c as Te,o as Ee}from"./new-task-form-BdJKRBJX.js";import{t as L}from"./chevron-right-Be4A5TCS.js";import{i as De,n as Oe,r as ke,t as Ae}from"./run-header-BkhrseLJ.js";import{b as je,y as Me}from"./dropdown-menu-B3SYw-k5.js";import{n as Ne,t as Pe}from"./trash-2-CJq6LHWn.js";import{C as Fe,S as Ie,c as Le,d as Re,f as ze,s as Be}from"./prompt-templates-B6m16gq-.js";import{t as Ve}from"./search-x-BqDMB2g8.js";import{t as He}from"./square-terminal-Cc7CuQxc.js";import{t as Ue}from"./textarea-BOVbfy5C.js";import{n as R,r as z,t as B}from"./collapsible-DdcNBdSk.js";import{t as We}from"./use-submit-shortcut-CHVFevty.js";import{t as V}from"./project-router-DxgFZY1l.js";import{s as H}from"./pill-BQfmfpYp.js";import{t as U}from"./markdown-DqBKYPiB.js";import{t as Ge}from"./lib-BQXq3kEf.js";import{t as Ke}from"./zoomable-image-COWqb11v.js";import{t as qe}from"./run-diff-DsmmDVfx.js";var Je=120;function W(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function G(e){let t=e.replace(/\s+/g,` `).trim();return t.length>Je?`${t.slice(0,Je-1)}…`:t}function K(e,...t){if(W(e))for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim()!==``)return G(t)}}function Ye(e){if(!W(e))return;let t=e.command;if(typeof t==`string`&&t.trim()!==``)return G(t);if(Array.isArray(t)){let e=t.filter(e=>typeof e==`string`);if(e.length>0)return G(e.join(` `))}}function Xe(e){if(!W(e)||!Array.isArray(e.changes))return[];let t=[];for(let n of e.changes)W(n)&&typeof n.path==`string`&&n.path.trim()!==``&&t.push(n.path);return t}function Ze(e){return K(e,`description`,`query`,`url`,`filePath`,`file_path`,`path`,`pattern`,`name`)}function q(e,t){return t?`${e} ${t}`:e}function Qe(e,t){let n=typeof e==`string`?e.toLowerCase():``;switch(n){case`bash`:case`commandexecution`:return{toolKind:`execute`,title:q(`Ran`,Ye(t)),subtitle:K(t,`description`)};case`edit`:case`multiedit`:return{toolKind:`edit`,title:q(`Edit`,K(t,`file_path`,`filePath`,`path`))};case`write`:return{toolKind:`edit`,title:q(`Write`,K(t,`file_path`,`filePath`,`path`))};case`notebookedit`:return{toolKind:`edit`,title:q(`Edit`,K(t,`notebook_path`,`notebookPath`,`file_path`,`filePath`,`path`))};case`filechange`:{let e=Xe(t);return{toolKind:`edit`,title:q(`Edit`,e.length===1?e[0]:e.length>1?`${e.length} files`:void 0)}}case`read`:return{toolKind:`read`,title:q(`Read`,K(t,`file_path`,`filePath`,`path`))};case`imageview`:return{toolKind:`read`,title:q(`View image`,K(t,`path`))};case`glob`:case`grep`:return{toolKind:`search`,title:q(`Search`,K(t,`pattern`,`query`)),subtitle:K(t,`path`)};case`webfetch`:return{toolKind:`fetch`,title:q(`Fetch`,K(t,`url`))};case`websearch`:return{toolKind:`fetch`,title:q(`Web search`,K(t,`query`))};case`task`:case`agent`:{let e=n===`agent`?`Agent`:`Task`,r=K(t,`subagent_type`,`subagentType`),i=K(t,`description`,`prompt`)??r;return{toolKind:`task`,title:i?`${e}: ${i}`:e,subtitle:i===r?void 0:r}}case`skill`:{let e=K(t,`skill`,`name`,`command`);return{toolKind:`task`,title:e?`Skill: ${e}`:`Skill`,subtitle:K(t,`args`,`description`)}}case`todowrite`:case`todolist`:case`plan`:case`taskcreate`:case`taskupdate`:case`tasklist`:return{toolKind:`plan`,title:`Update plan`};case`contextcompaction`:return{toolKind:`other`,title:`Compacted context`};case`mcptoolcall`:{let e=K(t,`server`),n=K(t,`tool`);return e&&n?{toolKind:`other`,title:`${e}.${n}`}:{toolKind:`other`,title:`MCP tool`,subtitle:Ze(t)}}}if(n.startsWith(`mcp__`)){let t=e.split(`__`).filter(e=>e!==``);if(t.length>=3)return{toolKind:`other`,title:`${t[1]}.${t.slice(2).join(`__`)}`}}return{toolKind:`other`,title:typeof e==`string`&&e.trim()!==``?G(e):`Tool`,subtitle:Ze(t)}}var $e=class extends u{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(e,t){let{state:n}=e,r=super.createResult(e,t),{isFetching:i,isRefetching:a,isError:o,isRefetchError:s}=r,c=n.fetchMeta?.fetchMore?.direction,l=o&&c===`forward`,u=i&&c===`forward`,d=o&&c===`backward`,f=i&&c===`backward`;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:C(t,n.data),hasPreviousPage:w(t,n.data),isFetchNextPageError:l,isFetchingNextPage:u,isFetchPreviousPageError:d,isFetchingPreviousPage:f,isRefetchError:s&&!l&&!d,isRefetching:a&&!u&&!f}}};function et(e,t){return S(e,$e,t)}var tt=N(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),nt=N(`corner-up-left`,[[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`,key:`1nkjon`}],[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}]]),rt=N(`folder-input`,[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`,key:`fm4g5t`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m9 16 3-3-3-3`,key:`6m91ic`}]]),it=N(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),at=N(`message-square-text`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]),ot=N(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),st=N(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),J=e(t(),1),ct=[`run-event`,`ui-event`];function lt(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 ut(e,t={}){let[n,r]=(0,J.useState)([]),{cursor:i,afterSeq:a=0,maxEvents:o,compactAt:s,onCompact:c}=t;return(0,J.useEffect)(()=>{if(r([]),!e)return;let t=globalThis.EventSource;if(typeof t!=`function`)return;let n=a,l=null,u,d=!1,f=!1,p=Date.now(),m,h=e=>{p=Date.now();let t=lt(e.data);!t||!(t.seq>n)||(n=t.seq,r(e=>{let n=[...e,t];return!f&&s!==void 0&&n.length>=s&&(f=!0,queueMicrotask(()=>{d||c?.()})),o===void 0||n.length<=o?n:n.slice(-o)}))},g=()=>{p=Date.now()},_=()=>{d||u!==void 0||(u=setTimeout(()=>{u=void 0,d||v()},1500))},v=()=>{l?.close(),p=Date.now();let r=new URLSearchParams;i!==void 0&&r.set(`cursor`,i),(i!==void 0||a>0)&&r.set(`afterSeq`,String(n));let o=r.size>0?`?${r.toString()}`:``;l=new t(j(`/runs/${encodeURIComponent(e)}/events${o}`),{withCredentials:!0});for(let e of ct)l.addEventListener(e,h);l.addEventListener(`ping`,g),l.addEventListener(`error`,()=>{l?.readyState===2&&_()})},y=()=>{document.visibilityState===`visible`&&(!l||l.readyState===2)&&(clearTimeout(u),u=void 0,v())},b=()=>{clearTimeout(u),u=void 0,l?.close()},x=e=>{e.persisted&&v()};return m=setInterval(()=>{d||document.visibilityState!==`visible`||Date.now()-p<=4e4||(clearTimeout(u),u=void 0,v())},1e4),document.addEventListener(`visibilitychange`,y),window.addEventListener(`pagehide`,b),window.addEventListener(`pageshow`,x),v(),()=>{d=!0,clearTimeout(u),clearInterval(m),document.removeEventListener(`visibilitychange`,y),window.removeEventListener(`pagehide`,b),window.removeEventListener(`pageshow`,x),l?.close()}},[e,i,a,o,s,c]),n}var dt=5,ft=200,pt=5e3;function mt(...e){let t=new Map;for(let n of e)for(let e of n)t.set(e.seq,e);return[...t.values()].sort((e,t)=>e.seq-t.seq)}function ht(e){let t=M(),n=d(),i=[`run-history`,t,e],a=[`run-history-context`,t,e],o=et({queryKey:i,enabled:e!==void 0,initialPageParam:void 0,queryFn:({pageParam:t,signal:n})=>_(e,t,{signal:n}),getPreviousPageParam:e=>e.olderCursor,getNextPageParam:e=>e.newerCursor,maxPages:dt,retry:1}),s=b({queryKey:a,enabled:e!==void 0,queryFn:({signal:t})=>r(e,{signal:t}),retry:1}),c=o.isError||s.isError,l=ut(c?e:void 0),u=o.data?.pages??[],f=u.reduce((e,t)=>t.newerCursor===void 0?t:e??t,void 0),p=(0,J.useRef)(!1),m=(0,J.useCallback)(()=>{e===void 0||p.current||(p.current=!0,_(e,void 0).then(r=>{n.setQueryData([`run-history`,t,e],e=>{if(!e)return{pages:[r],pageParams:[void 0]};let t=[...e.pages],n=[...e.pageParams],i=-1;for(let e=0;e<t.length;e+=1)(i===-1||t[e].asOfSeq>t[i].asOfSeq)&&(i=e);for(i>=0&&t[i].newerCursor===void 0?(t[i]=r,n[i]=void 0):(t.push(r),n.push(void 0));t.length>dt;)t.shift(),n.shift();return{pages:t,pageParams:n}})}).catch(()=>{}).finally(()=>{p.current=!1}))},[n,e,t]),h=ut(!c&&f?e:void 0,{cursor:f?.liveCursor,afterSeq:f?.asOfSeq,maxEvents:pt,compactAt:ft,onCompact:m}),g=(0,J.useMemo)(()=>mt(...u.map(e=>e.events)),[u]),v=(0,J.useMemo)(()=>c?l:mt(g,h),[c,l,g,h]),y=(0,J.useMemo)(()=>{if(c)return l;let e=s.data?.contextEvents??[],t=s.data?.asOfSeq??0;return mt(e,v.filter(({seq:e})=>e>t))},[s.data,c,l,v]),x=(0,J.useCallback)(async()=>{await o.fetchPreviousPage()},[o.fetchPreviousPage]),S=(0,J.useCallback)(async()=>{await n.resetQueries({queryKey:i,exact:!0})},[i,n]);return{visibleEvents:v,currentEvents:y,isPending:!c&&o.isPending,contextPending:!c&&s.isPending,fallback:c,hasOlder:!c&&!!o.hasPreviousPage,isFetchingOlder:o.isFetchingPreviousPage,olderError:o.isFetchPreviousPageError?o.error instanceof Error?o.error.message:`Could not load earlier items`:void 0,loadOlder:x,jumpToLatest:S,retainedPages:u.length}}var Y=n();function gt({run:e}){let t=d(),n=c({mutationFn:()=>h(e.id),onSuccess:()=>{t.invalidateQueries({queryKey:f.runs.detail(e.id)}),t.invalidateQueries({queryKey:f.runs.list()}),O(`This task will not resume itself`)},onError:e=>O(e.message,{tone:`danger`})});if(e.status!==`failed`||!e.autoResumeAt)return null;let r=new Date(e.autoResumeAt);if(!Number.isFinite(r.getTime()))return null;let i=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`long`}).format(r);return(0,Y.jsxs)(`div`,{"data-slot":`auto-resume-hint`,role:`status`,className:`flex flex-wrap items-center gap-x-2 gap-y-1 px-1 text-xs text-muted-foreground`,children:[(0,Y.jsx)(H,{tone:`pending`,pulse:!0}),(0,Y.jsxs)(`span`,{children:[`Usage limit reached — this task resumes automatically at`,` `,(0,Y.jsx)(`time`,{dateTime:e.autoResumeAt,className:`font-medium text-foreground`,children:i})]}),(0,Y.jsx)(`button`,{type:`button`,"data-action":`auto-resume-cancel`,disabled:n.isPending,onClick:()=>n.mutate(),className:`font-medium text-foreground underline decoration-border underline-offset-2 hover:decoration-foreground disabled:opacity-50`,children:`Don’t resume`}),(0,Y.jsx)(te,{to:`/settings/global/resources`,"data-slot":`auto-resume-settings-link`,className:`font-medium text-foreground underline decoration-border underline-offset-2 hover:decoration-foreground`,children:`Auto-resume settings`})]})}var _t=e=>e.kind===`tool`,vt=e=>(e.toolKind===`read`||e.toolKind===`search`)&&e.status===`completed`,yt=(e,t,n)=>`${e} ${e===1?t:n}`;function bt(e,t){let n=[];return e>0&&n.push(yt(e,`file`,`files`)),t>0&&n.push(yt(t,`search`,`searches`)),`Explored ${n.join(` · `)}`}function xt(e){return`${e} earlier tool call${e===1?``:`s`}`}var St=[`Web search`,`Ran`,`Edit`,`Write`,`Read`,`Search`,`Fetch`,`Task:`];function Ct(e){for(let t of St)if(e.startsWith(`${t} `)&&e.length>t.length+1)return{verb:t===`Task:`?`Task`:t,detail:e.slice(t.length+1)};return{verb:e}}function wt(e){let t=e.filter(e=>!(e.kind===`tool`&&e.toolKind===`plan`)&&!(e.kind===`reasoning`&&e.text.trim()===``)),n=new Set(t.filter(_t).map(e=>e.id)),r=new Map,i=[];for(let e of t){let t=(e.kind===`message`||e.kind===`reasoning`||e.kind===`tool`)&&e.parentItemId!==void 0&&e.parentItemId!==e.id&&n.has(e.parentItemId)?e.parentItemId:void 0;if(t===void 0)i.push(e);else{let n=r.get(t);n?n.push(e):r.set(t,[e])}}let a=[],o=[],s=()=>{if(o.length>=2){let e=o.filter(e=>e.toolKind===`read`).length;a.push({kind:`context-group`,id:`group:${o[0].id}`,tools:o,files:e,searches:o.length-e,label:bt(e,o.length-e)})}else for(let e of o)a.push({kind:`tool-card`,id:e.id,item:e,children:r.get(e.id)??[]});o=[]};for(let e of i)_t(e)&&vt(e)&&!r.has(e.id)?o.push(e):(s(),_t(e)?a.push({kind:`tool-card`,id:e.id,item:e,children:r.get(e.id)??[]}):a.push({kind:`entry`,id:e.id,entry:e}));s();let c=e=>e.kind===`context-group`||e.kind===`tool-card`&&e.item.status===`completed`,l=e=>e.kind===`context-group`?e.tools.length:1,u=[],d=[],f=()=>{if(d.length>3){let e=d.slice(0,d.length-3);u.push({kind:`streak`,id:`streak:${e[0].id}`,count:e.reduce((e,t)=>e+l(t),0),blocks:e}),u.push(...d.slice(d.length-3))}else u.push(...d);d=[]};for(let e of a)c(e)?d.push(e):(f(),u.push(e));return f(),u}var Tt=new Map,Et=(0,J.createContext)(null);function Dt(){return(0,J.useContext)(Et)}function Ot({runId:e,children:t}){let n=(0,J.useMemo)(()=>({get:t=>Tt.get(e)?.get(t),set:(t,n)=>{let r=Tt.get(e)??new Map;r.set(t,n),Tt.set(e,r)}}),[e]);return(0,Y.jsx)(Et.Provider,{value:n,children:t})}function X(e){return e.scrollTop<Math.max(600,e.clientHeight)}function kt(e,t){let n=t.find(({bottom:t})=>t>e);return n===void 0?void 0:{key:n.key,offset:n.top-e}}function At(e,t,n,r,i){if(n===void 0)return i;let a=r.find(({key:e})=>e===n.key);return a===void 0?i:e+(a.top-t-n.offset)}function jt(e,t=24){return e.scrollHeight-e.scrollTop-e.clientHeight<t}function Mt(e,t){let n=new URLSearchParams(e).get(`thread`);return n===`flat`||n===`virtual`?n:t>300?`virtual`:`flat`}var Nt=new Map;function Pt(e,t){Nt.set(e,t)}function Ft(e){return Nt.get(e)}var It=new Map;function Lt(e,t){It.set(e,t)}function Rt(e,t){let n=It.get(e);return n!==void 0&&n.rows===t?n.cache:void 0}function zt({text:e,imageCount:t=0,images:n=[],onEdit:r,onRemove:i,editLabel:a=`Edit message`,removeLabel:o=`Remove message`}){let s=t-n.length,[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(e),[f,p]=(0,J.useState)(!1),[m,h]=(0,J.useState)(),g=()=>{d(e),h(void 0),l(!0)},_=async()=>{let t=u.trim();if(!t||t===e){l(!1);return}p(!0),h(void 0);try{await r?.(t),l(!1)}catch(e){h(e instanceof Error?e.message:`Could not save the message`)}finally{p(!1)}},v=async()=>{p(!0),h(void 0);try{await i?.()}catch(e){h(e instanceof Error?e.message:`Could not remove the message`)}finally{p(!1)}};return c?(0,Y.jsxs)(`div`,{"data-slot":`user-bubble`,"data-editing":`true`,className:`max-w-[78%] self-end rounded-2xl rounded-br-md bg-muted px-[15px] py-2.5 text-[13.5px] leading-[1.55] md:max-w-[70%]`,children:[(0,Y.jsx)(`textarea`,{autoFocus:!0,"aria-label":`Edit the message`,value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Escape`?(e.stopPropagation(),l(!1)):e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),_())},className:`block max-h-[220px] min-h-[60px] w-full resize-none rounded-md bg-background px-2 py-1.5 text-[13.5px] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50`}),(0,Y.jsxs)(`span`,{className:`mt-1.5 flex justify-end gap-1.5`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:()=>l(!1),disabled:f,className:`rounded-sm px-2 py-1 text-xs font-medium text-muted-foreground hover:bg-background hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:`Cancel`}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void _(),disabled:f,className:`rounded-sm bg-primary px-2 py-1 text-xs font-semibold text-primary-foreground hover:brightness-[0.96] focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:f?(0,Y.jsx)(k,{className:`size-3.5 animate-spin`}):`Save`})]}),m?(0,Y.jsx)(`p`,{role:`alert`,className:`mt-1.5 text-xs text-danger`,children:m}):null]}):(0,Y.jsxs)(`div`,{"data-slot":`user-bubble`,className:`group max-w-[78%] min-w-0 self-end rounded-2xl rounded-br-md bg-muted px-[15px] py-2.5 text-[13.5px] leading-[1.55] md:max-w-[70%]`,children:[r||i?(0,Y.jsxs)(`span`,{"data-slot":`bubble-actions`,className:`mb-1 flex justify-end gap-0.5 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100`,children:[r?(0,Y.jsx)(`button`,{type:`button`,"aria-label":a,onClick:g,disabled:f,className:`rounded-sm p-1 text-soft-foreground hover:bg-background hover:text-foreground focus-visible:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:(0,Y.jsx)(ot,{className:`size-3.5`})}):null,i?(0,Y.jsx)(`button`,{type:`button`,"aria-label":o,onClick:()=>void v(),disabled:f,className:`rounded-sm p-1 text-soft-foreground hover:bg-background hover:text-danger focus-visible:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:(0,Y.jsx)(Pe,{className:`size-3.5`})}):null]}):null,m?(0,Y.jsx)(`p`,{role:`alert`,className:`mb-1 text-xs text-danger`,children:m}):null,(0,Y.jsx)(U,{breaks:!0,children:e}),n.length>0?(0,Y.jsx)(`span`,{"data-slot":`user-images`,className:`mt-2 flex flex-wrap justify-end gap-1.5`,children:n.map(e=>(0,Y.jsx)(Ke,{src:e,alt:`attached`,className:`max-h-40 max-w-[220px] rounded-md border border-border object-contain`},e))}):null,s>0?(0,Y.jsxs)(`span`,{className:`mt-1 block text-xs text-soft-foreground`,children:[s,` image`,s>1?`s`:``,` attached`]}):null]})}function Bt({text:e}){return(0,Y.jsx)(`div`,{"data-slot":`assistant-message`,className:`min-w-0 text-[15px] leading-[1.65]`,children:(0,Y.jsx)(U,{children:e})})}function Vt({note:e}){return(0,Y.jsxs)(`div`,{"data-slot":`note-line`,"data-tone":e.tone,className:P(`px-0.5 text-xs`,e.tone===`danger`?`text-danger`:`text-soft-foreground`),children:[e.tone===`danger`?`✗ `:`· `,e.text]})}var Ht={claude:`Claude Code`,codex:`Codex`,opencode:`OpenCode`,pi:`pi`};function Ut({incident:e}){let t=Ht[e.provider];return(0,Y.jsxs)(`div`,{role:`alert`,"data-slot":`provider-auth-required`,className:`rounded-md border border-danger/30 bg-danger/5 px-3.5 py-3`,children:[(0,Y.jsxs)(`p`,{className:`text-[13px] font-semibold text-foreground`,children:[`This run needed `,t,` authorization`]}),(0,Y.jsxs)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[`Review `,t,` settings before retrying.`]}),(0,Y.jsx)(V,{to:`/settings/agents#providers`,className:`mt-2 inline-flex text-xs font-medium text-foreground underline-offset-2 hover:underline`,children:`Open provider settings`})]})}function Wt({text:e}){let t=(0,J.useId)();if(e.trim()===``)return null;let n=e.split(`
|
|
2
|
-
`,1)[0]??``,r=n.length<e.length;return(0,Y.jsxs)(B,{"data-slot":`reasoning`,className:`group/reasoning min-w-0`,children:[(0,Y.jsxs)(`div`,{id:t,className:`relative flex w-full items-center gap-1.5 rounded-md p-0.5 text-left text-[13px] text-soft-foreground hover:text-muted-foreground`,children:[(0,Y.jsx)(L,{"aria-hidden":!0,className:`size-3.5 shrink-0 transition-transform group-data-[state=open]/reasoning:rotate-90`}),(0,Y.jsx)(`span`,{className:`shrink-0`,children:`Thinking — `}),(0,Y.jsx)(`div`,{className:`min-w-0 truncate text-muted-foreground`,children:(0,Y.jsx)(U,{inline:!0,children:n})}),r?(0,Y.jsx)(`span`,{"aria-hidden":!0,children:`…`}):null,(0,Y.jsx)(z,{"aria-labelledby":t,className:`absolute inset-0 rounded-md focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`})]}),(0,Y.jsx)(R,{children:(0,Y.jsx)(`div`,{className:`px-6 py-1.5 text-[13px] leading-[1.6] text-soft-foreground`,children:(0,Y.jsx)(U,{children:e})})})]})}function Gt(){return(0,Y.jsxs)(`div`,{"data-slot":`working-indicator`,className:`flex items-center gap-2 py-1 text-[13px] text-soft-foreground`,children:[(0,Y.jsx)(k,{role:`status`,"aria-label":`Working`,className:`size-3.5 shrink-0 animate-spin`}),(0,Y.jsx)(`span`,{className:`shimmer font-medium`,children:`Working…`})]})}var Kt={read:De,edit:ot,delete:Pe,move:rt,search:Ie,execute:He,think:tt,fetch:le,task:F,plan:it,other:st},qt=e=>e.split(`
|
|
3
|
-
`).length;function Jt({text:e,streaming:t}){let[n,r]=(0,J.useState)(!1),i=(0,J.useRef)(null),a=(0,J.useRef)(!0);(0,J.useEffect)(()=>{let e=i.current;t&&e&&a.current&&(e.scrollTop=e.scrollHeight)},[e,t]);let o=qt(e),s=!t&&!n&&o>12;return(0,Y.jsxs)(`div`,{"data-slot":`tool-output`,"data-clamped":s?`true`:void 0,children:[(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(`div`,{ref:i,onScroll:t?e=>{a.current=jt(e.currentTarget)}:void 0,className:P(`overflow-x-auto`,t&&`max-h-[216px] overflow-y-auto`,s&&`max-h-[216px] overflow-y-hidden`),children:(0,Y.jsx)(`pre`,{className:`px-4 py-3 font-mono text-xs leading-[1.7] whitespace-pre text-muted-foreground`,children:e})}),s?(0,Y.jsx)(`div`,{"data-slot":`tool-output-fade`,"aria-hidden":!0,className:`pointer-events-none absolute inset-x-0 bottom-0 h-14 bg-gradient-to-b from-transparent to-card-2`}):null]}),!t&&o>12?(0,Y.jsx)(`button`,{type:`button`,"data-slot":`tool-output-toggle`,onClick:()=>r(e=>!e),className:`block w-full border-t border-border/50 px-4 py-1.5 text-left text-[11px] font-medium text-soft-foreground hover:text-foreground`,children:n?`Show less`:`Show all ${o} lines`}):null]})}function Yt({diffs:e}){return(0,Y.jsx)(Y.Fragment,{children:e.map((e,t)=>(0,Y.jsxs)(`div`,{"data-slot":`diff-preview`,className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`border-b border-border/50 px-4 py-1.5 font-mono text-[11px] text-soft-foreground`,children:e.path}),(0,Y.jsx)(`pre`,{className:`overflow-x-auto py-2 font-mono text-xs leading-[1.7] whitespace-pre`,children:e.unified===void 0?[...Xt(e.oldText).map((e,t)=>(0,Y.jsxs)(`span`,{className:`block bg-diff-del px-4 text-muted-foreground`,children:[`- `,e]},`old-${t}`)),...Xt(e.newText).map((e,t)=>(0,Y.jsxs)(`span`,{className:`block bg-diff-add px-4`,children:[`+ `,e]},`new-${t}`))]:e.unified.split(`
|
|
4
|
-
`).map((e,t)=>(0,Y.jsx)(Zt,{text:e},t))})]},`${e.path}:${t}`))})}function Xt(e){return e==null||e===``?[]:e.replace(/\n$/,``).split(`
|
|
5
|
-
`)}function Zt({text:e}){return(0,Y.jsx)(`span`,{className:P(`block px-4`,e.startsWith(`+`)&&`bg-diff-add`,e.startsWith(`-`)&&`bg-diff-del text-muted-foreground`,e.startsWith(`@@`)&&`text-soft-foreground`),children:e})}function Qt(e){return e.toolKind===`execute`&&e.status===`running`&&e.output!==void 0}function $t({item:e,nested:t=[],cacheKey:n,renderNested:r}){let i=Dt(),[a,o]=(0,J.useState)(()=>n===void 0?null:i?.get(n)??null),s=e=>{n!==void 0&&i?.set(n,e),o(e)},c=e.status===`running`||e.status===`pending`,l=e.output!==void 0&&e.output!==``||e.error!==void 0&&e.error!==``||e.diffs!==void 0&&e.diffs.length>0||t.length>0,u=l&&(a??Qt(e)),{verb:d,detail:f}=Ct(e.title),p=Kt[e.toolKind]??st;return(0,Y.jsxs)(B,{"data-slot":`tool-card`,"data-status":e.status,"data-kind":e.toolKind,open:u,onOpenChange:s,className:P(`min-w-0 overflow-hidden rounded-md border bg-card`,e.status===`failed`?`border-danger/25`:`border-border`),children:[(0,Y.jsxs)(z,{disabled:!l,className:`group flex min-h-[28px] w-full items-center gap-1.5 px-2.5 py-0.5 text-left text-[13px] enabled:hover:bg-muted`,children:[(0,Y.jsx)(L,{"aria-hidden":!0,className:P(`size-3 shrink-0 text-soft-foreground transition-transform group-data-[state=open]:rotate-90`,!l&&`invisible`)}),(0,Y.jsx)(p,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,Y.jsx)(`span`,{className:P(`shrink-0 font-semibold`,c&&`shimmer`,e.status===`declined`&&`text-muted-foreground`),children:d}),f===void 0?null:(0,Y.jsx)(`code`,{className:`min-w-0 truncate font-mono text-xs text-muted-foreground`,children:f}),(0,Y.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-2 pl-2`,children:[c?(0,Y.jsx)(k,{role:`status`,"aria-label":`Running`,className:`size-3.5 animate-spin text-soft-foreground`}):null,e.status===`failed`?(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`failed`}):null,e.status===`declined`?(0,Y.jsx)(`span`,{className:`text-xs text-soft-foreground`,children:`declined`}):null,e.toolKind===`execute`&&typeof e.exitCode==`number`?(0,Y.jsx)(`span`,{"data-slot":`tool-exit`,className:P(`rounded-full px-2 py-px font-mono text-[10.5px] font-semibold`,e.exitCode===0?`bg-success/10 text-success`:`bg-danger/10 text-danger`),children:e.exitCode}):null]})]}),(0,Y.jsx)(R,{children:(0,Y.jsxs)(`div`,{className:`border-t border-border bg-card-2`,children:[e.error!==void 0&&e.error!==``?(0,Y.jsx)(`div`,{"data-slot":`tool-error`,className:`px-4 py-3 font-mono text-xs leading-[1.7] whitespace-pre-wrap text-danger`,children:e.error}):null,e.diffs!==void 0&&e.diffs.length>0?(0,Y.jsx)(Yt,{diffs:e.diffs}):null,e.output!==void 0&&e.output!==``?(0,Y.jsx)(Jt,{text:e.output,streaming:c}):null,t.length>0?(0,Y.jsx)(`div`,{"data-slot":`tool-nested`,className:`flex flex-col gap-2 border-l-2 border-border py-2.5 pr-3 pl-3 ml-4 my-2`,children:r?.(t,n??e.id)}):null]})})]})}function en({group:e,scope:t}){return(0,Y.jsxs)(B,{"data-slot":`ctx-group`,className:`min-w-0`,children:[(0,Y.jsxs)(z,{className:`group flex h-[34px] w-full items-center gap-2 rounded-md px-2 -mx-2 text-left text-[13px] font-medium text-muted-foreground hover:bg-muted hover:text-foreground`,children:[(0,Y.jsx)(L,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-soft-foreground transition-transform group-data-[state=open]:rotate-90`}),e.label]}),(0,Y.jsx)(R,{children:(0,Y.jsx)(`div`,{className:`flex flex-col gap-1.5 pt-1.5 pl-4`,children:e.tools.map(e=>(0,Y.jsx)($t,{item:e,cacheKey:t===void 0?void 0:`${t}:${e.id}`},e.id))})})]})}function tn({count:e,children:t}){return(0,Y.jsxs)(B,{"data-slot":`tool-streak`,className:`min-w-0`,children:[(0,Y.jsxs)(z,{className:`group flex items-center gap-1.5 rounded-md p-0.5 text-left text-xs text-soft-foreground hover:text-muted-foreground`,children:[(0,Y.jsx)(L,{"aria-hidden":!0,className:`size-3.5 shrink-0 transition-transform group-data-[state=open]:rotate-90`}),xt(e)]}),(0,Y.jsx)(R,{children:(0,Y.jsx)(`div`,{className:`flex flex-col gap-2 pt-2`,children:t})})]})}function nn({image:e}){return(0,Y.jsx)(Ke,{"data-slot":`thread-image`,src:e.url,alt:e.name??`image from the agent session`,className:`max-h-72 max-w-full self-start rounded-lg border border-border`})}function rn(e){let t=d(),n=pe(e).continueRun,r=a(),[i,o]=(0,J.useState)(null),[s,l]=(0,J.useState)(null),[u,m]=(0,J.useState)(null),h=ke(e,i),{runners:_,canContinue:v,currentRunner:y,runner:b}=h,x=p(b,n),S=r.data?.modelsLocked===!0,C=b!==y,w=!S&&!C&&e.model?{...r.data?.defaultModels,[b]:e.model}:r.data?.defaultModels,T=S?null:s,E=Ee(b,x.data,[T,w?.[b]]),D=Te(T,b,w,x.data),{accounts:O,repoAccount:ee}=ze(),te=[...e.steps].reverse().find(e=>e.profileId)?.profileId??e.agentProfile??`default`,k=C?ee:{...ee,[y]:te},A=O.some(e=>e.provider===b&&e.id===u)?u:null,ne=c({mutationFn:({text:t,images:n})=>v?g(e.id,{text:t.trim()?t:void 0,images:n.length?n:void 0,runner:h.runnerOverride,model:!S&&s!==null?D:void 0,agentProfile:A??void 0}):Promise.reject(Error(h.reason??`Connect an agent provider to continue.`)),onSuccess:()=>t.invalidateQueries({queryKey:f.runs.all})});return{available:n,canContinue:v,reason:h.reason,providerPending:h.providerPending,pills:(0,Y.jsxs)(`div`,{"data-slot":`follow-up-engine`,className:`flex flex-wrap items-center gap-1.5`,children:[_.length>1||_.some(e=>Re(O,e))?(0,Y.jsx)(Le,{runners:_,value:b,accounts:O,account:A,repoAccount:k,onPick:(e,t)=>{m(t),e!==b&&(o(e),l(null))}}):null,(0,Y.jsx)(Be,{slot:`follow-up-model-pill`,ariaLabel:`Model`,label:E.find(e=>e.id===D)?.label??`auto`,value:D,readOnly:S,disabledHint:`Model selection is locked to native coding-agent settings.`,onPick:e=>l(e),options:E.map(e=>({value:e.id,label:e.label,desc:e.desc})),status:we(b,x.data,x.isError)})]}),continueWith:(e,t)=>ne.mutateAsync({text:e,images:t})}}var an=120,on=e=>e!==`pending`&&e!==`running`,sn=e=>e.kind===`tool`&&e.toolKind===`task`,Z=e=>sn(e)&&e.parentItemId===void 0,cn=e=>(e.kind===`message`||e.kind===`reasoning`||e.kind===`tool`)&&!(e.kind===`tool`&&e.toolKind===`plan`);function ln(e,t){for(let n=0;n<e.length;n+=1)if(e[n].items.some(e=>Z(e)&&t.has(e.id)))return n;return 0}function un(e){let t=e.input;if(typeof t!=`object`||!t)return;let n=t;for(let e of[`subagent_type`,`subagentType`,`agent`]){let t=n[e];if(typeof t==`string`&&t.trim()!==``)return t.trim()}}function dn(e){if(e.kind===`tool`)return fn(e.title);if(e.kind===`message`||e.kind===`reasoning`){let t=e.text.split(`
|
|
6
|
-
`);for(let e=t.length-1;e>=0;--e){let n=t[e].trim();if(n!==``)return fn(n)}}}function fn(e){return e.length>an?`${e.slice(0,an-1).trimEnd()}…`:e}function pn(e,t=!1){let n=vn(e,e=>e.items.some(Z));if(n===-1)return[];let r=e=>!t&&!on(e.status),i=[];for(let t=n-1;t>=0;--t){let n=e[t].items.filter(Z);if(n.length!==0){if(!n.some(r))break;i.unshift(...n)}}let a=[...i,...e[n].items.filter(Z)];if(n!==e.length-1&&!a.some(r))return[];let o=new Set(a.map(e=>e.id)),s=i.length>0?ln(e,o):n,c=new Map;for(let t=s;t<e.length;t+=1)for(let n of e[t].items){if(!cn(n))continue;let e=n.parentItemId;if(e===void 0||!o.has(e))continue;let t=c.get(e);t?t.push(n):c.set(e,[n])}return a.map(e=>mn(e,c.get(e.id)??[],t))}function mn(e,t,n){let r={id:e.id,title:Ct(e.title).detail??e.title,status:e.status,toolCalls:t.filter(e=>e.kind===`tool`).length},i=un(e);i!==void 0&&(r.agentType=i),n&&!on(e.status)&&(r.stalled=!0);for(let e=t.length-1;e>=0;--e){let n=dn(t[e]);if(n!==void 0){r.activity=n;break}}return r}function hn(e){return{done:e.filter(e=>e.status===`completed`).length,total:e.length}}function gn(e){return e.activity??(e.stalled===!0?`never finished`:`starting…`)}function _n(e){return e.find(e=>!on(e.status))??e[0]}function vn(e,t){for(let n=e.length-1;n>=0;--n)if(t(e[n]))return n;return-1}function yn(e,t,n=!1){for(let r=e.length-1;r>=0;--r){let i=e[r].items.find(e=>e.id===t&&Z(e));if(i!==void 0)return mn(i,bn(e,t),n)}}function bn(e,t){let n=e.findIndex(e=>e.items.some(e=>e.id===t&&Z(e)));if(n===-1)return[];let r=[];for(let i=n;i<e.length;i+=1)for(let n of e[i].items)cn(n)&&n.parentItemId===t&&n.id!==t&&r.push(n);return r}var xn=new Map,Sn=!1;function Cn({runId:e,agents:t,onSelect:n}){let[r,i]=(0,J.useState)(()=>xn.get(e)??Sn);if(t.length===0)return null;let{done:a,total:o}=hn(t),s=_n(t);return(0,Y.jsxs)(`section`,{"data-slot":`agents-dock`,"data-state":r?`open`:`collapsed`,className:`min-w-0 overflow-hidden rounded-lg border border-border bg-card shadow-xs`,children:[(0,Y.jsx)(`div`,{"aria-hidden":!0,"data-slot":`grad-edge`,className:`h-[3px]`,style:{background:`var(--grad)`}}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>i(t=>(xn.set(e,!t),!t)),"aria-expanded":r,className:P(`flex w-full items-center gap-2 px-3.5 text-left text-[13px]`,r?`pt-2 pb-1.5`:`py-2`),children:[(0,Y.jsx)(F,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-soft-foreground`}),(0,Y.jsx)(`span`,{className:`shrink-0 font-semibold`,children:`Agents`}),(0,Y.jsxs)(`span`,{"data-slot":`agents-count`,className:`shrink-0 text-muted-foreground tabular-nums`,children:[`· `,a,`/`,o]}),!r&&s!==void 0?(0,Y.jsxs)(`span`,{"data-slot":`agents-current`,className:`min-w-0 truncate text-muted-foreground`,children:[`— `,gn(s)]}):null,(0,Y.jsx)(Se,{"aria-hidden":!0,className:P(`ml-auto size-3.5 shrink-0 text-soft-foreground transition-transform`,!r&&`rotate-180`)})]}),r?(0,Y.jsx)(`ul`,{"data-slot":`agents-list`,className:`flex flex-col gap-[7px] px-3.5 pb-3`,children:t.map(e=>(0,Y.jsx)(wn,{agent:e,onSelect:n},e.id))}):null]})}function wn({agent:e,onSelect:t}){let n=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Tn,{status:e.status,stalled:e.stalled===!0}),(0,Y.jsx)(`span`,{className:`min-w-0 shrink truncate font-medium`,children:e.title}),e.agentType===void 0?null:(0,Y.jsx)(`span`,{"data-slot":`agent-type`,className:`shrink-0 rounded-full bg-muted px-2 py-0.5 text-[10.5px] font-semibold tracking-[0.05em] text-muted-foreground uppercase`,children:e.agentType}),(0,Y.jsx)(`span`,{"data-slot":`agent-activity`,className:`min-w-0 flex-1 truncate text-muted-foreground`,children:gn(e)}),(0,Y.jsxs)(`span`,{"data-slot":`agent-tools`,className:`shrink-0 text-muted-foreground tabular-nums`,children:[e.toolCalls,` `,e.toolCalls===1?`tool`:`tools`]})]});return(0,Y.jsx)(`li`,{"data-slot":`agent-item`,"data-status":e.status,className:`min-w-0 text-[13px]`,children:t?(0,Y.jsx)(`button`,{type:`button`,onClick:()=>t(e.id),"aria-haspopup":`dialog`,className:`flex min-h-5 w-full min-w-0 items-center gap-2.5 rounded-sm text-left hover:bg-muted/50`,children:n}):(0,Y.jsx)(`div`,{className:`flex min-h-5 min-w-0 items-center gap-2.5`,children:n})})}function Tn({status:e,stalled:t=!1}){return t?(0,Y.jsx)(`svg`,{"aria-hidden":!0,"data-slot":`agent-glyph`,"data-stalled":`true`,className:`size-[15px] shrink-0 text-soft-foreground`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:`3 2.5`,children:(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`})}):e===`completed`?(0,Y.jsxs)(`svg`,{"aria-hidden":!0,"data-slot":`agent-glyph`,className:`size-[15px] shrink-0 text-success`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`.35`}),(0,Y.jsx)(`path`,{d:`m8.5 12.2 2.4 2.4 4.6-5`})]}):e===`failed`||e===`declined`?(0,Y.jsxs)(`svg`,{"aria-hidden":!0,"data-slot":`agent-glyph`,className:`size-[15px] shrink-0 text-danger`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,children:[(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`.35`}),(0,Y.jsx)(`path`,{d:`m9 9 6 6M15 9l-6 6`})]}):(0,Y.jsxs)(`svg`,{"aria-hidden":!0,"data-slot":`agent-glyph`,className:`size-[15px] shrink-0 animate-pulse motion-reduce:animate-none`,viewBox:`0 0 24 24`,fill:`none`,children:[(0,Y.jsx)(`circle`,{className:`stroke-pending`,cx:`12`,cy:`12`,r:`8.5`,strokeWidth:`2`}),(0,Y.jsx)(`path`,{className:`fill-pending`,d:`M12 3.5 A8.5 8.5 0 0 1 12 20.5 Z`})]})}var En=new Map;function Dn(){return typeof window.matchMedia!=`function`||window.matchMedia(`(min-width: 768px)`).matches}function On(e){return{done:e.filter(e=>e.status===`completed`).length,total:e.filter(e=>e.status!==`cancelled`).length}}function kn(e){return e.find(e=>e.status===`in_progress`)??e.find(e=>e.status===`pending`)}function An({runId:e,entries:t}){let[n,r]=(0,J.useState)(()=>En.get(e)??Dn());if(t.length===0)return null;let{done:i,total:a}=On(t),o=kn(t);return(0,Y.jsxs)(`section`,{"data-slot":`plan-dock`,"data-state":n?`open`:`collapsed`,className:`min-w-0 overflow-hidden rounded-lg border border-border bg-card shadow-xs`,children:[(0,Y.jsx)(`div`,{"aria-hidden":!0,"data-slot":`grad-edge`,className:`h-[3px]`,style:{background:`var(--grad)`}}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>r(t=>(En.set(e,!t),!t)),"aria-expanded":n,className:P(`flex w-full items-center gap-2 px-3.5 text-left text-[13px]`,n?`pt-2 pb-1.5`:`py-2`),children:[(0,Y.jsx)(`span`,{className:`shrink-0 font-semibold`,children:`Plan`}),(0,Y.jsxs)(`span`,{"data-slot":`plan-count`,className:`shrink-0 text-muted-foreground tabular-nums`,children:[`· `,i,`/`,a]}),!n&&o!==void 0?(0,Y.jsxs)(`span`,{"data-slot":`plan-current`,className:`min-w-0 truncate text-muted-foreground`,children:[`— `,o.activeForm??o.content]}):null,(0,Y.jsx)(Se,{"aria-hidden":!0,className:P(`ml-auto size-3.5 shrink-0 text-soft-foreground transition-transform`,!n&&`rotate-180`)})]}),n?(0,Y.jsx)(`ul`,{"data-slot":`plan-list`,className:`flex flex-col gap-[7px] px-3.5 pb-3`,children:t.map((e,t)=>(0,Y.jsx)(jn,{entry:e},`${t}:${e.content}`))}):null]})}function jn({entry:e}){return(0,Y.jsxs)(`li`,{"data-slot":`plan-item`,"data-status":e.status,className:P(`flex min-h-5 min-w-0 items-center gap-2.5 text-[13px]`,e.status===`completed`&&`text-soft-foreground line-through`,e.status===`in_progress`&&`font-medium`,e.status===`pending`&&`text-muted-foreground`,e.status===`cancelled`&&`text-soft-foreground/70 line-through`),children:[(0,Y.jsx)(Mn,{status:e.status}),(0,Y.jsx)(`span`,{className:`min-w-0 truncate`,children:e.content}),e.status===`in_progress`?(0,Y.jsx)(`span`,{"data-slot":`plan-tag`,className:`ml-auto shrink-0 rounded-full bg-muted px-2 py-0.5 text-[10.5px] font-semibold tracking-[0.05em] text-muted-foreground uppercase`,children:`in progress`}):null]})}function Mn({status:e}){return e===`cancelled`?(0,Y.jsxs)(`svg`,{"aria-hidden":!0,className:`size-[15px] shrink-0 text-soft-foreground/70`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,children:[(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`,opacity:`.5`}),(0,Y.jsx)(`path`,{d:`m8.5 15.5 7-7`})]}):e===`completed`?(0,Y.jsxs)(`svg`,{"aria-hidden":!0,className:`size-[15px] shrink-0 text-success`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`.35`}),(0,Y.jsx)(`path`,{d:`m8.5 12.2 2.4 2.4 4.6-5`})]}):e===`in_progress`?(0,Y.jsxs)(`svg`,{"aria-hidden":!0,className:`size-[15px] shrink-0 animate-pulse motion-reduce:animate-none`,viewBox:`0 0 24 24`,fill:`none`,children:[(0,Y.jsx)(`circle`,{className:`stroke-pending`,cx:`12`,cy:`12`,r:`8.5`,strokeWidth:`2`}),(0,Y.jsx)(`path`,{className:`fill-pending`,d:`M12 3.5 A8.5 8.5 0 0 1 12 20.5 Z`})]}):(0,Y.jsx)(`svg`,{"aria-hidden":!0,className:`size-[15px] shrink-0 text-soft-foreground`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`})})}function Nn(e,t={}){let{surface:n=`document`,onLoadOlder:r,onJumpToLatest:i,rowKeys:a=[]}=t,o=(0,J.useRef)(null),[s,c]=(0,J.useState)(null),[l,u]=(0,J.useState)(!1),d=(0,J.useRef)(!0),f=(0,J.useRef)(null),p=(0,J.useRef)(null),m=(0,J.useRef)(null),h=(0,J.useCallback)(e=>{let t=o.current;if(!t)return;let n=m.current;n?n.scrollTo(e):t.scrollTop=e},[]),g=(0,J.useCallback)(()=>{let e=o.current;e&&h(e.scrollHeight-e.clientHeight)},[h]),_=(0,J.useCallback)(()=>{if(o.current){if(p.current!==e){p.current=e;let t=Ft(e);t&&!t.atBottom?(d.current=!1,f.current=t.top):(d.current=!0,f.current=null)}f.current===null?d.current&&g():h(f.current)}},[e,h,g]),v=(0,J.useCallback)(e=>{c(e),e&&(o.current=e.closest(n===`panel`?`[data-slot="transcript-viewport"]`:`[data-slot="main"]`),_())},[n,_]),y=(0,J.useCallback)(()=>{d.current&&g()},[g]),b=(0,J.useRef)(!1),x=(0,J.useRef)(!1),S=(0,J.useRef)(void 0),C=(0,J.useRef)(!1),w=(0,J.useRef)(!1),T=(0,J.useRef)(a);T.current=a;let E=(0,J.useCallback)(e=>[...e.querySelectorAll(`[data-slot="thread-row"][data-row-key]`)].map(e=>{let t=e.getBoundingClientRect();return{key:e.dataset.rowKey,top:t.top,bottom:t.bottom}}),[]),D=(0,J.useCallback)(()=>{let e=o.current;if(!e||!r||b.current)return;b.current=!0;let t=e.scrollHeight,n=e.scrollTop,i=e.getBoundingClientRect().top,a=kt(i,E(e));r().finally(()=>{requestAnimationFrame(()=>{let e=o.current;if(e){let r=n+Math.max(0,e.scrollHeight-t),i=e.getBoundingClientRect().top,o=a===void 0?-1:T.current.indexOf(a.key),s=m.current;s&&o>=0?s.scrollToIndex(o,{align:`start`,offset:-a.offset}):h(At(e.scrollTop,i,a,E(e),r))}b.current=!1})})},[E,r,h]);(0,J.useEffect)(()=>()=>clearTimeout(S.current),[]);let O=(0,J.useCallback)(()=>{o.current&&(f.current=null,d.current=!0,(i?.()??Promise.resolve()).finally(()=>{requestAnimationFrame(()=>{let e=o.current;e?.scrollTo({top:e.scrollHeight-e.clientHeight,behavior:`smooth`})})}))},[i]);return(0,J.useLayoutEffect)(()=>{!o.current||!s||_()},[s,_]),(0,J.useEffect)(()=>{let t=o.current,n=s;if(!t||!n)return;let r=0,i=null,a=!1,c=t.scrollTop,l=()=>{f.current=null,d.current=!1,r=0},p=()=>{r=Date.now()},m=e=>{if(e.deltaY<0){l();let e=!x.current;x.current=!0,clearTimeout(S.current),S.current=setTimeout(()=>{x.current=!1},180),e&&X(t)&&D()}else p()},_=e=>{[`ArrowUp`,`PageUp`,`Home`].includes(e.key)?(l(),!e.repeat&&X(t)&&D()):[`ArrowDown`,`PageDown`,`End`].includes(e.key)&&p()},v=()=>{a=!0,w.current=!1,c=t.scrollTop,jt(t,80)||(l(),p())},y=()=>{a=!1},b=e=>{C.current=!1,i=e.touches[0]?.clientY??null},T=e=>{let n=e.touches[0]?.clientY;n!==void 0&&(i!==null&&n>i+1?(l(),!C.current&&X(t)&&(C.current=!0,D())):i!==null&&n<i-1&&p(),i=n)},E=()=>{a&&!w.current&&t.scrollTop<c&&X(t)&&(w.current=!0,D()),c=t.scrollTop;let n=jt(t,80);n&&f.current===null&&(d.current||Date.now()-r<2e3)&&(d.current=!0),u(!n),f.current===null&&Pt(e,{top:t.scrollTop,atBottom:n})};t.addEventListener(`scroll`,E,{passive:!0}),t.addEventListener(`wheel`,m,{passive:!0}),t.addEventListener(`touchstart`,b,{passive:!0}),t.addEventListener(`touchmove`,T,{passive:!0}),t.addEventListener(`pointerdown`,v,{passive:!0}),window.addEventListener(`pointerup`,y,{passive:!0}),t.addEventListener(`keydown`,_);let O;return typeof ResizeObserver<`u`&&(O=new ResizeObserver(()=>{let e=f.current;if(e!==null){let n=t.scrollHeight-t.clientHeight;h(Math.min(e,n)),n>=e&&(f.current=null)}else d.current&&g()}),O.observe(n)),()=>{t.removeEventListener(`scroll`,E),t.removeEventListener(`wheel`,m),t.removeEventListener(`touchstart`,b),t.removeEventListener(`touchmove`,T),t.removeEventListener(`pointerdown`,v),window.removeEventListener(`pointerup`,y),t.removeEventListener(`keydown`,_),O?.disconnect()}},[e,s,D,h,g]),{attachContent:v,scrollElRef:o,virtualizerRef:m,pillVisible:l,jumpToLatest:O,loadOlder:D,restickIfStuck:y}}function Pn({runId:e,rows:t,mode:n,controls:r}){return n===`virtual`?(0,Y.jsx)(Fn,{runId:e,rows:t,controls:r}):(0,Y.jsx)(`div`,{ref:r.attachContent,"data-slot":`thread-rows`,"data-virtualized":`false`,children:t.map(e=>(0,Y.jsx)(`div`,{"data-slot":`thread-row`,"data-row-key":e.key,className:`flex w-full flex-col pb-2.5 [contain-intrinsic-block-size:auto_3rem] [content-visibility:auto]`,children:e.node},e.key))})}function Fn({runId:e,rows:t,controls:n}){let r=(0,J.useRef)(null),[i]=(0,J.useState)(()=>Rt(e,t.length)),a=(0,J.useRef)(t.length);a.current=t.length;let o=(0,J.useRef)(null),s=(0,J.useCallback)(t=>{n.virtualizerRef.current=t,t?o.current=t:o.current&&=(Lt(e,{rows:a.current,cache:o.current.cache}),null)},[e,n.virtualizerRef]),[c,l]=(0,J.useState)(0);return(0,J.useLayoutEffect)(()=>{let e=()=>{let e=r.current,t=n.scrollElRef.current;!e||!t||l(Math.max(0,Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top+t.scrollTop)))};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[n.scrollElRef]),(0,Y.jsx)(`div`,{ref:e=>{r.current=e,n.attachContent(e)},"data-slot":`thread-rows`,"data-virtualized":`true`,children:(0,Y.jsx)(Ge,{ref:s,scrollRef:n.scrollElRef,startMargin:c,...i===void 0?{}:{cache:i},children:t.map(e=>(0,Y.jsx)(`div`,{"data-slot":`thread-row`,"data-row-key":e.key,className:`flex w-full flex-col pb-2.5`,children:e.node},e.key))})})}function In({onJump:e}){return(0,Y.jsxs)(`button`,{type:`button`,"data-slot":`jump-to-latest`,onClick:e,className:`pointer-events-auto inline-flex min-h-8 items-center gap-1.5 rounded-full border border-border bg-background px-3.5 text-xs font-medium text-muted-foreground shadow-modal hover:text-foreground`,children:[(0,Y.jsx)(me,{"aria-hidden":!0,className:`size-3.5`}),`Jump to latest`]})}function Ln(e,t){let n=[];e.task&&n.push({id:`task`,userMessageKey:`task`,userMessage:{text:e.task,images:e.taskImages??[]},entries:[]});for(let t of e.queuedMessages??[])n.push({id:`queued:${t.id}`,userMessageKey:`queued:${t.id}`,userMessage:{text:t.text,images:t.images??[]},entries:[]});for(let e of t.turns)n.push({id:e.id,userMessageKey:`${e.id}:user`,...e.userMessage===void 0?{}:{userMessage:{text:e.userMessage.text,imageCount:e.userMessage.imageCount,images:e.userMessage.images}},entries:e.items});return n}function Rn(e,t){return[{id:`agent:${e}`,entries:t}]}function zn(e,t){let n=[];for(let t of e){t.userMessage!==void 0&&n.push({key:t.userMessageKey??`${t.id}:user`,scope:t.id,content:{kind:`user-message`,message:t.userMessage}});for(let e of wt([...t.entries]))n.push({key:`${t.id}:${e.id}`,scope:t.id,content:{kind:`block`,block:e}})}return n}function Bn({runId:e,viewId:t,sections:n,mode:r,empty:i,renderAsk:a,messageActions:o,scrollControls:s,renderMode:c}){let l=(0,J.useMemo)(()=>zn(n,e),[n,e]),u=Nn(`${e}:${t}`,{surface:r}),d=s??u,f=(0,J.useMemo)(()=>l.map(e=>({key:e.key,node:e.content.kind===`user-message`?(0,Y.jsx)(Vn,{message:e.content.message,actions:o?.[e.key]}):(0,Y.jsx)(Hn,{block:e.content.block,scope:e.scope,renderAsk:a})})),[o,a,l]),p=c??Mt(``,f.length),m=f.length===0?i??null:(0,Y.jsx)(Pn,{runId:`${e}:${t}`,rows:f,mode:p,controls:d});return(0,Y.jsx)(Ot,{runId:e,children:r===`panel`?(0,Y.jsxs)(`div`,{"data-slot":`transcript-viewport`,"aria-label":`Agent transcript`,role:`region`,tabIndex:0,className:`relative flex min-h-0 flex-1 flex-col overflow-y-auto [scrollbar-gutter:stable]`,children:[(0,Y.jsx)(`div`,{"data-slot":`subagent-stream`,className:`flex flex-col px-5 py-4`,children:m}),d.pillVisible?(0,Y.jsx)(`div`,{className:`pointer-events-none sticky inset-x-0 bottom-4 flex justify-center`,children:(0,Y.jsx)(In,{onJump:d.jumpToLatest})}):null]}):m})}function Vn({message:e,actions:t}){return(0,Y.jsx)(zt,{text:e.text,imageCount:e.imageCount,images:e.images,onEdit:t?.onEdit,onRemove:t?.onRemove,editLabel:t?.editLabel,removeLabel:t?.removeLabel})}function Hn({block:e,scope:t,renderAsk:n}){switch(e.kind){case`entry`:return(0,Y.jsx)(Wn,{entry:e.entry,scope:t,renderAsk:n});case`tool-card`:return(0,Y.jsx)($t,{item:e.item,nested:e.children,cacheKey:`${t}:${e.id}`,renderNested:(e,t)=>(0,Y.jsx)(Un,{entries:e,scope:t,renderAsk:n})});case`context-group`:return(0,Y.jsx)(en,{group:e,scope:t});case`streak`:return(0,Y.jsx)(tn,{count:e.count,children:e.blocks.map(e=>(0,Y.jsx)(Hn,{block:e,scope:t,renderAsk:n},e.id))});default:return Gn(e)}}function Un({entries:e,scope:t,renderAsk:n}){return wt([...e]).map(e=>(0,Y.jsx)(Hn,{block:e,scope:t,renderAsk:n},e.id))}function Wn({entry:e,scope:t,renderAsk:n}){switch(e.kind){case`message`:return e.role===`assistant`?(0,Y.jsx)(Bt,{text:e.text}):(0,Y.jsx)(zt,{text:e.text});case`reasoning`:return(0,Y.jsx)(Wt,{text:e.text});case`tool`:return(0,Y.jsx)($t,{item:e,cacheKey:`${t}:${e.id}`});case`note`:return(0,Y.jsx)(Vt,{note:e});case`image`:return(0,Y.jsx)(nn,{image:e});case`ask`:return n===void 0?(0,Y.jsx)(`div`,{"data-slot":`ask-card`,className:`rounded-lg border border-border bg-card px-4 py-3 text-sm`,children:`The agent asked a question. Open the main session to answer it.`}):n(e);case`provider-auth-required`:return(0,Y.jsx)(Ut,{incident:e});default:return Gn(e)}}function Gn(e){throw Error(`Unhandled transcript variant: ${JSON.stringify(e)}`)}function Kn({runId:e,renderAsk:t,agent:n,entries:r,onClose:i}){return(0,Y.jsx)(ge,{open:n!==void 0,onOpenChange:e=>{e||i()},children:(0,Y.jsx)(ye,{"data-slot":`subagent-sheet`,side:`right`,className:`flex min-h-0 w-full gap-0 p-0 sm:max-w-xl`,children:n===void 0?null:(0,Y.jsx)(qn,{runId:e,renderAsk:t,agent:n,entries:r})})})}function qn({runId:e,renderAsk:t,agent:n,entries:r}){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(he,{className:`gap-1.5 border-b border-border px-5 py-4`,children:[(0,Y.jsxs)(_e,{className:`flex min-w-0 items-center gap-2 pr-8 text-[15px]`,children:[(0,Y.jsx)(`span`,{className:`min-w-0 truncate`,children:n.title}),n.agentType===void 0?null:(0,Y.jsx)(`span`,{"data-slot":`agent-type`,className:`shrink-0 rounded-full bg-muted px-2 py-0.5 text-[10.5px] font-semibold tracking-[0.05em] text-muted-foreground uppercase`,children:n.agentType})]}),(0,Y.jsxs)(be,{"data-slot":`subagent-meta`,className:`flex items-center gap-2 text-xs`,children:[(0,Y.jsx)(Jn,{status:n.status}),(0,Y.jsxs)(`span`,{className:`tabular-nums`,children:[n.toolCalls,` `,n.toolCalls===1?`tool call`:`tool calls`]})]})]}),(0,Y.jsx)(Bn,{runId:e,viewId:`agent:${n.id}`,sections:Rn(n.id,r),mode:`panel`,renderAsk:t,empty:(0,Y.jsx)(`div`,{"data-slot":`subagent-empty`,className:`py-2 text-[13px] text-muted-foreground`,children:`No attributed output — see the thread card for this agent's result.`})})]})}function Jn({status:e}){let t=e===`completed`?`Completed`:e===`failed`?`Failed`:e===`declined`?`Declined`:e===`pending`?`Pending`:`Running`;return(0,Y.jsx)(`span`,{"data-slot":`subagent-status`,"data-status":e,className:P(`rounded-full px-2 py-0.5 text-[10.5px] font-semibold tracking-[0.05em] uppercase`,e===`completed`&&`bg-success/15 text-success`,(e===`failed`||e===`declined`)&&`bg-danger/15 text-danger`,(e===`running`||e===`pending`)&&`bg-muted text-muted-foreground`),children:t})}function Yn({run:e}){return(0,Y.jsxs)(`section`,{"data-slot":`review-panel`,"aria-label":`Review the changes`,className:`flex flex-col gap-3`,children:[(0,Y.jsxs)(`div`,{"data-slot":`review-banner`,className:`flex items-center gap-2.5 rounded-md border border-violet/30 bg-violet/10 px-3.5 py-2.5`,children:[(0,Y.jsx)(Fe,{className:`size-4 shrink-0 text-violet`,"aria-hidden":`true`}),(0,Y.jsxs)(`p`,{className:`min-w-0 text-[13px]`,children:[(0,Y.jsx)(`span`,{className:`font-semibold`,children:`Review the changes before anything lands.`}),` `,(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:`Read the diff, send notes back, draft a PR — or accept. Nothing merges on its own.`})]})]}),(0,Y.jsx)(qe,{runId:e.id}),(0,Y.jsx)(Xn,{run:e})]})}function Xn({run:e}){let t=d(),n=(0,J.useRef)(null),[r,a]=(0,J.useState)(``),[o,l]=(0,J.useState)(null),u=Oe(e.id),p=ke(e),m=()=>t.invalidateQueries({queryKey:f.runs.all}),h=c({mutationFn:async t=>p.canContinue?g(e.id,{text:`Review feedback:\n${t}`,runner:p.runnerOverride}):null,onSuccess:e=>{e!==null&&(a(``),m())},onError:e=>O(e.message,{tone:`danger`})}),_=c({mutationFn:()=>v(e.id),onSuccess:e=>{O(`Draft PR created — ${e.url}`),m()},onError:e=>{e instanceof s&&e.manual!==void 0&&l(e.manual),O(e.message,{tone:`danger`})}}),y=()=>{let e=r.trim();if(e.length===0){O(`Write what to change first.`),n.current?.focus();return}h.mutate(e)};return(0,Y.jsxs)(`div`,{"data-slot":`review-actions`,className:`flex flex-col gap-2`,children:[(0,Y.jsx)(Ue,{ref:n,"data-slot":`review-notes`,"aria-label":`Notes for the agent`,placeholder:`Notes for the agent — what should change?`,rows:2,value:r,onChange:e=>a(e.target.value),onKeyDown:e=>{We({key:e.key,shiftKey:e.shiftKey,metaKey:e.metaKey,ctrlKey:e.ctrlKey,altKey:e.altKey,repeat:e.repeat,isComposing:e.nativeEvent.isComposing})&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())},className:`min-h-[52px] text-[13px]`}),p.canContinue?null:(0,Y.jsxs)(`p`,{id:`review-provider-guidance`,className:`flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Y.jsx)(`span`,{children:p.reason}),p.providerPending?null:(0,Y.jsx)(V,{to:`/settings/agents#providers`,className:`font-medium text-foreground underline underline-offset-4`,children:`Configure providers`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsxs)(T,{"data-slot":`review-send-back`,variant:`outline`,size:`sm`,title:p.reason??`Send the notes back into the agent's session`,"aria-describedby":p.canContinue?void 0:`review-provider-guidance`,disabled:h.isPending||!p.canContinue,onClick:y,children:[(0,Y.jsx)(nt,{"aria-hidden":`true`}),`Send back`]}),se(e.pullRequestUrl)?(0,Y.jsx)(T,{asChild:!0,variant:`outline`,size:`sm`,children:(0,Y.jsxs)(`a`,{"data-slot":`pr-link`,href:e.pullRequestUrl,target:`_blank`,rel:`noopener noreferrer`,title:`The PR for this task is already open`,children:[(0,Y.jsx)(je,{"aria-hidden":`true`}),`PR ↗`]})}):(0,Y.jsxs)(T,{"data-slot":`review-draft-pr`,variant:`outline`,size:`sm`,title:`Push the branch and open a draft PR`,disabled:_.isPending,onClick:()=>_.mutate(),children:[(0,Y.jsx)(Me,{"aria-hidden":`true`}),`Draft PR`]}),(0,Y.jsxs)(T,{"data-slot":`review-accept`,variant:`contrast`,size:`sm`,className:`ml-auto`,title:ue(`review`),disabled:u.isPending,onClick:()=>u.mutate(),children:[(0,Y.jsx)(i,{"aria-hidden":`true`}),`Accept`]})]}),o===null?null:(0,Y.jsx)(Zn,{command:o})]})}function Zn({command:e}){return(0,Y.jsxs)(`button`,{type:`button`,"data-slot":`review-manual`,title:`Copy the command`,onClick:()=>{navigator.clipboard.writeText(e).then(()=>O(`Command copied to clipboard.`)).catch(()=>O(`Run manually: ${e}`))},className:`flex w-full min-w-0 items-center gap-1.5 rounded-sm px-1 py-0.5 text-left font-mono text-[11px] text-soft-foreground hover:bg-muted hover:text-foreground`,children:[(0,Y.jsx)(Ne,{className:`size-3 shrink-0`,"aria-hidden":`true`}),(0,Y.jsxs)(`span`,{className:`truncate`,children:[`manual path: `,e]})]})}function Qn(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}var $n=1500;function er({status:e}){let t=(0,J.useRef)(e),[n,r]=(0,J.useState)(!1);return(0,J.useEffect)(()=>{let n=t.current;if(t.current=e,n!==`review`||e!==`done`||Qn())return;r(!0);let i=setTimeout(()=>r(!1),$n);return()=>clearTimeout(i)},[e]),n?(0,Y.jsxs)(`div`,{"data-slot":`accept-celebration`,"aria-hidden":`true`,className:`pointer-events-none fixed inset-0 isolate z-40`,children:[(0,Y.jsx)(A,{}),(0,Y.jsx)(`div`,{className:`flex justify-center pt-24`,children:(0,Y.jsx)(`span`,{className:`rounded-full border border-violet/30 bg-violet/15 px-4 py-1.5 text-[13px] font-medium text-violet shadow-modal`,children:`✓ Changes accepted`})})]}):null}function tr(e,t){return`${e.header}: ${t.join(`, `)}`}function nr({ask:e,run:t}){return e.resolved?(0,Y.jsxs)(`div`,{"data-slot":`ask-card`,"data-resolved":`true`,className:`rounded-lg border border-border bg-card px-3.5 py-2.5 text-xs text-muted-foreground`,children:[(0,Y.jsx)(`span`,{className:`text-soft-foreground`,children:`Answered`}),e.answer?(0,Y.jsx)(`span`,{className:`ml-1.5 break-words whitespace-pre-line text-foreground`,children:e.answer}):null]}):(0,Y.jsx)(rr,{ask:e,run:t})}function rr({ask:e,run:t}){let n=I(t),r=n.blockedBy!==void 0,i=e.questions,a=i.length===1&&i[0]?.multiSelect!==!0,[o,s]=(0,J.useState)({}),c=(e,t)=>s(n=>({...n,[e]:t})),l=i.every((e,t)=>(o[t]?.length??0)>0),u=()=>void n.send(i.map((e,t)=>tr(e,o[t]??[])).join(`
|
|
7
|
-
`)),d=n.mode===`resume`;return(0,Y.jsxs)(`div`,{"data-slot":`ask-card`,"data-resolved":`false`,"data-delivery":n.mode,className:`rounded-lg border border-primary/25 bg-primary/[0.04] px-4 pt-3.5 pb-3.5`,children:[(0,Y.jsx)(`div`,{className:`mb-2.5 flex items-center gap-2`,children:(0,Y.jsx)(`span`,{className:`text-xs font-medium text-primary`,children:`The agent is asking`})}),(0,Y.jsx)(`div`,{className:`flex flex-col gap-4`,children:i.map((e,t)=>(0,Y.jsx)(ir,{question:e,disabled:n.isPending||r,selected:o[t]??[],onSelect:i=>{r||(a?n.send(tr(e,i)):c(t,i))}},e.id??t))}),a?d?(0,Y.jsx)(`p`,{"data-slot":`ask-resume-hint`,className:`mt-3 text-[11.5px] text-soft-foreground`,children:`The session has ended — your answer reopens it and goes to the agent.`}):null:(0,Y.jsxs)(`div`,{className:`mt-3 flex items-center gap-2.5`,children:[(0,Y.jsx)(T,{size:`sm`,disabled:n.isPending||r||!l,onClick:u,children:d?`Send answer & reopen`:`Send answer`}),(0,Y.jsx)(`span`,{"data-slot":d?`ask-resume-hint`:`ask-hint`,className:`text-[11.5px] text-soft-foreground`,children:d?`the session has ended — sending reopens it`:`${i.length>1?`answer each question`:`pick one or more`} — or type a reply below`})]}),n.blockedBy===`provider`?(0,Y.jsxs)(`div`,{"data-slot":`ask-provider-gate`,className:`mt-3 flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Y.jsx)(`span`,{children:n.reason}),(0,Y.jsx)(V,{to:`/settings/agents#providers`,className:`font-medium text-foreground underline underline-offset-4`,children:`Configure providers`})]}):null,n.blockedBy===`no-session`?(0,Y.jsx)(`p`,{"data-slot":`ask-no-session`,className:`mt-3 text-xs text-muted-foreground`,children:n.reason}):null,n.error?(0,Y.jsx)(`p`,{"data-slot":`ask-error`,role:`alert`,className:`mt-3 text-xs text-danger`,children:n.error}):null]})}function ir({question:e,disabled:t,selected:n,onSelect:r}){let i=e.multiSelect===!0,a=e=>{if(!i){r([e]);return}r(n.includes(e)?n.filter(t=>t!==e):[...n,e])};return(0,Y.jsxs)(`div`,{role:`group`,"aria-label":e.question,children:[(0,Y.jsxs)(`div`,{className:`mb-0.5 flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`rounded-md bg-primary px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-primary-foreground`,children:e.header}),i?(0,Y.jsx)(`span`,{className:`ml-auto text-[10.5px] text-soft-foreground`,children:`select all that apply`}):null]}),(0,Y.jsx)(`p`,{className:`mb-2.5 break-words text-sm font-semibold text-foreground`,children:e.question}),(0,Y.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.options.map(e=>{let r=n.includes(e.label);return(0,Y.jsxs)(`button`,{type:`button`,disabled:t,"aria-pressed":r,onClick:()=>a(e.label),className:P(`flex w-full flex-col gap-0.5 rounded-md border px-3.5 py-2.5 text-left transition-colors`,`hover:border-primary/50 hover:bg-primary/[0.06] disabled:pointer-events-none disabled:opacity-50`,r?`border-primary/60 bg-primary/[0.06]`:`border-border bg-card`),children:[(0,Y.jsxs)(`span`,{className:`flex min-w-0 items-start gap-2 text-[13.5px] font-semibold text-foreground`,children:[i?(0,Y.jsx)(`span`,{"aria-hidden":!0,className:P(`flex size-4 shrink-0 items-center justify-center rounded border text-[10px]`,r?`border-primary bg-primary text-primary-foreground`:`border-soft-foreground`),children:r?`✓`:``}):null,(0,Y.jsx)(`span`,{className:`min-w-0 break-words`,children:e.label})]}),e.description?(0,Y.jsx)(`span`,{className:`min-w-0 break-words text-xs text-muted-foreground`,children:e.description}):null]},e.label)})})]})}var ar=2e3;function or(e){let t=0,n=0;for(let r of e)typeof r.seq==`number`&&(r.type===`session.ended`&&r.seq>t&&(t=r.seq),(r.type===`session.started`||r.type===`step-start`&&r.kind===`agent`)&&r.seq>n&&(n=r.seq));return t>n?t:0}function sr(e,t){let n=d(),r=(0,J.useMemo)(()=>or(t),[t]),i=e?.id,a=e?.status;(0,J.useEffect)(()=>{if(r===0||i===void 0||a!==`running`&&a!==`waiting`)return;let e=setTimeout(()=>{n.invalidateQueries({queryKey:f.runs.detail(i)}),n.invalidateQueries({queryKey:f.runs.list()})},ar);return()=>clearTimeout(e)},[r,i,a,n])}function cr(e){for(let t=e.turns.length-1;t>=0;--t){let n=e.turns[t].planEntries;if(n!==void 0)return n}}function lr(e){let t=[];for(let n of e.turns)for(let e of n.items)if(e.kind===`tool`){for(let n of e.locations??[])t.push(n.path);for(let n of e.diffs??[])t.push(n.path)}let n=[];for(let e=t.length-1;e>=0;--e)n.includes(t[e])||n.push(t[e]);return n}function ur(e,t){switch(e){case`waiting`:return{state:`waiting`};case`failed`:return{state:`closed`,tone:`danger`,label:t?`Session failed — ${t}`:`Session failed`};case`review`:return{state:`closed`,tone:`dim`,label:`Session closed — waiting for your review`};case`done`:case`cancelled`:return{state:`closed`,tone:`dim`,label:`Session closed`};default:return null}}function Q(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function $(e){return typeof e==`string`?e:void 0}function dr(e){return e===`claude`||e===`codex`||e===`opencode`||e===`pi`?e:void 0}function fr(e,t){let n=e.replace(/\s*CEZ:DONE\s*$/,``).replace(/\s*CEZ:MONITORING\s*$/,``);return t&&(n=n.replace(/\s*CEZ:ASK[ \t]+\{[\s\S]*\}\s*$/,``)),n.includes(`CEZ:`)?n.split(`
|
|
8
|
-
`).filter(e=>!/^CEZ:(?:PR=\d+|ISSUE=\d+|TITLE=.+)\s*$/.test(e)).join(`
|
|
9
|
-
`):n}function pr(e){let t=e=>fr(e,!0).replace(/\s+/g,``),n=new Set,r=[];for(let{origin:i,entry:a}of e.entries)if(i===`v2`&&a.kind===`message`){let e=t(a.text);n.add(e),r.push(e)}if(r.length===0)return;n.add(r.join(``));let i=[],a={entries:[],texts:[]},o=()=>{if(a.entries.length>=2&&n.has(t(a.texts.join(``)))){a={entries:[],texts:[]};return}i.push(...a.entries),a={entries:[],texts:[]}};for(let t of e.entries)t.origin===`v1`&&t.entry.kind===`message`?(a.entries.push(t),a.texts.push(t.entry.text)):(o(),i.push(t));o(),e.entries=i}function mr(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e)}catch{return String(e)}}var hr=e=>e.kind===`message`||e.kind===`reasoning`||e.kind===`tool`,gr=new Set([`pending`,`in_progress`,`completed`,`cancelled`]);function _r(e){if(!Q(e)||!Array.isArray(e.todos))return;let t=[];for(let n of e.todos){if(!Q(n)||typeof n.content!=`string`)return;t.push({content:n.content,status:gr.has(n.status)?n.status:`pending`,...typeof n.activeForm==`string`?{activeForm:n.activeForm}:{}})}return t}function vr(e,t={}){let n=[],r=new Map,i,a=0,o,s=e=>{a+=1;let t={id:e===void 0?`turn-fallback-${a}`:`turn-seq-${e}`,entries:[],v2Items:!1};return n.push(t),t},c=()=>n.at(-1)??s(),l=(e,t)=>{let n=$(e.stepId);return n===void 0?t:`${n}:${t}`},u=(e,t,n)=>{let i={...t};if(!e.v2Items){e.v2Items=!0;for(let t of e.entries)t.origin===`v1`&&t.entry.kind===`tool`&&r.delete(t.entry.id);e.entries=e.entries.filter(e=>!(e.origin===`v1`&&e.entry.kind===`tool`))}let a=r.get(n);if(a&&a.turn===e){a.entry.entry=i,r.set(n,a);return}let o={origin:`v2`,entry:i};e.entries.push(o),r.set(n,{turn:e,entry:o})};for(let t of e)switch(t.type){case`user-message`:{let e=$(t.text)??``;o&&!o.resolved&&(o.resolved=!0,e!==``&&(o.answer=e),o=void 0);let n=s(t.seq);n.userMessage={text:e,imageCount:typeof t.imageCount==`number`?t.imageCount:0,images:Array.isArray(t.images)?t.images.filter(e=>typeof e==`string`):[]};break}case`turn.started`:{let e=$(t.turnId),r=n.at(-1);r&&r.turnId===void 0&&!r.v2Items?r.turnId=e:s(t.seq).turnId=e;break}case`turn.completed`:{let e=$(t.turnId),r;for(let t=n.length-1;t>=0&&!r;--t)n[t].turnId===e&&(r=n[t]);let i=r??n.at(-1);i&&(i.completed={stopReason:$(t.stopReason)??`end_turn`,...typeof t.costUsd==`number`?{costUsd:t.costUsd}:{}});break}case`item.started`:case`item.updated`:case`item.completed`:{if(!Q(t.item))break;let e=t.item.kind,n=t.item.id;if(e!==`message`&&e!==`reasoning`&&e!==`tool`||typeof n!=`string`||n===``)break;let i=t.item,a=l(t,i.id);u(r.get(a)?.turn??c(),i,a);break}case`item.delta`:{let e=$(t.itemId)??``,n=r.get(l(t,e)),i=$(t.delta)??``;if(!n||i===``||!hr(n.entry.entry))break;let a=n.entry.entry;t.field===`output`&&a.kind===`tool`?a.output=(a.output??``)+i:t.field!==`output`&&a.kind!==`tool`&&(a.text+=i);break}case`text`:{let e=c(),n=$(t.text)??``;if(n===``)break;e.entries.push({origin:`v1`,entry:{kind:`message`,id:`v1:${t.seq}`,role:`assistant`,text:n}});break}case`tool-call`:{let e=c();if(e.v2Items)break;let n=$(t.tool)??`Tool`;if(yr.has(n))break;let i=Qe(n,t.input);if(i.toolKind===`plan`){let n=_r(t.input);n!==void 0&&(e.planEntries=n)}let a={kind:`tool`,id:$(t.id)??`v1:${t.seq}`,name:n,toolKind:i.toolKind,title:i.title,status:`running`,input:t.input},o={origin:`v1`,entry:a};e.entries.push(o),r.set(a.id,{turn:e,entry:o});break}case`tool-result`:{let e=r.get($(t.toolCallId)??``);if(!e||e.turn.v2Items||e.entry.origin!==`v1`)break;let n=e.entry.entry;if(n.kind!==`tool`)break;n.status=`completed`,n.output=mr(t.result);break}case`note`:case`lifecycle`:{let e=$(t.message)??``;if(e===``)break;c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:e,tone:`dim`}});break}case`error`:{let e=$(t.message)??``;if(e===``)break;c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:e,tone:`danger`}});break}case`session.error`:{let e=$(t.message)??``;if(e===``)break;c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v2:${t.seq}`,text:e,tone:`danger`}});break}case`step-end`:{if(t.status!==`failed`)break;let e=$(t.error)?` — ${$(t.error)}`:``;c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:`step ${$(t.stepId)??`?`} failed${e}`,tone:`danger`}});break}case`check-output`:{let e=$(t.command)??`check`,n=typeof t.exitCode==`number`?t.exitCode:-1,r={kind:`tool`,id:`v1:${t.seq}`,name:`check`,toolKind:`execute`,title:`Ran ${e}`,status:n===0?`completed`:`failed`,output:$(t.text)??``,exitCode:n};c().entries.push({origin:`meta`,entry:r});break}case`provider-auth-required`:{let e=dr(t.provider),n=$(t.authFailureId);if(e===void 0||n===void 0||n.length<1||n.length>128)break;c().entries.push({origin:`meta`,entry:{kind:`provider-auth-required`,id:`v1:${t.seq}`,provider:e,authFailureId:n}});break}case`image`:{let e=$(t.url);if(e===void 0)break;let n={kind:`image`,id:`v1:${t.seq}`,url:e},r=$(t.name);r!==void 0&&(n.name=r),c().entries.push({origin:`meta`,entry:n});break}case`plan.updated`:Array.isArray(t.entries)&&(c().planEntries=t.entries);break;case`session.ended`:i={reason:$(t.reason)??`end_turn`,...$(t.message)===void 0?{}:{message:$(t.message)}};break;case`ask.requested`:{let e=$(t.requestId);if(e===void 0||!Array.isArray(t.questions))break;let n=t.questions.filter(e=>Q(e)&&typeof e.header==`string`&&Array.isArray(e.options));if(n.length===0)break;let r={kind:`ask`,id:e,questions:n,resolved:!1};c().entries.push({origin:`meta`,entry:r}),o=r;break}case`step-start`:case`token-usage`:case`cost`:case`turn-end`:case`done`:case`session`:break;default:break}for(let e of n){if(!e.v2Items)continue;let t=new Set;for(let{origin:n,entry:r}of e.entries)n===`v2`&&r.kind===`message`&&t.add(fr(r.text,!0).trim());t.size!==0&&(e.entries=e.entries.filter(e=>!(e.origin===`v1`&&e.entry.kind===`message`&&t.has(fr(e.entry.text,!0).trim()))),pr(e))}return{turns:n.map((e,r)=>{let i=e.entries.some(({entry:e})=>e.kind===`ask`),a=t.activeTurn===!0&&r===n.length-1;return{id:e.id,...e.turnId===void 0?{}:{turnId:e.turnId},...e.userMessage===void 0?{}:{userMessage:e.userMessage},...e.planEntries===void 0?{}:{planEntries:e.planEntries},...e.completed===void 0?{}:{completed:e.completed},items:e.entries.map(({entry:e})=>e.kind===`message`&&e.role===`assistant`?{...e,text:fr(e.text,i||a)}:e)}}),...i===void 0?{}:{sessionEnded:i}}}var yr=new Set([`subAgentActivity`,`collabAgentToolCall`,`collabToolCall`]);function br(){let{id:e}=o(),t=ae(e),n=ht(e),r=t.data?.status,i=(0,J.useMemo)(()=>vr(n.visibleEvents,{activeTurn:r===`running`}),[n.visibleEvents,r]),a=(0,J.useMemo)(()=>vr(n.currentEvents,{activeTurn:r===`running`}),[n.currentEvents,r]),c=(0,J.useRef)(void 0),l=(0,J.useCallback)(e=>{c.current=e},[]),{mutate:u}=ie();if((0,J.useEffect)(()=>{t.data&&c.current!==t.data.id&&ce(t.data)&&u(t.data.id)},[u,t.data?.id,t.data?.status,t.data?.finishedAt,t.data?.seenAt,t.data?.archived]),sr(t.data,n.visibleEvents),t.isPending)return(0,Y.jsx)(xe,{});if(t.isError){let e=t.error instanceof s&&t.error.status===404;return(0,Y.jsx)(`div`,{"data-route":`task-thread`,className:`flex min-h-full flex-col`,children:(0,Y.jsx)(re,{icon:e?(0,Y.jsx)(Ve,{}):(0,Y.jsx)(at,{}),tone:e?`neutral`:`danger`,title:e?`Task not found`:`Could not load this task`,subtitle:e?`No run has this id. It may have been deleted, or the link is from another machine.`:t.error.message,actions:(0,Y.jsx)(T,{asChild:!0,variant:`outline`,children:(0,Y.jsx)(V,{to:`/`,children:`Back to tasks`})})})})}return n.isPending?(0,Y.jsx)(xe,{}):(0,Y.jsx)(xr,{run:t.data,thread:i,currentThread:a,history:n,onMarkedUnread:l})}function xr({run:e,thread:t,currentThread:n=t,history:r,onMarkedUnread:i}){let a=ur(e.status,e.error),o=cr(n),s=o!==void 0&&o.length>0?On(o):void 0,c=e.status===`running`||e.status===`waiting`,u=e.status===`queued`,d=rn(e),f=!c&&!u&&d.available,p=f&&d.canContinue,m=!c&&e.status!==`queued`,h=(0,J.useMemo)(()=>pn(n.turns,m),[n.turns,m]),[g,_]=(0,J.useState)(void 0),[v,b]=(0,J.useState)(e.id);v!==e.id&&(b(e.id),_(void 0));let S=(0,J.useMemo)(()=>g===void 0?void 0:yn(n.turns,g,m),[n.turns,g,m]),C=(0,J.useMemo)(()=>g===void 0?[]:bn(n.turns,g),[n.turns,g]),w=l(e.id),T=fe(e),O=c&&!T.usable,te=f&&!d.canContinue,k=O||te,A=O?T.reason:d.reason,{mutateAsync:re}=D(e.id),{mutateAsync:ie}=x(e.id),{mutateAsync:ae}=oe(e.id),j=(0,J.useMemo)(()=>u?{onEditTask:async e=>{await re({task:e})},onEditMessage:(e,t)=>ie({msgId:e,message:{text:t}}).then(()=>void 0),onRemoveMessage:e=>ae(e).then(()=>void 0)}:void 0,[u,re,ie,ae]),M=(0,J.useMemo)(()=>Ln(e,t),[e,t]),N=(0,J.useMemo)(()=>zn(M,e.id),[M,e.id]),F=(0,J.useCallback)(t=>(0,Y.jsx)(nr,{ask:t,run:e}),[e]),ce=(0,J.useMemo)(()=>{if(j===void 0)return;let t={task:{onEdit:j.onEditTask,editLabel:`Edit the prompt`}};for(let n of e.queuedMessages??[])t[`queued:${n.id}`]={onEdit:e=>j.onEditMessage(n.id,e),onRemove:()=>j.onRemoveMessage(n.id)};return t},[j,e.queuedMessages]),le=ee(e,ne()),{search:ue}=y(),de=Mt(ue,N.length),I=Nn(`${e.id}:main`,{onLoadOlder:r?.hasOlder?r.loadOlder:void 0,onJumpToLatest:r?.jumpToLatest,rowKeys:N.map(({key:e})=>e)});return Ce(I.restickIfStuck),(0,Y.jsxs)(`div`,{"data-route":`task-thread`,"data-run-id":e.id,className:`flex min-h-full flex-col`,children:[(0,Y.jsx)(Ae,{run:e,planTally:s,onMarkedUnread:()=>i?.(e.id)}),(0,Y.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[var(--measure)] flex-1 flex-col gap-3.5 px-4 py-5 md:px-6`,children:[r?(0,Y.jsx)(Sr,{hasOlder:r.hasOlder,loading:r.isFetchingOlder,error:r.olderError,fallback:r.fallback,retainedPages:r.retainedPages,onLoad:I.loadOlder}):null,(0,Y.jsx)(Bn,{runId:e.id,viewId:`main`,sections:M,mode:`document`,renderAsk:F,messageActions:ce,scrollControls:I,renderMode:de}),t.turns.length===0?e.status===`queued`?(0,Y.jsx)(Cr,{run:e}):(0,Y.jsx)(`p`,{"data-slot":`thread-empty`,className:`py-6 text-center text-xs text-soft-foreground`,children:`No session events yet.`}):null,e.status===`running`?(0,Y.jsx)(Gt,{}):null,a&&a.state===`closed`?(0,Y.jsxs)(`div`,{"data-slot":`thread-footer`,"data-state":a.state,className:P(`mt-auto flex items-center gap-2 border-t border-border pt-3 text-xs`,a.tone===`danger`?`text-danger`:`text-soft-foreground`),children:[a.label,se(E(e))?(0,Y.jsx)(`a`,{"data-slot":`pr-link`,href:E(e),target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-foreground underline-offset-2 hover:underline`,children:`PR ↗`}):null,se(le)?(0,Y.jsx)(`a`,{"data-slot":`issue-link`,href:le,target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-foreground underline-offset-2 hover:underline`,children:`Issue ↗`}):null]}):null,e.status===`review`?(0,Y.jsx)(Yn,{run:e}):null]}),(0,Y.jsx)(er,{status:e.status}),(0,Y.jsx)(Kn,{runId:e.id,renderAsk:F,agent:S,entries:C,onClose:()=>_(void 0)}),(0,Y.jsxs)(`div`,{"data-slot":`thread-dock`,className:`sticky bottom-[var(--kb,0px)] z-10 bg-background px-4 pt-1.5 pb-3 max-md:border-t max-md:border-border md:px-6 md:pb-4`,children:[I.pillVisible?(0,Y.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 -top-12 flex justify-center`,children:(0,Y.jsx)(In,{onJump:I.jumpToLatest})}):null,(0,Y.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[var(--measure)] flex-col gap-2.5`,children:[(0,Y.jsx)(Cn,{runId:e.id,agents:h,onSelect:_},`agents:${e.id}`),o!==void 0&&o.length>0?(0,Y.jsx)(An,{runId:e.id,entries:o},e.id):null,(0,Y.jsx)(gt,{run:e}),e.status===`waiting`?(0,Y.jsxs)(`div`,{"data-slot":`paused-hint`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,Y.jsx)(H,{tone:`pending`,pulse:!0}),`The agent is paused, waiting for your reply`]}):null,u?(0,Y.jsxs)(`div`,{"data-slot":`queued-hint`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,Y.jsx)(H,{tone:`pending`}),`Messages you add now are folded into the prompt before the run starts.`]}):null,(0,Y.jsx)(ve,{onSubmit:p?(e,t)=>d.continueWith(e,t):(e,t)=>w.mutateAsync({text:e,images:t}),disabled:k||!c&&!u&&!p,disabledReason:k?A:`Session closed — no session to resume.`,footerEnd:k&&!d.providerPending?(0,Y.jsx)(V,{to:`/settings/agents#providers`,className:`text-xs font-medium text-foreground underline underline-offset-4`,children:`Configure providers`}):p?d.pills:void 0,allowEmptySubmit:p,sendAriaLabel:p?`Continue`:`Send`,placeholder:u?`Add to the prompt — sent when the run starts…`:p?`Continue — add a prompt, or send to just reopen the session…`:e.status===`waiting`?`Reply — / for skills, @ for files…`:`Message the agent — / for skills, @ for files…`,autocompleteSkills:!0,quickReplies:!0,getMentionCandidates:()=>lr(t)})]})]})]})}function Sr({hasOlder:e,loading:t,error:n,fallback:r,retainedPages:i,onLoad:a}){return r?(0,Y.jsx)(`p`,{"data-slot":`history-fallback`,className:`text-center text-xs text-soft-foreground`,role:`status`,children:`Progressive history is unavailable; showing the complete session.`}):!e&&!n?(0,Y.jsxs)(`div`,{"data-slot":`history-start`,className:`flex items-center gap-3 text-[11px] text-soft-foreground`,children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`}),`Start of session`,(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`})]}):(0,Y.jsxs)(`div`,{"data-slot":`history-boundary`,"data-retained-pages":i,"aria-busy":t,className:`flex min-h-8 items-center justify-center text-xs text-muted-foreground`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:a,disabled:t,className:`rounded-md px-3 py-1.5 font-medium hover:bg-muted disabled:cursor-wait`,children:t?`Loading 100 earlier items…`:n?`Couldn’t load earlier items · Retry`:`Load 100 earlier items`}),(0,Y.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:t?`Loading earlier session history`:n||``})]})}function Cr({run:e}){let t=de(m().data??[],e.id);return(0,Y.jsxs)(`div`,{"data-slot":`queued-state`,className:`flex flex-col items-center gap-1.5 py-10 text-center`,children:[(0,Y.jsx)(H,{tone:`pending`,pulse:!0}),(0,Y.jsxs)(`p`,{className:`text-[13px] font-medium`,children:[`Waiting for a free agent slot`,t===void 0?``:` — #${t} in queue`]}),(0,Y.jsxs)(`p`,{className:`text-xs text-soft-foreground`,children:[e.workflow,` · starts automatically when a slot frees up`]})]})}export{br as TaskThreadRoute};
|