@cuongtran001/kanna 1.71.0 → 1.71.2
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/client/assets/{BoardsPage-CwmfG7r7.js → BoardsPage-DudYbDyu.js} +1 -1
- package/dist/client/assets/{BoardsRoutePage-CEqcmgEs.js → BoardsRoutePage-DUvJAyzh.js} +1 -1
- package/dist/client/assets/{ChatPage-CDYlmvTh.js → ChatPage-ChFKw7nK.js} +6 -6
- package/dist/client/assets/{CronJobRow-Clz1CMaP.js → CronJobRow-DU1RtrCs.js} +1 -1
- package/dist/client/assets/{CronJobsPage-Cp2ljuzG.js → CronJobsPage-cjH7p3lh.js} +1 -1
- package/dist/client/assets/{FilePreviewSheet-Dz2nMmpT.js → FilePreviewSheet-wcpWIb90.js} +1 -1
- package/dist/client/assets/{FlowSurface-D8jEIDTL.js → FlowSurface-Doyyct0h.js} +1 -1
- package/dist/client/assets/{GenUIBlock-wR_ASBOI.js → GenUIBlock-D-TBN4Um.js} +2 -2
- package/dist/client/assets/{KannaSocketProvider-CjyunR2e.js → KannaSocketProvider-uWU6WkNo.js} +1 -1
- package/dist/client/assets/{LocalProjectsPage-BSEd-eik.js → LocalProjectsPage-D8V8a3WM.js} +1 -1
- package/dist/client/assets/{SettingsPage-lO0j29v6.js → SettingsPage-CiCU3nka.js} +1 -1
- package/dist/client/assets/{StackBoardsRoutePage-Bln20SrZ.js → StackBoardsRoutePage-DDvdmA3Y.js} +1 -1
- package/dist/client/assets/{ToolCallMessage-BU_kRKSX.js → ToolCallMessage-CHJSiauG.js} +1 -1
- package/dist/client/assets/{VChartSurface-DGt2rY1C.js → VChartSurface-DVRoAi5e.js} +1 -1
- package/dist/client/assets/{WorkflowsPage-5x1x5lh7.js → WorkflowsPage-LwL034ZP.js} +1 -1
- package/dist/client/assets/{WorkflowsSection-qmqlEagS.js → WorkflowsSection-HlGaR0pJ.js} +1 -1
- package/dist/client/assets/{chart-renderer-B4RB_Vl1.js → chart-renderer-BZXJQWtw.js} +1 -1
- package/dist/client/assets/{chatSounds-o52bjGQP.js → chatSounds-BNvUSPAi.js} +1 -1
- package/dist/client/assets/chevron-left-FnMbL2tA.js +1 -0
- package/dist/client/assets/{clipboard.adapter-BvGCjfPV.js → clipboard.adapter-CIRv1YNb.js} +1 -1
- package/dist/client/assets/{columnStyle-Drcf36na.js → columnStyle-mS8DKLCV.js} +1 -1
- package/dist/client/assets/{copyFeedbackStore-FlVcAL_c.js → copyFeedbackStore-DHAfKV4i.js} +1 -1
- package/dist/client/assets/{createScopedStore-D5Oag_wd.js → createScopedStore-or82_bxr.js} +1 -1
- package/dist/client/assets/{dist-u3-1WIv4.js → dist-Cvh6FEf5.js} +1 -1
- package/dist/client/assets/{ellipsis-EuMuTlhJ.js → ellipsis-CWiRFysC.js} +1 -1
- package/dist/client/assets/{flow-kinds-BzdVFTwx.js → flow-kinds-Digyo6AB.js} +1 -1
- package/dist/client/assets/{folder-ByOaA11q.js → folder-CnSb5m9v.js} +1 -1
- package/dist/client/assets/{formatDuration-B6E9KTDu.js → formatDuration-DsrNkArK.js} +1 -1
- package/dist/client/assets/{genui-BnrsDpVz.js → genui-BagNQVNI.js} +1 -1
- package/dist/client/assets/{globe-BqmhnccZ.js → globe-tc_9UiU3.js} +1 -1
- package/dist/client/assets/{host-2KzofXms.js → host-C7I7nFuH.js} +1 -1
- package/dist/client/assets/index-D9OYZjb7.js +26 -0
- package/dist/client/assets/{info-BcTChXV5.js → info-CgLDBnLR.js} +1 -1
- package/dist/client/assets/{input-Pqq9209u.js → input-BaAZ4OHy.js} +1 -1
- package/dist/client/assets/{lexicalToReact-w1LjYOTM.js → lexicalToReact-ClgTGbzM.js} +3 -3
- package/dist/client/assets/{log-OCZfBFFe.js → log-Ch_SNBXH.js} +1 -1
- package/dist/client/assets/{monitor-fn5oGNs1.js → monitor-fFRMWd1S.js} +1 -1
- package/dist/client/assets/{pendingActionsStore-2ldF8rQh.js → pendingActionsStore-CWNaCyjS.js} +1 -1
- package/dist/client/assets/{play-BP4EBjZw.js → play-DD0bVaYg.js} +1 -1
- package/dist/client/assets/{plus-WDHArJ5z.js → plus-By3sppx5.js} +1 -1
- package/dist/client/assets/{popover-DkE_RkoX.js → popover-CJNN95M0.js} +1 -1
- package/dist/client/assets/{pushClient-BOEoH4vb.js → pushClient-DbwI0iz1.js} +1 -1
- package/dist/client/assets/runDetached-CQOu05LK.js +1 -0
- package/dist/client/assets/{segmented-control-B2_6WsRn.js → segmented-control-DYmNRyQy.js} +1 -1
- package/dist/client/assets/{select-Dq6C29O9.js → select-Dam9e0mi.js} +1 -1
- package/dist/client/assets/{settings-header-button-D76GLmVM.js → settings-header-button-DaCbsV31.js} +1 -1
- package/dist/client/assets/{sidebarPendingActions-CZXv60kH.js → sidebarPendingActions-DxI6ubAL.js} +1 -1
- package/dist/client/assets/{square-pen-BjyjvjOJ.js → square-pen-DKZvXh3R.js} +1 -1
- package/dist/client/assets/{state-mark-BAeEZoKQ.js → state-mark-DxzVQsVa.js} +1 -1
- package/dist/client/assets/{status-pill-bp46I9cx.js → status-pill-BFLy7eN9.js} +1 -1
- package/dist/client/assets/{terminal-DjwzMh1O.js → terminal-DRYQ5avJ.js} +1 -1
- package/dist/client/assets/{timer.adapter-LKIP589r.js → timer.adapter-BDh0KX9G.js} +1 -1
- package/dist/client/assets/{tools-wno-tGL1.js → tools-toomKvSw.js} +1 -1
- package/dist/client/assets/{triangle-alert-whYeOlEg.js → triangle-alert-CM5uh-kq.js} +1 -1
- package/dist/client/assets/{useAppGlobalState-DXhTq0lh.js → useAppGlobalState-BCUZEZEi.js} +1 -1
- package/dist/client/assets/useKannaState-BvJAZTpL.js +5 -0
- package/dist/client/assets/{useTheme-B-LhXBrA.js → useTheme-B6cYOPpe.js} +1 -1
- package/dist/client/icon.svg +11 -3
- package/dist/client/index.html +34 -33
- package/package.json +1 -1
- package/src/server/read-models.test.ts +59 -0
- package/src/server/read-models.ts +26 -1
- package/src/shared/stack-activity.ts +10 -0
- package/dist/client/assets/chevron-left-skoFcSB-.js +0 -1
- package/dist/client/assets/index-DfVAvdFs.js +0 -26
- package/dist/client/assets/runDetached-C-0G41cV.js +0 -1
- package/dist/client/assets/useKannaState-D7y1UZxg.js +0 -5
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,m as t,t as n}from"./log-OCZfBFFe.js";function r(r,i){i.then(void 0,t(t=>n.error(e,`${r} failed`,t)))}export{r as t};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-DiVRNtpo.js";import{t as n}from"./react-dom-CvX0TCLz.js";import{c as r,u as i}from"./chunk-OB3PAWPO-mARpRU1A.js";import{t as a}from"./jsx-runtime-BdxMnOeJ.js";import{B as o,H as s,L as c,O as l,P as u,R as d,a as f,at as p,i as m,in as h,j as g,k as _,r as v}from"./useAppGlobalState-DXhTq0lh.js";import{c as y,d as b,f as x,t as S}from"./log-OCZfBFFe.js";import{a as C,c as w,d as T,f as E,l as D,n as O,r as k,s as A,t as j}from"./pendingActionsStore-2ldF8rQh.js";import{A as M,C as N,H as P,I as F,M as I,N as L,O as R,P as z,R as B,S as V,T as H,V as ee,_ as te,a as ne,b as re,g as ie,h as ae,j as oe,k as se,n as ce,t as le,v as ue,w as de}from"./FilePreviewSheet-Dz2nMmpT.js";import{_ as fe,b as pe,c as U,g as me,h as he,m as ge,o as _e,r as ve,t as ye,v as be}from"./ToolCallMessage-BU_kRKSX.js";import{t as xe}from"./lexicalToReact-w1LjYOTM.js";import{a as Se,d as Ce,i as we,n as Te,o as Ee,s as De}from"./KannaSocketProvider-CjyunR2e.js";import{n as Oe,r as ke,t as Ae}from"./clipboard.adapter-BvGCjfPV.js";import{n as je,r as Me,t as Ne}from"./dist-u3-1WIv4.js";import{t as Pe}from"./chevron-left-skoFcSB-.js";import{r as Fe}from"./terminal-DjwzMh1O.js";import{i as Ie}from"./host-2KzofXms.js";import{d as Le,f as Re,h as ze,l as Be,u as W}from"./pushClient-BOEoH4vb.js";import{t as Ve}from"./triangle-alert-whYeOlEg.js";import{i as He}from"./formatDuration-B6E9KTDu.js";import{t as Ue}from"./timer.adapter-LKIP589r.js";import{C as We,D as Ge,E as Ke,O as G,T as qe,b as Je,c as Ye,d as Xe,f as Ze,g as Qe,h as $e,l as et,m as tt,n as nt,p as rt,s as it,u as at,v as ot,w as st,x as ct,y as lt}from"./chatFocusPolicy-DYR_9DV3.js";import{i as ut,n as dt,r as ft,t as pt}from"./dist-Bd4iXDMM.js";import{t as mt}from"./createScopedStore-D5Oag_wd.js";import{t as ht}from"./input-Pqq9209u.js";import{C as gt,c as _t,l as vt}from"./useTheme-B-LhXBrA.js";import{t as yt}from"./runDetached-C-0G41cV.js";import{i as bt}from"./status-pill-bp46I9cx.js";import{a as xt,o as St}from"./formatters-BGORekd-.js";import{a as Ct,n as wt}from"./state-mark-BAeEZoKQ.js";import{o as Tt,s as Et,t as Dt}from"./tools-wno-tGL1.js";var Ot={name:`asterisk`,size:24,node:[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m18.065 8.496-12.125 7`,key:`1h26g9`}],[`path`,{d:`m5.94 8.504 12.125 7`,key:`k77sdm`}]]};Ot.node;var kt=E(Ot),At={name:`bell-off`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742`,key:`178tsu`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05`,key:`1hqiys`}]]};At.node;var jt=E(At),Mt={name:`calendar-x-2`,size:24,node:[[`path`,{d:`M16 2v3`,key:`otl347`}],[`path`,{d:`m17 16 5 5`,key:`1a37d9`}],[`path`,{d:`m17 21 5-5`,key:`1b797a`}],[`path`,{d:`M21 12V5a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h8`,key:`14ws7l`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M8 2v3`,key:`1ioesn`}]]};Mt.node;var Nt=E(Mt),Pt={name:`check-check`,size:24,node:[[`path`,{d:`M18 6 7 17l-5-5`,key:`116fxf`}],[`path`,{d:`m22 10-7.5 7.5L13 16`,key:`ke71qq`}]]};Pt.node;var Ft=E(Pt),It={name:`circle-slash`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]};It.node;var Lt=E(It),Rt={name:`circle`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]};Rt.node;var zt=E(Rt),Bt={name:`corner-down-left`,size:24,node:[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`,key:`6o5b7l`}],[`path`,{d:`m9 10-5 5 5 5`,key:`1kshq7`}]]};Bt.node;var Vt=E(Bt),Ht={name:`flower`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`path`,{d:`M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5`,key:`14wa3c`}],[`path`,{d:`M12 7.5V9`,key:`1oy5b0`}],[`path`,{d:`M7.5 12H9`,key:`eltsq1`}],[`path`,{d:`M16.5 12H15`,key:`vk5kw4`}],[`path`,{d:`M12 16.5V15`,key:`k7eayi`}],[`path`,{d:`m8 8 1.88 1.88`,key:`nxy4qf`}],[`path`,{d:`M14.12 9.88 16 8`,key:`1lst6k`}],[`path`,{d:`m8 16 1.88-1.88`,key:`h2eex1`}],[`path`,{d:`M14.12 14.12 16 16`,key:`uqkrx3`}]]};Ht.node;var Ut=E(Ht),Wt={name:`hand`,size:24,node:[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`,key:`1fvzgz`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`,key:`1kc0my`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`,key:`10h0bg`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`,key:`1s1gnw`}]]};Wt.node;var Gt=E(Wt),Kt={name:`list-checks`,size:24,node:[[`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`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]};Kt.node;var qt=E(Kt),Jt={name:`minimize`,size:24,node:[[`path`,{d:`M8 3v3a2 2 0 0 1-2 2H3`,key:`hohbtr`}],[`path`,{d:`M21 8h-3a2 2 0 0 1-2-2V3`,key:`5jw1f3`}],[`path`,{d:`M3 16h3a2 2 0 0 1 2 2v3`,key:`198tvr`}],[`path`,{d:`M16 21v-3a2 2 0 0 1 2-2h3`,key:`ph8mxp`}]]};Jt.node;var Yt=E(Jt),Xt={name:`panel-left`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]],aliases:[`sidebar`]};Xt.node;var Zt=E(Xt),Qt={name:`send`,size:24,node:[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]};Qt.node;var $t=E(Qt),en={name:`shield-alert`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]};en.node;var tn=E(en),nn={name:`skip-forward`,size:24,node:[[`path`,{d:`M21 4v16`,key:`7j8fe9`}],[`path`,{d:`M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`,key:`zs4d6`}]]};nn.node;var rn=E(nn),an={name:`slash`,size:24,node:[[`path`,{d:`M22 2 2 22`,key:`y4kqgn`}]]};an.node;var on=E(an),sn={name:`square-kanban`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 7v7`,key:`1x2jlm`}],[`path`,{d:`M12 7v4`,key:`xawao1`}],[`path`,{d:`M16 7v9`,key:`1hp2iy`}]],aliases:[`kanban-square`]};sn.node;var cn=E(sn),ln={name:`zap`,size:24,node:[[`path`,{d:`M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z`,key:`1v7up4`}]]};ln.node;var un=E(ln),K=e(t(),1),q=e(a(),1),dn=K.forwardRef(({className:e,...t},n)=>(0,q.jsx)(`div`,{ref:n,className:w(`bg-card text-card-foreground`,e),...t}));dn.displayName=`Card`;var fn=K.forwardRef(({className:e,...t},n)=>(0,q.jsx)(`div`,{ref:n,className:w(`flex flex-col space-y-1.5 p-2`,e),...t}));fn.displayName=`CardHeader`;var pn=K.forwardRef(({className:e,...t},n)=>(0,q.jsx)(`h3`,{ref:n,className:w(`text-2xl font-semibold leading-none tracking-tight`,e),...t}));pn.displayName=`CardTitle`;var mn=K.forwardRef(({className:e,...t},n)=>(0,q.jsx)(`p`,{ref:n,className:w(`text-sm text-muted-foreground`,e),...t}));mn.displayName=`CardDescription`;var hn=K.forwardRef(({className:e,...t},n)=>(0,q.jsx)(`div`,{ref:n,className:w(`p-6 pt-0`,e),...t}));hn.displayName=`CardContent`;var gn=K.forwardRef(({className:e,...t},n)=>(0,q.jsx)(`div`,{ref:n,className:w(`flex items-center p-6 pt-0`,e),...t}));gn.displayName=`CardFooter`;var _n=[],vn=[],yn=[],bn=y()(e=>({sidebarItems:_n,panels:vn,commandCenterItems:yn,setContributions:({sidebarItems:t,panels:n,commandCenterItems:r})=>e({sidebarItems:t,panels:n,commandCenterItems:r}),clearContributions:()=>e(e=>e.sidebarItems.length===0&&e.panels.length===0&&e.commandCenterItems.length===0?e:{sidebarItems:_n,panels:vn,commandCenterItems:yn})})),xn=e=>e.sidebarItems??_n,Sn=e=>e.panels??vn,Cn=e=>e.commandCenterItems??yn,wn=4,Tn=6;function En({kind:e,className:t}){return(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 12 12`,className:w(`inline-block size-3 shrink-0`,t),children:[e===`filled`?(0,q.jsx)(`circle`,{cx:Tn,cy:Tn,r:wn,fill:`currentColor`}):null,e===`half`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`circle`,{cx:Tn,cy:Tn,r:wn,fill:`none`,stroke:`currentColor`,strokeWidth:1.25}),(0,q.jsx)(`path`,{d:`M ${Tn} 2 A ${wn} ${wn} 0 0 0 ${Tn} 10 Z`,fill:`currentColor`})]}):null,e===`ring`?(0,q.jsx)(`circle`,{cx:Tn,cy:Tn,r:wn,fill:`none`,stroke:`currentColor`,strokeWidth:1.25}):null,e===`dashed`?(0,q.jsx)(`circle`,{cx:Tn,cy:Tn,r:wn,fill:`none`,stroke:`currentColor`,strokeWidth:1.25,strokeDasharray:`2 2`}):null]})}function Dn(e){return e.status===`running`||e.status===`starting`?{tone:`warning`,label:Ct(e.status)}:e.status===`waiting_for_user`?{tone:`info`,label:Ct(e.status)}:e.status===`failed`?{tone:`destructive`,label:Ct(e.status)}:e.unread?{tone:`success`,label:`Unread`}:null}function On(e){switch(e){case`warning`:return`bg-warning`;case`info`:return`bg-info`;case`success`:return`bg-success`;case`destructive`:return`bg-destructive`;case`muted`:return`bg-muted-foreground`;default:return``}}function kn(e){switch(e){case`warning`:return`text-warning-text`;case`info`:return`text-info-text`;case`success`:return`text-success-text`;case`destructive`:return`text-destructive-text`;default:return`text-muted-foreground`}}function An(e){switch(e){case`active`:return{kind:`filled`,toneClass:`text-success-text`,title:`Claude session active`};case`warming`:return{kind:`half`,toneClass:`text-warning-text`,title:`Claude session warming`};case`idle`:return{kind:`ring`,toneClass:`text-muted-foreground`,title:`Claude session idle`};case`cooling`:return{kind:`dashed`,toneClass:`text-muted-foreground`,title:`Claude session cooling down`};default:return null}}var jn=Object.defineProperty,Mn=(e,t)=>jn(e,`name`,{value:t,configurable:!0}),Nn=!1;function Pn(){let[e,t]=K.useState(Nn);return K.useEffect(()=>{Nn||(Nn=!0,t(!0))},[]),e}Mn(Pn,`useIsHydrated`);var Fn=K.useSyncExternalStore;function In(){return()=>{}}Mn(In,`subscribe`);function Ln(){return Fn(In,()=>!0,()=>!1)}Mn(Ln,`useIsHydratedModern`);var Rn=typeof Fn==`function`?Ln:Pn,zn=Object.defineProperty,Bn=(e,t)=>zn(e,`name`,{value:t,configurable:!0}),Vn=`rovingFocusGroup.onEntryFocus`,Hn={bubbles:!1,cancelable:!0},Un=`RovingFocusGroup`,[Wn,Gn,Kn]=je(Un),[qn,Jn]=Ke(Un,[Kn]),Yn={Vertical:`vertical`,Horizontal:`horizontal`},Xn={LTR:`ltr`,RTL:`rtl`},[Zn,Qn]=qn(Un),$n=K.forwardRef(Bn(function(e,t){return(0,q.jsx)(Wn.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,q.jsx)(Wn.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,q.jsx)(er,{...e,ref:t})})})},`RovingFocusGroup`)),er=K.forwardRef(Bn(function(e,t){let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=K.useRef(null),p=Ge(t,f),m=Ne(a),[h,g]=We({prop:o,defaultProp:s??null,onChange:c,caller:Un}),[_,v]=K.useState(!1),y=ot(l),b=Gn(n),x=K.useRef(!1),[S,C]=K.useState(0);return K.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Vn,y),()=>e.removeEventListener(Vn,y)},[y]),(0,q.jsx)(Zn,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:K.useCallback(e=>g(e),[g]),onItemShiftTab:K.useCallback(()=>v(!0),[]),onFocusableItemAdd:K.useCallback(()=>C(e=>e+1),[]),onFocusableItemRemove:K.useCallback(()=>C(e=>e-1),[]),children:(0,q.jsx)(lt.div,{tabIndex:_||S===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:G(e.onMouseDown,()=>{x.current=!0}),onFocus:G(e.onFocus,e=>{let t=!x.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(Vn,Hn);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=b().filter(e=>e.focusable);or([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}x.current=!1}),onBlur:G(e.onBlur,()=>v(!1))})})},`RovingFocusGroupImpl`)),tr=`RovingFocusGroupItem`,nr=K.forwardRef(Bn(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=st(),l=a||c,u=Qn(tr,n),d=u.currentTabStopId===l,f=Gn(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u,g=Rn();return qe(()=>{if(g&&r)return p(),()=>m()},[g,r,p,m]),K.useEffect(()=>{if(!g&&r)return p(),()=>m()},[g,r,p,m]),(0,q.jsx)(Wn.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,q.jsx)(lt.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:G(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:G(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:G(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=ar(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?sr(n,r+1):n.slice(r+1)}setTimeout(()=>or(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})},`RovingFocusGroupItem`)),rr={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function ir(e,t){return t===Xn.RTL?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}Bn(ir,`getDirectionAwareKey`);function ar(e,t,n){let r=ir(e.key,n);if(!(t===Yn.Vertical&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===Yn.Horizontal&&[`ArrowUp`,`ArrowDown`].includes(r)))return rr[r]}Bn(ar,`getFocusIntent`);function or(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}Bn(or,`focusFirst`);function sr(e,t){return e.map((n,r)=>e[(t+r)%e.length])}Bn(sr,`wrapArray`);var cr=Object.defineProperty,J=(e,t)=>cr(e,`name`,{value:t,configurable:!0}),lr=[`Enter`,` `],ur=[`ArrowDown`,`PageUp`,`Home`],dr=[`ArrowUp`,`PageDown`,`End`],fr=[...ur,...dr];[...lr],[...lr];var pr=`Menu`,[mr,hr,gr]=je(pr),[_r,vr]=Ke(pr,[gr,ut,Jn]),yr=ut(),br=Jn(),[xr,Sr]=_r(pr),[Cr,wr]=_r(pr),Tr=J(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=yr(t),[c,l]=K.useState(null),u=K.useRef(!1),d=ot(a),f=Ne(i);return K.useEffect(()=>{let e=J(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=J(()=>u.current=!1,`handlePointer`);return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),K.useEffect(()=>{if(!n)return;let e=J(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,q.jsx)(pt,{...s,children:(0,q.jsx)(xr,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,q.jsx)(Cr,{scope:t,onClose:K.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),Er=K.forwardRef(J(function(e,t){let{__scopeMenu:n,...r}=e,i=yr(n);return(0,q.jsx)(dt,{...i,...r,ref:t})},`MenuAnchor`)),Dr=`MenuPortal`,[Or,kr]=_r(Dr,{forceMount:void 0}),Ar=J(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=Sr(Dr,t);return(0,q.jsx)(Or,{scope:t,forceMount:n,children:(0,q.jsx)(at,{present:n||a.open,children:(0,q.jsx)(Xe,{asChild:!0,container:i,children:r})})})},`MenuPortal`),jr=`MenuContent`,[Mr,Nr]=_r(jr),Pr=K.forwardRef(J(function(e,t){let n=kr(jr,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=Sr(jr,e.__scopeMenu),o=wr(jr,e.__scopeMenu);return(0,q.jsx)(mr.Provider,{scope:e.__scopeMenu,children:(0,q.jsx)(at,{present:r||a.open,children:(0,q.jsx)(mr.Slot,{scope:e.__scopeMenu,children:o.modal?(0,q.jsx)(Fr,{...i,ref:t}):(0,q.jsx)(Ir,{...i,ref:t})})})})},`MenuContent`)),Fr=K.forwardRef(J(function(e,t){let n=Sr(jr,e.__scopeMenu),r=K.useRef(null),i=Ge(t,r);return K.useEffect(()=>{let e=r.current;if(e)return it(e)},[]),(0,q.jsx)(Rr,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:G(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentModal`)),Ir=K.forwardRef(J(function(e,t){let n=Sr(jr,e.__scopeMenu);return(0,q.jsx)(Rr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),Lr=ct(`MenuContent.ScrollLock`),Rr=K.forwardRef(J(function(e,t){let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...h}=e,g=Sr(jr,n),_=wr(jr,n),v=yr(n),y=br(n),b=hr(n),[x,S]=K.useState(null),C=K.useRef(null),[w,T]=K.useState(null);tt(w);let{nodes:E,registry:D}=$e(),O=!!(i||m),k=Ge(t,C,g.onContentChange,T),A=K.useRef(0),j=K.useRef(``),M=K.useRef(0),N=K.useRef(null),P=K.useRef(`right`),F=K.useRef(0),I=K.useMemo(()=>m?[C,...E.map(e=>({current:e}))]:[],[C,E,m]),L=m?Ye:K.Fragment,R=m?{as:Lr,allowPinchZoom:!0,shards:I}:void 0,z=J(e=>{let t=j.current+e,n=b().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=ti(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;J((function e(t){j.current=t,window.clearTimeout(A.current),t!==``&&(A.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(t),o&&setTimeout(()=>o.focus())},`handleTypeaheadSearch`);K.useEffect(()=>()=>window.clearTimeout(A.current),[]),et();let B=K.useCallback(e=>P.current===N.current?.side&&ri(e,N.current?.area),[]);return(0,q.jsx)(Mr,{scope:n,searchRef:j,onItemEnter:K.useCallback(e=>{B(e)&&e.preventDefault()},[B]),onItemLeave:K.useCallback(e=>{B(e)||(C.current?.focus(),S(null))},[B]),onTriggerLeave:K.useCallback(e=>{B(e)&&e.preventDefault()},[B]),pointerGraceTimerRef:M,onPointerGraceIntentChange:K.useCallback(e=>{N.current=e},[]),children:(0,q.jsx)(rt,{registry:O?D:null,children:(0,q.jsx)(L,{...R,children:(0,q.jsx)(Ze,{asChild:!0,trapped:i,branches:E,onMountAutoFocus:G(a,e=>{e.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,q.jsx)(Qe,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,q.jsx)($n,{asChild:!0,...y,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:x,onCurrentTabStopIdChange:S,onEntryFocus:G(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,q.jsx)(ft,{role:`menu`,"aria-orientation":`vertical`,"data-state":Xr(g.open),"data-radix-menu-content":``,dir:_.dir,...v,...h,ref:k,style:{outline:`none`,...h.style},onKeyDown:G(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&z(e.key));let i=C.current;if(e.target!==i||!fr.includes(e.key))return;e.preventDefault();let a=b().filter(e=>!e.disabled).map(e=>e.ref.current);dr.includes(e.key)&&a.reverse(),$r(a)}),onBlur:G(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(A.current),j.current=``)}),onPointerMove:G(e.onPointerMove,ii(e=>{let t=e.target,n=F.current!==e.clientX;if(e.currentTarget.contains(t)&&n){let t=e.clientX>F.current?`right`:`left`;P.current=t,F.current=e.clientX}}))})})})})})})})},`MenuContentImpl`)),zr=`MenuItem`,Br=`menu.itemSelect`,Vr=K.forwardRef(J(function(e,t){let{disabled:n=!1,onSelect:r,...i}=e,a=K.useRef(null),o=wr(zr,e.__scopeMenu),s=Nr(zr,e.__scopeMenu),c=Ge(t,a),l=K.useRef(!1),u=J(()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Br,{bubbles:!0,cancelable:!0});e.addEventListener(Br,e=>r?.(e),{once:!0}),Je(e,t),t.defaultPrevented?l.current=!1:o.onClose()}},`handleSelect`);return(0,q.jsx)(Hr,{...i,ref:c,disabled:n,onClick:G(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:G(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:G(e.onKeyDown,e=>{n||e.target!==e.currentTarget||(s.searchRef.current===``||e.key!==` `)&&lr.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),Hr=K.forwardRef(J(function(e,t){let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=Nr(zr,n),s=br(n),c=K.useRef(null),l=Ge(t,c),[u,d]=K.useState(!1),[f,p]=K.useState(``);return K.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,q.jsx)(mr.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,q.jsx)(nr,{asChild:!0,...s,focusable:!r,children:(0,q.jsx)(lt.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:G(e.onPointerMove,ii(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:G(e.onPointerLeave,ii(e=>o.onItemLeave(e))),onFocus:G(e.onFocus,()=>d(!0)),onBlur:G(e.onBlur,()=>d(!1))})})})},`MenuItemImpl`)),[Ur,Wr]=_r(`MenuRadioGroup`,{value:void 0,onValueChange:J(()=>{},`onValueChange`)}),[Gr,Kr]=_r(`MenuItemIndicator`,{checked:!1}),qr=K.forwardRef(J(function(e,t){let{__scopeMenu:n,...r}=e;return(0,q.jsx)(lt.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),[Jr,Yr]=_r(`MenuSub`);function Xr(e){return e?`open`:`closed`}J(Xr,`getOpenState`);function Zr(e){return e===`indeterminate`}J(Zr,`isIndeterminate`);function Qr(e){return Zr(e)?`indeterminate`:e?`checked`:`unchecked`}J(Qr,`getCheckedState`);function $r(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}J($r,`focusFirst`);function ei(e,t){return e.map((n,r)=>e[(t+r)%e.length])}J(ei,`wrapArray`);function ti(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=ei(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}J(ti,`getNextMatch`);function ni(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}J(ni,`isPointInPolygon`);function ri(e,t){return t?ni({x:e.clientX,y:e.clientY},t):!1}J(ri,`isPointerInGraceArea`);function ii(e){return t=>t.pointerType===`mouse`?e(t):void 0}J(ii,`whenMouse`);var ai=Object.defineProperty,oi=(e,t)=>ai(e,`name`,{value:t,configurable:!0}),si=`ContextMenu`,[ci,li]=Ke(si,[vr]),ui=vr(),[di,fi]=ci(si),pi=oi(e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:i,dir:a,modal:o=!0}=e,s=K.useRef(!1),[c,l]=We({prop:i,defaultProp:!1,onChange:r,caller:si}),u=ui(t);return(0,q.jsx)(di,{scope:t,open:c,onOpenChange:l,modal:o,hasInteractedRef:s,children:(0,q.jsx)(Tr,{...u,dir:a,open:c,onOpenChange:l,modal:o,children:n})})},`ContextMenu`),mi=`ContextMenuTrigger`,hi=K.forwardRef(oi(function(e,t){let{__scopeContextMenu:n,disabled:r=!1,...i}=e,a=fi(mi,n),o=ui(n),[s,c]=K.useState({x:0,y:0}),l=K.useMemo(()=>({current:{getBoundingClientRect:oi(()=>DOMRect.fromRect({width:0,height:0,...s}),`getBoundingClientRect`)}}),[s]),u=K.useRef(0),d=K.useCallback(()=>window.clearTimeout(u.current),[]),f=oi(e=>{a.hasInteractedRef.current=!0,c({x:e.clientX,y:e.clientY}),a.onOpenChange(!0)},`handleOpen`);return K.useEffect(()=>d,[d]),K.useEffect(()=>void(r&&d()),[r,d]),(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Er,{...o,virtualRef:l}),(0,q.jsx)(lt.span,{"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,...i,ref:t,style:{WebkitTouchCallout:`none`,...e.style},onContextMenu:r?e.onContextMenu:G(e.onContextMenu,e=>{d(),f(e),e.preventDefault()}),onPointerDown:r?e.onPointerDown:G(e.onPointerDown,xi(e=>{d(),a.open&&a.onOpenChange(!1),u.current=window.setTimeout(()=>f(e),700)})),onPointerMove:r?e.onPointerMove:G(e.onPointerMove,xi(d)),onPointerCancel:r?e.onPointerCancel:G(e.onPointerCancel,xi(d)),onPointerUp:r?e.onPointerUp:G(e.onPointerUp,xi(d))})]})},`ContextMenuTrigger`)),gi=oi(e=>{let{__scopeContextMenu:t,...n}=e,r=ui(t);return(0,q.jsx)(Ar,{...r,...n})},`ContextMenuPortal`),_i=`ContextMenuContent`,vi=K.forwardRef(oi(function(e,t){let{__scopeContextMenu:n,...r}=e,i=fi(_i,n),a=ui(n),o=K.useRef(!1);return(0,q.jsx)(Pr,{...a,...r,ref:t,side:`right`,sideOffset:2,align:`start`,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),!t.defaultPrevented&&o.current&&t.preventDefault(),o.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),!t.defaultPrevented&&!i.modal&&(o.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`ContextMenuContent`)),yi=K.forwardRef(oi(function(e,t){let{__scopeContextMenu:n,...r}=e,i=ui(n);return(0,q.jsx)(Vr,{...i,...r,ref:t})},`ContextMenuItem`)),bi=K.forwardRef(oi(function(e,t){let{__scopeContextMenu:n,...r}=e,i=ui(n);return(0,q.jsx)(qr,{...i,...r,ref:t})},`ContextMenuSeparator`));function xi(e){return t=>t.pointerType===`mouse`?void 0:e(t)}oi(xi,`whenTouchOrPen`);var Si=K.createContext(null);function Ci({onOpenChange:e,...t}){let[n,r]=K.useState(0),i=K.useCallback(()=>{r(e=>e+1),e?.(!1)},[e]);return(0,q.jsx)(Si.Provider,{value:i,children:(0,q.jsx)(pi,{onOpenChange:e,...t},n)})}var wi=hi,Ti=K.forwardRef(({className:e,...t},n)=>(0,q.jsx)(gi,{children:(0,q.jsx)(vi,{ref:n,className:w(`z-50 min-w-[170px] overflow-hidden rounded-xl border border-border bg-background p-1 shadow-lg outline-hidden animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,e),...t})}));Ti.displayName=vi.displayName;var Ei=K.forwardRef(({className:e,onSelect:t,...n},r)=>{let i=K.useContext(Si);return(0,q.jsx)(yi,{ref:r,className:w(`relative flex cursor-default select-none items-center gap-2.5 rounded-lg px-3 py-2 text-xs font-medium text-foreground outline-hidden transition-colors hover:bg-muted focus:bg-muted data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),onSelect:e=>{t?.(e),i?.()},...n})});Ei.displayName=yi.displayName;var Di=K.forwardRef(({className:e,...t},n)=>(0,q.jsx)(bi,{ref:n,className:w(`-mx-1 my-1 h-px bg-border`,e),...t}));Di.displayName=bi.displayName;var Oi=e(n());function ki(){var e=[...arguments];return(0,K.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Ai=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function ji(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Mi(e){return`nodeType`in e}function Y(e){return e?ji(e)?e:Mi(e)?e.ownerDocument?.defaultView??window:window:window}function Ni(e){let{Document:t}=Y(e);return e instanceof t}function Pi(e){return!ji(e)&&e instanceof Y(e).HTMLElement}function Fi(e){return e instanceof Y(e).SVGElement}function Ii(e){return e?ji(e)?e.document:Mi(e)?Ni(e)?e:Pi(e)||Fi(e)?e.ownerDocument:document:document:document}var Li=Ai?K.useLayoutEffect:K.useEffect;function Ri(e){let t=(0,K.useRef)(e);return Li(()=>{t.current=e}),(0,K.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function zi(){let e=(0,K.useRef)(null);return[(0,K.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,K.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Bi(e,t){t===void 0&&(t=[e]);let n=(0,K.useRef)(e);return Li(()=>{n.current!==e&&(n.current=e)},t),n}function Vi(e,t){let n=(0,K.useRef)();return(0,K.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function Hi(e){let t=Ri(e),n=(0,K.useRef)(null);return[n,(0,K.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Ui(e){let t=(0,K.useRef)();return(0,K.useEffect)(()=>{t.current=e},[e]),t.current}var Wi={};function Gi(e,t){return(0,K.useMemo)(()=>{if(t)return t;let n=Wi[e]==null?0:Wi[e]+1;return Wi[e]=n,e+`-`+n},[e,t])}function Ki(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var qi=Ki(1),Ji=Ki(-1);function Yi(e){return`clientX`in e&&`clientY`in e}function Xi(e){if(!e)return!1;let{KeyboardEvent:t}=Y(e.target);return t&&e instanceof t}function Zi(e){if(!e)return!1;let{TouchEvent:t}=Y(e.target);return t&&e instanceof t}function Qi(e){if(Zi(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Yi(e)?{x:e.clientX,y:e.clientY}:null}var $i=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[$i.Translate.toString(e),$i.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),ea=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function ta(e){return e.matches(ea)?e:e.querySelector(ea)}var na={display:`none`};function ra(e){let{id:t,value:n}=e;return K.createElement(`div`,{id:t,style:na},n)}function ia(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return K.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function aa(){let[e,t]=(0,K.useState)(``);return{announce:(0,K.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var oa=(0,K.createContext)(null);function sa(e){let t=(0,K.useContext)(oa);(0,K.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function ca(){let[e]=(0,K.useState)(()=>new Set),t=(0,K.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,K.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var la={draggable:`
|
|
2
|
-
To pick up a draggable item, press the space bar.
|
|
3
|
-
While dragging, use the arrow keys to move the item.
|
|
4
|
-
Press space again to drop the item in its new position, or press escape to cancel.
|
|
5
|
-
`},ua={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function da(e){let{announcements:t=ua,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=la}=e,{announce:a,announcement:o}=aa(),s=Gi(`DndLiveRegion`),[c,l]=(0,K.useState)(!1);if((0,K.useEffect)(()=>{l(!0)},[]),sa((0,K.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=K.createElement(K.Fragment,null,K.createElement(ra,{id:r,value:i.draggable}),K.createElement(ia,{id:s,announcement:o}));return n?(0,Oi.createPortal)(u,n):u}var X;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(X||={});function fa(){}function pa(e,t){return(0,K.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function ma(){var e=[...arguments];return(0,K.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var ha=Object.freeze({x:0,y:0});function ga(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function _a(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function va(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function ya(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function ba(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function xa(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var Sa=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=xa(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=ga(xa(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(_a)};function Ca(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var wa=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=Ca(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(va)};function Ta(e,t){let{top:n,left:r,bottom:i,right:a}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=a}var Ea=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];let i=[];for(let e of t){let{id:t}=e,a=n.get(t);if(a&&Ta(r,a)){let n=ya(a).reduce((e,t)=>e+ga(r,t),0),o=Number((n/4).toFixed(4));i.push({id:t,data:{droppableContainer:e,value:o}})}}return i.sort(_a)};function Da(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Oa(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ha}function ka(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var Aa=ka(1);function ja(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Ma(e,t,n){let r=ja(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var Na={ignoreTransform:!1};function Pa(e,t){t===void 0&&(t=Na);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=Y(e).getComputedStyle(e);t&&(n=Ma(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function Fa(e){return Pa(e,{ignoreTransform:!0})}function Ia(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function La(e,t){return t===void 0&&(t=Y(e).getComputedStyle(e)),t.position===`fixed`}function Ra(e,t){t===void 0&&(t=Y(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`&&n.test(r)})}function za(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Ni(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Pi(i)||Fi(i)||n.includes(i))return n;let a=Y(e).getComputedStyle(i);return i!==e&&Ra(i,a)&&n.push(i),La(i,a)?n:r(i.parentNode)}return e?r(e):n}function Ba(e){let[t]=za(e,1);return t??null}function Va(e){return!Ai||!e?null:ji(e)?e:Mi(e)?Ni(e)||e===Ii(e).scrollingElement?window:Pi(e)?e:null:null}function Ha(e){return ji(e)?e.scrollX:e.scrollLeft}function Ua(e){return ji(e)?e.scrollY:e.scrollTop}function Wa(e){return{x:Ha(e),y:Ua(e)}}var Z;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Z||={});function Ga(e){return!Ai||!e?!1:e===document.scrollingElement}function Ka(e){let t={x:0,y:0},n=Ga(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var qa={x:.2,y:.2};function Ja(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=qa);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=Ka(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Z.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Z.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Z.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Z.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function Ya(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function Xa(e){return e.reduce((e,t)=>qi(e,Wa(t)),ha)}function Za(e){return e.reduce((e,t)=>e+Ha(t),0)}function Qa(e){return e.reduce((e,t)=>e+Ua(t),0)}function $a(e,t){if(t===void 0&&(t=Pa),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Ba(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var eo=[[`x`,[`left`,`right`],Za],[`y`,[`top`,`bottom`],Qa]],to=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=za(t),r=Xa(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of eo)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},no=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function ro(e){let{EventTarget:t}=Y(e);return e instanceof t?e:Ii(e)}function io(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t&&r>t.y}var ao;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(ao||={});function oo(e){e.preventDefault()}function so(e){e.stopPropagation()}var Q;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(Q||={});var co={start:[Q.Space,Q.Enter],cancel:[Q.Esc],end:[Q.Space,Q.Enter,Q.Tab]},lo=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Q.Right:return{...n,x:n.x+25};case Q.Left:return{...n,x:n.x-25};case Q.Down:return{...n,y:n.y+25};case Q.Up:return{...n,y:n.y-25}}},uo=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new no(Ii(t)),this.windowListeners=new no(Y(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ao.Resize,this.handleCancel),this.windowListeners.add(ao.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ao.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&$a(n),t(ha)}handleKeyDown(e){if(Xi(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=co,coordinateGetter:a=lo,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:ha;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Ji(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=Ka(n),p=Ya(n),m={x:Math.min(i===Q.Right?p.right-p.width/2:p.right,Math.max(i===Q.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===Q.Down?p.bottom-p.height/2:p.bottom,Math.max(i===Q.Down?p.top:p.top+p.height/2,u.y))},h=i===Q.Right&&!s||i===Q.Left&&!c,g=i===Q.Down&&!l||i===Q.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===Q.Right&&e<=d.x||i===Q.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}r.x=a?n.scrollLeft-e:i===Q.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===Q.Down&&e<=d.y||i===Q.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}r.y=a?n.scrollTop-e:i===Q.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,qi(Ji(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};uo.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=co,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function fo(e){return!!(e&&`distance`in e)}function po(e){return!!(e&&`delay`in e)}var mo=class{constructor(e,t,n){n===void 0&&(n=ro(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=Ii(i),this.documentListeners=new no(this.document),this.listeners=new no(n),this.windowListeners=new no(Y(i)),this.initialCoordinates=Qi(r)??ha,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(ao.Resize,this.handleCancel),this.windowListeners.add(ao.DragStart,oo),this.windowListeners.add(ao.VisibilityChange,this.handleCancel),this.windowListeners.add(ao.ContextMenu,oo),this.documentListeners.add(ao.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(po(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(fo(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(ao.Click,so,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ao.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=Qi(e)??ha,s=Ji(n,o);if(!t&&a){if(fo(a)){if(a.tolerance!=null&&io(s,a.tolerance))return this.handleCancel();if(io(s,a.distance))return this.handleStart()}if(po(a)&&io(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===Q.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},ho={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},go=class extends mo{constructor(e){let{event:t}=e,n=Ii(t.target);super(e,ho,n)}};go.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var _o={move:{name:`mousemove`},end:{name:`mouseup`}},vo;(function(e){e[e.RightClick=2]=`RightClick`})(vo||={});var yo=class extends mo{constructor(e){super(e,_o,Ii(e.event.target))}};yo.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==vo.RightClick&&(r?.({event:n}),!0)}}];var bo={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},xo=class extends mo{constructor(e){super(e,bo)}static setup(){return window.addEventListener(bo.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(bo.move.name,e)};function e(){}}};xo.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var So;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(So||={});var Co;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(Co||={});function wo(e){let{acceleration:t,activator:n=So.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=Co.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=Eo({delta:d,disabled:!a}),[m,h]=zi(),g=(0,K.useRef)({x:0,y:0}),_=(0,K.useRef)({x:0,y:0}),v=(0,K.useMemo)(()=>{switch(n){case So.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case So.DraggableRect:return i}},[n,i,c]),y=(0,K.useRef)(null),b=(0,K.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,K.useMemo)(()=>s===Co.TreeOrder?[...l].reverse():l,[s,l]);(0,K.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=l.indexOf(e),i=u[n];if(!i)continue;let{direction:a,speed:s}=Ja(e,i,v,t,f);for(let e of[`x`,`y`])p[e][a[e]]||(s[e]=0,a[e]=0);if(s.x>0||s.y>0){h(),y.current=e,m(b,o),g.current=s,_.current=a;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var To={x:{[Z.Backward]:!1,[Z.Forward]:!1},y:{[Z.Backward]:!1,[Z.Forward]:!1}};function Eo(e){let{delta:t,disabled:n}=e,r=Ui(t);return Vi(e=>{if(n||!r||!e)return To;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Z.Backward]:e.x[Z.Backward]||i.x===-1,[Z.Forward]:e.x[Z.Forward]||i.x===1},y:{[Z.Backward]:e.y[Z.Backward]||i.y===-1,[Z.Forward]:e.y[Z.Forward]||i.y===1}}},[n,t,r])}function Do(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return Vi(e=>t==null?null:r??e??null,[r,t])}function Oo(e,t){return(0,K.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var ko;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(ko||={});var Ao;(function(e){e.Optimized=`optimized`})(Ao||={});var jo=new Map;function Mo(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,K.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,K.useRef)(e),d=g(),f=Bi(d),p=(0,K.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,K.useRef)(null),h=Vi(t=>{if(d&&!n)return jo;if(!t||t===jo||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new to(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,K.useEffect)(()=>{u.current=e},[e]),(0,K.useEffect)(()=>{d||p()},[n,d]),(0,K.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,K.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case ko.Always:return!1;case ko.BeforeDragging:return n;default:return!n}}}function No(e,t){return Vi(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function Po(e,t){return No(e,t)}function Fo(e){let{callback:t,disabled:n}=e,r=Ri(t),i=(0,K.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,K.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Io(e){let{callback:t,disabled:n}=e,r=Ri(t),i=(0,K.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,K.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Lo(e){return new to(Pa(e),e)}function Ro(e,t,n){t===void 0&&(t=Lo);let[r,i]=(0,K.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=Fo({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=Io({callback:a});return Li(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function zo(e){return Oa(e,No(e))}var Bo=[];function Vo(e){let t=(0,K.useRef)(e),n=Vi(n=>e?n&&n!==Bo&&e&&t.current&&e.parentNode===t.current.parentNode?n:za(e):Bo,[e]);return(0,K.useEffect)(()=>{t.current=e},[e]),n}function Ho(e){let[t,n]=(0,K.useState)(null),r=(0,K.useRef)(e),i=(0,K.useCallback)(e=>{let t=Va(e.target);t&&n(e=>e?(e.set(t,Wa(t)),new Map(e)):null)},[]);return(0,K.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Va(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,Wa(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{Va(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,K.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>qi(e,t),ha):Xa(e):ha,[e,t])}function Uo(e,t){t===void 0&&(t=[]);let n=(0,K.useRef)(null);return(0,K.useEffect)(()=>{n.current=null},t),(0,K.useEffect)(()=>{let t=e!==ha;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Ji(e,n.current):ha}function Wo(e){(0,K.useEffect)(()=>{if(!Ai)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function Go(e,t){return(0,K.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function Ko(e){return(0,K.useMemo)(()=>e?Ia(e):null,[e])}var qo=[];function Jo(e,t){t===void 0&&(t=Pa);let[n]=e,r=Ko(n?Y(n):null),[i,a]=(0,K.useState)(qo);function o(){a(()=>e.length?e.map(e=>Ga(e)?r:new to(t(e),e)):qo)}let s=Io({callback:o});return Li(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function Yo(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Pi(t)?t:e}function Xo(e){let{measure:t}=e,[n,r]=(0,K.useState)(null),i=Io({callback:(0,K.useCallback)(e=>{for(let{target:n}of e)if(Pi(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=Hi((0,K.useCallback)(e=>{let n=Yo(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,K.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var Zo=[{sensor:go,options:{}},{sensor:uo,options:{}}],Qo={current:{}},$o={draggable:{measure:Fa},droppable:{measure:Fa,strategy:ko.WhileDragging,frequency:Ao.Optimized},dragOverlay:{measure:Pa}},es=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},ts={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new es,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:fa},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:$o,measureDroppableContainers:fa,windowRect:null,measuringScheduled:!1},ns={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:fa,draggableNodes:new Map,over:null,measureDroppableContainers:fa},rs=(0,K.createContext)(ns),is=(0,K.createContext)(ts);function as(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new es}}}function os(e,t){switch(t.type){case X.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case X.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case X.DragEnd:case X.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case X.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new es(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case X.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new es(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case X.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new es(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function ss(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,K.useContext)(rs),a=Ui(r),o=Ui(n?.id);return(0,K.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!Xi(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=ta(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function cs(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function ls(e){return(0,K.useMemo)(()=>({draggable:{...$o.draggable,...e?.draggable},droppable:{...$o.droppable,...e?.droppable},dragOverlay:{...$o.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function us(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,K.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;Li(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=Oa(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=Ba(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var ds=(0,K.createContext)({...ha,scaleX:1,scaleY:1}),fs;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(fs||={});var ps=(0,K.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=Zo,collisionDetection:o=wa,measuring:s,modifiers:c,...l}=e,[u,d]=(0,K.useReducer)(os,void 0,as),[f,p]=ca(),[m,h]=(0,K.useState)(fs.Uninitialized),g=m===fs.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,K.useRef)({initial:null,translated:null}),C=(0,K.useMemo)(()=>_==null?null:{id:_,data:x?.data??Qo,rect:S},[_,x]),w=(0,K.useRef)(null),[T,E]=(0,K.useState)(null),[D,O]=(0,K.useState)(null),k=Bi(l,Object.values(l)),A=Gi(`DndDescribedBy`,t),j=(0,K.useMemo)(()=>b.getEnabled(),[b]),M=ls(s),{droppableRects:N,measureDroppableContainers:P,measuringScheduled:F}=Mo(j,{dragging:g,dependencies:[y.x,y.y],config:M.droppable}),I=Do(v,_),L=(0,K.useMemo)(()=>D?Qi(D):null,[D]),R=Te(),z=Po(I,M.draggable.measure);us({activeNode:_==null?null:v.get(_),config:R.layoutShiftCompensation,initialRect:z,measure:M.draggable.measure});let B=Ro(I,M.draggable.measure,z),V=Ro(I?I.parentElement:null),H=(0,K.useRef)({activatorEvent:null,active:null,activeNode:I,collisionRect:null,collisions:null,droppableRects:N,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ee=b.getNodeFor(H.current.over?.id),te=Xo({measure:M.dragOverlay.measure}),ne=te.nodeRef.current??I,re=g?te.rect??B:null,ie=!!(te.nodeRef.current&&te.rect),ae=zo(ie?null:B),oe=Ko(ne?Y(ne):null),se=Vo(g?ee??I:null),ce=Jo(se),le=cs(c,{transform:{x:y.x-ae.x,y:y.y-ae.y,scaleX:1,scaleY:1},activatorEvent:D,active:C,activeNodeRect:B,containerNodeRect:V,draggingNodeRect:re,over:H.current.over,overlayNodeRect:te.rect,scrollableAncestors:se,scrollableAncestorRects:ce,windowRect:oe}),ue=L?qi(L,y):null,de=Ho(se),fe=Uo(de),pe=Uo(de,[B]),U=qi(le,fe),me=re?Aa(re,le):null,he=C&&me?o({active:C,collisionRect:me,droppableRects:N,droppableContainers:j,pointerCoordinates:ue}):null,ge=ba(he,`id`),[_e,ve]=(0,K.useState)(null),ye=Da(ie?le:qi(le,pe),_e?.rect??null,B),be=(0,K.useRef)(null),xe=(0,K.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(w.current==null)return;let i=v.get(w.current);if(!i)return;let a=e.nativeEvent,o=new n({active:w.current,activeNode:i,event:a,options:r,context:H,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=k.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=k.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=w.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=k.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,Oi.unstable_batchedUpdates)(()=>{r?.(i),h(fs.Initializing),d({type:X.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),E(be.current),O(a)})},onMove(e){d({type:X.DragMove,coordinates:e})},onEnd:s(X.DragEnd),onCancel:s(X.DragCancel)});be.current=o;function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=H.current,o=null;if(t&&i){let{cancelDrop:s}=k.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===X.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=X.DragCancel)}w.current=null,(0,Oi.unstable_batchedUpdates)(()=>{d({type:e}),h(fs.Uninitialized),ve(null),E(null),O(null),be.current=null;let t=e===X.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=k.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),Se=Oo(a,(0,K.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(w.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},w.current=r,xe(n,t))},[v,xe]));Wo(a),Li(()=>{B&&m===fs.Initializing&&h(fs.Initialized)},[B,m]),(0,K.useEffect)(()=>{let{onDragMove:e}=k.current,{active:t,activatorEvent:n,collisions:r,over:i}=H.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:U.x,y:U.y},over:i};(0,Oi.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[U.x,U.y]),(0,K.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=H.current;if(!e||w.current==null||!t||!i)return;let{onDragOver:a}=k.current,o=r.get(ge),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,Oi.unstable_batchedUpdates)(()=>{ve(s),a?.(c),f({type:`onDragOver`,event:c})})},[ge]),Li(()=>{H.current={activatorEvent:D,active:C,activeNode:I,collisionRect:me,collisions:he,droppableRects:N,draggableNodes:v,draggingNode:ne,draggingNodeRect:re,droppableContainers:b,over:_e,scrollableAncestors:se,scrollAdjustedTranslate:U},S.current={initial:re,translated:me}},[C,I,he,me,v,ne,re,N,b,_e,se,U]),wo({...R,delta:y,draggingRect:me,pointerCoordinates:ue,scrollableAncestors:se,scrollableAncestorRects:ce});let Ce=(0,K.useMemo)(()=>({active:C,activeNode:I,activeNodeRect:B,activatorEvent:D,collisions:he,containerNodeRect:V,dragOverlay:te,draggableNodes:v,droppableContainers:b,droppableRects:N,over:_e,measureDroppableContainers:P,scrollableAncestors:se,scrollableAncestorRects:ce,measuringConfiguration:M,measuringScheduled:F,windowRect:oe}),[C,I,B,D,he,V,te,v,b,N,_e,P,se,ce,M,F,oe]),we=(0,K.useMemo)(()=>({activatorEvent:D,activators:Se,active:C,activeNodeRect:B,ariaDescribedById:{draggable:A},dispatch:d,draggableNodes:v,over:_e,measureDroppableContainers:P}),[D,Se,C,B,d,A,v,_e,P]);return K.createElement(oa.Provider,{value:p},K.createElement(rs.Provider,{value:we},K.createElement(is.Provider,{value:Ce},K.createElement(ds.Provider,{value:ye},i)),K.createElement(ss,{disabled:n?.restoreFocus===!1})),K.createElement(da,{...n,hiddenTextDescribedById:A}));function Te(){let e=T?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),ms=(0,K.createContext)(null),hs=`button`,gs=`Draggable`;function _s(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=Gi(gs),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,K.useContext)(rs),{role:p=hs,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,K.useContext)(g?ds:ms),[v,y]=Hi(),[b,x]=Hi(),S=Go(o,t),C=Bi(n);return Li(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:C}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,K.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===hs?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:S,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function vs(){return(0,K.useContext)(is)}var ys=`Droppable`,bs={timeout:25};function xs(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=Gi(ys),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,K.useContext)(rs),u=(0,K.useRef)({disabled:n}),d=(0,K.useRef)(!1),f=(0,K.useRef)(null),p=(0,K.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...bs,...i},_=Bi(h??r),v=Io({callback:(0,K.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=Hi((0,K.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=Bi(t);return(0,K.useEffect)(()=>{v&&y.current&&(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,K.useEffect)(()=>(s({type:X.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:X.UnregisterDroppable,key:a,id:r})),[r]),(0,K.useEffect)(()=>{n!==u.current.disabled&&(s({type:X.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}var Ss=y()(e=>({width:0,height:0,syncViewport:(t,n)=>e(e=>!Number.isFinite(t)||!Number.isFinite(n)||e.width===t&&e.height===n?e:{width:t,height:n})}));function Cs(e={dom:b}){let t=e.dom,n=Ss(e=>e.syncViewport);(0,K.useEffect)(()=>{let e=()=>n(t.getInnerWidth(),t.getInnerHeight());return e(),t.addWindowListener(`resize`,e)},[t,n])}var ws=y()((e,t)=>({request:null,requestComposerFocus:n=>{e({request:{chatId:n,nonce:(t().request?.nonce??0)+1}})},consumeComposerFocus:n=>{t().request?.nonce===n&&e({request:null})}}));function Ts(e){return Number.isFinite(e)&&e>0}function Es(e){return Ts(e)&&e<768}var Ds=`.kanna-terminal`,Os=4e3,ks=3e3,As=2e3,js=1e3;function Ms(e,t){if(t===``)return 0;let n=e.toLowerCase(),r=t.toLowerCase();if(n.startsWith(r))return Os-n.length;let i=n.indexOf(r);if(i>=0){let e=n[i-1];return(e===void 0||e===`-`||e===`_`||e===`.`||e===`/`||e===` `?ks:As)-i-n.length}let a=Ns(n,r);return a===null?null:js-a}function Ns(e,t){let n=-1,r=0;for(let i=0;i<e.length;i+=1)if(e[i]===t[r]&&(r===0&&(n=i),r+=1,r===t.length))return i-n;return null}function Ps(e,t=[]){let n=[...e.starredProjectGroups,...e.projectGroups],r=new Set,i=new Set,a=[];for(let e of n){if(r.has(e.groupKey))continue;r.add(e.groupKey),i.add(e.localPath);let t=Is(e);a.push({projectId:e.groupKey,name:xt(e.localPath),localPath:e.localPath,starred:e.starredAt!==void 0,sessionCount:t.length,lastActivityAt:Ls(t)})}for(let e of t)i.has(e.localPath)||(i.add(e.localPath),a.push({projectId:null,name:xt(e.localPath),localPath:e.localPath,starred:!1,sessionCount:0,lastActivityAt:e.lastOpenedAt??0}));return a}function Fs(e,t){let n=[...e.starredProjectGroups,...e.projectGroups].find(e=>e.groupKey===t);return n?Is(n).map(e=>({chatId:e.chatId,title:e.title,status:e.status,unread:e.unread,lastMessageAt:e.lastMessageAt})).sort((e,t)=>(t.lastMessageAt??0)-(e.lastMessageAt??0)):[]}function Is(e){return e.chats.filter(e=>e.stackId===void 0)}function Ls(e){let t=0;for(let n of e){let e=n.lastMessageAt??0;e>t&&(t=e)}return t}function Rs(e,t){let n=[];for(let r of e){let e=zs(Ms(r.name,t),Ms(r.localPath,t));e!==null&&n.push({project:r,score:e})}return n.sort((e,t)=>Bs(e,t)).map(e=>e.project)}function zs(e,t){return e===null?t:t===null?e:Math.max(e,t)}function Bs(e,t){return e.score===t.score?e.project.starred===t.project.starred?e.project.lastActivityAt===t.project.lastActivityAt?e.project.name.localeCompare(t.project.name):t.project.lastActivityAt-e.project.lastActivityAt:e.project.starred?-1:1:t.score-e.score}function Vs(e,t){if(t===``)return[...e];let n=[];for(let r of e){let e=Ms(r.title,t);e!==null&&n.push({session:r,score:e})}return n.sort((e,t)=>e.score===t.score?(t.session.lastMessageAt??0)-(e.session.lastMessageAt??0):t.score-e.score).map(e=>e.session)}function Hs(e){return e===null||!(e instanceof Element)?!1:e.closest(Ds)!==null}function Us(e,t){return!Hs(t.target)&&s(e,`openProjectSwitcher`,t)}function Ws(e,t){if(t===``||!e.startsWith(t))return e;let n=e.slice(t.length);return n===``?`~`:n.startsWith(`/`)?`~${n}`:e}function Gs(e){return/mac|iphone|ipad|ipod/i.test(e)}function Ks(e,t){return t<=0?0:e<0?t-1:e>=t?0:e}var qs={readonly:!1,localLinkMode:`open`,askUserQuestionSurface:`inline`},Js=(0,K.createContext)(qs);function Ys({children:e,value:t}){let n=(0,K.useMemo)(()=>({...qs,...t}),[t]);return(0,q.jsx)(Js.Provider,{value:n,children:e})}function Xs(){return(0,K.useContext)(Js)}var Zs=mt(`UserMessage`,()=>e=>({selectedAttachmentId:null,setSelectedAttachmentId:t=>e({selectedAttachmentId:t})}));function Qs(e){let t=e.match(/^<system-message>\s*([\s\S]*?)\s*<\/system-message>\s*([\s\S]*)$/);return t?{systemMessage:t[1]?.trim()||null,body:t[2]??``}:{systemMessage:null,body:e}}function $s({content:e,attachments:t=[],steered:n=!1,autoContinue:r,expandedCommand:i,ports:a}){let o=a?.dom??b,s=Zs.useScopedStore(e=>e.selectedAttachmentId),c=Zs.useScopedStore(e=>e.setSelectedAttachmentId),l=Xs(),u=(0,K.useMemo)(()=>Qs(e),[e]),d=!l.readonly,f=(0,K.useMemo)(()=>t.filter(e=>e.kind===`image`&&e.contentUrl),[t]),p=(0,K.useMemo)(()=>t.filter(e=>e.kind!==`image`||!e.contentUrl),[t]),m=t.find(e=>e.id===s)??null,h=m?ne(m,`user_attachment`):null;function g(e){if(d&&e.contentUrl){if(z(e).openInNewTab){o.openWindow(new URL(e.contentUrl,o.getBaseURI()||o.getHref()).toString(),`_blank`,`noopener,noreferrer`);return}c(e.id)}}return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`flex flex-col items-start gap-2 border-l-2 border-foreground/25 pl-3`,"data-user-prompt":`true`,children:[f.length>0?(0,q.jsx)(`div`,{className:`flex max-w-[85%] flex-wrap gap-3 sm:max-w-[80%]`,children:f.map(e=>(0,q.jsx)(ie,{attachment:e,onClick:d?()=>g(e):void 0},e.id))}):null,p.length>0?(0,q.jsx)(`div`,{className:`flex max-w-[85%] flex-wrap gap-2 sm:max-w-[80%]`,children:p.map(e=>(0,q.jsx)(ae,{attachment:e,onClick:d?()=>g(e):void 0},e.id))}):null,u.body||!u.body&&t.length===0&&e&&!u.systemMessage?(0,q.jsxs)(`div`,{className:`flex w-full flex-col gap-0.5`,children:[(0,q.jsxs)(`span`,{className:`flex items-center gap-1.5 select-none text-15 font-semibold leading-snug text-foreground`,children:[(0,q.jsx)(`span`,{"aria-hidden":!0,children:`You`}),n?(0,q.jsx)(un,{"aria-label":`Sent mid-turn`,className:`size-3.5 shrink-0`}):null]}),(0,q.jsx)(`div`,{className:`min-w-0 text-foreground prose prose-sm dark:prose-invert [&_p]:whitespace-pre-line`,children:xe(u.body)})]}):null,i?(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground opacity-70`,children:[`ran the `,(0,q.jsx)(`span`,{className:`font-mono`,children:i.name}),` `,i.kind]}):null,r?(0,q.jsx)(`span`,{className:`text-xs text-muted-foreground opacity-70`,children:`auto-sent`}):null]}),(0,q.jsx)(le,{source:h,open:h!==null,onOpenChange:e=>!e&&c(null)})]})}var ec=(0,K.memo)(({content:e,attachments:t=[],steered:n=!1,autoContinue:r,expandedCommand:i,ports:a})=>(0,q.jsx)(Zs.Provider,{init:void 0,children:(0,q.jsx)($s,{content:e,attachments:t,steered:n,autoContinue:r,expandedCommand:i,ports:a})}));function tc({json:e}){return(0,q.jsx)(`div`,{className:`flex gap-3 justify-start`,children:(0,q.jsx)(`div`,{className:`flex-1 max-w-[90%]`,children:(0,q.jsx)(`pre`,{className:`text-xs font-mono whitespace-pre-wrap break-words bg-muted rounded-lg p-3 overflow-auto max-h-96`,children:e})})})}var nc=e=>mt(e,()=>e=>({open:!1,setOpen:t=>e({open:t})})),rc=nc(`CollapsibleSection`),ic=nc(`ExpandableMcpServer`),ac=nc(`RawMessageSection`);function oc({title:e,count:t,children:n,badge:r}){let i=rc.useScopedStore(e=>e.open),a=rc.useScopedStore(e=>e.setOpen);return t===0?null:(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsxs)(`button`,{onClick:()=>a(!i),className:`flex items-center gap-1 cursor-pointer group/section hover:opacity-60 transition-opacity`,children:[(0,q.jsx)(Fe,{className:w(`h-3.5 w-3.5 text-muted-foreground transition-transform duration-200`,i&&`rotate-90`)}),(0,q.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:e}),(0,q.jsx)(`span`,{className:`text-muted-foreground/60`,children:t}),r]}),i&&(0,q.jsx)(`div`,{className:`ml-5`,children:n})]})}function sc({title:e,count:t,children:n,badge:r}){return(0,q.jsx)(rc.Provider,{init:void 0,children:(0,q.jsx)(oc,{title:e,count:t,badge:r,children:n})})}function cc({title:e,items:t,icon:n,getIcon:r}){return t.length===0?null:(0,q.jsx)(sc,{title:e,count:t.length,children:(0,q.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map(e=>(0,q.jsx)(N,{icon:r?r(e):n,children:e},e))})})}function lc(e){let t=e.match(/^mcp__([^_]+)__(.+)$/);return t?{server:t[1],tool:t[2]}:null}function uc({status:e}){let t;return t=e===`connected`?`bg-success`:e===`pending`?`bg-warning`:`bg-destructive`,(0,q.jsx)(`span`,{className:w(`inline-block h-2 w-2 rounded-full shrink-0`,t)})}function dc(e){switch(e){case`connected`:return`Connected`;case`failed`:return`Failed`;case`needs-auth`:return`Needs auth`;case`pending`:return`Connecting...`;case`disabled`:return`Disabled`;default:return e}}function fc({server:e}){let t=ic.useScopedStore(e=>e.open),n=ic.useScopedStore(e=>e.setOpen),r=e.status===`connected`;return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsxs)(`button`,{onClick:()=>r&&e.tools.length>0&&n(!t),className:w(`flex items-center gap-1.5`,r&&e.tools.length>0&&`cursor-pointer hover:opacity-60 transition-opacity`),children:[r&&e.tools.length>0&&(0,q.jsx)(Fe,{className:w(`h-3 w-3 text-muted-foreground transition-transform duration-200`,t&&`rotate-90`)}),(0,q.jsx)(uc,{status:e.status}),(0,q.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:St(e.name)}),r?(0,q.jsxs)(`span`,{className:`text-muted-foreground/50`,children:[e.tools.length,` tools`]}):(0,q.jsx)(`span`,{className:`text-muted-foreground/50`,children:dc(e.status)})]}),!r&&e.error&&(0,q.jsx)(`span`,{className:`text-destructive ml-5`,children:e.error}),t&&e.tools.length>0&&(0,q.jsx)(`div`,{className:`flex flex-wrap gap-1.5 ml-5`,children:e.tools.map(t=>(0,q.jsx)(N,{icon:M(`mcp__${e.name}__${t}`),children:t},t))})]})}function pc({server:e}){return(0,q.jsx)(ic.Provider,{init:void 0,children:(0,q.jsx)(fc,{server:e})})}function mc({servers:e}){if(e.length===0)return null;let t=e.filter(e=>e.status===`connected`),n=e.filter(e=>e.status!==`connected`),r=n.length>0?(0,q.jsxs)(`span`,{className:`flex items-center gap-1 ml-1`,children:[(0,q.jsx)(uc,{status:`failed`}),(0,q.jsxs)(`span`,{className:`text-muted-foreground/60`,children:[n.length,` disconnected`]})]}):null;return(0,q.jsx)(sc,{title:`MCP Servers`,count:e.length,badge:r,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[t.map(e=>(0,q.jsx)(pc,{server:e},e.name)),n.map(e=>(0,q.jsx)(pc,{server:e},e.name))]})})}function hc({rawJson:e}){let t=ac.useScopedStore(e=>e.open),n=ac.useScopedStore(e=>e.setOpen);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsxs)(`button`,{onClick:()=>n(!t),className:`flex items-center gap-1 cursor-pointer group/section hover:opacity-60 transition-opacity`,children:[(0,q.jsx)(Fe,{className:w(`h-3.5 w-3.5 text-muted-foreground transition-transform duration-200`,t&&`rotate-90`)}),(0,q.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:`Raw Message`})]}),t&&(0,q.jsx)(`pre`,{className:`ml-5 text-xs whitespace-pre-wrap break-all border border-border rounded-md p-3 overflow-x-auto max-h-96 overflow-y-auto`,children:e})]})}function gc({rawJson:e}){return(0,q.jsx)(ac.Provider,{init:void 0,children:(0,q.jsx)(hc,{rawJson:e})})}function _c({message:e,rawJson:t}){let{coreTools:n,mcpServersWithTools:r}=(0,K.useMemo)(()=>{let t=new Map,n=[];for(let r of e.tools){let e=lc(r);if(e){let n=t.get(e.server)||[];n.push(e.tool),t.set(e.server,n)}else n.push(r)}return{coreTools:n,mcpServersWithTools:e.mcpServers.map(e=>({name:e.name,status:e.status,error:e.error,tools:t.get(e.name)||[]}))}},[e.tools,e.mcpServers]);return(0,q.jsx)(de,{children:(0,q.jsxs)(ue,{expandedContent:(0,q.jsx)(R,{className:`my-4 text-xs`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(H,{children:e.model}),(0,q.jsx)(cc,{title:`Tools`,items:n,getIcon:e=>oe[e]??se}),(0,q.jsx)(cc,{title:`Agents`,items:e.agents,icon:pe}),(0,q.jsx)(cc,{title:`Commands`,items:e.slashCommands,icon:on}),(0,q.jsx)(mc,{servers:r}),t&&(0,q.jsx)(gc,{rawJson:t})]})}),children:[(0,q.jsx)(kt,{className:`h-5 w-5 text-logo`}),(0,q.jsx)(V,{children:`Session Started`})]})})}var vc=mt(`AccountInfoMessage`,()=>e=>({expanded:!1,setExpanded:t=>e({expanded:t})})),yc={"kanna-oauth-pool":`Pool token`,"claude-pro":`Claude Pro`,"claude-max":`Claude Max`,openrouter:`OpenRouter`};function bc(e,t){return e?yc[e]??e:t?`API key (${t})`:null}function xc({message:e}){let{organization:t,tokenSource:n,apiKeySource:r,subscriptionType:i,email:a,oauthKeyMasked:o}=e.accountInfo,s=o??t??a??`Unknown account`,c=bc(n,r),l=vc.useScopedStore(e=>e.expanded),u=vc.useScopedStore(e=>e.setExpanded);return(0,q.jsx)(de,{children:(0,q.jsxs)(`div`,{className:`flex w-full flex-col`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>u(!l),"aria-expanded":l,className:`group/account flex w-full items-center gap-2.5 text-left transition-opacity hover:opacity-80 focus-visible:opacity-100`,children:[(0,q.jsx)(`span`,{className:`text-12 font-medium text-muted-foreground`,children:`Account`}),(0,q.jsx)(`span`,{className:`h-3 w-px bg-border/60`,"aria-hidden":!0}),(0,q.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-13 font-medium leading-snug text-foreground`,children:s}),c?(0,q.jsx)(`span`,{className:`hidden whitespace-nowrap text-xs text-muted-foreground sm:inline`,children:c}):null,(0,q.jsx)(Fe,{className:w(`h-3.5 w-3.5 flex-shrink-0 text-muted-foreground transition-transform duration-200`,l&&`rotate-90`),"aria-hidden":!0})]}),c?(0,q.jsx)(`span`,{className:`mt-0.5 text-xs text-muted-foreground sm:hidden`,children:c}):null,l?(0,q.jsx)(R,{className:`mt-3 mb-2 text-xs`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(re,{label:`OAuth key`,copyText:s,children:(0,q.jsx)(`code`,{className:`block text-xs whitespace-pre-wrap break-all`,children:s})}),(0,q.jsxs)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-5 gap-y-1.5`,children:[c?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Source`}),(0,q.jsx)(`dd`,{className:`text-foreground/90`,children:c})]}):null,i?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Plan`}),(0,q.jsx)(`dd`,{className:`text-foreground/90`,children:i})]}):null,a?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Email`}),(0,q.jsx)(`dd`,{className:`font-mono break-all text-foreground/90`,children:a})]}):null,t?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Organization`}),(0,q.jsx)(`dd`,{className:`text-foreground/90`,children:t})]}):null]})]})}):null]})})}function Sc({message:e}){return(0,q.jsx)(vc.Provider,{init:void 0,children:(0,q.jsx)(xc,{message:e})})}function Cc({message:e,onRemove:t}){return(0,q.jsx)(I.Provider,{init:void 0,children:(0,q.jsx)(wc,{message:e,onRemove:t})})}function wc({message:e,onRemove:t}){let n=I.useScopedStore(e=>e.copied),r=I.useScopedStore(e=>e.setCopied),i=`/cron ${e.instruction} ${e.mode} ${e.scheduleText}`,a=(0,K.useCallback)(async()=>{await Ae.writeText(i),r(!0),Ue.setTimeout(()=>r(!1),2e3)},[i,r]),o=(0,K.useCallback)(()=>{yt(`copy cron edit command`,a())},[a]),s=k(j(`cron.remove`,e.jobId)),c=e.upcomingFires??(e.nextFireAt===null?[]:[e.nextFireAt]);return(0,q.jsxs)(`div`,{className:`px-0.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,q.jsx)(Ce,{className:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,q.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:`Cron job armed`}),(0,q.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:e.jobId}),(0,q.jsx)(`span`,{className:`rounded-full border border-border px-2 py-0.5 text-xs font-medium text-muted-foreground`,children:e.mode===`inline`?`inline · runs in this chat`:`spawn · new chat per run`})]})})]}),(0,q.jsx)(ze,{tooltip:e.instruction,className:`mt-1.5 text-sm text-foreground/90`,children:e.instruction}),(0,q.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-muted-foreground`,children:[(0,q.jsxs)(`span`,{children:[e.scheduleHuman,e.scheduleHuman===e.scheduleText?null:(0,q.jsx)(`span`,{className:`ml-1.5 font-mono opacity-70`,children:e.scheduleText})]}),e.model?(0,q.jsx)(`span`,{className:`font-mono`,children:e.model}):null,e.mode===`spawn`&&e.cwd?(0,q.jsx)(ze,{tooltip:e.cwd,className:`max-w-48`,inline:!0,children:(0,q.jsx)(`span`,{className:`font-mono`,children:e.cwd})}):null]}),c.length>0?(0,q.jsx)(`div`,{className:`flex flex-col gap-0.5 text-xs tabular-nums text-muted-foreground`,children:c.map((e,t)=>(0,q.jsxs)(`span`,{children:[t===0?`next`:` ${t+1}.`,` `,new Date(e).toLocaleString()]},e))}):null]}),e.mode===`inline`?(0,q.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:`Context is cleared before every run — this chat becomes a monitoring view.`}):null,(0,q.jsxs)(`div`,{className:`mt-3 flex items-center gap-2`,children:[(0,q.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-md border border-border px-2.5 py-1.5 text-xs font-medium text-foreground hover:bg-muted/40`,onClick:o,children:[n?(0,q.jsx)(ke,{className:`h-3.5 w-3.5 text-success-text`,"aria-hidden":`true`}):(0,q.jsx)(Oe,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),n?`Copied`:`Edit`]}),t?(0,q.jsxs)(`button`,{type:`button`,"aria-label":`Disarm cron job ${e.jobId}`,className:`inline-flex items-center gap-1.5 rounded-md border border-border px-2.5 py-1.5 text-xs font-medium text-muted-foreground hover:border-destructive/50 hover:text-destructive disabled:pointer-events-none disabled:opacity-60`,disabled:s,"aria-busy":s||void 0,onClick:()=>t(e.jobId),children:[s?(0,q.jsx)(A,{}):(0,q.jsx)(h,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),`Disarm`]}):null]})]})}function Tc({message:e}){return(0,q.jsx)(I.Provider,{init:void 0,children:(0,q.jsx)(Ec,{message:e})})}function Ec({message:e}){let t=I.useScopedStore(e=>e.copied),n=I.useScopedStore(e=>e.setCopied),r=e.suggestion,i=(0,K.useCallback)(async()=>{r!==void 0&&(await Ae.writeText(r),n(!0),Ue.setTimeout(()=>n(!1),2e3))},[r,n]),a=(0,K.useCallback)(()=>{yt(`copy cron fix`,i())},[i]);return(0,q.jsxs)(`div`,{className:`bg-destructive/10 px-4 py-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(Nt,{className:`h-4 w-4 shrink-0 text-destructive`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:`Invalid /cron command`})]}),e.input===void 0?null:(0,q.jsx)(`code`,{className:`mt-1.5 block truncate rounded-md border border-border bg-muted/40 px-2.5 py-1.5 font-mono text-xs text-muted-foreground`,children:e.input}),(0,q.jsx)(`p`,{className:`mt-1.5 text-sm text-foreground/90`,children:e.message}),r===void 0?null:(0,q.jsxs)(`div`,{className:`mt-2 flex items-center gap-2`,children:[(0,q.jsx)(`code`,{className:`min-w-0 flex-1 truncate rounded-md border border-border bg-muted/40 px-2.5 py-1.5 font-mono text-xs text-foreground`,children:r}),(0,q.jsxs)(`button`,{type:`button`,className:`inline-flex shrink-0 items-center gap-1.5 rounded-md border border-border px-2.5 py-1.5 text-xs font-medium text-foreground hover:bg-muted/40`,onClick:a,children:[t?(0,q.jsx)(ke,{className:`h-3.5 w-3.5 text-success-text`,"aria-hidden":`true`}):(0,q.jsx)(Oe,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),t?`Copied`:`Copy fix`]})]})]})}function Dc({message:e}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,q.jsx)(Ce,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/70`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{className:`text-xs`,children:[`Cron job`,(0,q.jsxs)(`span`,{className:`font-mono`,children:[` `,e.jobId,` `]}),e.change]})]})}function Oc({message:e,cronJobs:t}){let n=t??[];return(0,q.jsxs)(`div`,{className:`px-0.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(Ce,{className:`h-4 w-4 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:`Cron jobs`}),(0,q.jsxs)(`span`,{className:`ml-auto text-xs text-muted-foreground tabular-nums`,children:[n.length,` armed`]})]}),n.length===0?(0,q.jsx)(`p`,{className:`mt-1.5 text-sm text-muted-foreground`,children:`No cron jobs armed in this chat.`}):(0,q.jsx)(`div`,{className:`mt-2 space-y-2`,children:n.map(e=>(0,q.jsxs)(`div`,{className:`flex items-baseline gap-3 text-sm`,children:[(0,q.jsx)(`span`,{className:`shrink-0 font-mono text-xs text-muted-foreground`,children:e.jobId}),(0,q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-foreground/90`,children:e.instruction}),(0,q.jsxs)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:[Ee(e.schedule,e.scheduleText),` · `,e.mode,e.paused?` · paused`:``]}),e.lastRun?(0,q.jsx)(Se,{status:e.lastRun.status}):null]},e.jobId))}),e.help?(0,q.jsxs)(`div`,{className:`mt-3 border-t border-border pt-2 font-mono text-xs text-muted-foreground`,children:[(0,q.jsx)(`div`,{children:`/cron <instruction> inline|spawn <schedule>`}),(0,q.jsx)(`div`,{children:`/cron list · /cron remove <id> · /cron pause <id> · /cron resume <id>`}),(0,q.jsx)(`div`,{children:"schedules: `0 9 * * 1-5` · `*/30 * * * * *` (leading second) · @hourly @daily @weekly @monthly · every 30s / every 5m / every 2h"}),(0,q.jsxs)(`div`,{className:`mt-1`,children:[`inline: `,De(`inline`),`; spawn: `,De(`spawn`),`. Next-fire times use server-local time.`]})]}):null]})}function kc({message:e}){let t=e.missedCount??1;return(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,q.jsx)(rn,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/70`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{className:`text-xs tabular-nums`,children:[t===1?`Cron run skipped`:`Cron runs skipped ${t}×`,(0,q.jsxs)(`span`,{className:`font-mono`,children:[` `,e.jobId]}),` — `,Ac(e.reason)]})]})}function Ac(e){switch(e){case`chat_busy`:return`chat was busy`;case`previous_run_active`:return`previous run still running`;case`server_offline`:return`missed while the server was offline`}}var jc=new Map([[`claude_code_version_too_old`,{headline:`Model not supported by this Claude Code version`,explanation:`The selected model needs a newer Claude Code than the one Kanna runs, so every turn on this model fails.`,remedy:`Pick another model, or update Kanna, which bundles Claude Code. If Kanna runs your own claude binary (CLAUDE_EXECUTABLE is set), run "claude update" instead.`}]]);function Mc(e){return e===void 0?null:jc.get(e)??null}function Nc(e){return e===429||e>=500}var Pc=`https://status.claude.com`;function Fc(e){return e===429?`Rate Limited`:e===500?`Internal Server Error`:e===502?`Bad Gateway`:e===503?`Service Unavailable`:e===529?`Overloaded`:e>=500?`Server Error`:`API Error`}function Ic(e){return e>0?`${e} ${Fc(e)}`:`API Error`}function Lc({description:e,rawText:t}){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`text-sm break-words text-foreground/90 space-y-1`,children:[(0,q.jsx)(`p`,{children:e.explanation}),(0,q.jsx)(`p`,{children:e.remedy})]}),(0,q.jsx)(`div`,{className:`text-xs whitespace-pre-wrap break-words text-muted-foreground`,children:t})]})}function Rc({message:e}){let t=Mc(e.apiErrorReason),n=t?.headline??Ic(e.status),r=Nc(e.status);return(0,q.jsx)(`div`,{className:`w-full max-w-[70ch]`,children:(0,q.jsxs)(`div`,{className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2.5 space-y-1.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-destructive-text`,children:[(0,q.jsx)(Ve,{className:`h-3.5 w-3.5`}),(0,q.jsx)(`span`,{className:` tracking-wide`,children:n})]}),t?(0,q.jsx)(Lc,{description:t,rawText:e.text}):(0,q.jsx)(`div`,{className:`text-sm whitespace-pre-wrap break-words text-foreground/90`,children:e.text}),(e.requestId||r)&&(0,q.jsxs)(`div`,{className:`flex items-center gap-3 text-xs text-muted-foreground pt-0.5`,children:[r&&(0,q.jsx)(`a`,{href:Pc,target:`_blank`,rel:`noreferrer`,className:`hover:underline`,children:`Check status`}),e.requestId&&(0,q.jsxs)(`span`,{children:[`Request ID: `,(0,q.jsx)(`code`,{className:`text-xs`,children:e.requestId})]})]})]})})}var zc=`https://www.anthropic.com/legal/aup`;function Bc(e){return e.replace(/^API Error:\s*/i,``)}function Vc({message:e}){let t=Bc(e.text);return(0,q.jsx)(`div`,{className:`w-full max-w-[70ch]`,children:(0,q.jsxs)(`div`,{className:`rounded-md border border-warning/40 bg-warning/10 px-3 py-2.5 space-y-1.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-warning-text`,children:[(0,q.jsx)(tn,{className:`h-3.5 w-3.5`}),(0,q.jsx)(`span`,{className:` tracking-wide`,children:`Blocked by Usage Policy`})]}),(0,q.jsx)(`div`,{className:`text-sm whitespace-pre-wrap break-words text-foreground/90`,children:t}),(0,q.jsxs)(`div`,{className:`flex items-center gap-3 text-xs text-muted-foreground pt-0.5`,children:[(0,q.jsx)(`a`,{href:zc,target:`_blank`,rel:`noreferrer`,className:`hover:underline`,children:`Usage Policy`}),e.requestId&&(0,q.jsxs)(`span`,{children:[`Request ID: `,(0,q.jsx)(`code`,{className:`text-xs`,children:e.requestId})]})]})]})})}var Hc=mt(`AskUserQuestionInteractive`,()=>e=>({currentIndex:0,answers:{},customInputs:{},setCurrentIndex:t=>e({currentIndex:t}),setAnswers:t=>e({answers:t}),setCustomInputs:t=>e({customInputs:t})}));function Uc({question:e,header:t,currentIndex:n,totalQuestions:r,onBack:i,children:a}){let o=i&&n>0,s=o||r>1||!!t,c;return c=o?(0,q.jsx)(`button`,{onClick:i,className:`text-muted-foreground hover:opacity-60 transition-opacity flex items-center`,children:(0,q.jsx)(Pe,{className:`h-4 w-4 -ml-0.5`,strokeWidth:3})}):r>1?(0,q.jsxs)(`span`,{className:`text-xs font-semibold tracking-wide text-muted-foreground whitespace-nowrap`,children:[n+1,` of `,r]}):null,(0,q.jsxs)(`div`,{className:`rounded-2xl border border-border overflow-hidden`,children:[(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsxs)(`div`,{className:`p-3 px-4 bg-card border-b border-border`,children:[s&&(0,q.jsxs)(`div`,{className:`flex flex-row items-center gap-2 mb-1`,children:[c,t?(0,q.jsx)(`span`,{className:`text-xs font-semibold tracking-wide text-muted-foreground text-pretty`,children:t}):null]}),(0,q.jsx)(`h3`,{className:`font-medium text-foreground text-sm text-pretty`,children:e})]}),r>1&&(0,q.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 h-0.5 bg-border`,children:(0,q.jsx)(`div`,{className:`h-full bg-muted-foreground/40`,style:{width:`${n/r*100}%`}})})]}),a]})}function Wc({label:e,description:t}){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-foreground text-sm`,children:e}),t&&(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5`,children:t})]})}function Gc({selected:e,multiSelect:t,onClick:n}){let r=w(`flex-shrink-0 w-5 h-5 border-1 flex items-center justify-center`,t?`rounded`:`rounded-full`,e?`border-transparent bg-foreground`:`border-muted-foreground/50 bg-background`,n&&e&&`cursor-pointer`),i=e?(0,q.jsx)(ke,{strokeWidth:3,className:`translate-y-[0.5px] h-3 w-3 text-white dark:text-background`}):null;return n?(0,q.jsx)(`button`,{type:`button`,onClick:n,className:r,children:i}):(0,q.jsx)(`div`,{"aria-hidden":!0,className:r,children:i})}function Kc({option:e,selected:t,multiSelect:n,onClick:r,isLast:i}){let a=`w-full text-left p-3 pt-2.5 pl-4 pr-5 bg-background`,o=i?``:`border-b border-border`;return r?(0,q.jsx)(`button`,{onClick:r,className:w(a,o,`transition-colors cursor-pointer`),children:(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,q.jsx)(Wc,{label:e.label,description:e.description})}),(0,q.jsx)(Gc,{selected:t,multiSelect:n})]})}):(0,q.jsx)(`div`,{className:w(a,o),children:(0,q.jsx)(Wc,{label:e.label,description:e.description})})}function qc({questions:e,onSubmit:t,onCancel:n,submitPending:r=!1,cancelPending:i=!1,ports:a={}}){let o=r||i,s=a.timer??Ue,c=Hc.useScopedStore(e=>e.currentIndex),l=Hc.useScopedStore(e=>e.answers),u=Hc.useScopedStore(e=>e.customInputs),d=Hc.useScopedStore(e=>e.setCurrentIndex),f=Hc.useScopedStore(e=>e.setAnswers),p=Hc.useScopedStore(e=>e.setCustomInputs);if(e.length===0)return null;let m=e=>e.id||e.question,h=(t,n)=>{let r=u[t]?.trim(),i=l[t]||``;if((n||e.find(e=>m(e)===t))?.multiSelect)return[i,r].filter(Boolean).flatMap(e=>e.split(`, `).filter(Boolean));let a=r||i;return a?[a]:[]},g=e=>{let t=l[m(e)]||``;return e.multiSelect?t.split(`, `).filter(Boolean):[t]},_=(t,n)=>{let r=m(t);if(t.multiSelect){let e=l[r]?l[r].split(`, `).filter(Boolean):[],t=e.includes(n)?e.filter(e=>e!==n):[...e,n];f({...l,[r]:t.join(`, `)})}else f({...l,[r]:n}),p({...u,[r]:``}),c<e.length-1&&s.setTimeout(()=>d(c+1),150)},v=(e,t)=>{let n=m(e);p({...u,[n]:t}),t&&!e.multiSelect&&f({...l,[n]:``})},y=e=>{let t=m(e);e.multiSelect&&u[t]&&p({...u,[t]:``})},b=e.every(e=>h(m(e),e).length>0),x=e[Math.min(c,e.length-1)],S=c>=e.length-1,T=h(m(x),x).length>0,E=()=>{c<e.length-1&&d(c+1)},D=()=>{c>0&&d(c-1)},O=()=>{if(!b)return;let n={};for(let t of e){let e=m(t);n[e]=h(e,t)}t(n)},k=e=>{if(e.key===`Enter`&&T){if(e.preventDefault(),S){O();return}E()}},A=g(x),j=u[m(x)]||``;return(0,q.jsxs)(`div`,{className:`w-full space-y-3`,children:[(0,q.jsxs)(Uc,{question:x.question,header:x.header,currentIndex:c,totalQuestions:e.length,onBack:c>0?D:void 0,children:[x.options?.map(e=>(0,q.jsx)(Kc,{option:e,selected:A.includes(e.label),multiSelect:x.multiSelect,onClick:()=>_(x,e.label)},e.label)),(0,q.jsx)(`div`,{className:`transition-colors bg-background`,children:(0,q.jsxs)(`div`,{className:`flex pr-5 items-center justify-between gap-3`,children:[(0,q.jsx)(`input`,{type:`text`,value:j,onChange:e=>v(x,e.target.value),onKeyDown:k,placeholder:`Other...`,className:`flex-1 px-3 !py-1 pl-4 min-h-[55px] min-w-0 text-sm bg-transparent outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background rounded-md text-foreground placeholder:text-muted-foreground`}),(0,q.jsx)(Gc,{selected:!!j,multiSelect:x.multiSelect,onClick:x.multiSelect&&j?()=>y(x):void 0})]})})]}),(0,q.jsxs)(`div`,{className:`flex items-center mx-2`,children:[n?(0,q.jsx)(C,{size:`sm`,variant:`outline`,className:`rounded-full`,pending:i,disabled:r,onClick:n,children:`Cancel`}):null,(0,q.jsxs)(`div`,{className:`ml-auto flex gap-2`,children:[!S&&T&&(x.multiSelect||!!j)&&(0,q.jsx)(C,{size:`sm`,onClick:E,children:`Next`}),S&&(0,q.jsx)(C,{size:`sm`,onClick:O,pending:r,disabled:!b||o,className:w(!b&&`opacity-50 cursor-not-allowed`,`rounded-full`),children:`Submit`})]})]})]})}function Jc({questions:e,onSubmit:t,onCancel:n,submitPending:r,cancelPending:i,ports:a}){return(0,q.jsx)(Hc.Provider,{init:void 0,children:(0,q.jsx)(qc,{questions:e,onSubmit:t,onCancel:n,submitPending:r,cancelPending:i,ports:a})})}function Yc({savedAnswers:e,isComplete:t}){return n=>({submittedAnswers:e??null,isSubmitted:t,submitError:null,markSubmitted:e=>n({submittedAnswers:e,isSubmitted:!0,submitError:null}),markSubmitFailed:e=>n(t=>t.isSubmitted||t.submitError!==e?{isSubmitted:!1,submitError:e}:t)})}var Xc=mt(`AskUserQuestionMessage`,Yc);function Zc(e){return e?.answers}function Qc(e){return e.id||e.question}function $c({questions:e,statusLabel:t,testId:n}){return(0,q.jsx)(`div`,{className:`w-full`,"data-testid":n,children:(0,q.jsxs)(`div`,{className:`rounded-2xl border border-border overflow-hidden`,children:[(0,q.jsxs)(`div`,{className:`font-medium text-sm p-3 px-4 pr-5 bg-muted border-b border-border flex flex-row items-center justify-between gap-3`,children:[(0,q.jsxs)(`p`,{children:[`Question`,e.length===1?``:`s`]}),(0,q.jsx)(`p`,{className:`text-muted-foreground`,children:t})]}),e.map((t,n)=>(0,q.jsxs)(`div`,{className:w(`w-full p-3 pt-2.5 pl-4 pr-5 bg-background flex items-start justify-between gap-3`,n<e.length-1&&`border-b border-border`),children:[(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[t.header&&(0,q.jsx)(`div`,{className:`text-xs font-semibold tracking-wide text-muted-foreground text-pretty`,children:t.header}),(0,q.jsx)(`div`,{className:`text-sm text-pretty`,children:t.question})]}),(0,q.jsx)(`div`,{className:`max-w-[50%] text-right text-xs text-muted-foreground text-pretty`,children:t.options?.map(e=>e.label).join(`, `)||`Freeform response`})]},Qc(t)))]})})}function el({message:e,onSubmit:t,isLatest:n}){let r=Xs(),i=e.input.questions,a=!!e.result,o=Zc(e.result),s=e.result?.discarded===!0,c=Xc.useScopedStore(e=>e.submittedAnswers),l=Xc.useScopedStore(e=>e.isSubmitted),u=Xc.useScopedStore(e=>e.markSubmitted),d=Xc.useScopedStore(e=>e.markSubmitFailed),f=Xc.useScopedStore(e=>e.submitError),p=j(`askUserQuestion.submit`,e.toolId),m=k(p),h=(0,K.useCallback)(n=>{u(n),O(p,async()=>{try{await t(e.toolId,i,n)}catch(e){d(x(e))}})},[u,d,t,e.toolId,i,p]);if(l||a){let e=o||c||{};return(0,q.jsx)(`div`,{className:`w-full`,"aria-busy":m||void 0,children:(0,q.jsxs)(`div`,{className:`rounded-2xl border border-border overflow-hidden`,children:[(0,q.jsxs)(`div`,{className:`font-medium text-sm p-3 px-4 pr-5 bg-muted border-b border-border flex flex-row items-center justify-between`,children:[(0,q.jsxs)(`p`,{children:[`Question`,i.length===1?``:`s`]}),(0,q.jsxs)(`p`,{className:`flex items-center gap-1.5`,children:[m?(0,q.jsx)(A,{}):null,s?`Discarded`:`Answers`]})]}),i.map((t,n)=>{let r=e[Qc(t)]||e[t.question]||[],a=n===i.length-1,o=t.options?r.map(e=>t.options?.find(t=>t.label===e)?.description).filter(e=>!!e):[];return(0,q.jsxs)(`div`,{className:w(`w-full p-3 pt-2.5 pl-4 pr-5 bg-background flex items-start justify-between gap-3`,!a&&`border-b border-border`),children:[(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[t.header&&(0,q.jsx)(`div`,{className:`text-xs font-semibold tracking-wide text-muted-foreground text-pretty`,children:t.header}),(0,q.jsx)(`div`,{className:`text-sm text-pretty`,children:t.question})]}),(0,q.jsx)(`div`,{className:`max-w-[50%] text-right`,children:r.length>0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`text-sm font-medium text-pretty`,children:r.join(`, `)}),o.length>0&&(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground mt-0.5 text-pretty`,children:o.join(` · `)})]}):(0,q.jsx)(`div`,{className:`text-sm font-medium italic`,children:s?`Discarded`:`No Response`})})]},Qc(t))})]})})}return r.readonly?(0,q.jsx)($c,{questions:i,statusLabel:`Awaiting response`}):n?r.askUserQuestionSurface===`footer`?(0,q.jsx)($c,{questions:i,statusLabel:`Answer below`,testId:`ask-user-question-moved:${e.toolId}`}):(0,q.jsxs)(`div`,{className:`w-full`,children:[f?(0,q.jsx)(`div`,{className:`mb-2 rounded-xl border border-destructive/20 bg-destructive/5 px-4 py-3 text-sm text-destructive whitespace-pre-wrap`,"data-testid":`ask-user-question-error:${e.toolId}`,children:f}):null,(0,q.jsx)(Jc,{questions:i,onSubmit:h})]}):(0,q.jsx)(`div`,{className:`w-full py-2`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(ee,{className:`h-4 w-4 text-muted-foreground`}),(0,q.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Questions pending (newer question active)`})]})})}function tl({message:e,onSubmit:t,isLatest:n}){let r=Zc(e.result)??null,i=!!e.result;return(0,q.jsx)(Xc.Provider,{init:{savedAnswers:r,isComplete:i},children:(0,q.jsx)(el,{message:e,onSubmit:t,isLatest:n})})}function nl(){return e=>({expanded:!1,copied:!1,showEditInput:!1,editMessage:``,setExpanded:t=>e({expanded:t}),setCopied:t=>e({copied:t}),setEditMessage:t=>e({editMessage:t}),openEdit:()=>e({showEditInput:!0}),cancelEdit:()=>e(e=>e.showEditInput||e.editMessage!==``?{showEditInput:!1,editMessage:``}:e)})}var rl=mt(`ExitPlanModeMessage`,nl);function il(e){let t=k(j(`exitPlanMode.approveClear`,e)),n=k(j(`exitPlanMode.approve`,e)),r=k(j(`exitPlanMode.adjust`,e));return t||n||r}function al({message:e,onConfirm:t,isLatest:n,ports:r={}}){let i=Xs(),a=r.clipboard??Ae,o=r.timer??Ue,s=!!e.result,c=rl.useScopedStore(e=>e.expanded),l=rl.useScopedStore(e=>e.copied),u=rl.useScopedStore(e=>e.showEditInput),d=rl.useScopedStore(e=>e.editMessage),f=rl.useScopedStore(e=>e.setExpanded),p=rl.useScopedStore(e=>e.setCopied),m=rl.useScopedStore(e=>e.setEditMessage),h=rl.useScopedStore(e=>e.openEdit),g=rl.useScopedStore(e=>e.cancelEdit),_=(0,K.useRef)(null),v=j(`exitPlanMode.approveClear`,e.toolId),y=j(`exitPlanMode.approve`,e.toolId),b=j(`exitPlanMode.adjust`,e.toolId),x=k(v),S=k(y),T=k(b),E=x||S||T,D=(0,K.useCallback)(()=>{E||O(v,()=>t(e.toolId,!0,!0))},[E,v,t,e.toolId]),A=(0,K.useCallback)(()=>{E||O(y,()=>t(e.toolId,!0))},[E,y,t,e.toolId]),M=(0,K.useCallback)(()=>{let n=d.trim();n&&!E&&O(b,()=>t(e.toolId,!1,void 0,n))},[d,E,b,t,e.toolId]),N=(0,K.useCallback)(e=>{e.key===`Enter`&&!e.shiftKey&&d.trim()&&(e.preventDefault(),M()),e.key===`Escape`&&g()},[d,M,g]),P=e.input;(0,K.useEffect)(()=>{u&&_.current&&_.current.focus()},[u]);let F=async()=>{P?.plan&&(await a.writeText(P.plan),p(!0),o.setTimeout(()=>p(!1),2e3))},I=()=>{yt(`copy plan`,F())},L=s?e.result:null,R=L?.discarded===!0,z;z=R?`Discarded`:L?.clearContext?`Approved & Cleared Context`:L?.confirmed?`Approved`:L?.message?`Adjusted: "${L.message}"`:`Adjusted Plan`;let B;return B=s?(0,q.jsx)(`div`,{className:`flex justify-end mx-2`,children:(0,q.jsxs)(`span`,{className:`pl-4 inline text-sm font-medium bg-background text-foreground/60 border border-border py-1.5 px-3 rounded-[20px] leading-relaxed max-w-[85%] sm:max-w-[80%]`,children:[(0,q.jsx)(`em`,{children:z}),(0,q.jsx)(Vt,{className:`inline h-4 w-4 ml-1.5 -mt-0.5`})]})}):n?i.readonly?(0,q.jsx)(`div`,{className:`flex justify-end mx-2`,children:(0,q.jsx)(`span`,{className:`inline text-sm text-muted-foreground italic`,children:`Plan pending in original session`})}):(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[!u&&(0,q.jsxs)(`div`,{className:`flex flex-col md:flex-row items-stretch md:items-center justify-end gap-2 mx-2`,children:[(0,q.jsxs)(C,{size:`sm`,pending:x,disabled:E,onClick:D,className:`rounded-full bg-primary text-background pr-4 md:order-last`,children:[x?null:(0,q.jsx)(Ft,{className:`h-4 w-4 mr-1.5`}),`Approve & Clear`]}),(0,q.jsxs)(`div`,{className:`flex items-stretch md:items-center gap-2 md:contents`,children:[(0,q.jsxs)(C,{size:`sm`,variant:`outline`,disabled:E,onClick:h,className:`rounded-full border-border flex-1 md:flex-initial md:order-first`,children:[(0,q.jsx)(He,{className:`h-4 w-4 mr-1.5`}),`Suggest Edits`]}),(0,q.jsxs)(C,{size:`sm`,variant:`outline`,pending:S,disabled:E,onClick:A,className:`rounded-full border-border flex-1 md:flex-initial`,children:[S?null:(0,q.jsx)(ke,{className:`h-4 w-4 mr-1.5`}),`Approve`]})]})]}),u&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(`textarea`,{ref:_,value:d,onChange:e=>m(e.target.value),onKeyDown:N,placeholder:`Describe what you'd like to change...`,rows:3,className:`w-full rounded-2xl border border-border bg-muted dark:bg-card px-4 py-3 text-sm text-foreground placeholder:text-muted-foreground resize-none outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`}),(0,q.jsxs)(`div`,{className:`flex items-center justify-end gap-2 mx-2`,children:[(0,q.jsx)(C,{size:`sm`,variant:`ghost`,onClick:g,className:`rounded-full text-muted-foreground`,children:`Cancel`}),(0,q.jsxs)(C,{size:`sm`,pending:T,disabled:!d.trim()||E,onClick:M,className:`rounded-full bg-primary text-background disabled:opacity-50 disabled:pointer-events-none`,children:[T?null:(0,q.jsx)($t,{className:`h-4 w-4 mr-1.5`}),`Adjust Plan`]})]})]})]}):(0,q.jsx)(`div`,{className:`flex justify-end mx-2`,children:(0,q.jsx)(`span`,{className:`inline text-sm text-muted-foreground italic`,children:`Plan pending (newer prompt active)`})}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsxs)(`div`,{className:`relative rounded-2xl border border-border overflow-hidden group/plan`,children:[P?.plan&&(0,q.jsx)(C,{variant:`ghost`,size:`icon`,"aria-label":l?`Copied`:`Copy plan`,className:w(`absolute top-2 right-2 z-10 h-11 w-11 md:h-8 md:w-8 rounded-md text-muted-foreground opacity-100 md:opacity-0 md:group-hover/plan:opacity-100 transition-opacity [@media(hover:none)]:!opacity-100`,!l&&`hover:text-foreground`,l&&`hover:!bg-transparent hover:!border-transparent`),onClick:I,children:l?(0,q.jsx)(ke,{className:`h-4 w-4 text-success-text`}):(0,q.jsx)(Oe,{className:`h-4 w-4`})}),(0,q.jsxs)(`div`,{className:w(`!pt-5 !pb-0 px-4 md:py-4.5 md:px-5.5 bg-muted dark:bg-card overflow-scroll no-pre-highlight transition-colors`,s&&!c?`max-h-[min(400px,40vh)] `:``,s?`hover:!pb-[32px]`:``),children:[s&&(0,q.jsxs)(C,{variant:`ghost`,className:`absolute z-10 bottom-2 pr-2.5 !pl-3.5 h-[34px] inline-flex gap-1 text-sm left-[50%] -translate-x-[50%] text-muted-foreground bg-background hover:text-foreground opacity-0 group-hover/plan:opacity-100 transition-[color,opacity] rounded-md border border-border`,onClick:()=>f(!c),children:[c?`Show Less`:`Show More`,(0,q.jsx)(Me,{className:`size-3.5 transition-transform ${c?`rotate-180`:``}`})]}),P?.plan?(0,q.jsxs)(`div`,{className:`prose prose-sm dark:prose-invert max-w-none`,children:[ce(P.plan),(0,q.jsx)(`div`,{className:`mt-5`})]}):(0,q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No plan provided`})]})]}),B]})}function ol({message:e,onConfirm:t,isLatest:n,ports:r}){return(0,q.jsx)(rl.Provider,{init:void 0,children:(0,q.jsx)(al,{message:e,onConfirm:t,isLatest:n,ports:r})})}var sl={completed:{Icon:ke,iconClass:`text-success-text`,textClass:`text-muted-foreground`},in_progress:{Icon:T,iconClass:`text-foreground animate-spin`,textClass:`text-foreground font-medium`},pending:{Icon:zt,iconClass:`text-muted-foreground`,textClass:`text-muted-foreground`}};function cl({message:e}){let t=e.input.todos;return t.length?(0,q.jsx)(`div`,{className:`w-full`,children:(0,q.jsxs)(`div`,{className:`rounded-2xl border border-border overflow-hidden`,children:[(0,q.jsxs)(`h3`,{className:`font-medium text-foreground text-sm p-3 px-4 bg-card border-b border-border flex items-center gap-2`,children:[(0,q.jsx)(qt,{className:`h-4 w-4 text-muted-foreground`}),`Progress`]}),(0,q.jsx)(`div`,{children:t.map((e,n)=>{let r=n===t.length-1,{Icon:i,iconClass:a,textClass:o}=sl[e.status];return(0,q.jsxs)(`div`,{className:w(`flex items-center gap-3 px-4 py-2.5 bg-background`,!r&&`border-b border-border`),children:[(0,q.jsx)(i,{className:w(`h-4 w-4 flex-shrink-0`,a)}),(0,q.jsx)(`span`,{className:w(`text-sm`,o),children:e.status===`in_progress`?e.activeForm:e.content})]},n)})})]})}):null}var ll=mt(`OfferDownloadMessage`,()=>e=>({probeState:`idle`,previewOpen:!1,setProbeState:t=>e({probeState:t}),setPreviewOpen:t=>e({previewOpen:t})}));function ul({message:e}){let t=e.result,n=t?.contentUrl,r=ll.useScopedStore(e=>e.probeState),i=ll.useScopedStore(e=>e.previewOpen),a=ll.useScopedStore(e=>e.setProbeState),o=ll.useScopedStore(e=>e.setPreviewOpen);if((0,K.useEffect)(()=>{if(!n)return;let e=new AbortController;return yt(`probe offer download`,B(n,{signal:e.signal}).then(t=>{e.signal.aborted||(t.kind===`ready`?a(`ready`):t.kind===`missing`&&a(`missing`))})),()=>e.abort()},[n,a]),!t||!n)return null;let s={id:`offer-download-${e.toolId}`,kind:`file`,displayName:t.displayName||t.fileName,absolutePath:t.relativePath,relativePath:t.relativePath,contentUrl:n,mimeType:t.mimeType??`application/octet-stream`,size:t.size},c=L(s),l=F(c,t.mimeType),u=t.size>0?te(t.size):null,d=(0,q.jsxs)(q.Fragment,{children:[l,u?(0,q.jsxs)(q.Fragment,{children:[` · `,(0,q.jsx)(`span`,{className:`tabular-nums`,children:u})]}):null]});if(r===`missing`)return(0,q.jsx)(`div`,{className:`flex`,"data-testid":`offer-download-link`,children:(0,q.jsx)(ae,{attachment:s,disabledReason:`File no longer available`})});if(!z(s).openInNewTab){let e=`Preview ${s.displayName}, ${l}${u?`, ${u}`:``}`;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`flex`,"data-testid":`offer-download-link`,children:(0,q.jsx)(ae,{attachment:s,onClick:()=>o(!0),meta:d,ariaLabel:e})}),(0,q.jsx)(le,{source:i?ne(s,`offer_download`):null,open:i,onOpenChange:o})]})}let f=[`Download`,s.displayName,l,u].filter(e=>!!e);return(0,q.jsx)(`div`,{className:`flex`,"data-testid":`offer-download-link`,children:(0,q.jsx)(ae,{attachment:s,href:n,download:t.fileName||void 0,meta:d,ariaLabel:f.join(`, `)})})}function dl({message:e}){return(0,q.jsx)(ll.Provider,{init:void 0,children:(0,q.jsx)(ul,{message:e})})}var fl=mt(`PreviewFileMessage`,()=>e=>({probeState:`idle`,previewOpen:!1,setProbeState:t=>e({probeState:t}),setPreviewOpen:t=>e({previewOpen:t})}));function pl({message:e}){let t=e.result,n=t?.contentUrl,r=fl.useScopedStore(e=>e.probeState),i=fl.useScopedStore(e=>e.previewOpen),a=fl.useScopedStore(e=>e.setProbeState),o=fl.useScopedStore(e=>e.setPreviewOpen);if((0,K.useEffect)(()=>{if(!n)return;let e=new AbortController;return yt(`probe preview file`,B(n,{signal:e.signal}).then(t=>{e.signal.aborted||(t.kind===`ready`?a(`ready`):t.kind===`missing`&&a(`missing`))})),()=>e.abort()},[n,a]),!t||!n)return null;let s={id:`preview-file-${e.toolId}`,kind:`file`,displayName:t.displayName||t.fileName,absolutePath:t.relativePath,relativePath:t.relativePath,contentUrl:n,mimeType:t.mimeType,size:t.size},c=L(s),l=F(c,t.mimeType),u=t.size>0?te(t.size):null,d=(0,q.jsxs)(q.Fragment,{children:[l,u?(0,q.jsxs)(q.Fragment,{children:[` · `,(0,q.jsx)(`span`,{className:`tabular-nums`,children:u})]}):null]});if(r===`missing`)return(0,q.jsx)(`div`,{className:`flex`,"data-testid":`preview-file-card`,children:(0,q.jsx)(ae,{attachment:s,disabledReason:`File no longer available`})});let f=`Preview ${s.displayName}, ${l}${u?`, ${u}`:``}`;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`flex`,"data-testid":`preview-file-card`,children:(0,q.jsx)(ae,{attachment:s,onClick:()=>o(!0),meta:d,ariaLabel:f})}),(0,q.jsx)(le,{source:i?ne(s,`preview_file`):null,open:i,onOpenChange:o})]})}function ml({message:e}){return(0,q.jsx)(fl.Provider,{init:void 0,children:(0,q.jsx)(pl,{message:e})})}var hl=mt(`ImageGenerationMessage`,()=>e=>({open:!1,setOpen:t=>e({open:t})}));function gl({message:e}){let{status:t,revisedPrompt:n}=e.input,r=e.result,i=r?.contentUrl,a=e.isError||t===`failed`,o=hl.useScopedStore(e=>e.open),s=hl.useScopedStore(e=>e.setOpen);if(!a&&!r&&t===`in_progress`)return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1 rounded-md border border-border/40 bg-muted/30 px-3 py-2 text-sm text-muted-foreground`,"data-testid":`image-generation-pending`,children:[(0,q.jsx)(`span`,{children:`Generating image…`}),n?(0,q.jsx)(`span`,{className:`italic`,children:n}):null]});if(a||!r||!i)return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-sm`,"data-testid":`image-generation-error`,children:[(0,q.jsx)(`span`,{children:`Image generation failed.`}),r?.relativePath?(0,q.jsx)(`span`,{className:`text-muted-foreground`,children:r.relativePath}):null]});let c={id:`image-gen-${e.toolId}`,contentUrl:i,displayName:r.fileName,fileName:r.fileName,relativePath:r.relativePath,mimeType:`image/png`,origin:`image_generation`,altText:n??void 0};return(0,q.jsxs)(`figure`,{className:`flex flex-col gap-2`,"data-testid":`image-generation`,children:[(0,q.jsx)(ge,{source:c,onOpen:()=>s(!0),variant:`expanded`}),n?(0,q.jsx)(`figcaption`,{className:`text-xs text-muted-foreground italic`,children:n}):null,(0,q.jsx)(le,{source:o?c:null,open:o,onOpenChange:s})]})}function _l({message:e}){return(0,q.jsx)(hl.Provider,{init:void 0,children:(0,q.jsx)(gl,{message:e})})}function vl({message:e}){return(0,q.jsx)(`div`,{className:`flex items-center justify-end gap-2 text-sm text-muted-foreground`,children:(0,q.jsxs)(`div`,{className:`inline-flex gap-1.5 items-center justify-center whitespace-nowrap text-sm font-medium bg-background text-foreground/60 border border-border h-9 pl-1 pr-4 rounded-full`,children:[(0,q.jsx)(Lt,{className:`h-4 w-4 ml-1.5`}),(0,q.jsx)(`em`,{children:`Interrupted`})]})})}var yl={user_send:{Icon:Gt,iconClass:`text-muted-foreground`,title:`Loop stopped by your message`,detail:`Your message took over the armed loop and disarmed it — sending a message never resumes a loop, it stops one. It will not pick itself back up.`},repeated_failures:{Icon:Ve,iconClass:`text-destructive`,title:`Loop stopped after repeated failures`,detail:`Kanna disarmed the loop because its iterations kept failing. Read the failed approaches in the tracking file before re-arming it.`},goal_met:{Icon:Ie,iconClass:`text-muted-foreground`,title:`Loop finished`,detail:`The goal was met, so the loop disarmed itself.`},chat_deleted:{Icon:Lt,iconClass:`text-muted-foreground`,title:`Loop disarmed`,detail:`The chat was deleted.`}};function bl({message:e}){let{Icon:t,iconClass:n,title:r,detail:i}=yl[e.reason],a=e.trackingFileRel!==void 0||e.workdirAbs!==void 0;return(0,q.jsx)(`div`,{className:`px-0.5`,children:(0,q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,q.jsx)(t,{className:w(`mt-0.5 h-4 w-4 shrink-0`,n),"aria-hidden":`true`}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:r}),i?(0,q.jsx)(`p`,{className:`mt-1 text-sm text-foreground/90`,children:i}):null,a?(0,q.jsxs)(`div`,{className:`mt-2 flex flex-col gap-0.5 text-xs text-muted-foreground`,children:[e.trackingFileRel===void 0?null:(0,q.jsx)(ze,{tooltip:e.trackingFileRel,inline:!0,children:(0,q.jsxs)(`span`,{children:[`Plan `,(0,q.jsx)(`span`,{className:`font-mono`,children:e.trackingFileRel})]})}),e.workdirAbs===void 0?null:(0,q.jsx)(ze,{tooltip:e.workdirAbs,inline:!0,children:(0,q.jsxs)(`span`,{children:[`Worktree `,(0,q.jsx)(`span`,{className:`font-mono`,children:e.workdirAbs})]})})]}):null,e.resumable?(0,q.jsxs)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:[`This loop can be re-armed with the `,(0,q.jsx)(`span`,{className:`font-mono`,children:`resume_loop`}),` tool.`]}):null]})]})})}var xl=8,Sl=6;function Cl(){let e=`zigzag-${(0,K.useId)().replace(/[^a-zA-Z0-9]/g,``)}`;return(0,q.jsxs)(`svg`,{"aria-hidden":!0,className:`flex-1 text-border`,height:Sl,children:[(0,q.jsx)(`pattern`,{id:e,width:xl,height:Sl,patternUnits:`userSpaceOnUse`,children:(0,q.jsx)(`path`,{d:`M0 5 L${xl/2} 1 L${xl} 5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,q.jsx)(`rect`,{width:`100%`,height:Sl,fill:`url(#${e})`})]})}function wl({label:e}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsx)(Cl,{}),(0,q.jsx)(`span`,{className:`text-xs tracking-widest text-muted-foreground flex-shrink-0`,children:e}),(0,q.jsx)(Cl,{})]})}function Tl(){return(0,q.jsx)(wl,{label:`Compacted`})}function El(){return(0,q.jsx)(wl,{label:`Context Cleared`})}function Dl({message:e}){let t=e.path.lastIndexOf(`/`),n=t>=0?e.path.slice(0,t+1):``,r=t>=0?e.path.slice(t+1):e.path;return(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,q.jsx)(P,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/70`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`text-xs`,children:`Loaded`}),(0,q.jsxs)(`span`,{className:`min-w-0 truncate font-mono text-xs`,children:[n?(0,q.jsx)(`span`,{className:`opacity-60`,children:n}):null,(0,q.jsx)(`span`,{className:`text-foreground/70`,children:r})]})]})}function Ol({message:e}){return(0,q.jsx)(de,{children:(0,q.jsxs)(ue,{expandedContent:(0,q.jsx)(R,{className:`my-4 text-xs`,children:(0,q.jsx)(`div`,{className:`prose prose-sm dark:prose-invert max-w-none`,children:xe(e.summary)})}),children:[(0,q.jsx)(`div`,{className:`w-5 h-5 relative flex items-center justify-center`,children:(0,q.jsx)(Yt,{className:`h-4.5 w-4.5 text-muted-foreground`})}),(0,q.jsx)(V,{children:`Summarized`})]})})}var kl={compacting:`Compacting...`};function Al({message:e}){let t=kl[e.status]||e.status;return(0,q.jsxs)(de,{className:`grid grid-cols-[auto_1fr] items-center gap-1.5 text-sm animate-pulse`,children:[(0,q.jsx)(`div`,{className:`w-5 h-5 relative flex items-center justify-center`,children:(0,q.jsx)(Yt,{className:`h-4.5 w-4.5 text-muted-foreground`})}),(0,q.jsx)(V,{className:`text-left transition-opacity duration-200 truncate`,children:t})]})}function jl(e){return e.kind===`tool`}var Ml={read_file:{key:`read`,singular:`read`,plural:`reads`},edit_file:{key:`edit`,singular:`edit`,plural:`edits`},write_file:{key:`write`,singular:`write`,plural:`writes`},delete_file:{key:`delete`,singular:`delete`,plural:`deletes`},bash:{key:`bash`,singular:`command`,plural:`commands`},grep:{key:`grep`,singular:`search`,plural:`searches`},glob:{key:`glob`,singular:`glob`,plural:`globs`},subagent_task:{key:`task`,singular:`agent`,plural:`agents`},web_search:{key:`websearch`,singular:`web search`,plural:`web searches`},skill:{key:`skill`,singular:`skill`,plural:`skills`},todo_write:{key:`todo`,singular:`todo update`,plural:`todo updates`},task_create:{key:`task`,singular:`task update`,plural:`task updates`},task_update:{key:`task`,singular:`task update`,plural:`task updates`},task_get:{key:`task`,singular:`task update`,plural:`task updates`},task_list:{key:`task`,singular:`task update`,plural:`task updates`}},Nl={key:`other`,singular:`tool call`,plural:`tool calls`};function Pl(e){return Ml[e]??Nl}function Fl(e){let t=new Map,n=[];for(let r of e){if(!jl(r))continue;let e=r.toolKind,i=Pl(e),a=t.get(i.key);a?a.count++:(t.set(i.key,{category:i,count:1}),n.push(i.key))}return n.map(e=>{let{category:n,count:r}=t.get(e);return`${r} ${r===1?n.singular:n.plural}`}).join(`, `)}function Il({messages:e,isLoading:t,localPath:n,expanded:r,onExpandedChange:i,chatId:a}){let o=(0,K.useMemo)(()=>Fl(e),[e]),s=e.some(e=>jl(e)&&e.result===void 0)&&t;return(0,q.jsx)(de,{className:`w-full`,children:(0,q.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,q.jsx)(`button`,{onClick:()=>i(!r),className:`group cursor-pointer grid grid-cols-[auto_1fr] items-center gap-1 text-sm ${!r&&!s?`hover:opacity-60 transition-opacity`:``}`,children:(0,q.jsxs)(`div`,{className:`grid grid-cols-[auto_1fr] items-center gap-1.5`,children:[(0,q.jsx)(`div`,{className:`w-5 h-5 relative flex items-center justify-center`,children:(0,q.jsx)(Fe,{className:`h-4.5 w-4.5 text-muted-icon transition-transform motion-reduce:transition-none duration-200 ${r?`rotate-90`:``}`})}),(0,q.jsx)(V,{className:`text-left`,children:(0,q.jsx)(he,{animate:s,children:o})})]})}),r&&(0,q.jsxs)(`div`,{className:`my-4 flex flex-col gap-3`,children:[e.filter(jl).map(e=>(0,q.jsx)(ye,{message:e,isLoading:t,localPath:n,chatId:a},e.id)),e.length>5&&(0,q.jsx)(`button`,{onClick:()=>i(!1),className:`cursor-pointer grid grid-cols-[auto_1fr] items-center gap-1 text-xs hover:opacity-80 transition-opacity`,children:(0,q.jsxs)(`div`,{className:`grid grid-cols-[auto_1fr] items-center gap-1.5`,children:[(0,q.jsx)(`div`,{className:`w-5 h-5 relative flex items-center justify-center`,children:(0,q.jsx)(Fe,{className:`h-4.5 w-4.5 text-muted-icon -rotate-90`})}),(0,q.jsx)(V,{className:`text-left`,children:`Collapse`})]})})]})]})})}function Ll(e){if(e!==`system`)return e}function Rl(e,t){let n=Ll(t),r=new Intl.DateTimeFormat(`en-GB`,{timeZone:n,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1}).formatToParts(new Date(e)),i=e=>r.find(t=>t.type===e)?.value??`00`,a=i(`hour`);return a===`24`&&(a=`00`),`${i(`day`)}/${i(`month`)}/${i(`year`)} ${a}:${i(`minute`)}`}var zl=/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})$/;function Bl(e,t){if(e===`system`)return-new Date(t).getTimezoneOffset();let n=new Intl.DateTimeFormat(`en-US`,{timeZone:e,hour12:!1,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}).formatToParts(new Date(t)),r=e=>Number(n.find(t=>t.type===e)?.value??0),i=r(`hour`);i===24&&(i=0);let a=Date.UTC(r(`year`),r(`month`)-1,r(`day`),i,r(`minute`),r(`second`));return Math.round((a-t)/6e4)}function Vl(e,t){let n=zl.exec(e.trim());if(!n)return null;let[,r,i,a,o,s]=n,c=Number(r),l=Number(i),u=Number(a),d=Number(o),f=Number(s);if(l<1||l>12||c<1||c>31||d>23||f>59)return null;let p=Date.UTC(u,l-1,c,d,f),m=Bl(t,p),h=p-m*6e4;return h-(Bl(t,h)-m)*6e4}var Hl=mt(`AutoContinueCard`,({initialDraft:e})=>t=>({draft:e,editing:!1,setDraft:e=>t({draft:e}),setEditing:e=>t({editing:e})}));function Ul({schedule:e,onAccept:t,onReschedule:n,onCancel:r}){let i=Rl(e.scheduledAt??e.resetAt,e.tz);return(0,q.jsx)(Hl.Provider,{init:{initialDraft:i},children:(0,q.jsx)(Wl,{schedule:e,onAccept:t,onReschedule:n,onCancel:r})})}function Wl({schedule:e,onAccept:t,onReschedule:n,onCancel:r}){let i=Hl.useScopedStore(e=>e.draft),a=Hl.useScopedStore(e=>e.editing),o=Hl.useScopedStore(e=>e.setDraft),s=Hl.useScopedStore(e=>e.setEditing),c=(0,K.useMemo)(()=>Vl(i,e.tz),[i,e.tz]),l=c!==null&&c>Date.now(),u;if(u=c===null?`Use format dd/mm/yyyy hh:mm`:l?null:`Time must be in the future`,e.state===`fired`){let t=Rl(e.scheduledAt??e.resetAt,e.tz);return(0,q.jsx)(U,{title:`Auto-continued at ${t}`,tone:`success`})}if(e.state===`cancelled`)return(0,q.jsx)(U,{title:`Auto-continue cancelled`,tone:`muted`});if(e.state===`proposed`){let n=e.resetAt<=Date.now();return(0,q.jsx)(U,{title:`Rate limit hit — schedule auto-continue?`,description:n?`Reset time has passed — accept to continue now.`:void 0,body:(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(ht,{value:i,onChange:e=>o(e.target.value),placeholder:`dd/mm/yyyy hh:mm`}),u&&(0,q.jsx)(`div`,{className:`text-destructive text-xs`,children:u})]}),actions:[{id:`schedule`,label:`Schedule`,variant:`primary`,disabled:!l,onClick:async()=>{c!==null&&await t(c)}},{id:`dismiss`,label:`Dismiss`,variant:`ghost`,onClick:r}]})}let d=Rl(e.scheduledAt??e.resetAt,e.tz),f=e.tz===`system`?`local`:e.tz;if(!a){let e=[{id:`change`,label:`Change time`,variant:`secondary`,onClick:()=>s(!0)},{id:`cancel`,label:`Cancel`,variant:`ghost`,onClick:r}];return(0,q.jsx)(U,{title:`Auto-continue at ${d} (${f})`,actions:e})}let p=[{id:`save`,label:`Save`,variant:`primary`,disabled:!l,onClick:async()=>{c!==null&&(await n(c),s(!1))}},{id:`back`,label:`Back`,variant:`ghost`,onClick:()=>s(!1)}];return(0,q.jsx)(U,{title:`Auto-continue at ${d} (${f})`,body:(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(ht,{value:i,onChange:e=>o(e.target.value),placeholder:`dd/mm/yyyy hh:mm`}),u&&(0,q.jsx)(`div`,{className:`text-destructive text-xs`,children:u})]}),actions:p})}function Gl(e){let t={label:e.label};return e.description!==void 0&&(t.description=e.description),t}function Kl(e){let t={question:e.question};return e.id!==void 0&&(t.id=e.id),e.header!==void 0&&(t.header=e.header),e.multiSelect!==void 0&&(t.multiSelect=e.multiSelect),e.options!==void 0&&(t.options=e.options.map(Gl)),t}function ql(e,t){let n={};for(let[e,r]of Object.entries(t))n[e]=[...r];return{questions:e.map(Kl),answers:n}}var Jl={kind:`deny`,reason:`user_canceled`};function Yl(e,t){let n=j(`toolRequest.answer`,e),r=j(`toolRequest.deny`,e),i=k(n),a=k(r),o=i||a;return{answering:i,denying:a,answer:(0,K.useCallback)(r=>{o||O(n,()=>t(e,r))},[o,n,t,e]),deny:(0,K.useCallback)(()=>{o||O(r,()=>t(e,Jl))},[o,r,t,e])}}function Xl({plan:e,responder:t}){return(0,q.jsxs)(`div`,{className:`rounded-2xl border border-border overflow-hidden`,children:[(0,q.jsxs)(`div`,{className:`font-medium text-sm p-3 px-4 bg-muted border-b border-border flex items-center justify-between`,children:[(0,q.jsx)(`span`,{children:`Plan`}),(0,q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Reconnected — awaiting your response`})]}),(0,q.jsx)(`div`,{className:`bg-background px-4 py-3`,children:(0,q.jsx)(`p`,{className:`text-sm whitespace-pre-wrap`,children:e})}),(0,q.jsxs)(`div`,{className:`flex justify-end gap-2 px-4 py-3 bg-background border-t border-border`,children:[(0,q.jsx)(C,{size:`sm`,variant:`outline`,className:`rounded-full`,pending:t.denying,disabled:t.answering,onClick:t.deny,children:`Edit`}),(0,q.jsx)(C,{size:`sm`,className:`rounded-full`,pending:t.answering,disabled:t.denying,onClick:()=>t.answer({kind:`answer`,payload:{confirmed:!0}}),children:`Confirm`})]})]})}function Zl({toolName:e,args:t,responder:n}){let r=[`command`,`path`,`url`,`pattern`,`query`].find(e=>typeof t[e]==`string`&&String(t[e]).length>0),i=r===void 0?void 0:t[r],a=typeof i==`string`?i:JSON.stringify(t);return(0,q.jsxs)(`div`,{className:`rounded-2xl border border-border bg-background px-4 py-3 text-sm`,children:[(0,q.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,q.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Pending tool:`}),(0,q.jsx)(`span`,{className:`font-mono text-foreground`,children:e})]}),a?(0,q.jsx)(`pre`,{className:`mt-1 max-h-32 overflow-auto whitespace-pre-wrap break-all font-mono text-xs text-muted-foreground`,children:a}):null,(0,q.jsxs)(`div`,{className:`mt-3 flex items-center justify-end gap-2`,children:[(0,q.jsx)(C,{variant:`ghost`,size:`sm`,pending:n.denying,disabled:n.answering,onClick:n.deny,children:`Deny`}),(0,q.jsx)(C,{variant:`default`,size:`sm`,pending:n.answering,disabled:n.denying,onClick:()=>n.answer({kind:`allow`}),children:`Allow`})]})]})}function Ql(e,t){let n=e[t];return typeof n==`string`?n:``}function $l(e,t){if(e===`mcp__kanna__beacon_script`)return Ql(t,`body`);if(Et(e)===`exec`){let e=_t(t.args)?t.args.filter(e=>typeof e==`string`):[];return[Ql(t,`cmd`),...e].join(` `)}let n=Ql(t,`path`)||Ql(t,`root`),r=Ql(t,`pattern`);return r?`${r} in ${n}`:n}function eu({toolName:e,args:t,responder:n}){let r=Ql(t,`beaconId`),i=o(d(r)),a=$l(e,t),s=e.slice(Tt.length);return(0,q.jsxs)(`div`,{className:`rounded-2xl border border-border bg-background px-4 py-3 text-sm`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-1`,children:[(0,q.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Run on machine:`}),(0,q.jsx)(`span`,{className:`font-medium text-foreground`,children:i?.label??r}),i?(0,q.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-3 text-xs text-muted-foreground`,children:[(0,q.jsx)(`span`,{children:i.os}),(0,q.jsx)(wt,{tone:i.online?`active`:`muted`,label:i.online?`Online`:`Offline`})]}):null]}),(0,q.jsxs)(`div`,{className:`mt-1 flex items-baseline gap-2`,children:[(0,q.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Action:`}),(0,q.jsx)(`span`,{className:`font-mono text-foreground`,children:s})]}),a?(0,q.jsx)(`pre`,{className:`mt-1 max-h-64 overflow-auto whitespace-pre-wrap break-all rounded-md border border-border bg-muted px-3 py-2 font-mono text-xs text-foreground`,children:a}):null,(0,q.jsxs)(`div`,{className:`mt-3 flex items-center justify-end gap-2`,children:[(0,q.jsx)(C,{variant:`ghost`,size:`sm`,pending:n.denying,disabled:n.answering,onClick:n.deny,children:`Deny`}),(0,q.jsx)(C,{variant:`default`,size:`sm`,pending:n.answering,disabled:n.denying,onClick:()=>n.answer({kind:`allow`}),children:`Allow`})]})]})}function tu({entry:e,onAnswer:t}){let{toolRequestId:n,toolName:r,arguments:i}=e,a=Yl(n,t);if(r===`mcp__kanna__ask_user_question`){let e=(_t(i.questions)?i.questions.filter(vt):[]).map(e=>{let t;return t=typeof e.question==`string`?e.question:typeof e.text==`string`?e.text:``,{id:typeof e.id==`string`?e.id:void 0,question:t,header:typeof e.header==`string`?e.header:void 0,options:_t(e.options)?e.options.filter(vt).flatMap(e=>typeof e.label==`string`?[{label:e.label,description:typeof e.description==`string`?e.description:void 0}]:[]):void 0,multiSelect:typeof e.multiSelect==`boolean`&&e.multiSelect}});return(0,q.jsx)(Jc,{questions:e,onSubmit:t=>a.answer({kind:`answer`,payload:ql(e,t)}),onCancel:a.deny,submitPending:a.answering,cancelPending:a.denying})}if(r===`mcp__kanna__exit_plan_mode`){let e=typeof i.plan==`string`?i.plan:``;return(0,q.jsx)(Xl,{plan:e,responder:a})}return r.startsWith(`mcp__kanna__beacon_`)?(0,q.jsx)(eu,{toolName:r,args:i,responder:a}):(0,q.jsx)(Zl,{toolName:r,args:i,responder:a})}var nu=`mcp__kanna__delegate_subagent`;function ru(e){let t=[];for(let n of e){if(n.kind!==`tool`||n.toolKind!==`mcp_generic`||n.toolName!==`mcp__kanna__delegate_subagent`)continue;let e=n.input.payload.subagent_id;typeof e==`string`&&t.push({toolId:n.toolId,subagentId:e})}return t}function iu(e,t){let n=new Map;for(let e of t){let t=e.subagentId??`\0null`,r=n.get(t)??[];r.push(e),n.set(t,r)}for(let e of n.values())e.sort((e,t)=>e.startedAt-t.startedAt||e.runId.localeCompare(t.runId));let r=new Map,i=new Set,a=new Map;for(let t of e){let e=n.get(t.subagentId);if(!e)continue;let o=a.get(t.subagentId)??0,s=e[o];s&&(r.set(t.toolId,s),i.add(s.runId),a.set(t.subagentId,o+1))}return{matched:r,orphans:t.filter(e=>!i.has(e.runId))}}var au=()=>{},ou=()=>Promise.resolve(),su={onAskUserQuestionSubmit:au,onExitPlanModeConfirm:ou,onToolRequestAnswer:ou,onAutoContinueAccept:ou,onAutoContinueReschedule:ou,onAutoContinueCancel:ou,onRetryFailedTurn:void 0,onCronRemove:void 0,schedules:{},cronJobs:[],chatId:void 0,onToolGroupExpandedChange:au,subagentRuns:{},editorPreset:`cursor`,editorCommandTemplate:void 0,platform:`darwin`,queuedMessages:[],runtimeStatus:null,isDraining:!1,commandError:null,onStopDraining:ou,onSteerQueuedMessage:ou,onRemoveQueuedMessage:ou,localPath:void 0,latestToolIds:{},isProcessing:!1},cu=(0,K.createContext)(su);function lu(){return(0,K.useContext)(cu)}function uu({value:e,children:t}){return(0,q.jsx)(cu.Provider,{value:e,children:t})}var du=new Set([`AskUserQuestion`,`ExitPlanMode`,`TodoWrite`,nu,Dt]),fu=new Set([`offer_download`,`image_generation`]);function pu(e){return e.kind===`tool`}function mu(e){return!pu(e)||fu.has(e.toolKind)?!1:!du.has(e.toolName)}function hu(e,{isFirstSystem:t,isFirstAccount:n,isLatestTodoWrite:r,hideResult:i,isFinalStatus:a}){let o=!e.hidden;if(o)switch(e.kind){case`system_init`:o=t;break;case`account_info`:o=n;break;case`tool`:o=e.toolKind!==`todo_write`||r;break;case`result`:o=!i&&(!e.success||e.durationMs>6e4);break;case`context_window_updated`:o=!1;break;case`status`:o=a;break;default:o=!0}return{isFirstSystem:t,isFirstAccount:n,isLatestTodoWrite:r,hideResult:i,isFinalStatus:a,shouldRender:o}}function gu(e,t){let n=e.findIndex(e=>e.kind===`system_init`),r=e.findIndex(e=>e.kind===`account_info`);return e.map((i,a)=>{let o=e[a-1],s=e[a+1];return hu(i,{isFirstSystem:n===a,isFirstAccount:r===a,isLatestTodoWrite:i.id===t.TodoWrite,hideResult:s?.kind===`context_cleared`||o?.kind===`context_cleared`,isFinalStatus:a===e.length-1})})}function _u(e,t){let n=[],r=0;for(;r<e.length;){let i=e[r];if(t[r]?.shouldRender&&mu(i)){let a=[i],o=r;for(r+=1;r<e.length;){let n=e[r];if(!t[r]?.shouldRender){r+=1;continue}if(!mu(n))break;a.push(n),r+=1}a.length>=2?n.push({type:`tool-group`,messages:a,startIndex:o}):n.push({type:`single`,message:i,index:o});continue}n.push({type:`single`,message:i,index:r}),r+=1}return n}function vu(e){return e.type===`single`?e.message.id:`tool-group:${e.messages[0]?.id??e.startIndex}`}function yu(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>e===t[n])}function bu(e,t){return e.id===t.id&&e.kind===t.kind&&e.displayName===t.displayName&&e.absolutePath===t.absolutePath&&e.relativePath===t.relativePath&&e.contentUrl===t.contentUrl&&e.mimeType===t.mimeType&&e.size===t.size}function xu(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>bu(e,t[n]))}function Su(e,t){if(e===t)return!0;if(e.kind!==t.kind||e.id!==t.id||e.hidden!==t.hidden)return!1;switch(e.kind){case`user_prompt`:return e.content===(t.kind===`user_prompt`?t.content:null)&&t.kind===`user_prompt`&&e.steered===t.steered&&e.autoContinue?.scheduleId===t.autoContinue?.scheduleId&&xu(e.attachments,t.attachments);case`system_init`:return t.kind===`system_init`&&e.provider===t.provider&&e.model===t.model&&yu(e.tools,t.tools)&&yu(e.agents,t.agents)&&yu(e.slashCommands,t.slashCommands)&&e.debugRaw===t.debugRaw;case`account_info`:return t.kind===`account_info`&&e.accountInfo===t.accountInfo;case`assistant_text`:return t.kind===`assistant_text`&&e.text===t.text;case`assistant_thinking`:return t.kind===`assistant_thinking`&&e.text===t.text;case`api_error`:return t.kind===`api_error`&&e.status===t.status&&e.text===t.text&&e.requestId===t.requestId&&e.apiErrorReason===t.apiErrorReason;case`policy_refusal`:return t.kind===`policy_refusal`&&e.text===t.text&&e.requestId===t.requestId;case`tool`:return t.kind===`tool`&&e.toolKind===t.toolKind&&e.toolName===t.toolName&&e.toolId===t.toolId&&e.isError===t.isError&&e.input===t.input&&e.result===t.result&&e.rawResult===t.rawResult;case`result`:return t.kind===`result`&&e.success===t.success&&e.cancelled===t.cancelled&&e.result===t.result&&e.durationMs===t.durationMs&&e.costUsd===t.costUsd&&e.codexErrorInfo===t.codexErrorInfo;case`status`:return t.kind===`status`&&e.status===t.status;case`compact_summary`:return t.kind===`compact_summary`&&e.summary===t.summary;case`context_window_updated`:return t.kind===`context_window_updated`&&e.usage===t.usage;case`memory_loaded`:return t.kind===`memory_loaded`&&e.path===t.path;case`loop_disarmed`:return t.kind===`loop_disarmed`&&e.reason===t.reason&&e.resumable===t.resumable&&e.trackingFileRel===t.trackingFileRel&&e.workdirAbs===t.workdirAbs;case`compact_boundary`:case`context_cleared`:case`interrupted`:return!0;case`unknown`:return t.kind===`unknown`&&e.json===t.json;case`auto_continue_prompt`:return t.kind===`auto_continue_prompt`&&e.scheduleId===t.scheduleId;case`pending_tool_request`:return t.kind===`pending_tool_request`&&e.toolRequestId===t.toolRequestId&&e.toolName===t.toolName;case`cron_armed`:case`cron_command_error`:case`cron_run`:case`cron_run_skipped`:case`cron_list`:case`cron_job_change`:return!0}}function Cu(e,t){return e.kind!==t.kind||e.id!==t.id?!1:e.kind===`single`&&t.kind===`single`?e.index===t.index&&e.isLoading===t.isLoading&&e.localPath===t.localPath&&e.isFirstSystem===t.isFirstSystem&&e.isFirstAccount===t.isFirstAccount&&e.isLatestAskUserQuestion===t.isLatestAskUserQuestion&&e.isLatestExitPlanMode===t.isLatestExitPlanMode&&e.isLatestTodoWrite===t.isLatestTodoWrite&&e.hideResult===t.hideResult&&e.isFinalStatus===t.isFinalStatus&&Su(e.message,t.message):e.kind===`tool-group`&&t.kind===`tool-group`&&e.startIndex===t.startIndex&&e.isLoading===t.isLoading&&e.localPath===t.localPath&&e.messages.length===t.messages.length&&e.messages.every((e,n)=>Su(e,t.messages[n]))}function wu(e,t){let n=new Map,r=e.length!==t.byId.size,i=e.map((e,i)=>{let a=t.byId.get(e.id),o=a&&Cu(a,e)?a:e;return n.set(e.id,o),!r&&t.result[i]!==o&&(r=!0),o});return r?{byId:n,result:i}:t}function Tu(e){let t=(0,K.useRef)({byId:new Map,result:[]}),n=(0,K.useMemo)(()=>wu(e,t.current),[e]);return(0,K.useLayoutEffect)(()=>{t.current=n}),n.result}var Eu=(e,t)=>Promise.resolve(),Du=(0,K.memo)(({message:e,index:t,isLoading:n,localPath:r,isFirstSystem:i,isFirstAccount:a,isLatestAskUserQuestion:o,isLatestExitPlanMode:s,isLatestTodoWrite:c,hideResult:l,isFinalStatus:u,onAskUserQuestionSubmit:d,onExitPlanModeConfirm:f,onToolRequestAnswer:p=Eu,schedules:m,cronJobs:h,onAutoContinueAccept:g,onAutoContinueReschedule:_,onAutoContinueCancel:v,onRetryFailedTurn:y,onCronRemove:b,chatId:x})=>{let S=null;if(e.kind===`user_prompt`)S=(0,q.jsx)(ec,{content:e.content,attachments:e.attachments,steered:e.steered,autoContinue:e.autoContinue,expandedCommand:e.expandedCommand},e.id);else switch(e.kind){case`auto_continue_prompt`:{let t=m[e.scheduleId];if(!t){S=(0,q.jsx)(`div`,{className:`rounded border px-3 py-2 text-sm opacity-70`,children:`Auto-continue expired`},e.id);break}S=(0,q.jsx)(Ul,{schedule:t,onAccept:t=>g(e.scheduleId,t),onReschedule:t=>_(e.scheduleId,t),onCancel:()=>v(e.scheduleId)},e.id);break}case`unknown`:S=(0,q.jsx)(tc,{json:e.json},e.id);break;case`system_init`:S=i?(0,q.jsx)(_c,{message:e,rawJson:e.debugRaw},e.id):null;break;case`account_info`:S=a?(0,q.jsx)(Sc,{message:e},e.id):null;break;case`assistant_text`:S=(0,q.jsx)(fe,{message:e},e.id);break;case`assistant_thinking`:S=(0,q.jsx)(me,{message:e},e.id);break;case`api_error`:S=(0,q.jsx)(Rc,{message:e},e.id);break;case`policy_refusal`:S=(0,q.jsx)(Vc,{message:e},e.id);break;case`tool`:if(e.isError){S=(0,q.jsx)(ye,{message:e,isLoading:n,localPath:r,chatId:x},e.id);break}if(e.toolKind===`ask_user_question`){S=(0,q.jsx)(tl,{message:e,onSubmit:d,isLatest:o},e.id);break}if(e.toolKind===`exit_plan_mode`){S=(0,q.jsx)(ol,{message:e,onConfirm:f,isLatest:s},e.id);break}if(e.toolKind===`todo_write`){S=c?(0,q.jsx)(cl,{message:e},e.id):null;break}if(e.toolKind===`offer_download`&&e.result){S=(0,q.jsx)(dl,{message:e},e.id);break}if(e.toolKind===`preview_file`&&e.result){S=(0,q.jsx)(ml,{message:e},e.id);break}if(e.toolKind===`image_generation`){S=(0,q.jsx)(_l,{message:e},e.id);break}S=(0,q.jsx)(ye,{message:e,isLoading:n,localPath:r,chatId:x},e.id);break;case`result`:S=l?null:(0,q.jsx)(_e,{message:e,onRetry:y},e.id);break;case`context_window_updated`:S=null;break;case`interrupted`:S=(0,q.jsx)(vl,{message:e},e.id);break;case`compact_boundary`:S=(0,q.jsx)(Tl,{},e.id);break;case`context_cleared`:S=(0,q.jsx)(El,{},e.id);break;case`memory_loaded`:S=(0,q.jsx)(Dl,{message:e},e.id);break;case`compact_summary`:S=(0,q.jsx)(Ol,{message:e},e.id);break;case`status`:S=u?(0,q.jsx)(Al,{message:e},e.id):null;break;case`pending_tool_request`:S=(0,q.jsx)(tu,{entry:e,onAnswer:p},e.id);break;case`cron_armed`:S=(0,q.jsx)(Cc,{message:e,onRemove:b},e.id);break;case`cron_command_error`:S=(0,q.jsx)(Tc,{message:e},e.id);break;case`cron_run`:S=(0,q.jsx)(we,{message:e,cronJobs:h},e.id);break;case`cron_run_skipped`:S=(0,q.jsx)(kc,{message:e},e.id);break;case`cron_list`:S=(0,q.jsx)(Oc,{message:e,cronJobs:h},e.id);break;case`cron_job_change`:S=(0,q.jsx)(Dc,{message:e},e.id);break;case`loop_disarmed`:S=(0,q.jsx)(bl,{message:e},e.id)}return S?(0,q.jsx)(`div`,{id:`msg-${e.id}`,className:`group relative`,"data-index":t,[nt]:``,children:S}):null},(e,t)=>e.index===t.index&&e.isLoading===t.isLoading&&e.localPath===t.localPath&&e.isFirstSystem===t.isFirstSystem&&e.isFirstAccount===t.isFirstAccount&&e.isLatestAskUserQuestion===t.isLatestAskUserQuestion&&e.isLatestExitPlanMode===t.isLatestExitPlanMode&&e.isLatestTodoWrite===t.isLatestTodoWrite&&e.hideResult===t.hideResult&&e.isFinalStatus===t.isFinalStatus&&e.onAskUserQuestionSubmit===t.onAskUserQuestionSubmit&&e.onExitPlanModeConfirm===t.onExitPlanModeConfirm&&e.onToolRequestAnswer===t.onToolRequestAnswer&&e.schedules===t.schedules&&e.cronJobs===t.cronJobs&&e.onAutoContinueAccept===t.onAutoContinueAccept&&e.onAutoContinueReschedule===t.onAutoContinueReschedule&&e.onAutoContinueCancel===t.onAutoContinueCancel&&e.onCronRemove===t.onCronRemove&&e.chatId===t.chatId&&Su(e.message,t.message)),Ou=(0,K.memo)(({id:e,messages:t,isLoading:n,localPath:r,expanded:i,onExpandedChange:a,chatId:o})=>(0,q.jsx)(`div`,{className:`group relative`,[nt]:``,children:(0,q.jsx)(Il,{messages:t,isLoading:n,localPath:r,expanded:i,onExpandedChange:t=>a(e,t),chatId:o})}),(e,t)=>e.id===t.id&&e.startIndex===t.startIndex&&e.isLoading===t.isLoading&&e.localPath===t.localPath&&e.expanded===t.expanded&&e.onExpandedChange===t.onExpandedChange&&e.chatId===t.chatId&&e.messages.length===t.messages.length&&e.messages.every((e,n)=>Su(e,t.messages[n])));function ku(e,{isLoading:t,localPath:n,latestToolIds:r}){let i=gu(e,r),a=_u(e,i),o=[];for(let e of a){if(e.type===`tool-group`){o.push({kind:`tool-group`,id:vu(e),startIndex:e.startIndex,messages:e.messages,isLoading:t&&e.messages.some(e=>e.kind===`tool`&&e.result===void 0),localPath:n});continue}let a=i[e.index];if(!a)continue;let s={kind:`single`,id:vu(e),message:e.message,index:e.index,isLoading:e.message.kind===`tool`&&e.message.result===void 0&&t,localPath:n,isFirstSystem:a.isFirstSystem,isFirstAccount:a.isFirstAccount,isLatestAskUserQuestion:e.message.id===r.AskUserQuestion,isLatestExitPlanMode:e.message.id===r.ExitPlanMode,isLatestTodoWrite:a.isLatestTodoWrite,hideResult:a.hideResult,isFinalStatus:a.isFinalStatus};a.shouldRender&&o.push(s)}return o}var Au=(0,K.memo)(({row:e,toolGroupExpanded:t})=>{let{onToolGroupExpandedChange:n,onAskUserQuestionSubmit:r,onExitPlanModeConfirm:i,onToolRequestAnswer:a,schedules:o,cronJobs:s,onAutoContinueAccept:c,onAutoContinueReschedule:l,onAutoContinueCancel:u,onRetryFailedTurn:d,onCronRemove:f,chatId:p}=lu();return e.kind===`tool-group`?(0,q.jsx)(Ou,{id:e.id,startIndex:e.startIndex,messages:e.messages,isLoading:e.isLoading,localPath:e.localPath,expanded:t??!1,onExpandedChange:n,chatId:p}):(0,q.jsx)(Du,{message:e.message,index:e.index,isLoading:e.isLoading,localPath:e.localPath,isFirstSystem:e.isFirstSystem,isFirstAccount:e.isFirstAccount,isLatestAskUserQuestion:e.isLatestAskUserQuestion,isLatestExitPlanMode:e.isLatestExitPlanMode,isLatestTodoWrite:e.isLatestTodoWrite,hideResult:e.hideResult,isFinalStatus:e.isFinalStatus,onAskUserQuestionSubmit:r,onExitPlanModeConfirm:i,onToolRequestAnswer:a,schedules:o,cronJobs:s,onAutoContinueAccept:c,onAutoContinueReschedule:l,onAutoContinueCancel:u,onRetryFailedTurn:d,onCronRemove:f,chatId:p})},(e,t)=>{if(e.toolGroupExpanded!==t.toolGroupExpanded||e.row.kind!==t.row.kind||e.row.id!==t.row.id)return!1;if(e.row.kind===`tool-group`&&t.row.kind===`tool-group`){let n=e.row,r=t.row;return n.startIndex===r.startIndex&&n.isLoading===r.isLoading&&n.localPath===r.localPath&&n.messages.length===r.messages.length&&n.messages.every((e,t)=>Su(e,r.messages[t]))}return e.row.kind===`single`&&t.row.kind===`single`&&e.row.index===t.row.index&&e.row.isLoading===t.row.isLoading&&e.row.localPath===t.row.localPath&&e.row.isFirstSystem===t.row.isFirstSystem&&e.row.isFirstAccount===t.row.isFirstAccount&&e.row.isLatestAskUserQuestion===t.row.isLatestAskUserQuestion&&e.row.isLatestExitPlanMode===t.row.isLatestExitPlanMode&&e.row.isLatestTodoWrite===t.row.isLatestTodoWrite&&e.row.hideResult===t.row.hideResult&&e.row.isFinalStatus===t.row.isFinalStatus&&Su(e.row.message,t.row.message)}),ju={},Mu=[];function Nu(e){return e.kind===`single`&&e.message.kind===`tool`&&e.message.toolName===`mcp__kanna__delegate_subagent`?e.message.toolId:null}function Pu({row:e,gapClass:t,arriveIndex:n,toolGroupExpanded:r,runTree:i}){return(0,q.jsxs)(`div`,{className:w(`mx-auto w-full max-w-[800px]`,t,n!==void 0&&`kanna-transcript-row-in`),style:n===void 0?void 0:{animationDelay:`calc(${n} * var(--motion-stagger-loose))`},"data-transcript-row-id":e.id,children:[(0,q.jsx)(Au,{row:e,toolGroupExpanded:r}),i]})}var Fu=(0,K.memo)(Pu);function Iu(e){return e.kind===`tool`}var Lu=[`AskUserQuestion`,`ExitPlanMode`,`TodoWrite`],Ru=new Set([`TodoWrite`]);function zu(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(Iu(r)&&r.toolName===t&&!r.result)return r.id}return null}function Bu(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(Iu(r)&&r.toolName===t)return r.id}return null}function Vu(e){let t={};for(let n of Lu)t[n]=Ru.has(n)?Bu(e,n):zu(e,n);return t}function Hu(e,t){return e!==null&&e===t}function Uu(e){return e===`starting`||e===`running`||e===`waiting_for_user`}function Wu(e){return e===`starting`||e===`running`||e===`waiting_for_user`}var Gu={user_prompt:`user`,assistant_text:`assistant`,assistant_thinking:`assistant`,compact_summary:`assistant`,tool:`tool`,system_init:`chrome`,account_info:`chrome`,result:`chrome`,status:`chrome`,compact_boundary:`chrome`,context_cleared:`chrome`,interrupted:`chrome`,memory_loaded:`chrome`,context_window_updated:`chrome`,api_error:`card`,policy_refusal:`card`,pending_tool_request:`card`,auto_continue_prompt:`card`,unknown:`card`,loop_disarmed:`card`,cron_armed:`card`,cron_command_error:`card`,cron_run:`card`,cron_list:`card`,cron_run_skipped:`chrome`,cron_job_change:`chrome`};function Ku(e){return e.kind===`tool-group`?`tool`:Gu[e.message.kind]??`card`}function qu(e,t){return e===null?0:e===`chrome`||t===`chrome`?8:e===`tool`&&t===`tool`?0:e===`assistant`&&t===`tool`||e===`tool`&&t===`assistant`||e===`user`&&t===`user`?4:e===`assistant`&&t===`assistant`?12:32}function Ju(e){return e===32}function Yu(e,t){return qu(e?Ku(e):null,Ku(t))}var Xu={0:`pt-0`,4:`pt-1`,8:`pt-2`,12:`pt-3`,16:`pt-4`,24:`pt-6`,32:`pt-8`},Zu=`relative before:absolute before:inset-x-0 before:top-4 before:h-px before:bg-border before:content-['']`;function Qu(e){let t=new Map,n=null;for(let r of e){let e=Yu(n,r),i=Xu[e];t.set(r.id,Ju(e)?`${i} ${Zu}`:i),n=r}return t}var $u=y()(e=>({byChat:{},setLiveBlock:(t,n)=>e(e=>{if(n===null){if(!(t in e.byChat))return e;let{[t]:n,...r}=e.byChat;return{byChat:r}}return{byChat:{...e.byChat,[t]:n}}})}));function ed(e){return t=>e===null?null:t.byChat[e]??null}var td=new Set([`assistant_text`,`assistant_thinking`,`tool_call`,`result`]);function nd(e){return td.has(e)}function rd(e){return e.some(e=>e.kind===`entries.append`&&e.entries.some(e=>nd(e.kind)))}function id(e,t){let n=[...e];for(let e of t){let t=n[n.length-1];e.kind===`context_window_updated`&&t?.kind===`context_window_updated`?n[n.length-1]=e:n.push(e)}return n}function ad(e,t,n){let r=e.messages,i=e.runtime,a={};for(let e of t)if(e.kind===`entries.append`){let t=new Set(r.map(e=>e._id)),n=new Map(e.entries.filter(e=>t.has(e._id)).map(e=>[e._id,e])),i=n.size>0?r.map(e=>n.get(e._id)??e):r,a=e.entries.filter(e=>!t.has(e._id));r=a.length>0?id(i,a):i}else e.kind===`runtime.set`?i=e.runtime:e.kind===`sections.set`?a={...a,...e.sections}:r=[...r.filter(e=>e.kind!==`pending_tool_request`),...e.entries];return{...e,...a,runtime:i,messages:r,seq:n}}var od={chatSnapshot:null,olderHistoryEntries:[],isHistoryLoading:!1,historyCursor:null,hasOlderHistory:!1,chatReady:!1,chatResyncNonce:0};function sd(e,t,n){let r=e.chats[t]??od;return{chats:{...e.chats,[t]:{...r,...n}}}}function cd(e,t){return e.chats[t]??od}var $=y()(e=>({chats:{},optimisticProcessing:{},setChatSnapshot:(t,n)=>e(e=>{let r=(e.chats[t]??od).chatSnapshot;return sd(e,t,{chatSnapshot:typeof n==`function`?n(r):n})}),setOlderHistoryEntries:(t,n)=>e(e=>{let r=(e.chats[t]??od).olderHistoryEntries;return sd(e,t,{olderHistoryEntries:typeof n==`function`?n(r):n})}),setIsHistoryLoading:(t,n)=>e(e=>sd(e,t,{isHistoryLoading:n})),setHistoryCursor:(t,n)=>e(e=>sd(e,t,{historyCursor:n})),setHasOlderHistory:(t,n)=>e(e=>sd(e,t,{hasOlderHistory:n})),adoptServerHistory:(t,n)=>e(e=>(e.chats[t]??od).olderHistoryEntries.length>0?e:sd(e,t,{historyCursor:n.olderCursor,hasOlderHistory:n.hasOlder})),setChatReady:(t,n)=>e(e=>sd(e,t,{chatReady:n})),setChatResyncNonce:(t,n)=>e(e=>sd(e,t,{chatResyncNonce:n})),bumpChatResyncNonce:t=>e(e=>{let n=(e.chats[t]??od).chatResyncNonce;return sd(e,t,{chatResyncNonce:n+1})}),applyChatOpsEvent:(t,n)=>{let r=`stale`;return e(e=>{let i=(e.chats[t]??od).chatSnapshot;return!i||n.chatId!==t||i.runtime.chatId!==n.chatId?(r=`stale`,{}):i.seq===void 0?(r=`gap`,{}):n.toSeq<=i.seq?(r=`stale`,{}):n.fromSeq>i.seq+1?(r=`gap`,{}):(r=`applied`,sd(e,t,{chatSnapshot:ad(i,n.ops,n.toSeq)}))}),r},releaseChat:t=>e(e=>{if(!(t in e.chats))return{};let n={...e.chats};return delete n[t],{chats:n}}),setOptimisticProcessing:(t,n)=>e(e=>{let r=e.optimisticProcessing[t]??null,i=typeof n==`function`?n(r):n;if(i===null){if(!(t in e.optimisticProcessing))return{};let n={...e.optimisticProcessing};return delete n[t],{optimisticProcessing:n}}return{optimisticProcessing:{...e.optimisticProcessing,[t]:i}}})}));function ld(e){return{openChat:t=>e(`/chat/${t}`),closeChat:()=>e(`/`),goHome:()=>e(`/`)}}var ud=(0,K.createContext)(null);function dd({children:e,ports:t={}}){let n=t.localStore??Le,a=t.sessStore??Re,o=t.dom??b,s=t.timer??Ue,c=t.clipboard??Ae,l=r(),u=(0,K.useMemo)(()=>ld(l),[l]),d=t.chatNavigator??u,f=Te(),{chatId:p}=i(),h=p??null,g=$(e=>{if(!h)return null;let{chatSnapshot:t}=cd(e,h);return!t||t.runtime.chatId!==h?null:t.runtime}),_=t.socket??f;if(!_)throw Error(`AppGlobalProvider requires a KannaSocket: mount inside KannaSocketProvider or pass ports.socket`);let v=m(_,n,a,o,s,c,h,g,d);return(0,q.jsx)(ud.Provider,{value:v,children:e})}function fd(){let e=(0,K.useContext)(ud);if(e===null)throw Error(`useAppGlobalContext must be called inside an AppGlobalProvider`);return e}function pd(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>e._id===t[n]?._id)}function md(e,t){return t.length===0?e:e.map(e=>e.id===`openrouter`?{...e,models:t.map(e=>({id:e.id,label:e.label}))}:e)}function hd(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>e.id===t[n]?.id)}function gd(e,t){return e===t?!0:!e||!t?!1:e.hasOlder===t.hasOlder&&e.olderCursor===t.olderCursor&&e.recentLimit===t.recentLimit}function _d(e,t){return e.id===t.id&&e.content===t.content&&e.createdAt===t.createdAt&&e.provider===t.provider&&e.model===t.model&&e.planMode===t.planMode&&JSON.stringify(e.modelOptions)===JSON.stringify(t.modelOptions)&&vd(e.attachments,t.attachments)}function vd(e,t){return e===t||e.length===t.length&&e.every((e,n)=>{let r=t[n];return!!r&&e.id===r.id&&e.kind===r.kind&&e.displayName===r.displayName&&e.absolutePath===r.absolutePath&&e.relativePath===r.relativePath&&e.contentUrl===r.contentUrl&&e.mimeType===r.mimeType&&e.size===r.size})}function yd(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>_d(e,t[n]))}function bd(e,t){if(e===t)return!0;if(!e||!t)return!1;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>{let r=e[n],i=t[n];return!r||!i?!1:r.state===i.state&&r.scheduledAt===i.scheduledAt&&r.resetAt===i.resetAt&&r.detectedAt===i.detectedAt&&r.tz===i.tz})}function xd(e,t){if(e===t)return!0;if(!e||!t)return!1;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>{let r=e[n],i=t[n];return!r||!i?!1:r.state===i.state&&r.url===i.url&&r.error===i.error&&r.port===i.port&&r.activatedAt===i.activatedAt&&r.stoppedAt===i.stoppedAt})}function Sd(e,t){if(e===t)return!0;if(!e||!t)return!1;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>{let r=e[n],i=t[n];return!r||!i?!1:r.status===i.status&&r.entries.length===i.entries.length&&(r.finalText??``)===(i.finalText??``)&&(r.pendingTool?.toolUseId??null)===(i.pendingTool?.toolUseId??null)&&(r.usage?.outputTokens??null)===(i.usage?.outputTokens??null)&&r.finishedAt===i.finishedAt&&(r.error?.code??null)===(i.error?.code??null)})}function Cd(e,t){if(e===t)return!0;if(e.armed!==t.armed||e.rows.length!==t.rows.length||!e.rows.every((e,n)=>{let r=t.rows[n];return r!=null&&e.runId===r.runId&&e.status===r.status&&e.label===r.label}))return!1;let n=e.rateLimit,r=t.rateLimit;return n==null==(r==null)?n&&r?n.resetAt===r.resetAt&&n.scheduled===r.scheduled:!0:!1}function wd(e,t){return e===t?!0:!e||!t?!1:f(e.runtime,t.runtime)&&yd(e.queuedMessages,t.queuedMessages)&&pd(e.messages,t.messages)&&gd(e.history,t.history)&&hd(e.availableProviders,t.availableProviders)&&bd(e.schedules,t.schedules)&&e.liveScheduleId===t.liveScheduleId&&xd(e.tunnels,t.tunnels)&&e.liveTunnelId===t.liveTunnelId&&Sd(e.subagentRuns,t.subagentRuns)&&Cd(e.loopProgress,t.loopProgress)}function Td(e,t){let n=new Map;for(let t of e)n.set(t._id,t);for(let e of t)n.set(e._id,e);return[...n.values()]}function Ed(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.kind===`user_prompt`&&n.content.trim().length>0)return n.content}return null}var Dd=`__new_chat__`;function Od(e){return JSON.stringify({id:e.id,kind:e.kind,displayName:e.displayName,relativePath:e.relativePath,mimeType:e.mimeType,size:e.size,contentUrl:e.contentUrl})}function kd(e,t=[]){return JSON.stringify({content:e,attachments:t.map(Od)})}function Ad(e,t){return e.reduce((e,n)=>n.kind===`user_prompt`?e+ +(kd(n.content,n.attachments??[])===t):e,0)}function jd(e,t,n){let r=new Map;for(let e of n){if(e.kind!==`user_prompt`)continue;let t=kd(e.content,e.attachments??[]);r.set(t,(r.get(t)??0)+1)}return e.filter(e=>e.scopeId!==t||(r.get(e.signature)??0)<e.requiredMatchCount)}function Md(e,t,n){return!n.queued||!e.some(e=>e.id===t)?e:e.filter(e=>e.id!==t)}var Nd=200,Pd=500;function Fd(e){let t=e??b;return t.getVisibilityState()===`visible`&&t.hasFocus()}var Id=new Map;function Ld(e){let t=e.lastIndexOf(`:`);return t===-1?e:e.slice(0,t)}function Rd(e){for(let t of Id.keys())if(Ld(t)===e)return!0;return!1}function zd(e,t){let n=Id.get(e);n?n.count+=1:Id.set(e,{count:1,unsubscribe:t()});let r=!1;return()=>{if(r)return;r=!0;let t=Id.get(e);if(!t||(--t.count,t.count>0))return;Id.delete(e),t.unsubscribe();let n=Ld(e);queueMicrotask(()=>{Rd(n)||$.getState().releaseChat(n)})}}var Bd=`kanna:profile-send-to-starting`;function Vd(e,t){try{return e.getItem(Bd)===`1`||t.getItem(Bd)===`1`}catch{return!1}}function Hd(e){return Number((performance.now()-e).toFixed(1))}function Ud(e,t,n,r=Re,i=Le){e&&Vd(r,i)&&S.debug(`[kanna/send->starting][client]`,{traceId:e.traceId,stage:t,elapsedMs:Hd(e.startedAt),serverChatId:e.serverChatId,routeChatIdAtSend:e.routeChatIdAtSend,...n})}function Wd(e){return e?.provider===`claude`&&e.model&&e.modelOptions?.claude?{provider:`claude`,model:e.model,modelOptions:{reasoningEffort:e.modelOptions.claude.reasoningEffort??`high`,contextWindow:e.modelOptions.claude.contextWindow??`200k`},planMode:!!e.planMode}:e?.provider===`codex`&&e.model&&e.modelOptions?.codex?{provider:`codex`,model:e.model,modelOptions:{reasoningEffort:e.modelOptions.codex.reasoningEffort??`high`,fastMode:e.modelOptions.codex.fastMode??!1},planMode:!!e.planMode}:null}function Gd(e){return e+30}function Kd(e,t){return t>0?t:e}function qd(e,t){return!e||!t?null:e.runtime.chatId===t?e:(e.runtime.chatId,e.runtime.provider,null)}function Jd(e,t={}){let n=t.localStore??Le,r=t.sessStore??Re,i=t.dom??b,a=t.timer??Ue,o=fd(),s=o.socket,d=e??Dd,f=$(t=>cd(t,e??``).chatSnapshot),m=$(t=>cd(t,e??``).chatResyncNonce),h=$(t=>cd(t,e??``).olderHistoryEntries),y=$(t=>cd(t,e??``).isHistoryLoading),x=$(t=>cd(t,e??``).historyCursor),S=$(t=>cd(t,e??``).hasOlderHistory),C=$(t=>cd(t,e??``).chatReady),w=W(e=>e.diffSnapshotsByKey),T=W(e=>e.selectedProjectId),E=W(e=>e.pendingChatId),O=W(e=>e.optimisticUserPrompts),k=$(e=>e.optimisticProcessing[d]??null),A=W(e=>e.focusEpoch),j=(0,K.useRef)(new Map),M=g(bt(e=>Object.keys(e.drafts).sort())),N=g(bt(e=>Object.keys(e.attachmentDrafts).sort())),P=(0,K.useRef)(0),F=(0,K.useRef)(null),I=(0,K.useRef)({key:null,diffs:null}),L=u(gt(e=>e.settings?.editor.preset??`cursor`)),R=(0,K.useMemo)(()=>qd(f,e),[e,f]),z=R?.runtime??null,{connectionStatus:B}=o,V=o.sidebarData.projectGroups,H=(0,K.useRef)(V);(0,K.useLayoutEffect)(()=>{H.current=V});let ee=(0,K.useMemo)(()=>R?.runtime.projectId??v(V,e)??T,[e,R?.runtime.projectId,T,V]),te=(0,K.useMemo)(()=>{let t=ee?Be(ee,e):null,n=t?w[t]??(ee?w[ee]??null:null):null;return t&&n?(I.current={key:t,diffs:n},n):t&&I.current.key===t?I.current.diffs:n},[e,ee,w]),ne=R?.queuedMessages??[],re=(k!==null&&(!z||z.status===`idle`)?`starting`:null)??z?.status??null,ie=R?.availableProviders??p,ae=l(bt(e=>e.models)),oe=(0,K.useMemo)(()=>md(ie,ae),[ie,ae]),se=Wu(re??void 0),ce=Uu(re??void 0),le=z?.isDraining??!1,ue=o.localProjects?.projects[0]?.localPath??null,de=z?.localPath??ue??V[0]?.localPath,fe=!!(T??z?.projectId??V[0]?.groupKey??ue);(0,K.useEffect)(()=>{if(B!==`connected`)return;let e=[...new Set([...M,...N])].sort();s.command({type:`chat.setDraftProtection`,chatIds:e}).catch(e=>{W.getState().setCommandError(e instanceof Error?e.message:String(e))})},[N,B,M,s]),(0,K.useEffect)(()=>{if(e)return++P.current,zd(`${e}:${m}`,()=>{H.current.length,H.current.reduce((e,t)=>e+t.chats.length,0),$.getState().setChatSnapshot(e,null),$.getState().setChatReady(e,!1);let t=s.subscribe({type:`chat`,chatId:e,recentLimit:Nd},t=>{if(t?.runtime.chatId){let e=[...j.current.values()].filter(e=>e.serverChatId===t.runtime.chatId).sort((e,t)=>t.startedAt-e.startedAt)[0];e&&e.snapshotAt===void 0&&(e.snapshotAt=performance.now(),Ud(e,`chat_snapshot_received`,{status:t.runtime.status,messageCount:t.messages.length},r,n))}$.getState().setChatSnapshot(e,e=>{let n=wd(e,t);return t?.runtime.chatId,t?.runtime.provider,t?.runtime.status,t?.messages.length,n?e&&t&&e.seq!==t.seq?{...e,seq:t.seq}:e:t});let i=$.getState();i.adoptServerHistory(e,{olderCursor:t?.history.olderCursor??null,hasOlder:t?.history.hasOlder??!1}),i.setChatReady(e,!0),W.getState().setCommandError(null)},t=>{if(t.type===`chat.live`){t.chatId===e&&$u.getState().setLiveBlock(e,t.block);return}t.type===`chat.ops`&&t.chatId===e&&($.getState().applyChatOpsEvent(e,t)===`gap`?(t.fromSeq,t.toSeq,$.getState().bumpChatResyncNonce(e)):rd(t.ops)&&$u.getState().setLiveBlock(e,null))});return()=>{H.current.length,H.current.reduce((e,t)=>e+t.chats.length,0),t(),$u.getState().setLiveBlock(e,null)}})},[e,n,r,s,m]),(0,K.useEffect)(()=>{if(e)return s.subscribe({type:`workflows`,chatId:e},e=>{ve.getState().setRuns(e.chatId,e.runs)})},[e,s]),(0,K.useEffect)(()=>{if(e&&Hu(e,o.routeChatId)&&o.sidebarReady&&C){if(V.some(t=>t.chats.some(t=>t.chatId===e))){E===e&&W.getState().setPendingChatId(null);return}E!==e&&o.chatNavigator.closeChat()}},[e,o.chatNavigator,o.routeChatId,o.sidebarReady,C,E,V]),(0,K.useEffect)(()=>{f&&Hu(f.runtime.chatId,o.routeChatId)&&(W.getState().setSelectedProjectId(f.runtime.projectId),E===f.runtime.chatId&&W.getState().setPendingChatId(null))},[e,o.routeChatId,f,E]),(0,K.useEffect)(()=>{e&&o.sidebarReady&&Hu(e,o.routeChatId)&&Fd(i)&&V.flatMap(e=>e.chats).find(t=>t.chatId===e)?.unread&&s.command({type:`chat.markRead`,chatId:e}).catch(e=>{W.getState().setCommandError(e instanceof Error?e.message:String(e))})},[e,o.routeChatId,o.sidebarReady,i,A,V,s]),(0,K.useEffect)(()=>{f?.runtime.chatId,f?.runtime.provider,R?.runtime.chatId,R?.runtime.provider},[e,R,f,E]);let pe=(0,K.useMemo)(()=>Td(h,R?.messages??[]),[R?.messages,h]),U=(0,K.useMemo)(()=>O.filter(e=>e.scopeId===d).map(e=>e.entry),[d,O]),me=(0,K.useMemo)(()=>[...pe,...U],[U,pe]),he=(0,K.useMemo)(()=>be(me),[me]),ge=(0,K.useMemo)(()=>Ed(he),[he]),_e=(0,K.useMemo)(()=>Vu(he),[he]);(0,K.useEffect)(()=>{k&&z?.status&&z.status!==`idle`&&$.getState().setOptimisticProcessing(d,null)},[k,d,z?.status]),(0,K.useEffect)(()=>{if(!k?.ackedAt||z?.status&&z.status!==`idle`)return;let e=k.ackedAt,t=a.setTimeout(()=>{$.getState().setOptimisticProcessing(d,t=>t?.ackedAt===e?null:t)},300);return()=>a.clearTimeout(t)},[k,d,z?.status,a]),(0,K.useEffect)(()=>{if(!e||z?.status!==`starting`)return;let t=[...j.current.values()].filter(t=>t.serverChatId===e).sort((e,t)=>t.startedAt-e.startedAt)[0];t&&t.startingStatusAt===void 0&&(t.startingStatusAt=performance.now(),Ud(t,`runtime_status_starting`,{status:z.status},r,n))},[e,n,z?.status,r]),(0,K.useEffect)(()=>{if(!e||!z||z.status===`starting`)return;let t=[...j.current.values()].filter(t=>t.serverChatId===e).sort((e,t)=>t.startedAt-e.startedAt)[0];t&&t.startingRenderedAt===void 0&&(Ud(t,`starting_not_observed`,{status:z.status},r,n),j.current.delete(t.traceId))},[e,n,z,r]),(0,K.useLayoutEffect)(()=>{if(!e||z?.status!==`starting`){F.current=null;return}let t=[...j.current.values()].filter(t=>t.serverChatId===e).sort((e,t)=>t.startedAt-e.startedAt)[0];t&&F.current!==t.traceId&&(F.current=t.traceId,t.startingRenderedAt=performance.now(),Ud(t,`starting_render_committed`,{totalMs:Hd(t.startedAt)},r,n),j.current.delete(t.traceId))},[e,n,z?.status,r]),(0,K.useEffect)(()=>{W.getState().setOptimisticUserPrompts(e=>{let t=jd(e,d,pe);return t.length===e.length&&t.every((t,n)=>t===e[n])?e:t})},[d,pe]);let ye=(0,K.useCallback)(async()=>{if(e&&x&&!y&&S){$.getState().setIsHistoryLoading(e,!0);try{let t=await s.command({type:`chat.loadHistory`,chatId:e,beforeCursor:x,limit:Pd}),n=$.getState();n.setOlderHistoryEntries(e,e=>Td(t.messages,e)),n.setHistoryCursor(e,t.olderCursor),n.setHasOlderHistory(e,t.hasOlder),W.getState().setCommandError(null)}catch(e){let t=e instanceof Error?e.message:String(e);W.getState().setCommandError(t)}finally{$.getState().setIsHistoryLoading(e,!1)}}},[e,S,x,y,s]),xe=(0,K.useCallback)(async(t,i)=>{let a=i?.attachments??[],l=D(),u=D(),f=kd(t,a);$.getState().setOptimisticProcessing(d,{ackedAt:null});let p={traceId:u,optimisticId:l,startedAt:performance.now(),serverChatId:e,routeChatIdAtSend:e,contentPreview:t.slice(0,80)};j.current.set(u,p),Ud(p,`handle_send_called`,{optimisticScopeId:d,attachments:a.length,contentLength:t.length,contentPreview:p.contentPreview},r,n);let m=Ad(pe,f)+O.filter(e=>e.scopeId===d&&e.signature===f).length+1;W.getState().setOptimisticUserPrompts(e=>[...e,{id:l,scopeId:d,signature:f,requiredMatchCount:m,entry:{_id:`optimistic:${l}`,kind:`user_prompt`,content:t,attachments:a,createdAt:Date.now()}}]),Ud(p,`optimistic_prompt_added`,{optimisticId:l,optimisticScopeId:d},r,n);try{let f=T??V[0]?.groupKey??null;if(!e&&!f&&ue&&(f=(await s.command({type:`project.open`,localPath:ue})).projectId,W.getState().setSelectedProjectId(f)),!e&&!f)throw Error(`Open a project first`);let m=_.getState().autoResumeOnRateLimit,h=await s.command({type:`chat.send`,chatId:e??void 0,projectId:e?void 0:f??void 0,clientTraceId:u,provider:i?.provider,content:t,attachments:a,model:i?.model,modelOptions:i?.modelOptions,planMode:i?.planMode,autoResumeOnRateLimit:m});if(p.ackAt=performance.now(),p.serverChatId=h.chatId??p.serverChatId,h.queued?(W.getState().setOptimisticUserPrompts(e=>Md(e,l,{queued:!0})),$.getState().setOptimisticProcessing(d,null)):!e&&h.chatId?($.getState().setOptimisticProcessing(d,null),$.getState().setOptimisticProcessing(h.chatId,{ackedAt:performance.now()})):$.getState().setOptimisticProcessing(d,e=>e&&{ackedAt:performance.now()}),Ud(p,`chat_send_ack_received`,{resultChatId:h.chatId??null,queued:h.queued??!1},r,n),!e&&h.chatId){W.getState().setOptimisticUserPrompts(e=>e.map(e=>e.id===l?{...e,scopeId:h.chatId}:e));let e=c.getState();e.setComposerState(h.chatId,Wd(i)??e.getComposerState(`__new__`)),W.getState().setPendingChatId(h.chatId),o.chatNavigator.openChat(h.chatId)}W.getState().setCommandError(null)}catch(e){throw W.getState().setOptimisticUserPrompts(e=>e.filter(e=>e.id!==l)),$.getState().setOptimisticProcessing(d,null),Ud(p,`handle_send_failed`,{error:e instanceof Error?e.message:String(e)},r,n),j.current.delete(u),W.getState().setCommandError(e instanceof Error?e.message:String(e)),e}},[e,o.chatNavigator,ue,n,d,O,T,pe,r,V,s]),Se=(0,K.useCallback)(async t=>{if(e){$.getState().setOptimisticProcessing(e,{ackedAt:null});try{await s.command({type:`message.steer`,chatId:e,queuedMessageId:t}),$.getState().setOptimisticProcessing(e,e=>e&&{ackedAt:performance.now()}),W.getState().setCommandError(null)}catch(t){$.getState().setOptimisticProcessing(e,null),W.getState().setCommandError(t instanceof Error?t.message:String(t))}}},[e,s]),Ce=(0,K.useCallback)(async t=>{if(e)try{await s.command({type:`message.dequeue`,chatId:e,queuedMessageId:t}),W.getState().setCommandError(null)}catch(e){W.getState().setCommandError(e instanceof Error?e.message:String(e))}},[e,s]),we=(0,K.useCallback)(async()=>{if(e)try{await s.command({type:`chat.cancel`,chatId:e})}catch(e){W.getState().setCommandError(e instanceof Error?e.message:String(e))}},[e,s]),Te=(0,K.useCallback)(async()=>{if(e)try{await s.command({type:`chat.stopDraining`,chatId:e})}catch(e){W.getState().setCommandError(e instanceof Error?e.message:String(e))}},[e,s]),Ee=(0,K.useCallback)(async(t,n,r)=>{if(e)try{await s.command({type:`chat.respondTool`,chatId:e,toolUseId:t,result:ql(n,r)})}catch(e){throw W.getState().setCommandError(e instanceof Error?e.message:String(e)),e}},[e,s]),De=(0,K.useCallback)(async(t,n,r,i)=>{if(e){n&&c.getState().setChatComposerPlanMode(e,!1);try{await s.command({type:`chat.respondTool`,chatId:e,toolUseId:t,result:{confirmed:n,...r?{clearContext:!0}:{},...i?{message:i}:{}}})}catch(e){W.getState().setCommandError(e instanceof Error?e.message:String(e))}}},[e,s]),Oe=(0,K.useCallback)(async(t,n,r,i)=>{if(e)try{await s.command({type:`chat.respondSubagentTool`,chatId:e,runId:t,toolUseId:n,result:ql(r,i)})}catch(e){W.getState().setCommandError(e instanceof Error?e.message:String(e))}},[e,s]),ke=(0,K.useCallback)(async(t,n,r)=>{if(e)try{await s.command({type:`chat.respondSubagentTool`,chatId:e,runId:t,toolUseId:n,result:r})}catch(e){W.getState().setCommandError(e instanceof Error?e.message:String(e))}},[e,s]),Ae=(0,K.useCallback)(async(t,n)=>{if(e)try{await s.command({type:`chat.toolRequestAnswer`,chatId:e,toolRequestId:t,decision:n})}catch(e){W.getState().setCommandError(e instanceof Error?e.message:String(e))}},[e,s]);return{...o,activeChatId:e,activeProjectId:ee,chatSnapshot:f,chatDiffSnapshot:te,messages:he,queuedMessages:ne,previousPrompt:ge,latestToolIds:_e,runtime:z,runtimeStatus:re,isHistoryLoading:y,hasOlderHistory:S,availableProviders:oe,isProcessing:se,canCancel:ce,isDraining:le,navbarLocalPath:de,editorLabel:L,hasSelectedProject:fe,loadOlderHistory:ye,handleSend:xe,handleSteerQueuedMessage:Se,handleRemoveQueuedMessage:Ce,handleCancel:we,handleStopDraining:Te,handleAskUserQuestion:Ee,handleExitPlanMode:De,handleSubagentAskUserQuestion:Oe,handleSubagentExitPlanMode:ke,handleToolRequestAnswer:Ae}}export{Xi as $,Ws as A,uo as B,il as C,tn as Ct,Rs as D,Vt as Dt,Ks as E,Ut as Et,ws as F,Pa as G,go as H,Ss as I,_s as J,Ea as K,Cs as L,Ps as M,Fs as N,Vs as O,jt as Ot,Es as P,$i as Q,ps as R,ol as S,cn as St,Ys as T,qt as Tt,xo as U,yo as V,Sa as W,pa as X,xs as Y,ma as Z,uu as _,dn as _t,fd as a,Ei as at,iu as b,fn as bt,Qu as c,On as ct,Nu as d,An as dt,ki as et,Mu as f,En as ft,su as g,bn as gt,Tu as h,xn as ht,dd as i,Ti as it,Us as j,Gs as k,Vu as l,kn as lt,ku as m,Sn as mt,Gd as n,Gi as nt,ed as o,Di as ot,ju as p,Cn as pt,vs as q,Jd as r,Ci as rt,$u as s,wi as st,Kd as t,Li as tt,Fu as u,Dn as ut,lu as v,hn as vt,tl as w,Zt as wt,Rl as x,pn as xt,ru as y,mn as yt,Q as z};
|