tarsk 0.6.88 → 0.6.89
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/README.md +63 -24
- package/dist/index.js +787 -738
- package/dist/node_modules/@libsql/darwin-x64/README.md +3 -0
- package/dist/node_modules/@libsql/{darwin-arm64 → darwin-x64}/index.node +0 -0
- package/dist/node_modules/@libsql/{darwin-arm64 → darwin-x64}/package.json +6 -6
- package/dist/public/assets/api-8Rp2LlXt.js +1 -0
- package/dist/public/assets/api-Cp9I7CxD.js +2 -0
- package/dist/public/assets/{async-error-boundary-FT8_xvjy.js → async-error-boundary-CFVUPiuG.js} +1 -1
- package/dist/public/assets/{browser-tab-DCjHytQ8.js → browser-tab-CPPorbL6.js} +2 -2
- package/dist/public/assets/{chat-dock-context-a2bV9cnz.js → chat-dock-context-DbiJNr3O.js} +1 -1
- package/dist/public/assets/chat-handlers-context-DYU2LQ5V.js +9 -0
- package/dist/public/assets/{commit-dialog-C1oUFznJ.js → commit-dialog-DPaci3dp.js} +1 -1
- package/dist/public/assets/{commit-error-dialog--NTHg7Aw.js → commit-error-dialog-Dnlkgb_H.js} +1 -1
- package/dist/public/assets/{conversation-history-view-CdfE7JTD.js → conversation-history-view-CqIugfyO.js} +1 -1
- package/dist/public/assets/{create-project-dialog-BdR6iQE9.js → create-project-dialog-DStWPoDE.js} +2 -2
- package/dist/public/assets/{create-project-workspace-DSTTGom_.js → create-project-workspace-CJ94yHAB.js} +2 -2
- package/dist/public/assets/{create-repo-dialog-gw-8Rpdm.js → create-repo-dialog-B_QiEz-v.js} +1 -1
- package/dist/public/assets/diff-view-4koPcOcE.js +4 -0
- package/dist/public/assets/{explorer-file-drop-CzyAqZgf.js → explorer-file-drop-DAP7ha-E.js} +1 -1
- package/dist/public/assets/explorer-tab-view-Bt9hRZUm.js +2 -0
- package/dist/public/assets/explorer-tree-CAs89lPz.js +1 -0
- package/dist/public/assets/{explorer-view-Daxl93oM.js → explorer-view-B1JuejkU.js} +2 -2
- package/dist/public/assets/index-CcAwxnT5.js +97 -0
- package/dist/public/assets/index-dNrgKdYv.css +1 -0
- package/dist/public/assets/{markdown-renderer-D2VcKU4g.js → markdown-renderer-DQONI6WG.js} +3 -3
- package/dist/public/assets/{mcp-manager-D1HmLT3t.js → mcp-manager-D2FG-h2e.js} +1 -1
- package/dist/public/assets/{model-list-controls-rXmaDp2r.js → model-list-controls-B6ofHWh3.js} +1 -1
- package/dist/public/assets/{onboarding-dialog-DSqBJyBa.js → onboarding-dialog-DAut3X4K.js} +1 -1
- package/dist/public/assets/{pill-tabs-DtdTmrg7.js → pill-tabs-BAhOHad7.js} +1 -1
- package/dist/public/assets/{project-coding-view-DP4qKePE.js → project-coding-view-B2FpHeiO.js} +1 -1
- package/dist/public/assets/{project-danger-zone-view-CGxIenpr.js → project-danger-zone-view-BqP1dcRT.js} +1 -1
- package/dist/public/assets/{project-env-vars-view-DKyQkh7h.js → project-env-vars-view-zhigkQFG.js} +1 -1
- package/dist/public/assets/{project-model-aliases-view-BewwJZAx.js → project-model-aliases-view-APAVFfym.js} +1 -1
- package/dist/public/assets/{project-settings-view-CE4nAz5B.js → project-settings-view-FnK-LRsv.js} +1 -1
- package/dist/public/assets/project-tools-view-Dmp5ViRC.js +1 -0
- package/dist/public/assets/providers-list-view-Clbp73Hh.js +1 -0
- package/dist/public/assets/{pull-request-dialog-nKYATjbm.js → pull-request-dialog-D40BQPMk.js} +1 -1
- package/dist/public/assets/{pull-with-changes-dialog-zzoFzCv4.js → pull-with-changes-dialog-pkXK-VP2.js} +1 -1
- package/dist/public/assets/query-keys-CcnonAAG.js +1 -0
- package/dist/public/assets/{remote-media-url-CyuN31H_.js → remote-media-url-C-GdJb-D.js} +1 -1
- package/dist/public/assets/{scroll-area-CGEZ1gAL.js → scroll-area-DGF9wUqQ.js} +1 -1
- package/dist/public/assets/{select-BR2pG61R.js → select-DMcNYwgt.js} +1 -1
- package/dist/public/assets/{settings-general-tabs-view-BWR0UX2P.js → settings-general-tabs-view-DBZQbihJ.js} +2 -2
- package/dist/public/assets/settings-general-view-0dhBET2R.js +1 -0
- package/dist/public/assets/{settings-list-Dgip9HpD.js → settings-list-Co3JPr9w.js} +1 -1
- package/dist/public/assets/{settings-logs-view-CS29x4VT.js → settings-logs-view-DvHXUDko.js} +2 -2
- package/dist/public/assets/settings-mcp-servers-view-414Dt5py.js +5 -0
- package/dist/public/assets/{settings-models-view-DS7nm54P.js → settings-models-view-ByeR7Enb.js} +1 -1
- package/dist/public/assets/{settings-plugins-view-avaUE36r.js → settings-plugins-view-8te2MPyh.js} +2 -2
- package/dist/public/assets/{settings-providers-view-B39k1iRQ.js → settings-providers-view-BAuv9gam.js} +2 -2
- package/dist/public/assets/{settings-remote-machines-view-BXondQG_.js → settings-remote-machines-view-CHyywazU.js} +1 -1
- package/dist/public/assets/{settings-setup-view-I5MGUi_D.js → settings-setup-view-Btp46Vh_.js} +2 -2
- package/dist/public/assets/{settings-skills-view-BKrUABbi.js → settings-skills-view-BNVx4bZl.js} +2 -2
- package/dist/public/assets/{settings-slack-view-B0p-96GC.js → settings-slack-view-Caly5yGt.js} +1 -1
- package/dist/public/assets/settings-slash-commands-view-m6mp1knu.js +1 -0
- package/dist/public/assets/{settings-statistics-view-B3g6BD7p.js → settings-statistics-view-BnOxr4sZ.js} +1 -1
- package/dist/public/assets/settings-storage-view-Dg8xfpTG.js +1 -0
- package/dist/public/assets/{settings-subagents-view-BziLwvNq.js → settings-subagents-view-CucwEk2A.js} +1 -1
- package/dist/public/assets/{settings-system-prompt-view-BqAk56cD.js → settings-system-prompt-view-CEDU2saT.js} +1 -1
- package/dist/public/assets/{settings-tab-bar-DYzU_lmi.js → settings-tab-bar-CdIbQ0WI.js} +1 -1
- package/dist/public/assets/settings-view-XcJhRclT.js +2 -0
- package/dist/public/assets/task-utils-Cnq9Eszt.js +1 -0
- package/dist/public/assets/tasks-view-B8_jkq_a.js +1 -0
- package/dist/public/assets/{terminal-panel-Bm_ZelN-.js → terminal-panel-xoLVfA-h.js} +1 -1
- package/dist/public/assets/{use-account-settings-query-C-zOdREq.js → use-account-settings-query-D_qL1I4w.js} +1 -1
- package/dist/public/assets/{use-active-dock-panel-instance-4Ss8lB9K.js → use-active-dock-panel-instance-kmJOnmL7.js} +1 -1
- package/dist/public/assets/use-git-check-BD9gdXpK.js +1 -0
- package/dist/public/assets/{use-installed-ai-files-DQey9Zm3.js → use-installed-ai-files-Nn-sN_V2.js} +1 -1
- package/dist/public/assets/{use-open-chat-dock-panel-DqfWJ8e8.js → use-open-chat-dock-panel-CXzpgxVs.js} +1 -1
- package/dist/public/assets/use-projects-B0xTjTaA.js +2 -0
- package/dist/public/assets/{web-CGP-jEpi.js → web-C1tBQoCB.js} +1 -1
- package/dist/public/assets/{web-CKC9gpFi.js → web-cJXG33sT.js} +1 -1
- package/dist/public/index.html +18 -18
- package/package.json +4 -4
- package/dist/node_modules/@libsql/darwin-arm64/README.md +0 -3
- package/dist/public/assets/account-view-DkuCOxkE.js +0 -1
- package/dist/public/assets/api-B_GSyYGh.js +0 -1
- package/dist/public/assets/api-C4ukGdyH.js +0 -2
- package/dist/public/assets/chat-handlers-context-2xSKzkKa.js +0 -9
- package/dist/public/assets/diff-view-B6JJNyn1.js +0 -4
- package/dist/public/assets/explorer-tab-view-CiUPh4uK.js +0 -2
- package/dist/public/assets/explorer-tree-BA12VLz_.js +0 -1
- package/dist/public/assets/index-CoY8DilQ.js +0 -97
- package/dist/public/assets/index-D14wLW4o.css +0 -1
- package/dist/public/assets/project-tools-view-CbDfst02.js +0 -1
- package/dist/public/assets/providers-list-view-BtwccvX2.js +0 -1
- package/dist/public/assets/query-keys-BwswkbMn.js +0 -1
- package/dist/public/assets/settings-general-view-BhtrDmJH.js +0 -1
- package/dist/public/assets/settings-mcp-servers-view-B5ithpfh.js +0 -5
- package/dist/public/assets/settings-slash-commands-view-DA1scWv1.js +0 -1
- package/dist/public/assets/settings-storage-view-BJvjhI4f.js +0 -1
- package/dist/public/assets/settings-view-zjMs7jNe.js +0 -2
- package/dist/public/assets/task-utils-BZPVmvY4.js +0 -1
- package/dist/public/assets/tasks-view-wFf77AQX.js +0 -1
- package/dist/public/assets/use-git-check-CumqGAvN.js +0 -1
- package/dist/public/assets/use-projects-CizIH2Fa.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{t as i}from"./useInfiniteQuery-BpKy1sCq.js";import{U as a}from"./dist-v_MvKS2-.js";import{
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{t as i}from"./useInfiniteQuery-BpKy1sCq.js";import{U as a}from"./dist-v_MvKS2-.js";import{Lt as o,Pi as s,bi as c,d as ee,ta as l}from"./api-Cp9I7CxD.js";import{a as u,t as d}from"./utils-CqsIXqSC.js";import{t as f}from"./button-DDaJhJP1.js";import{n as te}from"./use-toast-CKgZ8YeP.js";import{t as p}from"./progress-indicator-hJ74ac5W.js";import{t as m}from"./query-keys-CcnonAAG.js";import{$n as h,Cn as g,Et as _,Mt as v,an as y,at as b,gr as ne,in as re,nn as x,on as S,pt as C,rn as w,tn as T,un as E}from"./index-CcAwxnT5.js";import{i as D,r as O}from"./table-CQMqIW_-.js";import{t as k}from"./delete-confirm-dialog-D1N86piR.js";var A=e(n(),1),j=t(),M=25;function ie(){let e=(0,j.c)(12),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:m.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=i(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 a=r,o=n.data?.pages[0]?.total??0,s;return e[3]!==a||e[4]!==n.error||e[5]!==n.fetchNextPage||e[6]!==n.hasNextPage||e[7]!==n.isFetchingNextPage||e[8]!==n.isPending||e[9]!==n.refetch||e[10]!==o?(s={conversations:a,total:o,isInitialLoading:n.isPending,isLoadingMore:n.isFetchingNextPage,error:n.error,hasNextPage:n.hasNextPage,fetchNextPage:n.fetchNextPage,refetch:n.refetch},e[3]=a,e[4]=n.error,e[5]=n.fetchNextPage,e[6]=n.hasNextPage,e[7]=n.isFetchingNextPage,e[8]=n.isPending,e[9]=n.refetch,e[10]=o,e[11]=s):s=e[11],s}function N(e){let{pageParam:t}=e;return o(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(s(c.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 l(c.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=r(),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=d(a.bodyMuted,`w-48 truncate py-1.5`),se=`py-1.5`,X=d(a.bodyMuted,`w-20 py-1.5 text-right tabular-nums`),Z=d(a.bodyMuted,`w-28 py-1.5 text-right tabular-nums`),Q=d(a.bodyMuted,`w-28 py-1.5 text-right tabular-nums`),$=d(a.bodyMuted,`w-40 truncate py-1.5`),ce=d(a.bodyMuted,`w-32 truncate py-1.5`),le=d(a.bodyMuted,`w-24 py-1.5 text-right tabular-nums`);function ue(e){let t=(0,j.c)(11),n,r;t[0]===e?(n=t[1],r=t[2]):({style:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===r?i=t[4]:(i={...r,width:`100%`},t[3]=r,t[4]=i);let o;t[5]===n.className?o=t[6]:(o=d(`w-full caption-bottom select-text`,H,a.body,n.className),t[5]=n.className,t[6]=o);let s;return t[7]!==n||t[8]!==i||t[9]!==o?(s=(0,z.jsx)(`table`,{...n,style:i,className:o}),t[7]=n,t[8]=i,t[9]=o,t[10]=s):s=t[10],s}function de(e){let t=(0,j.c)(5),n;t[0]===e.className?n=t[1]:(n=d(`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=d(`[&_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=d(`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)(p,{centered:!0,label:`Loading more…`,size:`sm`})})})}}function he(e){switch(e){case`turns`:return(0,z.jsx)(D,{className:G,children:`Turns`},e);case`inputTokens`:return(0,z.jsx)(D,{className:K,children:`Input Tokens`},e);case`outputTokens`:return(0,z.jsx)(D,{className:q,children:`Output Tokens`},e);case`model`:return(0,z.jsx)(D,{className:J,children:`Model`},e);case`branch`:return(0,z.jsx)(D,{className:Y,children:`Branch`},e)}}function ge(e,t){switch(t){case`turns`:return(0,z.jsx)(O,{className:X,children:e.turnCount.toLocaleString()},t);case`inputTokens`:return(0,z.jsx)(O,{className:Z,children:e.inputTokens.toLocaleString()},t);case`outputTokens`:return(0,z.jsx)(O,{className:Q,children:e.outputTokens.toLocaleString()},t);case`model`:return(0,z.jsx)(O,{className:$,children:e.model??`—`},t);case`branch`:return(0,z.jsx)(O,{className:ce,children:e.branch},t)}}function _e(){let{openConversation:e}=v(),{toast:t}=te(),[n,r]=(0,A.useState)(!1),[i,o]=(0,A.useState)(!1),{visibleColumns:s,isColumnVisible:c,setColumnVisible:l}=R(),{conversations:m,isInitialLoading:j,isLoadingMore:M,error:N,hasNextPage:F,fetchNextPage:I,refetch:L}=ie(),G=V+s.length,K=(0,A.useCallback)(function(t){e(t).catch(()=>!1)},[e]),q=(0,A.useCallback)(()=>{F&&!M&&I()},[I,F,M]);async function J(){o(!0);try{await ee(),await L(),r(!1),t({title:`Conversation history cleared`})}catch(e){t({title:`Failed to clear conversation history`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{o(!1)}}let Y=(0,A.useMemo)(function(){return function({item:e,...t}){return(0,z.jsx)(`tr`,{...t,className:d(`cursor-pointer border-0 transition-colors hover:bg-muted/50`,t.className),onClick:()=>{e&&K(e)}})}},[K]),X=(0,A.useMemo)(function(){return{Table:ue,TableHead:de,TableBody:fe,TableRow:Y,Scroller:pe,Footer:M?me(G):void 0}},[Y,G,M]);function Z(e,t){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(O,{className:oe,children:t.projectName}),(0,z.jsx)(O,{className:se,children:(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(h,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:d(a.body,`truncate`),children:t.title})]})}),P.map(function(e){return c(e.id)?ge(t,e.id):null}),(0,z.jsx)(O,{className:le,"aria-label":`Last updated ${u(t.lastMessageAt)} ago`,children:u(t.lastMessageAt)})]})}function Q(){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(D,{className:U,children:`Project`}),(0,z.jsx)(D,{className:W,children:`Chat`}),P.map(function(e){return c(e.id)?he(e.id):null}),(0,z.jsx)(D,{className:ae,children:`Updated`})]})}let $=(0,z.jsx)(`table`,{className:d(`w-full caption-bottom`,H,a.body),children:(0,z.jsx)(`thead`,{className:`[&_tr]:border-b [&_tr]:border-table-border`,children:(0,z.jsx)(`tr`,{children:Q()})})});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)(C,{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)(b,{title:`History`,description:`Browse recent chats across all projects.`,tableHeader:m.length>0?$:void 0,action:(0,z.jsxs)(T,{children:[(0,z.jsx)(E,{asChild:!0,children:(0,z.jsx)(f,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8`,"aria-label":`Choose columns`,children:(0,z.jsx)(ne,{className:`h-4 w-4`})})}),(0,z.jsxs)(w,{align:`end`,className:`w-48`,children:[(0,z.jsx)(y,{className:a.body,children:`Columns`}),P.map(function(e){return(0,z.jsx)(x,{checked:c(e.id),onCheckedChange:t=>{l(e.id,t===!0)},onSelect:e=>{e.preventDefault()},children:e.label},e.id)}),(0,z.jsx)(S,{}),(0,z.jsxs)(re,{className:d(a.body,`gap-2 text-destructive focus:text-destructive`),disabled:m.length===0,onSelect:()=>r(!0),children:[(0,z.jsx)(g,{className:`h-4 w-4`}),`Clear history`]})]})]})}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:j?(0,z.jsx)(p,{centered:!0,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:a.body,children:N instanceof Error?N.message:`Failed to load conversation history`}),(0,z.jsx)(f,{onClick:()=>void L(),children:`Try again`})]})}):m.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:a.emptyStateTitle,children:`No history`}),(0,z.jsx)(`p`,{className:a.bodyMuted,children:`No conversations found yet.`})]})}):(0,z.jsx)(_,{style:{height:`100%`},data:m,computeItemKey:(e,t)=>t.conversationId,itemContent:Z,endReached:q,defaultItemHeight:B,increaseViewportBy:180,components:X})})]}),(0,z.jsx)(k,{open:n,onOpenChange:r,title:`Clear conversation history?`,description:`This permanently clears conversation history across all projects. This action cannot be undone.`,onConfirm:()=>void J(),confirming:i,confirmLabel:`Clear`,confirmingLabel:`Clearing...`})]})}export{_e as default};
|
package/dist/public/assets/{create-project-dialog-BdR6iQE9.js → create-project-dialog-DStWPoDE.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{U as i,Y as a,x as o}from"./dist-v_MvKS2-.js";import{
|
|
2
|
-
Windows: irm https://vite.plus/ps1 | iex`;if(!window.confirm(`Vite Plus is required for this template but is not installed.\n\nIs it ok to install Vite Plus using the following command?\n\n${e}`))return!1;let{success:t,error:n}=await m();return t?await d()?!0:(window.alert(`Vite Plus was installed but could not be verified.\n\nTry restarting the app — if it is still missing, install it manually with:\n\n${e}`),!1):(window.alert(`Failed to install Vite Plus:\n${n||`Unknown error`}`),!1)}catch(e){return te.error(`Vite Plus check/install failed:`,e),!0}}function ne(e){let t=(0,P.c)(43),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],t[0]=n):n=t[0];let[r,i]=(0,N.useState)(n),[a,o]=(0,N.useState)(!1),s=Array.isArray(r)&&r.length>0,c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{o(!0),l().then(e=>i(e?.templates||[])).catch(()=>i([])).finally(()=>o(!1))},t[1]=c):c=t[1];let u=c,d,p;if(t[2]!==r){if(d={},Array.isArray(r))for(let e of r){let t=e.typeName;d[t]||(d[t]=[]),d[t].push(e)}p=Object.keys(d).sort(),t[2]=r,t[3]=d,t[4]=p}else d=t[3],p=t[4];let m=p,h;t[5]!==d||t[6]!==m?(h={typeNames:m,templatesByTypeName:d},t[5]=d,t[6]=m,t[7]=h):h=t[7];let{typeNames:g,templatesByTypeName:_}=h,v;if(t[8]!==_){v={};for(let e of Object.keys(_)){let t=_[e]??[];if(t.length===0)continue;let n=t.find(H),r=t.filter(V),i=n?[n,...r]:t;v[e]=i[0].id}t[8]=_,t[9]=v}else v=t[9];let y=v,b;bb0:{if(!Array.isArray(r)){b=e;break bb0}if(r.find(t=>t.id===e)){b=e;break bb0}if(r.length===0){b=e;break bb0}let n=g[0],i;t[10]!==n||t[11]!==_?(i=n?_[n]??[]:[],t[10]=n,t[11]=_,t[12]=i):i=t[12];let a=i,o;t[13]===a?o=t[14]:(o=a.find(B),t[13]=a,t[14]=o),b=(o??a[0])?.id??e}let x=b,S;bb1:{if(!x||!Array.isArray(r)||r.length===0){S=null;break bb1}let e;t[15]!==x||t[16]!==r?(e=r.find(e=>e.id===x)?.typeName??null,t[15]=x,t[16]=r,t[17]=e):e=t[17],S=e}let C=S,w;bb2:{let e;t[18]!==C||t[19]!==_?(e=C?_[C]??[]:[],t[18]=C,t[19]=_,t[20]=e):e=t[20];let n=e;if(n.length<=1){w=n;break bb2}let r;t[21]===n?r=t[22]:(r=n.find(z),t[21]=n,t[22]=r);let i=r,a;if(t[23]!==n||t[24]!==i){let e=n.filter(R);a=i?[i,...e]:n,t[23]=n,t[24]=i,t[25]=a}else a=t[25];w=a}let T=w,E;t[26]!==x||t[27]!==r?(E=x&&Array.isArray(r)?r.find(e=>e.id===x):void 0,t[26]=x,t[27]=r,t[28]=E):E=t[28];let D=E,O,k;t[29]===x?(O=t[30],k=t[31]):(O=()=>{x&&f(x)},k=[x],t[29]=x,t[30]=O,t[31]=k),(0,N.useEffect)(O,k);let A;return t[32]!==x||t[33]!==y||t[34]!==s||t[35]!==D||t[36]!==C||t[37]!==r||t[38]!==_||t[39]!==a||t[40]!==g||t[41]!==T?(A={templates:r,templatesLoading:a,hasTemplates:s,loadTemplates:u,typeNames:g,templatesByTypeName:_,firstVariationIdByTypeName:y,effectiveTemplateId:x,selectedTypeNameFromEffective:C,variations:T,selectedTemplate:D},t[32]=x,t[33]=y,t[34]=s,t[35]=D,t[36]=C,t[37]=r,t[38]=_,t[39]=a,t[40]=g,t[41]=T,t[42]=A):A=t[42],A}function R(e){return e.variationName!==`Starter`}function z(e){return e.variationName===`Starter`}function B(e){return e.variationName===`Starter`}function V(e){return e.variationName!==`Starter`}function H(e){return e.variationName===`Starter`}function U(e){return e===`folder`?3:2}function W(e){return e===`folder`?{projectName:``,projectNameUserEdited:!1,loadedImages:new Set}:{projectName:`My App`,projectNameUserEdited:!1,loadedImages:new Set}}function G(e,t,n){return e?t:n?`My ${n} App`:`My App`}function K(e,t,n,r){return e===`clone`?t.trim().length>0:e===`folder`?n.trim().length>0&&!!I(n):r!==null}function q(e,t){return e===`folder`?1:t-1}function J(e,t,n,r){return e===`folder`?r===1:r===1?t>2:t>=3||t===2&&n}function Y(e,t){return e===2||t===`folder`}function X(e){e.onDialogDismissed?.(),e.setMode(`clone`),e.setDialogStep(2),e.setGitUrl(``),e.setProjectName(`My App`),e.setProjectNameUserEdited(!1),e.setLoadedImages(new Set),e.onOpenChange(!1)}function Z(e){e.setDialogStep(2),e.onOpenChange(!1),e.setMode(`clone`)}async function Q(e){if(!e.projectNameDisplay.trim()||!e.effectiveTemplateId||!I(e.projectNameDisplay))return;if(e.selectedTemplate?.variation===`vite-plus`){e.setIsCheckingVp(!0);let t=await L();if(e.setIsCheckingVp(!1),!t)return}let t=e.projectNameDisplay.trim();e.setProjectName(``),e.setProjectNameUserEdited(!1),Z(e),e.onSubmitWebApp(t,e.effectiveTemplateId,e.packageManager)}function re(e){function t(){X(e)}function n(){if(Y(e.dialogStep,e.mode)){t();return}e.setDialogStep(2)}function r(t){e.setCommitMethod(t),c(t)}function i(){if(!e.gitUrl.trim())return;let t=e.gitUrl.trim();e.setGitUrl(``),Z(e),e.onSubmitClone(t,e.commitMethod).catch(()=>{})}async function a(){await Q(e)}function o(){let t=e.projectName.trim();t&&I(t)&&(e.setProjectName(``),e.setProjectNameUserEdited(!1),Z(e),e.onSubmitFolder(t))}function s(t){return J(e.mode,e.dialogStep,e.canGoToStep3,t)}function l(t){e.mode!==`folder`&&e.setDialogStep(t===1?2:3)}function d(t){e.setProjectName(t),e.setProjectNameUserEdited(!0)}function f(t){e.setTemplateId(e.firstVariationIdByTypeName[t]??``)}function p(t){e.setTemplateId(e.firstVariationIdByTypeName[t]??``),e.setDialogStep(3)}function m(t){e.setPackageManager(t),u(t)}function h(){e.setDialogStep(3)}return{resetAndClose:t,handleBack:n,handleCommitMethodChange:r,handleSubmitClone:i,handleSubmitWebApp:a,handleSubmitFolder:o,canGoToFlowStep:s,goToFlowStep:l,handleProjectNameChange:d,handleSelectType:f,handleSelectTypeAndAdvance:p,handlePackageManagerChange:m,handleNext:h}}function ie(e,t,n,r){let i=W(e);r.setMode(e),r.setDialogStep(U(e)),r.setGitUrl(``),r.setProjectName(i.projectName),r.setProjectNameUserEdited(i.projectNameUserEdited),r.setLoadedImages(i.loadedImages),e===`webapp`&&!t&&n()}function ae(e,t,n,r,i){let a=(0,P.c)(7),o,s;a[0]!==n||a[1]!==t||a[2]!==r||a[3]!==e||a[4]!==i?(o=()=>{e&&t&&ie(t,n,r,i)},s=[e,t,n,r,i],a[0]=n,a[1]=t,a[2]=r,a[3]=e,a[4]=i,a[5]=o,a[6]=s):(o=a[5],s=a[6]),(0,N.useEffect)(o,s)}function oe(e){let t=(0,P.c)(8),[n,r]=(0,N.useState)(e),i;t[0]===e?i=t[1]:(i=U(e),t[0]=e,t[1]=i);let[o,c]=(0,N.useState)(i),[l,u]=(0,N.useState)(``),d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=s(a.PullRequest),t[2]=d):d=t[2];let[f,p]=(0,N.useState)(d),m;return t[3]!==f||t[4]!==o||t[5]!==l||t[6]!==n?(m={mode:n,setMode:r,dialogStep:o,setDialogStep:c,gitUrl:l,setGitUrl:u,commitMethod:f,setCommitMethod:p},t[3]=f,t[4]=o,t[5]=l,t[6]=n,t[7]=m):m=t[7],m}function se(){let e=(0,P.c)(10),[t,n]=(0,N.useState)(`My App`),[r,i]=(0,N.useState)(!1),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=p(),e[0]=a):a=e[0];let[o,s]=(0,N.useState)(a),c;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=h(),e[1]=c):c=e[1];let[l,u]=(0,N.useState)(c),[d,f]=(0,N.useState)(!1),m;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=new Set,e[2]=m):m=e[2];let[g,_]=(0,N.useState)(m),v;return e[3]!==d||e[4]!==g||e[5]!==l||e[6]!==t||e[7]!==r||e[8]!==o?(v={projectName:t,setProjectName:n,projectNameUserEdited:r,setProjectNameUserEdited:i,templateId:o,setTemplateId:s,packageManager:l,setPackageManager:u,isCheckingVp:d,setIsCheckingVp:f,loadedImages:g,setLoadedImages:_},e[3]=d,e[4]=g,e[5]=l,e[6]=t,e[7]=r,e[8]=o,e[9]=v):v=e[9],v}function ce({open:e,onOpenChange:t,onDialogDismissed:n,initialMode:r,onSubmitClone:i,onSubmitWebApp:a,onSubmitFolder:o}){let{mode:s,setMode:c,dialogStep:l,setDialogStep:u,gitUrl:d,setGitUrl:f,commitMethod:p,setCommitMethod:m}=oe(r??`clone`),{projectName:h,setProjectName:g,projectNameUserEdited:_,setProjectNameUserEdited:v,templateId:y,setTemplateId:b,packageManager:x,setPackageManager:S,isCheckingVp:C,setIsCheckingVp:w,loadedImages:T,setLoadedImages:E}=se(),D=(0,N.useCallback)(e=>{E(t=>new Set(t).add(e))},[]),{templatesLoading:O,hasTemplates:k,loadTemplates:A,typeNames:j,templatesByTypeName:M,firstVariationIdByTypeName:P,effectiveTemplateId:F,selectedTypeNameFromEffective:I,variations:te,selectedTemplate:L}=ne(y);ae(e,r,k,A,(0,N.useMemo)(()=>({setMode:c,setDialogStep:u,setGitUrl:f,setProjectName:g,setProjectNameUserEdited:v,setLoadedImages:E}),[]));let R=(0,N.useMemo)(()=>G(_,h,I),[_,h,I]),z=K(s,d,h,I),B=l,V=q(s,l),H=ee(B,s,I);return{open:e,showStepIndicator:s!==`folder`,flowStep:V,stepHeading:H,step:B,mode:s,canGoToStep3:z,gitUrl:d,setGitUrl:f,templatesLoading:O,typeNames:j,templatesByTypeName:M,selectedTypeNameFromEffective:I,loadedImages:T,handleImageLoad:D,projectName:h,projectNameDisplay:R,variations:te,effectiveTemplateId:F,setTemplateId:b,selectedTemplate:L,packageManager:x,commitMethod:p,isCheckingVp:C,...re({mode:s,dialogStep:l,gitUrl:d,commitMethod:p,projectName:h,projectNameDisplay:R,packageManager:x,canGoToStep3:z,firstVariationIdByTypeName:P,effectiveTemplateId:F,selectedTemplate:L,onOpenChange:t,onDialogDismissed:n,onSubmitClone:i,onSubmitWebApp:a,onSubmitFolder:o,setMode:c,setDialogStep:u,setGitUrl:f,setCommitMethod:m,setProjectName:g,setProjectNameUserEdited:v,setTemplateId:b,setPackageManager:S,setIsCheckingVp:w,setLoadedImages:E})}}var $=r();function le(e){let t=(0,P.c)(10),{gitUrl:n,onGitUrlChange:r,canProceed:i,onNext:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(T,{htmlFor:`gitUrl`,children:`Repository URL`}),t[0]=o):o=t[0];let s;t[1]===r?s=t[2]:(s=e=>r(e.target.value),t[1]=r,t[2]=s);let c;t[3]!==i||t[4]!==a?(c=e=>e.key===`Enter`&&i&&a(),t[3]=i,t[4]=a,t[5]=c):c=t[5];let l;return t[6]!==n||t[7]!==s||t[8]!==c?(l=(0,$.jsx)(E,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,$.jsx)(`div`,{className:`px-6 py-4`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[o,(0,$.jsx)(O,{id:`gitUrl`,placeholder:`https://github.com/user/repo.git`,value:n,onChange:s,onKeyDown:c,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`,autoFocus:!0})]})})}),t[6]=n,t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function ue(e){let t=(0,P.c)(11),{templatesLoading:n,typeNames:r,templatesByTypeName:a,selectedTypeName:o,loadedImages:s,onImageLoad:c,onSelectType:l,onSelectTypeAndAdvance:u}=e,d;t[0]!==s||t[1]!==c||t[2]!==l||t[3]!==u||t[4]!==o||t[5]!==a||t[6]!==n||t[7]!==r?(d=n?(0,$.jsx)(`p`,{className:g(i.bodyMuted,`col-span-full p-4`),children:`Loading…`}):r.map(e=>{let t=a[e]?.[0]?.type,n=t?F[t]:null,r=o===e;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>l(e),onDoubleClick:()=>u(e),className:g(`group flex flex-col items-center gap-0 rounded-lg px-1 py-1 text-center transition-colors`,r?`text-accent-foreground`:`text-foreground`),children:[(0,$.jsx)(`div`,{className:g(`relative flex size-20 shrink-0 items-center justify-center overflow-hidden rounded-xl bg-[hsl(0_0%_35%)] bg-gradient-to-br from-[hsl(0_0%_35%)] to-[hsl(0_0%_25%)] text-white/70 transition-transform can-hover:group-hover:scale-[1.03]`,r&&`ring-[3px] ring-brand`),children:n?(0,$.jsx)(`img`,{src:`/template-types/${n}`,alt:``,className:g(`relative size-8 shrink-0 transition-opacity duration-300`,s.has(n)?`opacity-100`:`opacity-0`),onLoad:()=>c(n),"aria-hidden":!0}):null}),(0,$.jsx)(`span`,{className:g(i.compact,`w-full truncate pt-1 font-medium`),children:e})]},e)}),t[0]=s,t[1]=c,t[2]=l,t[3]=u,t[4]=o,t[5]=a,t[6]=n,t[7]=r,t[8]=d):d=t[8];let f;return t[9]===d?f=t[10]:(f=(0,$.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 px-6 pb-4`,children:(0,$.jsx)(`div`,{className:`flex-1 min-h-0 flex flex-col py-2`,children:(0,$.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto -mx-1`,children:(0,$.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-1 p-1 mr-2`,children:d})})})}),t[9]=d,t[10]=f),f}function de(e){let t=(0,P.c)(17),{projectName:n,onProjectNameChange:r,canSubmit:a,onSubmit:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(T,{htmlFor:`folderProjectName`,children:`Project Name`}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=e=>r(e.target.value),t[1]=r,t[2]=c);let l;t[3]!==a||t[4]!==o?(l=e=>e.key===`Enter`&&a&&o(),t[3]=a,t[4]=o,t[5]=l):l=t[5];let u;t[6]!==n||t[7]!==c||t[8]!==l?(u=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[s,(0,$.jsx)(O,{id:`folderProjectName`,placeholder:`My Project`,value:n,onChange:c,onKeyDown:l,autoFocus:!0,className:`w-full`})]}),t[6]=n,t[7]=c,t[8]=l,t[9]=u):u=t[9];let d;t[10]===n?d=t[11]:(d=I(n)||`project-name`,t[10]=n,t[11]=d);let f;t[12]===d?f=t[13]:(f=(0,$.jsxs)(`p`,{className:i.bodyMuted,children:[`Folder name: `,d]}),t[12]=d,t[13]=f);let p;return t[14]!==u||t[15]!==f?(p=(0,$.jsx)(E,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,$.jsxs)(`div`,{className:`px-6 py-4 flex flex-col gap-3`,children:[u,f]})}),t[14]=u,t[15]=f,t[16]=p):p=t[16],p}function fe(e){let t=(0,P.c)(33),{projectNameDisplay:n,onProjectNameChange:r,variations:a,effectiveTemplateId:o,onTemplateIdChange:s,selectedTemplate:c,packageManager:l,onPackageManagerChange:u,commitMethod:d,onCommitMethodChange:f}=e,p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(T,{htmlFor:`projectName`,children:`Project Name`}),t[0]=p):p=t[0];let m;t[1]===r?m=t[2]:(m=e=>r(e.target.value),t[1]=r,t[2]=m);let h;t[3]!==n||t[4]!==m?(h=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[p,(0,$.jsx)(O,{id:`projectName`,placeholder:`My App`,value:n,onChange:m,className:`w-full`})]}),t[3]=n,t[4]=m,t[5]=h):h=t[5];let g;t[6]!==o||t[7]!==s||t[8]!==a?(g=a.length>1&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(T,{children:`Variation`}),(0,$.jsx)(A,{type:`single`,value:o,onValueChange:e=>e&&s(e),variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:a.map(me)})]}),t[6]=o,t[7]=s,t[8]=a,t[9]=g):g=t[9];let v=c?.description??a[0]?.description??``,y;t[10]===c?y=t[11]:(y=c?.url&&(0,$.jsxs)($.Fragment,{children:[` `,(0,$.jsxs)(`a`,{href:c.url,target:`_blank`,rel:`noreferrer`,className:`text-brand hover:underline hover:text-brand/80 inline-flex items-center gap-0.5`,children:[`Documentation `,(0,$.jsx)(_,{className:`h-3 w-3`})]})]}),t[10]=c,t[11]=y);let b;t[12]!==v||t[13]!==y?(b=(0,$.jsxs)(`p`,{className:i.bodyMuted,children:[v,y]}),t[12]=v,t[13]=y,t[14]=b):b=t[14];let x;t[15]!==g||t[16]!==b?(x=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[g,b]}),t[15]=g,t[16]=b,t[17]=x):x=t[17];let S;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(T,{children:`Package manager`}),t[18]=S):S=t[18];let C;t[19]===u?C=t[20]:(C=e=>{e&&u(e)},t[19]=u,t[20]=C);let w;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(w=Object.values(M).map(pe),t[21]=w):w=t[21];let D;t[22]!==l||t[23]!==C?(D=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[S,(0,$.jsx)(A,{type:`single`,value:l,onValueChange:C,variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:w})]}),t[22]=l,t[23]=C,t[24]=D):D=t[24];let k;t[25]!==d||t[26]!==f?(k=(0,$.jsx)(j,{commitMethod:d,onCommitMethodChange:f}),t[25]=d,t[26]=f,t[27]=k):k=t[27];let N;return t[28]!==D||t[29]!==k||t[30]!==h||t[31]!==x?(N=(0,$.jsx)(E,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,$.jsxs)(`div`,{className:`px-6 py-4 flex flex-col gap-6`,children:[h,x,D,k]})}),t[28]=D,t[29]=k,t[30]=h,t[31]=x,t[32]=N):N=t[32],N}function pe(e){return(0,$.jsx)(k,{value:e.id,className:i.body,children:e.label},e.id)}function me(e){return(0,$.jsx)(k,{value:e.id,className:i.body,children:e.variationName},e.id)}function he(e){let t=(0,P.c)(5),{canGoToStep3:n,gitUrl:r,onGitUrlChange:i,onNext:a}=e,o;return t[0]!==n||t[1]!==r||t[2]!==i||t[3]!==a?(o=(0,$.jsx)(le,{gitUrl:r,onGitUrlChange:i,canProceed:n,onNext:a}),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o):o=t[4],o}function ge(e){let t=(0,P.c)(9),{templatesLoading:n,typeNames:r,templatesByTypeName:i,selectedTypeNameFromEffective:a,loadedImages:o,onImageLoad:s,onSelectType:c,onSelectTypeAndAdvance:l}=e,u;return t[0]!==o||t[1]!==s||t[2]!==c||t[3]!==l||t[4]!==a||t[5]!==i||t[6]!==n||t[7]!==r?(u=(0,$.jsx)(ue,{templatesLoading:n,typeNames:r,templatesByTypeName:i,selectedTypeName:a,loadedImages:o,onImageLoad:s,onSelectType:c,onSelectTypeAndAdvance:l}),t[0]=o,t[1]=s,t[2]=c,t[3]=l,t[4]=a,t[5]=i,t[6]=n,t[7]=r,t[8]=u):u=t[8],u}function _e(e){let t=(0,P.c)(5),{canGoToStep3:n,projectName:r,onProjectNameChange:i,onSubmitFolder:a}=e,o;return t[0]!==n||t[1]!==i||t[2]!==a||t[3]!==r?(o=(0,$.jsx)(de,{projectName:r,onProjectNameChange:i,canSubmit:n,onSubmit:a}),t[0]=n,t[1]=i,t[2]=a,t[3]=r,t[4]=o):o=t[4],o}function ve(e){let t=(0,P.c)(11),{projectNameDisplay:n,onProjectNameChange:r,variations:i,effectiveTemplateId:a,onTemplateIdChange:o,selectedTemplate:s,packageManager:c,onPackageManagerChange:l,commitMethod:u,onCommitMethodChange:d}=e,f;return t[0]!==u||t[1]!==a||t[2]!==d||t[3]!==l||t[4]!==r||t[5]!==o||t[6]!==c||t[7]!==n||t[8]!==s||t[9]!==i?(f=(0,$.jsx)(fe,{projectNameDisplay:n,onProjectNameChange:r,variations:i,effectiveTemplateId:a,onTemplateIdChange:o,selectedTemplate:s,packageManager:c,onPackageManagerChange:l,commitMethod:u,onCommitMethodChange:d}),t[0]=u,t[1]=a,t[2]=d,t[3]=l,t[4]=r,t[5]=o,t[6]=c,t[7]=n,t[8]=s,t[9]=i,t[10]=f):f=t[10],f}function ye(e){let t=(0,P.c)(3),{commitMethod:n,onCommitMethodChange:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(E,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-6 px-6 py-4`,children:(0,$.jsx)(j,{commitMethod:n,onCommitMethodChange:r})})}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function be(e){let t=(0,P.c)(33),{step:n,mode:r,canGoToStep3:i,gitUrl:a,onGitUrlChange:o,onNext:s,templatesLoading:c,typeNames:l,templatesByTypeName:u,selectedTypeNameFromEffective:d,loadedImages:f,onImageLoad:p,onSelectType:m,onSelectTypeAndAdvance:h,projectName:g,onProjectNameChange:_,onSubmitFolder:v,projectNameDisplay:y,variations:b,effectiveTemplateId:x,onTemplateIdChange:S,selectedTemplate:C,packageManager:w,onPackageManagerChange:T,commitMethod:E,onCommitMethodChange:D}=e;switch(`${n}:${r}`){case`2:clone`:{let e;return t[0]!==i||t[1]!==a||t[2]!==o||t[3]!==s?(e=(0,$.jsx)(he,{canGoToStep3:i,gitUrl:a,onGitUrlChange:o,onNext:s}),t[0]=i,t[1]=a,t[2]=o,t[3]=s,t[4]=e):e=t[4],e}case`2:webapp`:{let e;return t[5]!==f||t[6]!==p||t[7]!==m||t[8]!==h||t[9]!==d||t[10]!==u||t[11]!==c||t[12]!==l?(e=(0,$.jsx)(ge,{templatesLoading:c,typeNames:l,templatesByTypeName:u,selectedTypeNameFromEffective:d,loadedImages:f,onImageLoad:p,onSelectType:m,onSelectTypeAndAdvance:h}),t[5]=f,t[6]=p,t[7]=m,t[8]=h,t[9]=d,t[10]=u,t[11]=c,t[12]=l,t[13]=e):e=t[13],e}case`3:folder`:{let e;return t[14]!==i||t[15]!==_||t[16]!==v||t[17]!==g?(e=(0,$.jsx)(_e,{canGoToStep3:i,projectName:g,onProjectNameChange:_,onSubmitFolder:v}),t[14]=i,t[15]=_,t[16]=v,t[17]=g,t[18]=e):e=t[18],e}case`3:webapp`:{let e;return t[19]!==E||t[20]!==x||t[21]!==D||t[22]!==T||t[23]!==_||t[24]!==S||t[25]!==w||t[26]!==y||t[27]!==C||t[28]!==b?(e=(0,$.jsx)(ve,{projectNameDisplay:y,onProjectNameChange:_,variations:b,effectiveTemplateId:x,onTemplateIdChange:S,selectedTemplate:C,packageManager:w,onPackageManagerChange:T,commitMethod:E,onCommitMethodChange:D}),t[19]=E,t[20]=x,t[21]=D,t[22]=T,t[23]=_,t[24]=S,t[25]=w,t[26]=y,t[27]=C,t[28]=b,t[29]=e):e=t[29],e}default:{let e;return t[30]!==E||t[31]!==D?(e=(0,$.jsx)(ye,{commitMethod:E,onCommitMethodChange:D}),t[30]=E,t[31]=D,t[32]=e):e=t[32],e}}}function xe(e){let t=(0,P.c)(30),{step:n,mode:r,canGoToStep3:i,projectName:a,projectNameDisplay:o,isCheckingVp:s,onBack:c,onNext:l,onSubmitClone:u,onSubmitFolder:d,onSubmitWebApp:f}=e,p;t[0]!==r||t[1]!==c||t[2]!==n?(p=n===3&&r!==`folder`&&(0,$.jsx)(w,{variant:`ghost`,onClick:c,children:`Back`}),t[0]=r,t[1]=c,t[2]=n,t[3]=p):p=t[3];let m;t[4]!==i||t[5]!==r||t[6]!==l||t[7]!==n?(m=n===2&&r!==`folder`&&(0,$.jsx)(w,{onClick:l,disabled:!i,children:`Next`}),t[4]=i,t[5]=r,t[6]=l,t[7]=n,t[8]=m):m=t[8];let h;t[9]!==r||t[10]!==u||t[11]!==n?(h=n===3&&r===`clone`&&(0,$.jsx)(w,{onClick:u,children:`Create Project`}),t[9]=r,t[10]=u,t[11]=n,t[12]=h):h=t[12];let g;t[13]!==r||t[14]!==d||t[15]!==a||t[16]!==n?(g=n===3&&r===`folder`&&(0,$.jsx)(w,{onClick:d,disabled:!a.trim()||!I(a),children:`Create Project`}),t[13]=r,t[14]=d,t[15]=a,t[16]=n,t[17]=g):g=t[17];let _;t[18]!==s||t[19]!==r||t[20]!==f||t[21]!==o||t[22]!==n?(_=n===3&&r===`webapp`&&(0,$.jsx)(w,{onClick:f,disabled:!o.trim()||s,children:s?`Preparing...`:`Create Project`}),t[18]=s,t[19]=r,t[20]=f,t[21]=o,t[22]=n,t[23]=_):_=t[23];let y;return t[24]!==p||t[25]!==m||t[26]!==h||t[27]!==g||t[28]!==_?(y=(0,$.jsx)(`div`,{className:`flex min-h-[4.5rem] flex-col justify-end border-t border-border bg-muted/10 px-6 py-4`,children:(0,$.jsxs)(v,{children:[p,m,h,g,_]})}),t[24]=p,t[25]=m,t[26]=h,t[27]=g,t[28]=_,t[29]=y):y=t[29],y}function Se(e){let t=(0,P.c)(66),{open:n,resetAndClose:r,showStepIndicator:i,flowStep:a,canGoToFlowStep:o,goToFlowStep:s,stepHeading:c,step:l,mode:u,canGoToStep3:d,gitUrl:f,setGitUrl:p,handleNext:m,templatesLoading:h,typeNames:g,templatesByTypeName:_,selectedTypeNameFromEffective:v,loadedImages:w,handleImageLoad:T,handleSelectType:E,handleSelectTypeAndAdvance:O,projectName:k,handleProjectNameChange:A,handleSubmitFolder:j,projectNameDisplay:M,variations:N,effectiveTemplateId:F,setTemplateId:I,selectedTemplate:ee,packageManager:te,handlePackageManagerChange:L,commitMethod:ne,handleCommitMethodChange:R,isCheckingVp:z,handleBack:B,handleSubmitClone:V,handleSubmitWebApp:H}=ce(e),U;t[0]===r?U=t[1]:(U=e=>!e&&r(),t[0]=r,t[1]=U);let W;t[2]!==o||t[3]!==a||t[4]!==s||t[5]!==i?(W=i?(0,$.jsx)(D,{currentStep:a,canGoToStep:o,onGoToStep:s}):null,t[2]=o,t[3]=a,t[4]=s,t[5]=i,t[6]=W):W=t[6];let G;t[7]===c.title?G=t[8]:(G=(0,$.jsx)(S,{children:c.title}),t[7]=c.title,t[8]=G);let K;t[9]===c.description?K=t[10]:(K=(0,$.jsx)(y,{children:c.description}),t[9]=c.description,t[10]=K);let q;t[11]!==G||t[12]!==K?(q=(0,$.jsxs)(b,{children:[G,K]}),t[11]=G,t[12]=K,t[13]=q):q=t[13];let J;t[14]!==W||t[15]!==q?(J=(0,$.jsxs)(`div`,{className:`px-6 pb-2 pt-6`,children:[W,q]}),t[14]=W,t[15]=q,t[16]=J):J=t[16];let Y;t[17]!==d||t[18]!==ne||t[19]!==F||t[20]!==f||t[21]!==R||t[22]!==T||t[23]!==m||t[24]!==L||t[25]!==A||t[26]!==E||t[27]!==O||t[28]!==j||t[29]!==w||t[30]!==u||t[31]!==te||t[32]!==k||t[33]!==M||t[34]!==ee||t[35]!==v||t[36]!==p||t[37]!==I||t[38]!==l||t[39]!==_||t[40]!==h||t[41]!==g||t[42]!==N?(Y=(0,$.jsx)(be,{step:l,mode:u,canGoToStep3:d,gitUrl:f,onGitUrlChange:p,onNext:m,templatesLoading:h,typeNames:g,templatesByTypeName:_,selectedTypeNameFromEffective:v,loadedImages:w,onImageLoad:T,onSelectType:E,onSelectTypeAndAdvance:O,projectName:k,onProjectNameChange:A,onSubmitFolder:j,projectNameDisplay:M,variations:N,effectiveTemplateId:F,onTemplateIdChange:I,selectedTemplate:ee,packageManager:te,onPackageManagerChange:L,commitMethod:ne,onCommitMethodChange:R}),t[17]=d,t[18]=ne,t[19]=F,t[20]=f,t[21]=R,t[22]=T,t[23]=m,t[24]=L,t[25]=A,t[26]=E,t[27]=O,t[28]=j,t[29]=w,t[30]=u,t[31]=te,t[32]=k,t[33]=M,t[34]=ee,t[35]=v,t[36]=p,t[37]=I,t[38]=l,t[39]=_,t[40]=h,t[41]=g,t[42]=N,t[43]=Y):Y=t[43];let X;t[44]===H?X=t[45]:(X=()=>void H(),t[44]=H,t[45]=X);let Z;t[46]!==d||t[47]!==B||t[48]!==m||t[49]!==V||t[50]!==j||t[51]!==z||t[52]!==u||t[53]!==k||t[54]!==M||t[55]!==l||t[56]!==X?(Z=(0,$.jsx)(xe,{step:l,mode:u,canGoToStep3:d,projectName:k,projectNameDisplay:M,isCheckingVp:z,onBack:B,onNext:m,onSubmitClone:V,onSubmitFolder:j,onSubmitWebApp:X}),t[46]=d,t[47]=B,t[48]=m,t[49]=V,t[50]=j,t[51]=z,t[52]=u,t[53]=k,t[54]=M,t[55]=l,t[56]=X,t[57]=Z):Z=t[57];let Q;t[58]!==J||t[59]!==Y||t[60]!==Z?(Q=(0,$.jsxs)(x,{className:`flex h-[min(42rem,90dvh)] max-w-2xl flex-col overflow-hidden p-0`,children:[J,Y,Z]}),t[58]=J,t[59]=Y,t[60]=Z,t[61]=Q):Q=t[61];let re;return t[62]!==n||t[63]!==U||t[64]!==Q?(re=(0,$.jsx)(C,{open:n,onOpenChange:U,children:Q}),t[62]=n,t[63]=U,t[64]=Q,t[65]=re):re=t[65],re}export{xe as ProjectDialogFooter,Se as default};
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{U as i,Y as a,x as o}from"./dist-v_MvKS2-.js";import{Bt as s,Gi as c,Li as l,Oi as u,Xi as d,da as f,en as p,ra as m,s as h}from"./api-Cp9I7CxD.js";import{t as g}from"./utils-CqsIXqSC.js";import{t as _}from"./external-link-Dcikmdm_.js";import{a as v,i as y,o as b,r as x,s as S,t as C}from"./dialog-D_12AsZd.js";import{t as w}from"./button-DDaJhJP1.js";import{t as T}from"./label-BCs5CZEs.js";import{n as E}from"./scroll-area-DGF9wUqQ.js";import{S as D,gn as O}from"./index-CcAwxnT5.js";import{n as k,t as A}from"./toggle-group-CPmseZfb.js";import{r as j}from"./commit-method-fields-Xt3vbwUg.js";var M={bun:{id:`bun`,label:`bun`},npm:{id:`npm`,label:`npm`},yarn:{id:`yarn`,label:`yarn`},pnpm:{id:`pnpm`,label:`pnpm`}},N=e(n(),1),P=t(),F={"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 I(e){return e.trim().toLowerCase().replace(/[\\/]+/g,` `).replace(/[^a-z0-9._ -]+/g,``).replace(/\s+/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``)}function ee(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 te=o(`app.create-project-dialog.ui`);async function L(){try{if(await h())return!0;let e=`macOS / Linux: curl -fsSL https://vite.plus | bash
|
|
2
|
+
Windows: irm https://vite.plus/ps1 | iex`;if(!window.confirm(`Vite Plus is required for this template but is not installed.\n\nIs it ok to install Vite Plus using the following command?\n\n${e}`))return!1;let{success:t,error:n}=await p();return t?await h()?!0:(window.alert(`Vite Plus was installed but could not be verified.\n\nTry restarting the app — if it is still missing, install it manually with:\n\n${e}`),!1):(window.alert(`Failed to install Vite Plus:\n${n||`Unknown error`}`),!1)}catch(e){return te.error(`Vite Plus check/install failed:`,e),!0}}function ne(e){let t=(0,P.c)(43),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],t[0]=n):n=t[0];let[r,i]=(0,N.useState)(n),[a,o]=(0,N.useState)(!1),c=Array.isArray(r)&&r.length>0,l;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{o(!0),s().then(e=>i(e?.templates||[])).catch(()=>i([])).finally(()=>o(!1))},t[1]=l):l=t[1];let u=l,d,p;if(t[2]!==r){if(d={},Array.isArray(r))for(let e of r){let t=e.typeName;d[t]||(d[t]=[]),d[t].push(e)}p=Object.keys(d).sort(),t[2]=r,t[3]=d,t[4]=p}else d=t[3],p=t[4];let m=p,h;t[5]!==d||t[6]!==m?(h={typeNames:m,templatesByTypeName:d},t[5]=d,t[6]=m,t[7]=h):h=t[7];let{typeNames:g,templatesByTypeName:_}=h,v;if(t[8]!==_){v={};for(let e of Object.keys(_)){let t=_[e]??[];if(t.length===0)continue;let n=t.find(H),r=t.filter(V),i=n?[n,...r]:t;v[e]=i[0].id}t[8]=_,t[9]=v}else v=t[9];let y=v,b;bb0:{if(!Array.isArray(r)){b=e;break bb0}if(r.find(t=>t.id===e)){b=e;break bb0}if(r.length===0){b=e;break bb0}let n=g[0],i;t[10]!==n||t[11]!==_?(i=n?_[n]??[]:[],t[10]=n,t[11]=_,t[12]=i):i=t[12];let a=i,o;t[13]===a?o=t[14]:(o=a.find(B),t[13]=a,t[14]=o),b=(o??a[0])?.id??e}let x=b,S;bb1:{if(!x||!Array.isArray(r)||r.length===0){S=null;break bb1}let e;t[15]!==x||t[16]!==r?(e=r.find(e=>e.id===x)?.typeName??null,t[15]=x,t[16]=r,t[17]=e):e=t[17],S=e}let C=S,w;bb2:{let e;t[18]!==C||t[19]!==_?(e=C?_[C]??[]:[],t[18]=C,t[19]=_,t[20]=e):e=t[20];let n=e;if(n.length<=1){w=n;break bb2}let r;t[21]===n?r=t[22]:(r=n.find(z),t[21]=n,t[22]=r);let i=r,a;if(t[23]!==n||t[24]!==i){let e=n.filter(R);a=i?[i,...e]:n,t[23]=n,t[24]=i,t[25]=a}else a=t[25];w=a}let T=w,E;t[26]!==x||t[27]!==r?(E=x&&Array.isArray(r)?r.find(e=>e.id===x):void 0,t[26]=x,t[27]=r,t[28]=E):E=t[28];let D=E,O,k;t[29]===x?(O=t[30],k=t[31]):(O=()=>{x&&f(x)},k=[x],t[29]=x,t[30]=O,t[31]=k),(0,N.useEffect)(O,k);let A;return t[32]!==x||t[33]!==y||t[34]!==c||t[35]!==D||t[36]!==C||t[37]!==r||t[38]!==_||t[39]!==a||t[40]!==g||t[41]!==T?(A={templates:r,templatesLoading:a,hasTemplates:c,loadTemplates:u,typeNames:g,templatesByTypeName:_,firstVariationIdByTypeName:y,effectiveTemplateId:x,selectedTypeNameFromEffective:C,variations:T,selectedTemplate:D},t[32]=x,t[33]=y,t[34]=c,t[35]=D,t[36]=C,t[37]=r,t[38]=_,t[39]=a,t[40]=g,t[41]=T,t[42]=A):A=t[42],A}function R(e){return e.variationName!==`Starter`}function z(e){return e.variationName===`Starter`}function B(e){return e.variationName===`Starter`}function V(e){return e.variationName!==`Starter`}function H(e){return e.variationName===`Starter`}function U(e){return e===`folder`?3:2}function W(e){return e===`folder`?{projectName:``,projectNameUserEdited:!1,loadedImages:new Set}:{projectName:`My App`,projectNameUserEdited:!1,loadedImages:new Set}}function G(e,t,n){return e?t:n?`My ${n} App`:`My App`}function K(e,t,n,r){return e===`clone`?t.trim().length>0:e===`folder`?n.trim().length>0&&!!I(n):r!==null}function q(e,t){return e===`folder`?1:t-1}function J(e,t,n,r){return e===`folder`?r===1:r===1?t>2:t>=3||t===2&&n}function Y(e,t){return e===2||t===`folder`}function X(e){e.onDialogDismissed?.(),e.setMode(`clone`),e.setDialogStep(2),e.setGitUrl(``),e.setProjectName(`My App`),e.setProjectNameUserEdited(!1),e.setLoadedImages(new Set),e.onOpenChange(!1)}function Z(e){e.setDialogStep(2),e.onOpenChange(!1),e.setMode(`clone`)}async function Q(e){if(!e.projectNameDisplay.trim()||!e.effectiveTemplateId||!I(e.projectNameDisplay))return;if(e.selectedTemplate?.variation===`vite-plus`){e.setIsCheckingVp(!0);let t=await L();if(e.setIsCheckingVp(!1),!t)return}let t=e.projectNameDisplay.trim();e.setProjectName(``),e.setProjectNameUserEdited(!1),Z(e),e.onSubmitWebApp(t,e.effectiveTemplateId,e.packageManager)}function re(e){function t(){X(e)}function n(){if(Y(e.dialogStep,e.mode)){t();return}e.setDialogStep(2)}function r(t){e.setCommitMethod(t),d(t)}function i(){if(!e.gitUrl.trim())return;let t=e.gitUrl.trim();e.setGitUrl(``),Z(e),e.onSubmitClone(t,e.commitMethod).catch(()=>{})}async function a(){await Q(e)}function o(){let t=e.projectName.trim();t&&I(t)&&(e.setProjectName(``),e.setProjectNameUserEdited(!1),Z(e),e.onSubmitFolder(t))}function s(t){return J(e.mode,e.dialogStep,e.canGoToStep3,t)}function c(t){e.mode!==`folder`&&e.setDialogStep(t===1?2:3)}function l(t){e.setProjectName(t),e.setProjectNameUserEdited(!0)}function u(t){e.setTemplateId(e.firstVariationIdByTypeName[t]??``)}function f(t){e.setTemplateId(e.firstVariationIdByTypeName[t]??``),e.setDialogStep(3)}function p(t){e.setPackageManager(t),m(t)}function h(){e.setDialogStep(3)}return{resetAndClose:t,handleBack:n,handleCommitMethodChange:r,handleSubmitClone:i,handleSubmitWebApp:a,handleSubmitFolder:o,canGoToFlowStep:s,goToFlowStep:c,handleProjectNameChange:l,handleSelectType:u,handleSelectTypeAndAdvance:f,handlePackageManagerChange:p,handleNext:h}}function ie(e,t,n,r){let i=W(e);r.setMode(e),r.setDialogStep(U(e)),r.setGitUrl(``),r.setProjectName(i.projectName),r.setProjectNameUserEdited(i.projectNameUserEdited),r.setLoadedImages(i.loadedImages),e===`webapp`&&!t&&n()}function ae(e,t,n,r,i){let a=(0,P.c)(7),o,s;a[0]!==n||a[1]!==t||a[2]!==r||a[3]!==e||a[4]!==i?(o=()=>{e&&t&&ie(t,n,r,i)},s=[e,t,n,r,i],a[0]=n,a[1]=t,a[2]=r,a[3]=e,a[4]=i,a[5]=o,a[6]=s):(o=a[5],s=a[6]),(0,N.useEffect)(o,s)}function oe(e){let t=(0,P.c)(8),[n,r]=(0,N.useState)(e),i;t[0]===e?i=t[1]:(i=U(e),t[0]=e,t[1]=i);let[o,s]=(0,N.useState)(i),[c,l]=(0,N.useState)(``),d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=u(a.PullRequest),t[2]=d):d=t[2];let[f,p]=(0,N.useState)(d),m;return t[3]!==f||t[4]!==o||t[5]!==c||t[6]!==n?(m={mode:n,setMode:r,dialogStep:o,setDialogStep:s,gitUrl:c,setGitUrl:l,commitMethod:f,setCommitMethod:p},t[3]=f,t[4]=o,t[5]=c,t[6]=n,t[7]=m):m=t[7],m}function se(){let e=(0,P.c)(10),[t,n]=(0,N.useState)(`My App`),[r,i]=(0,N.useState)(!1),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=c(),e[0]=a):a=e[0];let[o,s]=(0,N.useState)(a),u;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=l(),e[1]=u):u=e[1];let[d,f]=(0,N.useState)(u),[p,m]=(0,N.useState)(!1),h;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(h=new Set,e[2]=h):h=e[2];let[g,_]=(0,N.useState)(h),v;return e[3]!==p||e[4]!==g||e[5]!==d||e[6]!==t||e[7]!==r||e[8]!==o?(v={projectName:t,setProjectName:n,projectNameUserEdited:r,setProjectNameUserEdited:i,templateId:o,setTemplateId:s,packageManager:d,setPackageManager:f,isCheckingVp:p,setIsCheckingVp:m,loadedImages:g,setLoadedImages:_},e[3]=p,e[4]=g,e[5]=d,e[6]=t,e[7]=r,e[8]=o,e[9]=v):v=e[9],v}function ce({open:e,onOpenChange:t,onDialogDismissed:n,initialMode:r,onSubmitClone:i,onSubmitWebApp:a,onSubmitFolder:o}){let{mode:s,setMode:c,dialogStep:l,setDialogStep:u,gitUrl:d,setGitUrl:f,commitMethod:p,setCommitMethod:m}=oe(r??`clone`),{projectName:h,setProjectName:g,projectNameUserEdited:_,setProjectNameUserEdited:v,templateId:y,setTemplateId:b,packageManager:x,setPackageManager:S,isCheckingVp:C,setIsCheckingVp:w,loadedImages:T,setLoadedImages:E}=se(),D=(0,N.useCallback)(e=>{E(t=>new Set(t).add(e))},[]),{templatesLoading:O,hasTemplates:k,loadTemplates:A,typeNames:j,templatesByTypeName:M,firstVariationIdByTypeName:P,effectiveTemplateId:F,selectedTypeNameFromEffective:I,variations:te,selectedTemplate:L}=ne(y);ae(e,r,k,A,(0,N.useMemo)(()=>({setMode:c,setDialogStep:u,setGitUrl:f,setProjectName:g,setProjectNameUserEdited:v,setLoadedImages:E}),[]));let R=(0,N.useMemo)(()=>G(_,h,I),[_,h,I]),z=K(s,d,h,I),B=l,V=q(s,l),H=ee(B,s,I);return{open:e,showStepIndicator:s!==`folder`,flowStep:V,stepHeading:H,step:B,mode:s,canGoToStep3:z,gitUrl:d,setGitUrl:f,templatesLoading:O,typeNames:j,templatesByTypeName:M,selectedTypeNameFromEffective:I,loadedImages:T,handleImageLoad:D,projectName:h,projectNameDisplay:R,variations:te,effectiveTemplateId:F,setTemplateId:b,selectedTemplate:L,packageManager:x,commitMethod:p,isCheckingVp:C,...re({mode:s,dialogStep:l,gitUrl:d,commitMethod:p,projectName:h,projectNameDisplay:R,packageManager:x,canGoToStep3:z,firstVariationIdByTypeName:P,effectiveTemplateId:F,selectedTemplate:L,onOpenChange:t,onDialogDismissed:n,onSubmitClone:i,onSubmitWebApp:a,onSubmitFolder:o,setMode:c,setDialogStep:u,setGitUrl:f,setCommitMethod:m,setProjectName:g,setProjectNameUserEdited:v,setTemplateId:b,setPackageManager:S,setIsCheckingVp:w,setLoadedImages:E})}}var $=r();function le(e){let t=(0,P.c)(10),{gitUrl:n,onGitUrlChange:r,canProceed:i,onNext:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(T,{htmlFor:`gitUrl`,children:`Repository URL`}),t[0]=o):o=t[0];let s;t[1]===r?s=t[2]:(s=e=>r(e.target.value),t[1]=r,t[2]=s);let c;t[3]!==i||t[4]!==a?(c=e=>e.key===`Enter`&&i&&a(),t[3]=i,t[4]=a,t[5]=c):c=t[5];let l;return t[6]!==n||t[7]!==s||t[8]!==c?(l=(0,$.jsx)(E,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,$.jsx)(`div`,{className:`px-6 py-4`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[o,(0,$.jsx)(O,{id:`gitUrl`,placeholder:`https://github.com/user/repo.git`,value:n,onChange:s,onKeyDown:c,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`,autoFocus:!0})]})})}),t[6]=n,t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function ue(e){let t=(0,P.c)(11),{templatesLoading:n,typeNames:r,templatesByTypeName:a,selectedTypeName:o,loadedImages:s,onImageLoad:c,onSelectType:l,onSelectTypeAndAdvance:u}=e,d;t[0]!==s||t[1]!==c||t[2]!==l||t[3]!==u||t[4]!==o||t[5]!==a||t[6]!==n||t[7]!==r?(d=n?(0,$.jsx)(`p`,{className:g(i.bodyMuted,`col-span-full p-4`),children:`Loading…`}):r.map(e=>{let t=a[e]?.[0]?.type,n=t?F[t]:null,r=o===e;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>l(e),onDoubleClick:()=>u(e),className:g(`group flex flex-col items-center gap-0 rounded-lg px-1 py-1 text-center transition-colors`,r?`text-accent-foreground`:`text-foreground`),children:[(0,$.jsx)(`div`,{className:g(`relative flex size-20 shrink-0 items-center justify-center overflow-hidden rounded-xl bg-[hsl(0_0%_35%)] bg-gradient-to-br from-[hsl(0_0%_35%)] to-[hsl(0_0%_25%)] text-white/70 transition-transform can-hover:group-hover:scale-[1.03]`,r&&`ring-[3px] ring-brand`),children:n?(0,$.jsx)(`img`,{src:`/template-types/${n}`,alt:``,className:g(`relative size-8 shrink-0 transition-opacity duration-300`,s.has(n)?`opacity-100`:`opacity-0`),onLoad:()=>c(n),"aria-hidden":!0}):null}),(0,$.jsx)(`span`,{className:g(i.compact,`w-full truncate pt-1 font-medium`),children:e})]},e)}),t[0]=s,t[1]=c,t[2]=l,t[3]=u,t[4]=o,t[5]=a,t[6]=n,t[7]=r,t[8]=d):d=t[8];let f;return t[9]===d?f=t[10]:(f=(0,$.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 px-6 pb-4`,children:(0,$.jsx)(`div`,{className:`flex-1 min-h-0 flex flex-col py-2`,children:(0,$.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto -mx-1`,children:(0,$.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-1 p-1 mr-2`,children:d})})})}),t[9]=d,t[10]=f),f}function de(e){let t=(0,P.c)(17),{projectName:n,onProjectNameChange:r,canSubmit:a,onSubmit:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(T,{htmlFor:`folderProjectName`,children:`Project Name`}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=e=>r(e.target.value),t[1]=r,t[2]=c);let l;t[3]!==a||t[4]!==o?(l=e=>e.key===`Enter`&&a&&o(),t[3]=a,t[4]=o,t[5]=l):l=t[5];let u;t[6]!==n||t[7]!==c||t[8]!==l?(u=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[s,(0,$.jsx)(O,{id:`folderProjectName`,placeholder:`My Project`,value:n,onChange:c,onKeyDown:l,autoFocus:!0,className:`w-full`})]}),t[6]=n,t[7]=c,t[8]=l,t[9]=u):u=t[9];let d;t[10]===n?d=t[11]:(d=I(n)||`project-name`,t[10]=n,t[11]=d);let f;t[12]===d?f=t[13]:(f=(0,$.jsxs)(`p`,{className:i.bodyMuted,children:[`Folder name: `,d]}),t[12]=d,t[13]=f);let p;return t[14]!==u||t[15]!==f?(p=(0,$.jsx)(E,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,$.jsxs)(`div`,{className:`px-6 py-4 flex flex-col gap-3`,children:[u,f]})}),t[14]=u,t[15]=f,t[16]=p):p=t[16],p}function fe(e){let t=(0,P.c)(33),{projectNameDisplay:n,onProjectNameChange:r,variations:a,effectiveTemplateId:o,onTemplateIdChange:s,selectedTemplate:c,packageManager:l,onPackageManagerChange:u,commitMethod:d,onCommitMethodChange:f}=e,p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(T,{htmlFor:`projectName`,children:`Project Name`}),t[0]=p):p=t[0];let m;t[1]===r?m=t[2]:(m=e=>r(e.target.value),t[1]=r,t[2]=m);let h;t[3]!==n||t[4]!==m?(h=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[p,(0,$.jsx)(O,{id:`projectName`,placeholder:`My App`,value:n,onChange:m,className:`w-full`})]}),t[3]=n,t[4]=m,t[5]=h):h=t[5];let g;t[6]!==o||t[7]!==s||t[8]!==a?(g=a.length>1&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(T,{children:`Variation`}),(0,$.jsx)(A,{type:`single`,value:o,onValueChange:e=>e&&s(e),variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:a.map(me)})]}),t[6]=o,t[7]=s,t[8]=a,t[9]=g):g=t[9];let v=c?.description??a[0]?.description??``,y;t[10]===c?y=t[11]:(y=c?.url&&(0,$.jsxs)($.Fragment,{children:[` `,(0,$.jsxs)(`a`,{href:c.url,target:`_blank`,rel:`noreferrer`,className:`text-brand hover:underline hover:text-brand/80 inline-flex items-center gap-0.5`,children:[`Documentation `,(0,$.jsx)(_,{className:`h-3 w-3`})]})]}),t[10]=c,t[11]=y);let b;t[12]!==v||t[13]!==y?(b=(0,$.jsxs)(`p`,{className:i.bodyMuted,children:[v,y]}),t[12]=v,t[13]=y,t[14]=b):b=t[14];let x;t[15]!==g||t[16]!==b?(x=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[g,b]}),t[15]=g,t[16]=b,t[17]=x):x=t[17];let S;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(T,{children:`Package manager`}),t[18]=S):S=t[18];let C;t[19]===u?C=t[20]:(C=e=>{e&&u(e)},t[19]=u,t[20]=C);let w;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(w=Object.values(M).map(pe),t[21]=w):w=t[21];let D;t[22]!==l||t[23]!==C?(D=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[S,(0,$.jsx)(A,{type:`single`,value:l,onValueChange:C,variant:`outline`,className:`flex flex-wrap gap-0 justify-start [&>button]:rounded-none [&>button:first-child]:rounded-l-md [&>button:last-child]:rounded-r-md [&>button:not(:first-child)]:-ml-px`,children:w})]}),t[22]=l,t[23]=C,t[24]=D):D=t[24];let k;t[25]!==d||t[26]!==f?(k=(0,$.jsx)(j,{commitMethod:d,onCommitMethodChange:f}),t[25]=d,t[26]=f,t[27]=k):k=t[27];let N;return t[28]!==D||t[29]!==k||t[30]!==h||t[31]!==x?(N=(0,$.jsx)(E,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,$.jsxs)(`div`,{className:`px-6 py-4 flex flex-col gap-6`,children:[h,x,D,k]})}),t[28]=D,t[29]=k,t[30]=h,t[31]=x,t[32]=N):N=t[32],N}function pe(e){return(0,$.jsx)(k,{value:e.id,className:i.body,children:e.label},e.id)}function me(e){return(0,$.jsx)(k,{value:e.id,className:i.body,children:e.variationName},e.id)}function he(e){let t=(0,P.c)(5),{canGoToStep3:n,gitUrl:r,onGitUrlChange:i,onNext:a}=e,o;return t[0]!==n||t[1]!==r||t[2]!==i||t[3]!==a?(o=(0,$.jsx)(le,{gitUrl:r,onGitUrlChange:i,canProceed:n,onNext:a}),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o):o=t[4],o}function ge(e){let t=(0,P.c)(9),{templatesLoading:n,typeNames:r,templatesByTypeName:i,selectedTypeNameFromEffective:a,loadedImages:o,onImageLoad:s,onSelectType:c,onSelectTypeAndAdvance:l}=e,u;return t[0]!==o||t[1]!==s||t[2]!==c||t[3]!==l||t[4]!==a||t[5]!==i||t[6]!==n||t[7]!==r?(u=(0,$.jsx)(ue,{templatesLoading:n,typeNames:r,templatesByTypeName:i,selectedTypeName:a,loadedImages:o,onImageLoad:s,onSelectType:c,onSelectTypeAndAdvance:l}),t[0]=o,t[1]=s,t[2]=c,t[3]=l,t[4]=a,t[5]=i,t[6]=n,t[7]=r,t[8]=u):u=t[8],u}function _e(e){let t=(0,P.c)(5),{canGoToStep3:n,projectName:r,onProjectNameChange:i,onSubmitFolder:a}=e,o;return t[0]!==n||t[1]!==i||t[2]!==a||t[3]!==r?(o=(0,$.jsx)(de,{projectName:r,onProjectNameChange:i,canSubmit:n,onSubmit:a}),t[0]=n,t[1]=i,t[2]=a,t[3]=r,t[4]=o):o=t[4],o}function ve(e){let t=(0,P.c)(11),{projectNameDisplay:n,onProjectNameChange:r,variations:i,effectiveTemplateId:a,onTemplateIdChange:o,selectedTemplate:s,packageManager:c,onPackageManagerChange:l,commitMethod:u,onCommitMethodChange:d}=e,f;return t[0]!==u||t[1]!==a||t[2]!==d||t[3]!==l||t[4]!==r||t[5]!==o||t[6]!==c||t[7]!==n||t[8]!==s||t[9]!==i?(f=(0,$.jsx)(fe,{projectNameDisplay:n,onProjectNameChange:r,variations:i,effectiveTemplateId:a,onTemplateIdChange:o,selectedTemplate:s,packageManager:c,onPackageManagerChange:l,commitMethod:u,onCommitMethodChange:d}),t[0]=u,t[1]=a,t[2]=d,t[3]=l,t[4]=r,t[5]=o,t[6]=c,t[7]=n,t[8]=s,t[9]=i,t[10]=f):f=t[10],f}function ye(e){let t=(0,P.c)(3),{commitMethod:n,onCommitMethodChange:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(E,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-6 px-6 py-4`,children:(0,$.jsx)(j,{commitMethod:n,onCommitMethodChange:r})})}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function be(e){let t=(0,P.c)(33),{step:n,mode:r,canGoToStep3:i,gitUrl:a,onGitUrlChange:o,onNext:s,templatesLoading:c,typeNames:l,templatesByTypeName:u,selectedTypeNameFromEffective:d,loadedImages:f,onImageLoad:p,onSelectType:m,onSelectTypeAndAdvance:h,projectName:g,onProjectNameChange:_,onSubmitFolder:v,projectNameDisplay:y,variations:b,effectiveTemplateId:x,onTemplateIdChange:S,selectedTemplate:C,packageManager:w,onPackageManagerChange:T,commitMethod:E,onCommitMethodChange:D}=e;switch(`${n}:${r}`){case`2:clone`:{let e;return t[0]!==i||t[1]!==a||t[2]!==o||t[3]!==s?(e=(0,$.jsx)(he,{canGoToStep3:i,gitUrl:a,onGitUrlChange:o,onNext:s}),t[0]=i,t[1]=a,t[2]=o,t[3]=s,t[4]=e):e=t[4],e}case`2:webapp`:{let e;return t[5]!==f||t[6]!==p||t[7]!==m||t[8]!==h||t[9]!==d||t[10]!==u||t[11]!==c||t[12]!==l?(e=(0,$.jsx)(ge,{templatesLoading:c,typeNames:l,templatesByTypeName:u,selectedTypeNameFromEffective:d,loadedImages:f,onImageLoad:p,onSelectType:m,onSelectTypeAndAdvance:h}),t[5]=f,t[6]=p,t[7]=m,t[8]=h,t[9]=d,t[10]=u,t[11]=c,t[12]=l,t[13]=e):e=t[13],e}case`3:folder`:{let e;return t[14]!==i||t[15]!==_||t[16]!==v||t[17]!==g?(e=(0,$.jsx)(_e,{canGoToStep3:i,projectName:g,onProjectNameChange:_,onSubmitFolder:v}),t[14]=i,t[15]=_,t[16]=v,t[17]=g,t[18]=e):e=t[18],e}case`3:webapp`:{let e;return t[19]!==E||t[20]!==x||t[21]!==D||t[22]!==T||t[23]!==_||t[24]!==S||t[25]!==w||t[26]!==y||t[27]!==C||t[28]!==b?(e=(0,$.jsx)(ve,{projectNameDisplay:y,onProjectNameChange:_,variations:b,effectiveTemplateId:x,onTemplateIdChange:S,selectedTemplate:C,packageManager:w,onPackageManagerChange:T,commitMethod:E,onCommitMethodChange:D}),t[19]=E,t[20]=x,t[21]=D,t[22]=T,t[23]=_,t[24]=S,t[25]=w,t[26]=y,t[27]=C,t[28]=b,t[29]=e):e=t[29],e}default:{let e;return t[30]!==E||t[31]!==D?(e=(0,$.jsx)(ye,{commitMethod:E,onCommitMethodChange:D}),t[30]=E,t[31]=D,t[32]=e):e=t[32],e}}}function xe(e){let t=(0,P.c)(30),{step:n,mode:r,canGoToStep3:i,projectName:a,projectNameDisplay:o,isCheckingVp:s,onBack:c,onNext:l,onSubmitClone:u,onSubmitFolder:d,onSubmitWebApp:f}=e,p;t[0]!==r||t[1]!==c||t[2]!==n?(p=n===3&&r!==`folder`&&(0,$.jsx)(w,{variant:`ghost`,onClick:c,children:`Back`}),t[0]=r,t[1]=c,t[2]=n,t[3]=p):p=t[3];let m;t[4]!==i||t[5]!==r||t[6]!==l||t[7]!==n?(m=n===2&&r!==`folder`&&(0,$.jsx)(w,{onClick:l,disabled:!i,children:`Next`}),t[4]=i,t[5]=r,t[6]=l,t[7]=n,t[8]=m):m=t[8];let h;t[9]!==r||t[10]!==u||t[11]!==n?(h=n===3&&r===`clone`&&(0,$.jsx)(w,{onClick:u,children:`Create Project`}),t[9]=r,t[10]=u,t[11]=n,t[12]=h):h=t[12];let g;t[13]!==r||t[14]!==d||t[15]!==a||t[16]!==n?(g=n===3&&r===`folder`&&(0,$.jsx)(w,{onClick:d,disabled:!a.trim()||!I(a),children:`Create Project`}),t[13]=r,t[14]=d,t[15]=a,t[16]=n,t[17]=g):g=t[17];let _;t[18]!==s||t[19]!==r||t[20]!==f||t[21]!==o||t[22]!==n?(_=n===3&&r===`webapp`&&(0,$.jsx)(w,{onClick:f,disabled:!o.trim()||s,children:s?`Preparing...`:`Create Project`}),t[18]=s,t[19]=r,t[20]=f,t[21]=o,t[22]=n,t[23]=_):_=t[23];let y;return t[24]!==p||t[25]!==m||t[26]!==h||t[27]!==g||t[28]!==_?(y=(0,$.jsx)(`div`,{className:`flex min-h-[4.5rem] flex-col justify-end border-t border-border bg-muted/10 px-6 py-4`,children:(0,$.jsxs)(v,{children:[p,m,h,g,_]})}),t[24]=p,t[25]=m,t[26]=h,t[27]=g,t[28]=_,t[29]=y):y=t[29],y}function Se(e){let t=(0,P.c)(66),{open:n,resetAndClose:r,showStepIndicator:i,flowStep:a,canGoToFlowStep:o,goToFlowStep:s,stepHeading:c,step:l,mode:u,canGoToStep3:d,gitUrl:f,setGitUrl:p,handleNext:m,templatesLoading:h,typeNames:g,templatesByTypeName:_,selectedTypeNameFromEffective:v,loadedImages:w,handleImageLoad:T,handleSelectType:E,handleSelectTypeAndAdvance:O,projectName:k,handleProjectNameChange:A,handleSubmitFolder:j,projectNameDisplay:M,variations:N,effectiveTemplateId:F,setTemplateId:I,selectedTemplate:ee,packageManager:te,handlePackageManagerChange:L,commitMethod:ne,handleCommitMethodChange:R,isCheckingVp:z,handleBack:B,handleSubmitClone:V,handleSubmitWebApp:H}=ce(e),U;t[0]===r?U=t[1]:(U=e=>!e&&r(),t[0]=r,t[1]=U);let W;t[2]!==o||t[3]!==a||t[4]!==s||t[5]!==i?(W=i?(0,$.jsx)(D,{currentStep:a,canGoToStep:o,onGoToStep:s}):null,t[2]=o,t[3]=a,t[4]=s,t[5]=i,t[6]=W):W=t[6];let G;t[7]===c.title?G=t[8]:(G=(0,$.jsx)(S,{children:c.title}),t[7]=c.title,t[8]=G);let K;t[9]===c.description?K=t[10]:(K=(0,$.jsx)(y,{children:c.description}),t[9]=c.description,t[10]=K);let q;t[11]!==G||t[12]!==K?(q=(0,$.jsxs)(b,{children:[G,K]}),t[11]=G,t[12]=K,t[13]=q):q=t[13];let J;t[14]!==W||t[15]!==q?(J=(0,$.jsxs)(`div`,{className:`px-6 pb-2 pt-6`,children:[W,q]}),t[14]=W,t[15]=q,t[16]=J):J=t[16];let Y;t[17]!==d||t[18]!==ne||t[19]!==F||t[20]!==f||t[21]!==R||t[22]!==T||t[23]!==m||t[24]!==L||t[25]!==A||t[26]!==E||t[27]!==O||t[28]!==j||t[29]!==w||t[30]!==u||t[31]!==te||t[32]!==k||t[33]!==M||t[34]!==ee||t[35]!==v||t[36]!==p||t[37]!==I||t[38]!==l||t[39]!==_||t[40]!==h||t[41]!==g||t[42]!==N?(Y=(0,$.jsx)(be,{step:l,mode:u,canGoToStep3:d,gitUrl:f,onGitUrlChange:p,onNext:m,templatesLoading:h,typeNames:g,templatesByTypeName:_,selectedTypeNameFromEffective:v,loadedImages:w,onImageLoad:T,onSelectType:E,onSelectTypeAndAdvance:O,projectName:k,onProjectNameChange:A,onSubmitFolder:j,projectNameDisplay:M,variations:N,effectiveTemplateId:F,onTemplateIdChange:I,selectedTemplate:ee,packageManager:te,onPackageManagerChange:L,commitMethod:ne,onCommitMethodChange:R}),t[17]=d,t[18]=ne,t[19]=F,t[20]=f,t[21]=R,t[22]=T,t[23]=m,t[24]=L,t[25]=A,t[26]=E,t[27]=O,t[28]=j,t[29]=w,t[30]=u,t[31]=te,t[32]=k,t[33]=M,t[34]=ee,t[35]=v,t[36]=p,t[37]=I,t[38]=l,t[39]=_,t[40]=h,t[41]=g,t[42]=N,t[43]=Y):Y=t[43];let X;t[44]===H?X=t[45]:(X=()=>void H(),t[44]=H,t[45]=X);let Z;t[46]!==d||t[47]!==B||t[48]!==m||t[49]!==V||t[50]!==j||t[51]!==z||t[52]!==u||t[53]!==k||t[54]!==M||t[55]!==l||t[56]!==X?(Z=(0,$.jsx)(xe,{step:l,mode:u,canGoToStep3:d,projectName:k,projectNameDisplay:M,isCheckingVp:z,onBack:B,onNext:m,onSubmitClone:V,onSubmitFolder:j,onSubmitWebApp:X}),t[46]=d,t[47]=B,t[48]=m,t[49]=V,t[50]=j,t[51]=z,t[52]=u,t[53]=k,t[54]=M,t[55]=l,t[56]=X,t[57]=Z):Z=t[57];let Q;t[58]!==J||t[59]!==Y||t[60]!==Z?(Q=(0,$.jsxs)(x,{className:`flex h-[min(42rem,90dvh)] max-w-2xl flex-col overflow-hidden p-0`,children:[J,Y,Z]}),t[58]=J,t[59]=Y,t[60]=Z,t[61]=Q):Q=t[61];let re;return t[62]!==n||t[63]!==U||t[64]!==Q?(re=(0,$.jsx)(C,{open:n,onOpenChange:U,children:Q}),t[62]=n,t[63]=U,t[64]=Q,t[65]=re):re=t[65],re}export{xe as ProjectDialogFooter,Se as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{x as e}from"./dist-v_MvKS2-.js";import{Z as t}from"./store-W78TGOIO.js";import{
|
|
2
|
-
`);i=o.pop()??``;for(let e of o){let n=e.trim();if(n)try{await t(JSON.parse(n),n)}catch{await t(n,n)}}}if(i.trim())try{await t(JSON.parse(i),i)}catch{await t(i,i)}}finally{n.releaseLock()}}async function m(e,t){await p(e,e=>{if(typeof e==`string`){t.onOutput(e);return}if(!e||typeof e!=`object`)return;let n=e;n.type===`error`&&typeof n.message==`string`&&t.onError(n.message)})}function h(e,t,n){return JSON.stringify([{type:`tool_use`,name:`bash`,id:t,input:e===null?{}:{command:e},...n?.displayName?{displayName:n.displayName}:{},...n?.activeDisplayName?{activeDisplayName:n.activeDisplayName}:{}}])}function g(e,t,n,r){return JSON.stringify([{type:`tool-result`,toolCallId:e,toolName:`bash`,content:t,isError:n,...r?.displayName?{displayName:r.displayName}:{},...r?.activeDisplayName?{activeDisplayName:r.activeDisplayName}:{}}])}function _(e,t,n,r,i){return e+g(t,n,r,i)}function v(e,t){return e+JSON.stringify([{type:`text`,text:t}])}function y(e){return{messageId:e.messageId,sender:`agent`,content:h(e.command,e.toolCallId,e.labels),contentType:`markdown`,timestamp:new Date().toISOString(),isThinking:!1}}var b={create:`Creating workspace`,delete:`Deleting thread`},x={create:`Created thread`,delete:`Deleted thread`},S={create:`Thread creation failed`,delete:`Thread deletion failed`},C={webapp:`Creating app`,clone:`Cloning repository`,folder:`Creating project`,zip:`Creating project from zip`},w={webapp:`App creation failed`,clone:`Clone failed`,folder:`Project creation failed`,zip:`Project creation failed`};function T(e){return e?.kind===`create`||e?.kind===`create-project`}function E(e){return e.mode??`webapp`}function D(e){return e.kind===`create-project`?C[E(e)]:b[e.kind]}function O(e){return e.kind===`create-project`?w[E(e)]:S[e.kind]}function k(e){return{displayName:D(e),activeDisplayName:D(e)}}function A(e,t){return t?`The branch I created is ${t} and I'm ready to start working on ${e}.`:`I'm ready to start working on ${e}.`}function j(e,t){let n=`thread-${e}-${t.threadId}`;return{kind:e,...e===`create-project`?{mode:t.mode??`webapp`}:{},threadId:t.threadId,projectId:t.projectId,projectName:t.projectName,toolCallId:n,messageId:`msg-${n}`}}function M(e){return j(`create`,e)}function N(e){return j(`delete`,e)}function P(e){return j(`create-project`,e)}function F(e){return y({messageId:e.messageId,command:e.projectName,toolCallId:e.toolCallId,labels:k(e)})}function I(e,n,r){e({type:t.SetThreadToolSession,session:n}),e({type:t.UpdateToolExecutionOutput,toolCallId:n.toolCallId,threadId:n.threadId,toolName:`bash`,executionOutput:r})}function L(e,n,r){e({type:t.SetThreadToolSession,session:n}),e({type:t.SelectThread,threadId:n.threadId,projectId:n.projectId,focusInput:!0}),e({type:t.SetMessages,messages:[F(n)]}),I(e,n,r)}function R(e,n,r){e({type:t.AddMessage,message:F(n),threadId:n.threadId}),I(e,n,r)}function z(e,n,r,i){i&&e({type:t.AppendToolExecutionOutput,toolCallId:n,threadId:r,toolName:`bash`,delta:i})}function B(e,n,r,i){let a=i?.isError===!0,o=T(n),s={displayName:a?O(n):o?x.create:x.delete,activeDisplayName:D(n)},c=_(h(n.projectName,n.toolCallId,s),n.toolCallId,r,a,s);o&&!a&&(c=v(c,A(n.projectName,n.kind===`create`?i?.branch:void 0))),e({type:t.UpdateMessage,messageId:n.messageId,threadId:n.threadId,content:c}),o&&!a&&e({type:t.SetThreadCreationSummary,threadId:n.threadId,message:{...F(n),content:c}}),e({type:t.ClearToolCallProgress,toolCallId:n.toolCallId}),e({type:t.ClearThreadToolSession,threadId:n.threadId})}var V=e(`app.workspace-creation-bound`);function H(e){let{projectId:t,controller:n,outcome:r,onTimeout:i}=e,a,o,l=!1,u=0;function d(){l=!0,a!==void 0&&clearTimeout(a),o!==void 0&&clearTimeout(o)}function f(e){a=setTimeout(function(){if(a=void 0,r.settled){V.warn(`Workspace creation settled just past its bound`,{projectId:t}),o=setTimeout(function(){V.error(`Workspace creation stayed unreported past its bound`,{projectId:t}),r.abandoned=!0,e(r.settled?.threadId)},c);return}V.error(`Workspace creation timed out`,{projectId:t}),r.abandoned=!0,n.abort(),i(),e(void 0)},s)}let p,m=!1;function h(){l||m||a===void 0||!p||Date.now()-u>=18e5||(clearTimeout(a),p())}function g(){l||m||a===void 0||(m=!0,clearTimeout(a),a=void 0)}function _(){!l&&m&&p&&(m=!1,p())}let v=!1;function y(e){if(v)throw Error(`A creation bound bounds exactly one creation`);return v=!0,new Promise(function(t){u=Date.now(),p=function(){f(t)},f(t),e().then(function(e){d(),t(e)},function(){d(),t(void 0)})})}return{noteProgress:h,pause:g,resume:_,run:y}}var U=e(`app.create-project-workspace`);function W(e){return JSON.stringify([e.title??null,e.sourceThreadId??null,e.remoteMachineId??null])}function G(e,t){return JSON.stringify([e,t])}var K=new Map;function q(e){let{projectId:t}=e,n=G(t,W(e)),r=K.get(n);if(r)return U.debug(`Joining the workspace creation already in flight`,{projectId:t}),J(r.state,e),r.creation;let i=new AbortController,a={session:null,output:``,starter:e.background?null:e.dispatch,joiners:[],settled:null,abandoned:!1},o=H({projectId:t,controller:i,outcome:a,onTimeout:function(){Y(e,a),X(e)}}),s=o.run(function(){return Q(e,i.signal,a,o)});K.set(n,{creation:s,state:a});let c=function(){K.get(n)?.creation===s&&K.delete(n)};return s.then(c,c),s}function J(e,t){t.background||e.settled||e.abandoned||(t.onThreadCreateStart?.(t.projectId),!(t.dispatch===e.starter||e.joiners.includes(t.dispatch))&&(e.joiners.push(t.dispatch),e.session&&L(t.dispatch,e.session,e.output)))}function Y(e,n){let r=new Set(n.joiners);e.background||r.add(e.dispatch);for(let n of r)n({type:t.SelectProject,projectId:e.projectId})}function X(e){let t=e.title??Z(e.project);e.toast({title:`Workspace creation timed out`,description:`"${t}" took too long and may still appear in the sidebar. Check there before creating it again.`,variant:`destructive`}),e.refreshProjects().catch(function(t){U.warn(`Failed to refresh projects after a workspace creation timed out`,{projectId:e.projectId,err:t})})}function Z(e){let t=/^thread-(\d+)$/i,n=0;for(let r of e?.threads.map(e=>e.title)??[]){let e=r.match(t);e&&(n=Math.max(n,parseInt(e[1],10)))}return`thread-${n+1}`}async function Q(e,
|
|
1
|
+
import{x as e}from"./dist-v_MvKS2-.js";import{Z as t}from"./store-W78TGOIO.js";import{E as n,tn as r,zt as i}from"./api-Cp9I7CxD.js";import{p as a}from"./utils-CqsIXqSC.js";import{n as o}from"./terminal-output-activity-D_FxlE-L.js";var s=12e4,c=15e3,l=e(`remote-thread-snapshots`),u=null;async function d(e){return u||(u=f(e).finally(function(){u=null}),u)}async function f(e){try{let n=await i();if(n.length===0)return;e({type:t.MergeRemoteThreadSnapshots,snapshots:n})}catch(e){l.warn(`Remote thread snapshot refresh failed`,{error:String(e)})}}async function p(e,t){let n=e.getReader(),r=new TextDecoder,i=``;try{for(;;){let{done:e,value:a}=await n.read();if(e)break;i+=r.decode(a,{stream:!0});let o=i.split(`
|
|
2
|
+
`);i=o.pop()??``;for(let e of o){let n=e.trim();if(n)try{await t(JSON.parse(n),n)}catch{await t(n,n)}}}if(i.trim())try{await t(JSON.parse(i),i)}catch{await t(i,i)}}finally{n.releaseLock()}}async function m(e,t){await p(e,e=>{if(typeof e==`string`){t.onOutput(e);return}if(!e||typeof e!=`object`)return;let n=e;n.type===`error`&&typeof n.message==`string`&&t.onError(n.message)})}function h(e,t,n){return JSON.stringify([{type:`tool_use`,name:`bash`,id:t,input:e===null?{}:{command:e},...n?.displayName?{displayName:n.displayName}:{},...n?.activeDisplayName?{activeDisplayName:n.activeDisplayName}:{}}])}function g(e,t,n,r){return JSON.stringify([{type:`tool-result`,toolCallId:e,toolName:`bash`,content:t,isError:n,...r?.displayName?{displayName:r.displayName}:{},...r?.activeDisplayName?{activeDisplayName:r.activeDisplayName}:{}}])}function _(e,t,n,r,i){return e+g(t,n,r,i)}function v(e,t){return e+JSON.stringify([{type:`text`,text:t}])}function y(e){return{messageId:e.messageId,sender:`agent`,content:h(e.command,e.toolCallId,e.labels),contentType:`markdown`,timestamp:new Date().toISOString(),isThinking:!1}}var b={create:`Creating workspace`,delete:`Deleting thread`},x={create:`Created thread`,delete:`Deleted thread`},S={create:`Thread creation failed`,delete:`Thread deletion failed`},C={webapp:`Creating app`,clone:`Cloning repository`,folder:`Creating project`,zip:`Creating project from zip`},w={webapp:`App creation failed`,clone:`Clone failed`,folder:`Project creation failed`,zip:`Project creation failed`};function T(e){return e?.kind===`create`||e?.kind===`create-project`}function E(e){return e.mode??`webapp`}function D(e){return e.kind===`create-project`?C[E(e)]:b[e.kind]}function O(e){return e.kind===`create-project`?w[E(e)]:S[e.kind]}function k(e){return{displayName:D(e),activeDisplayName:D(e)}}function A(e,t){return t?`The branch I created is ${t} and I'm ready to start working on ${e}.`:`I'm ready to start working on ${e}.`}function j(e,t){let n=`thread-${e}-${t.threadId}`;return{kind:e,...e===`create-project`?{mode:t.mode??`webapp`}:{},threadId:t.threadId,projectId:t.projectId,projectName:t.projectName,toolCallId:n,messageId:`msg-${n}`}}function M(e){return j(`create`,e)}function N(e){return j(`delete`,e)}function P(e){return j(`create-project`,e)}function F(e){return y({messageId:e.messageId,command:e.projectName,toolCallId:e.toolCallId,labels:k(e)})}function I(e,n,r){e({type:t.SetThreadToolSession,session:n}),e({type:t.UpdateToolExecutionOutput,toolCallId:n.toolCallId,threadId:n.threadId,toolName:`bash`,executionOutput:r})}function L(e,n,r){e({type:t.SetThreadToolSession,session:n}),e({type:t.SelectThread,threadId:n.threadId,projectId:n.projectId,focusInput:!0}),e({type:t.SetMessages,messages:[F(n)]}),I(e,n,r)}function R(e,n,r){e({type:t.AddMessage,message:F(n),threadId:n.threadId}),I(e,n,r)}function z(e,n,r,i){i&&e({type:t.AppendToolExecutionOutput,toolCallId:n,threadId:r,toolName:`bash`,delta:i})}function B(e,n,r,i){let a=i?.isError===!0,o=T(n),s={displayName:a?O(n):o?x.create:x.delete,activeDisplayName:D(n)},c=_(h(n.projectName,n.toolCallId,s),n.toolCallId,r,a,s);o&&!a&&(c=v(c,A(n.projectName,n.kind===`create`?i?.branch:void 0))),e({type:t.UpdateMessage,messageId:n.messageId,threadId:n.threadId,content:c}),o&&!a&&e({type:t.SetThreadCreationSummary,threadId:n.threadId,message:{...F(n),content:c}}),e({type:t.ClearToolCallProgress,toolCallId:n.toolCallId}),e({type:t.ClearThreadToolSession,threadId:n.threadId})}var V=e(`app.workspace-creation-bound`);function H(e){let{projectId:t,controller:n,outcome:r,onTimeout:i}=e,a,o,l=!1,u=0;function d(){l=!0,a!==void 0&&clearTimeout(a),o!==void 0&&clearTimeout(o)}function f(e){a=setTimeout(function(){if(a=void 0,r.settled){V.warn(`Workspace creation settled just past its bound`,{projectId:t}),o=setTimeout(function(){V.error(`Workspace creation stayed unreported past its bound`,{projectId:t}),r.abandoned=!0,e(r.settled?.threadId)},c);return}V.error(`Workspace creation timed out`,{projectId:t}),r.abandoned=!0,n.abort(),i(),e(void 0)},s)}let p,m=!1;function h(){l||m||a===void 0||!p||Date.now()-u>=18e5||(clearTimeout(a),p())}function g(){l||m||a===void 0||(m=!0,clearTimeout(a),a=void 0)}function _(){!l&&m&&p&&(m=!1,p())}let v=!1;function y(e){if(v)throw Error(`A creation bound bounds exactly one creation`);return v=!0,new Promise(function(t){u=Date.now(),p=function(){f(t)},f(t),e().then(function(e){d(),t(e)},function(){d(),t(void 0)})})}return{noteProgress:h,pause:g,resume:_,run:y}}var U=e(`app.create-project-workspace`);function W(e){return JSON.stringify([e.title??null,e.sourceThreadId??null,e.remoteMachineId??null])}function G(e,t){return JSON.stringify([e,t])}var K=new Map;function q(e){let{projectId:t}=e,n=G(t,W(e)),r=K.get(n);if(r)return U.debug(`Joining the workspace creation already in flight`,{projectId:t}),J(r.state,e),r.creation;let i=new AbortController,a={session:null,output:``,starter:e.background?null:e.dispatch,joiners:[],settled:null,abandoned:!1},o=H({projectId:t,controller:i,outcome:a,onTimeout:function(){Y(e,a),X(e)}}),s=o.run(function(){return Q(e,i.signal,a,o)});K.set(n,{creation:s,state:a});let c=function(){K.get(n)?.creation===s&&K.delete(n)};return s.then(c,c),s}function J(e,t){t.background||e.settled||e.abandoned||(t.onThreadCreateStart?.(t.projectId),!(t.dispatch===e.starter||e.joiners.includes(t.dispatch))&&(e.joiners.push(t.dispatch),e.session&&L(t.dispatch,e.session,e.output)))}function Y(e,n){let r=new Set(n.joiners);e.background||r.add(e.dispatch);for(let n of r)n({type:t.SelectProject,projectId:e.projectId})}function X(e){let t=e.title??Z(e.project);e.toast({title:`Workspace creation timed out`,description:`"${t}" took too long and may still appear in the sidebar. Check there before creating it again.`,variant:`destructive`}),e.refreshProjects().catch(function(t){U.warn(`Failed to refresh projects after a workspace creation timed out`,{projectId:e.projectId,err:t})})}function Z(e){let t=/^thread-(\d+)$/i,n=0;for(let r of e?.threads.map(e=>e.title)??[]){let e=r.match(t);e&&(n=Math.max(n,parseInt(e[1],10)))}return`thread-${n+1}`}async function Q(e,i,s,c){let{projectId:l,title:u,project:d,dispatch:f,toast:m,refreshProjects:h,onThreadCreateStart:g,sourceThreadId:_,background:v}=e;function y(e,n){o(),f({type:t.AppendTerminalLine,threadId:n,line:e})}function b(){for(let e of s.joiners)e({type:t.SelectProject,projectId:l})}try{let o=d?a(d):`project`;g?.(l);let x=u??Z(d),S=await n(l,u,{sourceThreadId:_,branchName:e.branchName,remoteMachineId:e.remoteMachineId,signal:i});if(!S){if(s.abandoned)return;b(),await h().catch(e=>{U.warn(`Failed to refresh projects after an empty thread creation`,{projectId:l,err:e})});return}let C=!0,w,T=`Creating workspace "${x}"...`,E=[{type:`system`,content:T}];s.output=`${T}\n`;function D(e,t){let n={type:t,content:e};s.output+=`${e}\n`;let r=s.session;if(!r){E.push(n);return}y(n,r.threadId),z(f,r.toolCallId,r.threadId,`${e}\n`)}function O(e){f({type:t.AddCreatingThread,projectId:l,threadId:e,title:x}),f({type:t.AddProcessingThread,threadId:e}),f({type:t.ClearTerminalOutput,threadId:e});for(let t of E)y(t,e);E.length=0;let n=M({threadId:e,projectId:l,projectName:o});s.session=n,v||L(f,n,s.output);for(let e of s.joiners)L(e,n,s.output)}let k=!1;function A(e){let t=e.heartbeat===!0,n=t&&k;return k=t,n}function j(e){!s.session&&typeof e.threadId==`string`&&O(e.threadId),c.noteProgress(),A(e)||D(typeof e.message==`string`?e.message:``,`output`)}function N(e){f({type:t.RemoveCreatingThread,projectId:l,threadId:e}),v||f({type:t.SelectProject,projectId:l})}function P(){U.debug(`Workspace creation abandoned after timeout`,{projectId:l});let e=s.session;e&&(B(f,e,s.output,{isError:!0}),f({type:t.RemoveProcessingThread,threadId:e.threadId}),f({type:t.RemoveCreatingThread,projectId:l,threadId:e.threadId}))}function F(e){let n=e instanceof Error?e.message:String(e);s.settled={threadId:void 0};let r=s.session;r&&(D(`Error: ${n}`,`error`),B(f,r,s.output,{isError:!0}),f({type:t.RemoveProcessingThread,threadId:r.threadId}),N(r.threadId)),b(),m({title:`Thread Creation Failed`,description:n,variant:`destructive`})}function I(){if(s.abandoned){P();return}let e=s.session;return e&&(B(f,e,s.output,{branch:w,isError:!C}),f({type:t.RemoveProcessingThread,threadId:e.threadId}),C||N(e.threadId)),C||b(),s.settled={threadId:C?s.session?.threadId:void 0},s.settled.threadId}function R(e){let t=e.thread,n=t?.threadId??t?.id;!s.session&&typeof n==`string`&&O(n),typeof t?.currentBranch==`string`&&(w=t.currentBranch)}function V(e){let t=typeof e.message==`string`?e.message:`Unknown error`;D(`Error: ${t}`,`error`),U.error(`Thread creation error:`,t),m({title:`Thread Creation Failed`,description:t,variant:`destructive`}),C=!1}let H=!1;function W(){H&&(H=!1,f({type:t.SetGitAuthRequest,request:null}),c.resume())}function G(e){let n=e.auth;n&&(H=!0,c.pause(),f({type:t.SetGitAuthRequest,request:n}))}function K(e){if(!e||typeof e!=`object`){typeof e==`string`&&U.error(`Failed to parse thread event`,e);return}let t=e;if(t.type===`auth_required`){G(t);return}W(),t.type===`progress`?j(t):t.type===`complete`?R(t):t.type===`error`&&V(t)}try{await p(S,K),W()}catch(e){if(W(),s.abandoned){P();return}F(e);return}let q=I();if(s.abandoned)return;r();try{await h()}catch(e){U.warn(`Failed to refresh projects after a workspace creation`,{projectId:l,err:e})}return q}catch(e){if(s.abandoned){U.debug(`Workspace creation request aborted after timeout`,{projectId:l});return}U.error(`Failed to create thread:`,e),b();let t=`Failed to create thread: ${e instanceof Error?e.message:`Unknown error`}`;y({type:`error`,content:t}),m({variant:`destructive`,title:`Thread Creation Failed`,description:t});return}}export{F as a,L as c,h as d,y as f,d as h,N as i,R as l,m,z as n,B as o,p,P as r,T as s,q as t,_ as u};
|
package/dist/public/assets/{create-repo-dialog-gw-8Rpdm.js → create-repo-dialog-B_QiEz-v.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./react-vendor-D61Uve5n.js";import{a as n,i as r,o as i,r as a,s as o,t as s}from"./dialog-D_12AsZd.js";import{t as c}from"./button-DDaJhJP1.js";import{t as l}from"./label-BCs5CZEs.js";import{gn as u,hn as d}from"./index-
|
|
1
|
+
import{n as e,t}from"./react-vendor-D61Uve5n.js";import{a as n,i as r,o as i,r as a,s as o,t as s}from"./dialog-D_12AsZd.js";import{t as c}from"./button-DDaJhJP1.js";import{t as l}from"./label-BCs5CZEs.js";import{gn as u,hn as d}from"./index-CcAwxnT5.js";import{t as f}from"./pill-tabs-BAhOHad7.js";var p=e(),m=t();function h(e){let t=(0,p.c)(39),{open:h,onOpenChange:g,repoName:_,onRepoNameChange:v,repoDescription:y,onRepoDescriptionChange:b,isPrivateRepo:x,onPrivateRepoChange:S,isLoading:C,onCreateRepo:w}=e,T;t[0]!==g||t[1]!==b||t[2]!==v?(T=e=>{e||(v(``),b(``)),g(e)},t[0]=g,t[1]=b,t[2]=v,t[3]=T):T=t[3];let E;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,m.jsxs)(i,{children:[(0,m.jsx)(o,{children:`Create GitHub Repository`}),(0,m.jsx)(r,{children:`Create a new GitHub repository and push your local repository`})]}),t[4]=E):E=t[4];let D;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,m.jsx)(l,{htmlFor:`repo-name`,children:`Repository Name (optional)`}),t[5]=D):D=t[5];let O;t[6]===v?O=t[7]:(O=e=>v(e.target.value),t[6]=v,t[7]=O);let k;t[8]!==_||t[9]!==O?(k=(0,m.jsxs)(`div`,{className:`grid gap-2`,children:[D,(0,m.jsx)(u,{id:`repo-name`,placeholder:`Leave empty to use current folder name`,value:_,onChange:O})]}),t[8]=_,t[9]=O,t[10]=k):k=t[10];let A;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,m.jsx)(l,{htmlFor:`repo-description`,children:`Description (optional)`}),t[11]=A):A=t[11];let j;t[12]===b?j=t[13]:(j=e=>b(e.target.value),t[12]=b,t[13]=j);let M;t[14]!==y||t[15]!==j?(M=(0,m.jsxs)(`div`,{className:`grid gap-2`,children:[A,(0,m.jsx)(d,{id:`repo-description`,placeholder:`Enter repository description...`,value:y,onChange:j,rows:3})]}),t[14]=y,t[15]=j,t[16]=M):M=t[16];let N;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,m.jsx)(l,{children:`Visibility`}),t[17]=N):N=t[17];let P=x?`private`:`public`,F;t[18]===S?F=t[19]:(F=e=>S(e===`private`),t[18]=S,t[19]=F);let I;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(I=[{value:`public`,label:`Public`,tooltip:`Anyone on GitHub can see this repository`},{value:`private`,label:`Private`,tooltip:`Only you and collaborators can see this repository`}],t[20]=I):I=t[20];let L;t[21]!==P||t[22]!==F?(L=(0,m.jsxs)(`div`,{className:`grid gap-2`,children:[N,(0,m.jsx)(f,{value:P,onValueChange:F,options:I})]}),t[21]=P,t[22]=F,t[23]=L):L=t[23];let R;t[24]!==L||t[25]!==k||t[26]!==M?(R=(0,m.jsxs)(`div`,{className:`grid gap-4 py-4`,children:[k,M,L]}),t[24]=L,t[25]=k,t[26]=M,t[27]=R):R=t[27];let z=C?`Creating...`:`Create & Push`,B;t[28]!==C||t[29]!==w||t[30]!==z?(B=(0,m.jsx)(n,{children:(0,m.jsx)(c,{onClick:w,disabled:C,children:z})}),t[28]=C,t[29]=w,t[30]=z,t[31]=B):B=t[31];let V;t[32]!==R||t[33]!==B?(V=(0,m.jsxs)(a,{children:[E,R,B]}),t[32]=R,t[33]=B,t[34]=V):V=t[34];let H;return t[35]!==h||t[36]!==T||t[37]!==V?(H=(0,m.jsx)(s,{open:h,onOpenChange:T,children:V}),t[35]=h,t[36]=T,t[37]=V,t[38]=H):H=t[38],H}export{h as CreateRepoDialog};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{U as i,x as a}from"./dist-v_MvKS2-.js";import{B as o,Z as s,n as c,r as l,z as u}from"./store-W78TGOIO.js";import{T as d}from"./chat-handlers-context-DYU2LQ5V.js";import{Ir as f,Pr as p,Q as m,at as h,hr as g,qr as _,qt as v}from"./api-Cp9I7CxD.js";import{t as y}from"./utils-CqsIXqSC.js";import{t as b}from"./chevron-right-Dga3q1bZ.js";import{t as x}from"./external-link-Dcikmdm_.js";import{a as S,c as C,l as w,o as T,r as E,s as D,t as O}from"./dialog-D_12AsZd.js";import{t as k}from"./rotate-ccw-Dthg8Pv6.js";import{t as A}from"./x-ByOPrz5I.js";import{t as j}from"./button-DDaJhJP1.js";import{i as M,n as N,t as P}from"./tooltip-CqwCZ7wt.js";import{n as F}from"./scroll-area-DGF9wUqQ.js";import{n as I}from"./explorer-tab-context-BwR8CM8l.js";import{t as L}from"./use-open-chat-dock-panel-CXzpgxVs.js";import{t as R}from"./progress-indicator-hJ74ac5W.js";import{n as z}from"./suspense-resource-DzlMlIgR.js";import{t as B}from"./use-suspense-resource-uCX26gOk.js";import{c as V}from"./explorer-file-drop-DAP7ha-E.js";import{$n as H,At as U,C as W,Gt as ee,Jn as te,Jt as ne,Kt as re,Lt as ie,P as ae,Sr as G,T as oe,Ut as se,Wt as ce,Xt as le,cr as K,hn as q,jt as ue,k as de,kt as fe,lr as pe,qn as J,ur as me}from"./index-CcAwxnT5.js";import{t as he}from"./async-error-boundary-CFVUPiuG.js";import{s as Y}from"./monaco-CWuJkPco.js";import{n as ge}from"./monaco-setup-B4buJsSY.js";var X=e(n(),1),Z=t(),Q=r();function _e(e){let t=(0,Z.c)(12),{children:n,title:r,subtitle:a,headerAction:o,footer:s}=e,c;t[0]!==o||t[1]!==a||t[2]!==r?(c=(r||a||o)&&(0,Q.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-1 border-b border-sidebar-border px-4 py-6`,children:[(r||o)&&(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsx)(`div`,{className:`flex items-center gap-2`,children:r&&(0,Q.jsx)(`span`,{className:i.sectionTitle,children:r})}),o&&(0,Q.jsx)(`div`,{className:`flex items-center gap-2 ml-auto`,children:o})]}),a]}),t[0]=o,t[1]=a,t[2]=r,t[3]=c):c=t[3];let l;t[4]===n?l=t[5]:(l=(0,Q.jsx)(F,{className:`min-h-0 flex-1`,children:n}),t[4]=n,t[5]=l);let u;t[6]===s?u=t[7]:(u=s&&(0,Q.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,Q.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 ve(e){let t=(0,Z.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;t[0]!==a||t[1]!==u||t[2]!==n.id||t[3]!==c?(f=u?.has(n.id)||(c[n.id]??a),t[0]=a,t[1]=u,t[2]=n.id,t[3]=c,t[4]=f):f=t[4];let p=f,m;t[5]!==n.id||t[6]!==l?(m=()=>l(n.id),t[5]=n.id,t[6]=l,t[7]=m):m=t[7];let h=m,g;t[8]!==d||t[9]!==p||t[10]!==r||t[11]!==n||t[12]!==i||t[13]!==h?(g=i(n,{isOpen:p,level:r,toggle:h,hasChildren:d}),t[8]=d,t[9]=p,t[10]=r,t[11]=n,t[12]=i,t[13]=h,t[14]=g):g=t[14];let _;t[15]!==s||t[16]!==a||t[17]!==u||t[18]!==d||t[19]!==o||t[20]!==p||t[21]!==r||t[22]!==n.children||t[23]!==l||t[24]!==c||t[25]!==i?(_=d&&p&&(0,Q.jsx)(`div`,{style:{paddingLeft:o},className:s,children:n.children.map(e=>(0,Q.jsx)(ve,{node:e,level:r+1,renderNode:i,defaultOpen:a,indent:o,childContainerClassName:s,openState:c,onToggle:l,forceOpenIds:u},e.id))}),t[15]=s,t[16]=a,t[17]=u,t[18]=d,t[19]=o,t[20]=p,t[21]=r,t[22]=n.children,t[23]=l,t[24]=c,t[25]=i,t[26]=_):_=t[26];let v;return t[27]!==g||t[28]!==_?(v=(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[g,_]}),t[27]=g,t[28]=_,t[29]=v):v=t[29],v}function ye(e){let t=(0,Z.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&&a,f=c===void 0?16:c,p;t[0]===s?p=t[1]:(p=()=>{let e={};if(s)for(let t of s)e[t]=!0;return e},t[0]=s,t[1]=p);let[m,h]=(0,X.useState)(p),[g,_]=(0,X.useState)(i);if(i!==g){_(i);let e={};if(s)for(let t of s)e[t]=!0;h(e)}let v;t[2]===o?v=t[3]:(v=o?new Set(o):void 0,t[2]=o,t[3]=v);let b=v,x,S;t[4]===o?(x=t[5],S=t[6]):(x=()=>{o?.length&&h(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,X.useEffect)(x,S);let C;t[7]===d?C=t[8]:(C=e=>{h(t=>({...t,[e]:!(t[e]??d)}))},t[7]=d,t[8]=C);let w=C,T;t[9]===u?T=t[10]:(T=y(`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]!==m||t[18]!==r){let e;t[20]!==l||t[21]!==d||t[22]!==b||t[23]!==w||t[24]!==f||t[25]!==m||t[26]!==r?(e=e=>(0,Q.jsx)(ve,{node:e,level:0,renderNode:r,defaultOpen:d,indent:f,childContainerClassName:l,openState:m,onToggle:w,forceOpenIds:b},e.id),t[20]=l,t[21]=d,t[22]=b,t[23]=w,t[24]=f,t[25]=m,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]=m,t[18]=r,t[19]=E}else E=t[19];let D;return t[28]!==T||t[29]!==E?(D=(0,Q.jsx)(`div`,{className:T,children:E}),t[28]=T,t[29]=E,t[30]=D):D=t[30],D}function be(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 xe={added:`text-green-500`,deleted:`text-red-500`,untracked:`text-green-500`,renamed:`text-blue-500`,modified:`text-orange-500`},Se={added:`A`,deleted:`D`,untracked:`U`,renamed:`R`,modified:`M`};function Ce(e){return y(y(i.compact,`status-badge font-mono font-semibold`),xe[e]??`text-orange-500`)}function we(e){return Se[e]??`M`}function Te(e){let t=(0,Z.c)(22),{treeData:n,files:r,error:a,selectedFileIndex:o,onFileSelect:s,onRevertFile:c}=e,{setStats:l}=oe(),u;t[0]===r?u=t[1]:(u=r.reduce(ke,0),t[0]=r,t[1]=u);let d=u,f;t[2]===r?f=t[3]:(f=r.reduce(Ee,0),t[2]=r,t[3]=f);let p=f,m,h;if(t[4]!==r.length||t[5]!==l||t[6]!==d||t[7]!==p?(m=()=>{l({fileCount:r.length,additions:d,deletions:p})},h=[r.length,d,p,l],t[4]=r.length,t[5]=l,t[6]=d,t[7]=p,t[8]=m,t[9]=h):(m=t[8],h=t[9]),(0,X.useEffect)(m,h),a){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=y(i.compact,`text-destructive text-center`),t[10]=e):e=t[10];let n;return t[11]===a?n=t[12]:(n=(0,Q.jsx)(_e,{children:(0,Q.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,Q.jsx)(`p`,{className:e,children:a})})}),t[11]=a,t[12]=n),n}if(r.length===0){let e;return t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(_e,{children:(0,Q.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 pt-7 pb-2`,children:(0,Q.jsx)(`p`,{className:y(i.compact,i.bodyMuted,`text-center`),children:`No changes to review`})})}),t[13]=e):e=t[13],e}let g;t[14]!==r||t[15]!==s||t[16]!==c||t[17]!==o?(g=(e,t)=>{let{isOpen:n,toggle:a}=t,l=!!e.children,u=!l&&e.fileIndex===o,d=(0,Q.jsxs)(se,{onClick:()=>{l?a():e.fileIndex!==void 0&&s(e.fileIndex)},selected:u,className:y(i.conversationBody,`gap-1.5`),children:[l?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(b,{className:y(`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform`,n&&`rotate-90`)}),n?(0,Q.jsx)(pe,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}):(0,Q.jsx)(K,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}):(0,Q.jsx)(me,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,Q.jsx)(`span`,{className:`truncate flex-1 min-w-0`,children:e.name}),!l&&e.status&&(0,Q.jsx)(`span`,{className:Ce(e.status),children:we(e.status)})]});return l?d:(0,Q.jsxs)(ce,{children:[(0,Q.jsx)(ne,{asChild:!0,children:(0,Q.jsx)(`div`,{children:d})}),(0,Q.jsx)(ee,{children:(0,Q.jsxs)(re,{onClick:()=>{e.fileIndex!==void 0&&c?.(r[e.fileIndex])},children:[(0,Q.jsx)(k,{className:`mr-2 h-3.5 w-3.5`}),`Revert Change`]})})]})},t[14]=r,t[15]=s,t[16]=c,t[17]=o,t[18]=g):g=t[18];let _;return t[19]!==g||t[20]!==n?(_=(0,Q.jsx)(_e,{children:(0,Q.jsx)(`div`,{className:`px-1 pt-3 pb-2`,children:(0,Q.jsx)(ye,{nodes:n,defaultOpen:!0,indent:16,childContainerClassName:`ml-4 border-l border-sidebar-border pl-2`,renderNode:g})})}),t[19]=g,t[20]=n,t[21]=_):_=t[21],_}function Ee(e,t){return e+t.hunks.reduce(De,0)}function De(e,t){return e+t.changes.filter(Oe).length}function Oe(e){return e.type===`delete`}function ke(e,t){return e+t.hunks.reduce(Ae,0)}function Ae(e,t){return e+t.changes.filter(je).length}function je(e){return e.type===`add`}function Me(e){let t=(0,Z.c)(36),{open:n,lineNumber:r,lineContent:a,initialComment:o,isEditing:s,onSave:c,onDelete:l,onClose:u}=e,[d,f]=(0,X.useState)((o===void 0?``:o)??``),p;t[0]!==c||t[1]!==d?(p=()=>{d.trim()&&c(d.trim())},t[0]=c,t[1]=d,t[2]=p):p=t[2];let m=p,h;t[3]===m?h=t[4]:(h=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),m())},t[3]=m,t[4]=h);let g=h,_;t[5]===u?_=t[6]:(_=e=>{e||u()},t[5]=u,t[6]=_);let v;t[7]===r?v=t[8]:(v=(0,Q.jsx)(T,{children:(0,Q.jsxs)(D,{children:[`Comment on line `,r]})}),t[7]=r,t[8]=v);let b;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=y(i.compact,`font-mono rounded bg-muted px-3 py-2 text-muted-foreground overflow-x-auto whitespace-pre`),t[9]=b):b=t[9];let x=a||` `,C;t[10]===x?C=t[11]:(C=(0,Q.jsx)(`div`,{className:b,children:x}),t[10]=x,t[11]=C);let w;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>f(e.target.value),t[12]=w):w=t[12];let k;t[13]!==g||t[14]!==d?(k=(0,Q.jsx)(q,{autoFocus:!0,placeholder:`Add a comment... (Cmd+Enter to save)`,value:d,onChange:w,onKeyDown:g,rows:12,className:`resize-none text-base`}),t[13]=g,t[14]=d,t[15]=k):k=t[15];let A;t[16]!==s||t[17]!==l?(A=s&&l&&(0,Q.jsx)(j,{variant:`destructive`,size:`sm`,onClick:l,className:`mr-auto`,children:`Delete`}),t[16]=s,t[17]=l,t[18]=A):A=t[18];let M;t[19]===d?M=t[20]:(M=d.trim(),t[19]=d,t[20]=M);let N=!M,P;t[21]!==m||t[22]!==N?(P=(0,Q.jsx)(j,{size:`sm`,onClick:m,disabled:N,children:`Save`}),t[21]=m,t[22]=N,t[23]=P):P=t[23];let F;t[24]!==A||t[25]!==P?(F=(0,Q.jsxs)(S,{className:`gap-2 sm:gap-0`,children:[A,P]}),t[24]=A,t[25]=P,t[26]=F):F=t[26];let I;t[27]!==k||t[28]!==F||t[29]!==v||t[30]!==C?(I=(0,Q.jsxs)(E,{className:`max-w-2xl`,children:[v,C,k,F]}),t[27]=k,t[28]=F,t[29]=v,t[30]=C,t[31]=I):I=t[31];let L;return t[32]!==n||t[33]!==I||t[34]!==_?(L=(0,Q.jsx)(O,{open:n,onOpenChange:_,children:I}),t[32]=n,t[33]=I,t[34]=_,t[35]=L):L=t[35],L}function Ne(e){let t=c(),n=l(e=>e.diffComments),r=(0,X.useMemo)(()=>n[e]??[],[n,e]),i=(0,X.useCallback)(r=>{let i=n[e]??[],a=typeof r==`function`?r(i):r;t({type:s.SetDiffComments,threadId:e,comments:a})},[t,e,n]),a=(0,X.useRef)(!1);return(0,X.useEffect)(()=>{if((n[e]??[]).length>0){a.current=!0;return}v(e).then(n=>{n.diffComments&&n.diffComments.length>0&&t({type:s.SetDiffComments,threadId:e,comments:n.diffComments}),a.current=!0}).catch(()=>{a.current=!0})},[e]),(0,X.useEffect)(()=>{a.current&&g(e,{diffComments:r}).catch(()=>{})},[e,r]),{comments:r,setComments:i}}function Pe(e,t){return`git-diff:${e}:${t}`}function Fe(e){return e===`dark`?`vs-dark`:`vs-light`}function Ie(e){return y(`bg-transparent`,e&&`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`)}function Le(e){return y(`flex items-center gap-2`,e?`ml-0`:`ml-auto`,`md:ml-auto`)}function Re(){return Error(`Loading review changes timed out. Please try again.`)}async function ze(e,t=15e3){return Promise.race([p(e),new Promise((e,n)=>{window.setTimeout(()=>n(Re()),t)})])}var Be=2;function Ve(e,t){return t<=0?{min:e,max:e}:{min:e,max:e+t-1}}function He(e,t){return{startLine:Math.max(1,e-Be),endLine:t+Be}}function $(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=Ve(a.oldStart,a.oldLines),o=Ve(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:He(t,n),modified:He(r,i)}}function Ue(e,t,n){if(e.length===0)return``;let r=e.endsWith(`
|
|
2
|
+
`),i=e.split(`
|
|
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
|
+
`)}function We(e){let t=$(e);return!t||t.original.startLine<=1||t.modified.startLine<=1}function Ge(e,t){return t?e-t.startLine+1:e}function Ke(e,t){return t?t.startLine+e-1:e}function qe(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 Je(e){let t=(0,Z.c)(34),{comments:n,activeCommentIndex:r,isFullView:i,selectedFileIndex:a,files:o,selectedFile:s,onLineGutterClick:c}=e,l=(0,X.useRef)(null),u=(0,X.useRef)(n),d=(0,X.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,X.useRef)(f),m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m={original:[],modified:[]},t[4]=m):m=t[4];let h=(0,X.useRef)(m),g=(0,X.useRef)(null),_=(0,X.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,X.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,X.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,X.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:$(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=>Ge(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:Y.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}});let p=l.map(e=>{let t=Ge(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:Y.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}}}).filter(Xe);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=()=>{h.current={original:[],modified:[]};let e=setTimeout(()=>T(),150);return()=>clearTimeout(e)},t[18]=O):O=t[18];let k;t[19]===a?k=t[20]:(k=[a,T],t[19]=a,t[20]=k),(0,X.useEffect)(O,k);let A;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{T()},t[21]=A):A=t[21];let j;t[22]!==r||t[23]!==n||t[24]!==i||t[25]!==s||t[26]!==a?(j=[T,n,r,a,i,s],t[22]=r,t[23]=n,t[24]=i,t[25]=s,t[26]=a,t[27]=j):j=t[27],(0,X.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,X.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=Ye,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:$(l),f=Ke(i,d?t===`original`?d.original:d.modified:null),m=e.getModel()?.getLineContent(i)??``,h=u.current.find(e=>e.fileIndex===o&&e.lineNumber===f&&e.side===t);c({existing:h,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 Ye(e){return e===Y.MouseTargetType.GUTTER_GLYPH_MARGIN||e===Y.MouseTargetType.GUTTER_LINE_NUMBERS||e===Y.MouseTargetType.GUTTER_LINE_DECORATIONS||e===Y.MouseTargetType.GUTTER_VIEW_ZONE}function Xe(e){return e!==null}function Ze(e){let t=(0,Z.c)(6),{onRetry:n}=e,[r,a]=(0,X.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,X.useEffect)(o,s),!r){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(R,{centered:!0,label:`Loading review changes...`}),t[2]=e):e=t[2],e}let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsx)(`p`,{className:i.bodyMuted,children:`Loading review changes is taking longer than expected.`}),t[3]=c):c=t[3];let l;return t[4]===n?l=t[5]:(l=(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,Q.jsxs)(`div`,{className:`space-y-4 text-center`,children:[c,(0,Q.jsx)(j,{variant:`outline`,onClick:n,children:`Retry`})]})}),t[4]=n,t[5]=l),l}function Qe(e,t,n){return`git-media:${e}:${t}:${n}`}function $e(e,t,n){let r=(0,Z.c)(13),i;r[0]!==t||r[1]!==e||r[2]!==n?(i=Qe(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=()=>f(e,t,n),r[4]=t,r[5]=e,r[6]=n,r[7]=a):a=r[7];let o=B(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,X.useEffect)(l,u),c}function et(e){let t=(0,Z.c)(9),{threadId:n,filePath:r,version:a,label:o}=e,s=$e(n,r,a),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=y(i.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,Q.jsx)(`div`,{className:c,children:o}),t[1]=o,t[2]=l);let u=`${o} - ${r}`,d;t[3]!==s||t[4]!==u?(d=(0,Q.jsx)(`div`,{className:`flex-1 flex items-center justify-center p-4 overflow-auto bg-background`,children:(0,Q.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,Q.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 tt(e){let t=(0,Z.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,Q.jsx)(R,{centered:!0,label:`Loading before image...`}),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,Q.jsx)(`div`,{className:`flex-1 border-r border-border`,children:(0,Q.jsx)(X.Suspense,{fallback:e,children:(0,Q.jsx)(et,{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,Q.jsx)(R,{centered:!0,label:`Loading after image...`}),t[4]=o):o=t[4];let s;t[5]!==r.path||t[6]!==n?(s=(0,Q.jsx)(`div`,{className:`flex-1`,children:(0,Q.jsx)(X.Suspense,{fallback:o,children:(0,Q.jsx)(et,{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,Q.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,Q.jsx)(R,{centered:!0,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,Q.jsx)(et,{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,Q.jsx)(`div`,{className:`flex h-full flex-col`,children:(0,Q.jsx)(X.Suspense,{fallback:u,children:d})}),t[20]=u,t[21]=d,t[22]=f):f=t[22],f}function nt(e){let t=(0,Z.c)(21),{comments:n,activeCommentIndex:r,onPrevComment:a,onNextComment:o}=e,s=r??0,c=n.length===1?`1 Comment`:`Comment ${s+1} of ${n.length}`,l=s===0,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(G,{className:`h-3 w-3`}),t[0]=u):u=t[0];let d;t[1]!==a||t[2]!==l?(d=(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsx)(j,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:a,disabled:l,children:u})}),t[1]=a,t[2]=l,t[3]=d):d=t[3];let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(N,{children:`Previous comment`}),t[4]=f):f=t[4];let p;t[5]===d?p=t[6]:(p=(0,Q.jsxs)(P,{children:[d,f]}),t[5]=d,t[6]=p);let m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=y(i.caption,`whitespace-nowrap`),t[7]=m):m=t[7];let h;t[8]===c?h=t[9]:(h=(0,Q.jsx)(`span`,{className:m,children:c}),t[8]=c,t[9]=h);let g=s===n.length-1,_;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Q.jsx)(b,{className:`h-3 w-3`}),t[10]=_):_=t[10];let v;t[11]!==o||t[12]!==g?(v=(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsx)(j,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,onClick:o,disabled:g,children:_})}),t[11]=o,t[12]=g,t[13]=v):v=t[13];let x;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,Q.jsx)(N,{children:`Next comment`}),t[14]=x):x=t[14];let S;t[15]===v?S=t[16]:(S=(0,Q.jsxs)(P,{children:[v,x]}),t[15]=v,t[16]=S);let C;return t[17]!==S||t[18]!==p||t[19]!==h?(C=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p,h,S]}),t[17]=S,t[18]=p,t[19]=h,t[20]=C):C=t[20],C}function rt(e){let t=(0,Z.c)(12),{isChatOpen:n,onOpenChat:r,onCloseChat:i,focusedPane:a,conversationId:o,paneMessages:s}=e,c;t[0]!==o||t[1]!==a||t[2]!==n||t[3]!==i||t[4]!==s?(c=n&&(0,Q.jsxs)(`div`,{className:`pointer-events-auto w-[min(100%,48rem)] rounded-2xl bg-background/50 p-4 backdrop-blur-md`,children:[(0,Q.jsx)(`div`,{className:`mb-3 flex items-center justify-end`,children:(0,Q.jsxs)(j,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:i,children:[(0,Q.jsx)(A,{className:`h-4 w-4`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Close chat`})]})}),(0,Q.jsx)(d,{paneId:a,conversationId:o,children:(0,Q.jsx)(ae,{children:(0,Q.jsx)(de,{messages:s})})})]}),t[0]=o,t[1]=a,t[2]=n,t[3]=i,t[4]=s,t[5]=c):c=t[5];let l;t[6]!==n||t[7]!==r?(l=!n&&(0,Q.jsxs)(P,{children:[(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsxs)(j,{size:`icon`,className:`pointer-events-auto h-12 w-12 rounded-full shadow-lg`,onClick:r,children:[(0,Q.jsx)(H,{className:`h-5 w-5`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Open review chat`})]})}),(0,Q.jsx)(N,{children:`Chat about this diff`})]}),t[6]=n,t[7]=r,t[8]=l):l=t[8];let u;return t[9]!==c||t[10]!==l?(u=(0,Q.jsxs)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 z-20 flex flex-col items-end gap-3`,children:[c,l]}),t[9]=c,t[10]=l,t[11]=u):u=t[11],u}function it(e){let t=(0,Z.c)(10),{showTreeBackButton:n,isPanelCollapsed:r,onShowTree:i,onTogglePanel:a}=e;if(n){let e,n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(J,{className:`h-4 w-4`}),n=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Show file tree`}),t[0]=e,t[1]=n):(e=t[0],n=t[1]);let r;return t[2]===i?r=t[3]:(r=(0,Q.jsxs)(j,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:i,children:[e,n]}),t[2]=i,t[3]=r),r}let o;t[4]===r?o=t[5]:(o=r?(0,Q.jsx)(J,{className:`h-4 w-4`}):(0,Q.jsx)(te,{className:`h-4 w-4`}),t[4]=r,t[5]=o);let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Toggle file tree`}),t[6]=s):s=t[6];let c;return t[7]!==a||t[8]!==o?(c=(0,Q.jsxs)(j,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground shrink-0`,onClick:a,children:[o,s]}),t[7]=a,t[8]=o,t[9]=c):c=t[9],c}function at(e){let t=(0,Z.c)(7),{isImageFile:n,isFullView:r,onToggleFullView:a,selectedFile:o}=e;if(n)return null;let s=!o,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=y(i.compact,`h-8 gap-1 px-2`),t[0]=c):c=t[0];let l;t[1]===r?l=t[2]:(l=r?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(C,{className:`h-3 w-3`}),` Show changes only`]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(w,{className:`h-3 w-3`}),` Show full file`]}),t[1]=r,t[2]=l);let u;return t[3]!==a||t[4]!==s||t[5]!==l?(u=(0,Q.jsx)(j,{variant:`ghost`,size:`sm`,onClick:a,disabled:s,className:c,children:l}),t[3]=a,t[4]=s,t[5]=l,t[6]=u):u=t[6],u}function ot(e){let t=(0,Z.c)(7),{onOpen:n}=e,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(x,{className:`h-3.5 w-3.5`}),i=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Open in Files window`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;t[2]===n?a=t[3]:(a=(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsxs)(j,{variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0 text-muted-foreground`,onClick:n,children:[r,i]})}),t[2]=n,t[3]=a);let o;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(N,{children:`Open in Files window`}),t[4]=o):o=t[4];let s;return t[5]===a?s=t[6]:(s=(0,Q.jsxs)(P,{children:[a,o]}),t[5]=a,t[6]=s),s}function st(e){let t=(0,Z.c)(9),{selectedFile:n,onOpenInFiles:r}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=y(i.label,`text-foreground`),t[0]=a):a=t[0];let o=n?n.path:`Review Changes`,s;t[1]===o?s=t[2]:(s=(0,Q.jsx)(`span`,{className:a,children:o}),t[1]=o,t[2]=s);let c;t[3]!==r||t[4]!==n?(c=n&&(0,Q.jsx)(ot,{onOpen:r}),t[3]=r,t[4]=n,t[5]=c):c=t[5];let l;return t[6]!==s||t[7]!==c?(l=(0,Q.jsxs)(Q.Fragment,{children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8],l}function ct(e){let t=(0,Z.c)(15),{comments:n,activeCommentIndex:r,onPrevComment:a,onNextComment:o,onFixComments:s}=e;if(n.length===0)return null;let c;t[0]!==r||t[1]!==n||t[2]!==o||t[3]!==a?(c=(0,Q.jsx)(nt,{comments:n,activeCommentIndex:r,onPrevComment:a,onNextComment:o}),t[0]=r,t[1]=n,t[2]=o,t[3]=a,t[4]=c):c=t[4];let l,u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=y(i.compact,`h-8 gap-1 px-3 bg-foreground text-background hover:bg-foreground/90`),u=(0,Q.jsx)(H,{className:`h-3 w-3`}),t[5]=l,t[6]=u):(l=t[5],u=t[6]);let d;t[7]===s?d=t[8]:(d=(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsxs)(j,{size:`sm`,onClick:s,className:l,children:[u,`Fix all comments`]})}),t[7]=s,t[8]=d);let f;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(N,{children:`Send all comments to Tarsk for resolution`}),t[9]=f):f=t[9];let p;t[10]===d?p=t[11]:(p=(0,Q.jsxs)(P,{children:[d,f]}),t[10]=d,t[11]=p);let m;return t[12]!==c||t[13]!==p?(m=(0,Q.jsxs)(Q.Fragment,{children:[c,p]}),t[12]=c,t[13]=p,t[14]=m):m=t[14],m}function lt(e){let t=(0,Z.c)(10),{isImageFile:n,selectedFile:r,threadId:i,language:a,theme:o,diffOriginal:s,diffModified:c,onEditorMount:l,diffEditorOptions:u}=e;if(n&&r){let e;return t[0]!==r||t[1]!==i?(e=(0,Q.jsx)(tt,{threadId:i,file:r}),t[0]=r,t[1]=i,t[2]=e):e=t[2],e}let d;return t[3]!==u||t[4]!==c||t[5]!==s||t[6]!==a||t[7]!==l||t[8]!==o?(d=(0,Q.jsx)(ge,{height:`100%`,language:a,original:s,modified:c,keepCurrentOriginalModel:!0,keepCurrentModifiedModel:!0,theme:o,onMount:l,options:u}),t[3]=u,t[4]=c,t[5]=s,t[6]=a,t[7]=l,t[8]=o,t[9]=d):d=t[9],d}function ut(){let e=(0,Z.c)(8),t=l(dt),n;e[0]===t?n=e[1]:(n=e=>u(e,t),e[0]=t,e[1]=n);let r=l(n),i;e[2]===t?i=e[3]:(i=e=>o(e,t),e[2]=t,e[3]=i);let a=l(i),s;return e[4]!==r||e[5]!==t||e[6]!==a?(s={focusedPane:t,conversationId:r,paneMessages:a},e[4]=r,e[5]=t,e[6]=a,e[7]=s):s=e[7],s}function dt(e){return e.focusedPane}function ft(e){let t=(0,Z.c)(61),{threadId:n,selectedFile:r,content:i,layout:a,commentControls:o,chatControls:s}=e,{isImageFile:c,diffOriginal:l,diffModified:u,resolvedTheme:d,onEditorMount:f,diffEditorOptions:p,isFullView:m,onToggleFullView:h}=i,{isPanelCollapsed:g,showTreeBackButton:_,onShowTree:v,onTogglePanel:y}=a,{focusedPane:b,conversationId:x,paneMessages:S}=ut(),{openChatDockPanel:C}=L(),{setPendingExplorerPath:w}=I(),T;t[0]!==C||t[1]!==r||t[2]!==w?(T=function(){r&&(w(r.path),C(`explorer`))},t[0]=C,t[1]=r,t[2]=w,t[3]=T):T=t[3];let E=T,D;t[4]===g?D=t[5]:(D=Ie(g),t[4]=g,t[5]=D);let O;t[6]!==g||t[7]!==v||t[8]!==y||t[9]!==_?(O=(0,Q.jsx)(it,{showTreeBackButton:_,isPanelCollapsed:g,onShowTree:v,onTogglePanel:y}),t[6]=g,t[7]=v,t[8]=y,t[9]=_,t[10]=O):O=t[10];let k;t[11]!==E||t[12]!==r?(k=(0,Q.jsx)(st,{selectedFile:r,onOpenInFiles:E}),t[11]=E,t[12]=r,t[13]=k):k=t[13];let A;t[14]!==O||t[15]!==k?(A=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[O,k]}),t[14]=O,t[15]=k,t[16]=A):A=t[16];let j;t[17]===g?j=t[18]:(j=Le(g),t[17]=g,t[18]=j);let M;t[19]!==m||t[20]!==c||t[21]!==h||t[22]!==r?(M=(0,Q.jsx)(at,{isImageFile:c,isFullView:m,onToggleFullView:h,selectedFile:r}),t[19]=m,t[20]=c,t[21]=h,t[22]=r,t[23]=M):M=t[23];let N;t[24]===o?N=t[25]:(N=(0,Q.jsx)(ct,{...o}),t[24]=o,t[25]=N);let P;t[26]!==j||t[27]!==M||t[28]!==N?(P=(0,Q.jsxs)(`div`,{className:j,children:[M,N]}),t[26]=j,t[27]=M,t[28]=N,t[29]=P):P=t[29];let F;t[30]!==D||t[31]!==A||t[32]!==P?(F=(0,Q.jsxs)(le,{className:D,children:[A,P]}),t[30]=D,t[31]=A,t[32]=P,t[33]=F):F=t[33];let R=r?.path||``,z;t[34]===R?z=t[35]:(z=qe(R),t[34]=R,t[35]=z);let B;t[36]===d?B=t[37]:(B=Fe(d),t[36]=d,t[37]=B);let V;t[38]!==p||t[39]!==u||t[40]!==l||t[41]!==c||t[42]!==f||t[43]!==r||t[44]!==z||t[45]!==B||t[46]!==n?(V=(0,Q.jsx)(lt,{isImageFile:c,selectedFile:r,threadId:n,language:z,theme:B,diffOriginal:l,diffModified:u,onEditorMount:f,diffEditorOptions:p}),t[38]=p,t[39]=u,t[40]=l,t[41]=c,t[42]=f,t[43]=r,t[44]=z,t[45]=B,t[46]=n,t[47]=V):V=t[47];let H;t[48]!==s.isChatOpen||t[49]!==s.onCloseChat||t[50]!==s.onOpenChat||t[51]!==x||t[52]!==b||t[53]!==S?(H=(0,Q.jsx)(rt,{isChatOpen:s.isChatOpen,onOpenChat:s.onOpenChat,onCloseChat:s.onCloseChat,focusedPane:b,conversationId:x,paneMessages:S}),t[48]=s.isChatOpen,t[49]=s.onCloseChat,t[50]=s.onOpenChat,t[51]=x,t[52]=b,t[53]=S,t[54]=H):H=t[54];let U;t[55]!==V||t[56]!==H?(U=(0,Q.jsxs)(`div`,{className:`flex-1 bg-transparent relative`,children:[V,H]}),t[55]=V,t[56]=H,t[57]=U):U=t[57];let W;return t[58]!==F||t[59]!==U?(W=(0,Q.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:[F,U]}),t[58]=F,t[59]=U,t[60]=W):W=t[60],W}function pt(){let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(fe,{withHandle:!0,className:`z-10 shrink-0`}),e[0]=t):t=e[0],t}function mt(e){let t=(0,Z.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,Q.jsx)(`div`,{className:`diff-body flex min-h-0 w-full flex-1 overflow-hidden`,children:n?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:y(`flex min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden`,!r&&`hidden`),children:s}),(0,Q.jsx)(`div`,{className:y(`flex min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden`,r&&`hidden`),children:c})]}):(0,Q.jsxs)(ue,{direction:`horizontal`,children:[(0,Q.jsx)(U,{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,Q.jsx)(pt,{}),(0,Q.jsx)(U,{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 ht=a(`app.diff-view.ui`);function gt(e,t){if(!e)return{diffOriginal:``,diffModified:``};if(t)return{diffOriginal:e.oldContent,diffModified:e.newContent};let n=$(e);return n?{diffOriginal:Ue(e.oldContent,n.original.startLine,n.original.endLine),diffModified:Ue(e.newContent,n.modified.startLine,n.modified.endLine)}:{diffOriginal:e.oldContent,diffModified:e.newContent}}function _t(e,t){return!!(e&&(t||We(e)))}function vt(e,t,n){let r=n?null:$(e),i=r?t.side===`original`?r.original:r.modified:null;return Ge(t.lineNumber,i)}async function yt(e,t){let n=t[e];if(n)return n;try{let e=await h(),t=Object.values(e).flat();return t.length>0?t[0]:null}catch(e){return ht.error(`Failed to load models:`,e),null}}function bt(e){let t=(0,Z.c)(7),{treeData:n,files:r,error:i,selectedFileIndex:a,onFileSelect:o,onRevertFile:s}=e,c;return t[0]!==i||t[1]!==r||t[2]!==o||t[3]!==s||t[4]!==a||t[5]!==n?(c=(0,Q.jsx)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden`,children:(0,Q.jsx)(Te,{treeData:n,files:r,error:i,selectedFileIndex:a,onFileSelect:o,onRevertFile:s})}),t[0]=i,t[1]=r,t[2]=o,t[3]=s,t[4]=a,t[5]=n,t[6]=c):c=t[6],c}function xt(e,t){return`${e?e.id:``}-${t?String(t.lineNumber):``}-${t?t.side:``}`}function St(e,t){return e?{lineNumber:e.lineNumber,lineContent:e.lineContent,comment:e.comment}:t?{lineNumber:t.lineNumber,lineContent:t.lineContent,comment:void 0}:{lineNumber:0,lineContent:``,comment:void 0}}function Ct(e,t){return t!==null||e!==null}function wt(e){let t=(0,Z.c)(19),{editingComment:n,pendingLine:r,onSave:i,onDelete:a,onClose:o}=e,s;t[0]!==n||t[1]!==r?(s=St(n,r),t[0]=n,t[1]=r,t[2]=s):s=t[2];let c=s,l;t[3]!==n||t[4]!==r?(l=xt(n,r),t[3]=n,t[4]=r,t[5]=l):l=t[5];let u;t[6]!==n||t[7]!==r?(u=Ct(n,r),t[6]=n,t[7]=r,t[8]=u):u=t[8];let d=n!==null,f;return t[9]!==c.comment||t[10]!==c.lineContent||t[11]!==c.lineNumber||t[12]!==o||t[13]!==a||t[14]!==i||t[15]!==l||t[16]!==u||t[17]!==d?(f=(0,Q.jsx)(Me,{open:u,lineNumber:c.lineNumber,lineContent:c.lineContent,initialComment:c.comment,isEditing:d,onSave:i,onDelete:a,onClose:o},l),t[9]=c.comment,t[10]=c.lineContent,t[11]=c.lineNumber,t[12]=o,t[13]=a,t[14]=i,t[15]=l,t[16]=u,t[17]=d,t[18]=f):f=t[18],f}function Tt(e,t){return Math.min(e,Math.max(t-1,0))}function Et(e,t,n,r){e(r??[]),t(e=>Tt(n??e,r?.length??1))}function Dt(e,t,n){let r=Tt(t,e.length);return n?.files===e&&n.selectedFileIndex===r?n:{files:e,selectedFileIndex:r}}function Ot(e,t,n,r){return{id:`comment-${Date.now()}`,filePath:t.path,fileIndex:n,lineNumber:e.lineNumber,lineContent:e.lineContent,comment:r,side:e.side}}function kt(e,t){return(t%e+e)%e}function At(e,t,n,r){if(!e)return;let i=t[n.fileIndex];if(!i)return;let a=vt(i,n,r);(n.side===`original`?e.getOriginalEditor():e.getModifiedEditor()).revealLineInCenter(Math.max(1,a))}function jt(e,t,n){return{readOnly:!0,renderSideBySide:!e,ignoreTrimWhitespace:!1,renderOverviewRuler:!0,scrollBeyondLastLine:!1,minimap:{enabled:!1},folding:!1,glyphMargin:!0,lineNumbers:_t(t,n)?`on`:`off`,diffWordWrap:`on`,originalEditable:!1,automaticLayout:!0}}function Mt(e,t){e.current&&(t?e.current.expand():e.current.collapse())}async function Nt(e){return(await p(e)).files||[]}async function Pt(e,t,n,r){try{return await _(e,t.path),await Promise.all([n(),r(!0)]),null}catch(e){return e instanceof Error?e.message:`Failed to revert file`}}async function Ft({threadId:e,comments:t,selectedModel:n,clearComments:r,dispatch:i,onExit:a}){try{let{prompt:o}=await m(e,t);r(),i({type:s.SetPendingChatMessage,message:{threadId:e,message:o,model:n.id,provider:n.provider}}),a()}catch(e){ht.error(`Failed to fix comments:`,e),typeof window<`u`&&window.alert(`Failed to process comments. Please try again.`)}}function It(e,t){return e?.files??t??[]}function Lt(e){return e?.selectedFileIndex??0}function Rt(e){return e?.isBinary??!1}function zt(e,t,n,r){Et(e,t,n?.selectedFileIndex,r)}function Bt(e,t,n){n&&n(n=>Dt(e,t,n))}function Vt(e,t,n,r){n(e),t&&r(!1)}async function Ht(e,t,n,r){if(e){r(null);try{let r=await Nt(e);t(r),n(e=>Tt(e,r.length))}catch(e){r(e instanceof Error?e.message:`Failed to load diff`)}}}async function Ut(e,t,n,r,i){let a=await Pt(t,e,n,r);a&&i(a)}function Wt(e,t,n,r,i,a){e?i(e):a({lineNumber:t,lineContent:n,side:r})}function Gt(e,t,n,r,i,a){return t&&r?[...e,Ot(t,r,i,a)]:n?e.map(e=>e.id===n.id?{...e,comment:a}:e):e}function Kt(e,t){return t?e.filter(e=>e.id!==t.id):e}function qt(e,t){if(e.length===0)return null;let n=kt(e.length,t);return{idx:n,comment:e[n]}}function Jt(e,t,n,r,i,a,o,s,c,l){let u=qt(e,t);u&&(n(u.idx),r(u.comment.fileIndex),i&&a(!1),setTimeout(()=>{At(o.current,s,u.comment,c),l()},100))}async function Yt(e,t,n,r,i,a){let o=await yt(e,t);if(!o){ht.error(`No models available to process comments`);return}await Ft({threadId:e,comments:n,selectedModel:o,clearComments:a,dispatch:r,onExit:i})}function Xt(e,t,n,r,i){let a=(0,Z.c)(38),{fetchUnifiedStatus:o}=V(),s;a[0]!==n||a[1]!==t?(s=()=>It(n,t),a[0]=n,a[1]=t,a[2]=s):s=a[2];let[c,l]=(0,X.useState)(s),[u,d]=(0,X.useState)(null),f;a[3]===n?f=a[4]:(f=()=>Lt(n),a[3]=n,a[4]=f);let[p,m]=(0,X.useState)(f),[h,g]=(0,X.useState)(!0),_;a[5]!==n||a[6]!==t?(_=()=>{zt(l,m,n,t)},a[5]=n,a[6]=t,a[7]=_):_=a[7];let v=n?.selectedFileIndex,y;a[8]!==t||a[9]!==v?(y=[v,t],a[8]=t,a[9]=v,a[10]=y):y=a[10],(0,X.useEffect)(_,y);let b;a[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{g(!0)},a[11]=b):b=a[11];let x;a[12]===e?x=a[13]:(x=[e],a[12]=e,a[13]=x),(0,X.useEffect)(b,x);let S,C;a[14]!==c||a[15]!==r||a[16]!==p?(S=()=>{Bt(c,p,r)},C=[c,r,p],a[14]=c,a[15]=r,a[16]=p,a[17]=S,a[18]=C):(S=a[17],C=a[18]),(0,X.useEffect)(S,C);let w;a[19]===i?w=a[20]:(w=e=>{Vt(e,i,m,g)},a[19]=i,a[20]=w);let T=w,E;a[21]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{g(!0)},a[21]=E):E=a[21];let D=E,O;a[22]===e?O=a[23]:(O=async()=>{await Ht(e,l,m,d)},a[22]=e,a[23]=O);let k=O,A;a[24]!==o||a[25]!==k||a[26]!==e?(A=async t=>{await Ut(t,e,k,o,d)},a[24]=o,a[25]=k,a[26]=e,a[27]=A):A=a[27];let j=A,M;a[28]===c?M=a[29]:(M=be(c),a[28]=c,a[29]=M);let N=M,P;return a[30]!==u||a[31]!==c||a[32]!==T||a[33]!==j||a[34]!==h||a[35]!==p||a[36]!==N?(P={files:c,error:u,selectedFileIndex:p,mobileShowTree:h,treeData:N,setSelectedFileIndex:m,setMobileShowTree:g,handleFileSelect:T,handleShowTree:D,handleRevertFile:j},a[30]=u,a[31]=c,a[32]=T,a[33]=j,a[34]=h,a[35]=p,a[36]=N,a[37]=P):P=a[37],P}function Zt(e,t,n,r){let i=(0,Z.c)(17),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(null),l;i[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=e=>{let{existing:t,lineNumber:n,lineContent:r,side:i}=e;Wt(t,n,r,i,c,o)},i[0]=l):l=i[0];let u=l,d;i[1]!==e||i[2]!==s||i[3]!==a||i[4]!==n||i[5]!==r||i[6]!==t?(d=i=>{t(Gt(e,a,s,n,r,i)),o(null),c(null)},i[1]=e,i[2]=s,i[3]=a,i[4]=n,i[5]=r,i[6]=t,i[7]=d):d=i[7];let f=d,p;i[8]!==s||i[9]!==t?(p=()=>{t(e=>Kt(e,s)),s&&c(null)},i[8]=s,i[9]=t,i[10]=p):p=i[10];let m=p,h;i[11]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{o(null),c(null)},i[11]=h):h=i[11];let g=h,_;return i[12]!==s||i[13]!==m||i[14]!==f||i[15]!==a?(_={pendingLine:a,editingComment:s,handleLineGutterClick:u,handleSaveComment:f,handleDeleteComment:m,handleCloseCommentPopup:g},i[12]=s,i[13]=m,i[14]=f,i[15]=a,i[16]=_):_=i[16],_}function Qt(e){let t=(0,Z.c)(19),{comments:n,files:r,isFullView:i,isMobile:a,activeCommentIndex:o,setActiveCommentIndex:s,setSelectedFileIndex:c,setMobileShowTree:l,diffEditorRef:u,applyAllDecorations:d}=e,f;t[0]!==d||t[1]!==n||t[2]!==u||t[3]!==r||t[4]!==i||t[5]!==a||t[6]!==s||t[7]!==l||t[8]!==c?(f=e=>{Jt(n,e,s,c,a,l,u,r,i,d)},t[0]=d,t[1]=n,t[2]=u,t[3]=r,t[4]=i,t[5]=a,t[6]=s,t[7]=l,t[8]=c,t[9]=f):f=t[9];let p=f,m;t[10]!==o||t[11]!==p?(m=()=>{p((o??0)-1)},t[10]=o,t[11]=p,t[12]=m):m=t[12];let h=m,g;t[13]!==o||t[14]!==p?(g=()=>{p((o??-1)+1)},t[13]=o,t[14]=p,t[15]=g):g=t[15];let _=g,v;return t[16]!==_||t[17]!==h?(v={handlePrevComment:h,handleNextComment:_},t[16]=_,t[17]=h,t[18]=v):v=t[18],v}function $t(e,t,n,r,i,a){let o=(0,Z.c)(9),s;o[0]!==n||o[1]!==r||o[2]!==i||o[3]!==t||o[4]!==a||o[5]!==e?(s=()=>Yt(e,t,n,r,i,()=>a([])),o[0]=n,o[1]=r,o[2]=i,o[3]=t,o[4]=a,o[5]=e,o[6]=s):s=o[6];let c=s,l;return o[7]===c?l=o[8]:(l={handleFixComments:c},o[7]=c,o[8]=l),l}function en({threadId:e,selectedFile:t,isImageFile:n,diffOriginal:r,diffModified:i,resolvedTheme:a,onEditorMount:o,diffEditorOptions:s,isPanelCollapsed:c,showTreeBackButton:l,onShowTree:u,onTogglePanel:d,isFullView:f,onToggleFullView:p,comments:m,activeCommentIndex:h,onPrevComment:g,onNextComment:_,onFixComments:v,isChatOpen:y,onOpenChat:b,onCloseChat:x}){return{threadId:e,selectedFile:t,content:{isImageFile:n,diffOriginal:r,diffModified:i,resolvedTheme:a,onEditorMount:o,diffEditorOptions:s,isFullView:f,onToggleFullView:p},layout:{isPanelCollapsed:c,showTreeBackButton:l,onShowTree:u,onTogglePanel:d},commentControls:{comments:m,activeCommentIndex:h,onPrevComment:g,onNextComment:_,onFixComments:v},chatControls:{isChatOpen:y,onOpenChat:b,onCloseChat:x}}}function tn({threadId:e,selectedFile:t,isImageFile:n,diffOriginal:r,diffModified:i,resolvedTheme:a,onEditorMount:o,isMobile:s,showTreeBackButton:c,onShowTree:l,isFullView:u,onToggleFullView:d,comments:f,activeCommentIndex:p,onPrevComment:m,onNextComment:h,onFixComments:g}){let[_,v]=(0,X.useState)(!1),[y,b]=(0,X.useState)(!1),x=(0,X.useRef)(null),S=(0,X.useCallback)(()=>{Mt(x,_)},[_]);return{panelRef:x,editorPanelProps:en({threadId:e,selectedFile:t,isImageFile:n,diffOriginal:r,diffModified:i,resolvedTheme:a,onEditorMount:o,diffEditorOptions:(0,X.useMemo)(()=>jt(s,t,u),[s,t,u]),isPanelCollapsed:_,showTreeBackButton:c,onShowTree:l,onTogglePanel:S,isFullView:u,onToggleFullView:d,comments:f,activeCommentIndex:p,onPrevComment:m,onNextComment:h,onFixComments:g,isChatOpen:y,onOpenChat:()=>b(!0),onCloseChat:()=>b(!1)}),onPanelCollapse:()=>v(!0),onPanelExpand:()=>v(!1)}}function nn(e){let t=(0,Z.c)(64),{threadId:n,onExit:r,loadVersion:i,cachedState:a,onCachedStateChange:o}=e,s;t[0]!==i||t[1]!==n?(s=Pe(n,i),t[0]=i,t[1]=n,t[2]=s):s=t[2];let u;t[3]===n?u=t[4]:(u=()=>ze(n),t[3]=n,t[4]=u);let d=B(s,u),f=c(),p=l(an),{resolvedTheme:m}=W(),h=ie(),[g,_]=(0,X.useState)(!1),[v,y]=(0,X.useState)(null),{files:b,error:x,selectedFileIndex:S,mobileShowTree:C,treeData:w,setSelectedFileIndex:T,setMobileShowTree:E,handleFileSelect:D,handleShowTree:O,handleRevertFile:k}=Xt(n,d.files,a,o,h),{comments:A,setComments:j}=Ne(n),M=b[S],N;t[5]===M?N=t[6]:(N=Rt(M),t[5]=M,t[6]=N);let P=N,F;t[7]!==g||t[8]!==M?(F=gt(M,g),t[7]=g,t[8]=M,t[9]=F):F=t[9];let{diffOriginal:I,diffModified:L}=F,{pendingLine:R,editingComment:z,handleLineGutterClick:V,handleSaveComment:H,handleDeleteComment:U,handleCloseCommentPopup:ee}=Zt(A,j,M,S),te;t[10]!==v||t[11]!==A||t[12]!==b||t[13]!==V||t[14]!==g||t[15]!==M||t[16]!==S?(te={comments:A,activeCommentIndex:v,isFullView:g,selectedFileIndex:S,files:b,selectedFile:M,onLineGutterClick:V},t[10]=v,t[11]=A,t[12]=b,t[13]=V,t[14]=g,t[15]=M,t[16]=S,t[17]=te):te=t[17];let{diffEditorRef:ne,applyAllDecorations:re,handleEditorDidMount:ae}=Je(te),G;t[18]!==v||t[19]!==re||t[20]!==A||t[21]!==ne||t[22]!==b||t[23]!==g||t[24]!==h||t[25]!==E||t[26]!==T?(G={comments:A,files:b,isFullView:g,isMobile:h,activeCommentIndex:v,setActiveCommentIndex:y,setSelectedFileIndex:T,setMobileShowTree:E,diffEditorRef:ne,applyAllDecorations:re},t[18]=v,t[19]=re,t[20]=A,t[21]=ne,t[22]=b,t[23]=g,t[24]=h,t[25]=E,t[26]=T,t[27]=G):G=t[27];let{handlePrevComment:oe,handleNextComment:se}=Qt(G),{handleFixComments:ce}=$t(n,p,A,f,r,j),le=h&&!C,K;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(K=()=>_(rn),t[28]=K):K=t[28];let q;t[29]!==v||t[30]!==A||t[31]!==L||t[32]!==I||t[33]!==ae||t[34]!==ce||t[35]!==se||t[36]!==oe||t[37]!==O||t[38]!==g||t[39]!==P||t[40]!==h||t[41]!==m||t[42]!==M||t[43]!==le||t[44]!==n?(q={threadId:n,selectedFile:M,isImageFile:P,diffOriginal:I,diffModified:L,resolvedTheme:m,onEditorMount:ae,isMobile:h,showTreeBackButton:le,onShowTree:O,isFullView:g,onToggleFullView:K,comments:A,activeCommentIndex:v,onPrevComment:oe,onNextComment:se,onFixComments:ce},t[29]=v,t[30]=A,t[31]=L,t[32]=I,t[33]=ae,t[34]=ce,t[35]=se,t[36]=oe,t[37]=O,t[38]=g,t[39]=P,t[40]=h,t[41]=m,t[42]=M,t[43]=le,t[44]=n,t[45]=q):q=t[45];let{panelRef:ue,editorPanelProps:de,onPanelCollapse:fe,onPanelExpand:pe}=tn(q),J;return t[46]!==z||t[47]!==de||t[48]!==x||t[49]!==b||t[50]!==ee||t[51]!==U||t[52]!==D||t[53]!==k||t[54]!==H||t[55]!==h||t[56]!==C||t[57]!==fe||t[58]!==pe||t[59]!==ue||t[60]!==R||t[61]!==S||t[62]!==w?(J={isMobile:h,mobileShowTree:C,panelRef:ue,files:b,error:x,selectedFileIndex:S,treeData:w,handleFileSelect:D,handleRevertFile:k,editorPanelProps:de,editingComment:z,pendingLine:R,handleSaveComment:H,handleDeleteComment:U,handleCloseCommentPopup:ee,onPanelCollapse:fe,onPanelExpand:pe},t[46]=z,t[47]=de,t[48]=x,t[49]=b,t[50]=ee,t[51]=U,t[52]=D,t[53]=k,t[54]=H,t[55]=h,t[56]=C,t[57]=fe,t[58]=pe,t[59]=ue,t[60]=R,t[61]=S,t[62]=w,t[63]=J):J=t[63],J}function rn(e){return!e}function an(e){return e.projectModelSelections}function on(e){let t=(0,Z.c)(26),{isMobile:n,mobileShowTree:r,panelRef:i,files:a,error:o,selectedFileIndex:s,treeData:c,handleFileSelect:l,handleRevertFile:u,editorPanelProps:d,editingComment:f,pendingLine:p,handleSaveComment:m,handleDeleteComment:h,handleCloseCommentPopup:g,onPanelCollapse:_,onPanelExpand:v}=nn(e),y;t[0]!==o||t[1]!==a||t[2]!==l||t[3]!==u||t[4]!==s||t[5]!==c?(y=(0,Q.jsx)(bt,{treeData:c,files:a,error:o,selectedFileIndex:s,onFileSelect:l,onRevertFile:u}),t[0]=o,t[1]=a,t[2]=l,t[3]=u,t[4]=s,t[5]=c,t[6]=y):y=t[6];let b;t[7]===d?b=t[8]:(b=(0,Q.jsx)(ft,{...d}),t[7]=d,t[8]=b);let x;t[9]!==n||t[10]!==r||t[11]!==_||t[12]!==v||t[13]!==i||t[14]!==y||t[15]!==b?(x=(0,Q.jsx)(mt,{isMobile:n,mobileShowTree:r,panelRef:i,onPanelCollapse:_,onPanelExpand:v,fileTreePanel:y,diffEditorPanel:b}),t[9]=n,t[10]=r,t[11]=_,t[12]=v,t[13]=i,t[14]=y,t[15]=b,t[16]=x):x=t[16];let S;t[17]!==f||t[18]!==g||t[19]!==h||t[20]!==m||t[21]!==p?(S=(0,Q.jsx)(wt,{editingComment:f,pendingLine:p,onSave:m,onDelete:h,onClose:g}),t[17]=f,t[18]=g,t[19]=h,t[20]=m,t[21]=p,t[22]=S):S=t[22];let C;return t[23]!==x||t[24]!==S?(C=(0,Q.jsxs)(`div`,{className:`diff-view-root flex h-full min-h-0 w-full flex-col`,children:[x,S]}),t[23]=x,t[24]=S,t[25]=C):C=t[25],C}function sn(e){let t=(0,Z.c)(23),[n,r]=(0,X.useState)(0),[i,a]=(0,X.useState)(0),o=(0,X.useRef)(0),s=!!e.cachedState,c;t[0]===e.threadId?c=t[1]:(c=()=>{r(t=>(z(Pe(e.threadId,t)),t+1)),a(ln)},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,X.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=>(z(Pe(e.threadId,t)),t+1)),a(cn))},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,X.useEffect)(f,p);let m=`${e.threadId}:${i}`,h;t[9]!==l||t[10]!==s?(h=s?null:(0,Q.jsx)(Ze,{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,Q.jsx)(on,{...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,Q.jsx)(X.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,Q.jsx)(he,{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 cn(e){return e+1}function ln(e){return e+1}export{sn as default};
|
package/dist/public/assets/{explorer-file-drop-CzyAqZgf.js → explorer-file-drop-DAP7ha-E.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{x as i}from"./dist-v_MvKS2-.js";import{r as a}from"./store-W78TGOIO.js";import{
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{x as i}from"./dist-v_MvKS2-.js";import{r as a}from"./store-W78TGOIO.js";import{ei as o,zr as s}from"./api-Cp9I7CxD.js";import{n as c}from"./main-tab-context-Dsp4OYi9.js";import{f as l}from"./api-8Rp2LlXt.js";var u=e(n(),1),d=t(),f=i(`gitops.timing`);function p(e){let t=[],n=performance.now();async function r(n,r){let i=performance.now();try{return await r()}finally{let r=Math.round(performance.now()-i);t.push({step:n,duration:r}),f.debug(`${e} step`,{step:n,duration:r})}}function i(n,r,i){t.push({step:n,duration:r}),f.debug(`${e} step`,{step:n,duration:r,...i?{detail:i}:{}})}function a(r){let i=Math.round(performance.now()-n),a=t.reduce((e,t)=>t.duration>=e.duration?t:e,{step:`none`,duration:0}),o=t.map(e=>`${e.step}:${e.duration}`).join(` `);f.debug(`${e} summary`,{duration:i,slowestStep:a.step,slowestDuration:a.duration,breakdown:o,...r?{detail:r}:{}})}return{step:r,record:i,summary:a}}var m=i(`gitops.unified-status`),h=3e4,g={hasChanges:!1,changedFilesCount:0,hasUnpushedCommits:!1,currentBranch:``,hasRemoteBranch:!1,isOnGitHub:!1,remoteUrl:``,canCreateRepo:!1,repoUrl:void 0,status:`Up to date`,defaultBranch:null,prExists:!1,prUrl:void 0,prState:void 0,commitsAheadOfDefault:!1,defaultBranchAhead:0,defaultBranchBehind:0},_=new Map,v=new Map;function y(e,t){let n=_.get(e);if(n)for(let e of n)e(t)}function b(e,t){let n=_.get(e);return n||(n=new Set,_.set(e,n)),n.add(t),()=>{n.delete(t),n.size===0&&_.delete(e)}}function x(e){return`unified-git-status-${e}`}async function S(){let e=[..._.keys()];await Promise.all(e.map(function(e){return C(e)}))}async function C(e){if(e){o.invalidate(x(e));try{y(e,await s(e,!1,!1))}catch(e){m.error(`Failed to refresh unified git status from control channel`,e)}}}function w(e){return o.getSync(x(e))}function T(e){let[t,n]=(0,u.useState)(g),[r,i]=(0,u.useState)(!1),a=(0,u.useRef)(void 0),c=(0,u.useRef)(0),l=(0,u.useCallback)(e=>{(0,u.startTransition)(()=>{n(e)})},[]),d=(0,u.useRef)(l);d.current=l;let f=(0,u.useCallback)(async(t=!1)=>{if(!e)return;let n=++c.current,r=p(`hook fetch thread=${e} force=${t}`),a=setTimeout(()=>{c.current===n&&i(!0)},100);try{let i=x(e),a=performance.now(),u=w(e);r.record(`local-cache-check`,Math.round(performance.now()-a),`result=${u?`hit`:`miss`}`),t&&(o.invalidate(i),r.record(`invalidate-local-cache`,0));let d=await r.step(`ttl-cache-get`,()=>o.get(i,()=>s(e,t,!1),h));if(c.current!==n){r.summary(`stale-request`);return}await r.step(`update-state`,async()=>{l(d),y(e,d)}),r.summary(`branch=${d.currentBranch} changes=${d.changedFilesCount} prExists=${d.prExists}`)}catch(e){if(c.current!==n)return;m.error(`Failed to fetch unified git status`,e),r.summary(`error`)}finally{clearTimeout(a),c.current===n&&i(!1)}},[e,l]),_=(0,u.useRef)(f);return _.current=f,(0,u.useEffect)(()=>{if(e)return b(e,e=>{d.current(e)})},[e]),(0,u.useEffect)(()=>{if(!e)return;let t=0;function n(){if(document.visibilityState!==`visible`)return;let e=Date.now();e-t<500||(t=e,_.current(!1))}return document.addEventListener(`visibilitychange`,n),window.addEventListener(`focus`,n),()=>{document.removeEventListener(`visibilitychange`,n),window.removeEventListener(`focus`,n)}},[e]),(0,u.useEffect)(()=>{if(c.current+=1,i(!1),!e){a.current=void 0,(0,u.startTransition)(()=>{n(g)});return}let t=a.current!==e,r=w(e);t&&(m.debug(`Active thread changed`,{previousThreadId:a.current??`none`,threadId:e}),a.current=e),(0,u.startTransition)(()=>{n(r??g)}),m.debug(`Loaded unified git status from local cache`,{threadId:e,cache:r?`hit`:`miss`});let o=e,s=!1;function l(){if(s)return;let e=v.get(o);if(e){m.debug(`Initial unified git status fetch already in flight`,{threadId:o}),e.then(()=>{if(s)return;let e=w(o);e&&d.current(e)});return}m.debug(`Starting initial unified git status fetch`,{threadId:o});let t=_.current(!1).finally(()=>{m.debug(`Initial unified git status fetch settled`,{threadId:o}),v.delete(o)});v.set(o,t)}return l(),()=>{s=!0}},[e]),(0,u.useMemo)(()=>({hasChanges:t.hasChanges,changedFilesCount:t.changedFilesCount,hasUnpushedCommits:t.hasUnpushedCommits,hasRemoteBranch:t.hasRemoteBranch,currentBranch:t.currentBranch,isOnGitHub:t.isOnGitHub,remoteUrl:t.remoteUrl,canCreateRepo:t.canCreateRepo,repoUrl:t.repoUrl,status:t.status,defaultBranch:t.defaultBranch,prExists:t.prExists,prUrl:t.prUrl,prState:t.prState,commitsAheadOfDefault:t.commitsAheadOfDefault,defaultBranchAhead:t.defaultBranchAhead,defaultBranchBehind:t.defaultBranchBehind,isRefreshing:r,fetchUnifiedStatus:f}),[t,r,f])}var E=r(),D=(0,u.createContext)(void 0);function O(e){let t=(0,d.c)(8),{threadId:n,fetchUnifiedStatus:r}=e,i=a(j),o=a(A),s=a(k),{triggerReviewRefresh:l}=c(),f,p;return t[0]!==o||t[1]!==r||t[2]!==i||t[3]!==s||t[4]!==n||t[5]!==l?(f=()=>{if(n&&n===s&&!i&&o.includes(n)){let e=setTimeout(()=>{r(!0),l(n)},1e3);return()=>clearTimeout(e)}},p=[n,s,i,o,r,l],t[0]=o,t[1]=r,t[2]=i,t[3]=s,t[4]=n,t[5]=l,t[6]=f,t[7]=p):(f=t[6],p=t[7]),(0,u.useEffect)(f,p),null}function k(e){return e.selectedThreadId}function A(e){return e.completedThreadIds}function j(e){return e.isStreaming}function M(e){let t=(0,d.c)(7),{threadId:n,children:r}=e,i=T(n),a;t[0]!==n||t[1]!==i.fetchUnifiedStatus?(a=(0,E.jsx)(O,{threadId:n,fetchUnifiedStatus:i.fetchUnifiedStatus}),t[0]=n,t[1]=i.fetchUnifiedStatus,t[2]=a):a=t[2];let o;return t[3]!==r||t[4]!==a||t[5]!==i?(o=(0,E.jsxs)(D.Provider,{value:i,children:[a,r]}),t[3]=r,t[4]=a,t[5]=i,t[6]=o):o=t[6],o}function N(){let e=(0,u.useContext)(D);if(e===void 0)throw Error(`useGitStatus must be used within a GitStatusProvider`);return e}function P(e){return e?Array.from(e.types).includes(`Files`):!1}function F(e){let t=Array.from(e.items??[]);if(t.length===0)return{files:Array.from(e.files),skippedFolders:0};let n=[],r=0;for(let e of t){if(e.kind!==`file`)continue;if(e.webkitGetAsEntry?.()?.isDirectory){r+=1;continue}let t=e.getAsFile();t&&n.push(t)}return{files:n,skippedFolders:r}}function I(e){return e?`the "${e}/" folder`:`the repository root`}function L(e){let t=e.slice(0,3).map(e=>`"${e.name}"`),n=e.length>3?` and ${e.length-3} more`:``;return`${t.join(`, `)}${n}`}async function R(e,t,n){let r=await Promise.allSettled(n.map(n=>l(e,t,n))),i=[],a=[];for(let e=0;e<r.length;e+=1){let t=r[e];t.status===`fulfilled`?i.push(n[e]):a.push(t.reason)}return{copied:i,failures:a}}function z(e,t,n){if(n.length===0)return{title:t===1?`File copied`:`Files copied`,description:`Copied ${L(e.files)} into ${I(e.dirPath)}.`};let r=n[0];return{title:t>0?`Some files were not copied`:`Copy failed`,description:r instanceof Error?r.message:`Failed to copy the dropped file.`,variant:`destructive`}}export{F as a,N as c,T as d,L as i,S as l,R as n,P as o,I as r,M as s,z as t,C as u};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/explorer-tree-CAs89lPz.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/react-vendor-D61Uve5n.js","assets/dist-v_MvKS2-.js","assets/utils-CqsIXqSC.js","assets/chevron-down-Bpo4ncEN.js","assets/createLucideIcon-2A3hmV_e.js","assets/chevron-right-Dga3q1bZ.js","assets/dialog-D_12AsZd.js","assets/x-ByOPrz5I.js","assets/dist-DfnQ9YJh.js","assets/dist-AbkJBHH5.js","assets/es2015-eNVkKfFF.js","assets/use-browser-overlay-block-CO1pUEAZ.js","assets/button-DDaJhJP1.js","assets/dist-B-h6Wj39.js","assets/scroll-area-DGF9wUqQ.js","assets/dist-Dx8OsX8-.js","assets/use-toast-CKgZ8YeP.js","assets/chat-dock-context-DbiJNr3O.js","assets/store-W78TGOIO.js","assets/api-Cp9I7CxD.js","assets/random-uuid-Dc3UrwVo.js","assets/explorer-tab-context-BwR8CM8l.js","assets/alert-dialog-BcZULJsX.js","assets/explorer-file-drop-DAP7ha-E.js","assets/main-tab-context-Dsp4OYi9.js","assets/terminal-output-activity-D_FxlE-L.js","assets/api-8Rp2LlXt.js","assets/index-CcAwxnT5.js","assets/chunk-QFMPRPBF-Cy-_pFSM.js","assets/useBaseQuery-yghQO052.js","assets/QueryClientProvider-CYXTUmYo.js","assets/useInfiniteQuery-BpKy1sCq.js","assets/use-account-settings-query-D_qL1I4w.js","assets/useQuery-DWt09r77.js","assets/query-keys-CcnonAAG.js","assets/chat-handlers-context-DYU2LQ5V.js","assets/create-project-workspace-CJ94yHAB.js","assets/task-utils-Cnq9Eszt.js","assets/suspense-resource-DzlMlIgR.js","assets/remote-media-url-C-GdJb-D.js","assets/use-open-chat-dock-panel-CXzpgxVs.js","assets/dist-CgbWuuq4.js","assets/markdown-renderer-DQONI6WG.js","assets/explorer-media-CRzhs0NW.js","assets/check-skFQ1X72.js","assets/copy-bi9iX3xn.js","assets/download-CWhQNGlF.js","assets/external-link-Dcikmdm_.js","assets/minus-CgQcbBQT.js","assets/play-Dn1mbRpD.js","assets/plus-DoMzejDu.js","assets/rotate-ccw-Dthg8Pv6.js","assets/tooltip-CqwCZ7wt.js","assets/dist-2xH_pFmV.js","assets/chevron-up-BxgjX7B3.js","assets/circle-alert-CC2eO3yt.js","assets/circle-DQwOli2u.js","assets/grip-vertical-_jCIw8Mw.js","assets/loader-circle-CrqRIqdA.js","assets/square-CtxvwmM2.js","assets/label-BCs5CZEs.js","assets/dist-pCVg1Jdl.js","assets/dist-DOz2WXwX.js","assets/dist-JGbQ_EJY.js","assets/progress-indicator-hJ74ac5W.js","assets/use-projects-B0xTjTaA.js","assets/use-suspense-resource-uCX26gOk.js","assets/dist-CkGJjZXY.js","assets/select-DMcNYwgt.js","assets/mcp-manager-D2FG-h2e.js","assets/index-dNrgKdYv.css","assets/explorer-view-B1JuejkU.js","assets/async-error-boundary-CFVUPiuG.js","assets/card-DAc45J1v.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e,n as t}from"./rolldown-runtime-Dd_uD5pT.js";import{n,o as r,r as i,t as a}from"./react-vendor-D61Uve5n.js";import{U as o,b as s,x as c,y as l}from"./dist-v_MvKS2-.js";import{r as ee}from"./store-W78TGOIO.js";import{pn as u}from"./api-Cp9I7CxD.js";import{t as d}from"./utils-CqsIXqSC.js";import{t as f}from"./use-toast-CKgZ8YeP.js";import{n as p}from"./explorer-tab-context-BwR8CM8l.js";import{t as m}from"./progress-indicator-hJ74ac5W.js";import{a as te,n as ne,o as h,s as g,t as _}from"./explorer-file-drop-DAP7ha-E.js";import{At as v,E as y,Lt as b,V as x,bn as S,jt as C,kt as w}from"./index-CcAwxnT5.js";import{t as T}from"./async-error-boundary-CFVUPiuG.js";var E=e(r(),1),D=n(),O=new Map([[l.DEBUG,`DEBUG`],[l.INFO,`INFO`],[l.WARN,`WARN`],[l.ERROR,`ERROR`]]),k=!1;function A(){k||typeof globalThis.fetch!=`function`||(s(e=>{if(!e.event.startsWith(`explorer.`))return;let t=O.get(e.level);t&&u({level:t,context:e.event,message:e.message,data:e.data})}),k=!0)}function j(e){return A(),c(e)}var M=t({default:()=>R}),N=a(),P=j(`explorer.tab.ui`),F=(0,E.lazy)(()=>i(()=>import(`./explorer-tree-CAs89lPz.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,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72]))),I=(0,E.lazy)(()=>i(()=>import(`./explorer-view-B1JuejkU.js`),__vite__mapDeps([73,1,2,3,20,4,21,44,35,31,32,45,46,6,47,48,49,50,8,9,10,11,12,13,51,52,53,14,54,55,18,23,42,30,19,22,26,27,36,41,60,66,40,68,28,29,33,34,37,38,39,43,5,7,56,57,58,59,61,15,62,17,63,64,65,16,24,67,25,69,70,71,72,74,75])));function L(e){let t=(0,D.c)(4),{threadId:n}=e,r,i;t[0]===n?(r=t[1],i=t[2]):(r=()=>{P.info(`[Files explorer] Tree skeleton shown while the tree loads`,{threadId:n});let e=setTimeout(()=>{P.error(`[Files explorer] Tree skeleton did not resolve`,{threadId:n,visibleEntries:[]})},15e3);return()=>clearTimeout(e)},i=[n],t[0]=n,t[1]=r,t[2]=i),(0,E.useEffect)(r,i);let a;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,N.jsx)(y,{}),t[3]=a):a=t[3],a}function R({instanceId:e}){let t=ee(e=>e.selectedThreadId),n=b(),[r,i]=(0,E.useState)(null),[a,s]=(0,E.useState)(!0),[c,l]=(0,E.useState)(null),[u,y]=(0,E.useState)(!1),[D,O]=(0,E.useState)(!1),k=(0,E.useRef)(0),{pendingExplorerPath:A,setPendingExplorerPath:j,explorerClearPath:M,setExplorerClearPath:P,triggerExplorerRefresh:R}=p();(0,E.useEffect)(()=>{function e(e){h(e.dataTransfer)&&e.preventDefault()}return window.addEventListener(`dragover`,e),window.addEventListener(`drop`,e),()=>{window.removeEventListener(`dragover`,e),window.removeEventListener(`drop`,e)}},[]),(0,E.useEffect)(()=>{s(!0)},[t]);let z=(0,E.useCallback)(e=>{i(e),n&&s(!1)},[n]),B=(0,E.useCallback)(()=>{s(!0)},[]),V=(0,E.useCallback)(e=>{i(e),n&&s(!1)},[n]);(0,E.useEffect)(()=>{if(!A)return;let e=A.split(`/`).pop()??A;i({name:e,path:A,type:`file`}),n&&s(!1),j(null)},[n,A,j]),(0,E.useEffect)(()=>{M&&(r&&(r.path===M||r.path.startsWith(M+`/`))&&(i(null),n&&s(!0)),P(null))},[M,n,r,P]);function H(){k.current=0,O(!1)}function U(e){h(e.dataTransfer)&&(k.current+=1,O(!0))}function W(e){h(e.dataTransfer)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)}function G(e){h(e.dataTransfer)&&(k.current=Math.max(0,k.current-1),k.current===0&&O(!1))}function K(e){if(!h(e.dataTransfer))return;e.preventDefault(),H();let{files:t,skippedFolders:n}=te(e.dataTransfer);n>0&&f({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),t.length!==0&&l({files:t,dirPath:``})}let q=(0,E.useCallback)((e,t)=>{k.current=0,O(!1),l({files:e,dirPath:t})},[]);async function J(){if(c&&t&&!u){y(!0);try{let{copied:e,failures:n}=await ne(t,c.dirPath,c.files);e.length>0&&R(),f(_(c,e.length,n))}finally{y(!1),l(null)}}}let Y={onDragEnter:U,onDragOver:W,onDragLeave:G,onDrop:K},X=D?(0,N.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-50 flex items-center justify-center bg-background/70`,children:(0,N.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border-2 border-dashed border-primary bg-background px-6 py-4`,children:[(0,N.jsx)(S,{className:`h-4 w-4 text-primary`}),(0,N.jsx)(`span`,{className:o.label,children:`Drop files to copy them into the repository`})]})}):null,Z=(0,N.jsx)(`div`,{className:`h-full min-h-0`,children:t?(0,N.jsx)(g,{threadId:t,children:(0,N.jsx)(T,{fallbackTitle:`Failed to load files`,children:(0,N.jsx)(E.Suspense,{fallback:(0,N.jsx)(L,{threadId:t}),children:(0,N.jsx)(F,{instanceId:e,threadId:t,selectedPath:r?.path??null,onNodeSelect:z,onFilesDrop:q})})})}):(0,N.jsx)(`p`,{className:d(o.caption,`px-3 py-4 text-center`),children:`No thread selected.`})}),Q=(0,N.jsx)(E.Suspense,{fallback:(0,N.jsx)(m,{centered:!0,label:`Loading file viewer...`}),children:(0,N.jsx)(I,{selectedFile:r,showTreeBackButton:n&&!a,onShowTree:B,onFileCreated:V})}),$=(0,N.jsx)(x,{pendingDrop:c,dropCopying:u,onConfirm:()=>{J()},onDismiss:()=>{l(null)}});return n?(0,N.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,...Y,children:[X,$,(0,N.jsx)(`div`,{className:d(`flex-1 min-h-0 overflow-hidden`,!a&&`hidden`),children:Z}),(0,N.jsx)(`div`,{className:d(`flex-1 min-h-0 overflow-hidden`,a&&`hidden`),children:Q})]}):(0,N.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,...Y,children:[X,$,(0,N.jsxs)(C,{direction:`horizontal`,className:`flex-1 overflow-hidden`,children:[(0,N.jsx)(v,{defaultSize:25,minSize:15,maxSize:50,className:`overflow-hidden border-r border-border`,children:Z}),(0,N.jsx)(w,{withHandle:!0}),(0,N.jsx)(v,{className:`overflow-hidden`,children:Q})]})]})}export{R as default,j as n,M as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{U as i}from"./dist-v_MvKS2-.js";import{s as a,t as o}from"./utils-CqsIXqSC.js";import{t as s}from"./chevron-down-Bpo4ncEN.js";import{t as c}from"./chevron-right-Dga3q1bZ.js";import"./dialog-D_12AsZd.js";import{t as l}from"./button-DDaJhJP1.js";import{i as u}from"./dist-AbkJBHH5.js";import{a as d,i as f,n as p,o as m}from"./dist-DfnQ9YJh.js";import{t as h}from"./dist-B-h6Wj39.js";import{r as g}from"./scroll-area-DGF9wUqQ.js";import{t as _}from"./use-toast-CKgZ8YeP.js";import{n as v}from"./chat-dock-context-DbiJNr3O.js";import{n as y}from"./explorer-tab-context-BwR8CM8l.js";import{a as b,c as x,i as S,n as C,r as w,t as T}from"./alert-dialog-BcZULJsX.js";import{a as E,c as D,o as O}from"./explorer-file-drop-DAP7ha-E.js";import{c as k,n as A,o as j,r as M,s as N,t as P,u as F}from"./api-8Rp2LlXt.js";import{Ct as ee,E as I,Gt as L,In as R,Jt as te,Kt as z,St as ne,Tt as re,Ut as B,Wt as ie,_t as V,cr as H,gn as U,lr as W,qt as G,ur as ae,xt as oe}from"./index-CcAwxnT5.js";import{n as se}from"./explorer-tab-view-Bt9hRZUm.js";var K=e(n(),1),q=t(),ce=1,le=.9,ue=.8,de=.17,fe=.1,pe=.999,me=.9999,he=.99,ge=/[\\\/_+.#"@\[\(\{&]/,_e=/[\\\/_+.#"@\[\(\{&]/g,ve=/[\s-]/,ye=/[\s-]/g;function be(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?ce:he;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=be(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=ce:ge.test(e.charAt(l-1))?(d*=ue,p=e.slice(i,l-1).match(_e),p&&i>0&&(d*=pe**+p.length)):ve.test(e.charAt(l-1))?(d*=le,m=e.slice(i,l-1).match(ye),m&&i>0&&(d*=pe**+m.length)):(d*=de,i>0&&(d*=pe**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=me)),(d<fe&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=be(e,t,n,r,l+1,a+2,o),f*fe>d&&(d=f*fe)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function xe(e){return e.toLowerCase().replace(ye,` `)}function Se(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,be(e,t,xe(e),xe(t),0,0,{})}var Ce=`[cmdk-group=""]`,we=`[cmdk-group-items=""]`,Te=`[cmdk-group-heading=""]`,Ee=`[cmdk-item=""]`,De=`${Ee}:not([aria-disabled="true"])`,Oe=`cmdk-item-select`,ke=`data-value`,Ae=(e,t,n)=>Se(e,t,n),je=K.createContext(void 0),Me=()=>K.useContext(je),Ne=K.createContext(void 0),Pe=()=>K.useContext(Ne),Fe=K.createContext(void 0),Ie=K.forwardRef((e,t)=>{let n=Je(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=Je(()=>new Set),i=Je(()=>new Map),a=Je(()=>new Map),o=Je(()=>new Set),s=qe(e),{label:c,children:l,value:d,onValueChange:f,filter:p,shouldFilter:m,loop:g,disablePointerSelection:_=!1,vimBindings:v=!0,...y}=e,b=u(),x=u(),S=u(),C=K.useRef(null),w=Xe();Y(()=>{if(d!==void 0){let e=d.trim();n.current.value=e,T.emit()}},[d]),Y(()=>{w(6,j)},[]);let T=K.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)A(),O(),w(1,k);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(S);e?e.focus():(i=document.getElementById(b))==null||i.focus()}if(w(7,()=>{n.current.selectedItemId=M()?.id,T.emit()}),r||w(5,j),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}T.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),E=K.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,D(t,r)),w(2,()=>{O(),T.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),w(3,()=>{A(),O(),n.current.value||k(),T.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=M();w(4,()=>{A(),t?.getAttribute(`id`)===e&&k(),T.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:b,inputId:S,labelId:x,listInnerRef:C}),[]);function D(e,t){let r=s.current?.filter??Ae;return e?r(e,n.current.search,t):0}function O(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=C.current;N().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(we);t?t.appendChild(e.parentElement===t?e:e.closest(`${we} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${we} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=C.current?.querySelector(`${Ce}[${ke}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function k(){let e=N().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(ke);T.setState(`value`,e||void 0)}function A(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=D(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function j(){var e;let t=M();t&&(t.parentElement?.firstChild===t&&((e=t.closest(Ce)?.querySelector(Te))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function M(){return C.current?.querySelector(`${Ee}[aria-selected="true"]`)}function N(){return Array.from(C.current?.querySelectorAll(De)||[])}function P(e){let t=N()[e];t&&T.setState(`value`,t.getAttribute(ke))}function F(e){var t;let n=M(),r=N(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&T.setState(`value`,a.getAttribute(ke))}function ee(e){let t=M()?.closest(Ce),n;for(;t&&!n;)t=e>0?Ge(t,Ce):Ke(t,Ce),n=t?.querySelector(De);n?T.setState(`value`,n.getAttribute(ke)):F(e)}let I=()=>P(N().length-1),L=e=>{e.preventDefault(),e.metaKey?I():e.altKey?ee(1):F(1)},R=e=>{e.preventDefault(),e.metaKey?P(0):e.altKey?ee(-1):F(-1)};return K.createElement(h.div,{ref:t,tabIndex:-1,...y,"cmdk-root":``,onKeyDown:e=>{var t;(t=y.onKeyDown)==null||t.call(y,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:v&&e.ctrlKey&&L(e);break;case`ArrowDown`:L(e);break;case`p`:case`k`:v&&e.ctrlKey&&R(e);break;case`ArrowUp`:R(e);break;case`Home`:e.preventDefault(),P(0);break;case`End`:e.preventDefault(),I();break;case`Enter`:{e.preventDefault();let t=M();if(t){let e=new Event(Oe);t.dispatchEvent(e)}}}}},K.createElement(`label`,{"cmdk-label":``,htmlFor:E.inputId,id:E.labelId,style:$e},c),Qe(e,e=>K.createElement(Ne.Provider,{value:T},K.createElement(je.Provider,{value:E},e))))}),Le=K.forwardRef((e,t)=>{let n=u(),r=K.useRef(null),i=K.useContext(Fe),o=Me(),s=qe(e),c=s.current?.forceMount??i?.forceMount;Y(()=>{if(!c)return o.item(n,i?.id)},[c]);let l=Ye(n,r,[e.value,e.children,r],e.keywords),d=Pe(),f=X(e=>e.value&&e.value===l.current),p=X(e=>c||o.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);K.useEffect(()=>{let t=r.current;if(t&&!e.disabled)return t.addEventListener(Oe,m),()=>t.removeEventListener(Oe,m)},[p,e.onSelect,e.disabled]);function m(){var e,t;g(),(t=(e=s.current).onSelect)==null||t.call(e,l.current)}function g(){d.setState(`value`,l.current,!0)}if(!p)return null;let{disabled:_,value:v,onSelect:y,forceMount:b,keywords:x,...S}=e;return K.createElement(h.div,{ref:a(r,t),...S,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!_,"aria-selected":!!f,"data-disabled":!!_,"data-selected":!!f,onPointerMove:_||o.getDisablePointerSelection()?void 0:g,onClick:_?void 0:m},e.children)}),Re=K.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...o}=e,s=u(),c=K.useRef(null),l=K.useRef(null),d=u(),f=Me(),p=X(e=>i||f.filter()===!1?!0:!e.search||e.filtered.groups.has(s));Y(()=>f.group(s),[]),Ye(s,c,[e.value,e.heading,l]);let m=K.useMemo(()=>({id:s,forceMount:i}),[i]);return K.createElement(h.div,{ref:a(c,t),...o,"cmdk-group":``,role:`presentation`,hidden:!p||void 0},n&&K.createElement(`div`,{ref:l,"cmdk-group-heading":``,"aria-hidden":!0,id:d},n),Qe(e,e=>K.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?d:void 0},K.createElement(Fe.Provider,{value:m},e))))}),ze=K.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=K.useRef(null),o=X(e=>!e.search);return!n&&!o?null:K.createElement(h.div,{ref:a(i,t),...r,"cmdk-separator":``,role:`separator`})}),Be=K.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=Pe(),o=X(e=>e.search),s=X(e=>e.selectedItemId),c=Me();return K.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),K.createElement(h.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),Ve=K.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,o=K.useRef(null),s=K.useRef(null),c=X(e=>e.selectedItemId),l=Me();return K.useEffect(()=>{if(s.current&&o.current){let e=s.current,t=o.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),K.createElement(h.div,{ref:a(o,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":c,"aria-label":r,id:l.listId},Qe(e,e=>K.createElement(`div`,{ref:a(s,l.listInnerRef),"cmdk-list-sizer":``},e)))}),He=K.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return K.createElement(m,{open:n,onOpenChange:r},K.createElement(d,{container:o},K.createElement(f,{"cmdk-overlay":``,className:i}),K.createElement(p,{"aria-label":e.label,"cmdk-dialog":``,className:a},K.createElement(Ie,{ref:t,...s}))))}),Ue=K.forwardRef((e,t)=>X(e=>e.filtered.count===0)?K.createElement(h.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),We=K.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return K.createElement(h.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},Qe(e,e=>K.createElement(`div`,{"aria-hidden":!0},e)))}),J=Object.assign(Ie,{List:Ve,Item:Le,Input:Be,Group:Re,Separator:ze,Dialog:He,Empty:Ue,Loading:We});function Ge(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function Ke(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function qe(e){let t=K.useRef(e);return Y(()=>{t.current=e}),t}var Y=typeof window>`u`?K.useEffect:K.useLayoutEffect;function Je(e){let t=K.useRef();return t.current===void 0&&(t.current=e()),t}function X(e){let t=Pe(),n=()=>e(t.snapshot());return K.useSyncExternalStore(t.subscribe,n,n)}function Ye(e,t,n,r=[]){let i=K.useRef(),a=Me();return Y(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(ke,s),i.current=s}),i}var Xe=()=>{let[e,t]=K.useState(),n=Je(()=>new Map);return Y(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function Ze(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Qe({asChild:e,children:t},n){return e&&K.isValidElement(t)?K.cloneElement(Ze(t),{ref:t.ref},n(t.props.children)):n(t)}var $e={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`},Z=r(),et=K.forwardRef((e,t)=>{let n=(0,q.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=o(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,r),n[3]=r,n[4]=a);let s;return n[5]!==i||n[6]!==t||n[7]!==a?(s=(0,Z.jsx)(J,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=s):s=n[8],s});et.displayName=J.displayName;var tt=K.forwardRef((e,t)=>{let n=(0,q.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,Z.jsx)(R,{className:`mr-2 h-4 w-4 shrink-0 opacity-50`}),n[3]=a):a=n[3];let s;n[4]===r?s=n[5]:(s=o(`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]=s);let c;return n[6]!==i||n[7]!==t||n[8]!==s?(c=(0,Z.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[a,(0,Z.jsx)(J.Input,{ref:t,className:s,...i})]}),n[6]=i,n[7]=t,n[8]=s,n[9]=c):c=n[9],c});tt.displayName=J.Input.displayName;var nt=K.forwardRef((e,t)=>{let n=(0,q.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=o(`max-h-[300px] overflow-y-auto overflow-x-hidden`,r),n[3]=r,n[4]=a);let s;return n[5]!==i||n[6]!==t||n[7]!==a?(s=(0,Z.jsx)(J.List,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=s):s=n[8],s});nt.displayName=J.List.displayName;var rt=K.forwardRef((e,t)=>{let n=(0,q.c)(4),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=o(i.bodyMuted,`py-6 text-center`),n[0]=r):r=n[0];let a;return n[1]!==e||n[2]!==t?(a=(0,Z.jsx)(J.Empty,{ref:t,className:r,...e}),n[1]=e,n[2]=t,n[3]=a):a=n[3],a});rt.displayName=J.Empty.displayName;var it=K.forwardRef((e,t)=>{let n=(0,q.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=o(`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 s;return n[5]!==i||n[6]!==t||n[7]!==a?(s=(0,Z.jsx)(J.Group,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=s):s=n[8],s});it.displayName=J.Group.displayName;var at=K.forwardRef((e,t)=>{let n=(0,q.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=o(`-mx-1 h-px bg-divider`,r),n[3]=r,n[4]=a);let s;return n[5]!==i||n[6]!==t||n[7]!==a?(s=(0,Z.jsx)(J.Separator,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=s):s=n[8],s});at.displayName=J.Separator.displayName;var ot=K.forwardRef((e,t)=>{let n=(0,q.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let s;n[3]===r?s=n[4]:(s=o(o(i.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`),r),n[3]=r,n[4]=s);let c;return n[5]!==a||n[6]!==t||n[7]!==s?(c=(0,Z.jsx)(J.Item,{ref:t,className:s,...a}),n[5]=a,n[6]=t,n[7]=s,n[8]=c):c=n[8],c});ot.displayName=J.Item.displayName;var st=100,ct=500;function lt(e){return e.trim().toLowerCase().split(/\s+/).filter(Boolean)}function ut(e,t){return t.length===0||t.every(t=>e.haystack.includes(t))}function dt(e,t,n){if(t.length===0)return[];let r=[];for(let n of e)if(ut(n,t)&&(r.push(n.node),r.length>=ct))break;return r.sort((e,t)=>ft(e,t,n)).slice(0,st)}function ft(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 pt(e,t){return n=>{e.current=n,t&&(t.current=n)}}function mt(e){let t=(0,q.c)(41),{items:n,isReady:r,onRequestIndex:a,onOpenChange:s,onSelect:c,inputRef:l}=e,u=r!==void 0&&r,d=(0,K.useRef)(null),f=(0,K.useRef)(!1),p=(0,K.useRef)(!1),[m,h]=(0,K.useState)(!1),[g,_]=(0,K.useState)(``),v=(0,K.useDeferredValue)(g),y;t[0]===a?y=t[1]:(y=function(){p.current||(p.current=!0,a())},t[0]=a,t[1]=y);let b=y,x;t[2]!==v||t[3]!==n?(x=dt(n,lt(v),v),t[2]=v,t[3]=n,t[4]=x):x=t[4];let S=x,C,w;t[5]!==s||t[6]!==g?(C=()=>{let e=g.trim().length>0;h(e),f.current!==e&&(f.current=e,s(e))},w=[s,g],t[5]=s,t[6]=g,t[7]=C,t[8]=w):(C=t[7],w=t[8]),(0,K.useEffect)(C,w);let T;t[9]===s?T=t[10]:(T=function(e){e||_(``),h(e),s(e),e&&requestAnimationFrame(()=>d.current?.focus())},t[9]=s,t[10]=T);let E=T,D;t[11]!==s||t[12]!==c?(D=function(e){c(e),h(!1),s(!1),_(``)},t[11]=s,t[12]=c,t[13]=D):D=t[13];let O=D,k;t[14]===l?k=t[15]:(k=pt(d,l),t[14]=l,t[15]=k);let A;t[16]===b?A=t[17]:(A=e=>{b(),_(e.target.value)},t[16]=b,t[17]=A);let j;t[18]!==g||t[19]!==b||t[20]!==k||t[21]!==A?(j=(0,Z.jsx)(ee,{asChild:!0,children:(0,Z.jsx)(`div`,{className:`bg-transparent`,children:(0,Z.jsx)(U,{ref:k,value:g,onPointerDown:b,onChange:A,placeholder:`Search files and folders`,className:`pr-[4px]`})})}),t[18]=g,t[19]=b,t[20]=k,t[21]=A,t[22]=j):j=t[22];let M;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(M=o(i.compact,`py-4`),t[23]=M):M=t[23];let N=u?`No matches found.`:`Indexing files and folders...`,P;t[24]===N?P=t[25]:(P=(0,Z.jsx)(rt,{className:M,children:N}),t[24]=N,t[25]=P);let F;if(t[26]!==O||t[27]!==S){let e;t[29]===O?e=t[30]:(e=e=>(0,Z.jsxs)(ot,{value:e.path,onSelect:()=>O(e),className:e.ignored?`opacity-50`:void 0,children:[e.type===`folder`?(0,Z.jsx)(H,{className:`h-4 w-4 text-muted-foreground`}):(0,Z.jsx)(V,{filename:e.name}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`truncate`,children:e.name}),(0,Z.jsx)(`div`,{className:o(i.compact,`truncate text-muted-foreground`),children:e.path})]})]},e.path),t[29]=O,t[30]=e),F=S.map(e),t[26]=O,t[27]=S,t[28]=F}else F=t[28];let I;t[31]===F?I=t[32]:(I=(0,Z.jsx)(it,{children:F}),t[31]=F,t[32]=I);let L;t[33]!==P||t[34]!==I?(L=(0,Z.jsx)(ne,{align:`start`,side:`bottom`,sideOffset:4,onOpenAutoFocus:ht,className:`w-[var(--radix-popover-trigger-width)] p-0`,children:(0,Z.jsx)(et,{shouldFilter:!1,children:(0,Z.jsxs)(nt,{children:[P,I]})})}),t[33]=P,t[34]=I,t[35]=L):L=t[35];let R;return t[36]!==E||t[37]!==m||t[38]!==j||t[39]!==L?(R=(0,Z.jsxs)(oe,{open:m,onOpenChange:E,children:[j,L]}),t[36]=E,t[37]=m,t[38]=j,t[39]=L,t[40]=R):R=t[40],R}function ht(e){return e.preventDefault()}function gt(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t):``}function _t(e,t){let n=e.split(`/`);t&&n.pop();let r=[],i=``;for(let e of n)i=i?`${i}/${e}`:e,r.push(i);return r}function vt(e,t){let n=new Set(e);for(let e of t)n.add(e);return n}function yt(e,t){let n=new Set(e);return n.delete(t),n}function bt(e,t){return e===t||e.startsWith(t+`/`)}function xt(e,t){let n=new Set(e);for(let e of n)bt(e,t)&&n.delete(e);return n}async function St(e,t){try{await e()}catch{_({title:`Error`,description:t,variant:`destructive`})}}function Ct({rootEntries:e,expandedPaths:t,newItemIn:n,readDir:r}){let i=[];function a(e,t){n&&n.dirPath===e&&i.push({kind:`new-item`,key:`new:${e}`,level:t,node:null,isExpanded:!1,dirPath:e,newItemType:n.type})}function o(e,n){for(let s of e){let e=s.type===`folder`&&t.has(s.path);if(i.push({kind:`node`,key:`node:${s.path}`,level:n,node:s,isExpanded:e,dirPath:``,newItemType:null}),!e)continue;let c=r(s.path);if(c.entries===null){i.push({kind:c.isError?`dir-error`:`dir-loading`,key:`${c.isError?`err`:`load`}:${s.path}`,level:n+1,node:null,isExpanded:!1,dirPath:s.path,newItemType:null});continue}a(s.path,n+1),o(c.entries,n+1)}}return a(``,0),o(e,0),i}var wt=-1,Tt=new Map,Et=new Set,Dt=0;function Ot(){Dt+=1;for(let e of Et)e()}function kt(e){return Et.add(e),()=>{Et.delete(e)}}function At(){return Dt}function jt(e){return e instanceof Error?e:Error(String(e))}function Mt(e,t,n){let r=Tt.get(e)?.get(t);return r?{entries:r.entries,isLoading:r.loadedVersion!==n,isError:r.error!==null}:{entries:null,isLoading:!0,isError:!1}}var Nt=null,Pt=null,Ft=-1;function It(e,t){if(Nt&&Pt===e&&Ft===t)return Nt;let n=e;return Nt={read(e,t){return Mt(n,e,t)}},Pt=e,Ft=t,Nt}function Lt(e,t,n){let r=Tt.get(e);r||(r=new Map,Tt.set(e,r));let i=r.get(t);if(i&&(i.loadingVersion===n||i.loadedVersion===n))return!1;let a={entries:i?.entries??null,loadedVersion:i?.loadedVersion??wt,loadingVersion:n,error:null};return r.set(t,a),N(e,t).then(e=>{r.get(t)===a&&(r.set(t,{entries:e.entries,loadedVersion:n,loadingVersion:null,error:null}),Ot())}).catch(e=>{r.get(t)===a&&(r.set(t,{entries:a.entries,loadedVersion:n,loadingVersion:null,error:jt(e)}),Ot())}),!0}function Rt(e,t){let n=!1;for(let r of t)Lt(e,r.path,r.version)&&(n=!0);n&&Ot()}function zt(e,t){return e===t||e.startsWith(`${t}/`)}function Bt(e,t){let n=Tt.get(e);if(!n)return;let r=!1;for(let e of n.keys())zt(e,t)&&(n.delete(e),r=!0);r&&Ot()}async function Vt(e){let t=e.current;if(!t.trashTarget)return;let n=t.trashTarget;t.setTrashTarget(null),await St(async()=>{await M(t.threadId,n.path),t.setExplorerClearPath(n.path),t.reloadDir(gt(n.path)),t.handleExplorerMutation(),t.fetchUnifiedStatus(!0),t.setExpandedPaths(e=>xt(e,n.path)),t.removeSubtreeVersions(n.path)},`Failed to move "${n.name}" to trash`)}async function Ht(e,t,n){let r=e.current;if(n===t.name){r.setRenamingPath(null);return}r.setRenamingPath(null),await St(async()=>{await F(r.threadId,t.path,n),r.reloadDir(gt(t.path)),r.handleExplorerMutation(),r.fetchUnifiedStatus(!0),t.type===`folder`&&(r.setExpandedPaths(e=>xt(e,t.path)),r.removeSubtreeVersions(t.path))},`Failed to rename "${t.name}"`)}async function Ut(e,t){let n=e.current;if(!n.newItemIn)return;let{dirPath:r,type:i}=n.newItemIn;n.setNewItemIn(null),await St(async()=>{i===`file`?await P(n.threadId,r,t):await A(n.threadId,r,t),n.reloadDir(r),n.handleExplorerMutation(),n.fetchUnifiedStatus(!0)},`Failed to create ${i} "${t}"`)}async function Wt(e,t){await St(async()=>{let n=e.current,r=await j(n.threadId,t.path);n.reloadDir(gt(t.path)),n.handleExplorerMutation(),n.fetchUnifiedStatus(!0);let i=_({title:r.alreadyIgnored?`Already ignored`:`Added to .gitignore`,description:r.alreadyIgnored?`"${t.name}" is already in .gitignore.`:`"${t.name}" was added to .gitignore.`});window.setTimeout(()=>{i.dismiss()},2e3)},`Failed to ignore "${t.name}"`)}function Gt(e){return{handleNewFile:(0,K.useCallback)(t=>{qt(e.current,t),e.current.setNewItemIn({dirPath:t,type:`file`})},[]),handleNewFolder:(0,K.useCallback)(t=>{qt(e.current,t),e.current.setNewItemIn({dirPath:t,type:`folder`})},[]),handleCancelNewItem:(0,K.useCallback)(()=>{e.current.setNewItemIn(null)},[]),handleCommitNewItem:(0,K.useCallback)(t=>Ut(e,t),[]),handleFolderDropTargetChange:(0,K.useCallback)(t=>{e.current.setDropTargetPath(t)},[]),handleFilesDrop:(0,K.useCallback)((t,n)=>{e.current.onFilesDrop?.(t,n)},[]),handleRetryDir:(0,K.useCallback)(t=>{e.current.reloadDir(t)},[])}}function Kt(e){let t=(0,K.useRef)(e);t.current=e;let n=(0,K.useCallback)(e=>{let{expandedPaths:n,setExpandedPaths:r,ensureDirVersionsInitialized:i}=t.current;if(n.has(e.path)){r(t=>yt(t,e.path));return}r(t=>vt(t,[e.path])),i([e.path])},[]),r=(0,K.useCallback)(e=>{t.current.onNodeSelect(e)},[]),i=(0,K.useCallback)(e=>{t.current.setTrashTarget(e)},[]),a=(0,K.useCallback)(async e=>{let{threadId:n}=t.current;await St(()=>k(n,e.path),`Failed to open "${e.name}"`)},[]),o=(0,K.useCallback)(async e=>{await St(async()=>{await navigator.clipboard.writeText(e.path);let t=_({title:`Copied`,description:`Reference copied to clipboard.`});window.setTimeout(()=>{t.dismiss()},2e3)},`Failed to copy reference for "${e.name}"`)},[]),s=(0,K.useCallback)(()=>Vt(t),[]),c=(0,K.useCallback)(e=>{t.current.setNewItemIn(null),t.current.setRenamingPath(e.path)},[]),l=(0,K.useCallback)(()=>{t.current.setRenamingPath(null)},[]),u=(0,K.useCallback)((e,n)=>Ht(t,e,n),[]),{handleNewFile:d,handleNewFolder:f,handleCancelNewItem:p,handleCommitNewItem:m,handleFolderDropTargetChange:h,handleFilesDrop:g,handleRetryDir:v}=Gt(t),y=(0,K.useCallback)(e=>Wt(t,e),[]),b=(0,K.useCallback)(e=>{let n=t.current,r=_t(e.path,e.type===`file`);n.setExpandedPaths(e=>vt(e,r)),n.ensureDirVersionsInitialized(r),e.type===`file`&&n.onNodeSelect(e)},[]);return{callbacks:(0,K.useMemo)(()=>({onToggleFolder:n,onSelectNode:r,onStartRename:c,onCommitRename:u,onCancelRename:l,onDelete:i,onOpen:a,onCopyReference:o,onGitIgnore:y,onNewFile:d,onNewFolder:f,onCommitNewItem:m,onCancelNewItem:p,onFolderDropTargetChange:h,onFilesDrop:g,onRetryDir:v}),[p,l,m,u,o,i,g,h,y,d,f,a,v,r,c,n]),handleConfirmTrash:s,handleSearchSelect:b}}function qt(e,t){e.setRenamingPath(null),e.expandedPaths.has(t)||(e.setExpandedPaths(e=>vt(e,[t])),e.ensureDirVersionsInitialized([t]))}var Q=se(`explorer.tree.ui`),Jt=[];function Yt(e){return e?.value.trim()??``}function Xt(e,t){let n=t.filter(t=>!e.has(t));if(n.length===0)return e;let r=new Map(e);for(let e of n)r.set(e,0);return r}function Zt(e){let t=new Set([``]);for(let n of e)t.add(n);return t}function Qt(e,t){let n=new Map(e);for(let r of Zt(t))n.set(r,(e.get(r)??0)+1);return n}function $t(e,t){let n=new Map(e);for(let e of n.keys())bt(e,t)&&n.delete(e);return n}function en(e,t,n,r,i){let a=(0,q.c)(23),[o,s]=(0,K.useState)(tn),c=(0,K.useRef)(0),l=(0,K.useRef)(null),u;a[0]===o?u=a[1]:(u=e=>o.get(e)??0,a[0]=o,a[1]=u);let d=u,f;a[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{s(t=>{let n=new Map(t);return n.set(e,(t.get(e)??0)+1),n})},a[2]=f):f=a[2];let p=f,m;a[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=e=>{s(t=>Xt(t,e))},a[3]=m):m=a[3];let h=m,g;a[4]===e?g=a[5]:(g=t=>{s(e=>$t(e,t)),Bt(e,t)},a[4]=e,a[5]=g);let _=g,v,y;a[6]!==t||a[7]!==e?(v=()=>{if(!e)return;let n=l.current!==null&&l.current!==e;l.current=e,n&&(s(new Map([[``,0]])),c.current=t)},y=[t,e],a[6]=t,a[7]=e,a[8]=v,a[9]=y):(v=a[8],y=a[9]),(0,K.useEffect)(v,y);let b,x;a[10]!==n||a[11]!==t||a[12]!==e?(b=()=>{!e||t<=c.current||(c.current=t,s(e=>Qt(e,n)))},x=[t,n,e],a[10]=n,a[11]=t,a[12]=e,a[13]=b,a[14]=x):(b=a[13],x=a[14]),(0,K.useEffect)(b,x);let S,C;a[15]!==i||a[16]!==r||a[17]!==e?(S=()=>{if(!i||!e)return;let t=_t(i,!0);t.length!==0&&(r(e=>vt(e,t)),s(e=>Xt(e,t)))},C=[i,r,e],a[15]=i,a[16]=r,a[17]=e,a[18]=S,a[19]=C):(S=a[18],C=a[19]),(0,K.useEffect)(S,C);let w;return a[20]!==d||a[21]!==_?(w={getDirVersion:d,reloadDir:p,ensureDirVersionsInitialized:h,removeSubtreeVersions:_},a[20]=d,a[21]=_,a[22]=w):w=a[22],w}function tn(){return new Map([[``,0]])}var nn=8,$=new Map;function rn(e){return e.map(e=>({node:e,haystack:`${e.name} ${e.path}`.toLowerCase()}))}function an(e,t){if(!$.has(e)&&$.size>=nn){let e=$.keys().next().value;e!==void 0&&$.delete(e)}$.set(e,t)}function on(e){let[t,n]=(0,K.useState)([]),[r,i]=(0,K.useState)(!1),[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(!1),l=(0,K.useRef)(!1),u=(0,K.useRef)(null),d=(0,K.useCallback)(async()=>{if(!e)return;let t=$.get(e);if(t){n(t),i(!0);return}if(u.current!==e){u.current=e,n([]),i(!1);try{let t=rn((await N(e,``,!0)).entries);an(e,t),n(t),i(!0)}catch{n([]),i(!1)}finally{u.current===e&&(u.current=null)}}},[e]),f=(0,K.useCallback)(()=>{$.delete(e),n([]),i(!1),l.current&&d()},[d,e]),p=(0,K.useCallback)(()=>{l.current=!0,c(!0)},[]),m=(0,K.useCallback)(e=>{(0,K.startTransition)(()=>{o(e)})},[]);return(0,K.useEffect)(()=>{l.current=!1,u.current=null,n([]),i(!1),c(!1)},[e]),(0,K.useEffect)(()=>{s&&e&&d()},[d,s,e]),{searchableItems:t,isSearchCacheReady:r,isSearchOpen:a,onSearchIndexRequest:p,onSearchOpenChange:m,invalidateSearchIndex:f}}function sn(){let e=(0,q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(`div`,{className:`h-2`}),e[0]=t):t=e[0],t}var cn={Header:sn,Footer:sn};function ln(e,t){return t.key}function un(e){let t=(0,q.c)(19),{defaultValue:n,onCommit:r,onCancel:a,level:o,basePadding:s,icon:c}=e,l=(0,K.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,K.useEffect)(u,d);let f;t[2]!==a||t[3]!==r?(f=function(e){e?r(e):a()},t[2]=a,t[3]=r,t[4]=f):f=t[4];let p=f,m;t[5]!==p||t[6]!==a?(m=function(e){e.key===`Enter`?p(Yt(l.current)):e.key===`Escape`&&a()},t[5]=p,t[6]=a,t[7]=m):m=t[7];let h=m,g;t[8]===p?g=t[9]:(g=function(){p(Yt(l.current))},t[8]=p,t[9]=g);let _=g,v;t[10]!==n||t[11]!==_||t[12]!==h?(v=(0,Z.jsx)(`input`,{ref:l,defaultValue:n,onKeyDown:h,onBlur:_,className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`,onClick:dn}),t[10]=n,t[11]=_,t[12]=h,t[13]=v):v=t[13];let y;return t[14]!==s||t[15]!==c||t[16]!==o||t[17]!==v?(y=(0,Z.jsxs)(B,{level:o,basePadding:s,className:i.conversationBody,children:[c,v]}),t[14]=s,t[15]=c,t[16]=o,t[17]=v,t[18]=y):y=t[18],y}function dn(e){return e.stopPropagation()}function fn(e){let t=(0,q.c)(13),{node:n,onCommitRename:r,onCancelRename:i}=e,a;t[0]!==n||t[1]!==i||t[2]!==r?(a=function(e){let t=e.trim();t?r(n,t):i()},t[0]=n,t[1]=i,t[2]=r,t[3]=a):a=t[3];let o=a,s;t[4]!==o||t[5]!==i?(s=function(e){if(e.key===`Escape`){i();return}e.key===`Enter`&&o(e.target.value)},t[4]=o,t[5]=i,t[6]=s):s=t[6];let c=s,l;t[7]===o?l=t[8]:(l=e=>o(e.target.value),t[7]=o,t[8]=l);let u;return t[9]!==c||t[10]!==n.name||t[11]!==l?(u=(0,Z.jsx)(`input`,{autoFocus:!0,defaultValue:n.name,onKeyDown:c,onBlur:l,onClick:pn,className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`}),t[9]=c,t[10]=n.name,t[11]=l,t[12]=u):u=t[12],u}function pn(e){return e.stopPropagation()}function mn(e,t){return o(i.conversationBody,e.ignored&&`opacity-50`,t&&`bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-primary`)}function hn(e,t){O(e.dataTransfer)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`,t.isDropTarget||t.onFolderDropTargetChange(t.path))}function gn(e,t){O(e.dataTransfer)&&(e.currentTarget.contains(e.relatedTarget)||t.isDropTarget&&t.onFolderDropTargetChange(null))}function _n(e,t){if(!O(e.dataTransfer))return;e.preventDefault(),e.stopPropagation(),t.onFolderDropTargetChange(null);let{files:n,skippedFolders:r}=E(e.dataTransfer);r>0&&_({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),n.length>0&&t.onFilesDrop(n,t.path)}function vn(e){let t=(0,q.c)(35),{node:n,level:r,isExpanded:i,context:a}=e,{callbacks:o}=a,l=a.renamingPath===n.path,u=a.dropTargetPath===n.path,d=i?s:c,f=i?W:H,p;t[0]!==o.onFilesDrop||t[1]!==o.onFolderDropTargetChange||t[2]!==u||t[3]!==n.path?(p={path:n.path,isDropTarget:u,onFolderDropTargetChange:o.onFolderDropTargetChange,onFilesDrop:o.onFilesDrop},t[0]=o.onFilesDrop,t[1]=o.onFolderDropTargetChange,t[2]=u,t[3]=n.path,t[4]=p):p=t[4];let m=p,h=a.selectedPath===n.path,g;t[5]!==u||t[6]!==n?(g=mn(n,u),t[5]=u,t[6]=n,t[7]=g):g=t[7];let _;t[8]!==o||t[9]!==i||t[10]!==n?(_=e=>{e.stopPropagation(),Q.info(`[Files explorer] Folder row clicked`,{directory:n.path,expanded:i}),o.onToggleFolder(n)},t[8]=o,t[9]=i,t[10]=n,t[11]=_):_=t[11];let v,y,b;t[12]===m?(v=t[13],y=t[14],b=t[15]):(v=e=>hn(e,m),y=e=>gn(e,m),b=e=>_n(e,m),t[12]=m,t[13]=v,t[14]=y,t[15]=b);let x;t[16]===d?x=t[17]:(x=(0,Z.jsx)(`span`,{className:`text-muted-foreground w-3 flex-shrink-0`,children:(0,Z.jsx)(d,{className:`h-3 w-3`})}),t[16]=d,t[17]=x);let S;t[18]!==f||t[19]!==o.onCancelRename||t[20]!==o.onCommitRename||t[21]!==l||t[22]!==n?(S=l?(0,Z.jsx)(fn,{node:n,onCommitRename:o.onCommitRename,onCancelRename:o.onCancelRename}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(f,{className:`h-4 w-4 flex-shrink-0`}),(0,Z.jsx)(`span`,{className:`flex-1 truncate`,children:n.name})]}),t[18]=f,t[19]=o.onCancelRename,t[20]=o.onCommitRename,t[21]=l,t[22]=n,t[23]=S):S=t[23];let C;return t[24]!==r||t[25]!==n.path||t[26]!==h||t[27]!==g||t[28]!==_||t[29]!==v||t[30]!==y||t[31]!==b||t[32]!==x||t[33]!==S?(C=(0,Z.jsxs)(B,{level:r,basePadding:10,selected:h,className:g,"data-explorer-node-path":n.path,onClick:_,onDragOver:v,onDragLeave:y,onDrop:b,children:[x,S]}),t[24]=r,t[25]=n.path,t[26]=h,t[27]=g,t[28]=_,t[29]=v,t[30]=y,t[31]=b,t[32]=x,t[33]=S,t[34]=C):C=t[34],C}function yn(e){let t=(0,q.c)(20),{node:n,level:r,context:a}=e,{callbacks:s}=a,c=a.renamingPath===n.path,l=a.selectedPath===n.path,u=n.ignored&&`opacity-50`,d;t[0]===u?d=t[1]:(d=o(i.conversationBody,u),t[0]=u,t[1]=d);let f;t[2]!==s||t[3]!==n?(f=()=>s.onSelectNode(n),t[2]=s,t[3]=n,t[4]=f):f=t[4];let p;t[5]===n.name?p=t[6]:(p=(0,Z.jsx)(V,{filename:n.name}),t[5]=n.name,t[6]=p);let m;t[7]!==s.onCancelRename||t[8]!==s.onCommitRename||t[9]!==c||t[10]!==n?(m=c?(0,Z.jsx)(fn,{node:n,onCommitRename:s.onCommitRename,onCancelRename:s.onCancelRename}):(0,Z.jsx)(`span`,{className:`flex-1 truncate`,children:n.name}),t[7]=s.onCancelRename,t[8]=s.onCommitRename,t[9]=c,t[10]=n,t[11]=m):m=t[11];let h;return t[12]!==r||t[13]!==n.path||t[14]!==l||t[15]!==d||t[16]!==f||t[17]!==p||t[18]!==m?(h=(0,Z.jsxs)(B,{level:r,basePadding:22,selected:l,className:d,"data-explorer-node-path":n.path,onClick:f,children:[p,m]}),t[12]=r,t[13]=n.path,t[14]=l,t[15]=d,t[16]=f,t[17]=p,t[18]=m,t[19]=h):h=t[19],h}function bn(e){let t=(0,q.c)(5),{level:n}=e,r=10+n*20,i;t[0]===r?i=t[1]:(i={paddingLeft:r},t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(`div`,{className:`h-4 animate-pulse rounded bg-muted`}),t[2]=a):a=t[2];let o;return t[3]===i?o=t[4]:(o=(0,Z.jsx)(`div`,{className:`px-3 py-1`,style:i,children:a}),t[3]=i,t[4]=o),o}function xn(e){let t=(0,q.c)(9),{level:n,dirPath:r,onRetry:a}=e,s=10+n*20,c;t[0]===s?c=t[1]:(c={paddingLeft:s},t[0]=s,t[1]=c);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsx)(`span`,{className:o(i.caption,`truncate text-muted-foreground`),children:`Failed to load this folder.`}),t[2]=u):u=t[2];let d;t[3]!==r||t[4]!==a?(d=(0,Z.jsx)(l,{type:`button`,variant:`ghost`,size:`sm`,className:`h-6 px-2`,onClick:()=>a(r),children:`Retry`}),t[3]=r,t[4]=a,t[5]=d):d=t[5];let f;return t[6]!==c||t[7]!==d?(f=(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1`,style:c,children:[u,d]}),t[6]=c,t[7]=d,t[8]=f):f=t[8],f}var Sn=(0,K.memo)(function(e){let t=(0,q.c)(19),{row:n,context:r}=e;if(n.kind===`new-item`){let e=n.newItemType===`folder`,i=e?10:22,a;t[0]===e?a=t[1]:(a=e?(0,Z.jsx)(H,{className:`h-4 w-4 flex-shrink-0`}):(0,Z.jsx)(ae,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),t[0]=e,t[1]=a);let o;return t[2]!==r.callbacks.onCancelNewItem||t[3]!==r.callbacks.onCommitNewItem||t[4]!==n.level||t[5]!==i||t[6]!==a?(o=(0,Z.jsx)(un,{defaultValue:``,level:n.level,basePadding:i,icon:a,onCommit:r.callbacks.onCommitNewItem,onCancel:r.callbacks.onCancelNewItem}),t[2]=r.callbacks.onCancelNewItem,t[3]=r.callbacks.onCommitNewItem,t[4]=n.level,t[5]=i,t[6]=a,t[7]=o):o=t[7],o}if(n.kind===`dir-loading`){let e;return t[8]===n.level?e=t[9]:(e=(0,Z.jsx)(bn,{level:n.level}),t[8]=n.level,t[9]=e),e}if(n.kind===`dir-error`){let e;return t[10]!==r.callbacks.onRetryDir||t[11]!==n.dirPath||t[12]!==n.level?(e=(0,Z.jsx)(xn,{level:n.level,dirPath:n.dirPath,onRetry:r.callbacks.onRetryDir}),t[10]=r.callbacks.onRetryDir,t[11]=n.dirPath,t[12]=n.level,t[13]=e):e=t[13],e}if(!n.node)return null;let i;return t[14]!==r||t[15]!==n.isExpanded||t[16]!==n.level||t[17]!==n.node?(i=n.node.type===`folder`?(0,Z.jsx)(vn,{node:n.node,level:n.level,isExpanded:n.isExpanded,context:r}):(0,Z.jsx)(yn,{node:n.node,level:n.level,context:r}),t[14]=r,t[15]=n.isExpanded,t[16]=n.level,t[17]=n.node,t[18]=i):i=t[18],i});function Cn(e){let t=(0,q.c)(33),{node:n,newItemDir:r,callbacks:i}=e,a=n.type===`folder`?`Git Ignore This Folder`:`Git Ignore This File`,o=n.name===`.gitignore`,s;t[0]!==i||t[1]!==n?(s=(0,Z.jsx)(z,{onSelect:()=>i.onOpen(n),children:`Open`}),t[0]=i,t[1]=n,t[2]=s):s=t[2];let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsx)(G,{}),t[3]=c):c=t[3];let l;t[4]!==i||t[5]!==r?(l=(0,Z.jsx)(z,{onSelect:()=>i.onNewFile(r),children:`New File...`}),t[4]=i,t[5]=r,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==r?(u=(0,Z.jsx)(z,{onSelect:()=>i.onNewFolder(r),children:`New Folder...`}),t[7]=i,t[8]=r,t[9]=u):u=t[9];let d;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Z.jsx)(G,{}),t[10]=d):d=t[10];let f;t[11]!==i||t[12]!==n?(f=(0,Z.jsx)(z,{onSelect:()=>i.onCopyReference(n),children:`Copy Reference`}),t[11]=i,t[12]=n,t[13]=f):f=t[13];let p;t[14]!==i||t[15]!==a||t[16]!==o||t[17]!==n?(p=!o&&(0,Z.jsx)(z,{onSelect:()=>i.onGitIgnore(n),children:a}),t[14]=i,t[15]=a,t[16]=o,t[17]=n,t[18]=p):p=t[18];let m;t[19]!==i||t[20]!==n?(m=(0,Z.jsx)(z,{onSelect:()=>i.onStartRename(n),children:`Rename...`}),t[19]=i,t[20]=n,t[21]=m):m=t[21];let h;t[22]!==i||t[23]!==n?(h=(0,Z.jsx)(z,{onSelect:()=>i.onDelete(n),className:`text-destructive focus:text-destructive`,children:`Delete`}),t[22]=i,t[23]=n,t[24]=h):h=t[24];let g;return t[25]!==s||t[26]!==l||t[27]!==u||t[28]!==f||t[29]!==p||t[30]!==m||t[31]!==h?(g=(0,Z.jsxs)(Z.Fragment,{children:[s,c,l,u,d,f,p,m,h]}),t[25]=s,t[26]=l,t[27]=u,t[28]=f,t[29]=p,t[30]=m,t[31]=h,t[32]=g):g=t[32],g}function wn(e){let t=(0,q.c)(7),{callbacks:n}=e,r;t[0]===n?r=t[1]:(r=(0,Z.jsx)(z,{onSelect:()=>n.onNewFile(``),children:`New File...`}),t[0]=n,t[1]=r);let i;t[2]===n?i=t[3]:(i=(0,Z.jsx)(z,{onSelect:()=>n.onNewFolder(``),children:`New Folder...`}),t[2]=n,t[3]=i);let a;return t[4]!==r||t[5]!==i?(a=(0,Z.jsxs)(Z.Fragment,{children:[r,i]}),t[4]=r,t[5]=i,t[6]=a):a=t[6],a}function Tn(e){let t=(0,q.c)(15),{trashTarget:n,onDismiss:r,onConfirm:i}=e,a=n!==null,o;t[0]===r?o=t[1]:(o=e=>!e&&r(),t[0]=r,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Z.jsx)(x,{children:`Move to Trash`}),t[2]=s):s=t[2];let c=n?.name,l;t[3]===c?l=t[4]:(l=(0,Z.jsxs)(b,{children:[`Move “`,c,`” to trash?`]}),t[3]=c,t[4]=l);let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsx)(w,{children:`Cancel`}),t[5]=u):u=t[5];let d;t[6]===i?d=t[7]:(d=(0,Z.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[u,(0,Z.jsx)(C,{onClick:i,children:`Move to Trash`})]}),t[6]=i,t[7]=d);let f;t[8]!==l||t[9]!==d?(f=(0,Z.jsxs)(S,{children:[s,l,d]}),t[8]=l,t[9]=d,t[10]=f):f=t[10];let p;return t[11]!==a||t[12]!==o||t[13]!==f?(p=(0,Z.jsx)(T,{open:a,onOpenChange:o,children:f}),t[11]=a,t[12]=o,t[13]=f,t[14]=p):p=t[14],p}function En(e){let t=(0,q.c)(3),{onRetry:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(`p`,{className:i.bodyMuted,children:`Failed to load files`}),t[0]=r):r=t[0];let a;return t[1]===n?a=t[2]:(a=(0,Z.jsxs)(`div`,{className:`flex flex-col items-center gap-3 px-6 py-8 text-center`,children:[r,(0,Z.jsx)(l,{type:`button`,variant:`outline`,onClick:n,children:`Retry`})]}),t[1]=n,t[2]=a),a}function Dn(e){let t=(0,q.c)(14),{listing:n,rows:r,rowContext:i,renderRow:a,scrollParent:o,onRetry:s}=e,c=(0,K.useRef)(null),l;t[0]===r?l=t[1]:(l=r.map(kn).join(``),t[0]=r,t[1]=l);let u=l,d;t[2]!==r.length||t[3]!==u?(d=e=>{c.current!==u&&(c.current=u,Q.info(`[Files explorer] Virtuoso rendered rows`,{totalRows:r.length,renderedRows:e.map(On)}))},t[2]=r.length,t[3]=u,t[4]=d):d=t[4];let f=d;if(n.entries===null){let e;return t[5]!==n.isError||t[6]!==s?(e=n.isError?(0,Z.jsx)(En,{onRetry:s}):(0,Z.jsx)(I,{}),t[5]=n.isError,t[6]=s,t[7]=e):e=t[7],e}let p=o??void 0,m;return t[8]!==f||t[9]!==a||t[10]!==i||t[11]!==r||t[12]!==p?(m=(0,Z.jsx)(re,{data:r,context:i,computeItemKey:ln,itemContent:a,itemsRendered:f,components:cn,customScrollParent:p,className:`w-full`}),t[8]=f,t[9]=a,t[10]=i,t[11]=r,t[12]=p,t[13]=m):m=t[13],m}function On(e){let{data:t,index:n}=e;return{index:n,key:t?.key??null,path:t?.node?.path??null,kind:t?.kind??null}}function kn(e){return e.key}function An(e){let t=(0,q.c)(9),{node:n,callbacks:r}=e;if(!n){let e;return t[0]===r?e=t[1]:(e=(0,Z.jsx)(wn,{callbacks:r}),t[0]=r,t[1]=e),e}let i;t[2]!==n.path||t[3]!==n.type?(i=n.type===`folder`?n.path:gt(n.path),t[2]=n.path,t[3]=n.type,t[4]=i):i=t[4];let a=i,o;return t[5]!==r||t[6]!==a||t[7]!==n?(o=(0,Z.jsx)(Cn,{node:n,newItemDir:a,callbacks:r}),t[5]=r,t[6]=a,t[7]=n,t[8]=o):o=t[8],o}function jn(e,t,n,r,i,a){let o=(0,q.c)(8),s=(0,K.useRef)(null),c,l;o[0]!==a||o[1]!==i||o[2]!==t||o[3]!==r||o[4]!==n||o[5]!==e?(c=()=>{if(s.current===null){s.current=e;return}s.current!==e&&(s.current=e,t(new Set),n(null),r(null),i(null),a(null))},l=[e,t,n,r,i,a],o[0]=a,o[1]=i,o[2]=t,o[3]=r,o[4]=n,o[5]=e,o[6]=c,o[7]=l):(c=o[6],l=o[7]),(0,K.useEffect)(c,l)}var Mn=15e3;function Nn(e,t,n,r){let i=(0,q.c)(20),a;if(i[0]!==t.entries||i[1]!==t.isError||i[2]!==n){a=new Set,t.entries===null&&!t.isError&&a.add(``);for(let e of n)e.kind===`dir-loading`&&a.add(e.dirPath);i[0]=t.entries,i[1]=t.isError,i[2]=n,i[3]=a}else a=i[3];let o=a,s;i[4]===n?s=i[5]:(s=n.flatMap(In),i[4]=n,i[5]=s);let c=s,l;if(i[6]!==t.entries||i[7]!==t.isError||i[8]!==n){l=new Set,t.entries===null&&t.isError&&l.add(``);for(let e of n)e.kind===`dir-error`&&l.add(e.dirPath);i[6]=t.entries,i[7]=t.isError,i[8]=n,i[9]=l}else l=i[9];let u=l,d;i[10]===Symbol.for(`react.memo_cache_sentinel`)?(d=new Map,i[10]=d):d=i[10];let f=(0,K.useRef)(d),p,m;i[11]!==u||i[12]!==r||i[13]!==o||i[14]!==e||i[15]!==c?(p=()=>{for(let t of o){let n=r(t),i=JSON.stringify([e,t,n]);if(f.current.has(i))continue;let a=Date.now(),o=setTimeout(()=>{let r=Mt(e,t,n);Q.error(`[Files explorer] Loading skeleton did not resolve`,{threadId:e,directory:t||`.`,version:n,elapsedMs:Date.now()-a,cacheListing:{isLoading:r.isLoading,isError:r.isError,entries:r.entries?.map(Fn)??null},visibleEntries:c})},Mn);f.current.set(i,{threadId:e,dirPath:t,version:n,startedAt:a,timeout:o}),Q.info(`[Files explorer] Loading skeleton shown`,{threadId:e,directory:t||`.`,version:n,visibleEntries:c})}let t=new Set(Array.from(o,t=>JSON.stringify([e,t,r(t)])));for(let[n,r]of f.current)if(!t.has(n)&&(clearTimeout(r.timeout),f.current.delete(n),r.threadId===e)){let t=Mt(r.threadId,r.dirPath,r.version),n={threadId:e,directory:r.dirPath||`.`,version:r.version,elapsedMs:Date.now()-r.startedAt,loadedEntries:t.entries?.map(Pn)??null,visibleEntries:c};u.has(r.dirPath)?Q.error(`[Files explorer] Directory load failed`,n):Q.info(`[Files explorer] File list shown`,n)}},m=[e,o,c,u,r],i[11]=u,i[12]=r,i[13]=o,i[14]=e,i[15]=c,i[16]=p,i[17]=m):(p=i[16],m=i[17]),(0,K.useEffect)(p,m);let h,g;i[18]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>()=>{for(let e of f.current.values())clearTimeout(e.timeout);f.current.clear()},g=[],i[18]=h,i[19]=g):(h=i[18],g=i[19]),(0,K.useEffect)(h,g)}function Pn(e){let{path:t,type:n}=e;return{path:t,type:n}}function Fn(e){let{path:t,type:n}=e;return{path:t,type:n}}function In(e){return e.node?[{path:e.node.path,type:e.node.type}]:[]}function Ln(e,t,n){let r=(0,q.c)(5),i,a;r[0]!==t||r[1]!==n||r[2]!==e?(i=()=>{if(!e)return;let r=[{path:``,version:n(``)}];for(let e of t)r.push({path:e,version:n(e)});Q.info(`[Files explorer] Checking directory listings`,r.map(t=>{let{path:n,version:r}=t,i=Mt(e,n,r);return{directory:n||`.`,version:r,isLoading:i.isLoading,isError:i.isError,entryCount:i.entries?.length??null}})),Rt(e,r)},a=[e,t,n],r[0]=t,r[1]=n,r[2]=e,r[3]=i,r[4]=a):(i=r[3],a=r[4]),(0,K.useEffect)(i,a)}function Rn(e,t){let n=(0,q.c)(4),r=(0,K.useRef)(e),i,a;n[0]!==e||n[1]!==t?(i=()=>{e!==r.current&&(r.current=e,t())},a=[e,t],n[0]=e,n[1]=t,n[2]=i,n[3]=a):(i=n[2],a=n[3]),(0,K.useEffect)(i,a)}function zn(e){let t=(0,q.c)(11),{threadId:n,instanceId:r,searchableItems:i,isSearchCacheReady:a,onSearchIndexRequest:o,onSearchOpenChange:s,onSearchSelect:c}=e,l=(0,K.useRef)(null),{registerPanelFocus:u}=v(),d,f;t[0]!==r||t[1]!==u?(d=()=>{if(r)return u(r,()=>l.current?.focus())},f=[r,u],t[0]=r,t[1]=u,t[2]=d,t[3]=f):(d=t[2],f=t[3]),(0,K.useEffect)(d,f);let p;return t[4]!==a||t[5]!==o||t[6]!==s||t[7]!==c||t[8]!==i||t[9]!==n?(p=(0,Z.jsx)(`div`,{className:`border-b border-border px-2 py-2`,children:(0,Z.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,Z.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Z.jsx)(mt,{items:i,isReady:a,onRequestIndex:o,onOpenChange:s,onSelect:c,inputRef:l},n)})})}),t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=i,t[9]=n,t[10]=p):p=t[10],p}function Bn(e){let t=(0,q.c)(21),{isSearchOpen:n,handleContextMenuCapture:r,rootListing:i,rows:a,rowContext:o,renderRow:s,reloadDir:c,contextNode:l,callbacks:u}=e,[d,f]=(0,K.useState)(null),p;t[0]===c?p=t[1]:(p=()=>c(``),t[0]=c,t[1]=p);let m;t[2]!==s||t[3]!==i||t[4]!==o||t[5]!==a||t[6]!==d||t[7]!==p?(m=(0,Z.jsx)(g,{className:`h-full`,viewportRef:f,children:(0,Z.jsx)(Dn,{listing:i,rows:a,rowContext:o,renderRow:s,scrollParent:d,onRetry:p})}),t[2]=s,t[3]=i,t[4]=o,t[5]=a,t[6]=d,t[7]=p,t[8]=m):m=t[8];let h;t[9]!==r||t[10]!==m?(h=(0,Z.jsx)(`div`,{className:`min-h-0 flex-1`,onContextMenuCapture:r,children:m}),t[9]=r,t[10]=m,t[11]=h):h=t[11];let _;t[12]!==n||t[13]!==h?(_=(0,Z.jsx)(te,{asChild:!0,disabled:n,children:h}),t[12]=n,t[13]=h,t[14]=_):_=t[14];let v;t[15]!==u||t[16]!==l?(v=(0,Z.jsx)(L,{children:(0,Z.jsx)(An,{node:l,callbacks:u})}),t[15]=u,t[16]=l,t[17]=v):v=t[17];let y;return t[18]!==_||t[19]!==v?(y=(0,Z.jsxs)(ie,{children:[_,v]}),t[18]=_,t[19]=v,t[20]=y):y=t[20],y}function Vn(e){let t=(0,q.c)(21),{threadId:n,explorerRefreshTick:r,pendingExplorerPath:i,expandedPaths:a,setExpandedPaths:o,setRenamingPath:s,newItemIn:c,setNewItemIn:l,setDropTargetPath:u,setContextNode:d}=e,f=(0,K.useSyncExternalStore)(kt,At,At),p;t[0]!==f||t[1]!==n?(p=It(n,f),t[0]=f,t[1]=n,t[2]=p):p=t[2];let m=p,{getDirVersion:h,reloadDir:g,ensureDirVersionsInitialized:_,removeSubtreeVersions:v}=en(n,r,a,o,i);jn(n,o,s,l,u,d),Ln(n,a,h);let y;t[3]!==m||t[4]!==h?(y=m.read(``,h(``)),t[3]=m,t[4]=h,t[5]=y):y=t[5];let b=y,x;bb0:{if(!b.entries){x=Jt;break bb0}let e;t[6]!==m||t[7]!==h?(e=e=>m.read(e,h(e)),t[6]=m,t[7]=h,t[8]=e):e=t[8];let n;t[9]!==a||t[10]!==c||t[11]!==b.entries||t[12]!==e?(n=Ct({rootEntries:b.entries,expandedPaths:a,newItemIn:c,readDir:e}),t[9]=a,t[10]=c,t[11]=b.entries,t[12]=e,t[13]=n):n=t[13],x=n}let S=x,C;return t[14]!==_||t[15]!==h||t[16]!==g||t[17]!==v||t[18]!==b||t[19]!==S?(C={getDirVersion:h,reloadDir:g,ensureDirVersionsInitialized:_,removeSubtreeVersions:v,rootListing:b,rows:S},t[14]=_,t[15]=h,t[16]=g,t[17]=v,t[18]=b,t[19]=S,t[20]=C):C=t[20],C}function Hn(e,t,n,r,i,a){let o=(0,q.c)(13),s;o[0]!==i||o[1]!==r||o[2]!==n||o[3]!==t?(s={selectedPath:t,renamingPath:n,dropTargetPath:r,callbacks:i},o[0]=i,o[1]=r,o[2]=n,o[3]=t,o[4]=s):s=o[4];let c=s,l=Un,u;if(o[5]!==e){u=new Map;for(let t of e)t.node&&u.set(t.node.path,t.node);o[5]=e,o[6]=u}else u=o[6];let d=u,f;o[7]!==d||o[8]!==a?(f=e=>{let t=(e.target?.closest?.(`[data-explorer-node-path]`))?.getAttribute(`data-explorer-node-path`)??null;a(t?d.get(t)??null:null)},o[7]=d,o[8]=a,o[9]=f):f=o[9];let p=f,m;return o[10]!==p||o[11]!==c?(m={rowContext:c,renderRow:l,handleContextMenuCapture:p},o[10]=p,o[11]=c,o[12]=m):m=o[12],m}function Un(e,t,n){return(0,Z.jsx)(Sn,{row:t,context:n})}function Wn(e){let t=(0,q.c)(50),{threadId:n,selectedPath:r,onNodeSelect:i,onFilesDrop:a,instanceId:o}=e,{explorerRefreshTick:s,pendingExplorerPath:c,setExplorerClearPath:l}=y(),{fetchUnifiedStatus:u}=D(),[d,f]=(0,K.useState)(Gn),[p,m]=(0,K.useState)(null),[h,g]=(0,K.useState)(null),[_,v]=(0,K.useState)(null),[b,x]=(0,K.useState)(null),[S,C]=(0,K.useState)(null),w;t[0]!==d||t[1]!==s||t[2]!==h||t[3]!==c||t[4]!==n?(w={threadId:n,explorerRefreshTick:s,pendingExplorerPath:c,expandedPaths:d,setExpandedPaths:f,setRenamingPath:m,newItemIn:h,setNewItemIn:g,setDropTargetPath:x,setContextNode:C},t[0]=d,t[1]=s,t[2]=h,t[3]=c,t[4]=n,t[5]=w):w=t[5];let{getDirVersion:T,reloadDir:E,ensureDirVersionsInitialized:O,removeSubtreeVersions:k,rootListing:A,rows:j}=Vn(w);Nn(n,A,j,T);let{searchableItems:M,isSearchCacheReady:N,isSearchOpen:P,onSearchIndexRequest:F,onSearchOpenChange:ee,invalidateSearchIndex:I}=on(n);Rn(s,I);let L;t[6]!==O||t[7]!==d||t[8]!==u||t[9]!==I||t[10]!==h||t[11]!==a||t[12]!==i||t[13]!==E||t[14]!==k||t[15]!==p||t[16]!==l||t[17]!==n||t[18]!==_?(L={threadId:n,onNodeSelect:i,onFilesDrop:a,expandedPaths:d,setExpandedPaths:f,renamingPath:p,setRenamingPath:m,newItemIn:h,setNewItemIn:g,trashTarget:_,setTrashTarget:v,setDropTargetPath:x,reloadDir:E,ensureDirVersionsInitialized:O,removeSubtreeVersions:k,setExplorerClearPath:l,fetchUnifiedStatus:u,handleExplorerMutation:I},t[6]=O,t[7]=d,t[8]=u,t[9]=I,t[10]=h,t[11]=a,t[12]=i,t[13]=E,t[14]=k,t[15]=p,t[16]=l,t[17]=n,t[18]=_,t[19]=L):L=t[19];let{callbacks:R,handleConfirmTrash:te,handleSearchSelect:z}=Kt(L),{rowContext:ne,renderRow:re,handleContextMenuCapture:B}=Hn(j,r,p,b,R,C),ie;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(ie=()=>v(null),t[20]=ie):ie=t[20];let V;t[21]===te?V=t[22]:(V=()=>void te(),t[21]=te,t[22]=V);let H;t[23]!==V||t[24]!==_?(H=(0,Z.jsx)(Tn,{trashTarget:_,onDismiss:ie,onConfirm:V}),t[23]=V,t[24]=_,t[25]=H):H=t[25];let U;t[26]!==z||t[27]!==o||t[28]!==N||t[29]!==F||t[30]!==ee||t[31]!==M||t[32]!==n?(U=(0,Z.jsx)(zn,{threadId:n,instanceId:o,searchableItems:M,isSearchCacheReady:N,onSearchIndexRequest:F,onSearchOpenChange:ee,onSearchSelect:z}),t[26]=z,t[27]=o,t[28]=N,t[29]=F,t[30]=ee,t[31]=M,t[32]=n,t[33]=U):U=t[33];let W;t[34]!==R||t[35]!==S||t[36]!==B||t[37]!==P||t[38]!==E||t[39]!==re||t[40]!==A||t[41]!==ne||t[42]!==j?(W=(0,Z.jsx)(Bn,{isSearchOpen:P,handleContextMenuCapture:B,rootListing:A,rows:j,rowContext:ne,renderRow:re,reloadDir:E,contextNode:S,callbacks:R}),t[34]=R,t[35]=S,t[36]=B,t[37]=P,t[38]=E,t[39]=re,t[40]=A,t[41]=ne,t[42]=j,t[43]=W):W=t[43];let G;t[44]!==U||t[45]!==W?(G=(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[U,W]}),t[44]=U,t[45]=W,t[46]=G):G=t[46];let ae;return t[47]!==H||t[48]!==G?(ae=(0,Z.jsxs)(Z.Fragment,{children:[H,G]}),t[47]=H,t[48]=G,t[49]=ae):ae=t[49],ae}function Gn(){return new Set}export{Wn as default};
|