@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.
Files changed (67) hide show
  1. package/dist/client/assets/{BoardsPage-CwmfG7r7.js → BoardsPage-DudYbDyu.js} +1 -1
  2. package/dist/client/assets/{BoardsRoutePage-CEqcmgEs.js → BoardsRoutePage-DUvJAyzh.js} +1 -1
  3. package/dist/client/assets/{ChatPage-CDYlmvTh.js → ChatPage-ChFKw7nK.js} +6 -6
  4. package/dist/client/assets/{CronJobRow-Clz1CMaP.js → CronJobRow-DU1RtrCs.js} +1 -1
  5. package/dist/client/assets/{CronJobsPage-Cp2ljuzG.js → CronJobsPage-cjH7p3lh.js} +1 -1
  6. package/dist/client/assets/{FilePreviewSheet-Dz2nMmpT.js → FilePreviewSheet-wcpWIb90.js} +1 -1
  7. package/dist/client/assets/{FlowSurface-D8jEIDTL.js → FlowSurface-Doyyct0h.js} +1 -1
  8. package/dist/client/assets/{GenUIBlock-wR_ASBOI.js → GenUIBlock-D-TBN4Um.js} +2 -2
  9. package/dist/client/assets/{KannaSocketProvider-CjyunR2e.js → KannaSocketProvider-uWU6WkNo.js} +1 -1
  10. package/dist/client/assets/{LocalProjectsPage-BSEd-eik.js → LocalProjectsPage-D8V8a3WM.js} +1 -1
  11. package/dist/client/assets/{SettingsPage-lO0j29v6.js → SettingsPage-CiCU3nka.js} +1 -1
  12. package/dist/client/assets/{StackBoardsRoutePage-Bln20SrZ.js → StackBoardsRoutePage-DDvdmA3Y.js} +1 -1
  13. package/dist/client/assets/{ToolCallMessage-BU_kRKSX.js → ToolCallMessage-CHJSiauG.js} +1 -1
  14. package/dist/client/assets/{VChartSurface-DGt2rY1C.js → VChartSurface-DVRoAi5e.js} +1 -1
  15. package/dist/client/assets/{WorkflowsPage-5x1x5lh7.js → WorkflowsPage-LwL034ZP.js} +1 -1
  16. package/dist/client/assets/{WorkflowsSection-qmqlEagS.js → WorkflowsSection-HlGaR0pJ.js} +1 -1
  17. package/dist/client/assets/{chart-renderer-B4RB_Vl1.js → chart-renderer-BZXJQWtw.js} +1 -1
  18. package/dist/client/assets/{chatSounds-o52bjGQP.js → chatSounds-BNvUSPAi.js} +1 -1
  19. package/dist/client/assets/chevron-left-FnMbL2tA.js +1 -0
  20. package/dist/client/assets/{clipboard.adapter-BvGCjfPV.js → clipboard.adapter-CIRv1YNb.js} +1 -1
  21. package/dist/client/assets/{columnStyle-Drcf36na.js → columnStyle-mS8DKLCV.js} +1 -1
  22. package/dist/client/assets/{copyFeedbackStore-FlVcAL_c.js → copyFeedbackStore-DHAfKV4i.js} +1 -1
  23. package/dist/client/assets/{createScopedStore-D5Oag_wd.js → createScopedStore-or82_bxr.js} +1 -1
  24. package/dist/client/assets/{dist-u3-1WIv4.js → dist-Cvh6FEf5.js} +1 -1
  25. package/dist/client/assets/{ellipsis-EuMuTlhJ.js → ellipsis-CWiRFysC.js} +1 -1
  26. package/dist/client/assets/{flow-kinds-BzdVFTwx.js → flow-kinds-Digyo6AB.js} +1 -1
  27. package/dist/client/assets/{folder-ByOaA11q.js → folder-CnSb5m9v.js} +1 -1
  28. package/dist/client/assets/{formatDuration-B6E9KTDu.js → formatDuration-DsrNkArK.js} +1 -1
  29. package/dist/client/assets/{genui-BnrsDpVz.js → genui-BagNQVNI.js} +1 -1
  30. package/dist/client/assets/{globe-BqmhnccZ.js → globe-tc_9UiU3.js} +1 -1
  31. package/dist/client/assets/{host-2KzofXms.js → host-C7I7nFuH.js} +1 -1
  32. package/dist/client/assets/index-D9OYZjb7.js +26 -0
  33. package/dist/client/assets/{info-BcTChXV5.js → info-CgLDBnLR.js} +1 -1
  34. package/dist/client/assets/{input-Pqq9209u.js → input-BaAZ4OHy.js} +1 -1
  35. package/dist/client/assets/{lexicalToReact-w1LjYOTM.js → lexicalToReact-ClgTGbzM.js} +3 -3
  36. package/dist/client/assets/{log-OCZfBFFe.js → log-Ch_SNBXH.js} +1 -1
  37. package/dist/client/assets/{monitor-fn5oGNs1.js → monitor-fFRMWd1S.js} +1 -1
  38. package/dist/client/assets/{pendingActionsStore-2ldF8rQh.js → pendingActionsStore-CWNaCyjS.js} +1 -1
  39. package/dist/client/assets/{play-BP4EBjZw.js → play-DD0bVaYg.js} +1 -1
  40. package/dist/client/assets/{plus-WDHArJ5z.js → plus-By3sppx5.js} +1 -1
  41. package/dist/client/assets/{popover-DkE_RkoX.js → popover-CJNN95M0.js} +1 -1
  42. package/dist/client/assets/{pushClient-BOEoH4vb.js → pushClient-DbwI0iz1.js} +1 -1
  43. package/dist/client/assets/runDetached-CQOu05LK.js +1 -0
  44. package/dist/client/assets/{segmented-control-B2_6WsRn.js → segmented-control-DYmNRyQy.js} +1 -1
  45. package/dist/client/assets/{select-Dq6C29O9.js → select-Dam9e0mi.js} +1 -1
  46. package/dist/client/assets/{settings-header-button-D76GLmVM.js → settings-header-button-DaCbsV31.js} +1 -1
  47. package/dist/client/assets/{sidebarPendingActions-CZXv60kH.js → sidebarPendingActions-DxI6ubAL.js} +1 -1
  48. package/dist/client/assets/{square-pen-BjyjvjOJ.js → square-pen-DKZvXh3R.js} +1 -1
  49. package/dist/client/assets/{state-mark-BAeEZoKQ.js → state-mark-DxzVQsVa.js} +1 -1
  50. package/dist/client/assets/{status-pill-bp46I9cx.js → status-pill-BFLy7eN9.js} +1 -1
  51. package/dist/client/assets/{terminal-DjwzMh1O.js → terminal-DRYQ5avJ.js} +1 -1
  52. package/dist/client/assets/{timer.adapter-LKIP589r.js → timer.adapter-BDh0KX9G.js} +1 -1
  53. package/dist/client/assets/{tools-wno-tGL1.js → tools-toomKvSw.js} +1 -1
  54. package/dist/client/assets/{triangle-alert-whYeOlEg.js → triangle-alert-CM5uh-kq.js} +1 -1
  55. package/dist/client/assets/{useAppGlobalState-DXhTq0lh.js → useAppGlobalState-BCUZEZEi.js} +1 -1
  56. package/dist/client/assets/useKannaState-BvJAZTpL.js +5 -0
  57. package/dist/client/assets/{useTheme-B-LhXBrA.js → useTheme-B6cYOPpe.js} +1 -1
  58. package/dist/client/icon.svg +11 -3
  59. package/dist/client/index.html +34 -33
  60. package/package.json +1 -1
  61. package/src/server/read-models.test.ts +59 -0
  62. package/src/server/read-models.ts +26 -1
  63. package/src/shared/stack-activity.ts +10 -0
  64. package/dist/client/assets/chevron-left-skoFcSB-.js +0 -1
  65. package/dist/client/assets/index-DfVAvdFs.js +0 -26
  66. package/dist/client/assets/runDetached-C-0G41cV.js +0 -1
  67. package/dist/client/assets/useKannaState-D7y1UZxg.js +0 -5
@@ -0,0 +1,5 @@
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-BCUZEZEi.js";import{c as y,d as b,f as x,t as S}from"./log-Ch_SNBXH.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-CWNaCyjS.js";import{A as M,C as N,H as P,I as ee,M as F,N as I,O as L,P as R,R as z,S as B,T as V,V as te,_ as ne,a as re,b as ie,g as ae,h as oe,j as se,k as ce,n as le,t as ue,v as de,w as fe}from"./FilePreviewSheet-wcpWIb90.js";import{_ as pe,b as me,c as H,g as he,h as ge,m as _e,o as ve,r as ye,t as be,v as xe}from"./ToolCallMessage-CHJSiauG.js";import{t as Se}from"./lexicalToReact-ClgTGbzM.js";import{a as Ce,d as we,i as Te,n as Ee,o as De,s as Oe}from"./KannaSocketProvider-uWU6WkNo.js";import{n as ke,r as Ae,t as je}from"./clipboard.adapter-CIRv1YNb.js";import{n as Me,r as Ne,t as Pe}from"./dist-Cvh6FEf5.js";import{t as Fe}from"./chevron-left-FnMbL2tA.js";import{r as Ie}from"./terminal-DRYQ5avJ.js";import{i as Le}from"./host-C7I7nFuH.js";import{d as Re,f as ze,h as Be,l as Ve,u as U}from"./pushClient-DbwI0iz1.js";import{t as He}from"./triangle-alert-CM5uh-kq.js";import{i as Ue}from"./formatDuration-DsrNkArK.js";import{t as We}from"./timer.adapter-BDh0KX9G.js";import{C as Ge,D as Ke,E as qe,O as W,T as Je,b as Ye,c as Xe,d as Ze,f as Qe,g as $e,h as et,l as tt,m as nt,n as rt,p as it,s as at,u as ot,v as st,w as ct,x as lt,y as ut}from"./chatFocusPolicy-DYR_9DV3.js";import{i as dt,n as ft,r as pt,t as mt}from"./dist-Bd4iXDMM.js";import{t as ht}from"./createScopedStore-or82_bxr.js";import{t as gt}from"./input-BaAZ4OHy.js";import{C as _t,c as vt,l as yt}from"./useTheme-B6cYOPpe.js";import{t as bt}from"./runDetached-CQOu05LK.js";import{i as xt}from"./status-pill-BFLy7eN9.js";import{a as St,o as Ct}from"./formatters-BGORekd-.js";import{a as wt,n as Tt}from"./state-mark-DxzVQsVa.js";import{o as Et,s as Dt,t as Ot}from"./tools-toomKvSw.js";var kt={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`}]]};kt.node;var At=E(kt),jt={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`}]]};jt.node;var Mt=E(jt),Nt={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`}]]};Nt.node;var Pt=E(Nt),Ft={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`}]]};Ft.node;var It=E(Ft),Lt={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`}]]};Lt.node;var Rt=E(Lt),zt={name:`circle`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]};zt.node;var Bt=E(zt),Vt={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`}]]};Vt.node;var Ht=E(Vt),Ut={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`}]]};Ut.node;var Wt=E(Ut),Gt={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`}]]};Gt.node;var Kt=E(Gt),qt={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`}]]};qt.node;var Jt=E(qt),Yt={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`}]]};Yt.node;var Xt=E(Yt),Zt={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`]};Zt.node;var Qt=E(Zt),$t={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`}]]};$t.node;var en=E($t),tn={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`}]]};tn.node;var nn=E(tn),rn={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`}]]};rn.node;var an=E(rn),on={name:`slash`,size:24,node:[[`path`,{d:`M22 2 2 22`,key:`y4kqgn`}]]};on.node;var sn=E(on),cn={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`]};cn.node;var ln=E(cn),un={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`}]]};un.node;var dn=E(un),G=e(t(),1),K=e(a(),1),fn=G.forwardRef(({className:e,...t},n)=>(0,K.jsx)(`div`,{ref:n,className:w(`bg-card text-card-foreground`,e),...t}));fn.displayName=`Card`;var pn=G.forwardRef(({className:e,...t},n)=>(0,K.jsx)(`div`,{ref:n,className:w(`flex flex-col space-y-1.5 p-2`,e),...t}));pn.displayName=`CardHeader`;var mn=G.forwardRef(({className:e,...t},n)=>(0,K.jsx)(`h3`,{ref:n,className:w(`text-2xl font-semibold leading-none tracking-tight`,e),...t}));mn.displayName=`CardTitle`;var hn=G.forwardRef(({className:e,...t},n)=>(0,K.jsx)(`p`,{ref:n,className:w(`text-sm text-muted-foreground`,e),...t}));hn.displayName=`CardDescription`;var gn=G.forwardRef(({className:e,...t},n)=>(0,K.jsx)(`div`,{ref:n,className:w(`p-6 pt-0`,e),...t}));gn.displayName=`CardContent`;var _n=G.forwardRef(({className:e,...t},n)=>(0,K.jsx)(`div`,{ref:n,className:w(`flex items-center p-6 pt-0`,e),...t}));_n.displayName=`CardFooter`;var vn=[],yn=[],bn=[],xn=y()(e=>({sidebarItems:vn,panels:yn,commandCenterItems:bn,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:vn,panels:yn,commandCenterItems:bn})})),Sn=e=>e.sidebarItems??vn,Cn=e=>e.panels??yn,wn=e=>e.commandCenterItems??bn,Tn=4,En=6;function Dn({kind:e,className:t}){return(0,K.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 12 12`,className:w(`inline-block size-3 shrink-0`,t),children:[e===`filled`?(0,K.jsx)(`circle`,{cx:En,cy:En,r:Tn,fill:`currentColor`}):null,e===`half`?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`circle`,{cx:En,cy:En,r:Tn,fill:`none`,stroke:`currentColor`,strokeWidth:1.25}),(0,K.jsx)(`path`,{d:`M ${En} 2 A ${Tn} ${Tn} 0 0 0 ${En} 10 Z`,fill:`currentColor`})]}):null,e===`ring`?(0,K.jsx)(`circle`,{cx:En,cy:En,r:Tn,fill:`none`,stroke:`currentColor`,strokeWidth:1.25}):null,e===`dashed`?(0,K.jsx)(`circle`,{cx:En,cy:En,r:Tn,fill:`none`,stroke:`currentColor`,strokeWidth:1.25,strokeDasharray:`2 2`}):null]})}function On(e){if(e.activeChats===0)return null;let t=[];return e.awaitingAnswer>0&&t.push(`${e.awaitingAnswer} awaiting`),e.failing>0&&t.push(`${e.failing} failing`),e.agents>0&&t.push(`${e.agents} agent${e.agents===1?``:`s`}`),e.loops>0&&t.push(`${e.loops} loop${e.loops===1?``:`s`}`),e.workflows>0&&t.push(`${e.workflows} workflow${e.workflows===1?``:`s`}`),e.backgroundTasks>0&&t.push(`${e.backgroundTasks} task${e.backgroundTasks===1?``:`s`}`),t.length===0?`${e.activeChats} active`:t.join(`, `)}function kn(e){let t=[];return e.agents>0&&t.push(`${e.agents} agent${e.agents===1?``:`s`}`),e.workflow!==null&&t.push(`workflow`),e.backgroundTasks>0&&t.push(`${e.backgroundTasks} task${e.backgroundTasks===1?``:`s`}`),t.length===0?null:t.join(`, `)}function An(e){if(e.status===`running`||e.status===`starting`)return{tone:`warning`,label:wt(e.status)};if(e.status===`waiting_for_user`)return{tone:`info`,label:wt(e.status)};if(e.status===`failed`)return{tone:`destructive`,label:wt(e.status)};let t=e.activity?kn(e.activity):null;return t?{tone:`warning`,label:t}:e.unread?{tone:`success`,label:`Unread`}:null}function jn(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 Mn(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 Nn(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 Pn=Object.defineProperty,Fn=(e,t)=>Pn(e,`name`,{value:t,configurable:!0}),In=!1;function Ln(){let[e,t]=G.useState(In);return G.useEffect(()=>{In||(In=!0,t(!0))},[]),e}Fn(Ln,`useIsHydrated`);var Rn=G.useSyncExternalStore;function zn(){return()=>{}}Fn(zn,`subscribe`);function Bn(){return Rn(zn,()=>!0,()=>!1)}Fn(Bn,`useIsHydratedModern`);var Vn=typeof Rn==`function`?Bn:Ln,Hn=Object.defineProperty,Un=(e,t)=>Hn(e,`name`,{value:t,configurable:!0}),Wn=`rovingFocusGroup.onEntryFocus`,Gn={bubbles:!1,cancelable:!0},Kn=`RovingFocusGroup`,[qn,Jn,Yn]=Me(Kn),[Xn,Zn]=qe(Kn,[Yn]),Qn={Vertical:`vertical`,Horizontal:`horizontal`},$n={LTR:`ltr`,RTL:`rtl`},[er,tr]=Xn(Kn),nr=G.forwardRef(Un(function(e,t){return(0,K.jsx)(qn.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,K.jsx)(qn.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,K.jsx)(rr,{...e,ref:t})})})},`RovingFocusGroup`)),rr=G.forwardRef(Un(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=G.useRef(null),p=Ke(t,f),m=Pe(a),[h,g]=Ge({prop:o,defaultProp:s??null,onChange:c,caller:Kn}),[_,v]=G.useState(!1),y=st(l),b=Jn(n),x=G.useRef(!1),[S,C]=G.useState(0);return G.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Wn,y),()=>e.removeEventListener(Wn,y)},[y]),(0,K.jsx)(er,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:G.useCallback(e=>g(e),[g]),onItemShiftTab:G.useCallback(()=>v(!0),[]),onFocusableItemAdd:G.useCallback(()=>C(e=>e+1),[]),onFocusableItemRemove:G.useCallback(()=>C(e=>e-1),[]),children:(0,K.jsx)(ut.div,{tabIndex:_||S===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:W(e.onMouseDown,()=>{x.current=!0}),onFocus:W(e.onFocus,e=>{let t=!x.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(Wn,Gn);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=b().filter(e=>e.focusable);lr([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}x.current=!1}),onBlur:W(e.onBlur,()=>v(!1))})})},`RovingFocusGroupImpl`)),ir=`RovingFocusGroupItem`,ar=G.forwardRef(Un(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=ct(),l=a||c,u=tr(ir,n),d=u.currentTabStopId===l,f=Jn(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u,g=Vn();return Je(()=>{if(g&&r)return p(),()=>m()},[g,r,p,m]),G.useEffect(()=>{if(!g&&r)return p(),()=>m()},[g,r,p,m]),(0,K.jsx)(qn.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,K.jsx)(ut.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:W(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:W(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:W(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=cr(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?ur(n,r+1):n.slice(r+1)}setTimeout(()=>lr(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})},`RovingFocusGroupItem`)),or={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function sr(e,t){return t===$n.RTL?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}Un(sr,`getDirectionAwareKey`);function cr(e,t,n){let r=sr(e.key,n);if(!(t===Qn.Vertical&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===Qn.Horizontal&&[`ArrowUp`,`ArrowDown`].includes(r)))return or[r]}Un(cr,`getFocusIntent`);function lr(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}Un(lr,`focusFirst`);function ur(e,t){return e.map((n,r)=>e[(t+r)%e.length])}Un(ur,`wrapArray`);var dr=Object.defineProperty,q=(e,t)=>dr(e,`name`,{value:t,configurable:!0}),fr=[`Enter`,` `],pr=[`ArrowDown`,`PageUp`,`Home`],mr=[`ArrowUp`,`PageDown`,`End`],hr=[...pr,...mr];[...fr],[...fr];var gr=`Menu`,[_r,vr,yr]=Me(gr),[br,xr]=qe(gr,[yr,dt,Zn]),Sr=dt(),Cr=Zn(),[wr,Tr]=br(gr),[Er,Dr]=br(gr),Or=q(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=Sr(t),[c,l]=G.useState(null),u=G.useRef(!1),d=st(a),f=Pe(i);return G.useEffect(()=>{let e=q(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=q(()=>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})}},[]),G.useEffect(()=>{if(!n)return;let e=q(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,K.jsx)(mt,{...s,children:(0,K.jsx)(wr,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,K.jsx)(Er,{scope:t,onClose:G.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),kr=G.forwardRef(q(function(e,t){let{__scopeMenu:n,...r}=e,i=Sr(n);return(0,K.jsx)(ft,{...i,...r,ref:t})},`MenuAnchor`)),Ar=`MenuPortal`,[jr,Mr]=br(Ar,{forceMount:void 0}),Nr=q(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=Tr(Ar,t);return(0,K.jsx)(jr,{scope:t,forceMount:n,children:(0,K.jsx)(ot,{present:n||a.open,children:(0,K.jsx)(Ze,{asChild:!0,container:i,children:r})})})},`MenuPortal`),Pr=`MenuContent`,[Fr,Ir]=br(Pr),Lr=G.forwardRef(q(function(e,t){let n=Mr(Pr,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=Tr(Pr,e.__scopeMenu),o=Dr(Pr,e.__scopeMenu);return(0,K.jsx)(_r.Provider,{scope:e.__scopeMenu,children:(0,K.jsx)(ot,{present:r||a.open,children:(0,K.jsx)(_r.Slot,{scope:e.__scopeMenu,children:o.modal?(0,K.jsx)(Rr,{...i,ref:t}):(0,K.jsx)(zr,{...i,ref:t})})})})},`MenuContent`)),Rr=G.forwardRef(q(function(e,t){let n=Tr(Pr,e.__scopeMenu),r=G.useRef(null),i=Ke(t,r);return G.useEffect(()=>{let e=r.current;if(e)return at(e)},[]),(0,K.jsx)(Vr,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:W(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentModal`)),zr=G.forwardRef(q(function(e,t){let n=Tr(Pr,e.__scopeMenu);return(0,K.jsx)(Vr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),Br=lt(`MenuContent.ScrollLock`),Vr=G.forwardRef(q(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=Tr(Pr,n),_=Dr(Pr,n),v=Sr(n),y=Cr(n),b=vr(n),[x,S]=G.useState(null),C=G.useRef(null),[w,T]=G.useState(null);nt(w);let{nodes:E,registry:D}=et(),O=!!(i||m),k=Ke(t,C,g.onContentChange,T),A=G.useRef(0),j=G.useRef(``),M=G.useRef(0),N=G.useRef(null),P=G.useRef(`right`),ee=G.useRef(0),F=G.useMemo(()=>m?[C,...E.map(e=>({current:e}))]:[],[C,E,m]),I=m?Xe:G.Fragment,L=m?{as:Br,allowPinchZoom:!0,shards:F}:void 0,R=q(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=ii(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;q((function e(t){j.current=t,window.clearTimeout(A.current),t!==``&&(A.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(t),o&&setTimeout(()=>o.focus())},`handleTypeaheadSearch`);G.useEffect(()=>()=>window.clearTimeout(A.current),[]),tt();let z=G.useCallback(e=>P.current===N.current?.side&&oi(e,N.current?.area),[]);return(0,K.jsx)(Fr,{scope:n,searchRef:j,onItemEnter:G.useCallback(e=>{z(e)&&e.preventDefault()},[z]),onItemLeave:G.useCallback(e=>{z(e)||(C.current?.focus(),S(null))},[z]),onTriggerLeave:G.useCallback(e=>{z(e)&&e.preventDefault()},[z]),pointerGraceTimerRef:M,onPointerGraceIntentChange:G.useCallback(e=>{N.current=e},[]),children:(0,K.jsx)(it,{registry:O?D:null,children:(0,K.jsx)(I,{...L,children:(0,K.jsx)(Qe,{asChild:!0,trapped:i,branches:E,onMountAutoFocus:W(a,e=>{e.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,K.jsx)($e,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,K.jsx)(nr,{asChild:!0,...y,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:x,onCurrentTabStopIdChange:S,onEntryFocus:W(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,K.jsx)(pt,{role:`menu`,"aria-orientation":`vertical`,"data-state":$r(g.open),"data-radix-menu-content":``,dir:_.dir,...v,...h,ref:k,style:{outline:`none`,...h.style},onKeyDown:W(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&&R(e.key));let i=C.current;if(e.target!==i||!hr.includes(e.key))return;e.preventDefault();let a=b().filter(e=>!e.disabled).map(e=>e.ref.current);mr.includes(e.key)&&a.reverse(),ni(a)}),onBlur:W(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(A.current),j.current=``)}),onPointerMove:W(e.onPointerMove,si(e=>{let t=e.target,n=ee.current!==e.clientX;if(e.currentTarget.contains(t)&&n){let t=e.clientX>ee.current?`right`:`left`;P.current=t,ee.current=e.clientX}}))})})})})})})})},`MenuContentImpl`)),Hr=`MenuItem`,Ur=`menu.itemSelect`,Wr=G.forwardRef(q(function(e,t){let{disabled:n=!1,onSelect:r,...i}=e,a=G.useRef(null),o=Dr(Hr,e.__scopeMenu),s=Ir(Hr,e.__scopeMenu),c=Ke(t,a),l=G.useRef(!1),u=q(()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Ur,{bubbles:!0,cancelable:!0});e.addEventListener(Ur,e=>r?.(e),{once:!0}),Ye(e,t),t.defaultPrevented?l.current=!1:o.onClose()}},`handleSelect`);return(0,K.jsx)(Gr,{...i,ref:c,disabled:n,onClick:W(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:W(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:W(e.onKeyDown,e=>{n||e.target!==e.currentTarget||(s.searchRef.current===``||e.key!==` `)&&fr.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),Gr=G.forwardRef(q(function(e,t){let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=Ir(Hr,n),s=Cr(n),c=G.useRef(null),l=Ke(t,c),[u,d]=G.useState(!1),[f,p]=G.useState(``);return G.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,K.jsx)(_r.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,K.jsx)(ar,{asChild:!0,...s,focusable:!r,children:(0,K.jsx)(ut.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:W(e.onPointerMove,si(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:W(e.onPointerLeave,si(e=>o.onItemLeave(e))),onFocus:W(e.onFocus,()=>d(!0)),onBlur:W(e.onBlur,()=>d(!1))})})})},`MenuItemImpl`)),[Kr,qr]=br(`MenuRadioGroup`,{value:void 0,onValueChange:q(()=>{},`onValueChange`)}),[Jr,Yr]=br(`MenuItemIndicator`,{checked:!1}),Xr=G.forwardRef(q(function(e,t){let{__scopeMenu:n,...r}=e;return(0,K.jsx)(ut.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),[Zr,Qr]=br(`MenuSub`);function $r(e){return e?`open`:`closed`}q($r,`getOpenState`);function ei(e){return e===`indeterminate`}q(ei,`isIndeterminate`);function ti(e){return ei(e)?`indeterminate`:e?`checked`:`unchecked`}q(ti,`getCheckedState`);function ni(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}q(ni,`focusFirst`);function ri(e,t){return e.map((n,r)=>e[(t+r)%e.length])}q(ri,`wrapArray`);function ii(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=ri(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}q(ii,`getNextMatch`);function ai(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}q(ai,`isPointInPolygon`);function oi(e,t){return t?ai({x:e.clientX,y:e.clientY},t):!1}q(oi,`isPointerInGraceArea`);function si(e){return t=>t.pointerType===`mouse`?e(t):void 0}q(si,`whenMouse`);var ci=Object.defineProperty,li=(e,t)=>ci(e,`name`,{value:t,configurable:!0}),ui=`ContextMenu`,[di,fi]=qe(ui,[xr]),pi=xr(),[mi,hi]=di(ui),gi=li(e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:i,dir:a,modal:o=!0}=e,s=G.useRef(!1),[c,l]=Ge({prop:i,defaultProp:!1,onChange:r,caller:ui}),u=pi(t);return(0,K.jsx)(mi,{scope:t,open:c,onOpenChange:l,modal:o,hasInteractedRef:s,children:(0,K.jsx)(Or,{...u,dir:a,open:c,onOpenChange:l,modal:o,children:n})})},`ContextMenu`),_i=`ContextMenuTrigger`,vi=G.forwardRef(li(function(e,t){let{__scopeContextMenu:n,disabled:r=!1,...i}=e,a=hi(_i,n),o=pi(n),[s,c]=G.useState({x:0,y:0}),l=G.useMemo(()=>({current:{getBoundingClientRect:li(()=>DOMRect.fromRect({width:0,height:0,...s}),`getBoundingClientRect`)}}),[s]),u=G.useRef(0),d=G.useCallback(()=>window.clearTimeout(u.current),[]),f=li(e=>{a.hasInteractedRef.current=!0,c({x:e.clientX,y:e.clientY}),a.onOpenChange(!0)},`handleOpen`);return G.useEffect(()=>d,[d]),G.useEffect(()=>void(r&&d()),[r,d]),(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(kr,{...o,virtualRef:l}),(0,K.jsx)(ut.span,{"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,...i,ref:t,style:{WebkitTouchCallout:`none`,...e.style},onContextMenu:r?e.onContextMenu:W(e.onContextMenu,e=>{d(),f(e),e.preventDefault()}),onPointerDown:r?e.onPointerDown:W(e.onPointerDown,wi(e=>{d(),a.open&&a.onOpenChange(!1),u.current=window.setTimeout(()=>f(e),700)})),onPointerMove:r?e.onPointerMove:W(e.onPointerMove,wi(d)),onPointerCancel:r?e.onPointerCancel:W(e.onPointerCancel,wi(d)),onPointerUp:r?e.onPointerUp:W(e.onPointerUp,wi(d))})]})},`ContextMenuTrigger`)),yi=li(e=>{let{__scopeContextMenu:t,...n}=e,r=pi(t);return(0,K.jsx)(Nr,{...r,...n})},`ContextMenuPortal`),bi=`ContextMenuContent`,xi=G.forwardRef(li(function(e,t){let{__scopeContextMenu:n,...r}=e,i=hi(bi,n),a=pi(n),o=G.useRef(!1);return(0,K.jsx)(Lr,{...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`)),Si=G.forwardRef(li(function(e,t){let{__scopeContextMenu:n,...r}=e,i=pi(n);return(0,K.jsx)(Wr,{...i,...r,ref:t})},`ContextMenuItem`)),Ci=G.forwardRef(li(function(e,t){let{__scopeContextMenu:n,...r}=e,i=pi(n);return(0,K.jsx)(Xr,{...i,...r,ref:t})},`ContextMenuSeparator`));function wi(e){return t=>t.pointerType===`mouse`?void 0:e(t)}li(wi,`whenTouchOrPen`);var Ti=G.createContext(null);function Ei({onOpenChange:e,...t}){let[n,r]=G.useState(0),i=G.useCallback(()=>{r(e=>e+1),e?.(!1)},[e]);return(0,K.jsx)(Ti.Provider,{value:i,children:(0,K.jsx)(gi,{onOpenChange:e,...t},n)})}var Di=vi,Oi=G.forwardRef(({className:e,...t},n)=>(0,K.jsx)(yi,{children:(0,K.jsx)(xi,{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})}));Oi.displayName=xi.displayName;var ki=G.forwardRef(({className:e,onSelect:t,...n},r)=>{let i=G.useContext(Ti);return(0,K.jsx)(Si,{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})});ki.displayName=Si.displayName;var Ai=G.forwardRef(({className:e,...t},n)=>(0,K.jsx)(Ci,{ref:n,className:w(`-mx-1 my-1 h-px bg-border`,e),...t}));Ai.displayName=Ci.displayName;var ji=e(n());function Mi(){var e=[...arguments];return(0,G.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Ni=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Pi(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Fi(e){return`nodeType`in e}function J(e){return e?Pi(e)?e:Fi(e)?e.ownerDocument?.defaultView??window:window:window}function Ii(e){let{Document:t}=J(e);return e instanceof t}function Li(e){return!Pi(e)&&e instanceof J(e).HTMLElement}function Ri(e){return e instanceof J(e).SVGElement}function zi(e){return e?Pi(e)?e.document:Fi(e)?Ii(e)?e:Li(e)||Ri(e)?e.ownerDocument:document:document:document}var Bi=Ni?G.useLayoutEffect:G.useEffect;function Vi(e){let t=(0,G.useRef)(e);return Bi(()=>{t.current=e}),(0,G.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function Hi(){let e=(0,G.useRef)(null);return[(0,G.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,G.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Ui(e,t){t===void 0&&(t=[e]);let n=(0,G.useRef)(e);return Bi(()=>{n.current!==e&&(n.current=e)},t),n}function Wi(e,t){let n=(0,G.useRef)();return(0,G.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function Gi(e){let t=Vi(e),n=(0,G.useRef)(null);return[n,(0,G.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Ki(e){let t=(0,G.useRef)();return(0,G.useEffect)(()=>{t.current=e},[e]),t.current}var qi={};function Ji(e,t){return(0,G.useMemo)(()=>{if(t)return t;let n=qi[e]==null?0:qi[e]+1;return qi[e]=n,e+`-`+n},[e,t])}function Yi(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 Xi=Yi(1),Zi=Yi(-1);function Qi(e){return`clientX`in e&&`clientY`in e}function $i(e){if(!e)return!1;let{KeyboardEvent:t}=J(e.target);return t&&e instanceof t}function ea(e){if(!e)return!1;let{TouchEvent:t}=J(e.target);return t&&e instanceof t}function ta(e){if(ea(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 Qi(e)?{x:e.clientX,y:e.clientY}:null}var na=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[na.Translate.toString(e),na.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),ra=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function ia(e){return e.matches(ra)?e:e.querySelector(ra)}var aa={display:`none`};function oa(e){let{id:t,value:n}=e;return G.createElement(`div`,{id:t,style:aa},n)}function sa(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return G.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 ca(){let[e,t]=(0,G.useState)(``);return{announce:(0,G.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var la=(0,G.createContext)(null);function ua(e){let t=(0,G.useContext)(la);(0,G.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function da(){let[e]=(0,G.useState)(()=>new Set),t=(0,G.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,G.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var fa={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
+ `},pa={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 ma(e){let{announcements:t=pa,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=fa}=e,{announce:a,announcement:o}=ca(),s=Ji(`DndLiveRegion`),[c,l]=(0,G.useState)(!1);if((0,G.useEffect)(()=>{l(!0)},[]),ua((0,G.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=G.createElement(G.Fragment,null,G.createElement(oa,{id:r,value:i.draggable}),G.createElement(sa,{id:s,announcement:o}));return n?(0,ji.createPortal)(u,n):u}var Y;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(Y||={});function ha(){}function ga(e,t){return(0,G.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function _a(){var e=[...arguments];return(0,G.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var X=Object.freeze({x:0,y:0});function va(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function ya(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function ba(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function xa(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 Sa(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Ca(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 wa=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Ca(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=va(Ca(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(ya)};function Ta(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 Ea=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=Ta(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(ba)};function Da(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 Oa=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&&Da(r,a)){let n=xa(a).reduce((e,t)=>e+va(r,t),0),o=Number((n/4).toFixed(4));i.push({id:t,data:{droppableContainer:e,value:o}})}}return i.sort(ya)};function ka(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Aa(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:X}function ja(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 Ma=ja(1);function Na(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 Pa(e,t,n){let r=Na(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 Fa={ignoreTransform:!1};function Ia(e,t){t===void 0&&(t=Fa);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=J(e).getComputedStyle(e);t&&(n=Pa(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 La(e){return Ia(e,{ignoreTransform:!0})}function Ra(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function za(e,t){return t===void 0&&(t=J(e).getComputedStyle(e)),t.position===`fixed`}function Ba(e,t){t===void 0&&(t=J(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 Va(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Ii(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Li(i)||Ri(i)||n.includes(i))return n;let a=J(e).getComputedStyle(i);return i!==e&&Ba(i,a)&&n.push(i),za(i,a)?n:r(i.parentNode)}return e?r(e):n}function Ha(e){let[t]=Va(e,1);return t??null}function Ua(e){return!Ni||!e?null:Pi(e)?e:Fi(e)?Ii(e)||e===zi(e).scrollingElement?window:Li(e)?e:null:null}function Wa(e){return Pi(e)?e.scrollX:e.scrollLeft}function Ga(e){return Pi(e)?e.scrollY:e.scrollTop}function Ka(e){return{x:Wa(e),y:Ga(e)}}var Z;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Z||={});function qa(e){return!Ni||!e?!1:e===document.scrollingElement}function Ja(e){let t={x:0,y:0},n=qa(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 Ya={x:.2,y:.2};function Xa(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Ya);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=Ja(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 Za(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 Qa(e){return e.reduce((e,t)=>Xi(e,Ka(t)),X)}function $a(e){return e.reduce((e,t)=>e+Wa(t),0)}function eo(e){return e.reduce((e,t)=>e+Ga(t),0)}function to(e,t){if(t===void 0&&(t=Ia),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Ha(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var no=[[`x`,[`left`,`right`],$a],[`y`,[`top`,`bottom`],eo]],ro=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=Va(t),r=Qa(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of no)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})}},io=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 ao(e){let{EventTarget:t}=J(e);return e instanceof t?e:zi(e)}function oo(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 so;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(so||={});function co(e){e.preventDefault()}function lo(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 uo={start:[Q.Space,Q.Enter],cancel:[Q.Esc],end:[Q.Space,Q.Enter,Q.Tab]},fo=(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}}},po=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 io(zi(t)),this.windowListeners=new io(J(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(so.Resize,this.handleCancel),this.windowListeners.add(so.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(so.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&to(n),t(X)}handleKeyDown(e){if($i(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=uo,coordinateGetter:a=fo,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:X;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Zi(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}=Ja(n),p=Za(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,Xi(Zi(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()}};po.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=uo,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 mo(e){return!!(e&&`distance`in e)}function ho(e){return!!(e&&`delay`in e)}var go=class{constructor(e,t,n){n===void 0&&(n=ao(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=zi(i),this.documentListeners=new io(this.document),this.listeners=new io(n),this.windowListeners=new io(J(i)),this.initialCoordinates=ta(r)??X,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(so.Resize,this.handleCancel),this.windowListeners.add(so.DragStart,co),this.windowListeners.add(so.VisibilityChange,this.handleCancel),this.windowListeners.add(so.ContextMenu,co),this.documentListeners.add(so.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(ho(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(mo(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(so.Click,lo,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(so.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=ta(e)??X,s=Zi(n,o);if(!t&&a){if(mo(a)){if(a.tolerance!=null&&oo(s,a.tolerance))return this.handleCancel();if(oo(s,a.distance))return this.handleStart()}if(ho(a)&&oo(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()}},_o={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},vo=class extends go{constructor(e){let{event:t}=e,n=zi(t.target);super(e,_o,n)}};vo.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 yo={move:{name:`mousemove`},end:{name:`mouseup`}},bo;(function(e){e[e.RightClick=2]=`RightClick`})(bo||={});var xo=class extends go{constructor(e){super(e,yo,zi(e.event.target))}};xo.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==bo.RightClick&&(r?.({event:n}),!0)}}];var So={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},Co=class extends go{constructor(e){super(e,So)}static setup(){return window.addEventListener(So.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(So.move.name,e)};function e(){}}};Co.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 wo;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(wo||={});var To;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(To||={});function Eo(e){let{acceleration:t,activator:n=wo.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=To.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=Oo({delta:d,disabled:!a}),[m,h]=Hi(),g=(0,G.useRef)({x:0,y:0}),_=(0,G.useRef)({x:0,y:0}),v=(0,G.useMemo)(()=>{switch(n){case wo.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case wo.DraggableRect:return i}},[n,i,c]),y=(0,G.useRef)(null),b=(0,G.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,G.useMemo)(()=>s===To.TreeOrder?[...l].reverse():l,[s,l]);(0,G.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}=Xa(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 Do={x:{[Z.Backward]:!1,[Z.Forward]:!1},y:{[Z.Backward]:!1,[Z.Forward]:!1}};function Oo(e){let{delta:t,disabled:n}=e,r=Ki(t);return Wi(e=>{if(n||!r||!e)return Do;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 ko(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return Wi(e=>t==null?null:r??e??null,[r,t])}function Ao(e,t){return(0,G.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 jo;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(jo||={});var Mo;(function(e){e.Optimized=`optimized`})(Mo||={});var No=new Map;function Po(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,G.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,G.useRef)(e),d=g(),f=Ui(d),p=(0,G.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,G.useRef)(null),h=Wi(t=>{if(d&&!n)return No;if(!t||t===No||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 ro(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,G.useEffect)(()=>{u.current=e},[e]),(0,G.useEffect)(()=>{d||p()},[n,d]),(0,G.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,G.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 jo.Always:return!1;case jo.BeforeDragging:return n;default:return!n}}}function Fo(e,t){return Wi(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function Io(e,t){return Fo(e,t)}function Lo(e){let{callback:t,disabled:n}=e,r=Vi(t),i=(0,G.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,G.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Ro(e){let{callback:t,disabled:n}=e,r=Vi(t),i=(0,G.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,G.useEffect)(()=>()=>i?.disconnect(),[i]),i}function zo(e){return new ro(Ia(e),e)}function Bo(e,t,n){t===void 0&&(t=zo);let[r,i]=(0,G.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=Lo({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=Ro({callback:a});return Bi(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function Vo(e){return Aa(e,Fo(e))}var Ho=[];function Uo(e){let t=(0,G.useRef)(e),n=Wi(n=>e?n&&n!==Ho&&e&&t.current&&e.parentNode===t.current.parentNode?n:Va(e):Ho,[e]);return(0,G.useEffect)(()=>{t.current=e},[e]),n}function Wo(e){let[t,n]=(0,G.useState)(null),r=(0,G.useRef)(e),i=(0,G.useCallback)(e=>{let t=Ua(e.target);t&&n(e=>e?(e.set(t,Ka(t)),new Map(e)):null)},[]);return(0,G.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Ua(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,Ka(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=>{Ua(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,G.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Xi(e,t),X):Qa(e):X,[e,t])}function Go(e,t){t===void 0&&(t=[]);let n=(0,G.useRef)(null);return(0,G.useEffect)(()=>{n.current=null},t),(0,G.useEffect)(()=>{let t=e!==X;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Zi(e,n.current):X}function Ko(e){(0,G.useEffect)(()=>{if(!Ni)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 qo(e,t){return(0,G.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function Jo(e){return(0,G.useMemo)(()=>e?Ra(e):null,[e])}var Yo=[];function Xo(e,t){t===void 0&&(t=Ia);let[n]=e,r=Jo(n?J(n):null),[i,a]=(0,G.useState)(Yo);function o(){a(()=>e.length?e.map(e=>qa(e)?r:new ro(t(e),e)):Yo)}let s=Ro({callback:o});return Bi(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function Zo(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Li(t)?t:e}function Qo(e){let{measure:t}=e,[n,r]=(0,G.useState)(null),i=Ro({callback:(0,G.useCallback)(e=>{for(let{target:n}of e)if(Li(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=Gi((0,G.useCallback)(e=>{let n=Zo(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,G.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var $o=[{sensor:vo,options:{}},{sensor:po,options:{}}],es={current:{}},ts={draggable:{measure:La},droppable:{measure:La,strategy:jo.WhileDragging,frequency:Mo.Optimized},dragOverlay:{measure:Ia}},ns=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}},rs={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new ns,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:ha},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:ts,measureDroppableContainers:ha,windowRect:null,measuringScheduled:!1},is={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:ha,draggableNodes:new Map,over:null,measureDroppableContainers:ha},as=(0,G.createContext)(is),os=(0,G.createContext)(rs);function ss(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new ns}}}function cs(e,t){switch(t.type){case Y.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Y.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case Y.DragEnd:case Y.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Y.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new ns(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case Y.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new ns(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case Y.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new ns(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function ls(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,G.useContext)(as),a=Ki(r),o=Ki(n?.id);return(0,G.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!$i(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=ia(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function us(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function ds(e){return(0,G.useMemo)(()=>({draggable:{...ts.draggable,...e?.draggable},droppable:{...ts.droppable,...e?.droppable},dragOverlay:{...ts.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function fs(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,G.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;Bi(()=>{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=Aa(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=Ha(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var ps=(0,G.createContext)({...X,scaleX:1,scaleY:1}),ms;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(ms||={});var hs=(0,G.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=$o,collisionDetection:o=Ea,measuring:s,modifiers:c,...l}=e,[u,d]=(0,G.useReducer)(cs,void 0,ss),[f,p]=da(),[m,h]=(0,G.useState)(ms.Uninitialized),g=m===ms.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,G.useRef)({initial:null,translated:null}),C=(0,G.useMemo)(()=>_==null?null:{id:_,data:x?.data??es,rect:S},[_,x]),w=(0,G.useRef)(null),[T,E]=(0,G.useState)(null),[D,O]=(0,G.useState)(null),k=Ui(l,Object.values(l)),A=Ji(`DndDescribedBy`,t),j=(0,G.useMemo)(()=>b.getEnabled(),[b]),M=ds(s),{droppableRects:N,measureDroppableContainers:P,measuringScheduled:ee}=Po(j,{dragging:g,dependencies:[y.x,y.y],config:M.droppable}),F=ko(v,_),I=(0,G.useMemo)(()=>D?ta(D):null,[D]),L=Ee(),R=Io(F,M.draggable.measure);fs({activeNode:_==null?null:v.get(_),config:L.layoutShiftCompensation,initialRect:R,measure:M.draggable.measure});let z=Bo(F,M.draggable.measure,R),B=Bo(F?F.parentElement:null),V=(0,G.useRef)({activatorEvent:null,active:null,activeNode:F,collisionRect:null,collisions:null,droppableRects:N,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),te=b.getNodeFor(V.current.over?.id),ne=Qo({measure:M.dragOverlay.measure}),re=ne.nodeRef.current??F,ie=g?ne.rect??z:null,ae=!!(ne.nodeRef.current&&ne.rect),oe=Vo(ae?null:z),se=Jo(re?J(re):null),ce=Uo(g?te??F:null),le=Xo(ce),ue=us(c,{transform:{x:y.x-oe.x,y:y.y-oe.y,scaleX:1,scaleY:1},activatorEvent:D,active:C,activeNodeRect:z,containerNodeRect:B,draggingNodeRect:ie,over:V.current.over,overlayNodeRect:ne.rect,scrollableAncestors:ce,scrollableAncestorRects:le,windowRect:se}),de=I?Xi(I,y):null,fe=Wo(ce),pe=Go(fe),me=Go(fe,[z]),H=Xi(ue,pe),he=ie?Ma(ie,ue):null,ge=C&&he?o({active:C,collisionRect:he,droppableRects:N,droppableContainers:j,pointerCoordinates:de}):null,_e=Sa(ge,`id`),[ve,ye]=(0,G.useState)(null),be=ka(ae?ue:Xi(ue,me),ve?.rect??null,z),xe=(0,G.useRef)(null),Se=(0,G.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:V,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,ji.unstable_batchedUpdates)(()=>{r?.(i),h(ms.Initializing),d({type:Y.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),E(xe.current),O(a)})},onMove(e){d({type:Y.DragMove,coordinates:e})},onEnd:s(Y.DragEnd),onCancel:s(Y.DragCancel)});xe.current=o;function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=V.current,o=null;if(t&&i){let{cancelDrop:s}=k.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===Y.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=Y.DragCancel)}w.current=null,(0,ji.unstable_batchedUpdates)(()=>{d({type:e}),h(ms.Uninitialized),ye(null),E(null),O(null),xe.current=null;let t=e===Y.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=k.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),Ce=Ao(a,(0,G.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,Se(n,t))},[v,Se]));Ko(a),Bi(()=>{z&&m===ms.Initializing&&h(ms.Initialized)},[z,m]),(0,G.useEffect)(()=>{let{onDragMove:e}=k.current,{active:t,activatorEvent:n,collisions:r,over:i}=V.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:H.x,y:H.y},over:i};(0,ji.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[H.x,H.y]),(0,G.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=V.current;if(!e||w.current==null||!t||!i)return;let{onDragOver:a}=k.current,o=r.get(_e),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,ji.unstable_batchedUpdates)(()=>{ye(s),a?.(c),f({type:`onDragOver`,event:c})})},[_e]),Bi(()=>{V.current={activatorEvent:D,active:C,activeNode:F,collisionRect:he,collisions:ge,droppableRects:N,draggableNodes:v,draggingNode:re,draggingNodeRect:ie,droppableContainers:b,over:ve,scrollableAncestors:ce,scrollAdjustedTranslate:H},S.current={initial:ie,translated:he}},[C,F,ge,he,v,re,ie,N,b,ve,ce,H]),Eo({...L,delta:y,draggingRect:he,pointerCoordinates:de,scrollableAncestors:ce,scrollableAncestorRects:le});let we=(0,G.useMemo)(()=>({active:C,activeNode:F,activeNodeRect:z,activatorEvent:D,collisions:ge,containerNodeRect:B,dragOverlay:ne,draggableNodes:v,droppableContainers:b,droppableRects:N,over:ve,measureDroppableContainers:P,scrollableAncestors:ce,scrollableAncestorRects:le,measuringConfiguration:M,measuringScheduled:ee,windowRect:se}),[C,F,z,D,ge,B,ne,v,b,N,ve,P,ce,le,M,ee,se]),Te=(0,G.useMemo)(()=>({activatorEvent:D,activators:Ce,active:C,activeNodeRect:z,ariaDescribedById:{draggable:A},dispatch:d,draggableNodes:v,over:ve,measureDroppableContainers:P}),[D,Ce,C,z,d,A,v,ve,P]);return G.createElement(la.Provider,{value:p},G.createElement(as.Provider,{value:Te},G.createElement(os.Provider,{value:we},G.createElement(ps.Provider,{value:be},i)),G.createElement(ls,{disabled:n?.restoreFocus===!1})),G.createElement(ma,{...n,hiddenTextDescribedById:A}));function Ee(){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}}}),gs=(0,G.createContext)(null),_s=`button`,vs=`Draggable`;function ys(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=Ji(vs),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,G.useContext)(as),{role:p=_s,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,G.useContext)(g?ps:gs),[v,y]=Gi(),[b,x]=Gi(),S=qo(o,t),C=Ui(n);return Bi(()=>(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,G.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===_s?!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 bs(){return(0,G.useContext)(os)}var xs=`Droppable`,Ss={timeout:25};function Cs(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=Ji(xs),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,G.useContext)(as),u=(0,G.useRef)({disabled:n}),d=(0,G.useRef)(!1),f=(0,G.useRef)(null),p=(0,G.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...Ss,...i},_=Ui(h??r),v=Ro({callback:(0,G.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]=Gi((0,G.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=Ui(t);return(0,G.useEffect)(()=>{v&&y.current&&(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,G.useEffect)(()=>(s({type:Y.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:Y.UnregisterDroppable,key:a,id:r})),[r]),(0,G.useEffect)(()=>{n!==u.current.disabled&&(s({type:Y.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}var ws=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 Ts(e={dom:b}){let t=e.dom,n=ws(e=>e.syncViewport);(0,G.useEffect)(()=>{let e=()=>n(t.getInnerWidth(),t.getInnerHeight());return e(),t.addWindowListener(`resize`,e)},[t,n])}var Es=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 Ds(e){return Number.isFinite(e)&&e>0}function Os(e){return Ds(e)&&e<768}var ks=`.kanna-terminal`,As=4e3,js=3e3,Ms=2e3,Ns=1e3;function Ps(e,t){if(t===``)return 0;let n=e.toLowerCase(),r=t.toLowerCase();if(n.startsWith(r))return As-n.length;let i=n.indexOf(r);if(i>=0){let e=n[i-1];return(e===void 0||e===`-`||e===`_`||e===`.`||e===`/`||e===` `?js:Ms)-i-n.length}let a=Fs(n,r);return a===null?null:Ns-a}function Fs(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 Is(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=Rs(e);a.push({projectId:e.groupKey,name:St(e.localPath),localPath:e.localPath,starred:e.starredAt!==void 0,sessionCount:t.length,lastActivityAt:zs(t)})}for(let e of t)i.has(e.localPath)||(i.add(e.localPath),a.push({projectId:null,name:St(e.localPath),localPath:e.localPath,starred:!1,sessionCount:0,lastActivityAt:e.lastOpenedAt??0}));return a}function Ls(e,t){let n=[...e.starredProjectGroups,...e.projectGroups].find(e=>e.groupKey===t);return n?Rs(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 Rs(e){return e.chats.filter(e=>e.stackId===void 0)}function zs(e){let t=0;for(let n of e){let e=n.lastMessageAt??0;e>t&&(t=e)}return t}function Bs(e,t){let n=[];for(let r of e){let e=Vs(Ps(r.name,t),Ps(r.localPath,t));e!==null&&n.push({project:r,score:e})}return n.sort((e,t)=>Hs(e,t)).map(e=>e.project)}function Vs(e,t){return e===null?t:t===null?e:Math.max(e,t)}function Hs(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 Us(e,t){if(t===``)return[...e];let n=[];for(let r of e){let e=Ps(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 Ws(e){return e===null||!(e instanceof Element)?!1:e.closest(ks)!==null}function Gs(e,t){return!Ws(t.target)&&s(e,`openProjectSwitcher`,t)}function Ks(e,t){if(t===``||!e.startsWith(t))return e;let n=e.slice(t.length);return n===``?`~`:n.startsWith(`/`)?`~${n}`:e}function qs(e){return/mac|iphone|ipad|ipod/i.test(e)}function Js(e,t){return t<=0?0:e<0?t-1:e>=t?0:e}var Ys={readonly:!1,localLinkMode:`open`,askUserQuestionSurface:`inline`},Xs=(0,G.createContext)(Ys);function Zs({children:e,value:t}){let n=(0,G.useMemo)(()=>({...Ys,...t}),[t]);return(0,K.jsx)(Xs.Provider,{value:n,children:e})}function Qs(){return(0,G.useContext)(Xs)}var $s=ht(`UserMessage`,()=>e=>({selectedAttachmentId:null,setSelectedAttachmentId:t=>e({selectedAttachmentId:t})}));function ec(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 tc({content:e,attachments:t=[],steered:n=!1,autoContinue:r,expandedCommand:i,ports:a}){let o=a?.dom??b,s=$s.useScopedStore(e=>e.selectedAttachmentId),c=$s.useScopedStore(e=>e.setSelectedAttachmentId),l=Qs(),u=(0,G.useMemo)(()=>ec(e),[e]),d=!l.readonly,f=(0,G.useMemo)(()=>t.filter(e=>e.kind===`image`&&e.contentUrl),[t]),p=(0,G.useMemo)(()=>t.filter(e=>e.kind!==`image`||!e.contentUrl),[t]),m=t.find(e=>e.id===s)??null,h=m?re(m,`user_attachment`):null;function g(e){if(d&&e.contentUrl){if(R(e).openInNewTab){o.openWindow(new URL(e.contentUrl,o.getBaseURI()||o.getHref()).toString(),`_blank`,`noopener,noreferrer`);return}c(e.id)}}return(0,K.jsxs)(K.Fragment,{children:[(0,K.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,K.jsx)(`div`,{className:`flex max-w-[85%] flex-wrap gap-3 sm:max-w-[80%]`,children:f.map(e=>(0,K.jsx)(ae,{attachment:e,onClick:d?()=>g(e):void 0},e.id))}):null,p.length>0?(0,K.jsx)(`div`,{className:`flex max-w-[85%] flex-wrap gap-2 sm:max-w-[80%]`,children:p.map(e=>(0,K.jsx)(oe,{attachment:e,onClick:d?()=>g(e):void 0},e.id))}):null,u.body||!u.body&&t.length===0&&e&&!u.systemMessage?(0,K.jsxs)(`div`,{className:`flex w-full flex-col gap-0.5`,children:[(0,K.jsxs)(`span`,{className:`flex items-center gap-1.5 select-none text-15 font-semibold leading-snug text-foreground`,children:[(0,K.jsx)(`span`,{"aria-hidden":!0,children:`You`}),n?(0,K.jsx)(dn,{"aria-label":`Sent mid-turn`,className:`size-3.5 shrink-0`}):null]}),(0,K.jsx)(`div`,{className:`min-w-0 text-foreground prose prose-sm dark:prose-invert [&_p]:whitespace-pre-line`,children:Se(u.body)})]}):null,i?(0,K.jsxs)(`span`,{className:`text-xs text-muted-foreground opacity-70`,children:[`ran the `,(0,K.jsx)(`span`,{className:`font-mono`,children:i.name}),` `,i.kind]}):null,r?(0,K.jsx)(`span`,{className:`text-xs text-muted-foreground opacity-70`,children:`auto-sent`}):null]}),(0,K.jsx)(ue,{source:h,open:h!==null,onOpenChange:e=>!e&&c(null)})]})}var nc=(0,G.memo)(({content:e,attachments:t=[],steered:n=!1,autoContinue:r,expandedCommand:i,ports:a})=>(0,K.jsx)($s.Provider,{init:void 0,children:(0,K.jsx)(tc,{content:e,attachments:t,steered:n,autoContinue:r,expandedCommand:i,ports:a})}));function rc({json:e}){return(0,K.jsx)(`div`,{className:`flex gap-3 justify-start`,children:(0,K.jsx)(`div`,{className:`flex-1 max-w-[90%]`,children:(0,K.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 ic=e=>ht(e,()=>e=>({open:!1,setOpen:t=>e({open:t})})),ac=ic(`CollapsibleSection`),oc=ic(`ExpandableMcpServer`),sc=ic(`RawMessageSection`);function cc({title:e,count:t,children:n,badge:r}){let i=ac.useScopedStore(e=>e.open),a=ac.useScopedStore(e=>e.setOpen);return t===0?null:(0,K.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,K.jsxs)(`button`,{onClick:()=>a(!i),className:`flex items-center gap-1 cursor-pointer group/section hover:opacity-60 transition-opacity`,children:[(0,K.jsx)(Ie,{className:w(`h-3.5 w-3.5 text-muted-foreground transition-transform duration-200`,i&&`rotate-90`)}),(0,K.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:e}),(0,K.jsx)(`span`,{className:`text-muted-foreground/60`,children:t}),r]}),i&&(0,K.jsx)(`div`,{className:`ml-5`,children:n})]})}function lc({title:e,count:t,children:n,badge:r}){return(0,K.jsx)(ac.Provider,{init:void 0,children:(0,K.jsx)(cc,{title:e,count:t,badge:r,children:n})})}function uc({title:e,items:t,icon:n,getIcon:r}){return t.length===0?null:(0,K.jsx)(lc,{title:e,count:t.length,children:(0,K.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map(e=>(0,K.jsx)(N,{icon:r?r(e):n,children:e},e))})})}function dc(e){let t=e.match(/^mcp__([^_]+)__(.+)$/);return t?{server:t[1],tool:t[2]}:null}function fc({status:e}){let t;return t=e===`connected`?`bg-success`:e===`pending`?`bg-warning`:`bg-destructive`,(0,K.jsx)(`span`,{className:w(`inline-block h-2 w-2 rounded-full shrink-0`,t)})}function pc(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 mc({server:e}){let t=oc.useScopedStore(e=>e.open),n=oc.useScopedStore(e=>e.setOpen),r=e.status===`connected`;return(0,K.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,K.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,K.jsx)(Ie,{className:w(`h-3 w-3 text-muted-foreground transition-transform duration-200`,t&&`rotate-90`)}),(0,K.jsx)(fc,{status:e.status}),(0,K.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:Ct(e.name)}),r?(0,K.jsxs)(`span`,{className:`text-muted-foreground/50`,children:[e.tools.length,` tools`]}):(0,K.jsx)(`span`,{className:`text-muted-foreground/50`,children:pc(e.status)})]}),!r&&e.error&&(0,K.jsx)(`span`,{className:`text-destructive ml-5`,children:e.error}),t&&e.tools.length>0&&(0,K.jsx)(`div`,{className:`flex flex-wrap gap-1.5 ml-5`,children:e.tools.map(t=>(0,K.jsx)(N,{icon:M(`mcp__${e.name}__${t}`),children:t},t))})]})}function hc({server:e}){return(0,K.jsx)(oc.Provider,{init:void 0,children:(0,K.jsx)(mc,{server:e})})}function gc({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,K.jsxs)(`span`,{className:`flex items-center gap-1 ml-1`,children:[(0,K.jsx)(fc,{status:`failed`}),(0,K.jsxs)(`span`,{className:`text-muted-foreground/60`,children:[n.length,` disconnected`]})]}):null;return(0,K.jsx)(lc,{title:`MCP Servers`,count:e.length,badge:r,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[t.map(e=>(0,K.jsx)(hc,{server:e},e.name)),n.map(e=>(0,K.jsx)(hc,{server:e},e.name))]})})}function _c({rawJson:e}){let t=sc.useScopedStore(e=>e.open),n=sc.useScopedStore(e=>e.setOpen);return(0,K.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,K.jsxs)(`button`,{onClick:()=>n(!t),className:`flex items-center gap-1 cursor-pointer group/section hover:opacity-60 transition-opacity`,children:[(0,K.jsx)(Ie,{className:w(`h-3.5 w-3.5 text-muted-foreground transition-transform duration-200`,t&&`rotate-90`)}),(0,K.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:`Raw Message`})]}),t&&(0,K.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 vc({rawJson:e}){return(0,K.jsx)(sc.Provider,{init:void 0,children:(0,K.jsx)(_c,{rawJson:e})})}function yc({message:e,rawJson:t}){let{coreTools:n,mcpServersWithTools:r}=(0,G.useMemo)(()=>{let t=new Map,n=[];for(let r of e.tools){let e=dc(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,K.jsx)(fe,{children:(0,K.jsxs)(de,{expandedContent:(0,K.jsx)(L,{className:`my-4 text-xs`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsx)(V,{children:e.model}),(0,K.jsx)(uc,{title:`Tools`,items:n,getIcon:e=>se[e]??ce}),(0,K.jsx)(uc,{title:`Agents`,items:e.agents,icon:me}),(0,K.jsx)(uc,{title:`Commands`,items:e.slashCommands,icon:sn}),(0,K.jsx)(gc,{servers:r}),t&&(0,K.jsx)(vc,{rawJson:t})]})}),children:[(0,K.jsx)(At,{className:`h-5 w-5 text-logo`}),(0,K.jsx)(B,{children:`Session Started`})]})})}var bc=ht(`AccountInfoMessage`,()=>e=>({expanded:!1,setExpanded:t=>e({expanded:t})})),xc={"kanna-oauth-pool":`Pool token`,"claude-pro":`Claude Pro`,"claude-max":`Claude Max`,openrouter:`OpenRouter`};function Sc(e,t){return e?xc[e]??e:t?`API key (${t})`:null}function Cc({message:e}){let{organization:t,tokenSource:n,apiKeySource:r,subscriptionType:i,email:a,oauthKeyMasked:o}=e.accountInfo,s=o??t??a??`Unknown account`,c=Sc(n,r),l=bc.useScopedStore(e=>e.expanded),u=bc.useScopedStore(e=>e.setExpanded);return(0,K.jsx)(fe,{children:(0,K.jsxs)(`div`,{className:`flex w-full flex-col`,children:[(0,K.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,K.jsx)(`span`,{className:`text-12 font-medium text-muted-foreground`,children:`Account`}),(0,K.jsx)(`span`,{className:`h-3 w-px bg-border/60`,"aria-hidden":!0}),(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-13 font-medium leading-snug text-foreground`,children:s}),c?(0,K.jsx)(`span`,{className:`hidden whitespace-nowrap text-xs text-muted-foreground sm:inline`,children:c}):null,(0,K.jsx)(Ie,{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,K.jsx)(`span`,{className:`mt-0.5 text-xs text-muted-foreground sm:hidden`,children:c}):null,l?(0,K.jsx)(L,{className:`mt-3 mb-2 text-xs`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsx)(ie,{label:`OAuth key`,copyText:s,children:(0,K.jsx)(`code`,{className:`block text-xs whitespace-pre-wrap break-all`,children:s})}),(0,K.jsxs)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-5 gap-y-1.5`,children:[c?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`dt`,{className:`text-muted-foreground`,children:`Source`}),(0,K.jsx)(`dd`,{className:`text-foreground/90`,children:c})]}):null,i?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`dt`,{className:`text-muted-foreground`,children:`Plan`}),(0,K.jsx)(`dd`,{className:`text-foreground/90`,children:i})]}):null,a?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`dt`,{className:`text-muted-foreground`,children:`Email`}),(0,K.jsx)(`dd`,{className:`font-mono break-all text-foreground/90`,children:a})]}):null,t?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`dt`,{className:`text-muted-foreground`,children:`Organization`}),(0,K.jsx)(`dd`,{className:`text-foreground/90`,children:t})]}):null]})]})}):null]})})}function wc({message:e}){return(0,K.jsx)(bc.Provider,{init:void 0,children:(0,K.jsx)(Cc,{message:e})})}function Tc({message:e,onRemove:t}){return(0,K.jsx)(F.Provider,{init:void 0,children:(0,K.jsx)(Ec,{message:e,onRemove:t})})}function Ec({message:e,onRemove:t}){let n=F.useScopedStore(e=>e.copied),r=F.useScopedStore(e=>e.setCopied),i=`/cron ${e.instruction} ${e.mode} ${e.scheduleText}`,a=(0,G.useCallback)(async()=>{await je.writeText(i),r(!0),We.setTimeout(()=>r(!1),2e3)},[i,r]),o=(0,G.useCallback)(()=>{bt(`copy cron edit command`,a())},[a]),s=k(j(`cron.remove`,e.jobId)),c=e.upcomingFires??(e.nextFireAt===null?[]:[e.nextFireAt]);return(0,K.jsxs)(`div`,{className:`px-0.5`,children:[(0,K.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,K.jsx)(we,{className:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,K.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:`Cron job armed`}),(0,K.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:e.jobId}),(0,K.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,K.jsx)(Be,{tooltip:e.instruction,className:`mt-1.5 text-sm text-foreground/90`,children:e.instruction}),(0,K.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-muted-foreground`,children:[(0,K.jsxs)(`span`,{children:[e.scheduleHuman,e.scheduleHuman===e.scheduleText?null:(0,K.jsx)(`span`,{className:`ml-1.5 font-mono opacity-70`,children:e.scheduleText})]}),e.model?(0,K.jsx)(`span`,{className:`font-mono`,children:e.model}):null,e.mode===`spawn`&&e.cwd?(0,K.jsx)(Be,{tooltip:e.cwd,className:`max-w-48`,inline:!0,children:(0,K.jsx)(`span`,{className:`font-mono`,children:e.cwd})}):null]}),c.length>0?(0,K.jsx)(`div`,{className:`flex flex-col gap-0.5 text-xs tabular-nums text-muted-foreground`,children:c.map((e,t)=>(0,K.jsxs)(`span`,{children:[t===0?`next`:` ${t+1}.`,` `,new Date(e).toLocaleString()]},e))}):null]}),e.mode===`inline`?(0,K.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,K.jsxs)(`div`,{className:`mt-3 flex items-center gap-2`,children:[(0,K.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,K.jsx)(Ae,{className:`h-3.5 w-3.5 text-success-text`,"aria-hidden":`true`}):(0,K.jsx)(ke,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),n?`Copied`:`Edit`]}),t?(0,K.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,K.jsx)(A,{}):(0,K.jsx)(h,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),`Disarm`]}):null]})]})}function Dc({message:e}){return(0,K.jsx)(F.Provider,{init:void 0,children:(0,K.jsx)(Oc,{message:e})})}function Oc({message:e}){let t=F.useScopedStore(e=>e.copied),n=F.useScopedStore(e=>e.setCopied),r=e.suggestion,i=(0,G.useCallback)(async()=>{r!==void 0&&(await je.writeText(r),n(!0),We.setTimeout(()=>n(!1),2e3))},[r,n]),a=(0,G.useCallback)(()=>{bt(`copy cron fix`,i())},[i]);return(0,K.jsxs)(`div`,{className:`bg-destructive/10 px-4 py-3`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(Pt,{className:`h-4 w-4 shrink-0 text-destructive`,"aria-hidden":`true`}),(0,K.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:`Invalid /cron command`})]}),e.input===void 0?null:(0,K.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,K.jsx)(`p`,{className:`mt-1.5 text-sm text-foreground/90`,children:e.message}),r===void 0?null:(0,K.jsxs)(`div`,{className:`mt-2 flex items-center gap-2`,children:[(0,K.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,K.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,K.jsx)(Ae,{className:`h-3.5 w-3.5 text-success-text`,"aria-hidden":`true`}):(0,K.jsx)(ke,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),t?`Copied`:`Copy fix`]})]})]})}function kc({message:e}){return(0,K.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,K.jsx)(we,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/70`,"aria-hidden":`true`}),(0,K.jsxs)(`span`,{className:`text-xs`,children:[`Cron job`,(0,K.jsxs)(`span`,{className:`font-mono`,children:[` `,e.jobId,` `]}),e.change]})]})}function Ac({message:e,cronJobs:t}){let n=t??[];return(0,K.jsxs)(`div`,{className:`px-0.5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(we,{className:`h-4 w-4 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,K.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:`Cron jobs`}),(0,K.jsxs)(`span`,{className:`ml-auto text-xs text-muted-foreground tabular-nums`,children:[n.length,` armed`]})]}),n.length===0?(0,K.jsx)(`p`,{className:`mt-1.5 text-sm text-muted-foreground`,children:`No cron jobs armed in this chat.`}):(0,K.jsx)(`div`,{className:`mt-2 space-y-2`,children:n.map(e=>(0,K.jsxs)(`div`,{className:`flex items-baseline gap-3 text-sm`,children:[(0,K.jsx)(`span`,{className:`shrink-0 font-mono text-xs text-muted-foreground`,children:e.jobId}),(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-foreground/90`,children:e.instruction}),(0,K.jsxs)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:[De(e.schedule,e.scheduleText),` · `,e.mode,e.paused?` · paused`:``]}),e.lastRun?(0,K.jsx)(Ce,{status:e.lastRun.status}):null]},e.jobId))}),e.help?(0,K.jsxs)(`div`,{className:`mt-3 border-t border-border pt-2 font-mono text-xs text-muted-foreground`,children:[(0,K.jsx)(`div`,{children:`/cron <instruction> inline|spawn <schedule>`}),(0,K.jsx)(`div`,{children:`/cron list · /cron remove <id> · /cron pause <id> · /cron resume <id>`}),(0,K.jsx)(`div`,{children:"schedules: `0 9 * * 1-5` · `*/30 * * * * *` (leading second) · @hourly @daily @weekly @monthly · every 30s / every 5m / every 2h"}),(0,K.jsxs)(`div`,{className:`mt-1`,children:[`inline: `,Oe(`inline`),`; spawn: `,Oe(`spawn`),`. Next-fire times use server-local time.`]})]}):null]})}function jc({message:e}){let t=e.missedCount??1;return(0,K.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,K.jsx)(an,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/70`,"aria-hidden":`true`}),(0,K.jsxs)(`span`,{className:`text-xs tabular-nums`,children:[t===1?`Cron run skipped`:`Cron runs skipped ${t}×`,(0,K.jsxs)(`span`,{className:`font-mono`,children:[` `,e.jobId]}),` — `,Mc(e.reason)]})]})}function Mc(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 Nc=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 Pc(e){return e===void 0?null:Nc.get(e)??null}function Fc(e){return e===429||e>=500}var Ic=`https://status.claude.com`;function Lc(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 Rc(e){return e>0?`${e} ${Lc(e)}`:`API Error`}function zc({description:e,rawText:t}){return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`div`,{className:`text-sm break-words text-foreground/90 space-y-1`,children:[(0,K.jsx)(`p`,{children:e.explanation}),(0,K.jsx)(`p`,{children:e.remedy})]}),(0,K.jsx)(`div`,{className:`text-xs whitespace-pre-wrap break-words text-muted-foreground`,children:t})]})}function Bc({message:e}){let t=Pc(e.apiErrorReason),n=t?.headline??Rc(e.status),r=Fc(e.status);return(0,K.jsx)(`div`,{className:`w-full max-w-[70ch]`,children:(0,K.jsxs)(`div`,{className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2.5 space-y-1.5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-destructive-text`,children:[(0,K.jsx)(He,{className:`h-3.5 w-3.5`}),(0,K.jsx)(`span`,{className:` tracking-wide`,children:n})]}),t?(0,K.jsx)(zc,{description:t,rawText:e.text}):(0,K.jsx)(`div`,{className:`text-sm whitespace-pre-wrap break-words text-foreground/90`,children:e.text}),(e.requestId||r)&&(0,K.jsxs)(`div`,{className:`flex items-center gap-3 text-xs text-muted-foreground pt-0.5`,children:[r&&(0,K.jsx)(`a`,{href:Ic,target:`_blank`,rel:`noreferrer`,className:`hover:underline`,children:`Check status`}),e.requestId&&(0,K.jsxs)(`span`,{children:[`Request ID: `,(0,K.jsx)(`code`,{className:`text-xs`,children:e.requestId})]})]})]})})}var Vc=`https://www.anthropic.com/legal/aup`;function Hc(e){return e.replace(/^API Error:\s*/i,``)}function Uc({message:e}){let t=Hc(e.text);return(0,K.jsx)(`div`,{className:`w-full max-w-[70ch]`,children:(0,K.jsxs)(`div`,{className:`rounded-md border border-warning/40 bg-warning/10 px-3 py-2.5 space-y-1.5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-warning-text`,children:[(0,K.jsx)(nn,{className:`h-3.5 w-3.5`}),(0,K.jsx)(`span`,{className:` tracking-wide`,children:`Blocked by Usage Policy`})]}),(0,K.jsx)(`div`,{className:`text-sm whitespace-pre-wrap break-words text-foreground/90`,children:t}),(0,K.jsxs)(`div`,{className:`flex items-center gap-3 text-xs text-muted-foreground pt-0.5`,children:[(0,K.jsx)(`a`,{href:Vc,target:`_blank`,rel:`noreferrer`,className:`hover:underline`,children:`Usage Policy`}),e.requestId&&(0,K.jsxs)(`span`,{children:[`Request ID: `,(0,K.jsx)(`code`,{className:`text-xs`,children:e.requestId})]})]})]})})}var Wc=ht(`AskUserQuestionInteractive`,()=>e=>({currentIndex:0,answers:{},customInputs:{},setCurrentIndex:t=>e({currentIndex:t}),setAnswers:t=>e({answers:t}),setCustomInputs:t=>e({customInputs:t})}));function Gc({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,K.jsx)(`button`,{onClick:i,className:`text-muted-foreground hover:opacity-60 transition-opacity flex items-center`,children:(0,K.jsx)(Fe,{className:`h-4 w-4 -ml-0.5`,strokeWidth:3})}):r>1?(0,K.jsxs)(`span`,{className:`text-xs font-semibold tracking-wide text-muted-foreground whitespace-nowrap`,children:[n+1,` of `,r]}):null,(0,K.jsxs)(`div`,{className:`rounded-2xl border border-border overflow-hidden`,children:[(0,K.jsxs)(`div`,{className:`relative`,children:[(0,K.jsxs)(`div`,{className:`p-3 px-4 bg-card border-b border-border`,children:[s&&(0,K.jsxs)(`div`,{className:`flex flex-row items-center gap-2 mb-1`,children:[c,t?(0,K.jsx)(`span`,{className:`text-xs font-semibold tracking-wide text-muted-foreground text-pretty`,children:t}):null]}),(0,K.jsx)(`h3`,{className:`font-medium text-foreground text-sm text-pretty`,children:e})]}),r>1&&(0,K.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 h-0.5 bg-border`,children:(0,K.jsx)(`div`,{className:`h-full bg-muted-foreground/40`,style:{width:`${n/r*100}%`}})})]}),a]})}function Kc({label:e,description:t}){return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{className:`text-foreground text-sm`,children:e}),t&&(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5`,children:t})]})}function qc({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,K.jsx)(Ae,{strokeWidth:3,className:`translate-y-[0.5px] h-3 w-3 text-white dark:text-background`}):null;return n?(0,K.jsx)(`button`,{type:`button`,onClick:n,className:r,children:i}):(0,K.jsx)(`div`,{"aria-hidden":!0,className:r,children:i})}function Jc({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,K.jsx)(`button`,{onClick:r,className:w(a,o,`transition-colors cursor-pointer`),children:(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,K.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,K.jsx)(Kc,{label:e.label,description:e.description})}),(0,K.jsx)(qc,{selected:t,multiSelect:n})]})}):(0,K.jsx)(`div`,{className:w(a,o),children:(0,K.jsx)(Kc,{label:e.label,description:e.description})})}function Yc({questions:e,onSubmit:t,onCancel:n,submitPending:r=!1,cancelPending:i=!1,ports:a={}}){let o=r||i,s=a.timer??We,c=Wc.useScopedStore(e=>e.currentIndex),l=Wc.useScopedStore(e=>e.answers),u=Wc.useScopedStore(e=>e.customInputs),d=Wc.useScopedStore(e=>e.setCurrentIndex),f=Wc.useScopedStore(e=>e.setAnswers),p=Wc.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,K.jsxs)(`div`,{className:`w-full space-y-3`,children:[(0,K.jsxs)(Gc,{question:x.question,header:x.header,currentIndex:c,totalQuestions:e.length,onBack:c>0?D:void 0,children:[x.options?.map(e=>(0,K.jsx)(Jc,{option:e,selected:A.includes(e.label),multiSelect:x.multiSelect,onClick:()=>_(x,e.label)},e.label)),(0,K.jsx)(`div`,{className:`transition-colors bg-background`,children:(0,K.jsxs)(`div`,{className:`flex pr-5 items-center justify-between gap-3`,children:[(0,K.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,K.jsx)(qc,{selected:!!j,multiSelect:x.multiSelect,onClick:x.multiSelect&&j?()=>y(x):void 0})]})})]}),(0,K.jsxs)(`div`,{className:`flex items-center mx-2`,children:[n?(0,K.jsx)(C,{size:`sm`,variant:`outline`,className:`rounded-full`,pending:i,disabled:r,onClick:n,children:`Cancel`}):null,(0,K.jsxs)(`div`,{className:`ml-auto flex gap-2`,children:[!S&&T&&(x.multiSelect||!!j)&&(0,K.jsx)(C,{size:`sm`,onClick:E,children:`Next`}),S&&(0,K.jsx)(C,{size:`sm`,onClick:O,pending:r,disabled:!b||o,className:w(!b&&`opacity-50 cursor-not-allowed`,`rounded-full`),children:`Submit`})]})]})]})}function Xc({questions:e,onSubmit:t,onCancel:n,submitPending:r,cancelPending:i,ports:a}){return(0,K.jsx)(Wc.Provider,{init:void 0,children:(0,K.jsx)(Yc,{questions:e,onSubmit:t,onCancel:n,submitPending:r,cancelPending:i,ports:a})})}function Zc({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 Qc=ht(`AskUserQuestionMessage`,Zc);function $c(e){return e?.answers}function el(e){return e.id||e.question}function tl({questions:e,statusLabel:t,testId:n}){return(0,K.jsx)(`div`,{className:`w-full`,"data-testid":n,children:(0,K.jsxs)(`div`,{className:`rounded-2xl border border-border overflow-hidden`,children:[(0,K.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,K.jsxs)(`p`,{children:[`Question`,e.length===1?``:`s`]}),(0,K.jsx)(`p`,{className:`text-muted-foreground`,children:t})]}),e.map((t,n)=>(0,K.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,K.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[t.header&&(0,K.jsx)(`div`,{className:`text-xs font-semibold tracking-wide text-muted-foreground text-pretty`,children:t.header}),(0,K.jsx)(`div`,{className:`text-sm text-pretty`,children:t.question})]}),(0,K.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`})]},el(t)))]})})}function nl({message:e,onSubmit:t,isLatest:n}){let r=Qs(),i=e.input.questions,a=!!e.result,o=$c(e.result),s=e.result?.discarded===!0,c=Qc.useScopedStore(e=>e.submittedAnswers),l=Qc.useScopedStore(e=>e.isSubmitted),u=Qc.useScopedStore(e=>e.markSubmitted),d=Qc.useScopedStore(e=>e.markSubmitFailed),f=Qc.useScopedStore(e=>e.submitError),p=j(`askUserQuestion.submit`,e.toolId),m=k(p),h=(0,G.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,K.jsx)(`div`,{className:`w-full`,"aria-busy":m||void 0,children:(0,K.jsxs)(`div`,{className:`rounded-2xl border border-border overflow-hidden`,children:[(0,K.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,K.jsxs)(`p`,{children:[`Question`,i.length===1?``:`s`]}),(0,K.jsxs)(`p`,{className:`flex items-center gap-1.5`,children:[m?(0,K.jsx)(A,{}):null,s?`Discarded`:`Answers`]})]}),i.map((t,n)=>{let r=e[el(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,K.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,K.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[t.header&&(0,K.jsx)(`div`,{className:`text-xs font-semibold tracking-wide text-muted-foreground text-pretty`,children:t.header}),(0,K.jsx)(`div`,{className:`text-sm text-pretty`,children:t.question})]}),(0,K.jsx)(`div`,{className:`max-w-[50%] text-right`,children:r.length>0?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{className:`text-sm font-medium text-pretty`,children:r.join(`, `)}),o.length>0&&(0,K.jsx)(`div`,{className:`text-xs text-muted-foreground mt-0.5 text-pretty`,children:o.join(` · `)})]}):(0,K.jsx)(`div`,{className:`text-sm font-medium italic`,children:s?`Discarded`:`No Response`})})]},el(t))})]})})}return r.readonly?(0,K.jsx)(tl,{questions:i,statusLabel:`Awaiting response`}):n?r.askUserQuestionSurface===`footer`?(0,K.jsx)(tl,{questions:i,statusLabel:`Answer below`,testId:`ask-user-question-moved:${e.toolId}`}):(0,K.jsxs)(`div`,{className:`w-full`,children:[f?(0,K.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,K.jsx)(Xc,{questions:i,onSubmit:h})]}):(0,K.jsx)(`div`,{className:`w-full py-2`,children:(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(te,{className:`h-4 w-4 text-muted-foreground`}),(0,K.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Questions pending (newer question active)`})]})})}function rl({message:e,onSubmit:t,isLatest:n}){let r=$c(e.result)??null,i=!!e.result;return(0,K.jsx)(Qc.Provider,{init:{savedAnswers:r,isComplete:i},children:(0,K.jsx)(nl,{message:e,onSubmit:t,isLatest:n})})}function il(){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 al=ht(`ExitPlanModeMessage`,il);function ol(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 sl({message:e,onConfirm:t,isLatest:n,ports:r={}}){let i=Qs(),a=r.clipboard??je,o=r.timer??We,s=!!e.result,c=al.useScopedStore(e=>e.expanded),l=al.useScopedStore(e=>e.copied),u=al.useScopedStore(e=>e.showEditInput),d=al.useScopedStore(e=>e.editMessage),f=al.useScopedStore(e=>e.setExpanded),p=al.useScopedStore(e=>e.setCopied),m=al.useScopedStore(e=>e.setEditMessage),h=al.useScopedStore(e=>e.openEdit),g=al.useScopedStore(e=>e.cancelEdit),_=(0,G.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,G.useCallback)(()=>{E||O(v,()=>t(e.toolId,!0,!0))},[E,v,t,e.toolId]),A=(0,G.useCallback)(()=>{E||O(y,()=>t(e.toolId,!0))},[E,y,t,e.toolId]),M=(0,G.useCallback)(()=>{let n=d.trim();n&&!E&&O(b,()=>t(e.toolId,!1,void 0,n))},[d,E,b,t,e.toolId]),N=(0,G.useCallback)(e=>{e.key===`Enter`&&!e.shiftKey&&d.trim()&&(e.preventDefault(),M()),e.key===`Escape`&&g()},[d,M,g]),P=e.input;(0,G.useEffect)(()=>{u&&_.current&&_.current.focus()},[u]);let ee=async()=>{P?.plan&&(await a.writeText(P.plan),p(!0),o.setTimeout(()=>p(!1),2e3))},F=()=>{bt(`copy plan`,ee())},I=s?e.result:null,L=I?.discarded===!0,R;R=L?`Discarded`:I?.clearContext?`Approved & Cleared Context`:I?.confirmed?`Approved`:I?.message?`Adjusted: "${I.message}"`:`Adjusted Plan`;let z;return z=s?(0,K.jsx)(`div`,{className:`flex justify-end mx-2`,children:(0,K.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,K.jsx)(`em`,{children:R}),(0,K.jsx)(Ht,{className:`inline h-4 w-4 ml-1.5 -mt-0.5`})]})}):n?i.readonly?(0,K.jsx)(`div`,{className:`flex justify-end mx-2`,children:(0,K.jsx)(`span`,{className:`inline text-sm text-muted-foreground italic`,children:`Plan pending in original session`})}):(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[!u&&(0,K.jsxs)(`div`,{className:`flex flex-col md:flex-row items-stretch md:items-center justify-end gap-2 mx-2`,children:[(0,K.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,K.jsx)(It,{className:`h-4 w-4 mr-1.5`}),`Approve & Clear`]}),(0,K.jsxs)(`div`,{className:`flex items-stretch md:items-center gap-2 md:contents`,children:[(0,K.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,K.jsx)(Ue,{className:`h-4 w-4 mr-1.5`}),`Suggest Edits`]}),(0,K.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,K.jsx)(Ae,{className:`h-4 w-4 mr-1.5`}),`Approve`]})]})]}),u&&(0,K.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,K.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,K.jsxs)(`div`,{className:`flex items-center justify-end gap-2 mx-2`,children:[(0,K.jsx)(C,{size:`sm`,variant:`ghost`,onClick:g,className:`rounded-full text-muted-foreground`,children:`Cancel`}),(0,K.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,K.jsx)(en,{className:`h-4 w-4 mr-1.5`}),`Adjust Plan`]})]})]})]}):(0,K.jsx)(`div`,{className:`flex justify-end mx-2`,children:(0,K.jsx)(`span`,{className:`inline text-sm text-muted-foreground italic`,children:`Plan pending (newer prompt active)`})}),(0,K.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,K.jsxs)(`div`,{className:`relative rounded-2xl border border-border overflow-hidden group/plan`,children:[P?.plan&&(0,K.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:F,children:l?(0,K.jsx)(Ae,{className:`h-4 w-4 text-success-text`}):(0,K.jsx)(ke,{className:`h-4 w-4`})}),(0,K.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,K.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,K.jsx)(Ne,{className:`size-3.5 transition-transform ${c?`rotate-180`:``}`})]}),P?.plan?(0,K.jsxs)(`div`,{className:`prose prose-sm dark:prose-invert max-w-none`,children:[le(P.plan),(0,K.jsx)(`div`,{className:`mt-5`})]}):(0,K.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No plan provided`})]})]}),z]})}function cl({message:e,onConfirm:t,isLatest:n,ports:r}){return(0,K.jsx)(al.Provider,{init:void 0,children:(0,K.jsx)(sl,{message:e,onConfirm:t,isLatest:n,ports:r})})}var ll={completed:{Icon:Ae,iconClass:`text-success-text`,textClass:`text-muted-foreground`},in_progress:{Icon:T,iconClass:`text-foreground animate-spin`,textClass:`text-foreground font-medium`},pending:{Icon:Bt,iconClass:`text-muted-foreground`,textClass:`text-muted-foreground`}};function ul({message:e}){let t=e.input.todos;return t.length?(0,K.jsx)(`div`,{className:`w-full`,children:(0,K.jsxs)(`div`,{className:`rounded-2xl border border-border overflow-hidden`,children:[(0,K.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,K.jsx)(Jt,{className:`h-4 w-4 text-muted-foreground`}),`Progress`]}),(0,K.jsx)(`div`,{children:t.map((e,n)=>{let r=n===t.length-1,{Icon:i,iconClass:a,textClass:o}=ll[e.status];return(0,K.jsxs)(`div`,{className:w(`flex items-center gap-3 px-4 py-2.5 bg-background`,!r&&`border-b border-border`),children:[(0,K.jsx)(i,{className:w(`h-4 w-4 flex-shrink-0`,a)}),(0,K.jsx)(`span`,{className:w(`text-sm`,o),children:e.status===`in_progress`?e.activeForm:e.content})]},n)})})]})}):null}var dl=ht(`OfferDownloadMessage`,()=>e=>({probeState:`idle`,previewOpen:!1,setProbeState:t=>e({probeState:t}),setPreviewOpen:t=>e({previewOpen:t})}));function fl({message:e}){let t=e.result,n=t?.contentUrl,r=dl.useScopedStore(e=>e.probeState),i=dl.useScopedStore(e=>e.previewOpen),a=dl.useScopedStore(e=>e.setProbeState),o=dl.useScopedStore(e=>e.setPreviewOpen);if((0,G.useEffect)(()=>{if(!n)return;let e=new AbortController;return bt(`probe offer download`,z(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=I(s),l=ee(c,t.mimeType),u=t.size>0?ne(t.size):null,d=(0,K.jsxs)(K.Fragment,{children:[l,u?(0,K.jsxs)(K.Fragment,{children:[` · `,(0,K.jsx)(`span`,{className:`tabular-nums`,children:u})]}):null]});if(r===`missing`)return(0,K.jsx)(`div`,{className:`flex`,"data-testid":`offer-download-link`,children:(0,K.jsx)(oe,{attachment:s,disabledReason:`File no longer available`})});if(!R(s).openInNewTab){let e=`Preview ${s.displayName}, ${l}${u?`, ${u}`:``}`;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{className:`flex`,"data-testid":`offer-download-link`,children:(0,K.jsx)(oe,{attachment:s,onClick:()=>o(!0),meta:d,ariaLabel:e})}),(0,K.jsx)(ue,{source:i?re(s,`offer_download`):null,open:i,onOpenChange:o})]})}let f=[`Download`,s.displayName,l,u].filter(e=>!!e);return(0,K.jsx)(`div`,{className:`flex`,"data-testid":`offer-download-link`,children:(0,K.jsx)(oe,{attachment:s,href:n,download:t.fileName||void 0,meta:d,ariaLabel:f.join(`, `)})})}function pl({message:e}){return(0,K.jsx)(dl.Provider,{init:void 0,children:(0,K.jsx)(fl,{message:e})})}var ml=ht(`PreviewFileMessage`,()=>e=>({probeState:`idle`,previewOpen:!1,setProbeState:t=>e({probeState:t}),setPreviewOpen:t=>e({previewOpen:t})}));function hl({message:e}){let t=e.result,n=t?.contentUrl,r=ml.useScopedStore(e=>e.probeState),i=ml.useScopedStore(e=>e.previewOpen),a=ml.useScopedStore(e=>e.setProbeState),o=ml.useScopedStore(e=>e.setPreviewOpen);if((0,G.useEffect)(()=>{if(!n)return;let e=new AbortController;return bt(`probe preview file`,z(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=I(s),l=ee(c,t.mimeType),u=t.size>0?ne(t.size):null,d=(0,K.jsxs)(K.Fragment,{children:[l,u?(0,K.jsxs)(K.Fragment,{children:[` · `,(0,K.jsx)(`span`,{className:`tabular-nums`,children:u})]}):null]});if(r===`missing`)return(0,K.jsx)(`div`,{className:`flex`,"data-testid":`preview-file-card`,children:(0,K.jsx)(oe,{attachment:s,disabledReason:`File no longer available`})});let f=`Preview ${s.displayName}, ${l}${u?`, ${u}`:``}`;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{className:`flex`,"data-testid":`preview-file-card`,children:(0,K.jsx)(oe,{attachment:s,onClick:()=>o(!0),meta:d,ariaLabel:f})}),(0,K.jsx)(ue,{source:i?re(s,`preview_file`):null,open:i,onOpenChange:o})]})}function gl({message:e}){return(0,K.jsx)(ml.Provider,{init:void 0,children:(0,K.jsx)(hl,{message:e})})}var _l=ht(`ImageGenerationMessage`,()=>e=>({open:!1,setOpen:t=>e({open:t})}));function vl({message:e}){let{status:t,revisedPrompt:n}=e.input,r=e.result,i=r?.contentUrl,a=e.isError||t===`failed`,o=_l.useScopedStore(e=>e.open),s=_l.useScopedStore(e=>e.setOpen);if(!a&&!r&&t===`in_progress`)return(0,K.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,K.jsx)(`span`,{children:`Generating image…`}),n?(0,K.jsx)(`span`,{className:`italic`,children:n}):null]});if(a||!r||!i)return(0,K.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,K.jsx)(`span`,{children:`Image generation failed.`}),r?.relativePath?(0,K.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,K.jsxs)(`figure`,{className:`flex flex-col gap-2`,"data-testid":`image-generation`,children:[(0,K.jsx)(_e,{source:c,onOpen:()=>s(!0),variant:`expanded`}),n?(0,K.jsx)(`figcaption`,{className:`text-xs text-muted-foreground italic`,children:n}):null,(0,K.jsx)(ue,{source:o?c:null,open:o,onOpenChange:s})]})}function yl({message:e}){return(0,K.jsx)(_l.Provider,{init:void 0,children:(0,K.jsx)(vl,{message:e})})}function bl({message:e}){return(0,K.jsx)(`div`,{className:`flex items-center justify-end gap-2 text-sm text-muted-foreground`,children:(0,K.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,K.jsx)(Rt,{className:`h-4 w-4 ml-1.5`}),(0,K.jsx)(`em`,{children:`Interrupted`})]})})}var xl={user_send:{Icon:Kt,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:He,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:Le,iconClass:`text-muted-foreground`,title:`Loop finished`,detail:`The goal was met, so the loop disarmed itself.`},chat_deleted:{Icon:Rt,iconClass:`text-muted-foreground`,title:`Loop disarmed`,detail:`The chat was deleted.`}};function Sl({message:e}){let{Icon:t,iconClass:n,title:r,detail:i}=xl[e.reason],a=e.trackingFileRel!==void 0||e.workdirAbs!==void 0;return(0,K.jsx)(`div`,{className:`px-0.5`,children:(0,K.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,K.jsx)(t,{className:w(`mt-0.5 h-4 w-4 shrink-0`,n),"aria-hidden":`true`}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:r}),i?(0,K.jsx)(`p`,{className:`mt-1 text-sm text-foreground/90`,children:i}):null,a?(0,K.jsxs)(`div`,{className:`mt-2 flex flex-col gap-0.5 text-xs text-muted-foreground`,children:[e.trackingFileRel===void 0?null:(0,K.jsx)(Be,{tooltip:e.trackingFileRel,inline:!0,children:(0,K.jsxs)(`span`,{children:[`Plan `,(0,K.jsx)(`span`,{className:`font-mono`,children:e.trackingFileRel})]})}),e.workdirAbs===void 0?null:(0,K.jsx)(Be,{tooltip:e.workdirAbs,inline:!0,children:(0,K.jsxs)(`span`,{children:[`Worktree `,(0,K.jsx)(`span`,{className:`font-mono`,children:e.workdirAbs})]})})]}):null,e.resumable?(0,K.jsxs)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:[`This loop can be re-armed with the `,(0,K.jsx)(`span`,{className:`font-mono`,children:`resume_loop`}),` tool.`]}):null]})]})})}var Cl=8,wl=6;function Tl(){let e=`zigzag-${(0,G.useId)().replace(/[^a-zA-Z0-9]/g,``)}`;return(0,K.jsxs)(`svg`,{"aria-hidden":!0,className:`flex-1 text-border`,height:wl,children:[(0,K.jsx)(`pattern`,{id:e,width:Cl,height:wl,patternUnits:`userSpaceOnUse`,children:(0,K.jsx)(`path`,{d:`M0 5 L${Cl/2} 1 L${Cl} 5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,K.jsx)(`rect`,{width:`100%`,height:wl,fill:`url(#${e})`})]})}function El({label:e}){return(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(Tl,{}),(0,K.jsx)(`span`,{className:`text-xs tracking-widest text-muted-foreground flex-shrink-0`,children:e}),(0,K.jsx)(Tl,{})]})}function Dl(){return(0,K.jsx)(El,{label:`Compacted`})}function Ol(){return(0,K.jsx)(El,{label:`Context Cleared`})}function kl({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,K.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,K.jsx)(P,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/70`,"aria-hidden":`true`}),(0,K.jsx)(`span`,{className:`text-xs`,children:`Loaded`}),(0,K.jsxs)(`span`,{className:`min-w-0 truncate font-mono text-xs`,children:[n?(0,K.jsx)(`span`,{className:`opacity-60`,children:n}):null,(0,K.jsx)(`span`,{className:`text-foreground/70`,children:r})]})]})}function Al({message:e}){return(0,K.jsx)(fe,{children:(0,K.jsxs)(de,{expandedContent:(0,K.jsx)(L,{className:`my-4 text-xs`,children:(0,K.jsx)(`div`,{className:`prose prose-sm dark:prose-invert max-w-none`,children:Se(e.summary)})}),children:[(0,K.jsx)(`div`,{className:`w-5 h-5 relative flex items-center justify-center`,children:(0,K.jsx)(Xt,{className:`h-4.5 w-4.5 text-muted-foreground`})}),(0,K.jsx)(B,{children:`Summarized`})]})})}var jl={compacting:`Compacting...`};function Ml({message:e}){let t=jl[e.status]||e.status;return(0,K.jsxs)(fe,{className:`grid grid-cols-[auto_1fr] items-center gap-1.5 text-sm animate-pulse`,children:[(0,K.jsx)(`div`,{className:`w-5 h-5 relative flex items-center justify-center`,children:(0,K.jsx)(Xt,{className:`h-4.5 w-4.5 text-muted-foreground`})}),(0,K.jsx)(B,{className:`text-left transition-opacity duration-200 truncate`,children:t})]})}function Nl(e){return e.kind===`tool`}var Pl={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`}},Fl={key:`other`,singular:`tool call`,plural:`tool calls`};function Il(e){return Pl[e]??Fl}function Ll(e){let t=new Map,n=[];for(let r of e){if(!Nl(r))continue;let e=r.toolKind,i=Il(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 Rl({messages:e,isLoading:t,localPath:n,expanded:r,onExpandedChange:i,chatId:a}){let o=(0,G.useMemo)(()=>Ll(e),[e]),s=e.some(e=>Nl(e)&&e.result===void 0)&&t;return(0,K.jsx)(fe,{className:`w-full`,children:(0,K.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,K.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,K.jsxs)(`div`,{className:`grid grid-cols-[auto_1fr] items-center gap-1.5`,children:[(0,K.jsx)(`div`,{className:`w-5 h-5 relative flex items-center justify-center`,children:(0,K.jsx)(Ie,{className:`h-4.5 w-4.5 text-muted-icon transition-transform motion-reduce:transition-none duration-200 ${r?`rotate-90`:``}`})}),(0,K.jsx)(B,{className:`text-left`,children:(0,K.jsx)(ge,{animate:s,children:o})})]})}),r&&(0,K.jsxs)(`div`,{className:`my-4 flex flex-col gap-3`,children:[e.filter(Nl).map(e=>(0,K.jsx)(be,{message:e,isLoading:t,localPath:n,chatId:a},e.id)),e.length>5&&(0,K.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,K.jsxs)(`div`,{className:`grid grid-cols-[auto_1fr] items-center gap-1.5`,children:[(0,K.jsx)(`div`,{className:`w-5 h-5 relative flex items-center justify-center`,children:(0,K.jsx)(Ie,{className:`h-4.5 w-4.5 text-muted-icon -rotate-90`})}),(0,K.jsx)(B,{className:`text-left`,children:`Collapse`})]})})]})]})})}function zl(e){if(e!==`system`)return e}function Bl(e,t){let n=zl(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 Vl=/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})$/;function Hl(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 Ul(e,t){let n=Vl.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=Hl(t,p),h=p-m*6e4;return h-(Hl(t,h)-m)*6e4}var Wl=ht(`AutoContinueCard`,({initialDraft:e})=>t=>({draft:e,editing:!1,setDraft:e=>t({draft:e}),setEditing:e=>t({editing:e})}));function Gl({schedule:e,onAccept:t,onReschedule:n,onCancel:r}){let i=Bl(e.scheduledAt??e.resetAt,e.tz);return(0,K.jsx)(Wl.Provider,{init:{initialDraft:i},children:(0,K.jsx)(Kl,{schedule:e,onAccept:t,onReschedule:n,onCancel:r})})}function Kl({schedule:e,onAccept:t,onReschedule:n,onCancel:r}){let i=Wl.useScopedStore(e=>e.draft),a=Wl.useScopedStore(e=>e.editing),o=Wl.useScopedStore(e=>e.setDraft),s=Wl.useScopedStore(e=>e.setEditing),c=(0,G.useMemo)(()=>Ul(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=Bl(e.scheduledAt??e.resetAt,e.tz);return(0,K.jsx)(H,{title:`Auto-continued at ${t}`,tone:`success`})}if(e.state===`cancelled`)return(0,K.jsx)(H,{title:`Auto-continue cancelled`,tone:`muted`});if(e.state===`proposed`){let n=e.resetAt<=Date.now();return(0,K.jsx)(H,{title:`Rate limit hit — schedule auto-continue?`,description:n?`Reset time has passed — accept to continue now.`:void 0,body:(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(gt,{value:i,onChange:e=>o(e.target.value),placeholder:`dd/mm/yyyy hh:mm`}),u&&(0,K.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=Bl(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,K.jsx)(H,{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,K.jsx)(H,{title:`Auto-continue at ${d} (${f})`,body:(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(gt,{value:i,onChange:e=>o(e.target.value),placeholder:`dd/mm/yyyy hh:mm`}),u&&(0,K.jsx)(`div`,{className:`text-destructive text-xs`,children:u})]}),actions:p})}function ql(e){let t={label:e.label};return e.description!==void 0&&(t.description=e.description),t}function Jl(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(ql)),t}function Yl(e,t){let n={};for(let[e,r]of Object.entries(t))n[e]=[...r];return{questions:e.map(Jl),answers:n}}var Xl={kind:`deny`,reason:`user_canceled`};function Zl(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,G.useCallback)(r=>{o||O(n,()=>t(e,r))},[o,n,t,e]),deny:(0,G.useCallback)(()=>{o||O(r,()=>t(e,Xl))},[o,r,t,e])}}function Ql({plan:e,responder:t}){return(0,K.jsxs)(`div`,{className:`rounded-2xl border border-border overflow-hidden`,children:[(0,K.jsxs)(`div`,{className:`font-medium text-sm p-3 px-4 bg-muted border-b border-border flex items-center justify-between`,children:[(0,K.jsx)(`span`,{children:`Plan`}),(0,K.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Reconnected — awaiting your response`})]}),(0,K.jsx)(`div`,{className:`bg-background px-4 py-3`,children:(0,K.jsx)(`p`,{className:`text-sm whitespace-pre-wrap`,children:e})}),(0,K.jsxs)(`div`,{className:`flex justify-end gap-2 px-4 py-3 bg-background border-t border-border`,children:[(0,K.jsx)(C,{size:`sm`,variant:`outline`,className:`rounded-full`,pending:t.denying,disabled:t.answering,onClick:t.deny,children:`Edit`}),(0,K.jsx)(C,{size:`sm`,className:`rounded-full`,pending:t.answering,disabled:t.denying,onClick:()=>t.answer({kind:`answer`,payload:{confirmed:!0}}),children:`Confirm`})]})]})}function $l({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,K.jsxs)(`div`,{className:`rounded-2xl border border-border bg-background px-4 py-3 text-sm`,children:[(0,K.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,K.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Pending tool:`}),(0,K.jsx)(`span`,{className:`font-mono text-foreground`,children:e})]}),a?(0,K.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,K.jsxs)(`div`,{className:`mt-3 flex items-center justify-end gap-2`,children:[(0,K.jsx)(C,{variant:`ghost`,size:`sm`,pending:n.denying,disabled:n.answering,onClick:n.deny,children:`Deny`}),(0,K.jsx)(C,{variant:`default`,size:`sm`,pending:n.answering,disabled:n.denying,onClick:()=>n.answer({kind:`allow`}),children:`Allow`})]})]})}function eu(e,t){let n=e[t];return typeof n==`string`?n:``}function tu(e,t){if(e===`mcp__kanna__beacon_script`)return eu(t,`body`);if(Dt(e)===`exec`){let e=vt(t.args)?t.args.filter(e=>typeof e==`string`):[];return[eu(t,`cmd`),...e].join(` `)}let n=eu(t,`path`)||eu(t,`root`),r=eu(t,`pattern`);return r?`${r} in ${n}`:n}function nu({toolName:e,args:t,responder:n}){let r=eu(t,`beaconId`),i=o(d(r)),a=tu(e,t),s=e.slice(Et.length);return(0,K.jsxs)(`div`,{className:`rounded-2xl border border-border bg-background px-4 py-3 text-sm`,children:[(0,K.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-1`,children:[(0,K.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Run on machine:`}),(0,K.jsx)(`span`,{className:`font-medium text-foreground`,children:i?.label??r}),i?(0,K.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-3 text-xs text-muted-foreground`,children:[(0,K.jsx)(`span`,{children:i.os}),(0,K.jsx)(Tt,{tone:i.online?`active`:`muted`,label:i.online?`Online`:`Offline`})]}):null]}),(0,K.jsxs)(`div`,{className:`mt-1 flex items-baseline gap-2`,children:[(0,K.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Action:`}),(0,K.jsx)(`span`,{className:`font-mono text-foreground`,children:s})]}),a?(0,K.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,K.jsxs)(`div`,{className:`mt-3 flex items-center justify-end gap-2`,children:[(0,K.jsx)(C,{variant:`ghost`,size:`sm`,pending:n.denying,disabled:n.answering,onClick:n.deny,children:`Deny`}),(0,K.jsx)(C,{variant:`default`,size:`sm`,pending:n.answering,disabled:n.denying,onClick:()=>n.answer({kind:`allow`}),children:`Allow`})]})]})}function ru({entry:e,onAnswer:t}){let{toolRequestId:n,toolName:r,arguments:i}=e,a=Zl(n,t);if(r===`mcp__kanna__ask_user_question`){let e=(vt(i.questions)?i.questions.filter(yt):[]).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:vt(e.options)?e.options.filter(yt).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,K.jsx)(Xc,{questions:e,onSubmit:t=>a.answer({kind:`answer`,payload:Yl(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,K.jsx)(Ql,{plan:e,responder:a})}return r.startsWith(`mcp__kanna__beacon_`)?(0,K.jsx)(nu,{toolName:r,args:i,responder:a}):(0,K.jsx)($l,{toolName:r,args:i,responder:a})}var iu=`mcp__kanna__delegate_subagent`;function au(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 ou(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 su=()=>{},cu=()=>Promise.resolve(),lu={onAskUserQuestionSubmit:su,onExitPlanModeConfirm:cu,onToolRequestAnswer:cu,onAutoContinueAccept:cu,onAutoContinueReschedule:cu,onAutoContinueCancel:cu,onRetryFailedTurn:void 0,onCronRemove:void 0,schedules:{},cronJobs:[],chatId:void 0,onToolGroupExpandedChange:su,subagentRuns:{},editorPreset:`cursor`,editorCommandTemplate:void 0,platform:`darwin`,queuedMessages:[],runtimeStatus:null,isDraining:!1,commandError:null,onStopDraining:cu,onSteerQueuedMessage:cu,onRemoveQueuedMessage:cu,localPath:void 0,latestToolIds:{},isProcessing:!1},uu=(0,G.createContext)(lu);function du(){return(0,G.useContext)(uu)}function fu({value:e,children:t}){return(0,K.jsx)(uu.Provider,{value:e,children:t})}var pu=new Set([`AskUserQuestion`,`ExitPlanMode`,`TodoWrite`,iu,Ot]),mu=new Set([`offer_download`,`image_generation`]);function hu(e){return e.kind===`tool`}function gu(e){return!hu(e)||mu.has(e.toolKind)?!1:!pu.has(e.toolName)}function _u(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 vu(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 _u(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 yu(e,t){let n=[],r=0;for(;r<e.length;){let i=e[r];if(t[r]?.shouldRender&&gu(i)){let a=[i],o=r;for(r+=1;r<e.length;){let n=e[r];if(!t[r]?.shouldRender){r+=1;continue}if(!gu(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 bu(e){return e.type===`single`?e.message.id:`tool-group:${e.messages[0]?.id??e.startIndex}`}function xu(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>e===t[n])}function Su(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 Cu(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>Su(e,t[n]))}function wu(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&&Cu(e.attachments,t.attachments);case`system_init`:return t.kind===`system_init`&&e.provider===t.provider&&e.model===t.model&&xu(e.tools,t.tools)&&xu(e.agents,t.agents)&&xu(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 Tu(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&&wu(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)=>wu(e,t.messages[n]))}function Eu(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&&Tu(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 Du(e){let t=(0,G.useRef)({byId:new Map,result:[]}),n=(0,G.useMemo)(()=>Eu(e,t.current),[e]);return(0,G.useLayoutEffect)(()=>{t.current=n}),n.result}var Ou=(e,t)=>Promise.resolve(),ku=(0,G.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=Ou,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,K.jsx)(nc,{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,K.jsx)(`div`,{className:`rounded border px-3 py-2 text-sm opacity-70`,children:`Auto-continue expired`},e.id);break}S=(0,K.jsx)(Gl,{schedule:t,onAccept:t=>g(e.scheduleId,t),onReschedule:t=>_(e.scheduleId,t),onCancel:()=>v(e.scheduleId)},e.id);break}case`unknown`:S=(0,K.jsx)(rc,{json:e.json},e.id);break;case`system_init`:S=i?(0,K.jsx)(yc,{message:e,rawJson:e.debugRaw},e.id):null;break;case`account_info`:S=a?(0,K.jsx)(wc,{message:e},e.id):null;break;case`assistant_text`:S=(0,K.jsx)(pe,{message:e},e.id);break;case`assistant_thinking`:S=(0,K.jsx)(he,{message:e},e.id);break;case`api_error`:S=(0,K.jsx)(Bc,{message:e},e.id);break;case`policy_refusal`:S=(0,K.jsx)(Uc,{message:e},e.id);break;case`tool`:if(e.isError){S=(0,K.jsx)(be,{message:e,isLoading:n,localPath:r,chatId:x},e.id);break}if(e.toolKind===`ask_user_question`){S=(0,K.jsx)(rl,{message:e,onSubmit:d,isLatest:o},e.id);break}if(e.toolKind===`exit_plan_mode`){S=(0,K.jsx)(cl,{message:e,onConfirm:f,isLatest:s},e.id);break}if(e.toolKind===`todo_write`){S=c?(0,K.jsx)(ul,{message:e},e.id):null;break}if(e.toolKind===`offer_download`&&e.result){S=(0,K.jsx)(pl,{message:e},e.id);break}if(e.toolKind===`preview_file`&&e.result){S=(0,K.jsx)(gl,{message:e},e.id);break}if(e.toolKind===`image_generation`){S=(0,K.jsx)(yl,{message:e},e.id);break}S=(0,K.jsx)(be,{message:e,isLoading:n,localPath:r,chatId:x},e.id);break;case`result`:S=l?null:(0,K.jsx)(ve,{message:e,onRetry:y},e.id);break;case`context_window_updated`:S=null;break;case`interrupted`:S=(0,K.jsx)(bl,{message:e},e.id);break;case`compact_boundary`:S=(0,K.jsx)(Dl,{},e.id);break;case`context_cleared`:S=(0,K.jsx)(Ol,{},e.id);break;case`memory_loaded`:S=(0,K.jsx)(kl,{message:e},e.id);break;case`compact_summary`:S=(0,K.jsx)(Al,{message:e},e.id);break;case`status`:S=u?(0,K.jsx)(Ml,{message:e},e.id):null;break;case`pending_tool_request`:S=(0,K.jsx)(ru,{entry:e,onAnswer:p},e.id);break;case`cron_armed`:S=(0,K.jsx)(Tc,{message:e,onRemove:b},e.id);break;case`cron_command_error`:S=(0,K.jsx)(Dc,{message:e},e.id);break;case`cron_run`:S=(0,K.jsx)(Te,{message:e,cronJobs:h},e.id);break;case`cron_run_skipped`:S=(0,K.jsx)(jc,{message:e},e.id);break;case`cron_list`:S=(0,K.jsx)(Ac,{message:e,cronJobs:h},e.id);break;case`cron_job_change`:S=(0,K.jsx)(kc,{message:e},e.id);break;case`loop_disarmed`:S=(0,K.jsx)(Sl,{message:e},e.id)}return S?(0,K.jsx)(`div`,{id:`msg-${e.id}`,className:`group relative`,"data-index":t,[rt]:``,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&&wu(e.message,t.message)),Au=(0,G.memo)(({id:e,messages:t,isLoading:n,localPath:r,expanded:i,onExpandedChange:a,chatId:o})=>(0,K.jsx)(`div`,{className:`group relative`,[rt]:``,children:(0,K.jsx)(Rl,{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)=>wu(e,t.messages[n])));function ju(e,{isLoading:t,localPath:n,latestToolIds:r}){let i=vu(e,r),a=yu(e,i),o=[];for(let e of a){if(e.type===`tool-group`){o.push({kind:`tool-group`,id:bu(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:bu(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 Mu=(0,G.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}=du();return e.kind===`tool-group`?(0,K.jsx)(Au,{id:e.id,startIndex:e.startIndex,messages:e.messages,isLoading:e.isLoading,localPath:e.localPath,expanded:t??!1,onExpandedChange:n,chatId:p}):(0,K.jsx)(ku,{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)=>wu(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&&wu(e.row.message,t.row.message)}),Nu={},Pu=[];function Fu(e){return e.kind===`single`&&e.message.kind===`tool`&&e.message.toolName===`mcp__kanna__delegate_subagent`?e.message.toolId:null}function Iu({row:e,gapClass:t,arriveIndex:n,toolGroupExpanded:r,runTree:i}){return(0,K.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,K.jsx)(Mu,{row:e,toolGroupExpanded:r}),i]})}var Lu=(0,G.memo)(Iu);function Ru(e){return e.kind===`tool`}var zu=[`AskUserQuestion`,`ExitPlanMode`,`TodoWrite`],Bu=new Set([`TodoWrite`]);function Vu(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(Ru(r)&&r.toolName===t&&!r.result)return r.id}return null}function Hu(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(Ru(r)&&r.toolName===t)return r.id}return null}function Uu(e){let t={};for(let n of zu)t[n]=Bu.has(n)?Hu(e,n):Vu(e,n);return t}function Wu(e,t){return e!==null&&e===t}function Gu(e){return e===`starting`||e===`running`||e===`waiting_for_user`}function Ku(e){return e===`starting`||e===`running`||e===`waiting_for_user`}var qu={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 Ju(e){return e.kind===`tool-group`?`tool`:qu[e.message.kind]??`card`}function Yu(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 Xu(e){return e===32}function Zu(e,t){return Yu(e?Ju(e):null,Ju(t))}var Qu={0:`pt-0`,4:`pt-1`,8:`pt-2`,12:`pt-3`,16:`pt-4`,24:`pt-6`,32:`pt-8`},$u=`relative before:absolute before:inset-x-0 before:top-4 before:h-px before:bg-border before:content-['']`;function ed(e){let t=new Map,n=null;for(let r of e){let e=Zu(n,r),i=Qu[e];t.set(r.id,Xu(e)?`${i} ${$u}`:i),n=r}return t}var td=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 nd(e){return t=>e===null?null:t.byChat[e]??null}var rd=new Set([`assistant_text`,`assistant_thinking`,`tool_call`,`result`]);function id(e){return rd.has(e)}function ad(e){return e.some(e=>e.kind===`entries.append`&&e.entries.some(e=>id(e.kind)))}function od(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 sd(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?od(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 cd={chatSnapshot:null,olderHistoryEntries:[],isHistoryLoading:!1,historyCursor:null,hasOlderHistory:!1,chatReady:!1,chatResyncNonce:0};function ld(e,t,n){let r=e.chats[t]??cd;return{chats:{...e.chats,[t]:{...r,...n}}}}function ud(e,t){return e.chats[t]??cd}var $=y()(e=>({chats:{},optimisticProcessing:{},setChatSnapshot:(t,n)=>e(e=>{let r=(e.chats[t]??cd).chatSnapshot;return ld(e,t,{chatSnapshot:typeof n==`function`?n(r):n})}),setOlderHistoryEntries:(t,n)=>e(e=>{let r=(e.chats[t]??cd).olderHistoryEntries;return ld(e,t,{olderHistoryEntries:typeof n==`function`?n(r):n})}),setIsHistoryLoading:(t,n)=>e(e=>ld(e,t,{isHistoryLoading:n})),setHistoryCursor:(t,n)=>e(e=>ld(e,t,{historyCursor:n})),setHasOlderHistory:(t,n)=>e(e=>ld(e,t,{hasOlderHistory:n})),adoptServerHistory:(t,n)=>e(e=>(e.chats[t]??cd).olderHistoryEntries.length>0?e:ld(e,t,{historyCursor:n.olderCursor,hasOlderHistory:n.hasOlder})),setChatReady:(t,n)=>e(e=>ld(e,t,{chatReady:n})),setChatResyncNonce:(t,n)=>e(e=>ld(e,t,{chatResyncNonce:n})),bumpChatResyncNonce:t=>e(e=>{let n=(e.chats[t]??cd).chatResyncNonce;return ld(e,t,{chatResyncNonce:n+1})}),applyChatOpsEvent:(t,n)=>{let r=`stale`;return e(e=>{let i=(e.chats[t]??cd).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`,ld(e,t,{chatSnapshot:sd(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 dd(e){return{openChat:t=>e(`/chat/${t}`),closeChat:()=>e(`/`),goHome:()=>e(`/`)}}var fd=(0,G.createContext)(null);function pd({children:e,ports:t={}}){let n=t.localStore??Re,a=t.sessStore??ze,o=t.dom??b,s=t.timer??We,c=t.clipboard??je,l=r(),u=(0,G.useMemo)(()=>dd(l),[l]),d=t.chatNavigator??u,f=Ee(),{chatId:p}=i(),h=p??null,g=$(e=>{if(!h)return null;let{chatSnapshot:t}=ud(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,K.jsx)(fd.Provider,{value:v,children:e})}function md(){let e=(0,G.useContext)(fd);if(e===null)throw Error(`useAppGlobalContext must be called inside an AppGlobalProvider`);return 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 t.length===0?e:e.map(e=>e.id===`openrouter`?{...e,models:t.map(e=>({id:e.id,label:e.label}))}:e)}function _d(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>e.id===t[n]?.id)}function vd(e,t){return e===t?!0:!e||!t?!1:e.hasOlder===t.hasOlder&&e.olderCursor===t.olderCursor&&e.recentLimit===t.recentLimit}function yd(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)&&bd(e.attachments,t.attachments)}function bd(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 xd(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>yd(e,t[n]))}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.state===i.state&&r.scheduledAt===i.scheduledAt&&r.resetAt===i.resetAt&&r.detectedAt===i.detectedAt&&r.tz===i.tz})}function Cd(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 wd(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 Td(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 Ed(e,t){return e===t?!0:!e||!t?!1:f(e.runtime,t.runtime)&&xd(e.queuedMessages,t.queuedMessages)&&hd(e.messages,t.messages)&&vd(e.history,t.history)&&_d(e.availableProviders,t.availableProviders)&&Sd(e.schedules,t.schedules)&&e.liveScheduleId===t.liveScheduleId&&Cd(e.tunnels,t.tunnels)&&e.liveTunnelId===t.liveTunnelId&&wd(e.subagentRuns,t.subagentRuns)&&Td(e.loopProgress,t.loopProgress)}function Dd(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 Od(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 kd=`__new_chat__`;function Ad(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 jd(e,t=[]){return JSON.stringify({content:e,attachments:t.map(Ad)})}function Md(e,t){return e.reduce((e,n)=>n.kind===`user_prompt`?e+ +(jd(n.content,n.attachments??[])===t):e,0)}function Nd(e,t,n){let r=new Map;for(let e of n){if(e.kind!==`user_prompt`)continue;let t=jd(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 Pd(e,t,n){return!n.queued||!e.some(e=>e.id===t)?e:e.filter(e=>e.id!==t)}var Fd=200,Id=500;function Ld(e){let t=e??b;return t.getVisibilityState()===`visible`&&t.hasFocus()}var Rd=new Map;function zd(e){let t=e.lastIndexOf(`:`);return t===-1?e:e.slice(0,t)}function Bd(e){for(let t of Rd.keys())if(zd(t)===e)return!0;return!1}function Vd(e,t){let n=Rd.get(e);n?n.count+=1:Rd.set(e,{count:1,unsubscribe:t()});let r=!1;return()=>{if(r)return;r=!0;let t=Rd.get(e);if(!t||(--t.count,t.count>0))return;Rd.delete(e),t.unsubscribe();let n=zd(e);queueMicrotask(()=>{Bd(n)||$.getState().releaseChat(n)})}}var Hd=`kanna:profile-send-to-starting`;function Ud(e,t){try{return e.getItem(Hd)===`1`||t.getItem(Hd)===`1`}catch{return!1}}function Wd(e){return Number((performance.now()-e).toFixed(1))}function Gd(e,t,n,r=ze,i=Re){e&&Ud(r,i)&&S.debug(`[kanna/send->starting][client]`,{traceId:e.traceId,stage:t,elapsedMs:Wd(e.startedAt),serverChatId:e.serverChatId,routeChatIdAtSend:e.routeChatIdAtSend,...n})}function Kd(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 qd(e){return e+30}function Jd(e,t){return t>0?t:e}function Yd(e,t){return!e||!t?null:e.runtime.chatId===t?e:(e.runtime.chatId,e.runtime.provider,null)}function Xd(e,t={}){let n=t.localStore??Re,r=t.sessStore??ze,i=t.dom??b,a=t.timer??We,o=md(),s=o.socket,d=e??kd,f=$(t=>ud(t,e??``).chatSnapshot),m=$(t=>ud(t,e??``).chatResyncNonce),h=$(t=>ud(t,e??``).olderHistoryEntries),y=$(t=>ud(t,e??``).isHistoryLoading),x=$(t=>ud(t,e??``).historyCursor),S=$(t=>ud(t,e??``).hasOlderHistory),C=$(t=>ud(t,e??``).chatReady),w=U(e=>e.diffSnapshotsByKey),T=U(e=>e.selectedProjectId),E=U(e=>e.pendingChatId),O=U(e=>e.optimisticUserPrompts),k=$(e=>e.optimisticProcessing[d]??null),A=U(e=>e.focusEpoch),j=(0,G.useRef)(new Map),M=g(xt(e=>Object.keys(e.drafts).sort())),N=g(xt(e=>Object.keys(e.attachmentDrafts).sort())),P=(0,G.useRef)(0),ee=(0,G.useRef)(null),F=(0,G.useRef)({key:null,diffs:null}),I=u(_t(e=>e.settings?.editor.preset??`cursor`)),L=(0,G.useMemo)(()=>Yd(f,e),[e,f]),R=L?.runtime??null,{connectionStatus:z}=o,B=o.sidebarData.projectGroups,V=(0,G.useRef)(B);(0,G.useLayoutEffect)(()=>{V.current=B});let te=(0,G.useMemo)(()=>L?.runtime.projectId??v(B,e)??T,[e,L?.runtime.projectId,T,B]),ne=(0,G.useMemo)(()=>{let t=te?Ve(te,e):null,n=t?w[t]??(te?w[te]??null:null):null;return t&&n?(F.current={key:t,diffs:n},n):t&&F.current.key===t?F.current.diffs:n},[e,te,w]),re=L?.queuedMessages??[],ie=(k!==null&&(!R||R.status===`idle`)?`starting`:null)??R?.status??null,ae=L?.availableProviders??p,oe=l(xt(e=>e.models)),se=(0,G.useMemo)(()=>gd(ae,oe),[ae,oe]),ce=Ku(ie??void 0),le=Gu(ie??void 0),ue=R?.isDraining??!1,de=o.localProjects?.projects[0]?.localPath??null,fe=R?.localPath??de??B[0]?.localPath,pe=!!(T??R?.projectId??B[0]?.groupKey??de);(0,G.useEffect)(()=>{if(z!==`connected`)return;let e=[...new Set([...M,...N])].sort();s.command({type:`chat.setDraftProtection`,chatIds:e}).catch(e=>{U.getState().setCommandError(e instanceof Error?e.message:String(e))})},[N,z,M,s]),(0,G.useEffect)(()=>{if(e)return++P.current,Vd(`${e}:${m}`,()=>{V.current.length,V.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:Fd},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(),Gd(e,`chat_snapshot_received`,{status:t.runtime.status,messageCount:t.messages.length},r,n))}$.getState().setChatSnapshot(e,e=>{let n=Ed(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),U.getState().setCommandError(null)},t=>{if(t.type===`chat.live`){t.chatId===e&&td.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)):ad(t.ops)&&td.getState().setLiveBlock(e,null))});return()=>{V.current.length,V.current.reduce((e,t)=>e+t.chats.length,0),t(),td.getState().setLiveBlock(e,null)}})},[e,n,r,s,m]),(0,G.useEffect)(()=>{if(e)return s.subscribe({type:`workflows`,chatId:e},e=>{ye.getState().setRuns(e.chatId,e.runs)})},[e,s]),(0,G.useEffect)(()=>{if(e&&Wu(e,o.routeChatId)&&o.sidebarReady&&C){if(B.some(t=>t.chats.some(t=>t.chatId===e))){E===e&&U.getState().setPendingChatId(null);return}E!==e&&o.chatNavigator.closeChat()}},[e,o.chatNavigator,o.routeChatId,o.sidebarReady,C,E,B]),(0,G.useEffect)(()=>{f&&Wu(f.runtime.chatId,o.routeChatId)&&(U.getState().setSelectedProjectId(f.runtime.projectId),E===f.runtime.chatId&&U.getState().setPendingChatId(null))},[e,o.routeChatId,f,E]),(0,G.useEffect)(()=>{e&&o.sidebarReady&&Wu(e,o.routeChatId)&&Ld(i)&&B.flatMap(e=>e.chats).find(t=>t.chatId===e)?.unread&&s.command({type:`chat.markRead`,chatId:e}).catch(e=>{U.getState().setCommandError(e instanceof Error?e.message:String(e))})},[e,o.routeChatId,o.sidebarReady,i,A,B,s]),(0,G.useEffect)(()=>{f?.runtime.chatId,f?.runtime.provider,L?.runtime.chatId,L?.runtime.provider},[e,L,f,E]);let me=(0,G.useMemo)(()=>Dd(h,L?.messages??[]),[L?.messages,h]),H=(0,G.useMemo)(()=>O.filter(e=>e.scopeId===d).map(e=>e.entry),[d,O]),he=(0,G.useMemo)(()=>[...me,...H],[H,me]),ge=(0,G.useMemo)(()=>xe(he),[he]),_e=(0,G.useMemo)(()=>Od(ge),[ge]),ve=(0,G.useMemo)(()=>Uu(ge),[ge]);(0,G.useEffect)(()=>{k&&R?.status&&R.status!==`idle`&&$.getState().setOptimisticProcessing(d,null)},[k,d,R?.status]),(0,G.useEffect)(()=>{if(!k?.ackedAt||R?.status&&R.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,R?.status,a]),(0,G.useEffect)(()=>{if(!e||R?.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(),Gd(t,`runtime_status_starting`,{status:R.status},r,n))},[e,n,R?.status,r]),(0,G.useEffect)(()=>{if(!e||!R||R.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&&(Gd(t,`starting_not_observed`,{status:R.status},r,n),j.current.delete(t.traceId))},[e,n,R,r]),(0,G.useLayoutEffect)(()=>{if(!e||R?.status!==`starting`){ee.current=null;return}let t=[...j.current.values()].filter(t=>t.serverChatId===e).sort((e,t)=>t.startedAt-e.startedAt)[0];t&&ee.current!==t.traceId&&(ee.current=t.traceId,t.startingRenderedAt=performance.now(),Gd(t,`starting_render_committed`,{totalMs:Wd(t.startedAt)},r,n),j.current.delete(t.traceId))},[e,n,R?.status,r]),(0,G.useEffect)(()=>{U.getState().setOptimisticUserPrompts(e=>{let t=Nd(e,d,me);return t.length===e.length&&t.every((t,n)=>t===e[n])?e:t})},[d,me]);let be=(0,G.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:Id}),n=$.getState();n.setOlderHistoryEntries(e,e=>Dd(t.messages,e)),n.setHistoryCursor(e,t.olderCursor),n.setHasOlderHistory(e,t.hasOlder),U.getState().setCommandError(null)}catch(e){let t=e instanceof Error?e.message:String(e);U.getState().setCommandError(t)}finally{$.getState().setIsHistoryLoading(e,!1)}}},[e,S,x,y,s]),Se=(0,G.useCallback)(async(t,i)=>{let a=i?.attachments??[],l=D(),u=D(),f=jd(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),Gd(p,`handle_send_called`,{optimisticScopeId:d,attachments:a.length,contentLength:t.length,contentPreview:p.contentPreview},r,n);let m=Md(me,f)+O.filter(e=>e.scopeId===d&&e.signature===f).length+1;U.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()}}]),Gd(p,`optimistic_prompt_added`,{optimisticId:l,optimisticScopeId:d},r,n);try{let f=T??B[0]?.groupKey??null;if(!e&&!f&&de&&(f=(await s.command({type:`project.open`,localPath:de})).projectId,U.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?(U.getState().setOptimisticUserPrompts(e=>Pd(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()}),Gd(p,`chat_send_ack_received`,{resultChatId:h.chatId??null,queued:h.queued??!1},r,n),!e&&h.chatId){U.getState().setOptimisticUserPrompts(e=>e.map(e=>e.id===l?{...e,scopeId:h.chatId}:e));let e=c.getState();e.setComposerState(h.chatId,Kd(i)??e.getComposerState(`__new__`)),U.getState().setPendingChatId(h.chatId),o.chatNavigator.openChat(h.chatId)}U.getState().setCommandError(null)}catch(e){throw U.getState().setOptimisticUserPrompts(e=>e.filter(e=>e.id!==l)),$.getState().setOptimisticProcessing(d,null),Gd(p,`handle_send_failed`,{error:e instanceof Error?e.message:String(e)},r,n),j.current.delete(u),U.getState().setCommandError(e instanceof Error?e.message:String(e)),e}},[e,o.chatNavigator,de,n,d,O,T,me,r,B,s]),Ce=(0,G.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()}),U.getState().setCommandError(null)}catch(t){$.getState().setOptimisticProcessing(e,null),U.getState().setCommandError(t instanceof Error?t.message:String(t))}}},[e,s]),we=(0,G.useCallback)(async t=>{if(e)try{await s.command({type:`message.dequeue`,chatId:e,queuedMessageId:t}),U.getState().setCommandError(null)}catch(e){U.getState().setCommandError(e instanceof Error?e.message:String(e))}},[e,s]),Te=(0,G.useCallback)(async()=>{if(e)try{await s.command({type:`chat.cancel`,chatId:e})}catch(e){U.getState().setCommandError(e instanceof Error?e.message:String(e))}},[e,s]),Ee=(0,G.useCallback)(async()=>{if(e)try{await s.command({type:`chat.stopDraining`,chatId:e})}catch(e){U.getState().setCommandError(e instanceof Error?e.message:String(e))}},[e,s]),De=(0,G.useCallback)(async(t,n,r)=>{if(e)try{await s.command({type:`chat.respondTool`,chatId:e,toolUseId:t,result:Yl(n,r)})}catch(e){throw U.getState().setCommandError(e instanceof Error?e.message:String(e)),e}},[e,s]),Oe=(0,G.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){U.getState().setCommandError(e instanceof Error?e.message:String(e))}}},[e,s]),ke=(0,G.useCallback)(async(t,n,r,i)=>{if(e)try{await s.command({type:`chat.respondSubagentTool`,chatId:e,runId:t,toolUseId:n,result:Yl(r,i)})}catch(e){U.getState().setCommandError(e instanceof Error?e.message:String(e))}},[e,s]),Ae=(0,G.useCallback)(async(t,n,r)=>{if(e)try{await s.command({type:`chat.respondSubagentTool`,chatId:e,runId:t,toolUseId:n,result:r})}catch(e){U.getState().setCommandError(e instanceof Error?e.message:String(e))}},[e,s]),je=(0,G.useCallback)(async(t,n)=>{if(e)try{await s.command({type:`chat.toolRequestAnswer`,chatId:e,toolRequestId:t,decision:n})}catch(e){U.getState().setCommandError(e instanceof Error?e.message:String(e))}},[e,s]);return{...o,activeChatId:e,activeProjectId:te,chatSnapshot:f,chatDiffSnapshot:ne,messages:ge,queuedMessages:re,previousPrompt:_e,latestToolIds:ve,runtime:R,runtimeStatus:ie,isHistoryLoading:y,hasOlderHistory:S,availableProviders:se,isProcessing:ce,canCancel:le,isDraining:ue,navbarLocalPath:fe,editorLabel:I,hasSelectedProject:pe,loadOlderHistory:be,handleSend:Se,handleSteerQueuedMessage:Ce,handleRemoveQueuedMessage:we,handleCancel:Te,handleStopDraining:Ee,handleAskUserQuestion:De,handleExitPlanMode:Oe,handleSubagentAskUserQuestion:ke,handleSubagentExitPlanMode:Ae,handleToolRequestAnswer:je}}export{$i as $,Ks as A,Mt as At,po as B,ol as C,mn as Ct,Bs as D,Jt as Dt,Js as E,Qt as Et,Es as F,Ia as G,vo as H,ws as I,ys as J,Oa as K,Ts as L,Is as M,Ls as N,Us as O,Wt as Ot,Os as P,na as Q,hs as R,cl as S,pn as St,Zs as T,nn as Tt,Co as U,xo as V,wa as W,ga as X,Cs as Y,_a as Z,fu as _,Sn as _t,md as a,ki as at,ou as b,gn as bt,ed as c,jn as ct,Fu as d,Nn as dt,Mi as et,Pu as f,kn as ft,lu as g,Cn as gt,Du as h,wn as ht,pd as i,Oi as it,Gs as j,qs as k,Ht as kt,Uu as l,Mn as lt,ju as m,Dn as mt,qd as n,Ji as nt,nd as o,Ai as ot,Nu as p,On as pt,bs as q,Xd as r,Ei as rt,td as s,Di as st,Jd as t,Bi as tt,Lu as u,An as ut,du as v,xn as vt,rl as w,ln as wt,Bl as x,hn as xt,au as y,fn as yt,Q as z};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-DiVRNtpo.js";import{t as n}from"./jsx-runtime-BdxMnOeJ.js";import{c as r,d as i}from"./log-OCZfBFFe.js";var a=e(t(),1),o=1e3,s=5e3;function c(e){return Number.isFinite(e)?Math.min(s,Math.max(500,Math.round(e))):o}function l(e,t){return{...e,...t,terminal:{...e.terminal,...t.terminal},panes:{...e.panes,...t.panes},editor:{...e.editor,...t.editor},typography:{...e.typography,...t.typography},providerDefaults:{claude:{...e.providerDefaults.claude,...t.providerDefaults?.claude,modelOptions:{...e.providerDefaults.claude.modelOptions,...t.providerDefaults?.claude?.modelOptions}},codex:{...e.providerDefaults.codex,...t.providerDefaults?.codex,modelOptions:{...e.providerDefaults.codex.modelOptions,...t.providerDefaults?.codex?.modelOptions}},openrouter:{...e.providerDefaults.openrouter,...t.providerDefaults?.openrouter,modelOptions:{}}},cloudflareTunnel:{...e.cloudflareTunnel,...t.cloudflareTunnel},push:{...e.push,...t.push},telemetry:{...e.telemetry,...t.telemetry},claudeAuth:{tokens:t.claudeAuth?.tokens??e.claudeAuth.tokens,concurrencyDefault:t.claudeAuth?.concurrencyDefault??e.claudeAuth.concurrencyDefault},auth:{...e.auth,...t.auth},uploads:{...e.uploads,...t.uploads},subagents:e.subagents,customMcpServers:e.customMcpServers,customBeacons:e.customBeacons,customModels:e.customModels,textSnippets:e.textSnippets,plugins:{...e.plugins,...t.plugins},installedPlugins:e.installedPlugins,claudeDriver:{lifecycle:{...e.claudeDriver.lifecycle,...t.claudeDriver?.lifecycle}},globalPromptAppend:t.globalPromptAppend??e.globalPromptAppend,subagentRuntime:{runTimeoutMs:t.subagentRuntime?.runTimeoutMs??e.subagentRuntime.runTimeoutMs,defaultLoopSubagentId:t.subagentRuntime?.defaultLoopSubagentId===void 0?e.subagentRuntime.defaultLoopSubagentId:t.subagentRuntime.defaultLoopSubagentId},packageUpdates:{...e.packageUpdates,...t.packageUpdates}}}var u=r()(e=>({settings:null,hydrationStatus:`idle`,setHydrationStatus:t=>e({hydrationStatus:t}),setFromServer:t=>e({settings:t,hydrationStatus:`ready`}),applyOptimisticPatch:t=>e(e=>({settings:e.settings?l(e.settings,t):e.settings}))})),d=[],f=e=>e.settings?.customMcpServers??d,p=[],m=e=>e.settings?.customBeacons??p,h=[],g=e=>e.settings?.customModels??h,_=[],v=e=>e.settings?.textSnippets??_,y=[],b=e=>e.settings?.plugins.enabled??!1,x=e=>e.settings?.installedPlugins??y,S=450,C=`cursor`;function w(e){return e===`vscode`?`code {path}`:e===`xcode`?`xed {path}`:e===`windsurf`?`windsurf {path}`:`cursor {path}`}var T=e=>e.settings?.terminal.scrollbackLines??1e3,E=e=>e.settings?.terminal.minColumnWidth??S,D=e=>e.settings?.editor.preset??C,O=e=>{let t=e.settings?.editor.preset??C,n=(e.settings?.editor.commandTemplate)?.trim();return n&&n.length>0?n:w(t)},k=e=>e.settings?.chatSoundPreference??`always`,A=e=>e.settings?.chatSoundId??`funk`;function j(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function M(e){return Array.isArray(e)}function N(e){try{return JSON.parse(e)}catch{return null}}var P=`kanna-ui-intent`,F=/^[ \t]*(`{3,})[ \t]*kanna-ui[ \t]*$/i,I=/^[ \t]*(`{3,})[ \t]*kanna-ui-intent[ \t]*$/i;function L(e,t){let n=Math.max(2,...[...t.matchAll(/`+/g)].map(e=>e[0].length)),r="`".repeat(n+1);return`${r}${e}\n${t}\n${r}`}var R=e(n(),1),z=(0,a.createContext)(void 0),B=e=>e===`light`||e===`dark`||e===`system`;function V(e){return e===`dark`?`black-translucent`:`default`}function H(e,t,n){n.upsertHeadMeta(e,t)}function U(e,t=i){let n=t.getComputedBackgroundColor();n&&H(`theme-color`,n,t),H(`apple-mobile-web-app-status-bar-style`,V(e),t),t.setDocumentElementColorScheme(e)}var W=(e=i)=>e.matchesMediaQuery(`(prefers-color-scheme: dark)`)?`dark`:`light`,G=(e,t=i)=>{let n=e===`system`?W(t):e;t.toggleDocumentElementClass(`dark`,n===`dark`)},K=()=>{let e=u.getState().settings?.theme;return e&&B(e)?e:`system`};function q({children:e,dom:t=i}){let n=u(e=>e.settings?.theme),r=u(e=>e.applyOptimisticPatch),[o,s]=(0,a.useState)(K);(0,a.useEffect)(()=>{n&&n!==o&&s(n)},[n,o]),(0,a.useEffect)(()=>{G(o,t)},[o,t]),(0,a.useEffect)(()=>{U(o===`system`?W(t):o,t)},[o,t]),(0,a.useEffect)(()=>{if(o===`system`)return t.addMediaQueryListener(`(prefers-color-scheme: dark)`,()=>{G(`system`,t),U(W(t),t)})},[o,t]);let c=(0,a.useMemo)(()=>{let e=o===`system`?W(t):o;return{theme:o,resolvedTheme:e,setTheme:e=>{s(e),r({theme:e})}}},[r,o,t]);return(0,R.jsx)(z.Provider,{value:c,children:e})}function J(){return(0,a.useContext)(z)?.resolvedTheme??null}function Y(){let e=(0,a.useContext)(z);if(!e)throw Error(`useTheme must be used within ThemeProvider`);return e}export{u as C,c as E,v as S,s as T,D as _,P as a,b,M as c,A as d,k as f,O as g,g as h,F as i,j as l,f as m,J as n,I as o,m as p,Y as r,L as s,q as t,N as u,x as v,o as w,T as x,E as y};
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-DiVRNtpo.js";import{t as n}from"./jsx-runtime-BdxMnOeJ.js";import{c as r,d as i}from"./log-Ch_SNBXH.js";var a=e(t(),1),o=1e3,s=5e3;function c(e){return Number.isFinite(e)?Math.min(s,Math.max(500,Math.round(e))):o}function l(e,t){return{...e,...t,terminal:{...e.terminal,...t.terminal},panes:{...e.panes,...t.panes},editor:{...e.editor,...t.editor},typography:{...e.typography,...t.typography},providerDefaults:{claude:{...e.providerDefaults.claude,...t.providerDefaults?.claude,modelOptions:{...e.providerDefaults.claude.modelOptions,...t.providerDefaults?.claude?.modelOptions}},codex:{...e.providerDefaults.codex,...t.providerDefaults?.codex,modelOptions:{...e.providerDefaults.codex.modelOptions,...t.providerDefaults?.codex?.modelOptions}},openrouter:{...e.providerDefaults.openrouter,...t.providerDefaults?.openrouter,modelOptions:{}}},cloudflareTunnel:{...e.cloudflareTunnel,...t.cloudflareTunnel},push:{...e.push,...t.push},telemetry:{...e.telemetry,...t.telemetry},claudeAuth:{tokens:t.claudeAuth?.tokens??e.claudeAuth.tokens,concurrencyDefault:t.claudeAuth?.concurrencyDefault??e.claudeAuth.concurrencyDefault},auth:{...e.auth,...t.auth},uploads:{...e.uploads,...t.uploads},subagents:e.subagents,customMcpServers:e.customMcpServers,customBeacons:e.customBeacons,customModels:e.customModels,textSnippets:e.textSnippets,plugins:{...e.plugins,...t.plugins},installedPlugins:e.installedPlugins,claudeDriver:{lifecycle:{...e.claudeDriver.lifecycle,...t.claudeDriver?.lifecycle}},globalPromptAppend:t.globalPromptAppend??e.globalPromptAppend,subagentRuntime:{runTimeoutMs:t.subagentRuntime?.runTimeoutMs??e.subagentRuntime.runTimeoutMs,defaultLoopSubagentId:t.subagentRuntime?.defaultLoopSubagentId===void 0?e.subagentRuntime.defaultLoopSubagentId:t.subagentRuntime.defaultLoopSubagentId},packageUpdates:{...e.packageUpdates,...t.packageUpdates}}}var u=r()(e=>({settings:null,hydrationStatus:`idle`,setHydrationStatus:t=>e({hydrationStatus:t}),setFromServer:t=>e({settings:t,hydrationStatus:`ready`}),applyOptimisticPatch:t=>e(e=>({settings:e.settings?l(e.settings,t):e.settings}))})),d=[],f=e=>e.settings?.customMcpServers??d,p=[],m=e=>e.settings?.customBeacons??p,h=[],g=e=>e.settings?.customModels??h,_=[],v=e=>e.settings?.textSnippets??_,y=[],b=e=>e.settings?.plugins.enabled??!1,x=e=>e.settings?.installedPlugins??y,S=450,C=`cursor`;function w(e){return e===`vscode`?`code {path}`:e===`xcode`?`xed {path}`:e===`windsurf`?`windsurf {path}`:`cursor {path}`}var T=e=>e.settings?.terminal.scrollbackLines??1e3,E=e=>e.settings?.terminal.minColumnWidth??S,D=e=>e.settings?.editor.preset??C,O=e=>{let t=e.settings?.editor.preset??C,n=(e.settings?.editor.commandTemplate)?.trim();return n&&n.length>0?n:w(t)},k=e=>e.settings?.chatSoundPreference??`always`,A=e=>e.settings?.chatSoundId??`funk`;function j(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function M(e){return Array.isArray(e)}function N(e){try{return JSON.parse(e)}catch{return null}}var P=`kanna-ui-intent`,F=/^[ \t]*(`{3,})[ \t]*kanna-ui[ \t]*$/i,I=/^[ \t]*(`{3,})[ \t]*kanna-ui-intent[ \t]*$/i;function L(e,t){let n=Math.max(2,...[...t.matchAll(/`+/g)].map(e=>e[0].length)),r="`".repeat(n+1);return`${r}${e}\n${t}\n${r}`}var R=e(n(),1),z=(0,a.createContext)(void 0),B=e=>e===`light`||e===`dark`||e===`system`;function V(e){return e===`dark`?`black-translucent`:`default`}function H(e,t,n){n.upsertHeadMeta(e,t)}function U(e,t=i){let n=t.getComputedBackgroundColor();n&&H(`theme-color`,n,t),H(`apple-mobile-web-app-status-bar-style`,V(e),t),t.setDocumentElementColorScheme(e)}var W=(e=i)=>e.matchesMediaQuery(`(prefers-color-scheme: dark)`)?`dark`:`light`,G=(e,t=i)=>{let n=e===`system`?W(t):e;t.toggleDocumentElementClass(`dark`,n===`dark`)},K=()=>{let e=u.getState().settings?.theme;return e&&B(e)?e:`system`};function q({children:e,dom:t=i}){let n=u(e=>e.settings?.theme),r=u(e=>e.applyOptimisticPatch),[o,s]=(0,a.useState)(K);(0,a.useEffect)(()=>{n&&n!==o&&s(n)},[n,o]),(0,a.useEffect)(()=>{G(o,t)},[o,t]),(0,a.useEffect)(()=>{U(o===`system`?W(t):o,t)},[o,t]),(0,a.useEffect)(()=>{if(o===`system`)return t.addMediaQueryListener(`(prefers-color-scheme: dark)`,()=>{G(`system`,t),U(W(t),t)})},[o,t]);let c=(0,a.useMemo)(()=>{let e=o===`system`?W(t):o;return{theme:o,resolvedTheme:e,setTheme:e=>{s(e),r({theme:e})}}},[r,o,t]);return(0,R.jsx)(z.Provider,{value:c,children:e})}function J(){return(0,a.useContext)(z)?.resolvedTheme??null}function Y(){let e=(0,a.useContext)(z);if(!e)throw Error(`useTheme must be used within ThemeProvider`);return e}export{u as C,c as E,v as S,s as T,D as _,P as a,b,M as c,A as d,k as f,O as g,g as h,F as i,j as l,f as m,J as n,I as o,m as p,Y as r,L as s,q as t,N as u,x as v,o as w,T as x,E as y};
@@ -1,4 +1,12 @@
1
- <svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect width="512" height="512" fill="white"/>
3
- <image href="/favicon.png" x="64" y="64" width="384" height="384" preserveAspectRatio="xMidYMid meet"/>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="96" height="96" viewBox="0 0 24 24" fill="none" stroke="#ff637e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" role="img" aria-label="Kanna">
2
+ <circle cx="12" cy="12" r="3"/>
3
+ <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"/>
4
+ <path d="M12 7.5V9"/>
5
+ <path d="M7.5 12H9"/>
6
+ <path d="M16.5 12H15"/>
7
+ <path d="M12 16.5V15"/>
8
+ <path d="m8 8 1.88 1.88"/>
9
+ <path d="M14.12 9.88 16 8"/>
10
+ <path d="m8 16 1.88-1.88"/>
11
+ <path d="M14.12 14.12 16 16"/>
4
12
  </svg>
@@ -8,6 +8,7 @@
8
8
  <meta name="apple-mobile-web-app-status-bar-style" content="default" />
9
9
  <meta name="apple-mobile-web-app-title" content="Kanna" />
10
10
  <link rel="manifest" href="/manifest.webmanifest" />
11
+ <link rel="icon" type="image/svg+xml" href="/icon.svg" />
11
12
  <link rel="icon" type="image/png" sizes="96x96" href="/favicon.png" />
12
13
  <link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png" />
13
14
  <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
@@ -37,7 +38,7 @@
37
38
  })()
38
39
  </script>
39
40
  <title>Kanna</title>
40
- <script type="module" crossorigin src="/assets/index-DfVAvdFs.js"></script>
41
+ <script type="module" crossorigin src="/assets/index-D9OYZjb7.js"></script>
41
42
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-C0FnF6B9.js">
42
43
  <link rel="modulepreload" crossorigin href="/assets/react-DiVRNtpo.js">
43
44
  <link rel="modulepreload" crossorigin href="/assets/react-dom-CvX0TCLz.js">
@@ -45,41 +46,41 @@
45
46
  <link rel="modulepreload" crossorigin href="/assets/chunk-OB3PAWPO-mARpRU1A.js">
46
47
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-BdxMnOeJ.js">
47
48
  <link rel="modulepreload" crossorigin href="/assets/useQuery-Cqr8_M0q.js">
48
- <link rel="modulepreload" crossorigin href="/assets/log-OCZfBFFe.js">
49
- <link rel="modulepreload" crossorigin href="/assets/pendingActionsStore-2ldF8rQh.js">
50
- <link rel="modulepreload" crossorigin href="/assets/clipboard.adapter-BvGCjfPV.js">
49
+ <link rel="modulepreload" crossorigin href="/assets/log-Ch_SNBXH.js">
50
+ <link rel="modulepreload" crossorigin href="/assets/pendingActionsStore-CWNaCyjS.js">
51
+ <link rel="modulepreload" crossorigin href="/assets/clipboard.adapter-CIRv1YNb.js">
51
52
  <link rel="modulepreload" crossorigin href="/assets/chatFocusPolicy-DYR_9DV3.js">
52
- <link rel="modulepreload" crossorigin href="/assets/timer.adapter-LKIP589r.js">
53
- <link rel="modulepreload" crossorigin href="/assets/createScopedStore-D5Oag_wd.js">
54
- <link rel="modulepreload" crossorigin href="/assets/useTheme-B-LhXBrA.js">
55
- <link rel="modulepreload" crossorigin href="/assets/runDetached-C-0G41cV.js">
56
- <link rel="modulepreload" crossorigin href="/assets/lexicalToReact-w1LjYOTM.js">
53
+ <link rel="modulepreload" crossorigin href="/assets/timer.adapter-BDh0KX9G.js">
54
+ <link rel="modulepreload" crossorigin href="/assets/createScopedStore-or82_bxr.js">
55
+ <link rel="modulepreload" crossorigin href="/assets/useTheme-B6cYOPpe.js">
56
+ <link rel="modulepreload" crossorigin href="/assets/runDetached-CQOu05LK.js">
57
+ <link rel="modulepreload" crossorigin href="/assets/lexicalToReact-ClgTGbzM.js">
57
58
  <link rel="modulepreload" crossorigin href="/assets/dist-Bd4iXDMM.js">
58
- <link rel="modulepreload" crossorigin href="/assets/segmented-control-B2_6WsRn.js">
59
- <link rel="modulepreload" crossorigin href="/assets/pushClient-BOEoH4vb.js">
60
- <link rel="modulepreload" crossorigin href="/assets/input-Pqq9209u.js">
61
- <link rel="modulepreload" crossorigin href="/assets/state-mark-BAeEZoKQ.js">
62
- <link rel="modulepreload" crossorigin href="/assets/status-pill-bp46I9cx.js">
59
+ <link rel="modulepreload" crossorigin href="/assets/segmented-control-DYmNRyQy.js">
60
+ <link rel="modulepreload" crossorigin href="/assets/pushClient-DbwI0iz1.js">
61
+ <link rel="modulepreload" crossorigin href="/assets/input-BaAZ4OHy.js">
62
+ <link rel="modulepreload" crossorigin href="/assets/state-mark-DxzVQsVa.js">
63
+ <link rel="modulepreload" crossorigin href="/assets/status-pill-BFLy7eN9.js">
63
64
  <link rel="modulepreload" crossorigin href="/assets/formatters-BGORekd-.js">
64
- <link rel="modulepreload" crossorigin href="/assets/useAppGlobalState-DXhTq0lh.js">
65
- <link rel="modulepreload" crossorigin href="/assets/terminal-DjwzMh1O.js">
66
- <link rel="modulepreload" crossorigin href="/assets/triangle-alert-whYeOlEg.js">
67
- <link rel="modulepreload" crossorigin href="/assets/formatDuration-B6E9KTDu.js">
68
- <link rel="modulepreload" crossorigin href="/assets/plus-WDHArJ5z.js">
69
- <link rel="modulepreload" crossorigin href="/assets/FilePreviewSheet-Dz2nMmpT.js">
70
- <link rel="modulepreload" crossorigin href="/assets/tools-wno-tGL1.js">
71
- <link rel="modulepreload" crossorigin href="/assets/ToolCallMessage-BU_kRKSX.js">
72
- <link rel="modulepreload" crossorigin href="/assets/KannaSocketProvider-CjyunR2e.js">
73
- <link rel="modulepreload" crossorigin href="/assets/dist-u3-1WIv4.js">
74
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-skoFcSB-.js">
75
- <link rel="modulepreload" crossorigin href="/assets/host-2KzofXms.js">
76
- <link rel="modulepreload" crossorigin href="/assets/useKannaState-D7y1UZxg.js">
77
- <link rel="modulepreload" crossorigin href="/assets/ellipsis-EuMuTlhJ.js">
78
- <link rel="modulepreload" crossorigin href="/assets/square-pen-BjyjvjOJ.js">
79
- <link rel="modulepreload" crossorigin href="/assets/genui-BnrsDpVz.js">
80
- <link rel="modulepreload" crossorigin href="/assets/chatSounds-o52bjGQP.js">
81
- <link rel="modulepreload" crossorigin href="/assets/sidebarPendingActions-CZXv60kH.js">
82
- <link rel="modulepreload" crossorigin href="/assets/popover-DkE_RkoX.js">
65
+ <link rel="modulepreload" crossorigin href="/assets/useAppGlobalState-BCUZEZEi.js">
66
+ <link rel="modulepreload" crossorigin href="/assets/terminal-DRYQ5avJ.js">
67
+ <link rel="modulepreload" crossorigin href="/assets/triangle-alert-CM5uh-kq.js">
68
+ <link rel="modulepreload" crossorigin href="/assets/formatDuration-DsrNkArK.js">
69
+ <link rel="modulepreload" crossorigin href="/assets/plus-By3sppx5.js">
70
+ <link rel="modulepreload" crossorigin href="/assets/FilePreviewSheet-wcpWIb90.js">
71
+ <link rel="modulepreload" crossorigin href="/assets/tools-toomKvSw.js">
72
+ <link rel="modulepreload" crossorigin href="/assets/ToolCallMessage-CHJSiauG.js">
73
+ <link rel="modulepreload" crossorigin href="/assets/KannaSocketProvider-uWU6WkNo.js">
74
+ <link rel="modulepreload" crossorigin href="/assets/dist-Cvh6FEf5.js">
75
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-FnMbL2tA.js">
76
+ <link rel="modulepreload" crossorigin href="/assets/host-C7I7nFuH.js">
77
+ <link rel="modulepreload" crossorigin href="/assets/useKannaState-BvJAZTpL.js">
78
+ <link rel="modulepreload" crossorigin href="/assets/ellipsis-CWiRFysC.js">
79
+ <link rel="modulepreload" crossorigin href="/assets/square-pen-DKZvXh3R.js">
80
+ <link rel="modulepreload" crossorigin href="/assets/genui-BagNQVNI.js">
81
+ <link rel="modulepreload" crossorigin href="/assets/chatSounds-BNvUSPAi.js">
82
+ <link rel="modulepreload" crossorigin href="/assets/sidebarPendingActions-DxI6ubAL.js">
83
+ <link rel="modulepreload" crossorigin href="/assets/popover-CJNN95M0.js">
83
84
  <link rel="stylesheet" crossorigin href="/assets/index-D8o_YX_z.css">
84
85
  </head>
85
86
  <body>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cuongtran001/kanna",
3
3
  "type": "module",
4
- "version": "1.71.0",
4
+ "version": "1.71.2",
5
5
  "description": "A beautiful web UI for Claude Code",
6
6
  "license": "MIT",
7
7
  "keywords": [