tarsk 0.5.76 → 0.5.77

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 (119) hide show
  1. package/dist/index.js +159 -45
  2. package/dist/public/assets/account-view-DqN6PuZx.js +1 -0
  3. package/dist/public/assets/api-BEi04Nbw.js +2 -0
  4. package/dist/public/assets/{async-error-boundary-BX1G17o9.js → async-error-boundary-p7xL6pqw.js} +1 -1
  5. package/dist/public/assets/{async-loading-fallback-V0EaQ_Kn.js → async-loading-fallback-cCtsF_26.js} +1 -1
  6. package/dist/public/assets/browser-tab-D8O7Fv9w.js +12 -0
  7. package/dist/public/assets/{button-kWtLAMpB.js → button-D1ArHt_o.js} +1 -1
  8. package/dist/public/assets/{card-B_EASkic.js → card-Bp7fZl_f.js} +1 -1
  9. package/dist/public/assets/chat-dock-context-BlxEXa9b.js +1 -0
  10. package/dist/public/assets/commit-dialog-DY4D8-I1.js +1 -0
  11. package/dist/public/assets/{commit-error-dialog-CdcGI69P.js → commit-error-dialog-DBXZAW1l.js} +1 -1
  12. package/dist/public/assets/{commit-method-fields-BtEHb0_G.js → commit-method-fields-C335Y5Id.js} +1 -1
  13. package/dist/public/assets/{context-menu-BcM6I0Sx.js → context-menu-BUjcm0iJ.js} +1 -1
  14. package/dist/public/assets/conversation-history-view-DQ_PXqZ9.js +1 -0
  15. package/dist/public/assets/{create-project-dialog-a6Wgq-Z8.js → create-project-dialog-fc3B-dqb.js} +2 -2
  16. package/dist/public/assets/create-repo-dialog-DchKq-aa.js +1 -0
  17. package/dist/public/assets/delete-confirm-dialog-DEuqA4Wk.js +1 -0
  18. package/dist/public/assets/diff-view-CVlpWjUp.js +4 -0
  19. package/dist/public/assets/dist-BGVtJOIV.js +2 -0
  20. package/dist/public/assets/{dist-C2G92uPn.js → dist-BQOHvuU5.js} +1 -1
  21. package/dist/public/assets/{dist-CHhgoHp6.js → dist-BrrQ4RKZ.js} +1 -1
  22. package/dist/public/assets/{dist-D-2G8xGB.js → dist-CRRMWh4A.js} +1 -1
  23. package/dist/public/assets/{dist-c_QADQ5u.js → dist-DLuGyArC.js} +1 -1
  24. package/dist/public/assets/{dist-DoxvnNEY.js → dist-DSd8c-dh.js} +1 -1
  25. package/dist/public/assets/{dist-DD4GtbiM.js → dist-DTleMiQ4.js} +1 -1
  26. package/dist/public/assets/{dist-DsmF-KJ-.js → dist-bBjaCw3d.js} +1 -1
  27. package/dist/public/assets/{dist-yM5kyz9Q.js → dist-sGpOBecq.js} +1 -1
  28. package/dist/public/assets/{es2015-BlPKkFZZ.js → es2015-SVM3tAoD.js} +1 -1
  29. package/dist/public/assets/{explorer-monaco-editor-BdZ_bBqh.js → explorer-monaco-editor-DuU68YH9.js} +1 -1
  30. package/dist/public/assets/explorer-tab-view-CHQ0mxMq.js +2 -0
  31. package/dist/public/assets/explorer-tree-BHqNnEtP.js +1 -0
  32. package/dist/public/assets/explorer-view-CgdDN1D-.js +76 -0
  33. package/dist/public/assets/{git-history-dialog-DL0Trxiz.js → git-history-dialog-BAWqdcQy.js} +1 -1
  34. package/dist/public/assets/index-BHXl-V4W.js +3665 -0
  35. package/dist/public/assets/{index-BLNUy5nZ.css → index-CLo6-Tya.css} +1 -1
  36. package/dist/public/assets/{model-list-controls-I67L2x3H.js → model-list-controls-BTd-p6XD.js} +1 -1
  37. package/dist/public/assets/onboarding-dialog-DXg4wTyD.js +1 -0
  38. package/dist/public/assets/project-coding-view-R1jPpXkA.js +1 -0
  39. package/dist/public/assets/{project-danger-zone-view-CkvKOQrl.js → project-danger-zone-view-B8gSJxHw.js} +1 -1
  40. package/dist/public/assets/project-env-vars-view-CHfsOYa_.js +1 -0
  41. package/dist/public/assets/project-model-aliases-view-DnEbS87g.js +1 -0
  42. package/dist/public/assets/project-settings-view-34BqFxN-.js +1 -0
  43. package/dist/public/assets/project-tools-view-DCBhdS_I.js +1 -0
  44. package/dist/public/assets/providers-list-view-m6xHKltt.js +1 -0
  45. package/dist/public/assets/pull-request-dialog-Bmtin2Mh.js +1 -0
  46. package/dist/public/assets/{pull-with-changes-dialog-V3_km2zQ.js → pull-with-changes-dialog-Cmh1vFmo.js} +1 -1
  47. package/dist/public/assets/{push-before-pr-dialog-CarrD3y2.js → push-before-pr-dialog-CxboQlmj.js} +1 -1
  48. package/dist/public/assets/{radio-group-Dn_pN-pn.js → radio-group-DzcDTzWb.js} +1 -1
  49. package/dist/public/assets/{scroll-area-lkVMElz5.js → scroll-area-DgahW31C.js} +1 -1
  50. package/dist/public/assets/settings-general-view-XHYGeoAk.js +1 -0
  51. package/dist/public/assets/{settings-list-DiiYzOxn.js → settings-list-D-51AyVy.js} +1 -1
  52. package/dist/public/assets/{settings-logs-view-DbKM1SNk.js → settings-logs-view-BiY8r9HI.js} +3 -3
  53. package/dist/public/assets/settings-mcp-servers-view-DEmqI7is.js +5 -0
  54. package/dist/public/assets/settings-models-view-CB6htSan.js +1 -0
  55. package/dist/public/assets/settings-skills-view-QL-AL_vP.js +3 -0
  56. package/dist/public/assets/settings-slack-view-Bo1oDUFr.js +1 -0
  57. package/dist/public/assets/settings-slash-commands-view-CUY_SkzD.js +1 -0
  58. package/dist/public/assets/settings-statistics-view-B1iibWb7.js +1 -0
  59. package/dist/public/assets/settings-storage-view-BClnyDai.js +1 -0
  60. package/dist/public/assets/settings-subagents-view-D4OEJJk8.js +2 -0
  61. package/dist/public/assets/settings-system-prompt-view-e6CgLFVs.js +1 -0
  62. package/dist/public/assets/settings-view-Bk-knKOJ.js +2 -0
  63. package/dist/public/assets/{slug-utils-CQ8PMWUL.js → slug-utils-DgUDtDRP.js} +1 -1
  64. package/dist/public/assets/store-IJouqtOd.js +9 -0
  65. package/dist/public/assets/{table-A3cgauiZ.js → table-CYtkHxHy.js} +1 -1
  66. package/dist/public/assets/tasks-view-DpGp9_WH.js +1 -0
  67. package/dist/public/assets/{terminal-panel-DIh6it7K.js → terminal-panel-OW4yyorA.js} +3 -3
  68. package/dist/public/assets/{toggle-group-Q36wRGKA.js → toggle-group-rSptomuG.js} +1 -1
  69. package/dist/public/assets/{tooltip-Db8UeYxm.js → tooltip-BqGy0Y1-.js} +1 -1
  70. package/dist/public/assets/{use-active-dock-panel-instance-DRfRj6MV.js → use-active-dock-panel-instance-DjhNdiNZ.js} +1 -1
  71. package/dist/public/assets/use-installed-ai-files-BcrX9Nna.js +1 -0
  72. package/dist/public/assets/{useBaseQuery-34f0-SVd.js → useBaseQuery-BytIT4Si.js} +1 -1
  73. package/dist/public/assets/{web-Bn9n5e7r.js → web-BogjYrUi.js} +1 -1
  74. package/dist/public/assets/{web-Dk3GAfTy.js → web-C28hpsuV.js} +1 -1
  75. package/dist/public/assets/{web-DycfRH4j.js → web-CWmUhqaq.js} +1 -1
  76. package/dist/public/assets/{web-C2KGFouM.js → web-HPHkrB3q.js} +1 -1
  77. package/dist/public/index.html +22 -26
  78. package/package.json +1 -1
  79. package/dist/public/assets/account-view-CWtpznW2.js +0 -1
  80. package/dist/public/assets/alert-dialog-BxMfaLuO.js +0 -7
  81. package/dist/public/assets/api-DX1ny6q-.js +0 -2
  82. package/dist/public/assets/browser-tab-D_5MLhxE.js +0 -12
  83. package/dist/public/assets/chat-dock-context-8K8Ikjgy.js +0 -1
  84. package/dist/public/assets/commit-dialog-CSXPoomw.js +0 -1
  85. package/dist/public/assets/conversation-history-view-CuzU9qF6.js +0 -1
  86. package/dist/public/assets/create-project-workspace-Dv_lEfZx.js +0 -2
  87. package/dist/public/assets/create-repo-dialog-BTIQ5Nw4.js +0 -1
  88. package/dist/public/assets/delete-confirm-dialog-Dl76vaxb.js +0 -1
  89. package/dist/public/assets/diff-view-DA1uT9tc.js +0 -4
  90. package/dist/public/assets/dist-CTLFS4dn.js +0 -2
  91. package/dist/public/assets/explorer-tab-view-CewTYYOm.js +0 -2
  92. package/dist/public/assets/explorer-tree-C0VDhihz.js +0 -1
  93. package/dist/public/assets/explorer-view-RCfDm3p5.js +0 -76
  94. package/dist/public/assets/index-B3-5kIOf.js +0 -3658
  95. package/dist/public/assets/merged-pr-dialog-BzND8nzx.js +0 -1
  96. package/dist/public/assets/onboarding-dialog-DY8v11hv.js +0 -1
  97. package/dist/public/assets/project-coding-view-DxOwsjtt.js +0 -1
  98. package/dist/public/assets/project-env-vars-view-DYLWA7s0.js +0 -1
  99. package/dist/public/assets/project-model-aliases-view-DWu9khLA.js +0 -1
  100. package/dist/public/assets/project-settings-view-DJfmaWn6.js +0 -1
  101. package/dist/public/assets/project-tools-view-BEjBkghz.js +0 -1
  102. package/dist/public/assets/providers-list-view-jMEPJCci.js +0 -1
  103. package/dist/public/assets/pull-request-dialog-B_JCqT53.js +0 -1
  104. package/dist/public/assets/settings-general-view-BhrfHGfQ.js +0 -1
  105. package/dist/public/assets/settings-mcp-servers-view-4FpPIeYV.js +0 -5
  106. package/dist/public/assets/settings-models-view-CJVeo9ad.js +0 -1
  107. package/dist/public/assets/settings-skills-view-DoRPGbHG.js +0 -3
  108. package/dist/public/assets/settings-slack-view-Cc1NgVkx.js +0 -1
  109. package/dist/public/assets/settings-slash-commands-view-CmlWqqmi.js +0 -1
  110. package/dist/public/assets/settings-statistics-view-DRuyEbcN.js +0 -1
  111. package/dist/public/assets/settings-storage-view-DihbtUYb.js +0 -1
  112. package/dist/public/assets/settings-subagents-view-B2RvxDZI.js +0 -2
  113. package/dist/public/assets/settings-system-prompt-view-CvVbgjNN.js +0 -1
  114. package/dist/public/assets/settings-view-CPUAjTMa.js +0 -2
  115. package/dist/public/assets/store-BSzKIu5G.js +0 -9
  116. package/dist/public/assets/tasks-view-CvFFLPeD.js +0 -1
  117. package/dist/public/assets/use-installed-ai-files-C8nNWGC7.js +0 -1
  118. package/dist/public/assets/use-suspense-resource-Dakt9lfT.js +0 -1
  119. package/dist/public/assets/use-toast-xpb5jNtN.js +0 -1
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{d as i,r as a}from"./button-kWtLAMpB.js";import{g as o,h as s,i as c,n as l,p as u,r as d,s as f,t as p,u as m}from"./dist-c_QADQ5u.js";import{a as h,i as g,n as _,r as v,t as y}from"./dist-C2G92uPn.js";var b=t(),x=e(n(),1),S=r(),C=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),w=`VisuallyHidden`,T=x.forwardRef((e,t)=>(0,S.jsx)(m.span,{...e,ref:t,style:{...C,...e.style}}));T.displayName=w;var E=T,[D,ee]=s(`Tooltip`,[h]),O=h(),k=`TooltipProvider`,A=700,j=`tooltip.open`,[M,N]=D(k),P=e=>{let{__scopeTooltip:t,delayDuration:n=A,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=x.useRef(!0),s=x.useRef(!1),c=x.useRef(0);return x.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,S.jsx)(M,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:x.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:x.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:x.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};P.displayName=k;var F=`Tooltip`,[te,I]=D(F),L=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,l=N(F,e.__scopeTooltip),u=O(t),[d,f]=x.useState(null),m=c(),h=x.useRef(0),_=o??l.disableHoverableContent,v=s??l.delayDuration,y=x.useRef(!1),[b,C]=p({prop:r,defaultProp:i??!1,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(j))):l.onClose(),a?.(e)},caller:F}),w=x.useMemo(()=>b?y.current?`delayed-open`:`instant-open`:`closed`,[b]),T=x.useCallback(()=>{window.clearTimeout(h.current),h.current=0,y.current=!1,C(!0)},[C]),E=x.useCallback(()=>{window.clearTimeout(h.current),h.current=0,C(!1)},[C]),D=x.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{y.current=!0,C(!0),h.current=0},v)},[v,C]);return x.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]),(0,S.jsx)(g,{...u,children:(0,S.jsx)(te,{scope:t,contentId:m,open:b,stateAttribute:w,trigger:d,onTriggerChange:f,onTriggerEnter:x.useCallback(()=>{l.isOpenDelayedRef.current?D():T()},[l.isOpenDelayedRef,D,T]),onTriggerLeave:x.useCallback(()=>{_?E():(window.clearTimeout(h.current),h.current=0)},[E,_]),onOpen:T,onClose:E,disableHoverableContent:_,children:n})})};L.displayName=F;var R=`TooltipTrigger`,z=x.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,a=I(R,n),s=N(R,n),c=O(n),l=i(t,x.useRef(null),a.onTriggerChange),u=x.useRef(!1),d=x.useRef(!1),f=x.useCallback(()=>u.current=!1,[]);return x.useEffect(()=>()=>document.removeEventListener(`pointerup`,f),[f]),(0,S.jsx)(y,{asChild:!0,...c,children:(0,S.jsx)(m.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...r,ref:l,onPointerMove:o(e.onPointerMove,e=>{e.pointerType!==`touch`&&!d.current&&!s.isPointerInTransitRef.current&&(a.onTriggerEnter(),d.current=!0)}),onPointerLeave:o(e.onPointerLeave,()=>{a.onTriggerLeave(),d.current=!1}),onPointerDown:o(e.onPointerDown,()=>{a.open&&a.onClose(),u.current=!0,document.addEventListener(`pointerup`,f,{once:!0})}),onFocus:o(e.onFocus,()=>{u.current||a.onOpen()}),onBlur:o(e.onBlur,a.onClose),onClick:o(e.onClick,a.onClose)})})});z.displayName=R;var B=`TooltipPortal`,[V,ne]=D(B,{forceMount:void 0}),H=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=I(B,t);return(0,S.jsx)(V,{scope:t,forceMount:n,children:(0,S.jsx)(l,{present:n||a.open,children:(0,S.jsx)(d,{asChild:!0,container:i,children:r})})})};H.displayName=B;var U=`TooltipContent`,W=x.forwardRef((e,t)=>{let n=ne(U,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=I(U,e.__scopeTooltip);return(0,S.jsx)(l,{present:r||o.open,children:o.disableHoverableContent?(0,S.jsx)(Y,{side:i,...a,ref:t}):(0,S.jsx)(G,{side:i,...a,ref:t})})}),G=x.forwardRef((e,t)=>{let n=I(U,e.__scopeTooltip),r=N(U,e.__scopeTooltip),a=x.useRef(null),o=i(t,a),[s,c]=x.useState(null),{trigger:l,onClose:u}=n,d=a.current,{onPointerInTransitChange:f}=r,p=x.useCallback(()=>{c(null),f(!1)},[f]),m=x.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=ie(r,re(r,n.getBoundingClientRect())),a=ae(t.getBoundingClientRect());c(se([...i,...a])),f(!0)},[f]);return x.useEffect(()=>()=>p(),[p]),x.useEffect(()=>{if(l&&d){let e=e=>m(e,d),t=e=>m(e,l);return l.addEventListener(`pointerleave`,e),d.addEventListener(`pointerleave`,t),()=>{l.removeEventListener(`pointerleave`,e),d.removeEventListener(`pointerleave`,t)}}},[l,d,m,p]),x.useEffect(()=>{if(s){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=l?.contains(t)||d?.contains(t),i=!oe(n,s);r?p():i&&(p(),u())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[l,d,s,u,p]),(0,S.jsx)(Y,{...e,ref:o})}),[K,q]=D(F,{isInside:!1}),J=u(`TooltipContent`),Y=x.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=I(U,n),l=O(n),{onClose:u}=c;return x.useEffect(()=>(document.addEventListener(j,u),()=>document.removeEventListener(j,u)),[u]),x.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,S.jsx)(f,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,S.jsxs)(v,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,S.jsx)(J,{children:r}),(0,S.jsx)(K,{scope:n,isInside:!0,children:(0,S.jsx)(E,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});W.displayName=U;var X=`TooltipArrow`,Z=x.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=O(n);return q(X,n).isInside?null:(0,S.jsx)(_,{...i,...r,ref:t})});Z.displayName=X;function re(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function ie(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ae(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function oe(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}function se(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),ce(t)}function ce(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var le=P,ue=L,de=z,fe=H,Q=W,pe=le,me=ue,he=de,$=x.forwardRef((e,t)=>{let n=(0,b.c)(11),r,i,o;n[0]===e?(r=n[1],i=n[2],o=n[3]):({className:r,sideOffset:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o);let s=o===void 0?4:o,c;n[4]===r?c=n[5]:(c=a(`z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-base text-popover-foreground shadow-md 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,r),n[4]=r,n[5]=c);let l;return n[6]!==i||n[7]!==t||n[8]!==s||n[9]!==c?(l=(0,S.jsx)(fe,{children:(0,S.jsx)(Q,{ref:t,sideOffset:s,className:c,...i})}),n[6]=i,n[7]=t,n[8]=s,n[9]=c,n[10]=l):l=n[10],l});$.displayName=Q.displayName;export{C as a,he as i,$ as n,T as o,pe as r,me as t};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{d as i,r as a}from"./button-D1ArHt_o.js";import{g as o,h as s,i as c,n as l,p as u,r as d,s as f,t as p,u as m}from"./dist-DLuGyArC.js";import{a as h,i as g,n as _,r as v,t as y}from"./dist-BQOHvuU5.js";var b=t(),x=e(n(),1),S=r(),C=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),w=`VisuallyHidden`,T=x.forwardRef((e,t)=>(0,S.jsx)(m.span,{...e,ref:t,style:{...C,...e.style}}));T.displayName=w;var E=T,[D,ee]=s(`Tooltip`,[h]),O=h(),k=`TooltipProvider`,A=700,j=`tooltip.open`,[M,N]=D(k),P=e=>{let{__scopeTooltip:t,delayDuration:n=A,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=x.useRef(!0),s=x.useRef(!1),c=x.useRef(0);return x.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,S.jsx)(M,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:x.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:x.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:x.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};P.displayName=k;var F=`Tooltip`,[te,I]=D(F),L=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,l=N(F,e.__scopeTooltip),u=O(t),[d,f]=x.useState(null),m=c(),h=x.useRef(0),_=o??l.disableHoverableContent,v=s??l.delayDuration,y=x.useRef(!1),[b,C]=p({prop:r,defaultProp:i??!1,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(j))):l.onClose(),a?.(e)},caller:F}),w=x.useMemo(()=>b?y.current?`delayed-open`:`instant-open`:`closed`,[b]),T=x.useCallback(()=>{window.clearTimeout(h.current),h.current=0,y.current=!1,C(!0)},[C]),E=x.useCallback(()=>{window.clearTimeout(h.current),h.current=0,C(!1)},[C]),D=x.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{y.current=!0,C(!0),h.current=0},v)},[v,C]);return x.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]),(0,S.jsx)(g,{...u,children:(0,S.jsx)(te,{scope:t,contentId:m,open:b,stateAttribute:w,trigger:d,onTriggerChange:f,onTriggerEnter:x.useCallback(()=>{l.isOpenDelayedRef.current?D():T()},[l.isOpenDelayedRef,D,T]),onTriggerLeave:x.useCallback(()=>{_?E():(window.clearTimeout(h.current),h.current=0)},[E,_]),onOpen:T,onClose:E,disableHoverableContent:_,children:n})})};L.displayName=F;var R=`TooltipTrigger`,z=x.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,a=I(R,n),s=N(R,n),c=O(n),l=i(t,x.useRef(null),a.onTriggerChange),u=x.useRef(!1),d=x.useRef(!1),f=x.useCallback(()=>u.current=!1,[]);return x.useEffect(()=>()=>document.removeEventListener(`pointerup`,f),[f]),(0,S.jsx)(y,{asChild:!0,...c,children:(0,S.jsx)(m.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...r,ref:l,onPointerMove:o(e.onPointerMove,e=>{e.pointerType!==`touch`&&!d.current&&!s.isPointerInTransitRef.current&&(a.onTriggerEnter(),d.current=!0)}),onPointerLeave:o(e.onPointerLeave,()=>{a.onTriggerLeave(),d.current=!1}),onPointerDown:o(e.onPointerDown,()=>{a.open&&a.onClose(),u.current=!0,document.addEventListener(`pointerup`,f,{once:!0})}),onFocus:o(e.onFocus,()=>{u.current||a.onOpen()}),onBlur:o(e.onBlur,a.onClose),onClick:o(e.onClick,a.onClose)})})});z.displayName=R;var B=`TooltipPortal`,[V,ne]=D(B,{forceMount:void 0}),H=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=I(B,t);return(0,S.jsx)(V,{scope:t,forceMount:n,children:(0,S.jsx)(l,{present:n||a.open,children:(0,S.jsx)(d,{asChild:!0,container:i,children:r})})})};H.displayName=B;var U=`TooltipContent`,W=x.forwardRef((e,t)=>{let n=ne(U,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=I(U,e.__scopeTooltip);return(0,S.jsx)(l,{present:r||o.open,children:o.disableHoverableContent?(0,S.jsx)(Y,{side:i,...a,ref:t}):(0,S.jsx)(G,{side:i,...a,ref:t})})}),G=x.forwardRef((e,t)=>{let n=I(U,e.__scopeTooltip),r=N(U,e.__scopeTooltip),a=x.useRef(null),o=i(t,a),[s,c]=x.useState(null),{trigger:l,onClose:u}=n,d=a.current,{onPointerInTransitChange:f}=r,p=x.useCallback(()=>{c(null),f(!1)},[f]),m=x.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=ie(r,re(r,n.getBoundingClientRect())),a=ae(t.getBoundingClientRect());c(se([...i,...a])),f(!0)},[f]);return x.useEffect(()=>()=>p(),[p]),x.useEffect(()=>{if(l&&d){let e=e=>m(e,d),t=e=>m(e,l);return l.addEventListener(`pointerleave`,e),d.addEventListener(`pointerleave`,t),()=>{l.removeEventListener(`pointerleave`,e),d.removeEventListener(`pointerleave`,t)}}},[l,d,m,p]),x.useEffect(()=>{if(s){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=l?.contains(t)||d?.contains(t),i=!oe(n,s);r?p():i&&(p(),u())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[l,d,s,u,p]),(0,S.jsx)(Y,{...e,ref:o})}),[K,q]=D(F,{isInside:!1}),J=u(`TooltipContent`),Y=x.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=I(U,n),l=O(n),{onClose:u}=c;return x.useEffect(()=>(document.addEventListener(j,u),()=>document.removeEventListener(j,u)),[u]),x.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,S.jsx)(f,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,S.jsxs)(v,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,S.jsx)(J,{children:r}),(0,S.jsx)(K,{scope:n,isInside:!0,children:(0,S.jsx)(E,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});W.displayName=U;var X=`TooltipArrow`,Z=x.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=O(n);return q(X,n).isInside?null:(0,S.jsx)(_,{...i,...r,ref:t})});Z.displayName=X;function re(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function ie(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ae(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function oe(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}function se(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),ce(t)}function ce(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var le=P,ue=L,de=z,fe=H,Q=W,pe=le,me=ue,he=de,$=x.forwardRef((e,t)=>{let n=(0,b.c)(11),r,i,o;n[0]===e?(r=n[1],i=n[2],o=n[3]):({className:r,sideOffset:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o);let s=o===void 0?4:o,c;n[4]===r?c=n[5]:(c=a(`z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-base text-popover-foreground shadow-md 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,r),n[4]=r,n[5]=c);let l;return n[6]!==i||n[7]!==t||n[8]!==s||n[9]!==c?(l=(0,S.jsx)(fe,{children:(0,S.jsx)(Q,{ref:t,sideOffset:s,className:c,...i})}),n[6]=i,n[7]=t,n[8]=s,n[9]=c,n[10]=l):l=n[10],l});$.displayName=Q.displayName;export{C as a,he as i,$ as n,T as o,pe as r,me as t};
@@ -1 +1 @@
1
- import{n as e}from"./react-vendor-Ee0-5T4I.js";import{n as t}from"./chat-dock-context-8K8Ikjgy.js";var n=e();function r(e){let{instanceId:t,panelId:n,windows:r,expandedWindowId:i,selectedWindowId:a,isLayoutExpanded:o}=e;if(o&&i!==t)return!1;let s=r.filter(e=>e.panelId===n).map(e=>e.id);return s.includes(t)?s.length===1?!0:s.includes(a)?a===t:i&&s.includes(i)?i===t:s[0]===t:!1}function i(e,i){let a=(0,n.c)(7),{windows:o,expandedWindowId:s,selectedWindowId:c,isLayoutExpanded:l}=t(),u;return a[0]!==s||a[1]!==e||a[2]!==l||a[3]!==i||a[4]!==c||a[5]!==o?(u=r({instanceId:e,panelId:i,windows:o,expandedWindowId:s,selectedWindowId:c,isLayoutExpanded:l}),a[0]=s,a[1]=e,a[2]=l,a[3]=i,a[4]=c,a[5]=o,a[6]=u):u=a[6],u}export{i as t};
1
+ import{n as e}from"./react-vendor-Ee0-5T4I.js";import{n as t}from"./chat-dock-context-BlxEXa9b.js";var n=e();function r(e){let{instanceId:t,panelId:n,windows:r,expandedWindowId:i,selectedWindowId:a,isLayoutExpanded:o}=e;if(o&&i!==t)return!1;let s=r.filter(e=>e.panelId===n).map(e=>e.id);return s.includes(t)?s.length===1?!0:s.includes(a)?a===t:i&&s.includes(i)?i===t:s[0]===t:!1}function i(e,i){let a=(0,n.c)(7),{windows:o,expandedWindowId:s,selectedWindowId:c,isLayoutExpanded:l}=t(),u;return a[0]!==s||a[1]!==e||a[2]!==l||a[3]!==i||a[4]!==c||a[5]!==o?(u=r({instanceId:e,panelId:i,windows:o,expandedWindowId:s,selectedWindowId:c,isLayoutExpanded:l}),a[0]=s,a[1]=e,a[2]=l,a[3]=i,a[4]=c,a[5]=o,a[6]=u):u=a[6],u}export{i as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{o as t}from"./react-vendor-Ee0-5T4I.js";import{n,r,tt as i}from"./store-IJouqtOd.js";import{F as a,Ht as o,St as s,j as c}from"./api-BEi04Nbw.js";import{n as l}from"./explorer-tab-context-BxUVwWQQ.js";import{Qn as u,Yn as d,zn as f}from"./index-BHXl-V4W.js";var p=e(t(),1);function m({findItems:e,installedPathSuffix:t=``,explorerPathSuffix:m=``,sortByName:h=!1,removedToastTitle:g}){let _=n(),v=r(e=>e.projects),y=r(e=>e.selectedProjectId),b=r(e=>e.selectedThreadId),{handleSelectThread:x}=f(),{openChatDockPanel:S}=u(),{setPendingExplorerPath:C,triggerExplorerRefresh:w,setExplorerClearPath:T}=l(),[E,D]=(0,p.useState)([]),[O,k]=(0,p.useState)(!0),[A,j]=(0,p.useState)(null),[M,N]=(0,p.useState)(!1),[P,F]=(0,p.useState)(new Set),I=(0,p.useCallback)(async()=>{if(!y){k(!1);return}k(!0);try{let n=e(await s(y));if(b)try{let t=e(await o(b)),r=new Set(n.map(e=>e.path));for(let e of t)r.has(e.path)||n.push(e)}catch{}h&&(n=[...n].sort((e,t)=>e.name.localeCompare(t.name))),D(n),F(new Set(n.map(e=>`${e.path}${t}`)))}catch{D([]),F(new Set)}finally{k(!1)}},[y,b,e,t,h]);return(0,p.useLayoutEffect)(()=>{y&&k(!0)},[y,b]),(0,p.useEffect)(()=>{I()},[I]),{selectedProjectId:y,selectedThreadId:b,items:E,loading:O,deleteConfirm:A,setDeleteConfirm:j,deleting:M,installedFilePaths:P,setInstalledFilePaths:F,loadItems:I,handleDelete:(0,p.useCallback)(async e=>{if(!y)return;let n=e.name,r=e.path;N(!0);try{try{await c(y,r)}catch{if(b)await a(b,r);else throw Error(`No thread selected to delete from`)}T(r),w(),F(e=>{let n=new Set(e);return n.delete(`${r}${t}`),n}),d({title:g,description:n}),j(null),await I()}catch(e){d({title:`Error`,description:e instanceof Error?e.message:`Failed to remove item`,variant:`destructive`})}finally{N(!1)}},[y,b,I,w,T,t,g]),handleOpenInExplorer:(0,p.useCallback)(e=>{if(!y)return;let t=v.find(e=>e.projectId===y);if(t){if(_({type:i.OpenProjectPanel,projectId:y}),!t.threads.some(e=>e.threadId===b)){let e=t.threads.find(e=>e.isSelected)??t.threads[0]??null;e&&x(y,e.threadId)}C(`${e}${m}`),S(`explorer`)}},[y,b,v,_,x,C,S,m]),triggerExplorerRefresh:w}}export{m as t};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{o as t,t as n}from"./react-vendor-Ee0-5T4I.js";import{a as r}from"./chat-dock-context-8K8Ikjgy.js";var i=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},a=new class extends i{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},o={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},s=new class{#e=o;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function c(e){setTimeout(e,0)}var l=typeof window>`u`||`Deno`in globalThis;function u(){}function d(e,t){return typeof e==`function`?e(t):e}function f(e){return typeof e==`number`&&e>=0&&e!==1/0}function p(e,t){return Math.max(e+(t||0)-Date.now(),0)}function m(e,t){return typeof e==`function`?e(t):e}function h(e,t){return typeof e==`function`?e(t):e}function g(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==v(o,t.options))return!1}else if(!b(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function _(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(y(t.options.mutationKey)!==y(a))return!1}else if(!b(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function v(e,t){return(t?.queryKeyHashFn||y)(e)}function y(e){return JSON.stringify(e,(e,t)=>T(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function b(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>b(e[n],t[n])):!1}var x=Object.prototype.hasOwnProperty;function S(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=w(e)&&w(t);if(!r&&!(T(e)&&T(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:x.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=S(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function C(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function w(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function T(e){if(!E(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!E(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function E(e){return Object.prototype.toString.call(e)===`[object Object]`}function ee(e){return new Promise(t=>{s.setTimeout(t,e)})}function D(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:S(e,t)}function te(e){return e}function O(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function ne(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var k=Symbol();function A(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===k?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function j(e,t){return typeof e==`function`?e(...t):!!e}function re(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var M=(()=>{let e=()=>l;return{isServer(){return e()},setIsServer(t){e=t}}})();function N(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var ie=c;function ae(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=ie,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var P=ae(),F=new class extends i{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function oe(e){return Math.min(1e3*2**e,3e4)}function I(e){return(e??`online`)===`online`?F.isOnline():!0}var L=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function R(e){let t=!1,n=0,r,i=N(),o=()=>i.status!==`pending`,s=t=>{if(!o()){let n=new L(t);p(n),e.onCancel?.(n)}},c=()=>{t=!0},l=()=>{t=!1},u=()=>a.isFocused()&&(e.networkMode===`always`||F.isOnline())&&e.canRun(),d=()=>I(e.networkMode)&&e.canRun(),f=e=>{o()||(r?.(),i.resolve(e))},p=e=>{o()||(r?.(),i.reject(e))},m=()=>new Promise(t=>{r=e=>{(o()||u())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,o()||e.onContinue?.()}),h=()=>{if(o())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(f).catch(r=>{if(o())return;let i=e.retry??(M.isServer()?0:3),a=e.retryDelay??oe,s=typeof a==`function`?a(n,r):a,c=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!c){p(r);return}n++,e.onFail?.(n,r),ee(s).then(()=>u()?void 0:m()).then(()=>{t?p(r):h()})})};return{promise:i,status:()=>i.status,cancel:s,continue:()=>(r?.(),i),cancelRetry:c,continueRetry:l,canStart:d,start:()=>(d()?h():m().then(h),i)}}var z=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),f(this.gcTime)&&(this.#e=s.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(M.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(s.clearTimeout(this.#e),this.#e=void 0)}};function se(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{re(e,()=>t.signal,()=>n=!0)},u=A(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?ne:O;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?V:B,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:B(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function B(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function V(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function ce(e,t){return t?B(e,t)!=null:!1}function le(e,t){return!t||!e.getPreviousPageParam?!1:V(e,t)!=null}var H=class extends z{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=G(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=G(this.options);e.data!==void 0&&(this.setState(W(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=D(this.state.data,e,this.options);return this.#l({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(u).catch(u):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>h(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===k||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>m(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!p(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=A(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?se(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=R({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof L&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof L){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...U(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...W(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),P.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function U(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:I(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function W(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function G(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var ue=class extends i{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=N(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),K(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return q(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return q(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof h(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!C(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&J(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||h(this.options.enabled,this.#t)!==h(t.enabled,this.#t)||m(this.options.staleTime,this.#t)!==m(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||h(this.options.enabled,this.#t)!==h(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return fe(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(u)),t}#g(){this.#b();let e=m(this.options.staleTime,this.#t);if(M.isServer()||this.#r.isStale||!f(e))return;let t=p(this.#r.dataUpdatedAt,e)+1;this.#d=s.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(M.isServer()||h(this.options.enabled,this.#t)===!1||!f(this.#p)||this.#p===0)&&(this.#f=s.setInterval(()=>{(this.options.refetchIntervalInBackground||a.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(s.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(s.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&K(e,t),o=i&&J(e,n,t,r);(a||o)&&(l={...l,...U(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let g=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,g=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(m=`success`,d=D(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!g)if(i&&d===a?.data&&t.select===this.#c)d=this.#l;else try{this.#c=t.select,d=t.select(d),d=D(i?.data,d,t),this.#l=d,this.#s=null}catch(e){this.#s=e}this.#s&&(f=this.#s,d=this.#l,p=Date.now(),m=`error`);let _=l.fetchStatus===`fetching`,v=m===`pending`,y=m===`error`,b=v&&_,x=d!==void 0,S={status:m,fetchStatus:l.fetchStatus,isPending:v,isSuccess:m===`success`,isError:y,isInitialLoading:b,isLoading:b,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:_,isRefetching:_&&!v,isLoadingError:y&&!x,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:y&&x,isStale:Y(e,t),refetch:this.refetch,promise:this.#o,isEnabled:h(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=S.data!==void 0,r=S.status===`error`&&!t,i=e=>{r?e.reject(S.error):t&&e.resolve(S.data)},a=()=>{i(this.#o=S.promise=N())},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||S.data!==o.value)&&a();break;case`rejected`:(!r||S.error!==o.reason)&&a();break}}return S}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!C(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){P.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function de(e,t){return h(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&h(t.retryOnMount,e)===!1)}function K(e,t){return de(e,t)||e.state.data!==void 0&&q(e,t,t.refetchOnMount)}function q(e,t,n){if(h(t.enabled,e)!==!1&&m(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&Y(e,t)}return!1}function J(e,t,n,r){return(e!==t||h(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&Y(e,n)}function Y(e,t){return h(t.enabled,e)!==!1&&e.isStaleByTime(m(t.staleTime,e))}function fe(e,t){return!C(e.getCurrentResult(),t)}n();var X=e(t(),1),Z=X.createContext(!1),Q=()=>X.useContext(Z);Z.Provider;function pe(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var me=X.createContext(pe()),he=()=>X.useContext(me),ge=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?j(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},_e=e=>{X.useEffect(()=>{e.clearReset()},[e])},ve=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||j(n,[e.error,r])),ye=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},be=(e,t)=>e.isLoading&&e.isFetching&&!t,xe=(e,t)=>e?.suspense&&t.isPending,$=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Se(e,t,n){let i=Q(),a=he(),o=r(n),s=o.defaultQueryOptions(e);o.getDefaultOptions().queries?._experimental_beforeQuery?.(s);let c=o.getQueryCache().get(s.queryHash),l=e.subscribed!==!1;s._optimisticResults=i?`isRestoring`:l?`optimistic`:void 0,ye(s),ge(s,a,c),_e(a);let d=!o.getQueryCache().get(s.queryHash),[f]=X.useState(()=>new t(o,s)),p=f.getOptimisticResult(s),m=!i&&l;if(X.useSyncExternalStore(X.useCallback(e=>{let t=m?f.subscribe(P.batchCalls(e)):u;return f.updateResult(),t},[f,m]),()=>f.getCurrentResult(),()=>f.getCurrentResult()),X.useEffect(()=>{f.setOptions(s)},[s,f]),xe(s,p))throw $(s,f,a);if(ve({result:p,errorResetBoundary:a,throwOnError:s.throwOnError,query:c,suspense:s.suspense}))throw p.error;return o.getDefaultOptions().queries?._experimental_afterQuery?.(s,p),s.experimental_prefetchInRender&&!M.isServer()&&be(p,i)&&(d?$(s,f,a):c?.promise)?.catch(u).finally(()=>{f.updateResult()}),s.notifyOnChangeProps?p:f.trackResult(p)}export{b as _,le as a,a as b,F as c,y as d,v as f,u as g,g as h,ce as i,P as l,_ as m,ue as n,z as o,te as p,H as r,R as s,Se as t,d as u,m as v,i as x,k as y};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{o as t,t as n}from"./react-vendor-Ee0-5T4I.js";import{a as r}from"./chat-dock-context-BlxEXa9b.js";var i=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},a=new class extends i{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},o={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},s=new class{#e=o;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function c(e){setTimeout(e,0)}var l=typeof window>`u`||`Deno`in globalThis;function u(){}function d(e,t){return typeof e==`function`?e(t):e}function f(e){return typeof e==`number`&&e>=0&&e!==1/0}function p(e,t){return Math.max(e+(t||0)-Date.now(),0)}function m(e,t){return typeof e==`function`?e(t):e}function h(e,t){return typeof e==`function`?e(t):e}function g(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==v(o,t.options))return!1}else if(!b(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function _(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(y(t.options.mutationKey)!==y(a))return!1}else if(!b(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function v(e,t){return(t?.queryKeyHashFn||y)(e)}function y(e){return JSON.stringify(e,(e,t)=>T(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function b(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>b(e[n],t[n])):!1}var x=Object.prototype.hasOwnProperty;function S(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=w(e)&&w(t);if(!r&&!(T(e)&&T(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:x.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=S(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function C(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function w(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function T(e){if(!E(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!E(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function E(e){return Object.prototype.toString.call(e)===`[object Object]`}function ee(e){return new Promise(t=>{s.setTimeout(t,e)})}function D(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:S(e,t)}function te(e){return e}function O(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function ne(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var k=Symbol();function A(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===k?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function j(e,t){return typeof e==`function`?e(...t):!!e}function re(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var M=(()=>{let e=()=>l;return{isServer(){return e()},setIsServer(t){e=t}}})();function N(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var ie=c;function ae(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=ie,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var P=ae(),F=new class extends i{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function oe(e){return Math.min(1e3*2**e,3e4)}function I(e){return(e??`online`)===`online`?F.isOnline():!0}var L=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function R(e){let t=!1,n=0,r,i=N(),o=()=>i.status!==`pending`,s=t=>{if(!o()){let n=new L(t);p(n),e.onCancel?.(n)}},c=()=>{t=!0},l=()=>{t=!1},u=()=>a.isFocused()&&(e.networkMode===`always`||F.isOnline())&&e.canRun(),d=()=>I(e.networkMode)&&e.canRun(),f=e=>{o()||(r?.(),i.resolve(e))},p=e=>{o()||(r?.(),i.reject(e))},m=()=>new Promise(t=>{r=e=>{(o()||u())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,o()||e.onContinue?.()}),h=()=>{if(o())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(f).catch(r=>{if(o())return;let i=e.retry??(M.isServer()?0:3),a=e.retryDelay??oe,s=typeof a==`function`?a(n,r):a,c=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!c){p(r);return}n++,e.onFail?.(n,r),ee(s).then(()=>u()?void 0:m()).then(()=>{t?p(r):h()})})};return{promise:i,status:()=>i.status,cancel:s,continue:()=>(r?.(),i),cancelRetry:c,continueRetry:l,canStart:d,start:()=>(d()?h():m().then(h),i)}}var z=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),f(this.gcTime)&&(this.#e=s.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(M.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(s.clearTimeout(this.#e),this.#e=void 0)}};function se(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{re(e,()=>t.signal,()=>n=!0)},u=A(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?ne:O;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?V:B,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:B(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function B(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function V(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function ce(e,t){return t?B(e,t)!=null:!1}function le(e,t){return!t||!e.getPreviousPageParam?!1:V(e,t)!=null}var H=class extends z{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=G(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=G(this.options);e.data!==void 0&&(this.setState(W(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=D(this.state.data,e,this.options);return this.#l({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(u).catch(u):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>h(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===k||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>m(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!p(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=A(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?se(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=R({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof L&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof L){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...U(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...W(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),P.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function U(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:I(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function W(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function G(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var ue=class extends i{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=N(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),K(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return q(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return q(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof h(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!C(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&J(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||h(this.options.enabled,this.#t)!==h(t.enabled,this.#t)||m(this.options.staleTime,this.#t)!==m(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||h(this.options.enabled,this.#t)!==h(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return fe(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(u)),t}#g(){this.#b();let e=m(this.options.staleTime,this.#t);if(M.isServer()||this.#r.isStale||!f(e))return;let t=p(this.#r.dataUpdatedAt,e)+1;this.#d=s.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(M.isServer()||h(this.options.enabled,this.#t)===!1||!f(this.#p)||this.#p===0)&&(this.#f=s.setInterval(()=>{(this.options.refetchIntervalInBackground||a.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(s.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(s.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&K(e,t),o=i&&J(e,n,t,r);(a||o)&&(l={...l,...U(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let g=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,g=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(m=`success`,d=D(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!g)if(i&&d===a?.data&&t.select===this.#c)d=this.#l;else try{this.#c=t.select,d=t.select(d),d=D(i?.data,d,t),this.#l=d,this.#s=null}catch(e){this.#s=e}this.#s&&(f=this.#s,d=this.#l,p=Date.now(),m=`error`);let _=l.fetchStatus===`fetching`,v=m===`pending`,y=m===`error`,b=v&&_,x=d!==void 0,S={status:m,fetchStatus:l.fetchStatus,isPending:v,isSuccess:m===`success`,isError:y,isInitialLoading:b,isLoading:b,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:_,isRefetching:_&&!v,isLoadingError:y&&!x,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:y&&x,isStale:Y(e,t),refetch:this.refetch,promise:this.#o,isEnabled:h(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=S.data!==void 0,r=S.status===`error`&&!t,i=e=>{r?e.reject(S.error):t&&e.resolve(S.data)},a=()=>{i(this.#o=S.promise=N())},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||S.data!==o.value)&&a();break;case`rejected`:(!r||S.error!==o.reason)&&a();break}}return S}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!C(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){P.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function de(e,t){return h(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&h(t.retryOnMount,e)===!1)}function K(e,t){return de(e,t)||e.state.data!==void 0&&q(e,t,t.refetchOnMount)}function q(e,t,n){if(h(t.enabled,e)!==!1&&m(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&Y(e,t)}return!1}function J(e,t,n,r){return(e!==t||h(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&Y(e,n)}function Y(e,t){return h(t.enabled,e)!==!1&&e.isStaleByTime(m(t.staleTime,e))}function fe(e,t){return!C(e.getCurrentResult(),t)}n();var X=e(t(),1),Z=X.createContext(!1),Q=()=>X.useContext(Z);Z.Provider;function pe(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var me=X.createContext(pe()),he=()=>X.useContext(me),ge=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?j(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},_e=e=>{X.useEffect(()=>{e.clearReset()},[e])},ve=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||j(n,[e.error,r])),ye=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},be=(e,t)=>e.isLoading&&e.isFetching&&!t,xe=(e,t)=>e?.suspense&&t.isPending,$=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Se(e,t,n){let i=Q(),a=he(),o=r(n),s=o.defaultQueryOptions(e);o.getDefaultOptions().queries?._experimental_beforeQuery?.(s);let c=o.getQueryCache().get(s.queryHash),l=e.subscribed!==!1;s._optimisticResults=i?`isRestoring`:l?`optimistic`:void 0,ye(s),ge(s,a,c),_e(a);let d=!o.getQueryCache().get(s.queryHash),[f]=X.useState(()=>new t(o,s)),p=f.getOptimisticResult(s),m=!i&&l;if(X.useSyncExternalStore(X.useCallback(e=>{let t=m?f.subscribe(P.batchCalls(e)):u;return f.updateResult(),t},[f,m]),()=>f.getCurrentResult(),()=>f.getCurrentResult()),X.useEffect(()=>{f.setOptions(s)},[s,f]),xe(s,p))throw $(s,f,a);if(ve({result:p,errorResetBoundary:a,throwOnError:s.throwOnError,query:c,suspense:s.suspense}))throw p.error;return o.getDefaultOptions().queries?._experimental_afterQuery?.(s,p),s.experimental_prefetchInRender&&!M.isServer()&&be(p,i)&&(d?$(s,f,a):c?.promise)?.catch(u).finally(()=>{f.updateResult()}),s.notifyOnChangeProps?p:f.trackResult(p)}export{b as _,le as a,a as b,F as c,y as d,v as f,u as g,g as h,ce as i,P as l,_ as m,ue as n,z as o,te as p,H as r,R as s,Se as t,d as u,m as v,i as x,k as y};
@@ -1 +1 @@
1
- import{Cn as e}from"./index-B3-5kIOf.js";var t=class extends e{constructor(){super(),this.handleVisibilityChange=()=>{let e={isActive:document.hidden!==!0};this.notifyListeners(`appStateChange`,e),document.hidden?this.notifyListeners(`pause`,null):this.notifyListeners(`resume`,null)},document.addEventListener(`visibilitychange`,this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented(`Not implemented on web.`)}async getInfo(){throw this.unimplemented(`Not implemented on web.`)}async getLaunchUrl(){return{url:``}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented(`Not implemented on web.`)}async toggleBackButtonHandler(){throw this.unimplemented(`Not implemented on web.`)}async getAppLanguage(){return{value:navigator.language.split(`-`)[0].toLowerCase()}}};export{t as AppWeb};
1
+ import{Cn as e}from"./index-BHXl-V4W.js";var t=class extends e{constructor(){super(),this.handleVisibilityChange=()=>{let e={isActive:document.hidden!==!0};this.notifyListeners(`appStateChange`,e),document.hidden?this.notifyListeners(`pause`,null):this.notifyListeners(`resume`,null)},document.addEventListener(`visibilitychange`,this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented(`Not implemented on web.`)}async getInfo(){throw this.unimplemented(`Not implemented on web.`)}async getLaunchUrl(){return{url:``}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented(`Not implemented on web.`)}async toggleBackButtonHandler(){throw this.unimplemented(`Not implemented on web.`)}async getAppLanguage(){return{value:navigator.language.split(`-`)[0].toLowerCase()}}};export{t as AppWeb};
@@ -1 +1 @@
1
- import{Cn as e}from"./index-B3-5kIOf.js";var t=class extends e{constructor(){super(...arguments),this.wakeLock=null,this._isSupported=typeof navigator<`u`&&`wakeLock`in navigator,this.handleVisibilityChange=()=>{document.visibilityState===`visible`&&this.keepAwake()}}async keepAwake(){this._isSupported||this.throwUnsupportedError(),this.wakeLock&&await this.allowSleep(),this.wakeLock=await navigator.wakeLock.request(`screen`),document.addEventListener(`visibilitychange`,this.handleVisibilityChange),document.addEventListener(`fullscreenchange`,this.handleVisibilityChange)}async allowSleep(){var e;this._isSupported||this.throwUnsupportedError(),(e=this.wakeLock)==null||e.release(),this.wakeLock=null,document.removeEventListener(`visibilitychange`,this.handleVisibilityChange),document.removeEventListener(`fullscreenchange`,this.handleVisibilityChange)}async isSupported(){return{isSupported:this._isSupported}}async isKeptAwake(){return this._isSupported||this.throwUnsupportedError(),{isKeptAwake:!!this.wakeLock}}throwUnsupportedError(){throw this.unavailable(`Screen Wake Lock API not available in this browser.`)}};export{t as KeepAwakeWeb};
1
+ import{Cn as e}from"./index-BHXl-V4W.js";var t=class extends e{constructor(){super(...arguments),this.wakeLock=null,this._isSupported=typeof navigator<`u`&&`wakeLock`in navigator,this.handleVisibilityChange=()=>{document.visibilityState===`visible`&&this.keepAwake()}}async keepAwake(){this._isSupported||this.throwUnsupportedError(),this.wakeLock&&await this.allowSleep(),this.wakeLock=await navigator.wakeLock.request(`screen`),document.addEventListener(`visibilitychange`,this.handleVisibilityChange),document.addEventListener(`fullscreenchange`,this.handleVisibilityChange)}async allowSleep(){var e;this._isSupported||this.throwUnsupportedError(),(e=this.wakeLock)==null||e.release(),this.wakeLock=null,document.removeEventListener(`visibilitychange`,this.handleVisibilityChange),document.removeEventListener(`fullscreenchange`,this.handleVisibilityChange)}async isSupported(){return{isSupported:this._isSupported}}async isKeptAwake(){return this._isSupported||this.throwUnsupportedError(),{isKeptAwake:!!this.wakeLock}}throwUnsupportedError(){throw this.unavailable(`Screen Wake Lock API not available in this browser.`)}};export{t as KeepAwakeWeb};
@@ -1 +1 @@
1
- import{Cn as e,d as t,f as n,u as r}from"./index-B3-5kIOf.js";var i=class extends e{async stopAndHideScanner(){console.log(window.OSBarcodeWebScanner),window.OSBarcodeWebScanner&&(await window.OSBarcodeWebScanner.stop(),window.OSBarcodeWebScanner=null),document.getElementById(`cap-os-barcode-scanner-container-dialog`).style.display=`none`}buildScannerElement(){if(document.getElementById(`cap-os-barcode-scanner-container`)){document.getElementById(`cap-os-barcode-scanner-container`).className=`scanner-container-display`;return}let e=document.body.appendChild(document.createElement(`div`));e.id=`cap-os-barcode-scanner-container`;let t=document.createElement(`div`);t.id=`cap-os-barcode-scanner-container-dialog`,t.className=`scanner-dialog`;let n=document.createElement(`div`);n.className=`scanner-dialog-inner`;let r=document.createElement(`span`);r.id=`cap-os-barcode-scanner-close-button`,r.className=`close-button`,r.innerHTML=`&times;`,n.appendChild(r);let i=document.createElement(`p`);i.innerHTML=`&nbsp;`,n.appendChild(i);let a=document.createElement(`div`);a.className=`scanner-container-full-width`,a.id=`cap-os-barcode-scanner-container-scanner`,n.appendChild(a),t.appendChild(n),e.appendChild(t)}async scanBarcode(e){return this.buildScannerElement(),document.getElementById(`cap-os-barcode-scanner-container-dialog`).style.display=`block`,new Promise((i,a)=>{let o={facingMode:e.cameraDirection===1?`environment`:`user`,hasScannerButton:!1,scanButton:e.scanButton===void 0?!1:e.scanButton,showScanLine:!1,scanInstructions:e.scanInstructions?e.scanInstructions:``,orientation:e.scanOrientation?e.scanOrientation:r.PORTRAIT,showCameraSelection:e.web?.showCameraSelection?e.web.showCameraSelection:!1,typeHint:e.hint===17?void 0:e.hint,scannerFPS:e.web?.scannerFPS?e.web.scannerFPS:50},s=!1,c=document.getElementById(`cap-os-barcode-scanner-close-button`);c&&(c.onclick=async()=>{s||(s=!0,await this.stopAndHideScanner(),a(Error(`Couldn’t scan because the process was cancelled.`)))});let l=document.getElementById(`cap-os-barcode-scanner-container-scanner`);if(!l)throw Error(`Scanner Element is required for web`);window.OSBarcodeWebScanner=new n(l.id,{formatsToSupport:o.typeHint===void 0?void 0:[o.typeHint],verbose:void 0});let u={fps:o.scannerFPS,qrbox:l.getBoundingClientRect().width*(9/16)-10,aspectRatio:16/9,videoConstraints:{focusMode:`continuous`,height:{min:576,ideal:1920},deviceId:void 0,facingMode:o.facingMode}};window.OSBarcodeWebScanner.start({facingMode:o.facingMode},u,(e,n)=>{this.stopAndHideScanner(),i({ScanResult:e,format:n.result.format?.format??t.ALL})},e=>{[`NotFoundException`,`No barcode or QR code detected`,`No MultiFormat Readers were able to detect the code`].find(t=>e.indexOf(t)!==-1)||(this.stopAndHideScanner(),console.error(`[Scanner Web Error] ${e}`),a(e))})})}};export{i as CapacitorBarcodeScannerWeb};
1
+ import{Cn as e,_ as t,v as n,y as r}from"./index-BHXl-V4W.js";var i=class extends e{async stopAndHideScanner(){console.log(window.OSBarcodeWebScanner),window.OSBarcodeWebScanner&&(await window.OSBarcodeWebScanner.stop(),window.OSBarcodeWebScanner=null),document.getElementById(`cap-os-barcode-scanner-container-dialog`).style.display=`none`}buildScannerElement(){if(document.getElementById(`cap-os-barcode-scanner-container`)){document.getElementById(`cap-os-barcode-scanner-container`).className=`scanner-container-display`;return}let e=document.body.appendChild(document.createElement(`div`));e.id=`cap-os-barcode-scanner-container`;let t=document.createElement(`div`);t.id=`cap-os-barcode-scanner-container-dialog`,t.className=`scanner-dialog`;let n=document.createElement(`div`);n.className=`scanner-dialog-inner`;let r=document.createElement(`span`);r.id=`cap-os-barcode-scanner-close-button`,r.className=`close-button`,r.innerHTML=`&times;`,n.appendChild(r);let i=document.createElement(`p`);i.innerHTML=`&nbsp;`,n.appendChild(i);let a=document.createElement(`div`);a.className=`scanner-container-full-width`,a.id=`cap-os-barcode-scanner-container-scanner`,n.appendChild(a),t.appendChild(n),e.appendChild(t)}async scanBarcode(e){return this.buildScannerElement(),document.getElementById(`cap-os-barcode-scanner-container-dialog`).style.display=`block`,new Promise((i,a)=>{let o={facingMode:e.cameraDirection===1?`environment`:`user`,hasScannerButton:!1,scanButton:e.scanButton===void 0?!1:e.scanButton,showScanLine:!1,scanInstructions:e.scanInstructions?e.scanInstructions:``,orientation:e.scanOrientation?e.scanOrientation:t.PORTRAIT,showCameraSelection:e.web?.showCameraSelection?e.web.showCameraSelection:!1,typeHint:e.hint===17?void 0:e.hint,scannerFPS:e.web?.scannerFPS?e.web.scannerFPS:50},s=!1,c=document.getElementById(`cap-os-barcode-scanner-close-button`);c&&(c.onclick=async()=>{s||(s=!0,await this.stopAndHideScanner(),a(Error(`Couldn’t scan because the process was cancelled.`)))});let l=document.getElementById(`cap-os-barcode-scanner-container-scanner`);if(!l)throw Error(`Scanner Element is required for web`);window.OSBarcodeWebScanner=new r(l.id,{formatsToSupport:o.typeHint===void 0?void 0:[o.typeHint],verbose:void 0});let u={fps:o.scannerFPS,qrbox:l.getBoundingClientRect().width*(9/16)-10,aspectRatio:16/9,videoConstraints:{focusMode:`continuous`,height:{min:576,ideal:1920},deviceId:void 0,facingMode:o.facingMode}};window.OSBarcodeWebScanner.start({facingMode:o.facingMode},u,(e,t)=>{this.stopAndHideScanner(),i({ScanResult:e,format:t.result.format?.format??n.ALL})},e=>{[`NotFoundException`,`No barcode or QR code detected`,`No MultiFormat Readers were able to detect the code`].find(t=>e.indexOf(t)!==-1)||(this.stopAndHideScanner(),console.error(`[Scanner Web Error] ${e}`),a(e))})})}};export{i as CapacitorBarcodeScannerWeb};
@@ -1 +1 @@
1
- import{B as e,Cn as t,V as n}from"./index-B3-5kIOf.js";var r=class extends t{constructor(){super(...arguments),this.selectionStarted=!1}async impact(e){let t=this.patternForImpact(e?.style);this.vibrateWithPattern(t)}async notification(e){let t=this.patternForNotification(e?.type);this.vibrateWithPattern(t)}async vibrate(e){let t=e?.duration||300;this.vibrateWithPattern([t])}async selectionStart(){this.selectionStarted=!0}async selectionChanged(){this.selectionStarted&&this.vibrateWithPattern([70])}async selectionEnd(){this.selectionStarted=!1}patternForImpact(t=e.Heavy){return t===e.Medium?[43]:t===e.Light?[20]:[61]}patternForNotification(e=n.Success){return e===n.Warning?[30,40,30,50,60]:e===n.Error?[27,45,50]:[35,65,21]}vibrateWithPattern(e){if(navigator.vibrate)navigator.vibrate(e);else throw this.unavailable(`Browser does not support the vibrate API`)}};export{r as HapticsWeb};
1
+ import{B as e,Cn as t,z as n}from"./index-BHXl-V4W.js";var r=class extends t{constructor(){super(...arguments),this.selectionStarted=!1}async impact(e){let t=this.patternForImpact(e?.style);this.vibrateWithPattern(t)}async notification(e){let t=this.patternForNotification(e?.type);this.vibrateWithPattern(t)}async vibrate(e){let t=e?.duration||300;this.vibrateWithPattern([t])}async selectionStart(){this.selectionStarted=!0}async selectionChanged(){this.selectionStarted&&this.vibrateWithPattern([70])}async selectionEnd(){this.selectionStarted=!1}patternForImpact(e=n.Heavy){return e===n.Medium?[43]:e===n.Light?[20]:[61]}patternForNotification(t=e.Success){return t===e.Warning?[30,40,30,50,60]:t===e.Error?[27,45,50]:[35,65,21]}vibrateWithPattern(e){if(navigator.vibrate)navigator.vibrate(e);else throw this.unavailable(`Browser does not support the vibrate API`)}};export{r as HapticsWeb};
@@ -22,40 +22,36 @@
22
22
  <meta name="apple-mobile-web-app-title" content="Tarsk" />
23
23
 
24
24
  <title>Tarsk</title>
25
- <script type="module" crossorigin src="/assets/index-B3-5kIOf.js"></script>
25
+ <script type="module" crossorigin src="/assets/index-BHXl-V4W.js"></script>
26
26
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
27
27
  <link rel="modulepreload" crossorigin href="/assets/react-vendor-Ee0-5T4I.js">
28
- <link rel="modulepreload" crossorigin href="/assets/dist-CTLFS4dn.js">
29
- <link rel="modulepreload" crossorigin href="/assets/button-kWtLAMpB.js">
30
- <link rel="modulepreload" crossorigin href="/assets/browser-overlay-block-CiDtkfup.js">
31
- <link rel="modulepreload" crossorigin href="/assets/use-browser-overlay-block-DyprQSIG.js">
32
- <link rel="modulepreload" crossorigin href="/assets/dist-c_QADQ5u.js">
33
- <link rel="modulepreload" crossorigin href="/assets/es2015-BlPKkFZZ.js">
34
- <link rel="modulepreload" crossorigin href="/assets/dist-D-2G8xGB.js">
35
- <link rel="modulepreload" crossorigin href="/assets/alert-dialog-BxMfaLuO.js">
36
- <link rel="modulepreload" crossorigin href="/assets/async-loading-fallback-V0EaQ_Kn.js">
28
+ <link rel="modulepreload" crossorigin href="/assets/dist-BGVtJOIV.js">
29
+ <link rel="modulepreload" crossorigin href="/assets/button-D1ArHt_o.js">
30
+ <link rel="modulepreload" crossorigin href="/assets/dist-DLuGyArC.js">
31
+ <link rel="modulepreload" crossorigin href="/assets/async-loading-fallback-cCtsF_26.js">
37
32
  <link rel="modulepreload" crossorigin href="/assets/dist-OixawqbU.js">
38
- <link rel="modulepreload" crossorigin href="/assets/scroll-area-lkVMElz5.js">
39
- <link rel="modulepreload" crossorigin href="/assets/dist-DoxvnNEY.js">
40
- <link rel="modulepreload" crossorigin href="/assets/dist-C2G92uPn.js">
41
- <link rel="modulepreload" crossorigin href="/assets/tooltip-Db8UeYxm.js">
42
- <link rel="modulepreload" crossorigin href="/assets/use-toast-xpb5jNtN.js">
43
- <link rel="modulepreload" crossorigin href="/assets/api-DX1ny6q-.js">
44
- <link rel="modulepreload" crossorigin href="/assets/store-BSzKIu5G.js">
45
- <link rel="modulepreload" crossorigin href="/assets/chat-dock-context-8K8Ikjgy.js">
33
+ <link rel="modulepreload" crossorigin href="/assets/scroll-area-DgahW31C.js">
34
+ <link rel="modulepreload" crossorigin href="/assets/dist-DSd8c-dh.js">
35
+ <link rel="modulepreload" crossorigin href="/assets/dist-BQOHvuU5.js">
36
+ <link rel="modulepreload" crossorigin href="/assets/tooltip-BqGy0Y1-.js">
37
+ <link rel="modulepreload" crossorigin href="/assets/api-BEi04Nbw.js">
38
+ <link rel="modulepreload" crossorigin href="/assets/store-IJouqtOd.js">
39
+ <link rel="modulepreload" crossorigin href="/assets/chat-dock-context-BlxEXa9b.js">
46
40
  <link rel="modulepreload" crossorigin href="/assets/explorer-tab-context-BxUVwWQQ.js">
47
41
  <link rel="modulepreload" crossorigin href="/assets/main-tab-context-Byl1LybL.js">
42
+ <link rel="modulepreload" crossorigin href="/assets/browser-overlay-block-CiDtkfup.js">
43
+ <link rel="modulepreload" crossorigin href="/assets/use-browser-overlay-block-DyprQSIG.js">
48
44
  <link rel="modulepreload" crossorigin href="/assets/suspense-resource-BFrb_XJX.js">
49
- <link rel="modulepreload" crossorigin href="/assets/use-suspense-resource-Dakt9lfT.js">
50
- <link rel="modulepreload" crossorigin href="/assets/create-project-workspace-Dv_lEfZx.js">
51
- <link rel="modulepreload" crossorigin href="/assets/dist-DD4GtbiM.js">
52
- <link rel="modulepreload" crossorigin href="/assets/dist-CHhgoHp6.js">
53
- <link rel="modulepreload" crossorigin href="/assets/dist-yM5kyz9Q.js">
54
- <link rel="modulepreload" crossorigin href="/assets/dist-DsmF-KJ-.js">
45
+ <link rel="modulepreload" crossorigin href="/assets/dist-DTleMiQ4.js">
46
+ <link rel="modulepreload" crossorigin href="/assets/es2015-SVM3tAoD.js">
47
+ <link rel="modulepreload" crossorigin href="/assets/dist-CRRMWh4A.js">
48
+ <link rel="modulepreload" crossorigin href="/assets/dist-BrrQ4RKZ.js">
49
+ <link rel="modulepreload" crossorigin href="/assets/dist-sGpOBecq.js">
50
+ <link rel="modulepreload" crossorigin href="/assets/dist-bBjaCw3d.js">
55
51
  <link rel="modulepreload" crossorigin href="/assets/dist-CSssbxDI.js">
56
- <link rel="modulepreload" crossorigin href="/assets/useBaseQuery-34f0-SVd.js">
52
+ <link rel="modulepreload" crossorigin href="/assets/useBaseQuery-BytIT4Si.js">
57
53
  <link rel="modulepreload" crossorigin href="/assets/chunk-QFMPRPBF-COsSkB7x.js">
58
- <link rel="stylesheet" crossorigin href="/assets/index-BLNUy5nZ.css">
54
+ <link rel="stylesheet" crossorigin href="/assets/index-CLo6-Tya.css">
59
55
  </head>
60
56
  <body class="font-sans antialiased">
61
57
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tarsk",
3
- "version": "0.5.76",
3
+ "version": "0.5.77",
4
4
  "description": "CLI for Tarsk - Project Threads Manager",
5
5
  "keywords": [
6
6
  "cli",
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{s as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{Dt as a}from"./dist-CTLFS4dn.js";import{r as o}from"./store-BSzKIu5G.js";import{r as s,t as c}from"./button-kWtLAMpB.js";import{D as l,E as u,Pn as d,bt as f,vn as p}from"./dist-c_QADQ5u.js";import{D as m,Q as h,Qt as g,Wr as _,on as v}from"./api-DX1ny6q-.js";import{t as y}from"./use-toast-xpb5jNtN.js";import{At as b,Wn as x,vt as S,yt as C}from"./index-B3-5kIOf.js";import{t as w}from"./delete-confirm-dialog-Dl76vaxb.js";var T=t(),E=e(n(),1),D=r();function O(e){let t=(0,T.c)(6),{title:n,description:r,children:i}=e,a;t[0]!==r||t[1]!==n?(a=(0,D.jsx)(C,{title:n,description:r,sticky:!1}),t[0]=r,t[1]=n,t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==a?(o=(0,D.jsxs)(b,{children:[a,i]}),t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function k(){let e=(0,T.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsxs)(`div`,{className:`flex-1 space-y-2 rounded-xl border bg-card p-5`,children:[(0,D.jsx)(x,{className:`h-4 w-20`}),(0,D.jsx)(x,{className:`h-9 w-28`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,D.jsxs)(`div`,{className:`flex gap-4 px-6 pb-6 pt-6`,children:[t,(0,D.jsxs)(`div`,{className:`flex-1 space-y-3 rounded-xl border bg-card p-5`,children:[(0,D.jsx)(x,{className:`h-4 w-24`}),(0,D.jsx)(x,{className:`h-6 w-32`}),(0,D.jsx)(x,{className:`h-4 w-full`})]})]}),e[1]=n):n=e[1],n}function A(){let e=(0,T.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[(0,D.jsx)(x,{className:`h-5 w-28`}),(0,D.jsx)(x,{className:`h-4 w-64`})]}),(0,D.jsx)(x,{className:`h-9 w-28 shrink-0`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,D.jsxs)(`div`,{className:`divide-y divide-table-border`,children:[t,(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[(0,D.jsx)(x,{className:`h-5 w-36`}),(0,D.jsx)(x,{className:`h-4 w-56`}),(0,D.jsx)(x,{className:`h-4 w-32`})]}),(0,D.jsx)(x,{className:`h-9 w-24 shrink-0`})]})]}),e[1]=n):n=e[1],n}function j(){let[e,t]=(0,E.useState)(null),[n,r]=(0,E.useState)(!0),[b,x]=(0,E.useState)(!1),[C,T]=(0,E.useState)(!1),j=i(),M=o(e=>e.projects),N=(0,E.useMemo)(()=>M.reduce((e,t)=>e+t.threads.length,0),[M]);(0,E.useEffect)(()=>{P();let e=()=>{document.visibilityState===`visible`&&P()};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]);async function P(){r(!0);try{t(await h())}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to load account info`,variant:`destructive`})}finally{r(!1)}}function F(){g(`https://buy.stripe.com/14AcN6feK0Jjbheb2H3Nm03?client_reference_id=${e?.clientReferenceId??``}`)}function I(){g(`https://buy.stripe.com/9B67sMd6CgIh70Y0o33Nm04?client_reference_id=${e?.clientReferenceId??``}`)}async function L(){T(!0);try{if(await m(),_())try{await v()}catch{}window.close()}catch(e){T(!1),x(!1),y({title:`Error`,description:e instanceof Error?e.message:`Failed to delete account`,variant:`destructive`})}}let R=e?.plan===`unlimited-pro`,z=n&&e===null,B=e===null?n:!R;return(0,D.jsxs)(`div`,{className:`frosted-scrollbar flex h-full min-h-0 flex-col overflow-auto`,children:[(0,D.jsxs)(`div`,{className:`divide-y divide-table-border [&>*]:rounded-none`,children:[(0,D.jsx)(O,{title:`Account`,description:`Manage your Tarsk plan and prompt balance.`,children:z?(0,D.jsx)(k,{}):(0,D.jsxs)(`div`,{className:`flex gap-4 px-6 pb-6 pt-6`,children:[(0,D.jsxs)(`div`,{className:`flex-1 space-y-2 rounded-xl border bg-card p-5`,children:[(0,D.jsxs)(`div`,{className:s(a.label,`flex items-center gap-2 text-muted-foreground`),children:[(0,D.jsx)(f,{className:`h-4 w-4`}),`Balance`]}),(0,D.jsx)(`div`,{className:`flex items-end gap-2`,children:R?(0,D.jsx)(`span`,{className:a.stat,children:`Unlimited`}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{className:a.stat,children:e?.promptsRemaining.toLocaleString()??0}),(0,D.jsx)(`span`,{className:`${a.caption} mb-1`,children:`prompts remaining`})]})})]}),(0,D.jsxs)(`div`,{className:`flex-1 space-y-3 rounded-xl border bg-card p-5`,children:[(0,D.jsxs)(`div`,{className:s(a.label,`flex items-center gap-2 text-muted-foreground`),children:[(0,D.jsx)(p,{className:`h-4 w-4`}),`Current Plan`]}),(0,D.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,D.jsx)(`span`,{className:a.label,children:R?`Unlimited Pro`:`Pay as you go`}),R&&(0,D.jsx)(`span`,{className:s(a.compact,`rounded-full bg-primary/10 px-2 py-0.5 font-medium text-primary`),children:`Active`})]}),(0,D.jsx)(`p`,{className:a.bodyMuted,children:R?`You have unlimited prompts with no restrictions.`:`Purchase prompts as needed. Upgrade to Pro for unlimited access.`})]})]})}),B?(0,D.jsx)(O,{title:`Add Prompts`,description:`Top up your balance or upgrade to Pro for unlimited access.`,children:z?(0,D.jsx)(A,{}):(0,D.jsxs)(`div`,{className:`divide-y divide-table-border`,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`space-y-1`,children:[(0,D.jsx)(`span`,{className:a.label,children:`1,000 Prompts`}),(0,D.jsx)(`p`,{className:a.bodyMuted,children:`Top up your balance with 1,000 additional prompts for $5.`})]}),(0,D.jsx)(c,{onClick:F,className:`shrink-0`,children:`Top Up Balance`})]}),(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`space-y-1`,children:[(0,D.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,D.jsx)(p,{className:`h-4 w-4 text-primary`}),(0,D.jsx)(`span`,{className:a.label,children:`Unlimited Pro Plan`})]}),(0,D.jsx)(`p`,{className:a.bodyMuted,children:`Unlimited prompts for $100 and lifetime access to Tarsk.`}),(0,D.jsxs)(`ul`,{className:s(a.bodyMuted,`space-y-0.5`),children:[(0,D.jsxs)(`li`,{className:`flex items-center gap-1.5`,children:[(0,D.jsx)(d,{className:`h-3 w-3 text-primary`}),`Unlimited prompts`]}),(0,D.jsxs)(`li`,{className:`flex items-center gap-1.5`,children:[(0,D.jsx)(d,{className:`h-3 w-3 text-primary`}),`Priority access`]})]})]}),(0,D.jsx)(c,{onClick:I,className:`shrink-0`,children:`Purchase`})]})]})}):null,(0,D.jsx)(O,{title:`Delete Account`,description:`Permanently delete the Tarsk database and any logs on this device.`,children:(0,D.jsxs)(`div`,{className:`space-y-4 px-6 pb-6 pt-6`,children:[N>0?(0,D.jsxs)(S,{variant:`error`,children:[(0,D.jsxs)(`span`,{className:`flex items-start gap-2`,children:[(0,D.jsx)(u,{className:`mt-0.5 h-4 w-4 shrink-0`}),(0,D.jsxs)(`span`,{children:[`You have `,N,` workspace`,` `,N===1?`folder`:`folders`,` listed in Storage. Clear`,` `,N===1?`it`:`them`,` first under Storage — deleting your account does not remove those folders.`]})]}),(0,D.jsx)(`div`,{className:`mt-3`,children:(0,D.jsx)(c,{variant:`outline`,size:`sm`,onClick:()=>j(`/settings/storage`),children:`Go to Storage`})})]}):null,(0,D.jsx)(`p`,{className:a.bodyMuted,children:`This removes the Tarsk database and any logs on this machine and cannot be undone.`}),(0,D.jsxs)(c,{variant:`destructive`,onClick:()=>x(!0),children:[(0,D.jsx)(l,{className:`h-4 w-4`}),`Delete Account`]})]})})]}),(0,D.jsx)(w,{open:b,onOpenChange:e=>{!e&&!C&&x(!1)},title:`Delete account?`,description:`This permanently deletes the Tarsk database and any logs on this device. The app will close and you can relaunch it. This action cannot be undone.`,onConfirm:()=>void L(),confirming:C,confirmLabel:`Delete Account`,confirmingLabel:`Deleting...`})]})}export{j as default};
@@ -1,7 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Dt as i}from"./dist-CTLFS4dn.js";import{d as a,n as o,r as s}from"./button-kWtLAMpB.js";import{g as c,h as l,p as u}from"./dist-c_QADQ5u.js";import{a as d,c as ee,i as te,l as ne,n as re,o as ie,r as f,s as ae,t as p,u as m}from"./dist-D-2G8xGB.js";import{n as oe}from"./use-browser-overlay-block-DyprQSIG.js";var h=t(),g=e(n(),1),_=r(),v=`AlertDialog`,[se,ce]=l(v,[m]),y=m(),b=e=>{let{__scopeAlertDialog:t,...n}=e,r=y(t);return(0,_.jsx)(ie,{...r,...n,modal:!0})};b.displayName=v;var x=`AlertDialogTrigger`,S=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,_.jsx)(ee,{...i,...r,ref:t})});S.displayName=x;var C=`AlertDialogPortal`,w=e=>{let{__scopeAlertDialog:t,...n}=e,r=y(t);return(0,_.jsx)(d,{...r,...n})};w.displayName=C;var T=`AlertDialogOverlay`,E=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,_.jsx)(te,{...i,...r,ref:t})});E.displayName=T;var D=`AlertDialogContent`,[le,ue]=se(D),de=u(`AlertDialogContent`),O=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,children:r,...i}=e,o=y(n),s=g.useRef(null),l=a(t,s),u=g.useRef(null);return(0,_.jsx)(ne,{contentName:D,titleName:k,docsSlug:`alert-dialog`,children:(0,_.jsx)(le,{scope:n,cancelRef:u,children:(0,_.jsxs)(re,{role:`alertdialog`,...o,...i,ref:l,onOpenAutoFocus:c(i.onOpenAutoFocus,e=>{e.preventDefault(),u.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,_.jsx)(de,{children:r}),(0,_.jsx)(I,{contentRef:s})]})})})});O.displayName=D;var k=`AlertDialogTitle`,A=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,_.jsx)(ae,{...i,...r,ref:t})});A.displayName=k;var j=`AlertDialogDescription`,M=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,_.jsx)(f,{...i,...r,ref:t})});M.displayName=j;var fe=`AlertDialogAction`,N=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,_.jsx)(p,{...i,...r,ref:t})});N.displayName=fe;var P=`AlertDialogCancel`,F=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=ue(P,n),o=y(n),s=a(t,i);return(0,_.jsx)(p,{...o,...r,ref:s})});F.displayName=P;var I=({contentRef:e})=>{let t=`\`${D}\` requires a description for the component to be accessible for screen reader users.
2
-
3
- You can add a description to the \`${D}\` by passing a \`${j}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
4
-
5
- Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${D}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
6
-
7
- For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return g.useEffect(()=>{document.getElementById(e.current?.getAttribute(`aria-describedby`))||console.warn(t)},[t,e]),null},L=b,R=w,z=E,B=O,V=N,H=F,U=A,W=M;function G(e){let t=(0,h.c)(14),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({open:i,defaultOpen:n,onOpenChange:r,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;t[5]!==n||t[6]!==r||t[7]!==i?(o={open:i,defaultOpen:n,onOpenChange:r},t[5]=n,t[6]=r,t[7]=i,t[8]=o):o=t[8];let s=oe(o),c;return t[9]!==n||t[10]!==s||t[11]!==i||t[12]!==a?(c=(0,_.jsx)(L,{open:i,defaultOpen:n,onOpenChange:s,...a}),t[9]=n,t[10]=s,t[11]=i,t[12]=a,t[13]=c):c=t[13],c}var pe=R,K=g.forwardRef((e,t)=>{let n=(0,h.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=s(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,_.jsx)(z,{className:a,...i,ref:t}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});K.displayName=z.displayName;var q=g.forwardRef((e,t)=>{let n=(0,h.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,_.jsx)(K,{}),n[3]=a):a=n[3];let o;n[4]===r?o=n[5]:(o=s(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,r),n[4]=r,n[5]=o);let c;return n[6]!==i||n[7]!==t||n[8]!==o?(c=(0,_.jsxs)(pe,{children:[a,(0,_.jsx)(B,{ref:t,className:o,...i})]}),n[6]=i,n[7]=t,n[8]=o,n[9]=c):c=n[9],c});q.displayName=B.displayName;var J=e=>{let t=(0,h.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=s(`flex flex-col space-y-2 text-center sm:text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,_.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};J.displayName=`AlertDialogHeader`;var Y=e=>{let t=(0,h.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=s(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,_.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};Y.displayName=`AlertDialogFooter`;var X=g.forwardRef((e,t)=>{let n=(0,h.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let o;n[3]===r?o=n[4]:(o=s(i.dialogTitle,r),n[3]=r,n[4]=o);let c;return n[5]!==a||n[6]!==t||n[7]!==o?(c=(0,_.jsx)(U,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=c):c=n[8],c});X.displayName=U.displayName;var Z=g.forwardRef((e,t)=>{let n=(0,h.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let o;n[3]===r?o=n[4]:(o=s(i.dialogDescription,r),n[3]=r,n[4]=o);let c;return n[5]!==a||n[6]!==t||n[7]!==o?(c=(0,_.jsx)(W,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=c):c=n[8],c});Z.displayName=W.displayName;var Q=g.forwardRef((e,t)=>{let n=(0,h.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=s(o(),r),n[3]=r,n[4]=a);let c;return n[5]!==i||n[6]!==t||n[7]!==a?(c=(0,_.jsx)(V,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=c):c=n[8],c});Q.displayName=V.displayName;var $=g.forwardRef((e,t)=>{let n=(0,h.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=s(o({variant:`outline`}),`mt-2 sm:mt-0`,r),n[3]=r,n[4]=a);let c;return n[5]!==i||n[6]!==t||n[7]!==a?(c=(0,_.jsx)(H,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=c):c=n[8],c});$.displayName=H.displayName;export{Z as a,X as c,q as i,Q as n,Y as o,$ as r,J as s,G as t};
@@ -1,2 +0,0 @@
1
- import{$t as e,N as t,R as n,jt as r,kt as i,x as a}from"./dist-CTLFS4dn.js";var o=function(e){return e.PACKAGE_MANAGER=`tarsk.create-project.packageManager`,e.COMMIT_METHOD=`tarsk.create-project.commitMethod`,e.TEMPLATE_ID=`tarsk.create-project.templateId`,e.CREATE_BRANCH_AFTER_PR=`createBranchAfterPR`,e.CREATE_WORKSPACE_AFTER_PR=`createWorkspaceAfterPR`,e.PRIVATE_REPOSITORY_DEFAULT=`privateRepositoryDefault`,e.NEW_CHAT_ON_NEW_BRANCH=`newChatOnNewBranch`,e.SELECTED_MODEL_PREFIX=`selected-model-`,e.FONT_SCALE=`tarsk.general.fontScale`,e.FROSTED_PANEL_OPACITY=`tarsk.general.frostedPanelOpacity`,e.IMAGE_BACKGROUND=`tarsk.general.imageBackground`,e.WALLPAPER_MODE=`tarsk.general.wallpaperMode`,e.WALLPAPER_COLOR=`tarsk.general.wallpaperColor`,e.BRAND_COLOR=`tarsk.general.brandColor`,e.OPEN_WITH_PROGRAM=`tarsk.general.openWithProgram`,e.SERVER_URL=`tarsk.server.url`,e.SERVER_BIND_MODE=`tarsk.general.serverBindMode`,e.HISTORY_COLUMNS=`tarsk.settings.historyColumns`,e}({}),s=function(e){return e.MESSAGE_HISTORY=`chat_message_history`,e.BASH_COMMAND_DURATIONS=`tarsk.bash-command-durations`,e.SKILL_CATALOG_PREFIX=`tarsk.skills.catalog.`,e.SKILL_SOURCE_SELECTION=`tarsk.skills.selectedSource`,e.PROJECT_SESSION_OPEN_PREFIX=`tarsk.project-session-open.`,e}({});function c(e){return typeof localStorage>`u`?null:localStorage.getItem(e)}function l(e,t){typeof localStorage>`u`||localStorage.setItem(e,t)}function u(e){return typeof sessionStorage>`u`?null:sessionStorage.getItem(e)}function d(e,t){typeof sessionStorage>`u`||sessionStorage.setItem(e,t)}function f(e=`npm`){return c(`tarsk.create-project.packageManager`)??e}function p(e){l(`tarsk.create-project.packageManager`,e)}function m(e=`pull-request`){return c(`tarsk.create-project.commitMethod`)??e}function h(e){l(`tarsk.create-project.commitMethod`,e)}function g(e=``){return c(`tarsk.create-project.templateId`)??e}function _(e){l(`tarsk.create-project.templateId`,e)}function v(e=!1){let t=c(`createBranchAfterPR`);return t===null?e:t===`true`}function ee(e){l(`createBranchAfterPR`,e.toString())}function te(e=!1){let t=c(`createWorkspaceAfterPR`);return t===null?e:t===`true`}function ne(e){l(`createWorkspaceAfterPR`,e.toString())}function re(e=!1){let t=c(`privateRepositoryDefault`);return t===null?e:t===`true`}function ie(e){l(`privateRepositoryDefault`,e.toString())}function ae(e=!1){let t=c(`newChatOnNewBranch`);return t===null?e:t===`true`}function oe(e){l(`newChatOnNewBranch`,e.toString())}function se(){let e=u(`chat_message_history`);return e?JSON.parse(e):[]}function ce(e){let t=se();e.trim()&&t[t.length-1]!==e&&(t.push(e),d(`chat_message_history`,JSON.stringify(t)))}function le(e){return typeof sessionStorage>`u`?null:sessionStorage.getItem(e)}function ue(e,t){typeof sessionStorage>`u`||sessionStorage.setItem(e,t)}function de(e=`default`){return le(`tarsk.skills.selectedSource`)??e}function fe(e){ue(`tarsk.skills.selectedSource`,e)}function y(e){return`tarsk.skills.catalog.${e}`}function pe(e){let t=le(y(e));if(!t)return null;try{return JSON.parse(t)}catch{return null}}function me(e,t){ue(y(e),JSON.stringify(t))}function he(e){typeof sessionStorage>`u`||sessionStorage.removeItem(y(e))}var b=`tarsk.skills.customSources`;function ge(){if(typeof localStorage>`u`)return[];let e=localStorage.getItem(b);if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.id==`string`&&typeof e.title==`string`&&typeof e.url==`string`):[]}catch{return[]}}function _e(){typeof localStorage>`u`||localStorage.removeItem(b)}function ve(e=100){let t=c(`tarsk.general.fontScale`);if(t!==null){let e=Number(t);if(Number.isFinite(e)&&e>=50&&e<=300)return e}return e}function ye(e){l(`tarsk.general.fontScale`,String(e))}function be(e=80){let t=c(`tarsk.general.frostedPanelOpacity`);if(t!==null){let e=Number(t);if(Number.isFinite(e)&&e>=60&&e<=100)return e}return e}function xe(e){l(`tarsk.general.frostedPanelOpacity`,String(e))}var Se=new Set([`image`,`background`,`color`]),x=/^#[0-9a-fA-F]{6}$/,S=`#1f2937`,C=`#82c309`;function Ce(e){return e!==null&&Se.has(e)}function we(e=`background`){let t=c(`tarsk.general.wallpaperMode`);if(Ce(t))return t;if(t===`brand`)return`background`;let n=c(`tarsk.general.imageBackground`);return n===`false`?`background`:n===`true`?`image`:e}function Te(e){l(`tarsk.general.wallpaperMode`,e)}function Ee(e=S){let t=c(`tarsk.general.wallpaperColor`);return t!==null&&x.test(t)?t:e}function De(e){x.test(e)&&l(`tarsk.general.wallpaperColor`,e.toLowerCase())}function Oe(e=C){let t=c(`tarsk.general.brandColor`);return t!==null&&x.test(t)?t:e}function ke(e){x.test(e)&&l(`tarsk.general.brandColor`,e.toLowerCase())}function Ae(e=`VS Code`){return c(`tarsk.general.openWithProgram`)??e}function je(e){l(`tarsk.general.openWithProgram`,e)}function Me(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.fetchedAt==`number`&&(t.serverBindMode===`local`||t.serverBindMode===`network`)&&Array.isArray(t.networkAddresses)&&t.networkAddresses.every(e=>typeof e==`string`)}function Ne(){let e=c(`tarsk.general.serverBindMode`);if(!e)return null;try{let t=JSON.parse(e);return Me(t)?t:null}catch{return null}}function Pe(e){l(`tarsk.general.serverBindMode`,JSON.stringify({...e,fetchedAt:e.fetchedAt??Date.now()}))}var Fe=`641`;function w(){return typeof window>`u`?null:window.Capacitor?.getPlatform?.()??null}function Ie(){return D()&&w()===`ios`}function T(){return c(o.SERVER_URL)}function Le(e){l(o.SERVER_URL,e)}function Re(e){try{return new URL(e).hostname}catch{return``}}function E(e){let t=e.trim();if(!t)return``;let n=t.replace(/^https?:\/\//,``).split(`/`)[0]?.split(`:`)[0]??``;return n?`http://${n}:${Fe}`:``}function D(){if(typeof window>`u`)return!1;if(window.Capacitor?.isNativePlatform?.())return!0;let e=window.location.protocol;return e===`capacitor:`||e===`ionic:`||e===`file:`}function ze(){let e=T();if(e){let t=Re(e);if(t)return t}return D()?``:document.location.hostname}async function Be(e){try{return(await fetch(`${e.replace(/\/$/,``)}/health`,{method:`GET`})).ok}catch{return!1}}function Ve(e){let t=E(e);if(t){if(D()){Le(t),window.location.reload();return}window.location.assign(t)}}function O(){return typeof window<`u`&&`__electrobunWebviewId`in window}function He(){return typeof document<`u`&&document.location.port===`8100`}function k(){if(typeof document>`u`)return null;let{protocol:e,hostname:t,port:n,host:r,origin:i}=document.location;return e!==`http:`&&e!==`https:`?null:i||`${e}//${r??(n?`${t}:${n}`:t)}`}function Ue(){if(typeof document>`u`)return`http://localhost:641`;let{hostname:e,port:t}=document.location;return t===`8100`?`http://${e}:462`:k()||`http://${e}:641`}function A(){if(O()){let e=k();if(e)return e}if(!D())return Ue();let e=T();return e?e.replace(/\/$/,``):Ue()}function j(e){let t=e.startsWith(`/`)?e:`/${e}`;return`${A()}${t}`}function M(e){if(!e)return`Unknown error`;if(typeof e.error==`string`)return e.error.trim()||`Unknown error`;if(e.error&&typeof e.error==`object`){let t=e.error.message;if(typeof t==`string`&&t.trim())return t.trim();let n=e.error.details;return typeof n==`string`&&n.trim()?n.trim():`Unknown error`}return`Unknown error`}async function N(e){try{return M(await e.json())}catch{}return e.statusText||`Unknown error`}function P(e,t,n){let r=Error(e);return n?.error&&typeof n.error==`object`&&(r.details=n.error.details,r.code=n.error.code),r}async function F(e){let t;try{t=await e.json()}catch{}throw P(M(t)||e.statusText||`Unknown error`,e,t)}async function I(e,t){let n=await fetch(j(e),{...t,method:`GET`});if(!n.ok){let e=await N(n);throw Error(e)}return n.blob()}async function L(e,t){let n=await fetch(j(e),{...t,method:`GET`});if(!n.ok){let e=await N(n);throw Error(e)}return n.json()}async function R(e,t,n){let r=await fetch(j(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await N(r);throw Error(e)}return r.json()}async function We(e,t,n){let r=await fetch(j(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await N(r);throw Error(e)}return r.blob()}async function Ge(e,t,n){let r=await fetch(j(e),{...n,method:`POST`,headers:{"Content-Type":`application/octet-stream`,...n?.headers},body:t});if(!r.ok){let e=await N(r);throw Error(e)}return r.json()}async function z(e,t,n){let r=await fetch(j(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await N(r);throw Error(e)}return r.json()}async function B(e,t,n){let r=await fetch(j(e),{...n,method:`PATCH`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await N(r);throw Error(e)}return r.json()}async function Ke(e,t,n){let r=await fetch(j(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await N(r);throw Error(e)}return r.body}async function V(e,t){let n=await fetch(j(e),{...t,method:`DELETE`});if(!n.ok){let e=await N(n);throw Error(e)}if(n.status!==204)return n.json()}async function qe(e,t){let n=await fetch(j(e),{...t,method:`DELETE`});if(!n.ok){let e=await N(n);throw Error(e)}return n.body}async function H(e,t,n){let r=await fetch(j(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0,signal:n?.signal});return r.ok||await F(r),r.body}async function U(e,t){let n=await fetch(j(e),{...t,method:`GET`});return n.ok||await F(n),n.body}async function W(e,t,n){let r=await fetch(j(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e;try{e=await r.json()}catch{}throw P(M(e)||r.statusText||`Unknown error`,r,e)}return r.json()}async function G(e,t,n){let r=await fetch(j(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e;try{e=await r.json()}catch{}throw P(M(e)||r.statusText||`Unknown error`,r,e)}return r.json()}function K(...e){return e.map(e=>encodeURIComponent(String(e))).join(`/`)}var q=t(`gitops.ttl-cache`),J=new class{cache=new Map;inFlightRequests=new Map;generations=new Map;async get(e,t,n){let r=e.startsWith(`unified-git-status-`),i=r?performance.now():0,a=this.inFlightRequests.get(e);if(a)return r&&q.debug(`in-flight-reuse`,{key:e}),a;let o=this.cache.get(e);if(o&&Date.now()<o.expires){if(r){let t=Math.round(performance.now()-i);q.debug(`cache hit`,{key:e,duration:t})}return o.data}r&&q.debug(`cache miss, fetching`,{key:e});let s=this.generations.get(e)??0,c=t().then(t=>{if((this.generations.get(e)??0)===s){if(this.cache.set(e,{data:t,expires:Date.now()+n}),r){let t=Math.round(performance.now()-i);q.debug(`stored in cache`,{key:e,duration:t})}}else r&&q.debug(`skipped stale cache write`,{key:e});return t}).finally(()=>{this.inFlightRequests.get(e)===c&&this.inFlightRequests.delete(e)});return this.inFlightRequests.set(e,c),c}getSync(e){let t=this.cache.get(e);if(t&&Date.now()<t.expires)return t.data}bumpGeneration(e){this.generations.set(e,(this.generations.get(e)??0)+1)}invalidate(e){this.cache.delete(e),this.inFlightRequests.delete(e),this.bumpGeneration(e)}invalidatePattern(e){let t=[];for(let n of this.cache.keys())e.test(n)&&t.push(n);for(let n of this.inFlightRequests.keys())e.test(n)&&!t.includes(n)&&t.push(n);for(let e of t)this.cache.delete(e),this.inFlightRequests.delete(e),this.bumpGeneration(e)}clear(){for(let e of new Set([...this.cache.keys(),...this.inFlightRequests.keys(),...this.generations.keys()]))this.bumpGeneration(e);this.cache.clear(),this.inFlightRequests.clear()}};function Je(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.rel=`noopener`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}function Y(e,t=`image/png`){let n=atob(e),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return new Blob([r],{type:t})}function Ye(e){let t=e.indexOf(`,`),n=e.slice(0,t);return Y(e.slice(t+1),n.match(/^data:([^;]+)/)?.[1]??`image/png`)}async function X(e){if(e.imageData)return Y(e.imageData);if(e.imageUrl){if(e.imageUrl.startsWith(`data:`))return Ye(e.imageUrl);let t=r(e.imageUrl,A()),n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch image: ${n.status}`);return n.blob()}throw Error(`imageUrl or imageData is required`)}function Xe(e){return!e.imageUrl||i(e.imageUrl)?e:{...e,imageUrl:r(e.imageUrl,A())}}async function Ze(e){let t=e.filename??`generated-image-${Date.now()}.png`;try{return Je(await X(e),t),{path:t}}catch{if(!e.imageUrl||e.imageUrl.startsWith(`data:`))throw Error(`imageUrl or imageData is required`);let n=document.createElement(`a`);return n.href=e.imageUrl,n.download=t,n.target=`_blank`,n.rel=`noopener noreferrer`,document.body.appendChild(n),n.click(),document.body.removeChild(n),{path:t}}}async function Qe(e){let t=await X(e);if(!navigator.clipboard?.write)throw Error(`Clipboard API not available`);let n=t.type||`image/png`,r=t.type?t:new Blob([t],{type:n});await navigator.clipboard.write([new ClipboardItem({[n]:r})])}async function $e(e){return O()?R(`api/image/save`,Xe(e)):Ze(e)}async function et(e){if(O()){await R(`api/image/clipboard`,Xe(e));return}await Qe(e)}function tt(e){let t=e.trim().toLowerCase();return t===`load failed`||t.includes(`failed to fetch`)||t.includes(`network error`)||t.includes(`network connection was lost`)||t.includes(`networkrequestfailed`)||t.includes(`networkrequest failed`)||t.includes(`socket is not connected`)}function nt(e){if(e instanceof Error&&`code`in e&&typeof e.code==`string`)return e.code}function rt(e){if(nt(e)===`THREAD_BUSY`)return!0;if(!(e instanceof Error))return!1;let t=e.message.toLowerCase();return t.includes(`already processing a message`)||t.includes(`already being processed`)||t.includes(`multiple chat windows are processing`)}function it(e,t){return rt(e)?t?.trim()?!0:e instanceof Error?!e.message.toLowerCase().includes(`multiple chat windows`):!1:!1}var at=50;function ot(e,t,n,r,i){let o=e.getReader(),s=!1;function c(){s=!0,o.cancel().catch(()=>{})}let l=new TextDecoder,u=``,d=0;function f(e){let t=e.content?.trim();if(t)return a(t);let n=e.error?.message?.trim();if(n)return a(n);let r=e.message?.trim();return r?a(r):`Unknown error`}function p(e){if(!e)return!1;let t=e.trim();return t.length>200?!1:[/^Cannot read properties/i,/^Error:/i,/^TypeError:/i,/^ReferenceError:/i,/^SyntaxError:/i,/^failed to/i,/^error:/i,/^forbidden/i,/^unauthorized/i].some(e=>e.test(t))}async function m(){d+=1,!(d<at)&&(d=0,await new Promise(e=>{setTimeout(e,0)}))}async function h(e){return e.type===`ping`?`continue`:e.type===`error`?(r(f(e)),n(),`stop`):e.type===`message`?(i?.({role:e.role??`assistant`,content:e.content??``,isThinking:e.isThinking}),`continue`):e.type===`complete`?(n(),`stop`):e.type===`result`&&p(e.content)?(r(a(e.content??`Unknown error`)),n(),`stop`):(t(e),await m(),`continue`)}async function g(){if(!u.trim())return`continue`;try{return await h(JSON.parse(u))}catch{return u.trim()&&t({type:`result`,content:u}),`continue`}}async function _(e){let t=e.trim();if(!t)return`continue`;try{return await h(JSON.parse(t))}catch{return`continue`}}async function v(){try{for(;!s;){let{done:e,value:t}=await o.read();if(e||s){if(!s&&e){if(await g()===`stop`)return;n()}break}u+=l.decode(t,{stream:!0});let r=u.split(`
2
- `);u=r.pop()??``;for(let e of r)if(s||await _(e)===`stop`)return}}catch(e){s||(r(e instanceof Error?e.message:`Stream error`),n())}}return v(),c}var st=t(`gitops.api`);async function ct(e,t=!1,n=!1){let r=new URLSearchParams;t&&r.set(`fresh`,`true`),n&&r.set(`asyncRefresh`,`true`);let i=r.toString(),a=i?`api/git/unified-status/${K(e)}?${i}`:`api/git/unified-status/${K(e)}`,o=performance.now();st.debug(`getUnifiedGitStatus start`,{threadId:e,fresh:t});try{return await L(a)}finally{let n=Math.round(performance.now()-o);st.debug(`getUnifiedGitStatus end`,{threadId:e,fresh:t,duration:n})}}async function lt(e,t,n){return(await R(`api/git/generate-commit-message/${K(e)}`,{model:t,provider:n})).message}async function ut(e,t){await R(`api/git/commit/${K(e)}`,{message:t})}async function dt(e){await R(`api/git/push/${K(e)}`)}async function ft(e){await R(`api/git/pull/${K(e)}`)}async function pt(e){return R(`api/git/sync-branch/${K(e)}`,{})}async function mt(e,t,n){return R(`api/git/generate-pr-info/${K(e)}`,{model:t,provider:n})}async function ht(e,t,n,r){return R(`api/git/create-pr/${K(e)}`,{title:t,description:n,baseBranch:r})}async function gt(e){await R(`api/git/fetch/${K(e)}`)}async function _t(e,t,n){return R(`api/git/create-branch/${K(e)}`,{baseBranch:t,branchName:n})}async function vt(e,t){return R(`api/git/revert-file/${K(e)}`,{filePath:t})}async function yt(e,t=50){return(await L(`api/git/log/${K(e)}?limit=${t}`)).commits}async function bt(e){return L(`api/git/pr-status/${K(e)}`)}async function xt(e,t,n,r){return R(`api/git/create-repo/${K(e)}`,{repoName:t,description:n,isPrivate:r})}async function St(e,t){return R(`api/git/checkpoint/${K(e)}`,{messageId:t})}async function Ct(e,t){return R(`api/git/checkpoint-restore/${K(e)}`,{checkpointRef:t})}async function wt(e){return L(`api/git/diff/${K(e)}`)}async function Tt(e,t,n){return I(`api/git/media/${K(e)}?path=${encodeURIComponent(t)}&version=${n}`)}async function Et(e){return R(`api/git/cleanup-deleted-branches/${K(e)}`)}async function Dt(){return(await L(`api/skills/popular`)).skills??[]}async function Ot(){return(await L(`api/skills/sources`)).sources??[]}async function kt(e){return(await L(`api/skills/catalog?${new URLSearchParams({sourceId:e}).toString()}`)).skills??[]}async function At(e,t){return R(`api/skills/sources/verify`,{title:e,url:t})}async function jt(e,t,n){return z(`api/skills/sources/${K(e)}`,{title:t,url:n})}async function Mt(e){await V(`api/skills/sources/${K(e)}`)}async function Nt(e){return(await R(`api/skills/sources/import`,{sources:e})).sources??[]}async function Pt(e,t){return L(`api/skills/catalog/files?${new URLSearchParams({sourceId:e,skillId:t}).toString()}`)}async function Ft(e,t,n){return L(`api/skills/catalog/file?${new URLSearchParams({sourceId:e,skillId:t,relativePath:n}).toString()}`)}async function It(){return(await L(`api/agents/popular`)).agents??[]}async function Lt(){return(await L(`api/slash-commands/popular`)).commands??[]}async function Rt(e,t,n,r,i){return R(`api/threads/${K(e)}/ai-files/github-folder`,{gitHubRepo:t,gitHubFolder:n,destPath:r,gitHubRef:i})}async function zt(e,t,n,r){return R(`api/threads/${K(e)}/ai-files/catalog-skill`,{sourceId:t,skillId:n,destPath:r})}var Bt=t(`gitops.api`),Vt=class extends Error{constructor(){super(`No prompts remaining`),this.name=`EmptyBalanceError`}},Ht=50;async function Ut(){let{plan:e,promptsRemaining:t}=await an();return e===`unlimited-pro`?{isEmpty:!1,isLow:!1,promptsRemaining:-1}:{isEmpty:t<=0,isLow:t>0&&t<=Ht,promptsRemaining:t}}var Wt=null,Z=!1;function Gt(e){Wt=e}function Kt(e){Z||(Z=!0,Wt?.(e))}async function qt(){return L(`api/scaffold/templates`)}async function Jt(){return(await L(`api/scaffold/check-vp`)).installed}async function Yt(){return R(`api/scaffold/install-vp`,{})}async function Xt(e,t,n,r){return H(`api/scaffold`,{projectName:e,templateId:t,packageManager:n},{signal:r})}async function Zt(){return J.get(`providers`,async()=>L(`api/providers`),6e4)}function Qt(e){return`${A()}/api/providers/${K(e)}/logo`}function $t(e){return`https://models.tarsk.io/svg/${K(e)}.svg`}async function en(e){return J.get(`provider-credits-${e}`,async()=>L(`api/providers/${K(e)}/credits`),3e4)}async function tn(e,t){await R(`api/providers/keys`,{providerName:e,apiKey:t}),J.invalidate(`providers`)}async function nn(e){await R(`api/providers/env`,{values:e}),J.invalidate(`providers`)}function Q(e){return typeof window>`u`?!1:window.open(e,`_blank`,`noopener,noreferrer`)!==null}async function rn(e){if(typeof window<`u`&&!O()){Q(e);return}try{await R(`api/providers/open-external`,{url:e})}catch(t){if(Q(e))return;throw t instanceof Error?t:Error(`Failed to open URL`)}}async function an(){return L(`api/account/info`)}async function on(){return R(`api/account/delete`,{})}async function sn(){return R(`api/account/quit`,{})}async function cn(){return L(`api/account/spend`)}async function ln(){return L(`api/account/statistics`)}async function un(){return V(`api/account/statistics`)}async function dn(){return L(`api/account/settings`)}async function fn(){return L(`api/slack/settings`)}async function pn(){await V(`api/logs`)}async function mn(e){return U(`api/logs/stream`,e)}async function hn(e){try{await R(`api/logs`,e)}catch(e){Bt.debug(`Failed to post client log entry`,e)}}async function gn(){return L(`api/slack/manifest`)}async function _n(e){return z(`api/slack/tokens`,e)}async function vn(){await V(`api/slack/tokens`)}async function yn(e){return R(`api/slack/bindings`,e)}async function bn(e,t){await V(`api/slack/bindings/${K(e)}/${K(t)}`)}async function xn(e){return z(`api/account/settings`,e)}async function Sn(e,t){return(await R(`api/voice-model/process-transcript`,{text:e,threadId:t?.threadId,provider:t?.provider,model:t?.model})).text}async function Cn(){return J.get(`available-programs`,async()=>(await L(`api/programs`)).programs??[],3e5)}async function wn(){return(await L(`api/processes`)).processes}async function Tn(e){await R(`api/processes/${K(e)}/kill`)}async function En(){return J.get(`processing-threads`,async()=>{let e=await L(`api/threads/processing`);return{processingThreadIds:e.processingThreadIds??[],processingRuns:e.processingRuns??[]}},0)}async function Dn(){return(await En()).processingThreadIds}async function On(e){let t=new URLSearchParams({since:e.since});return e.ids&&t.set(`ids`,e.ids),J.get(`processing-roster:${t.toString()}`,async()=>(await L(`api/conversations/processing-roster?${t.toString()}`)).conversations??[],0)}async function kn(){return J.get(`git-user`,async()=>{try{let e=await L(`api/git/user`);return{name:e.name??``,email:e.email??``}}catch{return{name:``,email:``}}},6e5)}async function An(){return(await kn()).name}async function jn(){return J.get(`projects`,async()=>{let t=await L(`api/projects`),r=Array.isArray(t)?t:t.projects??[],i=Array.isArray(t)?null:t.cloneRootPath??null;return{projects:(r||[]).map(t=>{let n=t;return{projectId:n.projectId??n.id,name:n.name,gitUrl:n.gitUrl,projectPath:n.projectPath??n.path,threads:n.threads??[],commands:n.commands??[],setupScript:n.setupScript,runCommand:n.runCommand,planPrompt:n.planPrompt,testPrompt:n.testPrompt,reviewPrompt:n.reviewPrompt,customSystemPrompt:n.customSystemPrompt,useCustomSystemPrompt:!!n.useCustomSystemPrompt,allowAllCommands:n.allowAllCommands!==!1,allowedCommandPatterns:n.allowedCommandPatterns??[],defaultChatMode:e(n.defaultChatMode)?n.defaultChatMode:void 0,disabledTools:n.disabledTools??void 0,smartJsEnabled:n.smartJsEnabled===!0,useBuiltInBrowser:n.useBuiltInBrowser!==!1,projectIcon:n.projectIcon,tasksModifiedCount:Number(n.tasksModifiedCount)||0,type:n.type===`bot`?`bot`:`standard`,builtIn:n.builtIn===!0}}).map(e=>{let t=(e.threads||[]).map(e=>{let t=e,r=t.threadId??t.id;return{threadId:r,title:t.title??r,path:t.path??``,currentBranch:t.currentBranch??``,isSelected:!!t.isSelected,model:t.model??void 0,modelProvider:t.modelProvider??void 0,gitStatusDot:n(t.gitStatusDot)}});return{...e,threads:t}}),cloneRootPath:i}},3e4)}async function Mn(e){await R(`api/projects/${K(e)}/tasks/clear-modifications`)}async function Nn(e,t,n){return H(`api/projects`,{gitUrl:e,commitMethod:t},{signal:n})}async function Pn(e,t){await R(`api/projects/git-auth/${encodeURIComponent(e)}`,t)}async function Fn(e){return H(`api/projects/open-folder`,{},{signal:e})}async function In(e,t){return H(`api/projects/open-path`,{path:e},{signal:t})}async function Ln(e,t){return H(`api/projects/new-folder`,{projectName:e},{signal:t})}async function Rn(e,t){return H(`api/projects/new-bot`,{projectName:e},{signal:t})}function zn(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let e=typeof r.result==`string`?r.result:``,n=e.indexOf(`,`);t(n>=0?e.slice(n+1):e)},r.onerror=()=>n(r.error),r.readAsDataURL(e)})}async function Bn(e,t,n,r){return H(`api/projects/from-zip`,{data:await zn(e),name:t,overrideProjectId:n},{signal:r})}async function Vn(e){return J.get(`project-${e}`,async()=>{let t=await L(`api/projects/${K(e)}`);return{...t,projectPath:t.projectPath??t.path}},3e4)}async function Hn(e){return L(`api/projects/${K(e)}/env-vars`)}async function Un(e){return(await L(`api/projects/${K(e)}/window-state`)).state}async function Wn(e,t){await G(`api/projects/${K(e)}/window-state`,{state:t})}async function Gn(e,t,n){return R(`api/projects/${K(e)}/replace-unique-text`,{oldText:t,newText:n})}async function Kn(e,t){await z(`api/projects/${K(e)}/env-vars`,{vars:t})}async function qn(e){await V(`api/projects/${K(e)}`),J.invalidate(`projects`)}function Jn(e){J.invalidate(`projects`),e&&J.invalidate(`project-${e}`)}async function Yn(e,t,n){return H(`api/threads`,{projectId:e,title:t,sourceThreadId:n?.sourceThreadId})}async function Xn(e,t){let n=await qe(`api/threads/${K(t)}?stream=true`);return J.invalidate(`projects`),n}async function Zn(e,t){await B(`api/threads/${K(e)}`,t),J.invalidate(`thread-${e}`),(`model`in t||`modelProvider`in t||`chatTitles`in t||`diffComments`in t)&&J.invalidate(`projects`)}async function Qn(e,t,n){return(await R(`api/threads/${K(e)}/generate-title`,{prompt:t,provider:n?.provider,model:n?.model})).title}async function $n(e,t){return(await R(`api/chat/${K(e)}/auto-route`,{prompt:t})).decision}async function er(e,t){return R(`api/threads/${K(e)}/fix-comments`,{comments:t})}async function tr(e,t){await R(`api/threads/${K(t)}/select`)}async function nr(e,t){let n=t?`?conversationId=${encodeURIComponent(t)}`:``;return{threadId:e,messages:await L(`api/threads/${K(e)}/messages${n}`)}}async function rr(e,t,n=1,r=2e3){let i=new URLSearchParams({offset:String(n),limit:String(r)});return L(`api/threads/${K(e)}/observations/${K(t)}?${i}`)}async function ir(e){return(await L(`api/threads/${K(e)}/conversation-folder-path`)).path}async function ar(e){return(await L(`api/threads/${K(e)}/session-learnings`)).learnings}async function or(e,t,n,r=[],i,a,o,s,c,l,u){let{isEmpty:d,isLow:f,promptsRemaining:p}=await Ut();if(d)throw new Vt;return f?Kt(p):Z=!1,H(`api/chat`,{threadId:e,content:t,model:n,provider:a,planMode:o,ralphMode:s,orchestrateMode:u,checkpointRef:c,conversationId:l,attachments:r.map(e=>({name:e.fileName,content:e.content.split(`,`)[1]||e.content,size:0,mimeType:e.mimeType||`application/octet-stream`}))},{signal:i})}async function sr(e,t,n,r,i,a){await R(`api/chat/${K(e)}/steer`,{messageId:t,content:n,conversationId:r,model:i,attachments:a.map(e=>({name:e.fileName,content:e.content.split(`,`)[1]||e.content,size:0,mimeType:e.mimeType||`application/octet-stream`}))})}async function cr(e,t,n){let r=new URLSearchParams({replay:`compact`}),i=n?.trim();return i&&r.set(`conversationId`,i),U(`api/chat/subscribe/${K(e)}?${r.toString()}`,{signal:t})}async function lr(e){let t=await V(`api/chat/${K(e)}`);return J.invalidate(`thread-${e}`),t?.conversationId||``}async function ur(e,t){return W(`api/chat/${K(e)}/compact`,t)}async function dr(e,t){let n=await R(`api/chat/${K(e)}/workspace-handoff`,t);return typeof n.brief==`string`?n.brief:``}async function fr(e,t){try{let n=new URLSearchParams,r=t?.conversationId?.trim();r&&n.set(`conversationId`,r),t?.all&&n.set(`all`,`1`);let i=n.size>0?`?${n.toString()}`:``;await R(`api/chat/stop/${K(e)}${i}`)}catch{}}async function $(e,t){return t.runNow&&t.setupScript?Ke(`api/projects/${K(e)}`,t):(await G(`api/projects/${K(e)}`,t),Jn(e),null)}async function pr(e,t){await W(`api/projects/${K(e)}/open`,{program:t})}async function mr(e,t){await W(`api/threads/${K(e)}/open`,{program:t})}async function hr(e,t){await $(e,{program:t})}async function gr(e,t,n){return $(e,{setupScript:t,runNow:n})}async function _r(e,t){await $(e,{name:t})}async function vr(e,t){let n=new URLSearchParams({provider:e});t!==void 0&&n.set(`supportedTools`,t?`true`:`false`),n.set(`useCase`,`coding`);let r=`available-models-${n.toString()}`;return J.get(r,async()=>{let e=await L(`api/models?${n.toString()}`);return{models:e.models??[],enabledModelIds:e.enabledModelIds??[]}},12e4)}async function yr(e){let t=new URLSearchParams({useCase:e}),n=`available-models-all-${e}`;return J.get(n,async()=>(await L(`api/models/all?${t.toString()}`)).providers??{},12e4)}async function br(e,t){await R(`api/models/${K(e,t)}/enable`),J.invalidate(`enabled-models`),J.invalidatePattern(/^available-models-/),J.invalidatePattern(/^available-image-models-/)}async function xr(e,t){await R(`api/models/${K(e,t)}/disable`),J.invalidate(`enabled-models`),J.invalidatePattern(/^available-models-/),J.invalidatePattern(/^available-image-models-/)}async function Sr(e,t,n){await R(`api/models/${K(e,t)}/settings`,n),J.invalidatePattern(/^available-models-/),J.invalidate(`enabled-models`)}async function Cr(){return J.get(`enabled-models`,async()=>(await L(`api/models/enabled?useCase=coding`)).enabledModels??{},12e4)}async function wr(e){let t=new URLSearchParams({provider:e,useCase:`image`}),n=`available-image-models-${e}`;return J.get(n,async()=>{let e=await L(`api/models?${t.toString()}`);return{models:e.models??[],enabledModelIds:e.enabledModelIds??[]}},12e4)}async function Tr(){return J.get(`enabled-image-models`,async()=>(await L(`api/models/enabled?useCase=image`)).enabledModels??{},12e4)}async function Er(e,t){await R(`api/models/${K(e,t)}/enable?useCase=image`),J.invalidate(`enabled-image-models`),J.invalidatePattern(/^available-models-/),J.invalidatePattern(/^available-image-models-/)}async function Dr(e,t){await R(`api/models/${K(e,t)}/disable?useCase=image`),J.invalidate(`enabled-image-models`),J.invalidatePattern(/^available-models-/),J.invalidatePattern(/^available-image-models-/)}async function Or(e,t,n,r){return R(`api/image/generate`,{prompt:e,model:t,provider:n,threadId:r})}async function kr(e){await et(e)}async function Ar(e){return $e(e)}async function jr(e,t){return We(`api/projects/${K(e)}/plugin-export`,t)}async function Mr(e,t){return R(`api/projects/${K(e)}/plugin-import/preview`,{url:t})}async function Nr(e,t){return R(`api/projects/${K(e)}/plugin-import`,t)}async function Pr(e,t){return R(`api/projects/${K(e)}/plugin-upload`,t)}async function Fr(e){let t=await R(`api/models/${K(e)}/refresh`);return J.invalidatePattern(/^available-models-/),J.invalidatePattern(/^available-image-models-/),J.invalidate(`enabled-models`),J.invalidate(`enabled-image-models`),t.modelCount??0}async function Ir(e,t){await R(`api/projects/${K(e)}/commands`,t)}async function Lr(e,t){await V(`api/projects/${K(e)}/commands/${K(t)}`)}async function Rr(e){return L(`api/projects/${K(e)}/package-scripts`)}async function zr(e){return L(`api/threads/${K(e)}/files`)}async function Br(e){return(await L(`api/threads/${K(e)}/project-scripts`)).scripts}async function Vr(e,t,n,r){let{relativeFolder:i,...a}=r??{},o={scriptName:t,command:n};return i&&(o.relativeFolder=i),H(`api/threads/${K(e)}/project-scripts/run`,o,a)}async function Hr(e,t){return R(`api/threads/${K(e)}/project-scripts/stop`,{scriptName:t})}async function Ur(e){return J.get(`thread-${e}`,async()=>L(`api/threads/${e}`),45e3)}async function Wr(e){return(await L(`api/projects/${K(e)}/user-tasks`)).tasks??[]}async function Gr(e,t){return R(`api/projects/${K(e)}/user-tasks`,{content:t})}async function Kr(e,t){await V(`api/projects/${K(e)}/user-tasks/${K(t)}`)}async function qr(e){return R(`api/projects/${K(e)}/run-suggest`,{})}async function Jr(e,t,n){return Bt.info(`Start dev server requested`,{projectId:e,threadId:t}),J.invalidate(`dev-server-running-${e}`),H(`api/projects/${K(e)}/run`,{threadId:t},{signal:n})}async function Yr(e){return J.invalidate(`dev-server-running-${e}`),R(`api/projects/${K(e)}/stop`,{})}async function Xr(e,t){return R(`api/projects/${K(e)}/free-port`,{port:t})}async function Zr(e){return J.get(`dev-server-running-${e}`,async()=>L(`api/projects/${K(e)}/running`),3e3)}async function Qr(e){return L(`api/projects/${K(e)}/system-prompt`)}async function $r(){return L(`api/onboarding/status`)}async function ei(){return L(`api/onboarding/git-check`)}async function ti(){return R(`api/onboarding/complete`,{})}async function ni(){return R(`api/onboarding/reset`,{})}async function ri(){return L(`api/onboarding/recommended-models`)}async function ii(e){return(await L(`api/slash-commands?threadId=${K(e)}`)).commands??[]}async function ai(e){let t=await L(`api/slash-commands?threadId=${K(e)}`);return{commands:t.commands??[],skills:t.skills??[],bundledSkills:t.bundledSkills??[]}}async function oi(e,t,n,r,i){return R(`api/slash-commands`,{name:e,content:t,metadata:n,scope:r,threadId:i})}async function si(e,t){let n=await fetch(`http://localhost:641/api/slash-commands`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e,threadId:t})});if(!n.ok)throw Error(`Failed to delete slash command: ${n.statusText}`);return n.json()}async function ci(e){let t=new URLSearchParams;e?.threadId?t.set(`threadId`,e.threadId):e?.projectId&&t.set(`projectId`,e.projectId);let n=t.toString();await V(`api/conversations${n?`?${n}`:``}`)}async function li(e=20,t=0,n,r){return L(`api/conversations/recent?limit=${Math.min(Math.max(e,1),100)}&offset=${Math.max(t,0)}${n?`&projectId=${encodeURIComponent(n)}`:``}${r?.unreadOnly?`&unreadOnly=1`:``}`)}async function ui(e,t){await W(`api/conversations/${K(e)}/${K(t)}/read`,{})}async function di(e,t){await V(`api/conversations/${K(e)}/${K(t)}/read`)}async function fi(e,t){return L(`api/conversations/${K(e)}/${K(t)}/usage`)}async function pi(e,t,n){let r=`context-breakdown-${e}-${t}`;return n?.forceRefresh&&J.invalidate(r),J.get(r,async()=>L(`api/conversations/${K(e)}/${K(t)}/context`),45e3)}async function mi(e,t){return L(`api/conversations/${K(e)}/${K(t)}/context/tool-definitions`)}async function hi(){try{return await L(`api/update/check`)}catch{return{updateAvailable:!1,supported:!1}}}async function gi(){return R(`api/update/apply`)}async function _i(){return(await L(`api/ask-user/pending`)).questions??[]}async function vi(e,t){await R(`api/ask-user/respond`,typeof t==`string`?{toolCallId:e,answer:t}:{toolCallId:e,answers:t})}async function yi(e,t,n){await R(`api/shell-permission/respond`,{toolCallId:e,decision:t,pattern:n?.pattern,projectId:n?.projectId})}async function bi(e,t){await R(`api/shell-permission/respond`,{toolCallId:e,escalationScope:t===`skip`?void 0:t,escalationDecision:t===`skip`?`skip`:void 0})}async function xi(e,t){await R(`api/web-fetch-permission/respond`,{toolCallId:e,decision:t})}async function Si(e,t,n,r){await R(`api/browser-js/respond`,{toolCallId:e,result:t,threadId:n,...r===void 0?{}:{runToken:r}})}async function Ci(e,t,n){await R(`api/browser-js/respond`,{toolCallId:e,started:!0,threadId:t,...n===void 0?{}:{runToken:n}})}async function wi(e,t){await R(`api/browser/ready`,{toolCallId:e,webviewId:t})}async function Ti(e,t){await R(`api/browser/action-result`,{toolCallId:e,result:t})}async function Ei(e){return L(`api/mcp/config?projectPath=${encodeURIComponent(e)}`)}async function Di(e,t,n){return z(`api/mcp/config`,{projectPath:e,serverName:t,serverConfig:n})}async function Oi(e,t){return V(`api/mcp/config/${K(t)}?projectPath=${encodeURIComponent(e)}`)}async function ki(e,t){return R(`api/mcp/discover`,{projectPath:e,serverName:t})}async function Ai(){return(await L(`api/mcp/popular`)).servers??[]}async function ji(e,t){return R(`api/mcp/oauth/authorize`,{projectPath:e,serverName:t})}async function Mi(e,t){return L(`api/mcp/oauth/status?projectPath=${encodeURIComponent(e)}&serverName=${encodeURIComponent(t)}`)}async function Ni(e,t){return V(`api/mcp/oauth?projectPath=${encodeURIComponent(e)}&serverName=${encodeURIComponent(t)}`)}async function Pi(e){return(await L(`api/projects/${K(e)}/ai-files`)).nodes??[]}async function Fi(e,t){return V(`api/projects/${K(e)}/ai-file?path=${encodeURIComponent(t)}`)}async function Ii(e,t){return L(`api/projects/${K(e)}/ai-file?path=${encodeURIComponent(t)}`)}async function Li(e,t,n){return z(`api/projects/${K(e)}/ai-file`,{path:t,content:n})}async function Ri(e){return(await L(`api/threads/${K(e)}/ai-files`)).nodes??[]}async function zi(e,t,n){return z(`api/threads/${K(e)}/ai-file`,{path:t,content:n})}async function Bi(e,t,n){return R(`api/threads/${K(e)}/ai-files/skill`,{name:t,description:n})}async function Vi(e,t,n,r){return R(`api/threads/${K(e)}/ai-files/agent`,{name:t,description:n,tools:r})}async function Hi(e,t){return V(`api/threads/${K(e)}/ai-file?path=${encodeURIComponent(t)}`)}export{dn as $,Ft as $n,S as $r,Fn as $t,qn as A,xe as Ai,Jr as An,tt as Ar,Qt as At,Er as B,_ as Bi,xi as Bn,R as Br,cn as Bt,Yn as C,Ee as Ci,nn as Cn,ht as Cr,Hn as Ct,on as D,ee as Di,or as Dn,vt as Dr,jn as Dt,Gr as E,h as Ei,tr as En,dt as Er,Un as Et,Hi as F,ie as Fi,mn as Fn,K as Fr,ar as Ft,vr as G,xn as Gn,E as Gr,Wr as Gt,jr as H,Te as Hi,qr as Hn,z as Hr,Ri as Ht,Kr as I,fe as Ii,vi as In,L as Ir,gn as It,Xr as J,hr as Jn,w as Jr,Jn as Jt,_i as K,$ as Kn,Ve as Kr,Nr as Kt,Dr as L,Pe as Li,Si as Ln,A as Lr,fn as Lt,bn as M,oe as Mi,fr as Mn,it as Mr,li as Mt,si as N,p as Ni,Yr as Nn,J as Nr,ri as Nt,Lr as O,ne as Oi,Gt as On,pt as Or,en as Ot,Xn as P,je as Pi,Hr as Pn,V as Pr,qt as Pt,an as Q,Mt as Qn,C as Qr,rn as Qt,xr as R,d as Ri,bi as Rn,I as Rr,ii as Rt,oi as S,g as Si,Wn as Sn,_t as Sr,Pi as St,Bi as T,ke as Ti,zi as Tn,ft as Tr,Qr as Tt,yr as U,Kn as Un,He as Ur,zr as Ut,br as V,De as Vi,cr as Vn,Ge as Vr,Ur as Vt,wr as W,di as Wn,O as Wr,mi as Wt,Qn as X,Zn as Xn,D as Xr,Tn as Xt,Or as Y,gr as Yn,Ie as Yr,Zr as Yt,dr as Z,Pr as Zn,Be as Zr,ui as Zt,Ln as _,re as _i,Ir as _n,Tt as _r,On as _t,hi as a,Oe as ai,Sn as an,Ot as ar,pi as at,Xt as b,u as bi,Sr as bn,Et as br,Vn as bt,lr as c,te as ci,Gn as cn,Rt as cr,kn as ct,Mn as d,ge as di,un as dn,St as dr,Ei as dt,o as ei,In as en,Pt as er,Tr as et,vn as f,c as fi,ni as fn,xt as fr,Mi as ft,Rn as g,Ae as gi,Vr as gn,yt as gr,Ai as gt,kr as h,f as hi,$n as hn,wt as hr,Rr as ht,ji as i,he as ii,Mr as in,kt as ir,wn as it,Fi as j,l as ji,sr as jn,ot as jr,Zt as jt,Oi as k,ye as ki,_n as kn,Ct as kr,$t as kt,ci as l,ve as li,Ti as ln,jt as lr,An as lt,ti as m,ae as mi,Ni as mn,mt as mr,$r as mt,Ci as n,ce as ni,mr as nn,Dt as nr,Cn as nt,ei as o,m as oi,sn as on,Nt as or,ir as ot,ur as p,se as pi,Pn as pn,lt as pr,rr as pt,er as q,_r as qn,ze as qr,Yt as qt,gi as r,_e as ri,hn as rn,Lt as rr,nr as rt,Jt as s,v as si,Fr as sn,zt as sr,fi as st,Vt as t,s as ti,pr as tn,It as tr,Cr as tt,pn as u,be as ui,wi as un,At as ur,ln as ut,Nn as v,de as vi,Ar as vn,bt as vr,En as vt,Vi as w,we as wi,tn as wn,gt as wr,Br as wt,yn as x,pe as xi,Li as xn,ut as xr,Ii as xt,Bn as y,Ne as yi,Di as yn,ct as yr,Dn as yt,ki as z,me as zi,yi as zn,B as zr,ai as zt};
@@ -1,12 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{n as i}from"./chat-dock-context-8K8Ikjgy.js";import{Dt as a,N as o}from"./dist-CTLFS4dn.js";import{$ as s,n as c,r as l}from"./store-BSzKIu5G.js";import{r as u,t as d}from"./button-kWtLAMpB.js";import{Bn as f,L as p,T as m,Vn as h,X as g,fn as _,gt as v,j as y,mt as b}from"./dist-c_QADQ5u.js";import{i as x,n as S,r as C,t as w}from"./tooltip-Db8UeYxm.js";import{Qt as T,Wr as E,cn as D}from"./api-DX1ny6q-.js";import{i as O,r as k}from"./browser-overlay-block-CiDtkfup.js";import{t as A}from"./use-toast-xpb5jNtN.js";import{A as j,Ht as M,L as N,Sn as P,Ut as F,_ as I,b as L,c as R,fr as z,g as B,h as V,l as H,m as U,p as W,v as G,x as K,y as ee,z as te}from"./index-B3-5kIOf.js";import{t as ne}from"./use-active-dock-panel-instance-DRfRj6MV.js";var q=e(n(),1),J=t();async function Y(e){let{projectId:t,oldText:n,newText:r,selection:i,replaceUnique:a=D}=e;if(n===r)return{kind:`unchanged`};try{let e=await a(t,n,r);if(e.applied&&e.path)return{kind:`replaced`,path:e.path}}catch{}return{kind:`prompt`,prompt:B(i,n,r)}}var X=r();function re(e){let t=(0,J.c)(43),{onCommit:n,onCancelPreview:r}=e,i=c(),a=l(ae),o=l(ie),u=l(Z),f;t[0]===a?f=t[1]:(f=e=>a?e.projectModelSelections[a]:void 0,t[0]=a,t[1]=f);let p=l(f),{selectedBrowserElement:m,setSelectedBrowserElement:h,setIsEditModeEnabled:g,setBrowserAgentProcessingThreadId:_}=j(),{handleSend:v}=F(),{paneId:y,conversationId:b}=M(),[x,S]=(0,q.useState)(!1),C;if(t[2]!==u||t[3]!==o){let e;t[5]===o?e=t[6]:(e=e=>e.projectId===o,t[5]=o,t[6]=e),C=u.find(e),t[2]=u,t[3]=o,t[4]=C}else C=t[4];let w=C,T;t[7]===m?T=t[8]:(T=G(m),t[7]=m,t[8]=T);let E=T,D;t[9]!==g||t[10]!==h?(D=()=>{S(!1),g(!1),h(null)},t[9]=g,t[10]=h,t[11]=D):D=t[11];let O=D,k;t[12]!==b||t[13]!==i||t[14]!==O||t[15]!==v||t[16]!==y||t[17]!==w?.lastSelectedModel||t[18]!==w?.lastSelectedModelProvider||t[19]!==o||t[20]!==a||t[21]!==_||t[22]!==p?.id||t[23]!==p?.provider?(k=async e=>{if(!o){A({title:`No project selected`,description:`Open a project to apply text edits.`,variant:`destructive`}),O();return}S(!0);let t=await Y({projectId:o,oldText:e.originalText,newText:e.currentText,selection:e.selection});if(t.kind===`unchanged`){A({title:`No text changes detected`}),O();return}if(t.kind===`replaced`){A({title:`Text updated`,description:`Replaced in ${t.path}`}),O();return}let n=p?.id??w?.lastSelectedModel,r=p?.provider??w?.lastSelectedModelProvider;if(!a||!n){A({title:`Could not apply text change`,description:`Select a chat thread and model to send this change as a prompt.`,variant:`destructive`}),S(!1);return}v(y,b,t.prompt,n,[],r),i({type:s.SetChatInputDraft,threadId:y===`primary`?a:`${a}:${y}`,draft:``}),_(a),O()},t[12]=b,t[13]=i,t[14]=O,t[15]=v,t[16]=y,t[17]=w?.lastSelectedModel,t[18]=w?.lastSelectedModelProvider,t[19]=o,t[20]=a,t[21]=_,t[22]=p?.id,t[23]=p?.provider,t[24]=k):k=t[24],w?.lastSelectedModel,w?.lastSelectedModelProvider,p?.id,p?.provider;let N=k,P,L;t[25]===E?(P=t[26],L=t[27]):(P=()=>{E||S(!1)},L=[E],t[25]=E,t[26]=P,t[27]=L),(0,q.useEffect)(P,L);let R,z;t[28]===N?(R=t[29],z=t[30]):(R=()=>{let e=function(e){let t=e.detail;I(t)&&N(t)},t=function(e){let t=ee(e.data);t&&N(t)};return window.addEventListener(W,e),window.addEventListener(`message`,t),function(){window.removeEventListener(W,e),window.removeEventListener(`message`,t)}},z=[N],t[28]=N,t[29]=R,t[30]=z),(0,q.useEffect)(R,z);let B;t[31]!==O||t[32]!==r?(B=function(){r(),O()},t[31]=O,t[32]=r,t[33]=B):B=t[33];let V=B;if(!E)return null;let H;t[34]!==x||t[35]!==n?(H=(0,X.jsx)(d,{type:`button`,size:`sm`,onClick:n,disabled:x,children:`Apply Changes`}),t[34]=x,t[35]=n,t[36]=H):H=t[36];let U;t[37]!==V||t[38]!==x?(U=(0,X.jsx)(d,{type:`button`,size:`sm`,variant:`outline`,onClick:V,disabled:x,children:`Cancel`}),t[37]=V,t[38]=x,t[39]=U):U=t[39];let K;return t[40]!==H||t[41]!==U?(K=(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center justify-center gap-2 border-b border-border px-3 py-2`,children:[H,U]}),t[40]=H,t[41]=U,t[42]=K):K=t[42],K}function Z(e){return e.projects}function ie(e){return e.selectedProjectId}function ae(e){return e.selectedThreadId}function oe(e){let t=e.trim();return t?(!t.startsWith(`http://`)&&!t.startsWith(`https://`)&&(t=`http://${t}`),t):``}function Q(e){return typeof e==`string`?e:typeof e==`object`&&e&&`url`in e&&typeof e.url==`string`?e.url:``}var se=`tarsk-browser-page-title`;function ce(e){if(!e)return null;if(typeof e==`string`)try{let t=JSON.parse(e);return t&&typeof t==`object`?t:null}catch{return null}return typeof e==`object`?e:null}function le(e){let t=ce(e);if(!t||t.type!==se)return null;let n=t.payload;if(!n||typeof n!=`object`)return null;let r=n.title;return typeof r==`string`?r:null}function ue(e){return le(e)}function de(e){return!e?.trim()}function fe(e,t){return de(t)?e:t.trim()}function pe(e){return e?e.querySelector(`electrobun-webview`):null}function me(e){e.webviewId!=null&&(e.toggleHidden(!0),e.togglePassthrough(!0))}function he(e){e.webviewId!=null&&(e.toggleHidden(!1),e.togglePassthrough(!1),e.syncDimensions(!0))}function ge(e,t){if(t){he(e);return}me(e)}function _e(e){return e!=null&&e.getClientRects().length>0}function ve(e,t,n){let r=!1,i=0;function a(){if(!r){if(e.webviewId==null){i=requestAnimationFrame(a);return}t&&e.getAttribute(`src`)!==t&&e.loadURL(t),ge(e,n())}}return i=requestAnimationFrame(a),function(){r=!0,cancelAnimationFrame(i)}}function ye(e){let t=(0,J.c)(8),{useNativeWebview:n,shouldRenderNativeWebview:r,currentUrl:i,resolveWebview:a}=e,[o,s]=(0,q.useState)(r),c;t[0]!==a||t[1]!==r||t[2]!==n?(c=()=>{if(!n)return;if(r){s(!0);return}let e=a();e&&me(e);let t=requestAnimationFrame(()=>{s(!1)});return function(){cancelAnimationFrame(t)}},t[0]=a,t[1]=r,t[2]=n,t[3]=c):c=t[3];let l;return t[4]!==i||t[5]!==r||t[6]!==n?(l=[r,n,i],t[4]=i,t[5]=r,t[6]=n,t[7]=l):l=t[7],(0,q.useLayoutEffect)(c,l),o}var be=o(`browser.preview-scripting`);function xe(e,t=!1,n=`select`){return`(function () {
2
- const api = window.__tarskBrowserPreview;
3
- if (!api || typeof api.setSelectMode !== "function") {
4
- log.error("[browser-preview] selection API is not available");
5
- return;
6
- }
7
- api.setSelectMode(${e?`true`:`false`}, ${t?`true`:`false`}, ${JSON.stringify(n)});
8
- })();`}function Se(e){let t=e===`commit`?`commitTextEdit`:`cancelTextEdit`;return`(function () {
9
- const api = window.__tarskBrowserPreview;
10
- if (!api || typeof api.${t} !== "function") return;
11
- api.${t}();
12
- })();`}function Ce(e,t,n=!1,r=`select`){if(typeof e.executeJavascript!=`function`)throw Error(`Browser preview webview JS execution is not available`);try{e.executeJavascript(xe(t,n,r))}catch(i){throw be.error(`[browser-preview] Failed to toggle native preview selection mode`,{enabled:t,preserveSelection:n,interaction:r,src:e.src,webview_id:e.webviewId,error:i instanceof Error?i.message:String(i),stack:i instanceof Error?i.stack:void 0}),i}}function we(e,t){if(typeof e.executeJavascript!=`function`)throw Error(`Browser preview webview JS execution is not available`);e.executeJavascript(t)}function Te(e,t,n=!1,r=`select`){let i=e.contentWindow;if(!i)throw Error(`Browser preview frame is not ready`);let a=i.__tarskBrowserPreview;if(!a?.setSelectMode)throw Error(`Browser preview selection API is not available in iframe preview`);a.setSelectMode(t,n,r)}function Ee(e,t){let n=e.contentWindow?.__tarskBrowserPreview;if(!n||typeof n[t===`commit`?`commitTextEdit`:`cancelTextEdit`]!=`function`){be.warn(`[browser-preview] Preview text-edit API unavailable; action ignored`,{action:t,src:e.src});return}if(t===`commit`){n.commitTextEdit?.();return}n.cancelTextEdit?.()}var De=o(`app.browser-tab.ui`),Oe=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`,`Home`,`End`]),ke=new Set([`INPUT`,`TEXTAREA`,`SELECT`]),Ae=new Set([`combobox`,`listbox`,`menu`,`menubar`,`menuitem`,`option`,`radiogroup`,`tablist`,`tab`,`grid`,`slider`,`spinbutton`]);function je(e){if(ke.has(e.tagName)||e.isContentEditable)return!0;let t=e.getAttribute(`role`);return t!==null&&Ae.has(t)}function Me(e){return e instanceof HTMLElement&&je(e)}function Ne(e,t,n){let[r,i]=(0,q.useState)(!0),a=(0,q.useSyncExternalStore)(H,R),o=(0,q.useSyncExternalStore)(O,k),s=t&&(r&&!o||a),c=(0,q.useRef)(s);c.current=s;let l=(0,q.useCallback)(function(){return c.current},[]),u=(0,q.useCallback)(function(){i(_e(e.current))},[]);return(0,q.useLayoutEffect)(u),(0,q.useEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(u);return n.observe(t),function(){n.disconnect()}},[u,n]),{shouldShowWebview:s,readWebviewVisibility:l}}function Pe({devServerUrl:e,devServerStopped:t,isBrowserActive:n,currentUrl:r,browserResetTrigger:i,webviewRef:a,iframeRef:o,setCurrentUrl:s,setPendingUrl:c,setInputUrl:l,setSelectionModeError:u,setIsSelectModeEnabled:d,setIsEditModeEnabled:f,setSelectedBrowserElement:p,setIsSelectionPromptOpen:m,setBrowserAgentProcessingThreadId:h,setBrowserPageTitle:g}){let _=(0,q.useRef)(r),v=(0,q.useRef)(null);_.current=r,(0,q.useEffect)(()=>{s(``),c(``),l(``),u(null),g(null),d(!1),f(!1),p(null),m(!1),h(null);let e=a.current;e&&(e.src=``),o.current&&(o.current.src=``)},[i,h,g,d,f,m,p]),(0,q.useEffect)(()=>{if(t&&!e){s(``),c(``),l(``),u(null),n&&(d(!1),f(!1),p(null),m(!1),h(null));let e=a.current;e&&(e.src=``),o.current&&(o.current.src=``);return}if(!e)return;let r=oe(e);l(r),(!_.current||_.current===v.current)&&(s(r),c(r),v.current=r),u(null),n&&(d(!1),f(!1),p(null),m(!1),h(null))},[e,t,n,h,d,f,m,p])}function Fe(e,t,n,r){let i=(0,J.c)(9),a;i[0]!==n||i[1]!==e||i[2]!==r||i[3]!==t?(a=()=>{if(!e||!t)return;let i=function(e){Oe.has(e.key)&&(Me(e.target)||r.current?.contains(e.target)||(e.preventDefault(),n()))};return document.addEventListener(`keydown`,i,!0),function(){document.removeEventListener(`keydown`,i,!0)}},i[0]=n,i[1]=e,i[2]=r,i[3]=t,i[4]=a):a=i[4];let o;i[5]!==n||i[6]!==e||i[7]!==t?(o=[e,t,n],i[5]=n,i[6]=e,i[7]=t,i[8]=o):o=i[8],(0,q.useEffect)(a,o)}function Ie(e){let t=(0,J.c)(15),{useNativeWebview:n,nativeWebviewMounted:r,currentUrl:i,resolveWebview:a,setCurrentUrl:o,setPendingUrl:s,setInputUrl:c,setSelectionModeError:l,setBrowserPageTitle:u}=e,d;t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==u||t[4]!==o||t[5]!==c||t[6]!==s||t[7]!==l||t[8]!==n?(d=()=>{let e=a();if(!n||!e||!r)return;let t=function(e){let t=typeof e.detail==`string`?e.detail:i;t&&(o(t),s(``),c(t))},d=function(e){let t=typeof e.detail==`string`?e.detail:i;t&&(o(t),c(t))},f=function(e){let t=Q(e.detail);t&&T(t)},p=function(e){let t=ue(e.detail);if(t!=null){u(e=>fe(e,t));return}let n=K(e.detail);if(n){V(n);return}let r=L(e.detail);r&&(l(null),U(r))};return e.on(`did-navigate`,t),e.on(`did-navigate-in-page`,d),e.on(`new-window-open`,f),e.on(`host-message`,p),function(){e.off(`did-navigate`,t),e.off(`did-navigate-in-page`,d),e.off(`new-window-open`,f),e.off(`host-message`,p)}},t[0]=i,t[1]=r,t[2]=a,t[3]=u,t[4]=o,t[5]=c,t[6]=s,t[7]=l,t[8]=n,t[9]=d):d=t[9];let f;t[10]!==i||t[11]!==r||t[12]!==u||t[13]!==n?(f=[i,n,r,u],t[10]=i,t[11]=r,t[12]=u,t[13]=n,t[14]=f):f=t[14],(0,q.useEffect)(d,f)}function Le(e){let t=(0,J.c)(23),{useNativeWebview:n,nativeWebviewMounted:r,currentUrl:i,deviceMode:a,shouldShowWebview:o,pendingUrl:s,readWebviewVisibility:c,resolveWebview:l}=e,u;t[0]!==r||t[1]!==l||t[2]!==o||t[3]!==n?(u=()=>{if(!n||!r)return;let e=l();!e||e.webviewId==null||ge(e,o)},t[0]=r,t[1]=l,t[2]=o,t[3]=n,t[4]=u):u=t[4];let d;t[5]!==i||t[6]!==a||t[7]!==r||t[8]!==o||t[9]!==n?(d=[r,n,i,a,o],t[5]=i,t[6]=a,t[7]=r,t[8]=o,t[9]=n,t[10]=d):d=t[10],(0,q.useLayoutEffect)(u,d);let f;t[11]!==r||t[12]!==s||t[13]!==c||t[14]!==l||t[15]!==n?(f=()=>{let e=l();if(!(!n||!e||!s||!r))return ve(e,s,c)},t[11]=r,t[12]=s,t[13]=c,t[14]=l,t[15]=n,t[16]=f):f=t[16];let p;t[17]!==i||t[18]!==r||t[19]!==s||t[20]!==c||t[21]!==n?(p=[s,n,i,r,c],t[17]=i,t[18]=r,t[19]=s,t[20]=c,t[21]=n,t[22]=p):p=t[22],(0,q.useEffect)(f,p)}function Re({isBrowserActive:e,currentUrl:t,isSelectModeEnabled:n,isEditModeEnabled:r,isSelectionPromptOpen:i,nativeWebviewMounted:a,useNativeWebview:o,resolveWebview:s,iframeRef:c,setIsSelectModeEnabled:l,setIsEditModeEnabled:u,setSelectionModeError:d}){(0,q.useEffect)(()=>{if(!e)return;if(!t){n&&l(!1),r&&u(!1);return}let f=!1,p=n||r,m=r?`edit`:`select`,h=!p&&i;function g(){try{if(o){let e=s();if(!e||e.webviewId==null||!a)return;Ce(e,p,h,m);return}let e=c.current;if(!e)return;Te(e,p,h,m)}catch(e){if(f||!p)return;let t=e instanceof Error?e.message:`Could not enable element selection.`;De.error(`Failed to toggle browser selection mode:`,e),d(t),l(!1),u(!1),A({title:`Selection mode unavailable`,description:t,variant:`destructive`})}}return g(),function(){f=!0}},[t,e,r,n,i,a,u,l,o])}function ze(e,t){let n=(0,J.c)(8),r,i;n[0]!==e||n[1]!==t?(r=()=>{if(!e)return;let n=function(e){let n=le(e.data);n!=null&&t(e=>fe(e,n))};return window.addEventListener(`message`,n),function(){window.removeEventListener(`message`,n)}},i=[e,t],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),(0,q.useEffect)(r,i);let a,o;n[4]!==e||n[5]!==t?(a=()=>{if(e)return function(){t(null)}},o=[e,t],n[4]=e,n[5]=t,n[6]=a,n[7]=o):(a=n[6],o=n[7]),(0,q.useEffect)(a,o)}function Be(e){let t=ne(e,`browser`),{devServerUrl:n,devServerStopped:r}=te(),{browserResetTrigger:i,setBrowserPageTitle:a,browserDeviceMode:o,setBrowserDeviceMode:s,isSelectModeEnabled:c,setIsSelectModeEnabled:u,isEditModeEnabled:d,setIsEditModeEnabled:f,selectedBrowserElement:p,setSelectedBrowserElement:m,setIsSelectionPromptOpen:h,isSelectionPromptOpen:g,setBrowserAgentProcessingThreadId:_}=j(),v=l(e=>e.selectedProjectId),y=l(e=>e.projects).find(e=>e.projectId===v),[b,x]=(0,q.useState)(``),[S,C]=(0,q.useState)(``),[w,D]=(0,q.useState)(``),[O,k]=(0,q.useState)(o),[A,M]=(0,q.useState)(null),N=(0,q.useRef)(null),F=(0,q.useRef)(w),I=(0,q.useRef)(null),L=(0,q.useRef)(null),R=E(),z=P(),B=R&&!!S;F.current=w;function V(){return N.current??pe(L.current)}let{shouldShowWebview:H,readWebviewVisibility:U}=Ne(L,t,S),W=ye({useNativeWebview:R,shouldRenderNativeWebview:B,currentUrl:S,resolveWebview:V});Pe({devServerUrl:n,devServerStopped:r,isBrowserActive:t,currentUrl:S,browserResetTrigger:i,webviewRef:N,iframeRef:I,setCurrentUrl:C,setPendingUrl:D,setInputUrl:x,setSelectionModeError:M,setIsSelectModeEnabled:u,setIsEditModeEnabled:f,setSelectedBrowserElement:m,setIsSelectionPromptOpen:h,setBrowserAgentProcessingThreadId:_,setBrowserPageTitle:a}),Fe(t,R,(0,q.useCallback)(function(){R?V()?.focus():I.current?.contentWindow?.focus()},[R]),L),Ie({useNativeWebview:R,nativeWebviewMounted:W,currentUrl:S,resolveWebview:V,setCurrentUrl:C,setPendingUrl:D,setInputUrl:x,setSelectionModeError:M,setBrowserPageTitle:a}),ze(t,a),Le({useNativeWebview:R,nativeWebviewMounted:W,currentUrl:S,deviceMode:O,shouldShowWebview:H,pendingUrl:w,readWebviewVisibility:U,resolveWebview:V}),Re({isBrowserActive:t,currentUrl:S,isSelectModeEnabled:c,isEditModeEnabled:d,isSelectionPromptOpen:g,nativeWebviewMounted:W,useNativeWebview:R,resolveWebview:V,iframeRef:I,setIsSelectModeEnabled:u,setIsEditModeEnabled:f,setSelectionModeError:M}),(0,q.useEffect)(()=>{k(o)},[o]);let K=(0,q.useCallback)(e=>{N.current=e,e&&ve(e,F.current,U)},[U]);function ee(e){k(e),s(e)}function J(){M(null),u(!1),f(!1),m(null),h(!1)}function Y(e){try{if(R){let t=V();if(!t)return;we(t,Se(e));return}let t=I.current;if(!t)return;Ee(t,e)}catch(e){De.error(`Failed to run preview text edit action:`,e)}}function X(e){let t=oe(e);t&&(x(t),C(t),D(t),J())}function re(e){e.key===`Enter`&&X(b)}function Z(){if(J(),R){let e=V();e&&e.reload();return}let e=I.current;if(!e)return;let t=e.src;e.src=``,requestAnimationFrame(()=>{e.src=t})}function ie(){if(J(),R){let e=V();e&&e.executeJavascript(`history.back()`);return}Q(-1)}function ae(){if(J(),R){let e=V();e&&e.executeJavascript(`history.forward()`);return}Q(1)}function Q(e){let t=I.current;if(!(!t||!t.contentWindow))try{e<0?t.contentWindow.history.back():t.contentWindow.history.forward()}catch{}}function se(){M(null),f(!1),G(p)&&(Y(`cancel`),m(null)),u(e=>!e)}function ce(){if(M(null),u(!1),h(!1),G(p)){Y(`cancel`),m(null),f(!1);return}f(e=>!e)}return{isBrowserActive:t,devServerStopped:r,selectedProjectId:v,runCommand:y?.runCommand,currentUrl:S,inputUrl:b,setInputUrl:x,handleKeyDown:re,deviceMode:O,updateDeviceMode:ee,selectionModeError:A,isSelectModeEnabled:c,isEditModeActive:d||G(p),isSurfaceSelectInteraction:c||d,toggleSelectMode:se,toggleEditMode:ce,refresh:Z,goBack:ie,goForward:ae,openExternal:()=>void T(S),runPreviewTextEdit:Y,previewContainerRef:L,iframeRef:I,handleWebviewRef:K,useNativeWebview:R,nativeWebviewMounted:W,previewRpcPreload:z}}var Ve={desktop:{width:`100%`,height:`100%`},tablet:{width:`768px`,height:`1024px`},mobile:{width:`375px`,height:`667px`}};function He(e){let t=(0,J.c)(7),{useNativeWebview:n,nativeWebviewMounted:r,currentUrl:i,previewRpcPreload:a,handleWebviewRef:o,iframeRef:s}=e;if(n){if(!r)return null;let e;return t[0]!==i||t[1]!==o||t[2]!==a?(e=(0,q.createElement)(`electrobun-webview`,{ref:o,src:i,preload:a,renderer:`native`,className:`block h-full w-full bg-background`}),t[0]=i,t[1]=o,t[2]=a,t[3]=e):e=t[3],e}let c;return t[4]!==i||t[5]!==s?(c=(0,X.jsx)(`iframe`,{ref:s,src:i,className:`h-full w-full border-none`,title:`Browser`,sandbox:`allow-same-origin allow-scripts allow-forms allow-popups allow-modals allow-downloads`}),t[4]=i,t[5]=s,t[6]=c):c=t[6],c}function Ue(e){let t=(0,J.c)(18),{selectionModeError:n,isSelectModeEnabled:r,deviceMode:i,currentDeviceConfig:a,previewContainerRef:o,children:s}=e,c;t[0]===n?c=t[1]:(c=n&&(0,X.jsxs)(`div`,{className:`border-b border-destructive/20 bg-destructive/5 px-3 py-2 text-sm text-destructive`,children:[`Element selection is unavailable: `,n]}),t[0]=n,t[1]=c);let l=r&&`cursor-crosshair`,d;t[2]===l?d=t[3]:(d=u(`flex min-h-0 flex-1 items-center justify-center bg-background`,l),t[2]=l,t[3]=d);let f=`overflow-hidden border border-border bg-background shadow-sm ${i===`desktop`?`h-full w-full rounded-none border-0 shadow-none`:`rounded-lg`}`,p;t[4]!==a.height||t[5]!==a.width?(p={width:a.width,height:a.height,maxWidth:`100%`,maxHeight:`100%`},t[4]=a.height,t[5]=a.width,t[6]=p):p=t[6];let m;t[7]!==s||t[8]!==f||t[9]!==p?(m=(0,X.jsx)(`div`,{className:f,style:p,children:s}),t[7]=s,t[8]=f,t[9]=p,t[10]=m):m=t[10];let h;t[11]!==o||t[12]!==d||t[13]!==m?(h=(0,X.jsx)(`div`,{ref:o,className:d,children:m}),t[11]=o,t[12]=d,t[13]=m,t[14]=h):h=t[14];let g;return t[15]!==c||t[16]!==h?(g=(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-background`,children:[c,h]}),t[15]=c,t[16]=h,t[17]=g):g=t[17],g}function We(e){let t=(0,J.c)(3),{previewContainerRef:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,X.jsx)(`div`,{className:`hidden`,"aria-hidden":`true`,children:(0,X.jsx)(`div`,{ref:n,children:r})}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function $(e){let t=(0,J.c)(16),{onClick:n,label:r,children:i,isActive:a,disabled:o,activeStyle:s}=e,c=a===void 0?!1:a,l=o===void 0?!1:o,d=s===void 0?`elevated`:s,f=l&&`cursor-not-allowed text-muted-foreground/50`,p=!l&&!c&&`text-muted-foreground hover:bg-background/50 hover:text-foreground`,m=!l&&c&&d===`depressed`&&`bg-muted text-primary shadow-[inset_0_2px_4px_rgba(0,0,0,0.14)] ring-1 ring-inset ring-border/80 dark:shadow-[inset_0_2px_4px_rgba(0,0,0,0.35)]`,h=!l&&c&&d===`elevated`&&`bg-background text-foreground shadow-sm`,g;t[0]!==f||t[1]!==p||t[2]!==m||t[3]!==h?(g=u(`rounded p-1.5 transition-all`,f,p,m,h),t[0]=f,t[1]=p,t[2]=m,t[3]=h,t[4]=g):g=t[4];let _;t[5]!==i||t[6]!==l||t[7]!==c||t[8]!==n||t[9]!==g?(_=(0,X.jsx)(x,{asChild:!0,children:(0,X.jsx)(`button`,{type:`button`,onClick:n,disabled:l,"aria-pressed":c,className:g,children:i})}),t[5]=i,t[6]=l,t[7]=c,t[8]=n,t[9]=g,t[10]=_):_=t[10];let v;t[11]===r?v=t[12]:(v=(0,X.jsx)(S,{children:r}),t[11]=r,t[12]=v);let y;return t[13]!==v||t[14]!==_?(y=(0,X.jsxs)(w,{children:[_,v]}),t[13]=v,t[14]=_,t[15]=y):y=t[15],y}function Ge(e){let t=(0,J.c)(43),{controller:n,urlInputRef:r}=e,{currentUrl:i,inputUrl:a,setInputUrl:o,handleKeyDown:s,goBack:c,goForward:l,refresh:d,toggleSelectMode:x,toggleEditMode:S,openExternal:C,updateDeviceMode:w,selectionModeError:T,isSelectModeEnabled:E,isEditModeActive:D,deviceMode:O}=n,k;t[0]!==i||t[1]!==c?(k=i&&(0,X.jsx)($,{onClick:c,label:`Back`,children:(0,X.jsx)(h,{size:15})}),t[0]=i,t[1]=c,t[2]=k):k=t[2];let A;t[3]!==i||t[4]!==l?(A=i&&(0,X.jsx)($,{onClick:l,label:`Forward`,children:(0,X.jsx)(f,{size:15})}),t[3]=i,t[4]=l,t[5]=A):A=t[5];let j;t[6]===o?j=t[7]:(j=e=>o(e.target.value),t[6]=o,t[7]=j);let M;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(M=u(`flex-1 rounded-full bg-muted font-mono`),t[8]=M):M=t[8];let N;t[9]!==s||t[10]!==a||t[11]!==j||t[12]!==r?(N=(0,X.jsx)(z,{ref:r,type:`text`,value:a,onChange:j,onKeyDown:s,placeholder:`Enter URL...`,className:M,spellCheck:!1}),t[9]=s,t[10]=a,t[11]=j,t[12]=r,t[13]=N):N=t[13];let P;t[14]!==i||t[15]!==d?(P=i&&(0,X.jsx)($,{onClick:d,label:`Refresh page`,children:(0,X.jsx)(g,{size:15})}),t[14]=i,t[15]=d,t[16]=P):P=t[16];let F;t[17]!==i||t[18]!==E||t[19]!==T||t[20]!==x?(F=i&&(0,X.jsx)($,{onClick:x,label:T?`Select element unavailable: ${T}`:E?`Exit element selection`:`Select element from preview`,isActive:E,activeStyle:`depressed`,children:(0,X.jsx)(b,{size:15})}),t[17]=i,t[18]=E,t[19]=T,t[20]=x,t[21]=F):F=t[21];let I;t[22]!==i||t[23]!==D||t[24]!==T||t[25]!==S?(I=i&&(0,X.jsx)($,{onClick:S,label:T?`Edit text unavailable: ${T}`:D?`Exit text editing`:`Edit text from preview`,isActive:D,activeStyle:`depressed`,children:(0,X.jsx)(m,{size:15})}),t[22]=i,t[23]=D,t[24]=T,t[25]=S,t[26]=I):I=t[26];let L;t[27]!==i||t[28]!==O||t[29]!==w?(L=i&&(0,X.jsxs)(`div`,{className:`flex items-center rounded-md bg-muted p-0.5`,children:[(0,X.jsx)($,{onClick:()=>w(`desktop`),label:`Desktop view`,isActive:O===`desktop`,children:(0,X.jsx)(v,{size:15})}),(0,X.jsx)($,{onClick:()=>w(`tablet`),label:`Tablet view`,isActive:O===`tablet`,children:(0,X.jsx)(y,{size:15})}),(0,X.jsx)($,{onClick:()=>w(`mobile`),label:`Mobile view`,isActive:O===`mobile`,children:(0,X.jsx)(p,{size:15})})]}),t[27]=i,t[28]=O,t[29]=w,t[30]=L):L=t[30];let R;t[31]!==i||t[32]!==C?(R=i&&(0,X.jsx)($,{onClick:C,label:`Open in external browser`,children:(0,X.jsx)(_,{size:15})}),t[31]=i,t[32]=C,t[33]=R):R=t[33];let B;return t[34]!==k||t[35]!==R||t[36]!==A||t[37]!==N||t[38]!==P||t[39]!==F||t[40]!==I||t[41]!==L?(B=(0,X.jsx)(`div`,{className:`relative shrink-0 border-b border-border`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,children:[k,A,N,P,F,I,L,R]})}),t[34]=k,t[35]=R,t[36]=A,t[37]=N,t[38]=P,t[39]=F,t[40]=I,t[41]=L,t[42]=B):B=t[42],B}function Ke(e){let t=(0,J.c)(4),{devServerStopped:n,selectedProjectId:r,runCommand:i}=e,o;return t[0]!==n||t[1]!==i||t[2]!==r?(o=(0,X.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-6 text-muted-foreground`,children:n?(0,X.jsx)(`p`,{className:a.body,children:`Dev server stopped`}):r&&i?(0,X.jsx)(N,{projectId:r,runCommand:i,large:!0}):(0,X.jsx)(`p`,{className:a.body,children:`Enter a URL to browse`})}),t[0]=n,t[1]=i,t[2]=r,t[3]=o):o=t[3],o}function qe(e){let t=(0,J.c)(23),{instanceId:n}=e,r=Be(n),a=Ve[r.deviceMode],{registerPanelFocus:o}=i(),s=(0,q.useRef)(null),c,l;t[0]!==n||t[1]!==o?(c=()=>o(n,()=>s.current?.focus()),l=[n,o],t[0]=n,t[1]=o,t[2]=c,t[3]=l):(c=t[2],l=t[3]),(0,q.useEffect)(c,l);let u;t[4]!==r.currentUrl||t[5]!==r.handleWebviewRef||t[6]!==r.iframeRef||t[7]!==r.nativeWebviewMounted||t[8]!==r.previewRpcPreload||t[9]!==r.useNativeWebview?(u=(0,X.jsx)(He,{useNativeWebview:r.useNativeWebview,nativeWebviewMounted:r.nativeWebviewMounted,currentUrl:r.currentUrl,previewRpcPreload:r.previewRpcPreload,handleWebviewRef:r.handleWebviewRef,iframeRef:r.iframeRef}),t[4]=r.currentUrl,t[5]=r.handleWebviewRef,t[6]=r.iframeRef,t[7]=r.nativeWebviewMounted,t[8]=r.previewRpcPreload,t[9]=r.useNativeWebview,t[10]=u):u=t[10];let d=u;if(!r.isBrowserActive){let e;return t[11]!==r.previewContainerRef||t[12]!==d?(e=(0,X.jsx)(We,{previewContainerRef:r.previewContainerRef,children:d}),t[11]=r.previewContainerRef,t[12]=d,t[13]=e):e=t[13],e}let f;t[14]===r?f=t[15]:(f=(0,X.jsx)(Ge,{controller:r,urlInputRef:s}),t[14]=r,t[15]=f);let p;t[16]!==r||t[17]!==a||t[18]!==d?(p=r.currentUrl?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(re,{onCommit:()=>r.runPreviewTextEdit(`commit`),onCancelPreview:()=>r.runPreviewTextEdit(`cancel`)}),(0,X.jsx)(Ue,{selectionModeError:r.selectionModeError,isSelectModeEnabled:r.isSurfaceSelectInteraction,deviceMode:r.deviceMode,currentDeviceConfig:a,previewContainerRef:r.previewContainerRef,children:d})]}):(0,X.jsx)(Ke,{devServerStopped:r.devServerStopped,selectedProjectId:r.selectedProjectId,runCommand:r.runCommand}),t[16]=r,t[17]=a,t[18]=d,t[19]=p):p=t[19];let m;return t[20]!==f||t[21]!==p?(m=(0,X.jsx)(C,{children:(0,X.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,children:[f,p]})}),t[20]=f,t[21]=p,t[22]=m):m=t[22],m}export{qe as BrowserTab};
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{N as i,k as a,q as o}from"./dist-CTLFS4dn.js";import{$ as s,K as c,et as l,i as u,n as d,r as f}from"./store-BSzKIu5G.js";import{Et as p,Sn as m,Vt as h,Zt as g}from"./api-DX1ny6q-.js";var _=e(n(),1),v=r(),y=_.createContext(void 0),b=e=>{let t=_.useContext(y);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},x=({client:e,children:t})=>(_.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,v.jsx)(y.Provider,{value:e,children:t})),S=t(),C={onboarding:{status:()=>[`onboarding`,`status`]},app:{update:()=>[`app`,`update`]},models:{enabled:e=>[`models`,`enabled`,e],enabledImage:e=>[`models`,`enabled-image`,e]},userTasks:e=>[`user-tasks`,e],threads:{files:e=>[`threads`,`files`,e]},conversations:{recent:()=>[`conversations`,`recent`],unread:e=>[`conversations`,`unread`,e??null],unreadAll:()=>[`conversations`,`unread`]}};function w({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n,threadIds:r,threadMultiPaneStates:i}){let a={};for(let e of r){let t=i[e];!t||Object.keys(t.extraChatPanes).length===0||(a[e]={focusedPaneId:t.focusedPane,panes:Object.entries(t.extraChatPanes).map(([e,t])=>({paneId:e,conversationId:t.conversationId}))})}return{version:1,nonChatWindows:e,layout:t===null?`grid`:`expanded`,expandedWindowId:t,selectedWindowId:n,chatPanesByThread:a}}function T(e,t){let n=new Set(t?e.chatPanesByThread[t]?.panes.map(e=>e.paneId)??[]:[]),r=new Set(e.nonChatWindows.map(e=>e.id)),i=n.size>0||r.size>0;function a(e){return e===`primary`||e!==null&&(n.has(e)||r.has(e))}let s=a(e.selectedWindowId)?e.selectedWindowId:o,c=null;return e.layout===`expanded`&&i&&(c=a(e.expandedWindowId)?e.expandedWindowId:o),{nonChatWindows:e.nonChatWindows,expandedWindowId:c,selectedWindowId:s}}var E=i(`app.window-state`);function D(e,t,n){return JSON.stringify({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n})}function ee({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n,onReset:r,onHydrate:i}){let a=d(),o=f(e=>e.selectedProjectId),c=f(e=>e.projects),l=f(e=>e.threadMultiPaneStates),u=c.find(e=>e.projectId===o),h=(u?.threads.map(e=>e.threadId)??[]).join(`\0`),g=u!==void 0,[v,y]=(0,_.useState)(null),b=(0,_.useRef)(null),x=(0,_.useRef)(Promise.resolve()),S=(0,_.useRef)(null),C=(0,_.useRef)(0),T=(0,_.useRef)(D(e,t,n));T.current=D(e,t,n),(0,_.useEffect)(()=>{let e=S.current!==o;if(S.current=o,!o||!g){r(),y(null),b.current=null;return}e&&(r(),y(null),b.current=null);let t=o,n=h?h.split(`\0`):[],c=T.current,l=++C.current,u=!1;async function d(){try{let e=await p(t);if(u||l!==C.current)return;if(a({type:s.HydrateProjectChatPanes,threadIds:n,chatPanesByThread:e.chatPanesByThread}),T.current!==c){y(t);return}b.current=JSON.stringify(e),i(e),y(t)}catch(e){u||E.error(`Failed to restore project window state`,e)}}return d(),()=>{u=!0}},[a,g,i,r,h,o]),(0,_.useEffect)(()=>{if(!o||o!==v||!g)return;let r=w({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n,threadIds:h?h.split(`\0`):[],threadMultiPaneStates:l}),i=JSON.stringify(r);if(i===b.current)return;let a=o;b.current=i,x.current=x.current.catch(()=>void 0).then(()=>m(a,r)).catch(e=>{E.error(`Failed to save project window state`,e),b.current===i&&(b.current=null)})},[t,g,v,e,o,n,h,l])}var te=(0,_.createContext)(null);function ne(e){let t=(0,S.c)(19),{windows:n,extraChatPanes:r,primaryChatOpen:i,expandedWindowId:a,selectedWindowId:s,setExpandedWindowId:c,setSelectedWindowId:l}=e,u,d;t[0]!==a||t[1]!==r||t[2]!==i||t[3]!==c||t[4]!==n?(u=()=>{if(a){if(a===`primary`){if(i)return;c(n.length>0?n[0].id:null);return}!n.some(e=>e.id===a)&&!r[a]&&c(i?o:n[0]?.id??null)}},d=[a,r,i,n,c],t[0]=a,t[1]=r,t[2]=i,t[3]=c,t[4]=n,t[5]=u,t[6]=d):(u=t[5],d=t[6]),(0,_.useEffect)(u,d);let f,p;t[7]!==r||t[8]!==i||t[9]!==s||t[10]!==l||t[11]!==n?(f=()=>{if(s===`primary`){if(i||n.length===0)return;l(n[0].id);return}!n.some(e=>e.id===s)&&!r[s]&&l(i?o:n[0]?.id??`primary`)},p=[r,i,s,n,l],t[7]=r,t[8]=i,t[9]=s,t[10]=l,t[11]=n,t[12]=f,t[13]=p):(f=t[12],p=t[13]),(0,_.useEffect)(f,p);let m,h;t[14]!==a||t[15]!==c||t[16]!==n.length?(m=()=>{n.length===0&&a!==null&&c(null)},h=[a,n.length,c],t[14]=a,t[15]=c,t[16]=n.length,t[17]=m,t[18]=h):(m=t[17],h=t[18]),(0,_.useEffect)(m,h)}function re(e,t,n,r){t.panelId===`chat`?n({type:s.RemoveChatPane,paneId:e}):r(t=>t.filter(t=>t.id!==e))}var ie=i(`chat.dock`);function O(e,t,n,r){return e.processingRuns.some(e=>e.threadId===t&&e.conversationId===r)||c(e.threadStreamingStates,t,n).isStreaming||n===l&&e.pendingChatMessage?.threadId===t?!0:e.queuedChatMessages.some(e=>e.threadId===t&&e.paneId===n)}function k(e,t,n){g(e,t).catch(n=>{ie.error(`Failed to mark conversation read on chat window close`,{error:n,threadId:e,conversationId:t})}).finally(()=>{n.invalidateQueries({queryKey:C.conversations.unreadAll()})})}async function ae(e,t,n){let r=t.selectedThreadId;if(!r)return;let i=e===l?t.primaryConversationId:t.extraChatPanes[e]?.conversationId;if(!i&&e===l)try{i=(await h(r)).currentConversationId??void 0}catch(e){ie.error(`Failed to resolve current conversation on chat window close`,{error:e,threadId:r});return}!i||O(t,r,e,i)||k(r,i,n)}function oe(e,t,n,r){if(n.length===1)return null;if(e!==t)return e;let i=n.filter(e=>e.id!==t);return r?o:i[0]?.id??null}function se(e,t,n,r){if(e!==t)return e;let i=n.filter(e=>e.id!==t);return r?o:i[0]?.id??`primary`}function ce(e,t,n){return t.length===0?null:e===`primary`?n:e}function le(e,t){return e===`primary`&&t?t:e}function A(e){let t=(0,S.c)(72),{children:n}=e,r=d(),i=u(),c=b(),p=f(pe),m=f(fe),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],t[0]=h):h=t[0];let[g,y]=(0,_.useState)(h),[x,C]=(0,_.useState)(!0),[w,E]=(0,_.useState)(null),[D,ie]=(0,_.useState)(`half`),[O,k]=(0,_.useState)(o),[A,j]=(0,_.useState)(null),M;t[1]===m?M=t[2]:(M=Object.keys(m).map(de),t[1]=m,t[2]=M);let me=M,N;t[3]!==me||t[4]!==g?(N=[...me,...g],t[3]=me,t[4]=g,t[5]=N):N=t[5];let P=N,F;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(F=new Map,t[6]=F):F=t[6];let he=(0,_.useRef)(F),I=(0,_.useRef)(null),L;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(L=(e,t)=>(he.current.set(e,t),()=>{he.current.delete(e)}),t[7]=L):L=t[7];let ge=L,R;t[8]!==r||t[9]!==P?(R=e=>{if(e===`primary`){r({type:s.SetFocusedPane,paneId:`primary`}),r({type:s.FocusChatInput});return}if(P.find(t=>t.id===e)?.panelId===`chat`){r({type:s.SetFocusedPane,paneId:e}),r({type:s.FocusChatInput});return}he.current.get(e)?.()},t[8]=r,t[9]=P,t[10]=R):R=t[10];let z=R,B,V;t[11]!==w||t[12]!==z||t[13]!==O?(B=()=>{let e=w??O;if(e===null)return;let t=I.current;I.current=e,!(t===null||t===e)&&z(e)},V=[w,O,z],t[11]=w,t[12]=z,t[13]=O,t[14]=B,t[15]=V):(B=t[14],V=t[15]),(0,_.useEffect)(B,V);let H;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>{I.current=o,y([]),C(!0),E(null),k(o),j(null)},t[16]=H):H=t[16];let _e=H,U;t[17]===i?U=t[18]:(U=e=>{let t=T(e,i.getState().selectedThreadId);I.current=t.expandedWindowId??t.selectedWindowId,y(t.nonChatWindows),E(t.expandedWindowId),k(t.selectedWindowId),j(null)},t[17]=i,t[18]=U);let ve=U,W;t[19]!==w||t[20]!==ve||t[21]!==g||t[22]!==O?(W={nonChatWindows:g,expandedWindowId:w,selectedWindowId:O,onReset:_e,onHydrate:ve},t[19]=w,t[20]=ve,t[21]=g,t[22]=O,t[23]=W):W=t[23],ee(W);let G;t[24]!==w||t[25]!==m||t[26]!==x||t[27]!==O||t[28]!==P?(G={windows:P,extraChatPanes:m,primaryChatOpen:x,expandedWindowId:w,selectedWindowId:O,setExpandedWindowId:E,setSelectedWindowId:k},t[24]=w,t[25]=m,t[26]=x,t[27]=O,t[28]=P,t[29]=G):G=t[29],ne(G);let K;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(K=e=>{k(e)},t[30]=K):K=t[30];let ye=K,q;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(q=e=>{e===`primary`&&C(!0),k(e),E(e)},t[31]=q):q=t[31];let be=q,J;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(J=()=>{E(null)},t[32]=J):J=t[32];let xe=J,Y;t[33]!==x||t[34]!==P.length?(Y=e=>{e===`primary`&&C(!0),E(t=>t===null&&P.length>0||t===null&&x&&e!==`primary`?null:e),j(e)},t[33]=x,t[34]=P.length,t[35]=Y):Y=t[35];let X=Y,Z;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(Z=()=>{j(null)},t[36]=Z):Z=t[36];let Se=Z,Ce;t[37]!==r||t[38]!==X||t[39]!==p?(Ce=e=>{let t=a();return e===`chat`?p?(r({type:s.AddChatPane,paneId:t,conversationId:a()}),X(t),t):t:(y(n=>[...n,{id:t,panelId:e}]),X(t),t)},t[37]=r,t[38]=X,t[39]=p,t[40]=Ce):Ce=t[40];let we=Ce,Q;t[41]!==r||t[42]!==x||t[43]!==c||t[44]!==i||t[45]!==P?(Q=e=>{if(e===`primary`){ae(l,i.getState(),c),C(!1);let e=P[0]?.id??null;E(t=>ce(t,P,e)),k(t=>le(t,e));return}let t=P.find(t=>t.id===e);t&&(t.panelId===`chat`&&ae(e,i.getState(),c),re(e,t,r,y),E(t=>oe(t,e,P,x)),k(t=>se(t,e,P,x)))},t[41]=r,t[42]=x,t[43]=c,t[44]=i,t[45]=P,t[46]=Q):Q=t[46];let Te=Q,Ee;t[47]!==r||t[48]!==c||t[49]!==i||t[50]!==P?(Ee=()=>{E(null),k(o),C(!0);let e=i.getState();for(let t of P)t.panelId===`chat`&&(ae(t.id,e,c),r({type:s.RemoveChatPane,paneId:t.id}));y([])},t[47]=r,t[48]=c,t[49]=i,t[50]=P,t[51]=Ee):Ee=t[51];let De=Ee,Oe;t[52]!==x||t[53]!==P?(Oe=e=>e===`chat`?x||P.some(ue):P.some(t=>t.panelId===e),t[52]=x,t[53]=P,t[54]=Oe):Oe=t[54];let ke=Oe,Ae=P.length>0,je=w!==null,Me;t[55]!==we||t[56]!==De||t[57]!==Te||t[58]!==D||t[59]!==w||t[60]!==Ae||t[61]!==je||t[62]!==ke||t[63]!==A||t[64]!==x||t[65]!==X||t[66]!==O||t[67]!==P?(Me={windows:P,addWindow:we,closeWindow:Te,closeAllWindows:De,isPrimaryChatOpen:x,isPanelOpen:ke,hasOpenWindows:Ae,isLayoutExpanded:je,expandedWindowId:w,expandWindow:be,collapseLayout:xe,columnWidth:D,setColumnWidth:ie,selectedWindowId:O,selectWindow:ye,revealWindow:X,pendingScrollWindowId:A,clearPendingScrollWindow:Se,registerPanelFocus:ge},t[55]=we,t[56]=De,t[57]=Te,t[58]=D,t[59]=w,t[60]=Ae,t[61]=je,t[62]=ke,t[63]=A,t[64]=x,t[65]=X,t[66]=O,t[67]=P,t[68]=Me):Me=t[68];let Ne=Me,$;return t[69]!==n||t[70]!==Ne?($=(0,v.jsx)(te.Provider,{value:Ne,children:n}),t[69]=n,t[70]=Ne,t[71]=$):$=t[71],$}function ue(e){return e.panelId===`chat`}function de(e){return{id:e,panelId:`chat`}}function fe(e){return e.extraChatPanes}function pe(e){return e.selectedThreadId}function j(){let e=(0,_.useContext)(te);if(!e)throw Error(`useChatDock must be used within a ChatDockProvider`);return e}export{b as a,x as i,j as n,C as r,A as t};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{t as n}from"./button-kWtLAMpB.js";import{I as r}from"./dist-c_QADQ5u.js";import{i,n as a,r as o,t as s}from"./tooltip-Db8UeYxm.js";import{Jn as c,Vn as l,_r as u,dr as d,gr as f,hr as p,mr as m,pr as h,vr as g}from"./index-B3-5kIOf.js";var _=e(),v=t();function y(e){let t=(0,_.c)(41),{open:y,onOpenChange:b,commitMessage:x,onCommitMessageChange:S,isGeneratingMessage:C,isLoading:w,onGenerateMessage:T,onCommit:E,currentBranch:D}=e,O;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,v.jsx)(g,{children:`Commit Changes`}),t[0]=O):O=t[0];let k;t[1]===D?k=t[2]:(k=(0,v.jsxs)(u,{children:[O,(0,v.jsxs)(p,{children:[`Enter a commit message for your changes on branch `,D]})]}),t[1]=D,t[2]=k);let A;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,v.jsx)(d,{htmlFor:`commit-message`,children:`Commit Message`}),t[3]=A):A=t[3];let j;t[4]===S?j=t[5]:(j=e=>S(e.target.value),t[4]=S,t[5]=j);let M;t[6]!==x||t[7]!==C||t[8]!==j?(M=(0,v.jsx)(c,{id:`commit-message`,placeholder:`Enter commit message...`,value:x,onChange:j,disabled:C,className:`pr-10 h-full min-h-[14rem] resize-none`}),t[6]=x,t[7]=C,t[8]=j,t[9]=M):M=t[9];let N=C||w,P;t[10]===C?P=t[11]:(P=C?(0,v.jsx)(l,{}):(0,v.jsx)(r,{className:`h-3.5 w-3.5`}),t[10]=C,t[11]=P);let F;t[12]!==T||t[13]!==N||t[14]!==P?(F=(0,v.jsx)(i,{asChild:!0,children:(0,v.jsx)(n,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:T,disabled:N,children:P})}),t[12]=T,t[13]=N,t[14]=P,t[15]=F):F=t[15];let I=C?`Generating commit message...`:`Generate commit message with AI`,L;t[16]===I?L=t[17]:(L=(0,v.jsx)(a,{children:I}),t[16]=I,t[17]=L);let R;t[18]!==L||t[19]!==F?(R=(0,v.jsx)(o,{children:(0,v.jsxs)(s,{children:[F,L]})}),t[18]=L,t[19]=F,t[20]=R):R=t[20];let z;t[21]!==R||t[22]!==M?(z=(0,v.jsx)(`div`,{className:`grid gap-4 py-4 flex-1 min-h-0`,children:(0,v.jsxs)(`div`,{className:`grid gap-2 flex-1 min-h-0`,children:[A,(0,v.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[M,R]})]})}),t[21]=R,t[22]=M,t[23]=z):z=t[23];let B;t[24]!==x||t[25]!==w?(B=w||!x.trim(),t[24]=x,t[25]=w,t[26]=B):B=t[26];let V;t[27]===w?V=t[28]:(V=w?(0,v.jsxs)(v.Fragment,{children:[`Commit`,(0,v.jsx)(l,{size:`sm`})]}):`Commit`,t[27]=w,t[28]=V);let H;t[29]!==E||t[30]!==B||t[31]!==V?(H=(0,v.jsx)(f,{className:`w-full items-center`,children:(0,v.jsx)(n,{className:`ml-auto`,onClick:E,disabled:B,children:V})}),t[29]=E,t[30]=B,t[31]=V,t[32]=H):H=t[32];let U;t[33]!==z||t[34]!==H||t[35]!==k?(U=(0,v.jsxs)(m,{className:`flex max-w-2xl flex-col max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:overflow-y-auto max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100 md:h-[min(36rem,85dvh)]`,children:[k,z,H]}),t[33]=z,t[34]=H,t[35]=k,t[36]=U):U=t[36];let W;return t[37]!==b||t[38]!==y||t[39]!==U?(W=(0,v.jsx)(h,{open:y,onOpenChange:b,children:U}),t[37]=b,t[38]=y,t[39]=U,t[40]=W):W=t[40],W}export{y as CommitDialog};
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{a as i,r as a}from"./chat-dock-context-8K8Ikjgy.js";import{Dt as o,N as s}from"./dist-CTLFS4dn.js";import{o as c,r as l,t as u}from"./button-kWtLAMpB.js";import{D as d,bt as ee,mn as te}from"./dist-c_QADQ5u.js";import{Mt as f,Wn as p,ei as m,fi as h,ji as g,l as ne}from"./api-DX1ny6q-.js";import{n as re}from"./use-toast-xpb5jNtN.js";import{n as _}from"./async-loading-fallback-V0EaQ_Kn.js";import{Dt as ie,In as ae,Mn as oe,ar as v,ir as y,nr as b,or as x,rr as S,tr as C,ur as w,yr as T,yt as E}from"./index-B3-5kIOf.js";import{t as se}from"./delete-confirm-dialog-Dl76vaxb.js";import{i as D,r as O}from"./table-A3cgauiZ.js";var k=t(),A=e(n(),1),j=s(`app.use-restore-chat-to-chats`);function M(){let e=i();return(0,A.useCallback)(async function(t,n){try{await p(t,n)}catch(e){j.error(`Failed to restore chat to the Chats group`,{error:e,threadId:t,conversationId:n})}finally{e.invalidateQueries({queryKey:a.conversations.unreadAll()})}},[e])}var N=25;function P(){let e=(0,k.c)(12),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:a.conversations.recent(),queryFn:F,initialPageParam:0,getNextPageParam(e){let t=e.offset+e.conversations.length;return t<e.total?t:void 0}},e[0]=t):t=e[0];let n=T(t),r;e[1]===n.data?.pages?r=e[2]:(r=n.data?.pages.flatMap(function(e){return e.conversations})??[],e[1]=n.data?.pages,e[2]=r);let i=r,o=n.data?.pages[0]?.total??0,s;return e[3]!==i||e[4]!==n.error||e[5]!==n.fetchNextPage||e[6]!==n.hasNextPage||e[7]!==n.isFetchingNextPage||e[8]!==n.isPending||e[9]!==n.refetch||e[10]!==o?(s={conversations:i,total:o,isInitialLoading:n.isPending,isLoadingMore:n.isFetchingNextPage,error:n.error,hasNextPage:n.hasNextPage,fetchNextPage:n.fetchNextPage,refetch:n.refetch},e[3]=i,e[4]=n.error,e[5]=n.fetchNextPage,e[6]=n.hasNextPage,e[7]=n.isFetchingNextPage,e[8]=n.isPending,e[9]=n.refetch,e[10]=o,e[11]=s):s=e[11],s}function F(e){let{pageParam:t}=e;return f(N,t)}var I=[{id:`turns`,label:`Turns`},{id:`inputTokens`,label:`Input Tokens`},{id:`outputTokens`,label:`Output Tokens`},{id:`model`,label:`Model`},{id:`branch`,label:`Branch`}],L=new Set(I.map(function(e){return e.id}));function R(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(function(e){return typeof e==`string`&&L.has(e)}):[]}catch{return[]}}function z(){return R(h(m.HISTORY_COLUMNS))}function B(){let e=(0,k.c)(6),[t,n]=(0,A.useState)(z),r;e[0]===t?r=e[1]:(r=function(e){return t.includes(e)},e[0]=t,e[1]=r);let i=r,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=function(e,t){n(function(n){let r=t?n.includes(e)?n:[...n,e]:n.filter(function(t){return t!==e});return g(m.HISTORY_COLUMNS,JSON.stringify(r)),r})},e[2]=a):a=e[2];let o=a,s;return e[3]!==i||e[4]!==t?(s={visibleColumns:t,isColumnVisible:i,setColumnVisible:o},e[3]=i,e[4]=t,e[5]=s):s=e[5],s}var V=r(),H=36,U=3,W=`table-fixed`,G=`h-9 w-48 bg-transparent py-2`,K=`h-9 bg-transparent py-2`,q=`h-9 w-20 bg-transparent py-2 text-right`,J=`h-9 w-28 bg-transparent py-2 text-right`,Y=`h-9 w-28 bg-transparent py-2 text-right`,X=`h-9 w-40 bg-transparent py-2`,Z=`h-9 w-32 bg-transparent py-2`,ce=`h-9 w-24 bg-transparent py-2 text-right`,le=l(o.bodyMuted,`w-48 truncate py-1.5`),ue=`py-1.5`,Q=l(o.bodyMuted,`w-20 py-1.5 text-right tabular-nums`),de=l(o.bodyMuted,`w-28 py-1.5 text-right tabular-nums`),fe=l(o.bodyMuted,`w-28 py-1.5 text-right tabular-nums`),pe=l(o.bodyMuted,`w-40 truncate py-1.5`),me=l(o.bodyMuted,`w-32 truncate py-1.5`),$=l(o.bodyMuted,`w-24 py-1.5 text-right tabular-nums`);function he(e){let t=(0,k.c)(4),n;if(t[0]!==e){let{style:r,...i}=e,a;t[2]===r?a=t[3]:(a={...r,width:`100%`},t[2]=r,t[3]=a),n=(0,V.jsx)(`table`,{...i,style:a,className:l(`w-full caption-bottom select-text`,W,o.body,i.className)}),t[0]=e,t[1]=n}else n=t[1];return n}function ge(e){let t=(0,k.c)(5),n;t[0]===e.className?n=t[1]:(n=l(`hidden`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,V.jsx)(`thead`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function _e(e){let t=(0,k.c)(5),n;t[0]===e.className?n=t[1]:(n=l(`[&_tr:last-child]:border-0`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,V.jsx)(`tbody`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function ve(e){let t=(0,k.c)(5),n;t[0]===e.className?n=t[1]:(n=l(`frosted-scrollbar`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,V.jsx)(`div`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function ye(e){return function(){return(0,V.jsx)(`tr`,{children:(0,V.jsx)(`td`,{colSpan:e,className:`py-3 text-center`,children:(0,V.jsx)(_,{label:`Loading more…`,size:`sm`})})})}}function be(e){switch(e){case`turns`:return(0,V.jsx)(D,{className:q,children:`Turns`},e);case`inputTokens`:return(0,V.jsx)(D,{className:J,children:`Input Tokens`},e);case`outputTokens`:return(0,V.jsx)(D,{className:Y,children:`Output Tokens`},e);case`model`:return(0,V.jsx)(D,{className:X,children:`Model`},e);case`branch`:return(0,V.jsx)(D,{className:Z,children:`Branch`},e)}}function xe(e,t){switch(t){case`turns`:return(0,V.jsx)(O,{className:Q,children:e.turnCount.toLocaleString()},t);case`inputTokens`:return(0,V.jsx)(O,{className:de,children:e.inputTokens.toLocaleString()},t);case`outputTokens`:return(0,V.jsx)(O,{className:fe,children:e.outputTokens.toLocaleString()},t);case`model`:return(0,V.jsx)(O,{className:pe,children:e.model??`—`},t);case`branch`:return(0,V.jsx)(O,{className:me,children:e.branch},t)}}function Se(){let{openConversation:e}=ae(),t=M(),{toast:n}=re(),[r,i]=(0,A.useState)(!1),[a,s]=(0,A.useState)(!1),{visibleColumns:f,isColumnVisible:p,setColumnVisible:m}=B(),{conversations:h,isInitialLoading:g,isLoadingMore:T,error:k,hasNextPage:j,fetchNextPage:N,refetch:F}=P(),L=U+f.length,R=(0,A.useCallback)(async function(n){await e(n).catch(()=>!1)&&await t(n.threadId,n.conversationId)},[e,t]),z=(0,A.useCallback)(()=>{j&&!T&&N()},[N,j,T]);async function q(){s(!0);try{await ne(),await F(),i(!1),n({title:`Conversation history cleared`})}catch(e){n({title:`Failed to clear conversation history`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{s(!1)}}let J=(0,A.useMemo)(function(){return function({item:e,...t}){return(0,V.jsx)(`tr`,{...t,className:l(`cursor-pointer border-0 transition-colors hover:bg-muted/50`,t.className),onClick:()=>{e&&R(e)}})}},[R]),Y=(0,A.useMemo)(function(){return{Table:he,TableHead:ge,TableBody:_e,TableRow:J,Scroller:ve,Footer:T?ye(L):void 0}},[J,L,T]);function X(e,t){return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(O,{className:le,children:t.projectName}),(0,V.jsx)(O,{className:ue,children:(0,V.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,V.jsx)(ee,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,V.jsx)(`span`,{className:l(o.body,`truncate`),children:t.title})]})}),I.map(function(e){return p(e.id)?xe(t,e.id):null}),(0,V.jsx)(O,{className:$,"aria-label":`Last updated ${c(t.lastMessageAt)} ago`,children:c(t.lastMessageAt)})]})}function Z(){return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(D,{className:G,children:`Project`}),(0,V.jsx)(D,{className:K,children:`Chat`}),I.map(function(e){return p(e.id)?be(e.id):null}),(0,V.jsx)(D,{className:ce,children:`Updated`})]})}let Q=(0,V.jsx)(`table`,{className:l(`w-full caption-bottom`,W,o.body),children:(0,V.jsx)(`thead`,{className:`[&_tr]:border-b [&_tr]:border-table-border`,children:(0,V.jsx)(`tr`,{children:Z()})})});return(0,V.jsxs)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:[(0,V.jsxs)(ie,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[(0,V.jsx)(E,{title:`History`,description:`Browse recent chats across all projects.`,tableHeader:h.length>0?Q:void 0,action:(0,V.jsxs)(C,{children:[(0,V.jsx)(w,{asChild:!0,children:(0,V.jsx)(u,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8`,"aria-label":`Choose columns`,children:(0,V.jsx)(te,{className:`h-4 w-4`})})}),(0,V.jsxs)(S,{align:`end`,className:`w-48`,children:[(0,V.jsx)(v,{className:o.body,children:`Columns`}),I.map(function(e){return(0,V.jsx)(b,{checked:p(e.id),onCheckedChange:t=>{m(e.id,t===!0)},onSelect:e=>{e.preventDefault()},children:e.label},e.id)}),(0,V.jsx)(x,{}),(0,V.jsxs)(y,{className:l(o.body,`gap-2 text-destructive focus:text-destructive`),disabled:h.length===0,onSelect:()=>i(!0),children:[(0,V.jsx)(d,{className:`h-4 w-4`}),`Clear history`]})]})]})}),(0,V.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:g?(0,V.jsx)(_,{label:`Loading conversation history...`,size:`lg`}):k?(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,V.jsxs)(`div`,{className:`max-w-md space-y-4 text-center`,children:[(0,V.jsx)(`p`,{className:o.body,children:k instanceof Error?k.message:`Failed to load conversation history`}),(0,V.jsx)(u,{onClick:()=>void F(),children:`Try again`})]})}):h.length===0?(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,V.jsxs)(`div`,{className:`max-w-md space-y-2 text-center`,children:[(0,V.jsx)(`h3`,{className:o.emptyStateTitle,children:`No history`}),(0,V.jsx)(`p`,{className:o.bodyMuted,children:`No conversations found yet.`})]})}):(0,V.jsx)(oe,{style:{height:`100%`},data:h,computeItemKey:(e,t)=>t.conversationId,itemContent:X,endReached:z,defaultItemHeight:H,increaseViewportBy:H*5,components:Y})})]}),(0,V.jsx)(se,{open:r,onOpenChange:i,title:`Clear conversation history?`,description:`This permanently clears conversation history across all projects. This action cannot be undone.`,onConfirm:()=>void q(),confirming:a,confirmLabel:`Clear`,confirmingLabel:`Clearing...`})]})}export{Se as default};