tarsk 0.5.64 → 0.5.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/public/assets/{browser-tab-D-Lv93tm.js → browser-tab-hcbTzpVn.js} +1 -1
- package/dist/public/assets/{commit-dialog-CoiwuVLU.js → commit-dialog-DK-NP7EN.js} +1 -1
- package/dist/public/assets/{conversation-history-view-C1Wu4_VR.js → conversation-history-view-YGPt-fC9.js} +1 -1
- package/dist/public/assets/{create-project-dialog-DfvqFmmy.js → create-project-dialog-DW4oGrl2.js} +1 -1
- package/dist/public/assets/{create-repo-dialog-wIb4blPC.js → create-repo-dialog-BFBOFZ2W.js} +1 -1
- package/dist/public/assets/{diff-view-P5m6sKUJ.js → diff-view-Cy5PjlG_.js} +1 -1
- package/dist/public/assets/{explorer-tab-view-B6z1DZzq.js → explorer-tab-view-D6t9Ce05.js} +2 -2
- package/dist/public/assets/{explorer-tree-BK2uuzSQ.js → explorer-tree-BCs2U0De.js} +1 -1
- package/dist/public/assets/{explorer-view-D5F0ifAy.js → explorer-view-CxN4GRyn.js} +1 -1
- package/dist/public/assets/{git-ops-button-sVka4_mz.js → git-ops-button-DO1ng45p.js} +2 -2
- package/dist/public/assets/{index-zVJV2Bjj.js → index-B7qJtiRL.js} +8 -8
- package/dist/public/assets/{index-zilB0ZSo.css → index-GYexJ6QO.css} +1 -1
- package/dist/public/assets/{project-settings-view-Dte7mVE6.js → project-settings-view-DKkLgg3C.js} +1 -1
- package/dist/public/assets/{project-tools-view-BOszAFSe.js → project-tools-view-C44y08lY.js} +1 -1
- package/dist/public/assets/{providers-list-view-B1qojjPs.js → providers-list-view-BEXiqKg8.js} +1 -1
- package/dist/public/assets/pull-request-dialog-BOl1VloY.js +1 -0
- package/dist/public/assets/{settings-general-view-DCRKEVJG.js → settings-general-view-LnCQ2zkv.js} +1 -1
- package/dist/public/assets/{settings-instructions-view-C3WTfmcU.js → settings-instructions-view-B7lADJZh.js} +1 -1
- package/dist/public/assets/{settings-mcp-servers-view-B9H8QqOa.js → settings-mcp-servers-view-CN7JO2UD.js} +1 -1
- package/dist/public/assets/{settings-models-view-D0QpnAvv.js → settings-models-view-CswWfeDN.js} +1 -1
- package/dist/public/assets/{settings-rules-view-CbjVigsB.js → settings-rules-view-__5f33ot.js} +1 -1
- package/dist/public/assets/{settings-skills-view-BGztTaqQ.js → settings-skills-view-Dvfrl9kz.js} +1 -1
- package/dist/public/assets/{settings-slash-commands-view-DHsB_RxG.js → settings-slash-commands-view-B1pO-Yie.js} +1 -1
- package/dist/public/assets/{settings-storage-view-CAFIGn34.js → settings-storage-view-CHpGieRu.js} +1 -1
- package/dist/public/assets/{settings-subagents-view-5V5RzBgw.js → settings-subagents-view-CFggo62r.js} +1 -1
- package/dist/public/assets/{settings-system-prompt-view-BiGYDmSw.js → settings-system-prompt-view-BWD6RrX8.js} +1 -1
- package/dist/public/assets/{settings-view-CAvpL6Tc.js → settings-view-ZgVxZhur.js} +2 -2
- package/dist/public/assets/{tasks-view-C6z5quOD.js → tasks-view-4yyCDYbV.js} +1 -1
- package/dist/public/assets/{use-installed-ai-files-CQzyZpa8.js → use-installed-ai-files-CZIOFhcX.js} +1 -1
- package/dist/public/assets/{web-CzV4mQzJ.js → web-CxBqU2BU.js} +1 -1
- package/dist/public/assets/{web-g0yy51Pa.js → web-D8z4Nni0.js} +1 -1
- package/dist/public/assets/{web-B_HK2K2n.js → web-DTwF_7w-.js} +1 -1
- package/dist/public/assets/{web-C8pB6Hir.js → web-Q-tJsXNN.js} +1 -1
- package/dist/public/index.html +2 -2
- package/package.json +1 -1
- package/dist/public/assets/pull-request-dialog-D_KiLAdI.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{C as t,Ci as n,Cn as r,Fr as i,H as a,Jn as o,Qt as s,Sn as c,Ti as l,i as u,it as d,k as f,ot as p,wi as m}from"./interactive-WtOIgeV4.js";import{Ct as h,Fr as g,G as _,St as v,Tt as ee,W as y,wt as b,x,xa as te}from"./onboarding-dbhmRuxw.js";import{r as ne}from"./store-CSyJjyNs.js";import{t as re}from"./use-toast-BFQ85Ly5.js";import{B as ie,G as ae,gt as oe,h as se,l as ce,m as le,q as ue,u as de}from"./index-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{C as t,Ci as n,Cn as r,Fr as i,H as a,Jn as o,Qt as s,Sn as c,Ti as l,i as u,it as d,k as f,ot as p,wi as m}from"./interactive-WtOIgeV4.js";import{Ct as h,Fr as g,G as _,St as v,Tt as ee,W as y,wt as b,x,xa as te}from"./onboarding-dbhmRuxw.js";import{r as ne}from"./store-CSyJjyNs.js";import{t as re}from"./use-toast-BFQ85Ly5.js";import{B as ie,G as ae,gt as oe,h as se,l as ce,m as le,q as ue,u as de}from"./index-B7qJtiRL.js";import{t as fe}from"./use-active-dock-panel-instance-BE69kVdb.js";var S=e(l(),1),C=m();function w(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 pe(e){let t=w(e);if(!t||t.type!==`tarsk-browser-page-title`)return null;let n=t.payload;if(!n||typeof n!=`object`)return null;let r=n.title;return typeof r==`string`?r:null}function me(e){return pe(e)}function T(e){return!e?.trim()}function he(e,t){return T(t)?e:t.trim()}var E=n(),ge=o(`app.browser-tab.ui`);function _e(e){let t=e.trim();return t?(!t.startsWith(`http://`)&&!t.startsWith(`https://`)&&(t=`http://${t}`),t):``}function ve(e){return e?e.querySelector(`electrobun-webview`):null}function ye(e){e.webviewId!=null&&(e.toggleHidden(!0),e.togglePassthrough(!0))}function D(e){e.webviewId!=null&&(e.toggleHidden(!1),e.togglePassthrough(!1),e.syncDimensions(!0))}function be(e,t){if(t){D(e);return}ye(e)}function xe(e){return e!=null&&e.getClientRects().length>0}function Se(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),be(e,n())}}return i=requestAnimationFrame(a),function(){r=!0,cancelAnimationFrame(i)}}function O(e,t=!1){return`(function () {
|
|
2
2
|
const api = window.__tarskBrowserPreview;
|
|
3
3
|
if (!api || typeof api.setSelectMode !== "function") {
|
|
4
4
|
log.error("[browser-preview] selection API is not available");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ci as e,Fr as t,O as n,wi as r}from"./interactive-WtOIgeV4.js";import{A as i,Ct as a,D as o,O as s,St as c,T as l,Tt as u,b as d,j as f,k as p,s as m,wo as h,wt as g}from"./onboarding-dbhmRuxw.js";import{K as _,xt as v}from"./index-
|
|
1
|
+
import{Ci as e,Fr as t,O as n,wi as r}from"./interactive-WtOIgeV4.js";import{A as i,Ct as a,D as o,O as s,St as c,T as l,Tt as u,b as d,j as f,k as p,s as m,wo as h,wt as g}from"./onboarding-dbhmRuxw.js";import{K as _,xt as v}from"./index-B7qJtiRL.js";var y=r(),b=e();function x(e){let r=(0,y.c)(52),{open:x,onOpenChange:S,commitMessage:C,onCommitMessageChange:w,autoGenerateCommitMessage:T,onAutoGenerateChange:E,isGeneratingMessage:D,isLoading:O,onGenerateMessage:k,onCommit:A,currentBranch:j}=e,M;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,b.jsx)(f,{children:`Commit Changes`}),r[0]=M):M=r[0];let N;r[1]===j?N=r[2]:(N=(0,b.jsxs)(i,{children:[M,(0,b.jsxs)(s,{children:[`Enter a commit message for your changes on branch `,j]})]}),r[1]=j,r[2]=N);let P;r[3]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,b.jsx)(d,{htmlFor:`commit-message`,children:`Commit Message`}),r[3]=P):P=r[3];let F;r[4]===w?F=r[5]:(F=e=>w(e.target.value),r[4]=w,r[5]=F);let I;r[6]!==C||r[7]!==D||r[8]!==F?(I=(0,b.jsx)(_,{id:`commit-message`,placeholder:`Enter commit message...`,value:C,onChange:F,disabled:D,className:`pr-10 h-full min-h-[14rem] resize-none`}),r[6]=C,r[7]=D,r[8]=F,r[9]=I):I=r[9];let L=D||O,R;r[10]===D?R=r[11]:(R=D?(0,b.jsx)(v,{}):(0,b.jsx)(n,{className:`h-3.5 w-3.5`}),r[10]=D,r[11]=R);let z;r[12]!==k||r[13]!==L||r[14]!==R?(z=(0,b.jsx)(u,{asChild:!0,children:(0,b.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:k,disabled:L,children:R})}),r[12]=k,r[13]=L,r[14]=R,r[15]=z):z=r[15];let B=D?`Generating commit message...`:`Generate commit message with AI`,V;r[16]===B?V=r[17]:(V=(0,b.jsx)(a,{children:B}),r[16]=B,r[17]=V);let H;r[18]!==V||r[19]!==z?(H=(0,b.jsx)(g,{children:(0,b.jsxs)(c,{children:[z,V]})}),r[18]=V,r[19]=z,r[20]=H):H=r[20];let U;r[21]!==H||r[22]!==I?(U=(0,b.jsx)(`div`,{className:`grid gap-4 py-4 flex-1 min-h-0`,children:(0,b.jsxs)(`div`,{className:`grid gap-2 flex-1 min-h-0`,children:[P,(0,b.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[I,H]})]})}),r[21]=H,r[22]=I,r[23]=U):U=r[23];let W;r[24]===E?W=r[25]:(W=e=>E(e===!0),r[24]=E,r[25]=W);let G;r[26]!==T||r[27]!==W?(G=(0,b.jsx)(m,{id:`auto-generate`,checked:T,onCheckedChange:W}),r[26]=T,r[27]=W,r[28]=G):G=r[28];let K;r[29]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,b.jsx)(d,{htmlFor:`auto-generate`,className:t.labelNormal,children:`Auto generate commit messages`}),r[29]=K):K=r[29];let q;r[30]===G?q=r[31]:(q=(0,b.jsxs)(`div`,{className:`mr-auto flex items-center gap-2`,children:[G,K]}),r[30]=G,r[31]=q);let J;r[32]!==C||r[33]!==O?(J=O||!C.trim(),r[32]=C,r[33]=O,r[34]=J):J=r[34];let Y;r[35]===O?Y=r[36]:(Y=O?(0,b.jsxs)(b.Fragment,{children:[`Commit`,(0,b.jsx)(v,{size:`sm`})]}):`Commit`,r[35]=O,r[36]=Y);let X;r[37]!==A||r[38]!==J||r[39]!==Y?(X=(0,b.jsx)(h,{className:`ml-auto`,onClick:A,disabled:J,children:Y}),r[37]=A,r[38]=J,r[39]=Y,r[40]=X):X=r[40];let Z;r[41]!==q||r[42]!==X?(Z=(0,b.jsxs)(p,{className:`w-full items-center gap-4`,children:[q,X]}),r[41]=q,r[42]=X,r[43]=Z):Z=r[43];let Q;r[44]!==U||r[45]!==N||r[46]!==Z?(Q=(0,b.jsxs)(o,{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:[N,U,Z]}),r[44]=U,r[45]=N,r[46]=Z,r[47]=Q):Q=r[47];let $;return r[48]!==S||r[49]!==x||r[50]!==Q?($=(0,b.jsx)(l,{open:x,onOpenChange:S,children:Q}),r[48]=S,r[49]=x,r[50]=Q,r[51]=$):$=r[51],$}export{x as CommitDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{$t as t,Ci as n,Fr as r,Ti as i,i as a,o,ut as s,wi as c,y as ee}from"./interactive-WtOIgeV4.js";import{_t as l,nt as u}from"./react-vendor-wGLyNWf9.js";import{Wa as d,bt as f,do as p,dt as te,gr as m,ja as h,nn as g,rt as _,wo as v}from"./onboarding-dbhmRuxw.js";import{n as ne}from"./use-toast-BFQ85Ly5.js";import{At as y,C as b,Dt as x,Et as S,Nt as re,Ot as C,at as w,jt as T,kt as E}from"./index-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{$t as t,Ci as n,Fr as r,Ti as i,i as a,o,ut as s,wi as c,y as ee}from"./interactive-WtOIgeV4.js";import{_t as l,nt as u}from"./react-vendor-wGLyNWf9.js";import{Wa as d,bt as f,do as p,dt as te,gr as m,ja as h,nn as g,rt as _,wo as v}from"./onboarding-dbhmRuxw.js";import{n as ne}from"./use-toast-BFQ85Ly5.js";import{At as y,C as b,Dt as x,Et as S,Nt as re,Ot as C,at as w,jt as T,kt as E}from"./index-B7qJtiRL.js";import{t as D}from"./delete-confirm-dialog-Dy0dOtPe.js";import{i as O,r as k}from"./table-CYWF-RhQ.js";var A=e(i(),1),j=c(),M=25;function ie(){let e=(0,j.c)(12),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:w.conversations.recent(),queryFn:N,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=l(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,a=n.data?.pages[0]?.total??0,o;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]!==a?(o={conversations:i,total:a,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]=a,e[11]=o):o=e[11],o}function N(e){let{pageParam:t}=e;return m(M,t)}var P=[{id:`turns`,label:`Turns`},{id:`inputTokens`,label:`Input Tokens`},{id:`outputTokens`,label:`Output Tokens`},{id:`model`,label:`Model`},{id:`branch`,label:`Branch`}],F=new Set(P.map(function(e){return e.id}));function I(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(function(e){return typeof e==`string`&&F.has(e)}):[]}catch{return[]}}function L(){return I(d(h.HISTORY_COLUMNS))}function R(){let e=(0,j.c)(6),[t,n]=(0,A.useState)(L),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 p(h.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 z=n(),B=36,V=3,H=`table-fixed`,U=`h-9 w-48 bg-transparent py-2`,W=`h-9 bg-transparent py-2`,G=`h-9 w-20 bg-transparent py-2 text-right`,K=`h-9 w-28 bg-transparent py-2 text-right`,q=`h-9 w-28 bg-transparent py-2 text-right`,J=`h-9 w-40 bg-transparent py-2`,Y=`h-9 w-32 bg-transparent py-2`,ae=`h-9 w-24 bg-transparent py-2 text-right`,oe=a(r.bodyMuted,`w-48 truncate py-1.5`),se=`py-1.5`,X=a(r.bodyMuted,`w-20 py-1.5 text-right tabular-nums`),Z=a(r.bodyMuted,`w-28 py-1.5 text-right tabular-nums`),Q=a(r.bodyMuted,`w-28 py-1.5 text-right tabular-nums`),ce=a(r.bodyMuted,`w-40 truncate py-1.5`),$=a(r.bodyMuted,`w-32 truncate py-1.5`),le=a(r.bodyMuted,`w-24 py-1.5 text-right tabular-nums`);function ue(e){let t=(0,j.c)(4),n;if(t[0]!==e){let{style:i,...o}=e,s;t[2]===i?s=t[3]:(s={...i,width:`100%`},t[2]=i,t[3]=s),n=(0,z.jsx)(`table`,{...o,style:s,className:a(`w-full caption-bottom select-text`,H,r.body,o.className)}),t[0]=e,t[1]=n}else n=t[1];return n}function de(e){let t=(0,j.c)(5),n;t[0]===e.className?n=t[1]:(n=a(`hidden`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,z.jsx)(`thead`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function fe(e){let t=(0,j.c)(5),n;t[0]===e.className?n=t[1]:(n=a(`[&_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,z.jsx)(`tbody`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function pe(e){let t=(0,j.c)(5),n;t[0]===e.className?n=t[1]:(n=a(`frosted-scrollbar`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,z.jsx)(`div`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function me(e){return function(){return(0,z.jsx)(`tr`,{children:(0,z.jsx)(`td`,{colSpan:e,className:`py-3 text-center`,children:(0,z.jsx)(f,{label:`Loading more…`,size:`sm`})})})}}function he(e){switch(e){case`turns`:return(0,z.jsx)(O,{className:G,children:`Turns`},e);case`inputTokens`:return(0,z.jsx)(O,{className:K,children:`Input Tokens`},e);case`outputTokens`:return(0,z.jsx)(O,{className:q,children:`Output Tokens`},e);case`model`:return(0,z.jsx)(O,{className:J,children:`Model`},e);case`branch`:return(0,z.jsx)(O,{className:Y,children:`Branch`},e)}}function ge(e,t){switch(t){case`turns`:return(0,z.jsx)(k,{className:X,children:e.turnCount.toLocaleString()},t);case`inputTokens`:return(0,z.jsx)(k,{className:Z,children:e.inputTokens.toLocaleString()},t);case`outputTokens`:return(0,z.jsx)(k,{className:Q,children:e.outputTokens.toLocaleString()},t);case`model`:return(0,z.jsx)(k,{className:ce,children:e.model??`—`},t);case`branch`:return(0,z.jsx)(k,{className:$,children:e.branch},t)}}function _e(){let{openConversation:e}=b(),{toast:n}=ne(),[i,c]=(0,A.useState)(!1),[l,d]=(0,A.useState)(!1),{visibleColumns:p,isColumnVisible:m,setColumnVisible:h}=R(),{conversations:w,isInitialLoading:j,isLoadingMore:M,error:N,hasNextPage:F,fetchNextPage:I,refetch:L}=ie(),G=V+p.length,K=(0,A.useCallback)(()=>{F&&!M&&I()},[I,F,M]);async function q(){d(!0);try{await g(),await L(),c(!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{d(!1)}}let J=(0,A.useMemo)(function(){return function({item:t,...n}){return(0,z.jsx)(`tr`,{...n,className:a(`cursor-pointer border-0 transition-colors hover:bg-muted/50`,n.className),onClick:()=>{t&&e(t)}})}},[e]),Y=(0,A.useMemo)(function(){return{Table:ue,TableHead:de,TableBody:fe,TableRow:J,Scroller:pe,Footer:M?me(G):void 0}},[J,G,M]);function X(e,t){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(k,{className:oe,children:t.projectName}),(0,z.jsx)(k,{className:se,children:(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(s,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:a(r.body,`truncate`),children:t.title})]})}),P.map(function(e){return m(e.id)?ge(t,e.id):null}),(0,z.jsx)(k,{className:le,"aria-label":`Last updated ${o(t.lastMessageAt)} ago`,children:o(t.lastMessageAt)})]})}function Z(){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(O,{className:U,children:`Project`}),(0,z.jsx)(O,{className:W,children:`Chat`}),P.map(function(e){return m(e.id)?he(e.id):null}),(0,z.jsx)(O,{className:ae,children:`Updated`})]})}let Q=(0,z.jsx)(`table`,{className:a(`w-full caption-bottom`,H,r.body),children:(0,z.jsx)(`thead`,{className:`[&_tr]:border-b [&_tr]:border-table-border`,children:(0,z.jsx)(`tr`,{children:Z()})})});return(0,z.jsxs)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:[(0,z.jsxs)(te,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[(0,z.jsx)(_,{title:`History`,description:`Browse recent chats across all projects.`,tableHeader:w.length>0?Q:void 0,action:(0,z.jsxs)(S,{children:[(0,z.jsx)(re,{asChild:!0,children:(0,z.jsx)(v,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8`,"aria-label":`Choose columns`,children:(0,z.jsx)(t,{className:`h-4 w-4`})})}),(0,z.jsxs)(C,{align:`end`,className:`w-48`,children:[(0,z.jsx)(y,{className:r.body,children:`Columns`}),P.map(function(e){return(0,z.jsx)(x,{checked:m(e.id),onCheckedChange:t=>{h(e.id,t===!0)},onSelect:e=>{e.preventDefault()},children:e.label},e.id)}),(0,z.jsx)(T,{}),(0,z.jsxs)(E,{className:a(r.body,`gap-2 text-destructive focus:text-destructive`),disabled:w.length===0,onSelect:()=>c(!0),children:[(0,z.jsx)(ee,{className:`h-4 w-4`}),`Clear history`]})]})]})}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:j?(0,z.jsx)(f,{label:`Loading conversation history...`,size:`lg`}):N?(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,z.jsxs)(`div`,{className:`max-w-md space-y-4 text-center`,children:[(0,z.jsx)(`p`,{className:r.body,children:N instanceof Error?N.message:`Failed to load conversation history`}),(0,z.jsx)(v,{onClick:()=>void L(),children:`Try again`})]})}):w.length===0?(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,z.jsxs)(`div`,{className:`max-w-md space-y-2 text-center`,children:[(0,z.jsx)(`h3`,{className:r.emptyStateTitle,children:`No history`}),(0,z.jsx)(`p`,{className:r.bodyMuted,children:`No conversations found yet.`})]})}):(0,z.jsx)(u,{style:{height:`100%`},data:w,computeItemKey:(e,t)=>t.conversationId,itemContent:X,endReached:K,defaultItemHeight:B,increaseViewportBy:B*5,components:Y})})]}),(0,z.jsx)(D,{open:i,onOpenChange:c,title:`Clear conversation history?`,description:`This permanently clears conversation history across all projects. This action cannot be undone.`,onConfirm:()=>void q(),confirming:l,confirmLabel:`Clear`,confirmingLabel:`Clearing...`})]})}export{_e as default};
|
package/dist/public/assets/{create-project-dialog-DfvqFmmy.js → create-project-dialog-DW4oGrl2.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{$r as t,Ci as n,Fr as r,Jn as i,Qt as a,Ti as o,ei as s,i as c,wi as l}from"./interactive-WtOIgeV4.js";import{A as u,D as d,O as f,T as p,_r as m,a as h,b as g,en as _,ht as v,j as y,jr as b,k as x,o as S,po as C,qa as w,so as T,to as E,wo as D,x as O,xo as k,za as A}from"./onboarding-dbhmRuxw.js";import{S as j}from"./index-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{$r as t,Ci as n,Fr as r,Jn as i,Qt as a,Ti as o,ei as s,i as c,wi as l}from"./interactive-WtOIgeV4.js";import{A as u,D as d,O as f,T as p,_r as m,a as h,b as g,en as _,ht as v,j as y,jr as b,k as x,o as S,po as C,qa as w,so as T,to as E,wo as D,x as O,xo as k,za as A}from"./onboarding-dbhmRuxw.js";import{S as j}from"./index-B7qJtiRL.js";import{r as ee}from"./commit-method-fields-DG3NtLE2.js";var M=e(o(),1),N=l(),P={"angular-standalone":`logo-angular.svg`,"custom-angular":`logo-angular.svg`,react:`logo-react.svg`,"vite-react":`logo-react.svg`,vue:`logo-vue.svg`,"vite-vue":`logo-vue.svg`,"custom-svelte":`logo-svelte.svg`,"custom-ionic-svelte":`logo-svelte.svg`,"vite-svelte":`logo-svelte.svg`,"vite-solid":`logo-solid.svg`,astro:`logo-astro.svg`,nextjs:`logo-nextjs.svg`,nuxt:`logo-nuxt.svg`,"vite-qwik":`logo-qwik.svg`,"vite-preact":`logo-preact.svg`,"vite-lit":`logo-lit.svg`,"vite-web":`logo-web.svg`,"tanstack-start":`logo-vite.svg`,waku:`logo-waku.svg`,hydrogen:`logo-hydrogen.svg`,plugin:`logo-capacitor.svg`};function te(e){return e.trim().toLowerCase().replace(/[\\/]+/g,` `).replace(/[^a-z0-9._ -]+/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``)}function ne(e,t,n){return e===2&&t===`clone`?{title:`Clone Repository`,description:`Enter a git repository URL to clone.`}:e===2&&t===`webapp`?{title:`Create App`,description:`Choose a template type.`}:e===3&&t===`clone`?{title:`Clone Repository`,description:`Choose commit workflow.`}:e===3&&t===`folder`?{title:`Blank Starter`,description:`Enter a project name.`}:e===3&&t===`webapp`?{title:n===`Capacitor Plugin`?`Create Capacitor Plugin`:n?`Create ${n} App`:`Create App`,description:`Name your project and choose variation, package manager, and commit workflow.`}:{title:``,description:``}}var re=i(`app.create-project-dialog.ui`);async function ie(){try{if(await _())return!0;if(!window.confirm(`Vite Plus is required for this template but is not installed.
|
|
2
2
|
|
|
3
3
|
Is it ok to install Vite Plus using the following command?
|
|
4
4
|
|
package/dist/public/assets/{create-repo-dialog-wIb4blPC.js → create-repo-dialog-BFBOFZ2W.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ci as e,Fr as t,wi as n}from"./interactive-WtOIgeV4.js";import{A as r,D as i,O as a,T as o,b as s,j as c,k as l,s as u,wo as d,x as f}from"./onboarding-dbhmRuxw.js";import{K as p}from"./index-
|
|
1
|
+
import{Ci as e,Fr as t,wi as n}from"./interactive-WtOIgeV4.js";import{A as r,D as i,O as a,T as o,b as s,j as c,k as l,s as u,wo as d,x as f}from"./onboarding-dbhmRuxw.js";import{K as p}from"./index-B7qJtiRL.js";var m=n(),h=e();function g(e){let n=(0,m.c)(48),{open:g,onOpenChange:_,repoName:v,onRepoNameChange:y,repoDescription:b,onRepoDescriptionChange:x,isPrivateRepo:S,onPrivateRepoChange:C,isLoading:w,onCreateRepo:T}=e,E;n[0]!==_||n[1]!==x||n[2]!==y?(E=e=>{e||(y(``),x(``)),_(e)},n[0]=_,n[1]=x,n[2]=y,n[3]=E):E=n[3];let D;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsxs)(r,{children:[(0,h.jsx)(c,{children:`Create GitHub Repository`}),(0,h.jsx)(a,{children:`Create a new GitHub repository and push your local repository`})]}),n[4]=D):D=n[4];let O;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,h.jsx)(s,{htmlFor:`repo-name`,children:`Repository Name (optional)`}),n[5]=O):O=n[5];let k;n[6]===y?k=n[7]:(k=e=>y(e.target.value),n[6]=y,n[7]=k);let A;n[8]!==v||n[9]!==k?(A=(0,h.jsxs)(`div`,{className:`grid gap-2`,children:[O,(0,h.jsx)(f,{id:`repo-name`,placeholder:`Leave empty to use current folder name`,value:v,onChange:k})]}),n[8]=v,n[9]=k,n[10]=A):A=n[10];let j;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,h.jsx)(s,{htmlFor:`repo-description`,children:`Description (optional)`}),n[11]=j):j=n[11];let M;n[12]===x?M=n[13]:(M=e=>x(e.target.value),n[12]=x,n[13]=M);let N;n[14]!==b||n[15]!==M?(N=(0,h.jsxs)(`div`,{className:`grid gap-2`,children:[j,(0,h.jsx)(p,{id:`repo-description`,placeholder:`Enter repository description...`,value:b,onChange:M,rows:3})]}),n[14]=b,n[15]=M,n[16]=N):N=n[16];let P;n[17]===C?P=n[18]:(P=e=>C(e===!0),n[17]=C,n[18]=P);let F;n[19]!==S||n[20]!==P?(F=(0,h.jsx)(u,{id:`repo-private`,checked:S,onCheckedChange:P}),n[19]=S,n[20]=P,n[21]=F):F=n[21];let I;n[22]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,h.jsx)(s,{htmlFor:`repo-private`,className:t.labelNormal,children:`Private repository`}),n[22]=I):I=n[22];let L;n[23]===F?L=n[24]:(L=(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[F,I]}),n[23]=F,n[24]=L);let R;n[25]!==L||n[26]!==A||n[27]!==N?(R=(0,h.jsxs)(`div`,{className:`grid gap-4 py-4`,children:[A,N,L]}),n[25]=L,n[26]=A,n[27]=N,n[28]=R):R=n[28];let z;n[29]===_?z=n[30]:(z=()=>_(!1),n[29]=_,n[30]=z);let B;n[31]!==w||n[32]!==z?(B=(0,h.jsx)(d,{variant:`outline`,onClick:z,disabled:w,children:`Cancel`}),n[31]=w,n[32]=z,n[33]=B):B=n[33];let V=w?`Creating...`:`Create & Push`,H;n[34]!==w||n[35]!==T||n[36]!==V?(H=(0,h.jsx)(d,{onClick:T,disabled:w,children:V}),n[34]=w,n[35]=T,n[36]=V,n[37]=H):H=n[37];let U;n[38]!==B||n[39]!==H?(U=(0,h.jsxs)(l,{children:[B,H]}),n[38]=B,n[39]=H,n[40]=U):U=n[40];let W;n[41]!==R||n[42]!==U?(W=(0,h.jsxs)(i,{children:[D,R,U]}),n[41]=R,n[42]=U,n[43]=W):W=n[43];let G;return n[44]!==g||n[45]!==E||n[46]!==W?(G=(0,h.jsx)(o,{open:g,onOpenChange:E,children:W}),n[44]=g,n[45]=E,n[46]=W,n[47]=G):G=n[47],G}export{g as CreateRepoDialog};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Fr as n,Ft as r,Jn as i,Mt as a,Nt as o,Ti as s,U as c,ct as l,f as u,fn as d,ft as f,i as p,nt as m,pn as h,tt as g,ut as _,wi as v}from"./interactive-WtOIgeV4.js";import{f as y}from"./react-vendor-wGLyNWf9.js";import{A as b,Ct as x,D as S,In as C,Ji as w,Oi as T,St as E,T as D,Tt as O,Un as k,Xi as A,aa as j,bt as M,f as N,ht as P,j as F,k as I,wo as L,wr as R}from"./onboarding-dbhmRuxw.js";import{c as z}from"./monaco-D1hpqXQ0.js";import{I as ee,L as te,n as B,q as ne,r as re}from"./store-CSyJjyNs.js";import{n as ie,t as ae}from"./use-suspense-resource-rX-GqyWi.js";import{n as oe}from"./utils-Rlf65JHq.js";import{A as se,H as V,J as H,K as U,M as ce,Pt as le,W as ue,j as de,k as W,ot as fe,wt as G}from"./index-zVJV2Bjj.js";import{a as pe,n as me,r as K,t as q}from"./context-menu-M5y1Qb8G.js";import{t as J}from"./async-error-boundary-B0tQed36.js";import"./monaco-setup-x3evbdq3.js";var Y=e(s(),1),X=v(),Z=t();function Q(e){let t=(0,X.c)(12),{children:r,title:i,subtitle:a,headerAction:o,footer:s}=e,c;t[0]!==o||t[1]!==a||t[2]!==i?(c=(i||a||o)&&(0,Z.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-1 border-b border-sidebar-border px-4 py-6`,children:[(i||o)&&(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`div`,{className:`flex items-center gap-2`,children:i&&(0,Z.jsx)(`span`,{className:n.sectionTitle,children:i})}),o&&(0,Z.jsx)(`div`,{className:`flex items-center gap-2 ml-auto`,children:o})]}),a]}),t[0]=o,t[1]=a,t[2]=i,t[3]=c):c=t[3];let l;t[4]===r?l=t[5]:(l=(0,Z.jsx)(P,{className:`min-h-0 flex-1`,children:r}),t[4]=r,t[5]=l);let u;t[6]===s?u=t[7]:(u=s&&(0,Z.jsx)(`div`,{className:`border-t border-sidebar-border`,children:s}),t[6]=s,t[7]=u);let d;return t[8]!==c||t[9]!==l||t[10]!==u?(d=(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 w-full flex-col`,children:[c,l,u]}),t[8]=c,t[9]=l,t[10]=u,t[11]=d):d=t[11],d}function $(e){let t=(0,X.c)(30),{node:n,level:r,renderNode:i,defaultOpen:a,indent:o,childContainerClassName:s,openState:c,onToggle:l,forceOpenIds:u}=e,d=!!(n.children&&n.children.length>0),f,p,m;if(t[0]!==a||t[1]!==u||t[2]!==d||t[3]!==r||t[4]!==n||t[5]!==l||t[6]!==c||t[7]!==i){f=u?.has(n.id)||(c[n.id]??a);let e;t[11]!==n.id||t[12]!==l?(e=()=>l(n.id),t[11]=n.id,t[12]=l,t[13]=e):e=t[13];let o=e;p=`min-w-0`,m=i(n,{isOpen:f,level:r,toggle:o,hasChildren:d}),t[0]=a,t[1]=u,t[2]=d,t[3]=r,t[4]=n,t[5]=l,t[6]=c,t[7]=i,t[8]=f,t[9]=p,t[10]=m}else f=t[8],p=t[9],m=t[10];let h;t[14]!==s||t[15]!==a||t[16]!==u||t[17]!==d||t[18]!==o||t[19]!==f||t[20]!==r||t[21]!==n.children||t[22]!==l||t[23]!==c||t[24]!==i?(h=d&&f&&(0,Z.jsx)(`div`,{style:{paddingLeft:o},className:s,children:n.children.map(e=>(0,Z.jsx)($,{node:e,level:r+1,renderNode:i,defaultOpen:a,indent:o,childContainerClassName:s,openState:c,onToggle:l,forceOpenIds:u},e.id))}),t[14]=s,t[15]=a,t[16]=u,t[17]=d,t[18]=o,t[19]=f,t[20]=r,t[21]=n.children,t[22]=l,t[23]=c,t[24]=i,t[25]=h):h=t[25];let g;return t[26]!==p||t[27]!==m||t[28]!==h?(g=(0,Z.jsxs)(`div`,{className:p,children:[m,h]}),t[26]=p,t[27]=m,t[28]=h,t[29]=g):g=t[29],g}function he(e){let t=(0,X.c)(31),{nodes:n,renderNode:r,resetKey:i,defaultOpen:a,forceOpenIds:o,initialOpenIds:s,indent:c,childContainerClassName:l,className:u}=e,d=a===void 0?!1:a,f=c===void 0?16:c,m;t[0]===s?m=t[1]:(m=()=>{let e={};if(s)for(let t of s)e[t]=!0;return e},t[0]=s,t[1]=m);let[h,g]=(0,Y.useState)(m),[_,v]=(0,Y.useState)(i);if(i!==_){v(i);let e={};if(s)for(let t of s)e[t]=!0;g(e)}let y;t[2]===o?y=t[3]:(y=o?new Set(o):void 0,t[2]=o,t[3]=y);let b=y,x,S;t[4]===o?(x=t[5],S=t[6]):(x=()=>{o?.length&&g(e=>{let t={...e},n=!1;for(let e of o)t[e]!==!0&&(t[e]=!0,n=!0);return n?t:e})},S=[o],t[4]=o,t[5]=x,t[6]=S),(0,Y.useEffect)(x,S);let C;t[7]===d?C=t[8]:(C=e=>{g(t=>({...t,[e]:!(t[e]??d)}))},t[7]=d,t[8]=C);let w=C,T;t[9]===u?T=t[10]:(T=p(`min-w-0`,u),t[9]=u,t[10]=T);let E;if(t[11]!==l||t[12]!==d||t[13]!==b||t[14]!==w||t[15]!==f||t[16]!==n||t[17]!==h||t[18]!==r){let e;t[20]!==l||t[21]!==d||t[22]!==b||t[23]!==w||t[24]!==f||t[25]!==h||t[26]!==r?(e=e=>(0,Z.jsx)($,{node:e,level:0,renderNode:r,defaultOpen:d,indent:f,childContainerClassName:l,openState:h,onToggle:w,forceOpenIds:b},e.id),t[20]=l,t[21]=d,t[22]=b,t[23]=w,t[24]=f,t[25]=h,t[26]=r,t[27]=e):e=t[27],E=n.map(e),t[11]=l,t[12]=d,t[13]=b,t[14]=w,t[15]=f,t[16]=n,t[17]=h,t[18]=r,t[19]=E}else E=t[19];let D;return t[28]!==T||t[29]!==E?(D=(0,Z.jsx)(`div`,{className:T,children:E}),t[28]=T,t[29]=E,t[30]=D):D=t[30],D}function ge(e){let t=[],n={};return e.forEach((e,r)=>{let i=e.path.split(`/`),a=t,o=``;for(let e=0;e<i.length-1;e++){if(o=o?`${o}/${i[e]}`:i[e],!n[o]){let t={id:`dir:${o}`,name:i[e],children:[]};n[o]=t,a.push(t)}a=n[o].children}a.push({id:`file:${e.path}`,name:i[i.length-1],fileIndex:r,status:e.status})}),t}var _e={added:`text-green-500`,deleted:`text-red-500`,untracked:`text-green-500`,renamed:`text-blue-500`,modified:`text-orange-500`},ve={added:`A`,deleted:`D`,untracked:`U`,renamed:`R`,modified:`M`};function ye(e){return p(p(n.compact,`status-badge font-mono font-semibold`),_e[e]??`text-orange-500`)}function be(e){return ve[e]??`M`}function xe(e){let t=(0,X.c)(22),{treeData:i,files:s,error:l,selectedFileIndex:u,onFileSelect:f,onRevertFile:m}=e,{setStats:h}=V(),g;t[0]===s?g=t[1]:(g=s.reduce(Te,0),t[0]=s,t[1]=g);let _=g,v;t[2]===s?v=t[3]:(v=s.reduce(Se,0),t[2]=s,t[3]=v);let y=v,b,x;if(t[4]!==s.length||t[5]!==h||t[6]!==_||t[7]!==y?(b=()=>{h({fileCount:s.length,additions:_,deletions:y})},x=[s.length,_,y,h],t[4]=s.length,t[5]=h,t[6]=_,t[7]=y,t[8]=b,t[9]=x):(b=t[8],x=t[9]),(0,Y.useEffect)(b,x),l){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=p(n.compact,`text-destructive text-center`),t[10]=e):e=t[10];let r;return t[11]===l?r=t[12]:(r=(0,Z.jsx)(Q,{children:(0,Z.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,Z.jsx)(`p`,{className:e,children:l})})}),t[11]=l,t[12]=r),r}if(s.length===0){let e;return t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(Q,{children:(0,Z.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,Z.jsx)(`p`,{className:p(n.compact,n.bodyMuted,`text-center`),children:`No changes to review`})})}),t[13]=e):e=t[13],e}let S;t[14]!==s||t[15]!==f||t[16]!==m||t[17]!==u?(S=(e,t)=>{let{isOpen:i,toggle:l}=t,h=!!e.children,g=(0,Z.jsxs)(N,{onClick:()=>{h?l():e.fileIndex!==void 0&&f(e.fileIndex)},selected:!h&&e.fileIndex===u,className:p(n.conversationBody,`gap-1.5`),children:[h?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(d,{className:p(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,i&&`rotate-90`)}),i?(0,Z.jsx)(o,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}):(0,Z.jsx)(a,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}):(0,Z.jsx)(r,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`truncate flex-1 min-w-0`,children:e.name}),!h&&e.status&&(0,Z.jsx)(`span`,{className:ye(e.status),children:be(e.status)})]});return h?g:(0,Z.jsxs)(q,{children:[(0,Z.jsx)(pe,{asChild:!0,children:(0,Z.jsx)(`div`,{children:g})}),(0,Z.jsx)(me,{children:(0,Z.jsxs)(K,{onClick:()=>{e.fileIndex!==void 0&&m?.(s[e.fileIndex])},children:[(0,Z.jsx)(c,{className:`mr-2 h-3.5 w-3.5`}),`Revert Change`]})})]})},t[14]=s,t[15]=f,t[16]=m,t[17]=u,t[18]=S):S=t[18];let C;return t[19]!==S||t[20]!==i?(C=(0,Z.jsx)(Q,{children:(0,Z.jsx)(`div`,{className:`px-1 pt-3 pb-2`,children:(0,Z.jsx)(he,{nodes:i,defaultOpen:!0,indent:16,childContainerClassName:`ml-4 border-l border-sidebar-border pl-2`,renderNode:S})})}),t[19]=S,t[20]=i,t[21]=C):C=t[21],C}function Se(e,t){return e+t.hunks.reduce(Ce,0)}function Ce(e,t){return e+t.changes.filter(we).length}function we(e){return e.type===`delete`}function Te(e,t){return e+t.hunks.reduce(Ee,0)}function Ee(e,t){return e+t.changes.filter(De).length}function De(e){return e.type===`add`}function Oe(e){let t=(0,X.c)(36),{open:r,lineNumber:i,lineContent:a,initialComment:o,isEditing:s,onSave:c,onDelete:l,onClose:u}=e,[d,f]=(0,Y.useState)((o===void 0?``:o)??``),m;t[0]!==c||t[1]!==d?(m=()=>{d.trim()&&c(d.trim())},t[0]=c,t[1]=d,t[2]=m):m=t[2];let h=m,g;t[3]===h?g=t[4]:(g=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),h())},t[3]=h,t[4]=g);let _=g,v;t[5]===u?v=t[6]:(v=e=>{e||u()},t[5]=u,t[6]=v);let y;t[7]===i?y=t[8]:(y=(0,Z.jsx)(b,{children:(0,Z.jsxs)(F,{children:[`Comment on line `,i]})}),t[7]=i,t[8]=y);let x;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(x=p(n.compact,`font-mono rounded bg-muted px-3 py-2 text-muted-foreground overflow-x-auto whitespace-pre`),t[9]=x):x=t[9];let C=a||` `,w;t[10]===C?w=t[11]:(w=(0,Z.jsx)(`div`,{className:x,children:C}),t[10]=C,t[11]=w);let T;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>f(e.target.value),t[12]=T):T=t[12];let E;t[13]!==_||t[14]!==d?(E=(0,Z.jsx)(U,{autoFocus:!0,placeholder:`Add a comment... (Cmd+Enter to save)`,value:d,onChange:T,onKeyDown:_,rows:12,className:`resize-none text-base`}),t[13]=_,t[14]=d,t[15]=E):E=t[15];let O;t[16]!==s||t[17]!==l?(O=s&&l&&(0,Z.jsx)(L,{variant:`destructive`,size:`sm`,onClick:l,className:`mr-auto`,children:`Delete`}),t[16]=s,t[17]=l,t[18]=O):O=t[18];let k;t[19]===d?k=t[20]:(k=d.trim(),t[19]=d,t[20]=k);let A=!k,j;t[21]!==h||t[22]!==A?(j=(0,Z.jsx)(L,{size:`sm`,onClick:h,disabled:A,children:`Save`}),t[21]=h,t[22]=A,t[23]=j):j=t[23];let M;t[24]!==O||t[25]!==j?(M=(0,Z.jsxs)(I,{className:`gap-2 sm:gap-0`,children:[O,j]}),t[24]=O,t[25]=j,t[26]=M):M=t[26];let N;t[27]!==E||t[28]!==M||t[29]!==y||t[30]!==w?(N=(0,Z.jsxs)(S,{className:`max-w-2xl`,children:[y,w,E,M]}),t[27]=E,t[28]=M,t[29]=y,t[30]=w,t[31]=N):N=t[31];let P;return t[32]!==r||t[33]!==N||t[34]!==v?(P=(0,Z.jsx)(D,{open:r,onOpenChange:v,children:N}),t[32]=r,t[33]=N,t[34]=v,t[35]=P):P=t[35],P}function ke(e){let t=B(),n=re(e=>e.diffComments),r=(0,Y.useMemo)(()=>n[e]??[],[n,e]),i=(0,Y.useCallback)(r=>{let i=n[e]??[],a=typeof r==`function`?r(i):r;t({type:ne.SetDiffComments,threadId:e,comments:a})},[t,e,n]),a=(0,Y.useRef)(!1);return(0,Y.useEffect)(()=>{if((n[e]??[]).length>0){a.current=!0;return}R(e).then(n=>{n.diffComments&&n.diffComments.length>0&&t({type:ne.SetDiffComments,threadId:e,comments:n.diffComments}),a.current=!0}).catch(()=>{a.current=!0})},[e]),(0,Y.useEffect)(()=>{a.current&&T(e,{diffComments:r}).catch(()=>{})},[e,r]),{comments:r,setComments:i}}function Ae(e,t){return`git-diff:${e}:${t}`}function je(){return Error(`Loading review changes timed out. Please try again.`)}async function Me(e,t=15e3){return Promise.race([w(e),new Promise((e,n)=>{window.setTimeout(()=>n(je()),t)})])}var Ne=2;function Pe(e,t){return t<=0?{min:e,max:e}:{min:e,max:e+t-1}}function Fe(e,t){return{startLine:Math.max(1,e-Ne),endLine:t+Ne}}function Ie(e){if(e.hunks.length===0)return null;let t=1/0,n=0,r=1/0,i=0;for(let a of e.hunks){let e=Pe(a.oldStart,a.oldLines),o=Pe(a.newStart,a.newLines);t=Math.min(t,e.min),n=Math.max(n,e.max),r=Math.min(r,o.min),i=Math.max(i,o.max)}return t===1/0||r===1/0?null:{original:Fe(t,n),modified:Fe(r,i)}}function Le(e,t,n){if(e.length===0)return``;let r=e.endsWith(`
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Fr as n,Ft as r,Jn as i,Mt as a,Nt as o,Ti as s,U as c,ct as l,f as u,fn as d,ft as f,i as p,nt as m,pn as h,tt as g,ut as _,wi as v}from"./interactive-WtOIgeV4.js";import{f as y}from"./react-vendor-wGLyNWf9.js";import{A as b,Ct as x,D as S,In as C,Ji as w,Oi as T,St as E,T as D,Tt as O,Un as k,Xi as A,aa as j,bt as M,f as N,ht as P,j as F,k as I,wo as L,wr as R}from"./onboarding-dbhmRuxw.js";import{c as z}from"./monaco-D1hpqXQ0.js";import{I as ee,L as te,n as B,q as ne,r as re}from"./store-CSyJjyNs.js";import{n as ie,t as ae}from"./use-suspense-resource-rX-GqyWi.js";import{n as oe}from"./utils-Rlf65JHq.js";import{A as se,H as V,J as H,K as U,M as ce,Pt as le,W as ue,j as de,k as W,ot as fe,wt as G}from"./index-B7qJtiRL.js";import{a as pe,n as me,r as K,t as q}from"./context-menu-M5y1Qb8G.js";import{t as J}from"./async-error-boundary-B0tQed36.js";import"./monaco-setup-x3evbdq3.js";var Y=e(s(),1),X=v(),Z=t();function Q(e){let t=(0,X.c)(12),{children:r,title:i,subtitle:a,headerAction:o,footer:s}=e,c;t[0]!==o||t[1]!==a||t[2]!==i?(c=(i||a||o)&&(0,Z.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-1 border-b border-sidebar-border px-4 py-6`,children:[(i||o)&&(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`div`,{className:`flex items-center gap-2`,children:i&&(0,Z.jsx)(`span`,{className:n.sectionTitle,children:i})}),o&&(0,Z.jsx)(`div`,{className:`flex items-center gap-2 ml-auto`,children:o})]}),a]}),t[0]=o,t[1]=a,t[2]=i,t[3]=c):c=t[3];let l;t[4]===r?l=t[5]:(l=(0,Z.jsx)(P,{className:`min-h-0 flex-1`,children:r}),t[4]=r,t[5]=l);let u;t[6]===s?u=t[7]:(u=s&&(0,Z.jsx)(`div`,{className:`border-t border-sidebar-border`,children:s}),t[6]=s,t[7]=u);let d;return t[8]!==c||t[9]!==l||t[10]!==u?(d=(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 w-full flex-col`,children:[c,l,u]}),t[8]=c,t[9]=l,t[10]=u,t[11]=d):d=t[11],d}function $(e){let t=(0,X.c)(30),{node:n,level:r,renderNode:i,defaultOpen:a,indent:o,childContainerClassName:s,openState:c,onToggle:l,forceOpenIds:u}=e,d=!!(n.children&&n.children.length>0),f,p,m;if(t[0]!==a||t[1]!==u||t[2]!==d||t[3]!==r||t[4]!==n||t[5]!==l||t[6]!==c||t[7]!==i){f=u?.has(n.id)||(c[n.id]??a);let e;t[11]!==n.id||t[12]!==l?(e=()=>l(n.id),t[11]=n.id,t[12]=l,t[13]=e):e=t[13];let o=e;p=`min-w-0`,m=i(n,{isOpen:f,level:r,toggle:o,hasChildren:d}),t[0]=a,t[1]=u,t[2]=d,t[3]=r,t[4]=n,t[5]=l,t[6]=c,t[7]=i,t[8]=f,t[9]=p,t[10]=m}else f=t[8],p=t[9],m=t[10];let h;t[14]!==s||t[15]!==a||t[16]!==u||t[17]!==d||t[18]!==o||t[19]!==f||t[20]!==r||t[21]!==n.children||t[22]!==l||t[23]!==c||t[24]!==i?(h=d&&f&&(0,Z.jsx)(`div`,{style:{paddingLeft:o},className:s,children:n.children.map(e=>(0,Z.jsx)($,{node:e,level:r+1,renderNode:i,defaultOpen:a,indent:o,childContainerClassName:s,openState:c,onToggle:l,forceOpenIds:u},e.id))}),t[14]=s,t[15]=a,t[16]=u,t[17]=d,t[18]=o,t[19]=f,t[20]=r,t[21]=n.children,t[22]=l,t[23]=c,t[24]=i,t[25]=h):h=t[25];let g;return t[26]!==p||t[27]!==m||t[28]!==h?(g=(0,Z.jsxs)(`div`,{className:p,children:[m,h]}),t[26]=p,t[27]=m,t[28]=h,t[29]=g):g=t[29],g}function he(e){let t=(0,X.c)(31),{nodes:n,renderNode:r,resetKey:i,defaultOpen:a,forceOpenIds:o,initialOpenIds:s,indent:c,childContainerClassName:l,className:u}=e,d=a===void 0?!1:a,f=c===void 0?16:c,m;t[0]===s?m=t[1]:(m=()=>{let e={};if(s)for(let t of s)e[t]=!0;return e},t[0]=s,t[1]=m);let[h,g]=(0,Y.useState)(m),[_,v]=(0,Y.useState)(i);if(i!==_){v(i);let e={};if(s)for(let t of s)e[t]=!0;g(e)}let y;t[2]===o?y=t[3]:(y=o?new Set(o):void 0,t[2]=o,t[3]=y);let b=y,x,S;t[4]===o?(x=t[5],S=t[6]):(x=()=>{o?.length&&g(e=>{let t={...e},n=!1;for(let e of o)t[e]!==!0&&(t[e]=!0,n=!0);return n?t:e})},S=[o],t[4]=o,t[5]=x,t[6]=S),(0,Y.useEffect)(x,S);let C;t[7]===d?C=t[8]:(C=e=>{g(t=>({...t,[e]:!(t[e]??d)}))},t[7]=d,t[8]=C);let w=C,T;t[9]===u?T=t[10]:(T=p(`min-w-0`,u),t[9]=u,t[10]=T);let E;if(t[11]!==l||t[12]!==d||t[13]!==b||t[14]!==w||t[15]!==f||t[16]!==n||t[17]!==h||t[18]!==r){let e;t[20]!==l||t[21]!==d||t[22]!==b||t[23]!==w||t[24]!==f||t[25]!==h||t[26]!==r?(e=e=>(0,Z.jsx)($,{node:e,level:0,renderNode:r,defaultOpen:d,indent:f,childContainerClassName:l,openState:h,onToggle:w,forceOpenIds:b},e.id),t[20]=l,t[21]=d,t[22]=b,t[23]=w,t[24]=f,t[25]=h,t[26]=r,t[27]=e):e=t[27],E=n.map(e),t[11]=l,t[12]=d,t[13]=b,t[14]=w,t[15]=f,t[16]=n,t[17]=h,t[18]=r,t[19]=E}else E=t[19];let D;return t[28]!==T||t[29]!==E?(D=(0,Z.jsx)(`div`,{className:T,children:E}),t[28]=T,t[29]=E,t[30]=D):D=t[30],D}function ge(e){let t=[],n={};return e.forEach((e,r)=>{let i=e.path.split(`/`),a=t,o=``;for(let e=0;e<i.length-1;e++){if(o=o?`${o}/${i[e]}`:i[e],!n[o]){let t={id:`dir:${o}`,name:i[e],children:[]};n[o]=t,a.push(t)}a=n[o].children}a.push({id:`file:${e.path}`,name:i[i.length-1],fileIndex:r,status:e.status})}),t}var _e={added:`text-green-500`,deleted:`text-red-500`,untracked:`text-green-500`,renamed:`text-blue-500`,modified:`text-orange-500`},ve={added:`A`,deleted:`D`,untracked:`U`,renamed:`R`,modified:`M`};function ye(e){return p(p(n.compact,`status-badge font-mono font-semibold`),_e[e]??`text-orange-500`)}function be(e){return ve[e]??`M`}function xe(e){let t=(0,X.c)(22),{treeData:i,files:s,error:l,selectedFileIndex:u,onFileSelect:f,onRevertFile:m}=e,{setStats:h}=V(),g;t[0]===s?g=t[1]:(g=s.reduce(Te,0),t[0]=s,t[1]=g);let _=g,v;t[2]===s?v=t[3]:(v=s.reduce(Se,0),t[2]=s,t[3]=v);let y=v,b,x;if(t[4]!==s.length||t[5]!==h||t[6]!==_||t[7]!==y?(b=()=>{h({fileCount:s.length,additions:_,deletions:y})},x=[s.length,_,y,h],t[4]=s.length,t[5]=h,t[6]=_,t[7]=y,t[8]=b,t[9]=x):(b=t[8],x=t[9]),(0,Y.useEffect)(b,x),l){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=p(n.compact,`text-destructive text-center`),t[10]=e):e=t[10];let r;return t[11]===l?r=t[12]:(r=(0,Z.jsx)(Q,{children:(0,Z.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,Z.jsx)(`p`,{className:e,children:l})})}),t[11]=l,t[12]=r),r}if(s.length===0){let e;return t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(Q,{children:(0,Z.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,Z.jsx)(`p`,{className:p(n.compact,n.bodyMuted,`text-center`),children:`No changes to review`})})}),t[13]=e):e=t[13],e}let S;t[14]!==s||t[15]!==f||t[16]!==m||t[17]!==u?(S=(e,t)=>{let{isOpen:i,toggle:l}=t,h=!!e.children,g=(0,Z.jsxs)(N,{onClick:()=>{h?l():e.fileIndex!==void 0&&f(e.fileIndex)},selected:!h&&e.fileIndex===u,className:p(n.conversationBody,`gap-1.5`),children:[h?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(d,{className:p(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,i&&`rotate-90`)}),i?(0,Z.jsx)(o,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}):(0,Z.jsx)(a,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}):(0,Z.jsx)(r,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`truncate flex-1 min-w-0`,children:e.name}),!h&&e.status&&(0,Z.jsx)(`span`,{className:ye(e.status),children:be(e.status)})]});return h?g:(0,Z.jsxs)(q,{children:[(0,Z.jsx)(pe,{asChild:!0,children:(0,Z.jsx)(`div`,{children:g})}),(0,Z.jsx)(me,{children:(0,Z.jsxs)(K,{onClick:()=>{e.fileIndex!==void 0&&m?.(s[e.fileIndex])},children:[(0,Z.jsx)(c,{className:`mr-2 h-3.5 w-3.5`}),`Revert Change`]})})]})},t[14]=s,t[15]=f,t[16]=m,t[17]=u,t[18]=S):S=t[18];let C;return t[19]!==S||t[20]!==i?(C=(0,Z.jsx)(Q,{children:(0,Z.jsx)(`div`,{className:`px-1 pt-3 pb-2`,children:(0,Z.jsx)(he,{nodes:i,defaultOpen:!0,indent:16,childContainerClassName:`ml-4 border-l border-sidebar-border pl-2`,renderNode:S})})}),t[19]=S,t[20]=i,t[21]=C):C=t[21],C}function Se(e,t){return e+t.hunks.reduce(Ce,0)}function Ce(e,t){return e+t.changes.filter(we).length}function we(e){return e.type===`delete`}function Te(e,t){return e+t.hunks.reduce(Ee,0)}function Ee(e,t){return e+t.changes.filter(De).length}function De(e){return e.type===`add`}function Oe(e){let t=(0,X.c)(36),{open:r,lineNumber:i,lineContent:a,initialComment:o,isEditing:s,onSave:c,onDelete:l,onClose:u}=e,[d,f]=(0,Y.useState)((o===void 0?``:o)??``),m;t[0]!==c||t[1]!==d?(m=()=>{d.trim()&&c(d.trim())},t[0]=c,t[1]=d,t[2]=m):m=t[2];let h=m,g;t[3]===h?g=t[4]:(g=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),h())},t[3]=h,t[4]=g);let _=g,v;t[5]===u?v=t[6]:(v=e=>{e||u()},t[5]=u,t[6]=v);let y;t[7]===i?y=t[8]:(y=(0,Z.jsx)(b,{children:(0,Z.jsxs)(F,{children:[`Comment on line `,i]})}),t[7]=i,t[8]=y);let x;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(x=p(n.compact,`font-mono rounded bg-muted px-3 py-2 text-muted-foreground overflow-x-auto whitespace-pre`),t[9]=x):x=t[9];let C=a||` `,w;t[10]===C?w=t[11]:(w=(0,Z.jsx)(`div`,{className:x,children:C}),t[10]=C,t[11]=w);let T;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>f(e.target.value),t[12]=T):T=t[12];let E;t[13]!==_||t[14]!==d?(E=(0,Z.jsx)(U,{autoFocus:!0,placeholder:`Add a comment... (Cmd+Enter to save)`,value:d,onChange:T,onKeyDown:_,rows:12,className:`resize-none text-base`}),t[13]=_,t[14]=d,t[15]=E):E=t[15];let O;t[16]!==s||t[17]!==l?(O=s&&l&&(0,Z.jsx)(L,{variant:`destructive`,size:`sm`,onClick:l,className:`mr-auto`,children:`Delete`}),t[16]=s,t[17]=l,t[18]=O):O=t[18];let k;t[19]===d?k=t[20]:(k=d.trim(),t[19]=d,t[20]=k);let A=!k,j;t[21]!==h||t[22]!==A?(j=(0,Z.jsx)(L,{size:`sm`,onClick:h,disabled:A,children:`Save`}),t[21]=h,t[22]=A,t[23]=j):j=t[23];let M;t[24]!==O||t[25]!==j?(M=(0,Z.jsxs)(I,{className:`gap-2 sm:gap-0`,children:[O,j]}),t[24]=O,t[25]=j,t[26]=M):M=t[26];let N;t[27]!==E||t[28]!==M||t[29]!==y||t[30]!==w?(N=(0,Z.jsxs)(S,{className:`max-w-2xl`,children:[y,w,E,M]}),t[27]=E,t[28]=M,t[29]=y,t[30]=w,t[31]=N):N=t[31];let P;return t[32]!==r||t[33]!==N||t[34]!==v?(P=(0,Z.jsx)(D,{open:r,onOpenChange:v,children:N}),t[32]=r,t[33]=N,t[34]=v,t[35]=P):P=t[35],P}function ke(e){let t=B(),n=re(e=>e.diffComments),r=(0,Y.useMemo)(()=>n[e]??[],[n,e]),i=(0,Y.useCallback)(r=>{let i=n[e]??[],a=typeof r==`function`?r(i):r;t({type:ne.SetDiffComments,threadId:e,comments:a})},[t,e,n]),a=(0,Y.useRef)(!1);return(0,Y.useEffect)(()=>{if((n[e]??[]).length>0){a.current=!0;return}R(e).then(n=>{n.diffComments&&n.diffComments.length>0&&t({type:ne.SetDiffComments,threadId:e,comments:n.diffComments}),a.current=!0}).catch(()=>{a.current=!0})},[e]),(0,Y.useEffect)(()=>{a.current&&T(e,{diffComments:r}).catch(()=>{})},[e,r]),{comments:r,setComments:i}}function Ae(e,t){return`git-diff:${e}:${t}`}function je(){return Error(`Loading review changes timed out. Please try again.`)}async function Me(e,t=15e3){return Promise.race([w(e),new Promise((e,n)=>{window.setTimeout(()=>n(je()),t)})])}var Ne=2;function Pe(e,t){return t<=0?{min:e,max:e}:{min:e,max:e+t-1}}function Fe(e,t){return{startLine:Math.max(1,e-Ne),endLine:t+Ne}}function Ie(e){if(e.hunks.length===0)return null;let t=1/0,n=0,r=1/0,i=0;for(let a of e.hunks){let e=Pe(a.oldStart,a.oldLines),o=Pe(a.newStart,a.newLines);t=Math.min(t,e.min),n=Math.max(n,e.max),r=Math.min(r,o.min),i=Math.max(i,o.max)}return t===1/0||r===1/0?null:{original:Fe(t,n),modified:Fe(r,i)}}function Le(e,t,n){if(e.length===0)return``;let r=e.endsWith(`
|
|
2
2
|
`),i=e.split(`
|
|
3
3
|
`);return r&&i.length>0&&i[i.length-1]===``&&i.pop(),i.slice(Math.max(0,t-1),Math.max(t-1,n)).join(`
|
|
4
4
|
`)}function Re(e){let t=Ie(e);return t?t.original.startLine<=1||t.modified.startLine<=1:!0}function ze(e,t){return t?e-t.startLine+1:e}function Be(e,t){return t?t.startLine+e-1:e}function Ve(e){return{ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,json:`json`,md:`markdown`,css:`css`,scss:`scss`,html:`html`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,kt:`kotlin`,swift:`swift`,c:`c`,cpp:`cpp`,h:`c`,hpp:`cpp`,sh:`shell`,yaml:`yaml`,yml:`yaml`,xml:`xml`,sql:`sql`}[e.split(`.`).pop()??``]||`plaintext`}function He(e){let t=(0,X.c)(34),{comments:n,activeCommentIndex:r,isFullView:i,selectedFileIndex:a,files:o,selectedFile:s,onLineGutterClick:c}=e,l=(0,Y.useRef)(null),u=(0,Y.useRef)(n),d=(0,Y.useRef)(r),f;t[0]!==o||t[1]!==i||t[2]!==a?(f={isFullView:i,selectedFileIndex:a,files:o},t[0]=o,t[1]=i,t[2]=a,t[3]=f):f=t[3];let p=(0,Y.useRef)(f),m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m={original:[],modified:[]},t[4]=m):m=t[4];let h=(0,Y.useRef)(m),g=(0,Y.useRef)(null),_=(0,Y.useRef)(!0),v,y;t[5]===n?(v=t[6],y=t[7]):(v=()=>{u.current=n},y=[n],t[5]=n,t[6]=v,t[7]=y),(0,Y.useEffect)(v,y);let b,x;t[8]===r?(b=t[9],x=t[10]):(b=()=>{d.current=r},x=[r],t[8]=r,t[9]=b,t[10]=x),(0,Y.useEffect)(b,x);let S,C;t[11]!==o||t[12]!==i||t[13]!==a?(S=()=>{p.current={isFullView:i,selectedFileIndex:a,files:o}},C=[i,a,o],t[11]=o,t[12]=i,t[13]=a,t[14]=S,t[15]=C):(S=t[14],C=t[15]),(0,Y.useEffect)(S,C);let w;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{if(!_.current)return;let e=l.current;if(!e)return;let{isFullView:t,selectedFileIndex:n,files:r}=p.current,i=u.current,a=d.current,o=r[n];if(!o)return;let s=(e,r)=>{let s=t?null:Ie(o),c=s?r===`original`?s.original:s.modified:null,l=i.filter(e=>e.fileIndex===n&&e.side===r),u=new Set(l.map(e=>ze(e.lineNumber,c))),d=e.getModel()?.getLineCount()??0,f=[];for(let e=1;e<=d;e++)u.has(e)||f.push({range:{startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1},options:{isWholeLine:!0,glyphMarginClassName:`diff-gutter-add-comment`,glyphMarginHoverMessage:{value:`$(add) Click to add a comment`},stickiness:z.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}});let p=l.map(e=>{let t=ze(e.lineNumber,c);if(t<1)return null;let n=i.indexOf(e)===a;return{range:{startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1},options:{isWholeLine:!0,className:n?`diff-comment-active-line`:`diff-comment-marked-line`,glyphMarginClassName:n?`diff-comment-glyph-active`:`diff-comment-glyph`,glyphMarginHoverMessage:{value:e.comment},stickiness:z.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}}}).filter(We);f.push(...p);let m=r===`original`?h.current.original:h.current.modified,g=e.deltaDecorations(m,f);r===`original`?h.current.original=g:h.current.modified=g};s(e.getOriginalEditor(),`original`),s(e.getModifiedEditor(),`modified`)},t[16]=w):w=t[16];let T=w,E;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{let e=g.current;g.current=null,e?.original?.dispose(),e?.modified?.dispose()},t[17]=E):E=t[17];let D=E,O;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>{T()},t[18]=O):O=t[18];let k;t[19]!==r||t[20]!==n||t[21]!==i||t[22]!==s||t[23]!==a?(k=[T,n,r,a,i,s],t[19]=r,t[20]=n,t[21]=i,t[22]=s,t[23]=a,t[24]=k):k=t[24],(0,Y.useEffect)(O,k);let A;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>()=>{l.current=null,h.current={original:[],modified:[]},D()},t[25]=A):A=t[25];let j;t[26]===a?j=t[27]:(j=[a,D],t[26]=a,t[27]=j),(0,Y.useEffect)(A,j);let M,N;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>()=>{_.current=!1,l.current=null,h.current={original:[],modified:[]},D()},N=[D],t[28]=M,t[29]=N):(M=t[28],N=t[29]),(0,Y.useEffect)(M,N);let P;t[30]===c?P=t[31]:(P=e=>{l.current=e;let t=e.getModel();g.current=t?{original:t.original,modified:t.modified}:null;let n=Ue,r=(e,t)=>{e.onMouseDown(r=>{if(!r.target?.position||!n(r.target.type))return;let i=r.target.position.lineNumber,{isFullView:a,selectedFileIndex:o,files:s}=p.current,l=s[o];if(!l)return;let d=a?null:Ie(l),f=Be(i,d?t===`original`?d.original:d.modified:null),m=e.getModel()?.getLineContent(i)??``;c({existing:u.current.find(e=>e.fileIndex===o&&e.lineNumber===f&&e.side===t),lineNumber:f,lineContent:m,side:t})})};r(e.getOriginalEditor(),`original`),r(e.getModifiedEditor(),`modified`),setTimeout(()=>{l.current===e&&T()},150)},t[30]=c,t[31]=P);let F=P,I;return t[32]===F?I=t[33]:(I={diffEditorRef:l,applyAllDecorations:T,handleEditorDidMount:F},t[32]=F,t[33]=I),I}function Ue(e){return e===z.MouseTargetType.GUTTER_GLYPH_MARGIN||e===z.MouseTargetType.GUTTER_LINE_NUMBERS||e===z.MouseTargetType.GUTTER_LINE_DECORATIONS||e===z.MouseTargetType.GUTTER_VIEW_ZONE}function We(e){return e!==null}function Ge(e){let t=(0,X.c)(6),{onRetry:r}=e,[i,a]=(0,Y.useState)(!1),o,s;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{let e=window.setTimeout(()=>{a(!0)},15e3);return()=>{window.clearTimeout(e)}},s=[],t[0]=o,t[1]=s):(o=t[0],s=t[1]),(0,Y.useEffect)(o,s),!i){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(M,{label:`Loading review changes...`}),t[2]=e):e=t[2],e}let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsx)(`p`,{className:n.bodyMuted,children:`Loading review changes is taking longer than expected.`}),t[3]=c):c=t[3];let l;return t[4]===r?l=t[5]:(l=(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,Z.jsxs)(`div`,{className:`space-y-4 text-center`,children:[c,(0,Z.jsx)(L,{variant:`outline`,onClick:r,children:`Retry`})]})}),t[4]=r,t[5]=l),l}function Ke(e,t,n){return`git-media:${e}:${t}:${n}`}function qe(e,t,n){let r=(0,X.c)(13),i;r[0]!==t||r[1]!==e||r[2]!==n?(i=Ke(e,t,n),r[0]=t,r[1]=e,r[2]=n,r[3]=i):i=r[3];let a;r[4]!==t||r[5]!==e||r[6]!==n?(a=()=>A(e,t,n),r[4]=t,r[5]=e,r[6]=n,r[7]=a):a=r[7];let o=ae(i,a),s;r[8]===o?s=r[9]:(s=URL.createObjectURL(o),r[8]=o,r[9]=s);let c=s,l,u;return r[10]===c?(l=r[11],u=r[12]):(l=()=>()=>{URL.revokeObjectURL(c)},u=[c],r[10]=c,r[11]=l,r[12]=u),(0,Y.useEffect)(l,u),c}function Je(e){let t=(0,X.c)(9),{threadId:r,filePath:i,version:a,label:o}=e,s=qe(r,i,a),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=p(n.caption,`px-3 py-1.5 border-b text-muted-foreground bg-muted/30`),t[0]=c):c=t[0];let l;t[1]===o?l=t[2]:(l=(0,Z.jsx)(`div`,{className:c,children:o}),t[1]=o,t[2]=l);let u=`${o} - ${i}`,d;t[3]!==s||t[4]!==u?(d=(0,Z.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 overflow-auto bg-background`,children:(0,Z.jsx)(`img`,{src:s,alt:u,className:`max-w-full max-h-full object-contain`})}),t[3]=s,t[4]=u,t[5]=d):d=t[5];let f;return t[6]!==l||t[7]!==d?(f=(0,Z.jsxs)(`div`,{className:`flex flex-col h-full`,children:[l,d]}),t[6]=l,t[7]=d,t[8]=f):f=t[8],f}function Ye(e){let t=(0,X.c)(23),{threadId:n,file:r}=e,i=r.status===`modified`||r.status===`deleted`||r.status===`renamed`,a=r.status===`modified`||r.status===`added`||r.status===`untracked`||r.status===`renamed`;if(i&&a){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(M,{label:`Loading before...`}),t[0]=e):e=t[0];let i=r.status===`renamed`&&r.oldPath?r.oldPath:r.path,a;t[1]!==i||t[2]!==n?(a=(0,Z.jsx)(`div`,{className:`flex-1 border-r border-border`,children:(0,Z.jsx)(Y.Suspense,{fallback:e,children:(0,Z.jsx)(Je,{threadId:n,filePath:i,version:`old`,label:`Before`})})}),t[1]=i,t[2]=n,t[3]=a):a=t[3];let o;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Z.jsx)(M,{label:`Loading after...`}),t[4]=o):o=t[4];let s;t[5]!==r.path||t[6]!==n?(s=(0,Z.jsx)(`div`,{className:`flex-1`,children:(0,Z.jsx)(Y.Suspense,{fallback:o,children:(0,Z.jsx)(Je,{threadId:n,filePath:r.path,version:`new`,label:`After`})})}),t[5]=r.path,t[6]=n,t[7]=s):s=t[7];let c;return t[8]!==a||t[9]!==s?(c=(0,Z.jsxs)(`div`,{className:`flex h-full`,children:[a,s]}),t[8]=a,t[9]=s,t[10]=c):c=t[10],c}let o=a?`new`:`old`,s=a?`Added`:`Deleted`,c;t[11]===s?c=t[12]:(c=s.toLowerCase(),t[11]=s,t[12]=c);let l=`Loading ${c} image...`,u;t[13]===l?u=t[14]:(u=(0,Z.jsx)(M,{label:l}),t[13]=l,t[14]=u);let d;t[15]!==r.path||t[16]!==s||t[17]!==n||t[18]!==o?(d=(0,Z.jsx)(Je,{threadId:n,filePath:r.path,version:o,label:s}),t[15]=r.path,t[16]=s,t[17]=n,t[18]=o,t[19]=d):d=t[19];let f;return t[20]!==u||t[21]!==d?(f=(0,Z.jsx)(`div`,{className:`flex h-full flex-col`,children:(0,Z.jsx)(Y.Suspense,{fallback:u,children:d})}),t[20]=u,t[21]=d,t[22]=f):f=t[22],f}function Xe(e){let t=(0,X.c)(70),{threadId:r,selectedFile:i,selectedFileIndex:a,isImageFile:o,diffOriginal:s,diffModified:c,resolvedTheme:v,onEditorMount:b,diffEditorOptions:S,isPanelCollapsed:C,showTreeBackButton:w,onShowTree:T,onTogglePanel:D,isFullView:k,onToggleFullView:A,comments:j,activeCommentIndex:M,onPrevComment:N,onNextComment:P,onFixComments:F,isChatOpen:I,onOpenChat:R,onCloseChat:z}=e,B=re(Ze),ne;t[0]===B?ne=t[1]:(ne=e=>ee(e,B),t[0]=B,t[1]=ne);let ie=re(ne),ae;t[2]===B?ae=t[3]:(ae=e=>te(e,B),t[2]=B,t[3]=ae);let oe=re(ae),se=C&&`h-auto py-3 flex-col items-start gap-3 md:flex-row md:items-center md:h-[71px] md:py-0 md:gap-2 justify-between`,V;t[4]===se?V=t[5]:(V=p(`bg-transparent`,se),t[4]=se,t[5]=V);let U;t[6]!==C||t[7]!==T||t[8]!==D||t[9]!==w?(U=w?(0,Z.jsxs)(L,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:T,children:[(0,Z.jsx)(g,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{className:`sr-only`,children:`Show file tree`})]}):(0,Z.jsxs)(L,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:D,children:[C?(0,Z.jsx)(g,{className:`h-4 w-4`}):(0,Z.jsx)(m,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{className:`sr-only`,children:`Toggle file tree`})]}),t[6]=C,t[7]=T,t[8]=D,t[9]=w,t[10]=U):U=t[10];let ce;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(ce=p(n.label,`text-foreground`),t[11]=ce):ce=t[11];let de=i?i.path:`Review Changes`,W;t[12]===de?W=t[13]:(W=(0,Z.jsx)(`span`,{className:ce,children:de}),t[12]=de,t[13]=W);let G;t[14]!==U||t[15]!==W?(G=(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[U,W]}),t[14]=U,t[15]=W,t[16]=G):G=t[16];let pe=C&&`ml-0`,me=!C&&`ml-auto`,K;t[17]!==pe||t[18]!==me?(K=p(`flex items-center gap-2`,pe,me,`md:ml-auto`),t[17]=pe,t[18]=me,t[19]=K):K=t[19];let q;t[20]!==k||t[21]!==o||t[22]!==A||t[23]!==i?(q=!o&&(0,Z.jsx)(L,{variant:`ghost`,size:`sm`,onClick:A,disabled:!i,className:p(n.compact,`h-8 gap-1 px-2`),children:k?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(l,{className:`h-3 w-3`}),` Show changes only`]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(f,{className:`h-3 w-3`}),` Show full file`]})}),t[20]=k,t[21]=o,t[22]=A,t[23]=i,t[24]=q):q=t[24];let J;t[25]!==M||t[26]!==j.length||t[27]!==P||t[28]!==N?(J=j.length>0&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsxs)(E,{children:[(0,Z.jsx)(O,{asChild:!0,children:(0,Z.jsx)(L,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:N,disabled:(M??0)===0,children:(0,Z.jsx)(h,{className:`h-3 w-3`})})}),(0,Z.jsx)(x,{children:`Previous comment`})]}),(0,Z.jsx)(`span`,{className:p(n.caption,`whitespace-nowrap`),children:j.length===1?`1 Comment`:`Comment ${(M??0)+1} of ${j.length}`}),(0,Z.jsxs)(E,{children:[(0,Z.jsx)(O,{asChild:!0,children:(0,Z.jsx)(L,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:P,disabled:(M??0)===j.length-1,children:(0,Z.jsx)(d,{className:`h-3 w-3`})})}),(0,Z.jsx)(x,{children:`Next comment`})]})]}),t[25]=M,t[26]=j.length,t[27]=P,t[28]=N,t[29]=J):J=t[29];let Y;t[30]!==j.length||t[31]!==F?(Y=j.length>0&&(0,Z.jsxs)(E,{children:[(0,Z.jsx)(O,{asChild:!0,children:(0,Z.jsxs)(L,{size:`sm`,onClick:F,className:p(n.compact,`h-8 gap-1 px-3 bg-foreground text-background hover:bg-foreground/90`),children:[(0,Z.jsx)(_,{className:`h-3 w-3`}),`Fix all comments`]})}),(0,Z.jsx)(x,{children:`Send all comments to Tarsk for resolution`})]}),t[30]=j.length,t[31]=F,t[32]=Y):Y=t[32];let Q;t[33]!==K||t[34]!==q||t[35]!==J||t[36]!==Y?(Q=(0,Z.jsxs)(`div`,{className:K,children:[q,J,Y]}),t[33]=K,t[34]=q,t[35]=J,t[36]=Y,t[37]=Q):Q=t[37];let $;t[38]!==Q||t[39]!==V||t[40]!==G?($=(0,Z.jsxs)(le,{className:V,children:[G,Q]}),t[38]=Q,t[39]=V,t[40]=G,t[41]=$):$=t[41];let he;t[42]!==S||t[43]!==c||t[44]!==s||t[45]!==o||t[46]!==b||t[47]!==v||t[48]!==i||t[49]!==a||t[50]!==r?(he=o&&i?(0,Z.jsx)(Ye,{threadId:r,file:i}):(0,Z.jsx)(y,{height:`100%`,language:Ve(i?.path||``),original:s,modified:c,keepCurrentOriginalModel:!0,keepCurrentModifiedModel:!0,theme:v===`dark`?`vs-dark`:`vs-light`,onMount:b,options:S},`diff-${a}`),t[42]=S,t[43]=c,t[44]=s,t[45]=o,t[46]=b,t[47]=v,t[48]=i,t[49]=a,t[50]=r,t[51]=he):he=t[51];let ge;t[52]!==ie||t[53]!==B||t[54]!==I||t[55]!==z||t[56]!==oe?(ge=I&&(0,Z.jsxs)(`div`,{className:`pointer-events-auto w-[min(100%,48rem)] rounded-2xl bg-background/50 p-4 backdrop-blur-md`,children:[(0,Z.jsx)(`div`,{className:`mb-3 flex items-center justify-end`,children:(0,Z.jsxs)(L,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:z,children:[(0,Z.jsx)(u,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{className:`sr-only`,children:`Close chat`})]})}),(0,Z.jsx)(fe,{paneId:B,conversationId:ie,children:(0,Z.jsx)(H,{children:(0,Z.jsx)(ue,{messages:oe})})})]}),t[52]=ie,t[53]=B,t[54]=I,t[55]=z,t[56]=oe,t[57]=ge):ge=t[57];let _e;t[58]!==I||t[59]!==R?(_e=!I&&(0,Z.jsxs)(E,{children:[(0,Z.jsx)(O,{asChild:!0,children:(0,Z.jsxs)(L,{size:`icon`,className:`pointer-events-auto h-12 w-12 rounded-full shadow-lg`,onClick:R,children:[(0,Z.jsx)(_,{className:`h-5 w-5`}),(0,Z.jsx)(`span`,{className:`sr-only`,children:`Open review chat`})]})}),(0,Z.jsx)(x,{children:`Chat about this diff`})]}),t[58]=I,t[59]=R,t[60]=_e):_e=t[60];let ve;t[61]!==ge||t[62]!==_e?(ve=(0,Z.jsxs)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 z-20 flex flex-col items-end gap-3`,children:[ge,_e]}),t[61]=ge,t[62]=_e,t[63]=ve):ve=t[63];let ye;t[64]!==he||t[65]!==ve?(ye=(0,Z.jsxs)(`div`,{className:`flex-1 bg-transparent relative`,children:[he,ve]}),t[64]=he,t[65]=ve,t[66]=ye):ye=t[66];let be;return t[67]!==$||t[68]!==ye?(be=(0,Z.jsxs)(`div`,{className:`diff-editor-panel flex h-full min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden bg-transparent`,children:[$,ye]}),t[67]=$,t[68]=ye,t[69]=be):be=t[69],be}function Ze(e){return e.focusedPane}function Qe(){let e=(0,X.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(W,{withHandle:!0,className:`z-10 shrink-0`}),e[0]=t):t=e[0],t}function $e(e){let t=(0,X.c)(8),{isMobile:n,mobileShowTree:r,panelRef:i,onPanelCollapse:a,onPanelExpand:o,fileTreePanel:s,diffEditorPanel:c}=e,l;return t[0]!==c||t[1]!==s||t[2]!==n||t[3]!==r||t[4]!==a||t[5]!==o||t[6]!==i?(l=(0,Z.jsx)(`div`,{className:`diff-body flex min-h-0 w-full flex-1 overflow-hidden`,children:n?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:p(`flex min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden`,!r&&`hidden`),children:s}),(0,Z.jsx)(`div`,{className:p(`flex min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden`,r&&`hidden`),children:c})]}):(0,Z.jsxs)(de,{direction:`horizontal`,children:[(0,Z.jsx)(se,{ref:i,defaultSize:25,minSize:12,maxSize:40,collapsible:!0,collapsedSize:0,onCollapse:a,onExpand:o,className:`overflow-hidden border-r border-transparent`,children:s}),(0,Z.jsx)(Qe,{}),(0,Z.jsx)(se,{className:`overflow-hidden border-l border-border bg-transparent`,children:c})]})}),t[0]=c,t[1]=s,t[2]=n,t[3]=r,t[4]=a,t[5]=o,t[6]=i,t[7]=l):l=t[7],l}var et=i(`app.diff-view.ui`);function tt({threadId:e,onExit:t,loadVersion:n,cachedState:r,onCachedStateChange:i}){let a=ae(Ae(e,n),()=>Me(e)),o=B(),s=re(e=>e.projectModelSelections),{resolvedTheme:c}=oe(),l=ce(),{fetchUnifiedStatus:u}=G(),[d,f]=(0,Y.useState)(r?.files??a.files??[]),[p,m]=(0,Y.useState)(null),[h,g]=(0,Y.useState)(r?.selectedFileIndex??0),[_,v]=(0,Y.useState)(!1),[y,b]=(0,Y.useState)(!1),[x,S]=(0,Y.useState)(!1),[T,E]=(0,Y.useState)(!0),D=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{f(a.files??[]),g(e=>{let t=r?.selectedFileIndex??e,n=Math.max((a.files?.length??1)-1,0);return Math.min(t,n)})},[r?.selectedFileIndex,a.files]),(0,Y.useEffect)(()=>{E(!0)},[e]);let O=(0,Y.useCallback)(e=>{g(e),l&&E(!1)},[l]);(0,Y.useEffect)(()=>{i&&i(e=>{let t=d,n=Math.max(t.length-1,0),r=Math.min(h,n);return e?.files===t&&e.selectedFileIndex===r?e:{files:t,selectedFileIndex:r}})},[d,i,h]);let A=(0,Y.useCallback)(()=>{E(!0)},[]),M=l&&!T,{comments:N,setComments:P}=ke(e),[F,I]=(0,Y.useState)(null),[L,R]=(0,Y.useState)(null),[z,ee]=(0,Y.useState)(null),te=(0,Y.useCallback)(()=>{D.current&&(y?D.current.expand():D.current.collapse())},[y]),ie=(0,Y.useCallback)(async()=>{if(e){m(null);try{let t=await w(e);f(t.files||[]),g(e=>{let n=t.files||[],r=Math.max(n.length-1,0);return Math.min(e,r)})}catch(e){m(e instanceof Error?e.message:`Failed to load diff`)}}},[e]),se=(0,Y.useCallback)(async t=>{try{await j(e,t.path),await Promise.all([ie(),u(!0)])}catch(e){m(e instanceof Error?e.message:`Failed to revert file`)}},[e,ie,u]),V=(0,Y.useMemo)(()=>ge(d),[d]),H=d[h],U=H?.isBinary??!1,le=H?_?H.oldContent:(()=>{let e=Ie(H);return e?Le(H.oldContent,e.original.startLine,e.original.endLine):H.oldContent})():``,ue=H?_?H.newContent:(()=>{let e=Ie(H);return e?Le(H.newContent,e.modified.startLine,e.modified.endLine):H.newContent})():``,{diffEditorRef:de,applyAllDecorations:W,handleEditorDidMount:fe}=He({comments:N,activeCommentIndex:F,isFullView:_,selectedFileIndex:h,files:d,selectedFile:H,onLineGutterClick:(0,Y.useCallback)(({existing:e,lineNumber:t,lineContent:n,side:r})=>{e?ee(e):R({lineNumber:t,lineContent:n,side:r})},[])}),pe=(0,Y.useCallback)(e=>{if(L&&H){let t={id:`comment-${Date.now()}`,filePath:H.path,fileIndex:h,lineNumber:L.lineNumber,lineContent:L.lineContent,comment:e,side:L.side};P(e=>[...e,t]),R(null)}else z&&(P(t=>t.map(t=>t.id===z.id?{...t,comment:e}:t)),ee(null))},[L,z,H,h,P]),me=(0,Y.useCallback)(()=>{z&&(P(e=>e.filter(e=>e.id!==z.id)),ee(null))},[z,P]),K=(0,Y.useCallback)(e=>{if(N.length===0)return;let t=(e%N.length+N.length)%N.length,n=N[t];I(t),g(n.fileIndex),l&&E(!1),setTimeout(()=>{let e=de.current;if(!e)return;let t=d[n.fileIndex];if(!t)return;let r=_?null:Ie(t),i=r?n.side===`original`?r.original:r.modified:null,a=ze(n.lineNumber,i);(n.side===`original`?e.getOriginalEditor():e.getModifiedEditor()).revealLineInCenter(Math.max(1,a)),W()},100)},[N,d,_,W,l]),q=(0,Y.useCallback)(()=>{K((F??0)-1)},[K,F]),J=(0,Y.useCallback)(()=>{K((F??-1)+1)},[K,F]),X=(0,Y.useCallback)(async()=>{let n=s[e];if(!n)try{let e=await k(),t=Object.values(e).flat();if(t.length>0)n=t[0];else{et.error(`No models available to process comments`);return}}catch(e){et.error(`Failed to load models:`,e);return}let r=n.id,i=n.provider;try{let{prompt:n}=await C(e,N);P([]),o({type:ne.SetPendingChatMessage,message:{threadId:e,message:n,model:r,provider:i}}),t()}catch(e){et.error(`Failed to fix comments:`,e),typeof window<`u`&&window.alert(`Failed to process comments. Please try again.`)}},[N,s,o,e,t,P]),Q={readOnly:!0,renderSideBySide:!l,ignoreTrimWhitespace:!1,renderOverviewRuler:!0,scrollBeyondLastLine:!1,minimap:{enabled:!1},folding:!1,glyphMargin:!0,lineNumbers:H&&(_||Re(H))?`on`:`off`,diffWordWrap:`on`,originalEditable:!1,automaticLayout:!0};return(0,Z.jsxs)(`div`,{className:`diff-view-root flex h-full min-h-0 w-full flex-col`,children:[(0,Z.jsx)($e,{isMobile:l,mobileShowTree:T,panelRef:D,onPanelCollapse:()=>b(!0),onPanelExpand:()=>b(!1),fileTreePanel:(0,Z.jsx)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden`,children:(0,Z.jsx)(xe,{treeData:V,files:d,error:p,selectedFileIndex:h,onFileSelect:O,onRevertFile:se})}),diffEditorPanel:(0,Z.jsx)(Xe,{threadId:e,selectedFile:H,selectedFileIndex:h,isImageFile:U,diffOriginal:le,diffModified:ue,resolvedTheme:c,onEditorMount:fe,diffEditorOptions:Q,isPanelCollapsed:y,showTreeBackButton:M,onShowTree:A,onTogglePanel:te,isFullView:_,onToggleFullView:()=>v(e=>!e),comments:N,activeCommentIndex:F,onPrevComment:q,onNextComment:J,onFixComments:X,isChatOpen:x,onOpenChat:()=>S(!0),onCloseChat:()=>S(!1)})}),(0,Z.jsx)(Oe,{open:L!==null||z!==null,lineNumber:z?.lineNumber??L?.lineNumber??0,lineContent:z?.lineContent??L?.lineContent??``,initialComment:z?.comment,isEditing:z!==null,onSave:pe,onDelete:me,onClose:()=>{R(null),ee(null)}},`${z?.id??``}-${L?.lineNumber??``}-${L?.side??``}`)]})}function nt(e){let t=(0,X.c)(23),[n,r]=(0,Y.useState)(0),[i,a]=(0,Y.useState)(0),o=(0,Y.useRef)(0),s=!!e.cachedState,c;t[0]===e.threadId?c=t[1]:(c=()=>{r(t=>(ie(Ae(e.threadId,t)),t+1)),a(it)},t[0]=e.threadId,t[1]=c);let l=c,u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{a(0),r(0),o.current=0},t[2]=u):u=t[2];let d;t[3]===e.threadId?d=t[4]:(d=[e.threadId],t[3]=e.threadId,t[4]=d),(0,Y.useEffect)(u,d);let f,p;t[5]!==e.refreshTrigger||t[6]!==e.threadId?(f=()=>{!e.refreshTrigger||e.refreshTrigger<=o.current||(o.current=e.refreshTrigger,r(t=>(ie(Ae(e.threadId,t)),t+1)),a(rt))},p=[e.refreshTrigger,e.threadId],t[5]=e.refreshTrigger,t[6]=e.threadId,t[7]=f,t[8]=p):(f=t[7],p=t[8]),(0,Y.useEffect)(f,p);let m=`${e.threadId}:${i}`,h;t[9]!==l||t[10]!==s?(h=s?null:(0,Z.jsx)(Ge,{onRetry:l}),t[9]=l,t[10]=s,t[11]=h):h=t[11];let g=`${e.threadId}:${n}`,_;t[12]!==n||t[13]!==e||t[14]!==g?(_=(0,Z.jsx)(tt,{...e,loadVersion:n},g),t[12]=n,t[13]=e,t[14]=g,t[15]=_):_=t[15];let v;t[16]!==h||t[17]!==_?(v=(0,Z.jsx)(Y.Suspense,{fallback:h,children:_}),t[16]=h,t[17]=_,t[18]=v):v=t[18];let y;return t[19]!==l||t[20]!==m||t[21]!==v?(y=(0,Z.jsx)(J,{fallbackTitle:`Failed to load review changes`,onRetry:l,children:v},m),t[19]=l,t[20]=m,t[21]=v,t[22]=y):y=t[22],y}function rt(e){return e+1}function it(e){return e+1}export{nt as DiffView,nt as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/explorer-tree-
|
|
2
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Fr as n,Ti as r,_ as i,i as a}from"./interactive-WtOIgeV4.js";import{bt as o,ht as ee,xt as te}from"./onboarding-dbhmRuxw.js";import{l as s}from"./monaco-D1hpqXQ0.js";import{r as c}from"./store-CSyJjyNs.js";import{t as l}from"./use-toast-BFQ85Ly5.js";import{n as u}from"./explorer-tab-context-8bs_tiCO.js";import{$ as d,A as f,Ct as p,M as m,Q as h,X as g,Z as _,et as v,j as y,k as b}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/explorer-tree-BCs2U0De.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-B7qJtiRL.js","assets/monaco-D1hpqXQ0.js","assets/monaco-BQve5vfS.css","assets/api-BsPadLpi.js","assets/onboarding-dbhmRuxw.js","assets/interactive-WtOIgeV4.js","assets/alert-dialog-Ge-FFGao.js","assets/react-vendor-wGLyNWf9.js","assets/use-toast-BFQ85Ly5.js","assets/chat-dock-context-yQDhSXnw.js","assets/store-CSyJjyNs.js","assets/explorer-tab-context-8bs_tiCO.js","assets/main-tab-context-DHeKIUsf.js","assets/use-suspense-resource-rX-GqyWi.js","assets/local-tool-blocks-DlqmJ7__.js","assets/ndjson-stream-DeGpE5o5.js","assets/thread-tool-blocks-BfowiaTH.js","assets/utils-Rlf65JHq.js","assets/index-GYexJ6QO.css","assets/async-error-boundary-B0tQed36.js","assets/card-xQfAy2Rx.js","assets/context-menu-M5y1Qb8G.js","assets/ui-components-DjoQfi8k.js","assets/explorer-view-CxN4GRyn.js","assets/monaco-setup-x3evbdq3.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Fr as n,Ti as r,_ as i,i as a}from"./interactive-WtOIgeV4.js";import{bt as o,ht as ee,xt as te}from"./onboarding-dbhmRuxw.js";import{l as s}from"./monaco-D1hpqXQ0.js";import{r as c}from"./store-CSyJjyNs.js";import{t as l}from"./use-toast-BFQ85Ly5.js";import{n as u}from"./explorer-tab-context-8bs_tiCO.js";import{$ as d,A as f,Ct as p,M as m,Q as h,X as g,Z as _,et as v,j as y,k as b}from"./index-B7qJtiRL.js";import{t as x}from"./async-error-boundary-B0tQed36.js";var S=e(r(),1),C=t(),w=(0,S.lazy)(()=>s(()=>import(`./explorer-tree-BCs2U0De.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]))),ne=(0,S.lazy)(()=>s(()=>import(`./explorer-view-CxN4GRyn.js`),__vite__mapDeps([25,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26])));function T(){let e=c(e=>e.selectedThreadId),t=m(),[r,s]=(0,S.useState)(null),[T,E]=(0,S.useState)(!0),[D,O]=(0,S.useState)(null),[k,A]=(0,S.useState)(!1),[j,M]=(0,S.useState)(!1),N=(0,S.useRef)(0),{pendingExplorerPath:P,setPendingExplorerPath:F,explorerClearPath:I,setExplorerClearPath:L,triggerExplorerRefresh:R}=u();(0,S.useEffect)(()=>{function e(e){v(e.dataTransfer)&&e.preventDefault()}return window.addEventListener(`dragover`,e),window.addEventListener(`drop`,e),()=>{window.removeEventListener(`dragover`,e),window.removeEventListener(`drop`,e)}},[]),(0,S.useEffect)(()=>{E(!0)},[e]);let z=(0,S.useCallback)(e=>{s(e),t&&E(!1)},[t]),B=(0,S.useCallback)(()=>{E(!0)},[]),V=(0,S.useCallback)(e=>{s(e),t&&E(!1)},[t]);(0,S.useEffect)(()=>{P&&(s({name:P.split(`/`).pop()??P,path:P,type:`file`}),t&&E(!1),F(null))},[t,P,F]),(0,S.useEffect)(()=>{I&&(r&&(r.path===I||r.path.startsWith(I+`/`))&&(s(null),t&&E(!0)),L(null))},[I,t,r,L]);function H(){N.current=0,M(!1)}function U(e){v(e.dataTransfer)&&(N.current+=1,M(!0))}function W(e){v(e.dataTransfer)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)}function G(e){v(e.dataTransfer)&&(N.current=Math.max(0,N.current-1),N.current===0&&M(!1))}function K(e){if(!v(e.dataTransfer))return;e.preventDefault(),H();let{files:t,skippedFolders:n}=d(e.dataTransfer);n>0&&l({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),t.length!==0&&O({files:t,dirPath:``})}let q=(0,S.useCallback)((e,t)=>{N.current=0,M(!1),O({files:e,dirPath:t})},[]);async function J(){if(!(!D||!e||k)){A(!0);try{let{copied:t,failures:n}=await h(e,D.dirPath,D.files);t.length>0&&R(),l(_(D,t.length,n))}finally{A(!1),O(null)}}}let Y={onDragEnter:U,onDragOver:W,onDragLeave:G,onDrop:K},X=j?(0,C.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-50 flex items-center justify-center bg-background/70`,children:(0,C.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border-2 border-dashed border-primary bg-background px-6 py-4`,children:[(0,C.jsx)(i,{className:`h-4 w-4 text-primary`}),(0,C.jsx)(`span`,{className:n.label,children:`Drop files to copy them into the repository`})]})}):null,Z=(0,C.jsx)(ee,{className:`h-full`,children:e?(0,C.jsx)(p,{threadId:e,children:(0,C.jsx)(x,{fallbackTitle:`Failed to load files`,children:(0,C.jsx)(S.Suspense,{fallback:(0,C.jsx)(te,{}),children:(0,C.jsx)(w,{threadId:e,selectedPath:r?.path??null,onNodeSelect:z,onFilesDrop:q})})})}):(0,C.jsx)(`p`,{className:a(n.caption,`px-3 py-4 text-center`),children:`No thread selected.`})}),Q=(0,C.jsx)(S.Suspense,{fallback:(0,C.jsx)(o,{}),children:(0,C.jsx)(ne,{selectedFile:r,showTreeBackButton:t&&!T,onShowTree:B,onFileCreated:V})}),$=(0,C.jsx)(g,{pendingDrop:D,dropCopying:k,onConfirm:()=>{J()},onDismiss:()=>{O(null)}});return t?(0,C.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,...Y,children:[X,$,(0,C.jsx)(`div`,{className:a(`flex-1 min-h-0 overflow-hidden`,!T&&`hidden`),children:Z}),(0,C.jsx)(`div`,{className:a(`flex-1 min-h-0 overflow-hidden`,T&&`hidden`),children:Q})]}):(0,C.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,...Y,children:[X,$,(0,C.jsxs)(y,{direction:`horizontal`,className:`flex-1 overflow-hidden`,children:[(0,C.jsx)(f,{defaultSize:25,minSize:15,maxSize:50,className:`overflow-hidden border-r border-border`,children:Z}),(0,C.jsx)(b,{withHandle:!0}),(0,C.jsx)(f,{className:`overflow-hidden`,children:Q})]})]})}export{T as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Fr as n,Ft as r,Mt as i,Nt as a,Ti as o,fn as s,i as c,mn as l,wi as u,z as d}from"./interactive-WtOIgeV4.js";import{f,x as p,xt as m,yt as h}from"./onboarding-dbhmRuxw.js";import{t as g}from"./use-toast-BFQ85Ly5.js";import{a as _,c as v,i as y,n as b,r as x,t as S}from"./alert-dialog-Ge-FFGao.js";import{n as C}from"./explorer-tab-context-8bs_tiCO.js";import{l as w,n as T,o as E,r as D,s as O,t as k}from"./api-BsPadLpi.js";import{n as A,t as j}from"./use-suspense-resource-rX-GqyWi.js";import{$ as M,bt as N,et as P,it as ee,vt as te,wt as F,yt as I}from"./index-zVJV2Bjj.js";import{a as L,i as R,n as z,r as B,t as ne}from"./context-menu-M5y1Qb8G.js";import{t as re}from"./async-error-boundary-B0tQed36.js";import{t as V}from"./ui-components-DjoQfi8k.js";var H=u(),U=e(o(),1),W=t(),G=U.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=c(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(V,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});G.displayName=V.displayName;var K=U.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,W.jsx)(d,{className:`mr-2 h-4 w-4 shrink-0 opacity-50`}),n[3]=a):a=n[3];let o;n[4]===r?o=n[5]:(o=c(`flex h-11 w-full rounded-md bg-transparent py-3 text-base outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,r),n[4]=r,n[5]=o);let s;return n[6]!==i||n[7]!==t||n[8]!==o?(s=(0,W.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[a,(0,W.jsx)(V.Input,{ref:t,className:o,...i})]}),n[6]=i,n[7]=t,n[8]=o,n[9]=s):s=n[9],s});K.displayName=V.Input.displayName;var q=U.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=c(`max-h-[300px] overflow-y-auto overflow-x-hidden`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(V.List,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});q.displayName=V.List.displayName;var J=U.forwardRef((e,t)=>{let r=(0,H.c)(4),i;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=c(n.bodyMuted,`py-6 text-center`),r[0]=i):i=r[0];let a;return r[1]!==e||r[2]!==t?(a=(0,W.jsx)(V.Empty,{ref:t,className:i,...e}),r[1]=e,r[2]=t,r[3]=a):a=r[3],a});J.displayName=V.Empty.displayName;var Y=U.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=c(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(V.Group,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Y.displayName=V.Group.displayName;var ie=U.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=c(`-mx-1 h-px bg-divider`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(V.Separator,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});ie.displayName=V.Separator.displayName;var ae=U.forwardRef((e,t)=>{let r=(0,H.c)(9),i,a;r[0]===e?(i=r[1],a=r[2]):({className:i,...a}=e,r[0]=e,r[1]=i,r[2]=a);let o;r[3]===i?o=r[4]:(o=c(c(n.body,`relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`),i),r[3]=i,r[4]=o);let s;return r[5]!==a||r[6]!==t||r[7]!==o?(s=(0,W.jsx)(V.Item,{ref:t,className:o,...a}),r[5]=a,r[6]=t,r[7]=o,r[8]=s):s=r[8],s});ae.displayName=V.Item.displayName;var oe=e=>{let t=(0,H.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let a;t[3]===r?a=t[4]:(a=c(n.compact,`ml-auto tracking-widest text-muted-foreground`,r),t[3]=r,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,W.jsx)(`span`,{className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o};oe.displayName=`CommandShortcut`;var X=100,se=500;function Z(e){return e.trim().toLowerCase().split(/\s+/).filter(Boolean)}function ce(e,t){return t.length===0?!0:t.every(t=>e.haystack.includes(t))}function le(e,t,n){if(t.length===0)return[];let r=[];for(let n of e)if(ce(n,t)&&(r.push(n.node),r.length>=se))break;return r.sort((e,t)=>ue(e,t,n)).slice(0,X)}function ue(e,t,n){let r=n.trim().toLowerCase(),i=e.name.toLowerCase(),a=t.name.toLowerCase(),o=r?i.startsWith(r):!1;return o===(r?a.startsWith(r):!1)?e.type===t.type?e.path.localeCompare(t.path):e.type===`folder`?-1:1:o?-1:1}function de(e){let t=(0,H.c)(38),{items:r,isReady:a,onRequestIndex:o,onOpenChange:s,onSelect:l}=e,u=a===void 0?!1:a,d=(0,U.useRef)(null),f=(0,U.useRef)(!1),m=(0,U.useRef)(!1),[h,g]=(0,U.useState)(!1),[_,v]=(0,U.useState)(``),y=(0,U.useDeferredValue)(_),b;t[0]===o?b=t[1]:(b=function(){m.current||(m.current=!0,o())},t[0]=o,t[1]=b);let x=b,S;t[2]!==y||t[3]!==r?(S=le(r,Z(y),y),t[2]=y,t[3]=r,t[4]=S):S=t[4];let C=S,w,T;t[5]!==s||t[6]!==_?(w=()=>{let e=_.trim().length>0;g(e),f.current!==e&&(f.current=e,s(e))},T=[s,_],t[5]=s,t[6]=_,t[7]=w,t[8]=T):(w=t[7],T=t[8]),(0,U.useEffect)(w,T);let E;t[9]===s?E=t[10]:(E=function(e){e||v(``),g(e),s(e),e&&requestAnimationFrame(()=>d.current?.focus())},t[9]=s,t[10]=E);let D=E,O;t[11]!==s||t[12]!==l?(O=function(e){l(e),g(!1),s(!1),v(``)},t[11]=s,t[12]=l,t[13]=O):O=t[13];let k=O,A;t[14]===x?A=t[15]:(A=e=>{x(),v(e.target.value)},t[14]=x,t[15]=A);let j;t[16]!==_||t[17]!==x||t[18]!==A?(j=(0,W.jsx)(N,{asChild:!0,children:(0,W.jsx)(`div`,{className:`bg-transparent`,children:(0,W.jsx)(p,{ref:d,value:_,onPointerDown:x,onChange:A,placeholder:`Search files and folders`,className:`pr-[4px]`})})}),t[16]=_,t[17]=x,t[18]=A,t[19]=j):j=t[19];let M;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(M=c(n.compact,`py-4`),t[20]=M):M=t[20];let P=u?`No matches found.`:`Indexing files and folders...`,F;t[21]===P?F=t[22]:(F=(0,W.jsx)(J,{className:M,children:P}),t[21]=P,t[22]=F);let L;if(t[23]!==k||t[24]!==C){let e;t[26]===k?e=t[27]:(e=e=>(0,W.jsxs)(ae,{value:e.path,onSelect:()=>k(e),className:e.ignored?`opacity-50`:void 0,children:[e.type===`folder`?(0,W.jsx)(i,{className:`h-4 w-4 text-muted-foreground`}):(0,W.jsx)(ee,{filename:e.name}),(0,W.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,W.jsx)(`div`,{className:`truncate`,children:e.name}),(0,W.jsx)(`div`,{className:c(n.compact,`truncate text-muted-foreground`),children:e.path})]})]},e.path),t[26]=k,t[27]=e),L=C.map(e),t[23]=k,t[24]=C,t[25]=L}else L=t[25];let R;t[28]===L?R=t[29]:(R=(0,W.jsx)(Y,{children:L}),t[28]=L,t[29]=R);let z;t[30]!==F||t[31]!==R?(z=(0,W.jsx)(I,{align:`start`,side:`bottom`,sideOffset:4,onOpenAutoFocus:Q,className:`w-[var(--radix-popover-trigger-width)] p-0`,children:(0,W.jsx)(G,{shouldFilter:!1,children:(0,W.jsxs)(q,{children:[F,R]})})}),t[30]=F,t[31]=R,t[32]=z):z=t[32];let B;return t[33]!==D||t[34]!==h||t[35]!==z||t[36]!==j?(B=(0,W.jsxs)(te,{open:h,onOpenChange:D,children:[j,z]}),t[33]=D,t[34]=h,t[35]=z,t[36]=j,t[37]=B):B=t[37],B}function Q(e){return e.preventDefault()}function fe(e,t,n){return`explorer-dir:${e}:${t}:${n}`}function pe(e){let t=(0,H.c)(12),{threadId:n,dirPath:r,version:i,children:a}=e,o;t[0]!==r||t[1]!==n||t[2]!==i?(o=fe(n,r,i),t[0]=r,t[1]=n,t[2]=i,t[3]=o):o=t[3];let s;t[4]!==r||t[5]!==n?(s=()=>E(n,r).then(me),t[4]=r,t[5]=n,t[6]=s):s=t[6];let c=j(o,s),l;t[7]!==a||t[8]!==c?(l=a(c),t[7]=a,t[8]=c,t[9]=l):l=t[9];let u;return t[10]===l?u=t[11]:(u=(0,W.jsx)(W.Fragment,{children:l}),t[10]=l,t[11]=u),u}function me(e){return e.entries}function he(e){let t=(0,H.c)(17),{defaultValue:r,onCommit:i,onCancel:a,level:o,basePadding:s,icon:c}=e,l=(0,U.useRef)(null),u,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{l.current?.focus(),l.current?.select()},d=[],t[0]=u,t[1]=d):(u=t[0],d=t[1]),(0,U.useEffect)(u,d);let p;t[2]!==a||t[3]!==i?(p=function(e){if(e.key===`Enter`){let e=l.current?.value.trim()??``;e?i(e):a()}else e.key===`Escape`&&a()},t[2]=a,t[3]=i,t[4]=p):p=t[4];let m=p,h;t[5]!==a||t[6]!==i?(h=function(){let e=l.current?.value.trim()??``;e?i(e):a()},t[5]=a,t[6]=i,t[7]=h):h=t[7];let g=h,_;t[8]!==r||t[9]!==g||t[10]!==m?(_=(0,W.jsx)(`input`,{ref:l,defaultValue:r,onKeyDown:m,onBlur:g,className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`,onClick:$}),t[8]=r,t[9]=g,t[10]=m,t[11]=_):_=t[11];let v;return t[12]!==s||t[13]!==c||t[14]!==o||t[15]!==_?(v=(0,W.jsxs)(f,{level:o,basePadding:s,className:n.conversationBody,children:[c,_]}),t[12]=s,t[13]=c,t[14]=o,t[15]=_,t[16]=v):v=t[16],v}function $(e){return e.stopPropagation()}function ge(e){return e.map(e=>({node:e,haystack:`${e.name} ${e.path}`.toLowerCase()}))}function _e(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t):``}var ve=(0,U.memo)(function e({node:t,level:o,threadId:u,selectedPath:d,expandedPaths:p,getDirVersion:m,renamingPath:_,newItemIn:v,onToggleFolder:y,onSelectNode:b,onStartRename:x,onCommitRename:S,onCancelRename:C,onDelete:w,onOpen:T,onCopyReference:E,onNewFile:D,onNewFolder:O,onCommitNewItem:k,onCancelNewItem:A,dropTargetPath:j,onFolderDropTargetChange:N,onFilesDrop:te}){let F=p.has(t.path),I=_===t.path,re=v?.dirPath===t.path&&F,V=j===t.path;return t.type===`folder`?(0,W.jsxs)(ne,{children:[(0,W.jsx)(L,{asChild:!0,children:(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(f,{level:o,basePadding:10,selected:d===t.path,className:c(n.conversationBody,t.ignored&&`opacity-50`,V&&`bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-primary`),onClick:e=>{e.stopPropagation(),y(t)},onDragOver:e=>{P(e.dataTransfer)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`,V||N(t.path))},onDragLeave:e=>{P(e.dataTransfer)&&(e.currentTarget.contains(e.relatedTarget)||V&&N(null))},onDrop:e=>{if(!P(e.dataTransfer))return;e.preventDefault(),e.stopPropagation(),N(null);let{files:n,skippedFolders:r}=M(e.dataTransfer);r>0&&g({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),n.length>0&&te(n,t.path)},children:[(0,W.jsx)(`span`,{className:`text-muted-foreground w-3 flex-shrink-0`,children:F?(0,W.jsx)(l,{className:`h-3 w-3`}):(0,W.jsx)(s,{className:`h-3 w-3`})}),I?(0,W.jsxs)(W.Fragment,{children:[F?(0,W.jsx)(a,{className:`h-4 w-4 flex-shrink-0`}):(0,W.jsx)(i,{className:`h-4 w-4 flex-shrink-0`}),(0,W.jsx)(`input`,{autoFocus:!0,defaultValue:t.name,onKeyDown:e=>{if(e.key===`Enter`){let n=e.target.value.trim();n?S(t,n):C()}else e.key===`Escape`&&C()},onBlur:e=>{let n=e.target.value.trim();n?S(t,n):C()},onClick:e=>e.stopPropagation(),className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`})]}):(0,W.jsxs)(W.Fragment,{children:[F?(0,W.jsx)(a,{className:`h-4 w-4 flex-shrink-0`}):(0,W.jsx)(i,{className:`h-4 w-4 flex-shrink-0`}),(0,W.jsx)(`span`,{className:`flex-1 truncate`,children:t.name})]})]}),F&&(0,W.jsx)(`div`,{children:(0,W.jsx)(U.Suspense,{fallback:(0,W.jsx)(h,{}),children:(0,W.jsx)(pe,{threadId:u,dirPath:t.path,version:m(t.path),children:t=>(0,W.jsxs)(W.Fragment,{children:[re&&(0,W.jsx)(he,{defaultValue:``,level:o+1,basePadding:v.type===`folder`?10:22,icon:v.type===`folder`?(0,W.jsx)(i,{className:`h-4 w-4 flex-shrink-0`}):(0,W.jsx)(r,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),onCommit:k,onCancel:A}),t.map(t=>(0,W.jsx)(e,{node:t,level:o+1,threadId:u,selectedPath:d,expandedPaths:p,getDirVersion:m,renamingPath:_,newItemIn:v,onToggleFolder:y,onSelectNode:b,onStartRename:x,onCommitRename:S,onCancelRename:C,onDelete:w,onOpen:T,onCopyReference:E,onNewFile:D,onNewFolder:O,onCommitNewItem:k,onCancelNewItem:A,dropTargetPath:j,onFolderDropTargetChange:N,onFilesDrop:te},t.path))]})})})})]})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(B,{onSelect:()=>T(t),children:`Open`}),(0,W.jsx)(R,{}),(0,W.jsx)(B,{onSelect:()=>D(t.path),children:`New File...`}),(0,W.jsx)(B,{onSelect:()=>O(t.path),children:`New Folder...`}),(0,W.jsx)(R,{}),(0,W.jsx)(B,{onSelect:()=>E(t),children:`Copy Reference`}),(0,W.jsx)(B,{onSelect:()=>x(t),children:`Rename...`}),(0,W.jsx)(B,{onSelect:()=>w(t),className:`text-destructive focus:text-destructive`,children:`Delete`})]})]}):(0,W.jsxs)(ne,{children:[(0,W.jsx)(L,{asChild:!0,children:(0,W.jsxs)(f,{level:o,basePadding:22,selected:d===t.path,className:c(n.conversationBody,t.ignored&&`opacity-50`),onClick:()=>b(t),children:[(0,W.jsx)(ee,{filename:t.name}),I?(0,W.jsx)(`input`,{autoFocus:!0,defaultValue:t.name,onKeyDown:e=>{if(e.key===`Enter`){let n=e.target.value.trim();n?S(t,n):C()}else e.key===`Escape`&&C()},onBlur:e=>{let n=e.target.value.trim();n?S(t,n):C()},onClick:e=>e.stopPropagation(),className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`}):(0,W.jsx)(`span`,{className:`flex-1 truncate`,children:t.name})]})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(B,{onSelect:()=>T(t),children:`Open`}),(0,W.jsx)(R,{}),(0,W.jsx)(B,{onSelect:()=>D(_e(t.path)),children:`New File...`}),(0,W.jsx)(B,{onSelect:()=>O(_e(t.path)),children:`New Folder...`}),(0,W.jsx)(R,{}),(0,W.jsx)(B,{onSelect:()=>E(t),children:`Copy Reference`}),(0,W.jsx)(B,{onSelect:()=>x(t),children:`Rename...`}),(0,W.jsx)(B,{onSelect:()=>w(t),className:`text-destructive focus:text-destructive`,children:`Delete`})]})]})}),ye=new Map;function be({threadId:e,selectedPath:t,onNodeSelect:n,onFilesDrop:a}){let[o,s]=(0,U.useState)(()=>new Map([[``,0]])),[c,l]=(0,U.useState)(new Set),[u,d]=(0,U.useState)(null),[f,p]=(0,U.useState)(null),[h,j]=(0,U.useState)(null),[M,N]=(0,U.useState)(null),[P,ee]=(0,U.useState)(!1),[te,I]=(0,U.useState)([]),[R,V]=(0,U.useState)(!1),[H,G]=(0,U.useState)(!1),K=(0,U.useRef)(null),q=(0,U.useRef)(0),J=(0,U.useRef)(null),{explorerRefreshTick:Y,pendingExplorerPath:ie,setExplorerClearPath:ae}=C(),{fetchUnifiedStatus:oe}=F(),X=(0,U.useMemo)(()=>`${e}:${Y}`,[Y,e]),se=(0,U.useCallback)(e=>{(0,U.startTransition)(()=>{ee(t=>t===e?t:e)})},[]),Z=(0,U.useCallback)(async()=>{if(!e)return;let t=ye.get(X);if(t){I(t),V(!0);return}if(K.current!==X){K.current=X,I([]),V(!1);try{let t=ge((await E(e,``,!0)).entries);ye.set(X,t),I(t),V(!0)}catch{I([]),V(!1)}finally{K.current===X&&(K.current=null)}}},[X,e]),ce=(0,U.useCallback)(()=>{G(!0)},[]),le=(0,U.useCallback)(()=>{ye.delete(X),I([]),V(!1)},[X]),ue=(0,U.useCallback)(()=>{le(),H&&Z()},[le,Z,H]),Q=(0,U.useCallback)(e=>o.get(e)??0,[o]),me=(0,U.useCallback)(e=>{s(t=>{let n=new Map(t);return n.set(e,(t.get(e)??0)+1),n})},[]),$=(0,U.useCallback)(t=>{e&&(A(fe(e,t,Q(t))),me(t))},[me,Q,e]),be=(0,U.useCallback)(t=>{if(!e)return;let n=t.path.split(`/`);t.type===`file`&&n.pop();let r=[],i=``;for(let e of n)i=i?`${i}/${e}`:e,r.push(i);l(e=>{let t=new Set(e);for(let e of r)t.add(e);return t})},[e]);(0,U.useEffect)(()=>{if(!e)return;let t=J.current!==null&&J.current!==e;J.current=e,t&&(s(new Map([[``,0]])),l(new Set),d(null),p(null),q.current=Y)},[Y,e]),(0,U.useEffect)(()=>{!e||Y<=q.current||(q.current=Y,s(t=>{let n=new Set([``]);for(let e of c)n.add(e);let r=new Map(t);for(let i of n){let n=t.get(i)??0;A(fe(e,i,n)),r.set(i,n+1)}return r}))},[Y,c,e]),(0,U.useEffect)(()=>{I([]),V(!1),G(!1),K.current=null},[X]),(0,U.useEffect)(()=>{!H||!e||Z()},[Z,H,e]),(0,U.useEffect)(()=>{if(!ie||!e)return;let t=ie.split(`/`);t.pop();let n=[],r=``;for(let e of t)r=r?`${r}/${e}`:e,n.push(r);if(n.length!==0){l(e=>{let t=new Set(e);for(let e of n)t.add(e);return t});for(let e of n)s(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})}},[ie,e]);function xe(e){c.has(e.path)?l(t=>{let n=new Set(t);return n.delete(e.path),n}):(l(t=>new Set(t).add(e.path)),s(t=>{if(t.has(e.path))return t;let n=new Map(t);return n.set(e.path,0),n}))}function Se(e){j(e)}async function Ce(t){try{await O(e,t.path)}catch{g({title:`Error`,description:`Failed to open "${t.name}"`,variant:`destructive`})}}async function we(e){try{await navigator.clipboard.writeText(e.path);let t=g({title:`Copied`,description:`Reference copied to clipboard.`});window.setTimeout(()=>{t.dismiss()},2e3)}catch{g({title:`Error`,description:`Failed to copy reference for "${e.name}"`,variant:`destructive`})}}async function Te(){if(!h)return;let t=h;j(null);try{await D(e,t.path),ae(t.path),$(_e(t.path)),ue(),oe(!0),l(e=>{let n=new Set(e);for(let e of n)(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}),s(e=>{let n=new Map(e);for(let e of n.keys())(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n})}catch{g({title:`Error`,description:`Failed to move "${t.name}" to trash`,variant:`destructive`})}}function Ee(e){p(null),d(e.path)}async function De(t,n){if(n===t.name){d(null);return}d(null);try{await w(e,t.path,n),$(_e(t.path)),ue(),oe(!0),t.type===`folder`&&(l(e=>{let n=new Set(e);for(let e of n)(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}),s(e=>{let n=new Map(e);for(let e of n.keys())(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}))}catch{g({title:`Error`,description:`Failed to rename "${t.name}"`,variant:`destructive`})}}function Oe(e){d(null),c.has(e)||(l(t=>new Set(t).add(e)),s(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})),p({dirPath:e,type:`file`})}function ke(e){d(null),c.has(e)||(l(t=>new Set(t).add(e)),s(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})),p({dirPath:e,type:`folder`})}async function Ae(t){if(!f)return;let{dirPath:n,type:r}=f;p(null);try{r===`file`?await k(e,n,t):await T(e,n,t),$(n),ue(),oe(!0)}catch{g({title:`Error`,description:`Failed to create ${r} "${t}"`,variant:`destructive`})}}function je(){p(null)}let Me=(0,U.useCallback)((e,t)=>{a?.(e,t)},[a]);function Ne(e){be(e),e.type===`file`&&n(e)}let Pe=f?.dirPath===``?(0,W.jsx)(he,{defaultValue:``,level:0,basePadding:f.type===`folder`?10:22,icon:f.type===`folder`?(0,W.jsx)(i,{className:`h-4 w-4 flex-shrink-0`}):(0,W.jsx)(r,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),onCommit:Ae,onCancel:je}):null;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(S,{open:h!==null,onOpenChange:e=>!e&&j(null),children:(0,W.jsxs)(y,{children:[(0,W.jsx)(v,{children:`Move to Trash`}),(0,W.jsxs)(_,{children:[`Move “`,h?.name,`” to trash?`]}),(0,W.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[(0,W.jsx)(x,{children:`Cancel`}),(0,W.jsx)(b,{onClick:()=>void Te(),children:`Move to Trash`})]})]})}),(0,W.jsx)(`div`,{className:`border-b border-border px-2 py-2`,children:(0,W.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,W.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,W.jsx)(de,{items:te,isReady:R,onRequestIndex:ce,onOpenChange:se,onSelect:e=>Ne(e)},X)})})}),(0,W.jsxs)(ne,{children:[(0,W.jsx)(L,{asChild:!0,disabled:P,children:(0,W.jsx)(`div`,{className:`py-2 min-h-full`,children:(0,W.jsx)(re,{fallbackTitle:`Failed to load files`,onRetry:()=>$(``),children:(0,W.jsx)(U.Suspense,{fallback:(0,W.jsx)(m,{}),children:(0,W.jsx)(pe,{threadId:e,dirPath:``,version:Q(``),children:r=>(0,W.jsxs)(W.Fragment,{children:[Pe,r.map(r=>(0,W.jsx)(ve,{node:r,level:0,threadId:e,selectedPath:t,expandedPaths:c,getDirVersion:Q,renamingPath:u,newItemIn:f,onToggleFolder:xe,onSelectNode:n,onStartRename:Ee,onCommitRename:De,onCancelRename:()=>d(null),onDelete:Se,onOpen:Ce,onCopyReference:we,onNewFile:Oe,onNewFolder:ke,onCommitNewItem:Ae,onCancelNewItem:je,dropTargetPath:M,onFolderDropTargetChange:N,onFilesDrop:Me},r.path))]})})})})})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(B,{onSelect:()=>Oe(``),children:`New File...`}),(0,W.jsx)(B,{onSelect:()=>ke(``),children:`New Folder...`})]})]})]})}export{be as default};
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Fr as n,Ft as r,Mt as i,Nt as a,Ti as o,fn as s,i as c,mn as l,wi as u,z as d}from"./interactive-WtOIgeV4.js";import{f,x as p,xt as m,yt as h}from"./onboarding-dbhmRuxw.js";import{t as g}from"./use-toast-BFQ85Ly5.js";import{a as _,c as v,i as y,n as b,r as x,t as S}from"./alert-dialog-Ge-FFGao.js";import{n as C}from"./explorer-tab-context-8bs_tiCO.js";import{l as w,n as T,o as E,r as D,s as O,t as k}from"./api-BsPadLpi.js";import{n as A,t as j}from"./use-suspense-resource-rX-GqyWi.js";import{$ as M,bt as N,et as P,it as ee,vt as te,wt as F,yt as I}from"./index-B7qJtiRL.js";import{a as L,i as R,n as z,r as B,t as ne}from"./context-menu-M5y1Qb8G.js";import{t as re}from"./async-error-boundary-B0tQed36.js";import{t as V}from"./ui-components-DjoQfi8k.js";var H=u(),U=e(o(),1),W=t(),G=U.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=c(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(V,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});G.displayName=V.displayName;var K=U.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,W.jsx)(d,{className:`mr-2 h-4 w-4 shrink-0 opacity-50`}),n[3]=a):a=n[3];let o;n[4]===r?o=n[5]:(o=c(`flex h-11 w-full rounded-md bg-transparent py-3 text-base outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,r),n[4]=r,n[5]=o);let s;return n[6]!==i||n[7]!==t||n[8]!==o?(s=(0,W.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[a,(0,W.jsx)(V.Input,{ref:t,className:o,...i})]}),n[6]=i,n[7]=t,n[8]=o,n[9]=s):s=n[9],s});K.displayName=V.Input.displayName;var q=U.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=c(`max-h-[300px] overflow-y-auto overflow-x-hidden`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(V.List,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});q.displayName=V.List.displayName;var J=U.forwardRef((e,t)=>{let r=(0,H.c)(4),i;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=c(n.bodyMuted,`py-6 text-center`),r[0]=i):i=r[0];let a;return r[1]!==e||r[2]!==t?(a=(0,W.jsx)(V.Empty,{ref:t,className:i,...e}),r[1]=e,r[2]=t,r[3]=a):a=r[3],a});J.displayName=V.Empty.displayName;var Y=U.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=c(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(V.Group,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Y.displayName=V.Group.displayName;var ie=U.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=c(`-mx-1 h-px bg-divider`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(V.Separator,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});ie.displayName=V.Separator.displayName;var ae=U.forwardRef((e,t)=>{let r=(0,H.c)(9),i,a;r[0]===e?(i=r[1],a=r[2]):({className:i,...a}=e,r[0]=e,r[1]=i,r[2]=a);let o;r[3]===i?o=r[4]:(o=c(c(n.body,`relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`),i),r[3]=i,r[4]=o);let s;return r[5]!==a||r[6]!==t||r[7]!==o?(s=(0,W.jsx)(V.Item,{ref:t,className:o,...a}),r[5]=a,r[6]=t,r[7]=o,r[8]=s):s=r[8],s});ae.displayName=V.Item.displayName;var oe=e=>{let t=(0,H.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let a;t[3]===r?a=t[4]:(a=c(n.compact,`ml-auto tracking-widest text-muted-foreground`,r),t[3]=r,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,W.jsx)(`span`,{className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o};oe.displayName=`CommandShortcut`;var X=100,se=500;function Z(e){return e.trim().toLowerCase().split(/\s+/).filter(Boolean)}function ce(e,t){return t.length===0?!0:t.every(t=>e.haystack.includes(t))}function le(e,t,n){if(t.length===0)return[];let r=[];for(let n of e)if(ce(n,t)&&(r.push(n.node),r.length>=se))break;return r.sort((e,t)=>ue(e,t,n)).slice(0,X)}function ue(e,t,n){let r=n.trim().toLowerCase(),i=e.name.toLowerCase(),a=t.name.toLowerCase(),o=r?i.startsWith(r):!1;return o===(r?a.startsWith(r):!1)?e.type===t.type?e.path.localeCompare(t.path):e.type===`folder`?-1:1:o?-1:1}function de(e){let t=(0,H.c)(38),{items:r,isReady:a,onRequestIndex:o,onOpenChange:s,onSelect:l}=e,u=a===void 0?!1:a,d=(0,U.useRef)(null),f=(0,U.useRef)(!1),m=(0,U.useRef)(!1),[h,g]=(0,U.useState)(!1),[_,v]=(0,U.useState)(``),y=(0,U.useDeferredValue)(_),b;t[0]===o?b=t[1]:(b=function(){m.current||(m.current=!0,o())},t[0]=o,t[1]=b);let x=b,S;t[2]!==y||t[3]!==r?(S=le(r,Z(y),y),t[2]=y,t[3]=r,t[4]=S):S=t[4];let C=S,w,T;t[5]!==s||t[6]!==_?(w=()=>{let e=_.trim().length>0;g(e),f.current!==e&&(f.current=e,s(e))},T=[s,_],t[5]=s,t[6]=_,t[7]=w,t[8]=T):(w=t[7],T=t[8]),(0,U.useEffect)(w,T);let E;t[9]===s?E=t[10]:(E=function(e){e||v(``),g(e),s(e),e&&requestAnimationFrame(()=>d.current?.focus())},t[9]=s,t[10]=E);let D=E,O;t[11]!==s||t[12]!==l?(O=function(e){l(e),g(!1),s(!1),v(``)},t[11]=s,t[12]=l,t[13]=O):O=t[13];let k=O,A;t[14]===x?A=t[15]:(A=e=>{x(),v(e.target.value)},t[14]=x,t[15]=A);let j;t[16]!==_||t[17]!==x||t[18]!==A?(j=(0,W.jsx)(N,{asChild:!0,children:(0,W.jsx)(`div`,{className:`bg-transparent`,children:(0,W.jsx)(p,{ref:d,value:_,onPointerDown:x,onChange:A,placeholder:`Search files and folders`,className:`pr-[4px]`})})}),t[16]=_,t[17]=x,t[18]=A,t[19]=j):j=t[19];let M;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(M=c(n.compact,`py-4`),t[20]=M):M=t[20];let P=u?`No matches found.`:`Indexing files and folders...`,F;t[21]===P?F=t[22]:(F=(0,W.jsx)(J,{className:M,children:P}),t[21]=P,t[22]=F);let L;if(t[23]!==k||t[24]!==C){let e;t[26]===k?e=t[27]:(e=e=>(0,W.jsxs)(ae,{value:e.path,onSelect:()=>k(e),className:e.ignored?`opacity-50`:void 0,children:[e.type===`folder`?(0,W.jsx)(i,{className:`h-4 w-4 text-muted-foreground`}):(0,W.jsx)(ee,{filename:e.name}),(0,W.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,W.jsx)(`div`,{className:`truncate`,children:e.name}),(0,W.jsx)(`div`,{className:c(n.compact,`truncate text-muted-foreground`),children:e.path})]})]},e.path),t[26]=k,t[27]=e),L=C.map(e),t[23]=k,t[24]=C,t[25]=L}else L=t[25];let R;t[28]===L?R=t[29]:(R=(0,W.jsx)(Y,{children:L}),t[28]=L,t[29]=R);let z;t[30]!==F||t[31]!==R?(z=(0,W.jsx)(I,{align:`start`,side:`bottom`,sideOffset:4,onOpenAutoFocus:Q,className:`w-[var(--radix-popover-trigger-width)] p-0`,children:(0,W.jsx)(G,{shouldFilter:!1,children:(0,W.jsxs)(q,{children:[F,R]})})}),t[30]=F,t[31]=R,t[32]=z):z=t[32];let B;return t[33]!==D||t[34]!==h||t[35]!==z||t[36]!==j?(B=(0,W.jsxs)(te,{open:h,onOpenChange:D,children:[j,z]}),t[33]=D,t[34]=h,t[35]=z,t[36]=j,t[37]=B):B=t[37],B}function Q(e){return e.preventDefault()}function fe(e,t,n){return`explorer-dir:${e}:${t}:${n}`}function pe(e){let t=(0,H.c)(12),{threadId:n,dirPath:r,version:i,children:a}=e,o;t[0]!==r||t[1]!==n||t[2]!==i?(o=fe(n,r,i),t[0]=r,t[1]=n,t[2]=i,t[3]=o):o=t[3];let s;t[4]!==r||t[5]!==n?(s=()=>E(n,r).then(me),t[4]=r,t[5]=n,t[6]=s):s=t[6];let c=j(o,s),l;t[7]!==a||t[8]!==c?(l=a(c),t[7]=a,t[8]=c,t[9]=l):l=t[9];let u;return t[10]===l?u=t[11]:(u=(0,W.jsx)(W.Fragment,{children:l}),t[10]=l,t[11]=u),u}function me(e){return e.entries}function he(e){let t=(0,H.c)(17),{defaultValue:r,onCommit:i,onCancel:a,level:o,basePadding:s,icon:c}=e,l=(0,U.useRef)(null),u,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{l.current?.focus(),l.current?.select()},d=[],t[0]=u,t[1]=d):(u=t[0],d=t[1]),(0,U.useEffect)(u,d);let p;t[2]!==a||t[3]!==i?(p=function(e){if(e.key===`Enter`){let e=l.current?.value.trim()??``;e?i(e):a()}else e.key===`Escape`&&a()},t[2]=a,t[3]=i,t[4]=p):p=t[4];let m=p,h;t[5]!==a||t[6]!==i?(h=function(){let e=l.current?.value.trim()??``;e?i(e):a()},t[5]=a,t[6]=i,t[7]=h):h=t[7];let g=h,_;t[8]!==r||t[9]!==g||t[10]!==m?(_=(0,W.jsx)(`input`,{ref:l,defaultValue:r,onKeyDown:m,onBlur:g,className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`,onClick:$}),t[8]=r,t[9]=g,t[10]=m,t[11]=_):_=t[11];let v;return t[12]!==s||t[13]!==c||t[14]!==o||t[15]!==_?(v=(0,W.jsxs)(f,{level:o,basePadding:s,className:n.conversationBody,children:[c,_]}),t[12]=s,t[13]=c,t[14]=o,t[15]=_,t[16]=v):v=t[16],v}function $(e){return e.stopPropagation()}function ge(e){return e.map(e=>({node:e,haystack:`${e.name} ${e.path}`.toLowerCase()}))}function _e(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t):``}var ve=(0,U.memo)(function e({node:t,level:o,threadId:u,selectedPath:d,expandedPaths:p,getDirVersion:m,renamingPath:_,newItemIn:v,onToggleFolder:y,onSelectNode:b,onStartRename:x,onCommitRename:S,onCancelRename:C,onDelete:w,onOpen:T,onCopyReference:E,onNewFile:D,onNewFolder:O,onCommitNewItem:k,onCancelNewItem:A,dropTargetPath:j,onFolderDropTargetChange:N,onFilesDrop:te}){let F=p.has(t.path),I=_===t.path,re=v?.dirPath===t.path&&F,V=j===t.path;return t.type===`folder`?(0,W.jsxs)(ne,{children:[(0,W.jsx)(L,{asChild:!0,children:(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(f,{level:o,basePadding:10,selected:d===t.path,className:c(n.conversationBody,t.ignored&&`opacity-50`,V&&`bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-primary`),onClick:e=>{e.stopPropagation(),y(t)},onDragOver:e=>{P(e.dataTransfer)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`,V||N(t.path))},onDragLeave:e=>{P(e.dataTransfer)&&(e.currentTarget.contains(e.relatedTarget)||V&&N(null))},onDrop:e=>{if(!P(e.dataTransfer))return;e.preventDefault(),e.stopPropagation(),N(null);let{files:n,skippedFolders:r}=M(e.dataTransfer);r>0&&g({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),n.length>0&&te(n,t.path)},children:[(0,W.jsx)(`span`,{className:`text-muted-foreground w-3 flex-shrink-0`,children:F?(0,W.jsx)(l,{className:`h-3 w-3`}):(0,W.jsx)(s,{className:`h-3 w-3`})}),I?(0,W.jsxs)(W.Fragment,{children:[F?(0,W.jsx)(a,{className:`h-4 w-4 flex-shrink-0`}):(0,W.jsx)(i,{className:`h-4 w-4 flex-shrink-0`}),(0,W.jsx)(`input`,{autoFocus:!0,defaultValue:t.name,onKeyDown:e=>{if(e.key===`Enter`){let n=e.target.value.trim();n?S(t,n):C()}else e.key===`Escape`&&C()},onBlur:e=>{let n=e.target.value.trim();n?S(t,n):C()},onClick:e=>e.stopPropagation(),className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`})]}):(0,W.jsxs)(W.Fragment,{children:[F?(0,W.jsx)(a,{className:`h-4 w-4 flex-shrink-0`}):(0,W.jsx)(i,{className:`h-4 w-4 flex-shrink-0`}),(0,W.jsx)(`span`,{className:`flex-1 truncate`,children:t.name})]})]}),F&&(0,W.jsx)(`div`,{children:(0,W.jsx)(U.Suspense,{fallback:(0,W.jsx)(h,{}),children:(0,W.jsx)(pe,{threadId:u,dirPath:t.path,version:m(t.path),children:t=>(0,W.jsxs)(W.Fragment,{children:[re&&(0,W.jsx)(he,{defaultValue:``,level:o+1,basePadding:v.type===`folder`?10:22,icon:v.type===`folder`?(0,W.jsx)(i,{className:`h-4 w-4 flex-shrink-0`}):(0,W.jsx)(r,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),onCommit:k,onCancel:A}),t.map(t=>(0,W.jsx)(e,{node:t,level:o+1,threadId:u,selectedPath:d,expandedPaths:p,getDirVersion:m,renamingPath:_,newItemIn:v,onToggleFolder:y,onSelectNode:b,onStartRename:x,onCommitRename:S,onCancelRename:C,onDelete:w,onOpen:T,onCopyReference:E,onNewFile:D,onNewFolder:O,onCommitNewItem:k,onCancelNewItem:A,dropTargetPath:j,onFolderDropTargetChange:N,onFilesDrop:te},t.path))]})})})})]})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(B,{onSelect:()=>T(t),children:`Open`}),(0,W.jsx)(R,{}),(0,W.jsx)(B,{onSelect:()=>D(t.path),children:`New File...`}),(0,W.jsx)(B,{onSelect:()=>O(t.path),children:`New Folder...`}),(0,W.jsx)(R,{}),(0,W.jsx)(B,{onSelect:()=>E(t),children:`Copy Reference`}),(0,W.jsx)(B,{onSelect:()=>x(t),children:`Rename...`}),(0,W.jsx)(B,{onSelect:()=>w(t),className:`text-destructive focus:text-destructive`,children:`Delete`})]})]}):(0,W.jsxs)(ne,{children:[(0,W.jsx)(L,{asChild:!0,children:(0,W.jsxs)(f,{level:o,basePadding:22,selected:d===t.path,className:c(n.conversationBody,t.ignored&&`opacity-50`),onClick:()=>b(t),children:[(0,W.jsx)(ee,{filename:t.name}),I?(0,W.jsx)(`input`,{autoFocus:!0,defaultValue:t.name,onKeyDown:e=>{if(e.key===`Enter`){let n=e.target.value.trim();n?S(t,n):C()}else e.key===`Escape`&&C()},onBlur:e=>{let n=e.target.value.trim();n?S(t,n):C()},onClick:e=>e.stopPropagation(),className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`}):(0,W.jsx)(`span`,{className:`flex-1 truncate`,children:t.name})]})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(B,{onSelect:()=>T(t),children:`Open`}),(0,W.jsx)(R,{}),(0,W.jsx)(B,{onSelect:()=>D(_e(t.path)),children:`New File...`}),(0,W.jsx)(B,{onSelect:()=>O(_e(t.path)),children:`New Folder...`}),(0,W.jsx)(R,{}),(0,W.jsx)(B,{onSelect:()=>E(t),children:`Copy Reference`}),(0,W.jsx)(B,{onSelect:()=>x(t),children:`Rename...`}),(0,W.jsx)(B,{onSelect:()=>w(t),className:`text-destructive focus:text-destructive`,children:`Delete`})]})]})}),ye=new Map;function be({threadId:e,selectedPath:t,onNodeSelect:n,onFilesDrop:a}){let[o,s]=(0,U.useState)(()=>new Map([[``,0]])),[c,l]=(0,U.useState)(new Set),[u,d]=(0,U.useState)(null),[f,p]=(0,U.useState)(null),[h,j]=(0,U.useState)(null),[M,N]=(0,U.useState)(null),[P,ee]=(0,U.useState)(!1),[te,I]=(0,U.useState)([]),[R,V]=(0,U.useState)(!1),[H,G]=(0,U.useState)(!1),K=(0,U.useRef)(null),q=(0,U.useRef)(0),J=(0,U.useRef)(null),{explorerRefreshTick:Y,pendingExplorerPath:ie,setExplorerClearPath:ae}=C(),{fetchUnifiedStatus:oe}=F(),X=(0,U.useMemo)(()=>`${e}:${Y}`,[Y,e]),se=(0,U.useCallback)(e=>{(0,U.startTransition)(()=>{ee(t=>t===e?t:e)})},[]),Z=(0,U.useCallback)(async()=>{if(!e)return;let t=ye.get(X);if(t){I(t),V(!0);return}if(K.current!==X){K.current=X,I([]),V(!1);try{let t=ge((await E(e,``,!0)).entries);ye.set(X,t),I(t),V(!0)}catch{I([]),V(!1)}finally{K.current===X&&(K.current=null)}}},[X,e]),ce=(0,U.useCallback)(()=>{G(!0)},[]),le=(0,U.useCallback)(()=>{ye.delete(X),I([]),V(!1)},[X]),ue=(0,U.useCallback)(()=>{le(),H&&Z()},[le,Z,H]),Q=(0,U.useCallback)(e=>o.get(e)??0,[o]),me=(0,U.useCallback)(e=>{s(t=>{let n=new Map(t);return n.set(e,(t.get(e)??0)+1),n})},[]),$=(0,U.useCallback)(t=>{e&&(A(fe(e,t,Q(t))),me(t))},[me,Q,e]),be=(0,U.useCallback)(t=>{if(!e)return;let n=t.path.split(`/`);t.type===`file`&&n.pop();let r=[],i=``;for(let e of n)i=i?`${i}/${e}`:e,r.push(i);l(e=>{let t=new Set(e);for(let e of r)t.add(e);return t})},[e]);(0,U.useEffect)(()=>{if(!e)return;let t=J.current!==null&&J.current!==e;J.current=e,t&&(s(new Map([[``,0]])),l(new Set),d(null),p(null),q.current=Y)},[Y,e]),(0,U.useEffect)(()=>{!e||Y<=q.current||(q.current=Y,s(t=>{let n=new Set([``]);for(let e of c)n.add(e);let r=new Map(t);for(let i of n){let n=t.get(i)??0;A(fe(e,i,n)),r.set(i,n+1)}return r}))},[Y,c,e]),(0,U.useEffect)(()=>{I([]),V(!1),G(!1),K.current=null},[X]),(0,U.useEffect)(()=>{!H||!e||Z()},[Z,H,e]),(0,U.useEffect)(()=>{if(!ie||!e)return;let t=ie.split(`/`);t.pop();let n=[],r=``;for(let e of t)r=r?`${r}/${e}`:e,n.push(r);if(n.length!==0){l(e=>{let t=new Set(e);for(let e of n)t.add(e);return t});for(let e of n)s(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})}},[ie,e]);function xe(e){c.has(e.path)?l(t=>{let n=new Set(t);return n.delete(e.path),n}):(l(t=>new Set(t).add(e.path)),s(t=>{if(t.has(e.path))return t;let n=new Map(t);return n.set(e.path,0),n}))}function Se(e){j(e)}async function Ce(t){try{await O(e,t.path)}catch{g({title:`Error`,description:`Failed to open "${t.name}"`,variant:`destructive`})}}async function we(e){try{await navigator.clipboard.writeText(e.path);let t=g({title:`Copied`,description:`Reference copied to clipboard.`});window.setTimeout(()=>{t.dismiss()},2e3)}catch{g({title:`Error`,description:`Failed to copy reference for "${e.name}"`,variant:`destructive`})}}async function Te(){if(!h)return;let t=h;j(null);try{await D(e,t.path),ae(t.path),$(_e(t.path)),ue(),oe(!0),l(e=>{let n=new Set(e);for(let e of n)(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}),s(e=>{let n=new Map(e);for(let e of n.keys())(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n})}catch{g({title:`Error`,description:`Failed to move "${t.name}" to trash`,variant:`destructive`})}}function Ee(e){p(null),d(e.path)}async function De(t,n){if(n===t.name){d(null);return}d(null);try{await w(e,t.path,n),$(_e(t.path)),ue(),oe(!0),t.type===`folder`&&(l(e=>{let n=new Set(e);for(let e of n)(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}),s(e=>{let n=new Map(e);for(let e of n.keys())(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}))}catch{g({title:`Error`,description:`Failed to rename "${t.name}"`,variant:`destructive`})}}function Oe(e){d(null),c.has(e)||(l(t=>new Set(t).add(e)),s(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})),p({dirPath:e,type:`file`})}function ke(e){d(null),c.has(e)||(l(t=>new Set(t).add(e)),s(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})),p({dirPath:e,type:`folder`})}async function Ae(t){if(!f)return;let{dirPath:n,type:r}=f;p(null);try{r===`file`?await k(e,n,t):await T(e,n,t),$(n),ue(),oe(!0)}catch{g({title:`Error`,description:`Failed to create ${r} "${t}"`,variant:`destructive`})}}function je(){p(null)}let Me=(0,U.useCallback)((e,t)=>{a?.(e,t)},[a]);function Ne(e){be(e),e.type===`file`&&n(e)}let Pe=f?.dirPath===``?(0,W.jsx)(he,{defaultValue:``,level:0,basePadding:f.type===`folder`?10:22,icon:f.type===`folder`?(0,W.jsx)(i,{className:`h-4 w-4 flex-shrink-0`}):(0,W.jsx)(r,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),onCommit:Ae,onCancel:je}):null;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(S,{open:h!==null,onOpenChange:e=>!e&&j(null),children:(0,W.jsxs)(y,{children:[(0,W.jsx)(v,{children:`Move to Trash`}),(0,W.jsxs)(_,{children:[`Move “`,h?.name,`” to trash?`]}),(0,W.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[(0,W.jsx)(x,{children:`Cancel`}),(0,W.jsx)(b,{onClick:()=>void Te(),children:`Move to Trash`})]})]})}),(0,W.jsx)(`div`,{className:`border-b border-border px-2 py-2`,children:(0,W.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,W.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,W.jsx)(de,{items:te,isReady:R,onRequestIndex:ce,onOpenChange:se,onSelect:e=>Ne(e)},X)})})}),(0,W.jsxs)(ne,{children:[(0,W.jsx)(L,{asChild:!0,disabled:P,children:(0,W.jsx)(`div`,{className:`py-2 min-h-full`,children:(0,W.jsx)(re,{fallbackTitle:`Failed to load files`,onRetry:()=>$(``),children:(0,W.jsx)(U.Suspense,{fallback:(0,W.jsx)(m,{}),children:(0,W.jsx)(pe,{threadId:e,dirPath:``,version:Q(``),children:r=>(0,W.jsxs)(W.Fragment,{children:[Pe,r.map(r=>(0,W.jsx)(ve,{node:r,level:0,threadId:e,selectedPath:t,expandedPaths:c,getDirVersion:Q,renamingPath:u,newItemIn:f,onToggleFolder:xe,onSelectNode:n,onStartRename:Ee,onCommitRename:De,onCancelRename:()=>d(null),onDelete:Se,onOpen:Ce,onCopyReference:we,onNewFile:Oe,onNewFolder:ke,onCommitNewItem:Ae,onCancelNewItem:je,dropTargetPath:M,onFolderDropTargetChange:N,onFilesDrop:Me},r.path))]})})})})})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(B,{onSelect:()=>Oe(``),children:`New File...`}),(0,W.jsx)(B,{onSelect:()=>ke(``),children:`New Folder...`})]})]})]})}export{be as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Fr as n,Jn as r,Kt as i,Lt as a,Rt as o,Ti as s,Y as c,hn as l,hr as u,i as d,in as ee,mr as f,mt as p,q as te,tt as ne,wi as m}from"./interactive-WtOIgeV4.js";import{d as h}from"./react-vendor-wGLyNWf9.js";import{Jn as g,bt as _,wo as v,xa as re}from"./onboarding-dbhmRuxw.js";import{r as ie}from"./store-CSyJjyNs.js";import{t as y}from"./use-toast-BFQ85Ly5.js";import{n as b}from"./explorer-tab-context-8bs_tiCO.js";import{a as x,c as S,i as C,o as w,s as T,t as ae,u as oe}from"./api-BsPadLpi.js";import{n as E,t as D}from"./use-suspense-resource-rX-GqyWi.js";import{n as se}from"./utils-Rlf65JHq.js";import{Et as ce,Nt as le,Ot as ue,Pt as de,Tt as fe,kt as pe}from"./index-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Fr as n,Jn as r,Kt as i,Lt as a,Rt as o,Ti as s,Y as c,hn as l,hr as u,i as d,in as ee,mr as f,mt as p,q as te,tt as ne,wi as m}from"./interactive-WtOIgeV4.js";import{d as h}from"./react-vendor-wGLyNWf9.js";import{Jn as g,bt as _,wo as v,xa as re}from"./onboarding-dbhmRuxw.js";import{r as ie}from"./store-CSyJjyNs.js";import{t as y}from"./use-toast-BFQ85Ly5.js";import{n as b}from"./explorer-tab-context-8bs_tiCO.js";import{a as x,c as S,i as C,o as w,s as T,t as ae,u as oe}from"./api-BsPadLpi.js";import{n as E,t as D}from"./use-suspense-resource-rX-GqyWi.js";import{n as se}from"./utils-Rlf65JHq.js";import{Et as ce,Nt as le,Ot as ue,Pt as de,Tt as fe,kt as pe}from"./index-B7qJtiRL.js";import{t as O}from"./async-error-boundary-B0tQed36.js";import"./monaco-setup-x3evbdq3.js";var k=m(),A=e(s(),1),j=t(),M=r(`explorer.preview`),N=[{label:`Markdown`,ext:`md`,icon:o},{label:`TypeScript`,ext:`ts`,icon:i},{label:`Text`,ext:`txt`,icon:a}];async function P(e,t){try{let n=await w(e,``),r=new Set(n.entries.map(e=>e.name)),i=`untitled`,a=`${i}.${t}`,o=2;for(;r.has(a);)a=`${i}${o}.${t}`,o++;return a}catch{return`untitled.${t}`}}function F(e){return u(e)===`md`}function I(e){return{ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,json:`json`,md:`markdown`,mdc:`markdown`,css:`css`,scss:`scss`,html:`html`,py:`python`,sh:`shell`,yaml:`yaml`,yml:`yaml`,xml:`xml`,sql:`sql`}[u(e)]??`plaintext`}function L(e,t){return`explorer-file:${e}:${t}`}function R(e){let t=(0,k.c)(11),{threadId:n,path:r,contentKey:i,onContentReady:a}=e,o;t[0]!==r||t[1]!==n?(o=L(n,r),t[0]=r,t[1]=n,t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==n?(s=async()=>{try{return await x(n,r)}catch(e){let t=e;throw z(`Failed to load explorer file preview`,{threadId:n,path:r},t),t}},t[3]=r,t[4]=n,t[5]=s):s=t[5];let c=D(o,s),l,u;return t[6]!==i||t[7]!==a||t[8]!==c.content?(l=()=>{a({key:i,content:c.content,original:c.content})},u=[a,c.content,i],t[6]=i,t[7]=a,t[8]=c.content,t[9]=l,t[10]=u):(l=t[9],u=t[10]),(0,A.useLayoutEffect)(l,u),null}function z(e,t,n){M.error(e,{...t,error:n})}function B(e,t){return`explorer-media:${e}:${t}`}function V(e,t){let n=(0,k.c)(11),r;n[0]!==t||n[1]!==e?(r=B(e,t),n[0]=t,n[1]=e,n[2]=r):r=n[2];let i;n[3]!==t||n[4]!==e?(i=async()=>{try{return await C(e,t)}catch(n){let r=n;throw z(`Failed to load explorer media preview`,{threadId:e,path:t},r),r}},n[3]=t,n[4]=e,n[5]=i):i=n[5];let a=D(r,i),o;n[6]===a?o=n[7]:(o=URL.createObjectURL(a),n[6]=a,n[7]=o);let s=o,c,l;return n[8]===s?(c=n[9],l=n[10]):(c=()=>()=>{URL.revokeObjectURL(s)},l=[s],n[8]=s,n[9]=c,n[10]=l),(0,A.useEffect)(c,l),s}function me(e){let t=(0,k.c)(3),{threadId:n,path:r,alt:i}=e,a=V(n,r),o;return t[0]!==i||t[1]!==a?(o=(0,j.jsx)(`div`,{className:`flex items-center justify-center h-full p-4 overflow-auto`,children:(0,j.jsx)(`img`,{src:a,alt:i,className:`max-w-full max-h-full object-contain`})}),t[0]=i,t[1]=a,t[2]=o):o=t[2],o}function he(e){let t=(0,k.c)(2),{threadId:n,path:r}=e,i=V(n,r),a;return t[0]===i?a=t[1]:(a=(0,j.jsx)(`div`,{className:`flex items-center justify-center h-full p-4`,children:(0,j.jsx)(`video`,{src:i,controls:!0,className:`max-w-full max-h-full`})}),t[0]=i,t[1]=a),a}function H({selectedFile:e,showTreeBackButton:t=!1,onShowTree:r,onFileCreated:i}){let{resolvedTheme:a}=se(),s=ie(e=>e.selectedThreadId),{triggerExplorerRefresh:u}=b(),m=(0,A.useRef)(null),x=(0,A.useRef)(null),C=(0,A.useRef)(!1),[w,D]=(0,A.useState)(null),[k,M]=(0,A.useState)(!1),[V,H]=(0,A.useState)(!1),[U,W]=(0,A.useState)(`edit`),[ge,_e]=(0,A.useState)(0),[G,ve]=(0,A.useState)(null),[K,q]=(0,A.useState)(!1),ye=e?.path??null;(0,A.useEffect)(()=>{s&&g(s).then(ve).catch(()=>{})},[s]);let be=async()=>{if(!(!G||K)){q(!0);try{await navigator.clipboard.writeText(G),y({title:`Copied`,description:`Repository folder path copied to clipboard.`})}catch(e){z(`Failed to copy explorer folder path`,{threadId:s,folderPath:G},e),y({title:`Error`,description:`Failed to copy path to clipboard.`,variant:`destructive`})}finally{q(!1)}}},xe=async()=>{if(s)try{await T(s,`.`)}catch(e){z(`Failed to open explorer repository folder`,{threadId:s,folderPath:G},e),y({title:`Error`,description:`Failed to open repository folder.`,variant:`destructive`})}},Se=(0,A.useCallback)(async e=>{if(s)try{let t=await P(s,e);await ae(s,``,t);let n={name:t,path:t,type:`file`};x.current=t,C.current=!0,i?.(n),u(),y({title:`Created`,description:`${t} created successfully.`})}catch(t){z(`Failed to create explorer file`,{threadId:s,extension:e},t),y({title:`Error`,description:`Failed to create file.`,variant:`destructive`})}},[s,i,u]),J=e?f(e.path,e.name):null,Y=e?.type===`file`&&s&&!J?e:null,X=Y?`${s}:${Y.path}:${ge}`:null,Z=w&&w.key===X?w:null,Q=Z?.content??``,Ce=Z?.original??``;(0,A.useEffect)(()=>()=>{m.current&&=(m.current.getModel()?.dispose(),m.current.dispose(),null)},[]),(0,A.useEffect)(()=>{e?.type===`file`?x.current===e.path?(x.current=null,W(`edit`)):W(F(e.path)?`view`:`edit`):W(`edit`)},[ye,s]);async function $(){if(!(!s||!e||!X)){M(!0);try{await oe(s,e.path,Q),D({key:X,content:Q,original:Q}),y({title:`Saved`,description:`${e.name} saved successfully.`})}catch(t){z(`Failed to save explorer file`,{threadId:s,path:e.path},t),y({title:`Error`,description:t instanceof Error?t.message:`Failed to save file`,variant:`destructive`})}finally{M(!1)}}}async function we(){if(!(!s||!e||V)){H(!0);try{if(!re()){if(typeof window>`u`)return;let t=document.querySelector(`[data-markdown-print-content]`);if(!(t instanceof HTMLElement)){y({title:`Print unavailable`,description:`Couldn't find the markdown preview to print.`,variant:`destructive`});return}let n=`<!doctype html>
|
|
2
2
|
<html>
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8" />
|