tarsk 0.5.75 → 0.5.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/public/assets/{account-view-DvyhZGLB.js → account-view-CWtpznW2.js} +1 -1
- package/dist/public/assets/browser-tab-D_5MLhxE.js +12 -0
- package/dist/public/assets/chat-dock-context-8K8Ikjgy.js +1 -0
- package/dist/public/assets/{commit-dialog-BUfbvG6F.js → commit-dialog-CSXPoomw.js} +1 -1
- package/dist/public/assets/{commit-error-dialog-D1XRPBOc.js → commit-error-dialog-CdcGI69P.js} +1 -1
- package/dist/public/assets/{commit-method-fields-CVQjrJ_O.js → commit-method-fields-BtEHb0_G.js} +1 -1
- package/dist/public/assets/{conversation-history-view-CzRrC6cJ.js → conversation-history-view-CuzU9qF6.js} +1 -1
- package/dist/public/assets/{create-project-dialog-Bqm_qC2v.js → create-project-dialog-a6Wgq-Z8.js} +1 -1
- package/dist/public/assets/{create-repo-dialog-D2H1eZic.js → create-repo-dialog-BTIQ5Nw4.js} +1 -1
- package/dist/public/assets/{diff-view-zXlCXzER.js → diff-view-DA1uT9tc.js} +2 -2
- package/dist/public/assets/{explorer-tab-view-BOc5FPFg.js → explorer-tab-view-CewTYYOm.js} +2 -2
- package/dist/public/assets/explorer-tree-C0VDhihz.js +1 -0
- package/dist/public/assets/{explorer-view-DFjt0DXO.js → explorer-view-RCfDm3p5.js} +2 -2
- package/dist/public/assets/{git-history-dialog-CFoZcBB0.js → git-history-dialog-DL0Trxiz.js} +1 -1
- package/dist/public/assets/index-B3-5kIOf.js +3658 -0
- package/dist/public/assets/merged-pr-dialog-BzND8nzx.js +1 -0
- package/dist/public/assets/{model-list-controls-CNrps9Ys.js → model-list-controls-I67L2x3H.js} +1 -1
- package/dist/public/assets/onboarding-dialog-DY8v11hv.js +1 -0
- package/dist/public/assets/{project-coding-view-DG1D8-z4.js → project-coding-view-DxOwsjtt.js} +1 -1
- package/dist/public/assets/project-danger-zone-view-CkvKOQrl.js +1 -0
- package/dist/public/assets/{project-env-vars-view-TblkryyN.js → project-env-vars-view-DYLWA7s0.js} +1 -1
- package/dist/public/assets/{project-model-aliases-view-Ct0v4NQm.js → project-model-aliases-view-DWu9khLA.js} +1 -1
- package/dist/public/assets/{project-settings-view-Dd3QPujg.js → project-settings-view-DJfmaWn6.js} +1 -1
- package/dist/public/assets/{project-tools-view-DdsKSUDp.js → project-tools-view-BEjBkghz.js} +1 -1
- package/dist/public/assets/providers-list-view-jMEPJCci.js +1 -0
- package/dist/public/assets/{pull-request-dialog-BRiR5Qz8.js → pull-request-dialog-B_JCqT53.js} +1 -1
- package/dist/public/assets/{pull-with-changes-dialog-BCIWOzvE.js → pull-with-changes-dialog-V3_km2zQ.js} +1 -1
- package/dist/public/assets/{push-before-pr-dialog-BEr0QZlO.js → push-before-pr-dialog-CarrD3y2.js} +1 -1
- package/dist/public/assets/{settings-general-view-CKvkG8C5.js → settings-general-view-BhrfHGfQ.js} +1 -1
- package/dist/public/assets/{settings-list-B9a61wMg.js → settings-list-DiiYzOxn.js} +1 -1
- package/dist/public/assets/{settings-logs-view-4Uoa1-Dx.js → settings-logs-view-DbKM1SNk.js} +2 -2
- package/dist/public/assets/settings-mcp-servers-view-4FpPIeYV.js +5 -0
- package/dist/public/assets/{settings-models-view-Ef404r4H.js → settings-models-view-CJVeo9ad.js} +1 -1
- package/dist/public/assets/settings-skills-view-DoRPGbHG.js +3 -0
- package/dist/public/assets/{settings-slack-view-C32in2Wg.js → settings-slack-view-Cc1NgVkx.js} +1 -1
- package/dist/public/assets/settings-slash-commands-view-CmlWqqmi.js +1 -0
- package/dist/public/assets/{settings-statistics-view-CxW2KB56.js → settings-statistics-view-DRuyEbcN.js} +1 -1
- package/dist/public/assets/settings-storage-view-DihbtUYb.js +1 -0
- package/dist/public/assets/{settings-subagents-view-StdmEn-E.js → settings-subagents-view-B2RvxDZI.js} +2 -2
- package/dist/public/assets/{settings-system-prompt-view-DizAjXjo.js → settings-system-prompt-view-CvVbgjNN.js} +1 -1
- package/dist/public/assets/settings-view-CPUAjTMa.js +2 -0
- package/dist/public/assets/tasks-view-CvFFLPeD.js +1 -0
- package/dist/public/assets/{terminal-panel-DSfDZzBk.js → terminal-panel-DIh6it7K.js} +1 -1
- package/dist/public/assets/{use-active-dock-panel-instance-DNExGWVs.js → use-active-dock-panel-instance-DRfRj6MV.js} +1 -1
- package/dist/public/assets/{use-installed-ai-files-BuuVI3sM.js → use-installed-ai-files-C8nNWGC7.js} +1 -1
- package/dist/public/assets/{useBaseQuery-GJoj38pA.js → useBaseQuery-34f0-SVd.js} +1 -1
- package/dist/public/assets/{web-DyYrh5r4.js → web-Bn9n5e7r.js} +1 -1
- package/dist/public/assets/{web-CliOgvKf.js → web-C2KGFouM.js} +1 -1
- package/dist/public/assets/{web-Dzci4edU.js → web-Dk3GAfTy.js} +1 -1
- package/dist/public/assets/{web-BmpJHrzY.js → web-DycfRH4j.js} +1 -1
- package/dist/public/index.html +3 -3
- package/package.json +1 -1
- package/dist/public/assets/browser-tab-5rqpwS93.js +0 -12
- package/dist/public/assets/chat-dock-context-BJNNRoZC.js +0 -1
- package/dist/public/assets/explorer-tree-m1u3VhWL.js +0 -1
- package/dist/public/assets/index-u8UbWjXL.js +0 -3658
- package/dist/public/assets/merged-pr-dialog-BMqHRow2.js +0 -1
- package/dist/public/assets/onboarding-dialog-BFJftu2O.js +0 -1
- package/dist/public/assets/project-danger-zone-view-6HEDGyUj.js +0 -1
- package/dist/public/assets/providers-list-view-BUNk2E8O.js +0 -1
- package/dist/public/assets/settings-mcp-servers-view-CaAy6iV4.js +0 -5
- package/dist/public/assets/settings-skills-view-DLrG4E_U.js +0 -3
- package/dist/public/assets/settings-slash-commands-view-CpBMV_5D.js +0 -1
- package/dist/public/assets/settings-storage-view-BzT8k6yE.js +0 -1
- package/dist/public/assets/settings-view-CTQgFmjM.js +0 -2
- package/dist/public/assets/tasks-view-z93aMoQp.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Cn as e}from"./index-B3-5kIOf.js";var t=class extends e{constructor(){super(...arguments),this.wakeLock=null,this._isSupported=typeof navigator<`u`&&`wakeLock`in navigator,this.handleVisibilityChange=()=>{document.visibilityState===`visible`&&this.keepAwake()}}async keepAwake(){this._isSupported||this.throwUnsupportedError(),this.wakeLock&&await this.allowSleep(),this.wakeLock=await navigator.wakeLock.request(`screen`),document.addEventListener(`visibilitychange`,this.handleVisibilityChange),document.addEventListener(`fullscreenchange`,this.handleVisibilityChange)}async allowSleep(){var e;this._isSupported||this.throwUnsupportedError(),(e=this.wakeLock)==null||e.release(),this.wakeLock=null,document.removeEventListener(`visibilitychange`,this.handleVisibilityChange),document.removeEventListener(`fullscreenchange`,this.handleVisibilityChange)}async isSupported(){return{isSupported:this._isSupported}}async isKeptAwake(){return this._isSupported||this.throwUnsupportedError(),{isKeptAwake:!!this.wakeLock}}throwUnsupportedError(){throw this.unavailable(`Screen Wake Lock API not available in this browser.`)}};export{t as KeepAwakeWeb};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Cn as e,d as t,f as n,u as r}from"./index-B3-5kIOf.js";var i=class extends e{async stopAndHideScanner(){console.log(window.OSBarcodeWebScanner),window.OSBarcodeWebScanner&&(await window.OSBarcodeWebScanner.stop(),window.OSBarcodeWebScanner=null),document.getElementById(`cap-os-barcode-scanner-container-dialog`).style.display=`none`}buildScannerElement(){if(document.getElementById(`cap-os-barcode-scanner-container`)){document.getElementById(`cap-os-barcode-scanner-container`).className=`scanner-container-display`;return}let e=document.body.appendChild(document.createElement(`div`));e.id=`cap-os-barcode-scanner-container`;let t=document.createElement(`div`);t.id=`cap-os-barcode-scanner-container-dialog`,t.className=`scanner-dialog`;let n=document.createElement(`div`);n.className=`scanner-dialog-inner`;let r=document.createElement(`span`);r.id=`cap-os-barcode-scanner-close-button`,r.className=`close-button`,r.innerHTML=`×`,n.appendChild(r);let i=document.createElement(`p`);i.innerHTML=` `,n.appendChild(i);let a=document.createElement(`div`);a.className=`scanner-container-full-width`,a.id=`cap-os-barcode-scanner-container-scanner`,n.appendChild(a),t.appendChild(n),e.appendChild(t)}async scanBarcode(e){return this.buildScannerElement(),document.getElementById(`cap-os-barcode-scanner-container-dialog`).style.display=`block`,new Promise((i,a)=>{let o={facingMode:e.cameraDirection===1?`environment`:`user`,hasScannerButton:!1,scanButton:e.scanButton===void 0?!1:e.scanButton,showScanLine:!1,scanInstructions:e.scanInstructions?e.scanInstructions:``,orientation:e.scanOrientation?e.scanOrientation:r.PORTRAIT,showCameraSelection:e.web?.showCameraSelection?e.web.showCameraSelection:!1,typeHint:e.hint===17?void 0:e.hint,scannerFPS:e.web?.scannerFPS?e.web.scannerFPS:50},s=!1,c=document.getElementById(`cap-os-barcode-scanner-close-button`);c&&(c.onclick=async()=>{s||(s=!0,await this.stopAndHideScanner(),a(Error(`Couldn’t scan because the process was cancelled.`)))});let l=document.getElementById(`cap-os-barcode-scanner-container-scanner`);if(!l)throw Error(`Scanner Element is required for web`);window.OSBarcodeWebScanner=new n(l.id,{formatsToSupport:o.typeHint===void 0?void 0:[o.typeHint],verbose:void 0});let u={fps:o.scannerFPS,qrbox:l.getBoundingClientRect().width*(9/16)-10,aspectRatio:16/9,videoConstraints:{focusMode:`continuous`,height:{min:576,ideal:1920},deviceId:void 0,facingMode:o.facingMode}};window.OSBarcodeWebScanner.start({facingMode:o.facingMode},u,(e,n)=>{this.stopAndHideScanner(),i({ScanResult:e,format:n.result.format?.format??t.ALL})},e=>{[`NotFoundException`,`No barcode or QR code detected`,`No MultiFormat Readers were able to detect the code`].find(t=>e.indexOf(t)!==-1)||(this.stopAndHideScanner(),console.error(`[Scanner Web Error] ${e}`),a(e))})})}};export{i as CapacitorBarcodeScannerWeb};
|
package/dist/public/index.html
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
<meta name="apple-mobile-web-app-title" content="Tarsk" />
|
|
23
23
|
|
|
24
24
|
<title>Tarsk</title>
|
|
25
|
-
<script type="module" crossorigin src="/assets/index-
|
|
25
|
+
<script type="module" crossorigin src="/assets/index-B3-5kIOf.js"></script>
|
|
26
26
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
|
|
27
27
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-Ee0-5T4I.js">
|
|
28
28
|
<link rel="modulepreload" crossorigin href="/assets/dist-CTLFS4dn.js">
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
<link rel="modulepreload" crossorigin href="/assets/use-toast-xpb5jNtN.js">
|
|
43
43
|
<link rel="modulepreload" crossorigin href="/assets/api-DX1ny6q-.js">
|
|
44
44
|
<link rel="modulepreload" crossorigin href="/assets/store-BSzKIu5G.js">
|
|
45
|
-
<link rel="modulepreload" crossorigin href="/assets/chat-dock-context-
|
|
45
|
+
<link rel="modulepreload" crossorigin href="/assets/chat-dock-context-8K8Ikjgy.js">
|
|
46
46
|
<link rel="modulepreload" crossorigin href="/assets/explorer-tab-context-BxUVwWQQ.js">
|
|
47
47
|
<link rel="modulepreload" crossorigin href="/assets/main-tab-context-Byl1LybL.js">
|
|
48
48
|
<link rel="modulepreload" crossorigin href="/assets/suspense-resource-BFrb_XJX.js">
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
<link rel="modulepreload" crossorigin href="/assets/dist-yM5kyz9Q.js">
|
|
54
54
|
<link rel="modulepreload" crossorigin href="/assets/dist-DsmF-KJ-.js">
|
|
55
55
|
<link rel="modulepreload" crossorigin href="/assets/dist-CSssbxDI.js">
|
|
56
|
-
<link rel="modulepreload" crossorigin href="/assets/useBaseQuery-
|
|
56
|
+
<link rel="modulepreload" crossorigin href="/assets/useBaseQuery-34f0-SVd.js">
|
|
57
57
|
<link rel="modulepreload" crossorigin href="/assets/chunk-QFMPRPBF-COsSkB7x.js">
|
|
58
58
|
<link rel="stylesheet" crossorigin href="/assets/index-BLNUy5nZ.css">
|
|
59
59
|
</head>
|
package/package.json
CHANGED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{n as i}from"./chat-dock-context-BJNNRoZC.js";import{Dt as a,N as o}from"./dist-CTLFS4dn.js";import{$ as s,n as c,r as l}from"./store-BSzKIu5G.js";import{r as u,t as d}from"./button-kWtLAMpB.js";import{Bn as f,L as p,T as m,Vn as h,X as g,fn as _,gt as v,j as y,mt as b}from"./dist-c_QADQ5u.js";import{i as x,n as S,r as C,t as w}from"./tooltip-Db8UeYxm.js";import{Qt as T,Wr as E,cn as D}from"./api-DX1ny6q-.js";import{i as O,r as k}from"./browser-overlay-block-CiDtkfup.js";import{t as A}from"./use-toast-xpb5jNtN.js";import{Ht as j,I as M,R as N,Vt as P,_ as F,b as I,c as L,f as R,fr as z,g as B,h as V,k as ee,m as H,p as U,s as W,v as te,xn as G,y as ne}from"./index-u8UbWjXL.js";import{t as re}from"./use-active-dock-panel-instance-DNExGWVs.js";var K=e(n(),1),q=t();async function J(e){let{projectId:t,oldText:n,newText:r,selection:i,replaceUnique:a=D}=e;if(n===r)return{kind:`unchanged`};try{let e=await a(t,n,r);if(e.applied&&e.path)return{kind:`replaced`,path:e.path}}catch{}return{kind:`prompt`,prompt:V(i,n,r)}}var Y=r();function X(e){let t=(0,q.c)(43),{onCommit:n,onCancelPreview:r}=e,i=c(),a=l(ae),o=l(ie),u=l(Z),f;t[0]===a?f=t[1]:(f=e=>a?e.projectModelSelections[a]:void 0,t[0]=a,t[1]=f);let p=l(f),{selectedBrowserElement:m,setSelectedBrowserElement:h,setIsEditModeEnabled:g,setBrowserAgentProcessingThreadId:_}=ee(),{handleSend:v}=j(),{paneId:y,conversationId:b}=P(),[x,S]=(0,K.useState)(!1),C;if(t[2]!==u||t[3]!==o){let e;t[5]===o?e=t[6]:(e=e=>e.projectId===o,t[5]=o,t[6]=e),C=u.find(e),t[2]=u,t[3]=o,t[4]=C}else C=t[4];let w=C,T;t[7]===m?T=t[8]:(T=F(m),t[7]=m,t[8]=T);let E=T,D;t[9]!==g||t[10]!==h?(D=()=>{S(!1),g(!1),h(null)},t[9]=g,t[10]=h,t[11]=D):D=t[11];let O=D,k;t[12]!==b||t[13]!==i||t[14]!==O||t[15]!==v||t[16]!==y||t[17]!==w?.lastSelectedModel||t[18]!==w?.lastSelectedModelProvider||t[19]!==o||t[20]!==a||t[21]!==_||t[22]!==p?.id||t[23]!==p?.provider?(k=async e=>{if(!o){A({title:`No project selected`,description:`Open a project to apply text edits.`,variant:`destructive`}),O();return}S(!0);let t=await J({projectId:o,oldText:e.originalText,newText:e.currentText,selection:e.selection});if(t.kind===`unchanged`){A({title:`No text changes detected`}),O();return}if(t.kind===`replaced`){A({title:`Text updated`,description:`Replaced in ${t.path}`}),O();return}let n=p?.id??w?.lastSelectedModel,r=p?.provider??w?.lastSelectedModelProvider;if(!a||!n){A({title:`Could not apply text change`,description:`Select a chat thread and model to send this change as a prompt.`,variant:`destructive`}),S(!1);return}v(y,b,t.prompt,n,[],r),i({type:s.SetChatInputDraft,threadId:y===`primary`?a:`${a}:${y}`,draft:``}),_(a),O()},t[12]=b,t[13]=i,t[14]=O,t[15]=v,t[16]=y,t[17]=w?.lastSelectedModel,t[18]=w?.lastSelectedModelProvider,t[19]=o,t[20]=a,t[21]=_,t[22]=p?.id,t[23]=p?.provider,t[24]=k):k=t[24],w?.lastSelectedModel,w?.lastSelectedModelProvider,p?.id,p?.provider;let M=k,N,I;t[25]===E?(N=t[26],I=t[27]):(N=()=>{E||S(!1)},I=[E],t[25]=E,t[26]=N,t[27]=I),(0,K.useEffect)(N,I);let L,z;t[28]===M?(L=t[29],z=t[30]):(L=()=>{let e=function(e){let t=e.detail;B(t)&&M(t)},t=function(e){let t=te(e.data);t&&M(t)};return window.addEventListener(R,e),window.addEventListener(`message`,t),function(){window.removeEventListener(R,e),window.removeEventListener(`message`,t)}},z=[M],t[28]=M,t[29]=L,t[30]=z),(0,K.useEffect)(L,z);let V;t[31]!==O||t[32]!==r?(V=function(){r(),O()},t[31]=O,t[32]=r,t[33]=V):V=t[33];let H=V;if(!E)return null;let U;t[34]!==x||t[35]!==n?(U=(0,Y.jsx)(d,{type:`button`,size:`sm`,onClick:n,disabled:x,children:`Apply Changes`}),t[34]=x,t[35]=n,t[36]=U):U=t[36];let W;t[37]!==H||t[38]!==x?(W=(0,Y.jsx)(d,{type:`button`,size:`sm`,variant:`outline`,onClick:H,disabled:x,children:`Cancel`}),t[37]=H,t[38]=x,t[39]=W):W=t[39];let G;return t[40]!==U||t[41]!==W?(G=(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-center gap-2 border-b border-border px-3 py-2`,children:[U,W]}),t[40]=U,t[41]=W,t[42]=G):G=t[42],G}function Z(e){return e.projects}function ie(e){return e.selectedProjectId}function ae(e){return e.selectedThreadId}function oe(e){let t=e.trim();return t?(!t.startsWith(`http://`)&&!t.startsWith(`https://`)&&(t=`http://${t}`),t):``}function Q(e){return typeof e==`string`?e:typeof e==`object`&&e&&`url`in e&&typeof e.url==`string`?e.url:``}var se=`tarsk-browser-page-title`;function ce(e){if(!e)return null;if(typeof e==`string`)try{let t=JSON.parse(e);return t&&typeof t==`object`?t:null}catch{return null}return typeof e==`object`?e:null}function le(e){let t=ce(e);if(!t||t.type!==se)return null;let n=t.payload;if(!n||typeof n!=`object`)return null;let r=n.title;return typeof r==`string`?r:null}function ue(e){return le(e)}function de(e){return!e?.trim()}function fe(e,t){return de(t)?e:t.trim()}function pe(e){return e?e.querySelector(`electrobun-webview`):null}function me(e){e.webviewId!=null&&(e.toggleHidden(!0),e.togglePassthrough(!0))}function he(e){e.webviewId!=null&&(e.toggleHidden(!1),e.togglePassthrough(!1),e.syncDimensions(!0))}function ge(e,t){if(t){he(e);return}me(e)}function _e(e){return e!=null&&e.getClientRects().length>0}function ve(e,t,n){let r=!1,i=0;function a(){if(!r){if(e.webviewId==null){i=requestAnimationFrame(a);return}t&&e.getAttribute(`src`)!==t&&e.loadURL(t),ge(e,n())}}return i=requestAnimationFrame(a),function(){r=!0,cancelAnimationFrame(i)}}function ye(e){let t=(0,q.c)(8),{useNativeWebview:n,shouldRenderNativeWebview:r,currentUrl:i,resolveWebview:a}=e,[o,s]=(0,K.useState)(r),c;t[0]!==a||t[1]!==r||t[2]!==n?(c=()=>{if(!n)return;if(r){s(!0);return}let e=a();e&&me(e);let t=requestAnimationFrame(()=>{s(!1)});return function(){cancelAnimationFrame(t)}},t[0]=a,t[1]=r,t[2]=n,t[3]=c):c=t[3];let l;return t[4]!==i||t[5]!==r||t[6]!==n?(l=[r,n,i],t[4]=i,t[5]=r,t[6]=n,t[7]=l):l=t[7],(0,K.useLayoutEffect)(c,l),o}var be=o(`browser.preview-scripting`);function xe(e,t=!1,n=`select`){return`(function () {
|
|
2
|
-
const api = window.__tarskBrowserPreview;
|
|
3
|
-
if (!api || typeof api.setSelectMode !== "function") {
|
|
4
|
-
log.error("[browser-preview] selection API is not available");
|
|
5
|
-
return;
|
|
6
|
-
}
|
|
7
|
-
api.setSelectMode(${e?`true`:`false`}, ${t?`true`:`false`}, ${JSON.stringify(n)});
|
|
8
|
-
})();`}function Se(e){let t=e===`commit`?`commitTextEdit`:`cancelTextEdit`;return`(function () {
|
|
9
|
-
const api = window.__tarskBrowserPreview;
|
|
10
|
-
if (!api || typeof api.${t} !== "function") return;
|
|
11
|
-
api.${t}();
|
|
12
|
-
})();`}function Ce(e,t,n=!1,r=`select`){if(typeof e.executeJavascript!=`function`)throw Error(`Browser preview webview JS execution is not available`);try{e.executeJavascript(xe(t,n,r))}catch(i){throw be.error(`[browser-preview] Failed to toggle native preview selection mode`,{enabled:t,preserveSelection:n,interaction:r,src:e.src,webview_id:e.webviewId,error:i instanceof Error?i.message:String(i),stack:i instanceof Error?i.stack:void 0}),i}}function we(e,t){if(typeof e.executeJavascript!=`function`)throw Error(`Browser preview webview JS execution is not available`);e.executeJavascript(t)}function Te(e,t,n=!1,r=`select`){let i=e.contentWindow;if(!i)throw Error(`Browser preview frame is not ready`);let a=i.__tarskBrowserPreview;if(!a?.setSelectMode)throw Error(`Browser preview selection API is not available in iframe preview`);a.setSelectMode(t,n,r)}function Ee(e,t){let n=e.contentWindow?.__tarskBrowserPreview;if(!n||typeof n[t===`commit`?`commitTextEdit`:`cancelTextEdit`]!=`function`){be.warn(`[browser-preview] Preview text-edit API unavailable; action ignored`,{action:t,src:e.src});return}if(t===`commit`){n.commitTextEdit?.();return}n.cancelTextEdit?.()}var De=o(`app.browser-tab.ui`),Oe=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`,`Home`,`End`]),ke=new Set([`INPUT`,`TEXTAREA`,`SELECT`]),Ae=new Set([`combobox`,`listbox`,`menu`,`menubar`,`menuitem`,`option`,`radiogroup`,`tablist`,`tab`,`grid`,`slider`,`spinbutton`]);function je(e){if(ke.has(e.tagName)||e.isContentEditable)return!0;let t=e.getAttribute(`role`);return t!==null&&Ae.has(t)}function Me(e){return e instanceof HTMLElement&&je(e)}function Ne(e,t,n){let[r,i]=(0,K.useState)(!0),a=(0,K.useSyncExternalStore)(L,W),o=(0,K.useSyncExternalStore)(O,k),s=t&&(r&&!o||a),c=(0,K.useRef)(s);c.current=s;let l=(0,K.useCallback)(function(){return c.current},[]),u=(0,K.useCallback)(function(){i(_e(e.current))},[]);return(0,K.useLayoutEffect)(u),(0,K.useEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(u);return n.observe(t),function(){n.disconnect()}},[u,n]),{shouldShowWebview:s,readWebviewVisibility:l}}function Pe({devServerUrl:e,devServerStopped:t,isBrowserActive:n,currentUrl:r,browserResetTrigger:i,webviewRef:a,iframeRef:o,setCurrentUrl:s,setPendingUrl:c,setInputUrl:l,setSelectionModeError:u,setIsSelectModeEnabled:d,setIsEditModeEnabled:f,setSelectedBrowserElement:p,setIsSelectionPromptOpen:m,setBrowserAgentProcessingThreadId:h,setBrowserPageTitle:g}){let _=(0,K.useRef)(r),v=(0,K.useRef)(null);_.current=r,(0,K.useEffect)(()=>{s(``),c(``),l(``),u(null),g(null),d(!1),f(!1),p(null),m(!1),h(null);let e=a.current;e&&(e.src=``),o.current&&(o.current.src=``)},[i,h,g,d,f,m,p]),(0,K.useEffect)(()=>{if(t&&!e){s(``),c(``),l(``),u(null),n&&(d(!1),f(!1),p(null),m(!1),h(null));let e=a.current;e&&(e.src=``),o.current&&(o.current.src=``);return}if(!e)return;let r=oe(e);l(r),(!_.current||_.current===v.current)&&(s(r),c(r),v.current=r),u(null),n&&(d(!1),f(!1),p(null),m(!1),h(null))},[e,t,n,h,d,f,m,p])}function Fe(e,t,n,r){let i=(0,q.c)(9),a;i[0]!==n||i[1]!==e||i[2]!==r||i[3]!==t?(a=()=>{if(!e||!t)return;let i=function(e){Oe.has(e.key)&&(Me(e.target)||r.current?.contains(e.target)||(e.preventDefault(),n()))};return document.addEventListener(`keydown`,i,!0),function(){document.removeEventListener(`keydown`,i,!0)}},i[0]=n,i[1]=e,i[2]=r,i[3]=t,i[4]=a):a=i[4];let o;i[5]!==n||i[6]!==e||i[7]!==t?(o=[e,t,n],i[5]=n,i[6]=e,i[7]=t,i[8]=o):o=i[8],(0,K.useEffect)(a,o)}function Ie(e){let t=(0,q.c)(15),{useNativeWebview:n,nativeWebviewMounted:r,currentUrl:i,resolveWebview:a,setCurrentUrl:o,setPendingUrl:s,setInputUrl:c,setSelectionModeError:l,setBrowserPageTitle:u}=e,d;t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==u||t[4]!==o||t[5]!==c||t[6]!==s||t[7]!==l||t[8]!==n?(d=()=>{let e=a();if(!n||!e||!r)return;let t=function(e){let t=typeof e.detail==`string`?e.detail:i;t&&(o(t),s(``),c(t))},d=function(e){let t=typeof e.detail==`string`?e.detail:i;t&&(o(t),c(t))},f=function(e){let t=Q(e.detail);t&&T(t)},p=function(e){let t=ue(e.detail);if(t!=null){u(e=>fe(e,t));return}let n=I(e.detail);if(n){H(n);return}let r=ne(e.detail);r&&(l(null),U(r))};return e.on(`did-navigate`,t),e.on(`did-navigate-in-page`,d),e.on(`new-window-open`,f),e.on(`host-message`,p),function(){e.off(`did-navigate`,t),e.off(`did-navigate-in-page`,d),e.off(`new-window-open`,f),e.off(`host-message`,p)}},t[0]=i,t[1]=r,t[2]=a,t[3]=u,t[4]=o,t[5]=c,t[6]=s,t[7]=l,t[8]=n,t[9]=d):d=t[9];let f;t[10]!==i||t[11]!==r||t[12]!==u||t[13]!==n?(f=[i,n,r,u],t[10]=i,t[11]=r,t[12]=u,t[13]=n,t[14]=f):f=t[14],(0,K.useEffect)(d,f)}function Le(e){let t=(0,q.c)(23),{useNativeWebview:n,nativeWebviewMounted:r,currentUrl:i,deviceMode:a,shouldShowWebview:o,pendingUrl:s,readWebviewVisibility:c,resolveWebview:l}=e,u;t[0]!==r||t[1]!==l||t[2]!==o||t[3]!==n?(u=()=>{if(!n||!r)return;let e=l();!e||e.webviewId==null||ge(e,o)},t[0]=r,t[1]=l,t[2]=o,t[3]=n,t[4]=u):u=t[4];let d;t[5]!==i||t[6]!==a||t[7]!==r||t[8]!==o||t[9]!==n?(d=[r,n,i,a,o],t[5]=i,t[6]=a,t[7]=r,t[8]=o,t[9]=n,t[10]=d):d=t[10],(0,K.useLayoutEffect)(u,d);let f;t[11]!==r||t[12]!==s||t[13]!==c||t[14]!==l||t[15]!==n?(f=()=>{let e=l();if(!(!n||!e||!s||!r))return ve(e,s,c)},t[11]=r,t[12]=s,t[13]=c,t[14]=l,t[15]=n,t[16]=f):f=t[16];let p;t[17]!==i||t[18]!==r||t[19]!==s||t[20]!==c||t[21]!==n?(p=[s,n,i,r,c],t[17]=i,t[18]=r,t[19]=s,t[20]=c,t[21]=n,t[22]=p):p=t[22],(0,K.useEffect)(f,p)}function Re({isBrowserActive:e,currentUrl:t,isSelectModeEnabled:n,isEditModeEnabled:r,isSelectionPromptOpen:i,nativeWebviewMounted:a,useNativeWebview:o,resolveWebview:s,iframeRef:c,setIsSelectModeEnabled:l,setIsEditModeEnabled:u,setSelectionModeError:d}){(0,K.useEffect)(()=>{if(!e)return;if(!t){n&&l(!1),r&&u(!1);return}let f=!1,p=n||r,m=r?`edit`:`select`,h=!p&&i;function g(){try{if(o){let e=s();if(!e||e.webviewId==null||!a)return;Ce(e,p,h,m);return}let e=c.current;if(!e)return;Te(e,p,h,m)}catch(e){if(f||!p)return;let t=e instanceof Error?e.message:`Could not enable element selection.`;De.error(`Failed to toggle browser selection mode:`,e),d(t),l(!1),u(!1),A({title:`Selection mode unavailable`,description:t,variant:`destructive`})}}return g(),function(){f=!0}},[t,e,r,n,i,a,u,l,o])}function ze(e,t){let n=(0,q.c)(8),r,i;n[0]!==e||n[1]!==t?(r=()=>{if(!e)return;let n=function(e){let n=le(e.data);n!=null&&t(e=>fe(e,n))};return window.addEventListener(`message`,n),function(){window.removeEventListener(`message`,n)}},i=[e,t],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),(0,K.useEffect)(r,i);let a,o;n[4]!==e||n[5]!==t?(a=()=>{if(e)return function(){t(null)}},o=[e,t],n[4]=e,n[5]=t,n[6]=a,n[7]=o):(a=n[6],o=n[7]),(0,K.useEffect)(a,o)}function Be(e){let t=re(e,`browser`),{devServerUrl:n,devServerStopped:r}=N(),{browserResetTrigger:i,setBrowserPageTitle:a,browserDeviceMode:o,setBrowserDeviceMode:s,isSelectModeEnabled:c,setIsSelectModeEnabled:u,isEditModeEnabled:d,setIsEditModeEnabled:f,selectedBrowserElement:p,setSelectedBrowserElement:m,setIsSelectionPromptOpen:h,isSelectionPromptOpen:g,setBrowserAgentProcessingThreadId:_}=ee(),v=l(e=>e.selectedProjectId),y=l(e=>e.projects).find(e=>e.projectId===v),[b,x]=(0,K.useState)(``),[S,C]=(0,K.useState)(``),[w,D]=(0,K.useState)(``),[O,k]=(0,K.useState)(o),[A,j]=(0,K.useState)(null),M=(0,K.useRef)(null),P=(0,K.useRef)(w),I=(0,K.useRef)(null),L=(0,K.useRef)(null),R=E(),z=G(),B=R&&!!S;P.current=w;function V(){return M.current??pe(L.current)}let{shouldShowWebview:H,readWebviewVisibility:U}=Ne(L,t,S),W=ye({useNativeWebview:R,shouldRenderNativeWebview:B,currentUrl:S,resolveWebview:V});Pe({devServerUrl:n,devServerStopped:r,isBrowserActive:t,currentUrl:S,browserResetTrigger:i,webviewRef:M,iframeRef:I,setCurrentUrl:C,setPendingUrl:D,setInputUrl:x,setSelectionModeError:j,setIsSelectModeEnabled:u,setIsEditModeEnabled:f,setSelectedBrowserElement:m,setIsSelectionPromptOpen:h,setBrowserAgentProcessingThreadId:_,setBrowserPageTitle:a}),Fe(t,R,(0,K.useCallback)(function(){R?V()?.focus():I.current?.contentWindow?.focus()},[R]),L),Ie({useNativeWebview:R,nativeWebviewMounted:W,currentUrl:S,resolveWebview:V,setCurrentUrl:C,setPendingUrl:D,setInputUrl:x,setSelectionModeError:j,setBrowserPageTitle:a}),ze(t,a),Le({useNativeWebview:R,nativeWebviewMounted:W,currentUrl:S,deviceMode:O,shouldShowWebview:H,pendingUrl:w,readWebviewVisibility:U,resolveWebview:V}),Re({isBrowserActive:t,currentUrl:S,isSelectModeEnabled:c,isEditModeEnabled:d,isSelectionPromptOpen:g,nativeWebviewMounted:W,useNativeWebview:R,resolveWebview:V,iframeRef:I,setIsSelectModeEnabled:u,setIsEditModeEnabled:f,setSelectionModeError:j}),(0,K.useEffect)(()=>{k(o)},[o]);let te=(0,K.useCallback)(e=>{M.current=e,e&&ve(e,P.current,U)},[U]);function ne(e){k(e),s(e)}function q(){j(null),u(!1),f(!1),m(null),h(!1)}function J(e){try{if(R){let t=V();if(!t)return;we(t,Se(e));return}let t=I.current;if(!t)return;Ee(t,e)}catch(e){De.error(`Failed to run preview text edit action:`,e)}}function Y(e){let t=oe(e);t&&(x(t),C(t),D(t),q())}function X(e){e.key===`Enter`&&Y(b)}function Z(){if(q(),R){let e=V();e&&e.reload();return}let e=I.current;if(!e)return;let t=e.src;e.src=``,requestAnimationFrame(()=>{e.src=t})}function ie(){if(q(),R){let e=V();e&&e.executeJavascript(`history.back()`);return}Q(-1)}function ae(){if(q(),R){let e=V();e&&e.executeJavascript(`history.forward()`);return}Q(1)}function Q(e){let t=I.current;if(!(!t||!t.contentWindow))try{e<0?t.contentWindow.history.back():t.contentWindow.history.forward()}catch{}}function se(){j(null),f(!1),F(p)&&(J(`cancel`),m(null)),u(e=>!e)}function ce(){if(j(null),u(!1),h(!1),F(p)){J(`cancel`),m(null),f(!1);return}f(e=>!e)}return{isBrowserActive:t,devServerStopped:r,selectedProjectId:v,runCommand:y?.runCommand,currentUrl:S,inputUrl:b,setInputUrl:x,handleKeyDown:X,deviceMode:O,updateDeviceMode:ne,selectionModeError:A,isSelectModeEnabled:c,isEditModeActive:d||F(p),isSurfaceSelectInteraction:c||d,toggleSelectMode:se,toggleEditMode:ce,refresh:Z,goBack:ie,goForward:ae,openExternal:()=>void T(S),runPreviewTextEdit:J,previewContainerRef:L,iframeRef:I,handleWebviewRef:te,useNativeWebview:R,nativeWebviewMounted:W,previewRpcPreload:z}}var Ve={desktop:{width:`100%`,height:`100%`},tablet:{width:`768px`,height:`1024px`},mobile:{width:`375px`,height:`667px`}};function He(e){let t=(0,q.c)(7),{useNativeWebview:n,nativeWebviewMounted:r,currentUrl:i,previewRpcPreload:a,handleWebviewRef:o,iframeRef:s}=e;if(n){if(!r)return null;let e;return t[0]!==i||t[1]!==o||t[2]!==a?(e=(0,K.createElement)(`electrobun-webview`,{ref:o,src:i,preload:a,renderer:`native`,className:`block h-full w-full bg-background`}),t[0]=i,t[1]=o,t[2]=a,t[3]=e):e=t[3],e}let c;return t[4]!==i||t[5]!==s?(c=(0,Y.jsx)(`iframe`,{ref:s,src:i,className:`h-full w-full border-none`,title:`Browser`,sandbox:`allow-same-origin allow-scripts allow-forms allow-popups allow-modals allow-downloads`}),t[4]=i,t[5]=s,t[6]=c):c=t[6],c}function Ue(e){let t=(0,q.c)(18),{selectionModeError:n,isSelectModeEnabled:r,deviceMode:i,currentDeviceConfig:a,previewContainerRef:o,children:s}=e,c;t[0]===n?c=t[1]:(c=n&&(0,Y.jsxs)(`div`,{className:`border-b border-destructive/20 bg-destructive/5 px-3 py-2 text-sm text-destructive`,children:[`Element selection is unavailable: `,n]}),t[0]=n,t[1]=c);let l=r&&`cursor-crosshair`,d;t[2]===l?d=t[3]:(d=u(`flex min-h-0 flex-1 items-center justify-center bg-background`,l),t[2]=l,t[3]=d);let f=`overflow-hidden border border-border bg-background shadow-sm ${i===`desktop`?`h-full w-full rounded-none border-0 shadow-none`:`rounded-lg`}`,p;t[4]!==a.height||t[5]!==a.width?(p={width:a.width,height:a.height,maxWidth:`100%`,maxHeight:`100%`},t[4]=a.height,t[5]=a.width,t[6]=p):p=t[6];let m;t[7]!==s||t[8]!==f||t[9]!==p?(m=(0,Y.jsx)(`div`,{className:f,style:p,children:s}),t[7]=s,t[8]=f,t[9]=p,t[10]=m):m=t[10];let h;t[11]!==o||t[12]!==d||t[13]!==m?(h=(0,Y.jsx)(`div`,{ref:o,className:d,children:m}),t[11]=o,t[12]=d,t[13]=m,t[14]=h):h=t[14];let g;return t[15]!==c||t[16]!==h?(g=(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-background`,children:[c,h]}),t[15]=c,t[16]=h,t[17]=g):g=t[17],g}function We(e){let t=(0,q.c)(3),{previewContainerRef:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,Y.jsx)(`div`,{className:`hidden`,"aria-hidden":`true`,children:(0,Y.jsx)(`div`,{ref:n,children:r})}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}function $(e){let t=(0,q.c)(16),{onClick:n,label:r,children:i,isActive:a,disabled:o,activeStyle:s}=e,c=a===void 0?!1:a,l=o===void 0?!1:o,d=s===void 0?`elevated`:s,f=l&&`cursor-not-allowed text-muted-foreground/50`,p=!l&&!c&&`text-muted-foreground hover:bg-background/50 hover:text-foreground`,m=!l&&c&&d===`depressed`&&`bg-muted text-primary shadow-[inset_0_2px_4px_rgba(0,0,0,0.14)] ring-1 ring-inset ring-border/80 dark:shadow-[inset_0_2px_4px_rgba(0,0,0,0.35)]`,h=!l&&c&&d===`elevated`&&`bg-background text-foreground shadow-sm`,g;t[0]!==f||t[1]!==p||t[2]!==m||t[3]!==h?(g=u(`rounded p-1.5 transition-all`,f,p,m,h),t[0]=f,t[1]=p,t[2]=m,t[3]=h,t[4]=g):g=t[4];let _;t[5]!==i||t[6]!==l||t[7]!==c||t[8]!==n||t[9]!==g?(_=(0,Y.jsx)(x,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,onClick:n,disabled:l,"aria-pressed":c,className:g,children:i})}),t[5]=i,t[6]=l,t[7]=c,t[8]=n,t[9]=g,t[10]=_):_=t[10];let v;t[11]===r?v=t[12]:(v=(0,Y.jsx)(S,{children:r}),t[11]=r,t[12]=v);let y;return t[13]!==v||t[14]!==_?(y=(0,Y.jsxs)(w,{children:[_,v]}),t[13]=v,t[14]=_,t[15]=y):y=t[15],y}function Ge(e){let t=(0,q.c)(43),{controller:n,urlInputRef:r}=e,{currentUrl:i,inputUrl:a,setInputUrl:o,handleKeyDown:s,goBack:c,goForward:l,refresh:d,toggleSelectMode:x,toggleEditMode:S,openExternal:C,updateDeviceMode:w,selectionModeError:T,isSelectModeEnabled:E,isEditModeActive:D,deviceMode:O}=n,k;t[0]!==i||t[1]!==c?(k=i&&(0,Y.jsx)($,{onClick:c,label:`Back`,children:(0,Y.jsx)(h,{size:15})}),t[0]=i,t[1]=c,t[2]=k):k=t[2];let A;t[3]!==i||t[4]!==l?(A=i&&(0,Y.jsx)($,{onClick:l,label:`Forward`,children:(0,Y.jsx)(f,{size:15})}),t[3]=i,t[4]=l,t[5]=A):A=t[5];let j;t[6]===o?j=t[7]:(j=e=>o(e.target.value),t[6]=o,t[7]=j);let M;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(M=u(`flex-1 rounded-full bg-muted font-mono`),t[8]=M):M=t[8];let N;t[9]!==s||t[10]!==a||t[11]!==j||t[12]!==r?(N=(0,Y.jsx)(z,{ref:r,type:`text`,value:a,onChange:j,onKeyDown:s,placeholder:`Enter URL...`,className:M,spellCheck:!1}),t[9]=s,t[10]=a,t[11]=j,t[12]=r,t[13]=N):N=t[13];let P;t[14]!==i||t[15]!==d?(P=i&&(0,Y.jsx)($,{onClick:d,label:`Refresh page`,children:(0,Y.jsx)(g,{size:15})}),t[14]=i,t[15]=d,t[16]=P):P=t[16];let F;t[17]!==i||t[18]!==E||t[19]!==T||t[20]!==x?(F=i&&(0,Y.jsx)($,{onClick:x,label:T?`Select element unavailable: ${T}`:E?`Exit element selection`:`Select element from preview`,isActive:E,activeStyle:`depressed`,children:(0,Y.jsx)(b,{size:15})}),t[17]=i,t[18]=E,t[19]=T,t[20]=x,t[21]=F):F=t[21];let I;t[22]!==i||t[23]!==D||t[24]!==T||t[25]!==S?(I=i&&(0,Y.jsx)($,{onClick:S,label:T?`Edit text unavailable: ${T}`:D?`Exit text editing`:`Edit text from preview`,isActive:D,activeStyle:`depressed`,children:(0,Y.jsx)(m,{size:15})}),t[22]=i,t[23]=D,t[24]=T,t[25]=S,t[26]=I):I=t[26];let L;t[27]!==i||t[28]!==O||t[29]!==w?(L=i&&(0,Y.jsxs)(`div`,{className:`flex items-center rounded-md bg-muted p-0.5`,children:[(0,Y.jsx)($,{onClick:()=>w(`desktop`),label:`Desktop view`,isActive:O===`desktop`,children:(0,Y.jsx)(v,{size:15})}),(0,Y.jsx)($,{onClick:()=>w(`tablet`),label:`Tablet view`,isActive:O===`tablet`,children:(0,Y.jsx)(y,{size:15})}),(0,Y.jsx)($,{onClick:()=>w(`mobile`),label:`Mobile view`,isActive:O===`mobile`,children:(0,Y.jsx)(p,{size:15})})]}),t[27]=i,t[28]=O,t[29]=w,t[30]=L):L=t[30];let R;t[31]!==i||t[32]!==C?(R=i&&(0,Y.jsx)($,{onClick:C,label:`Open in external browser`,children:(0,Y.jsx)(_,{size:15})}),t[31]=i,t[32]=C,t[33]=R):R=t[33];let B;return t[34]!==k||t[35]!==R||t[36]!==A||t[37]!==N||t[38]!==P||t[39]!==F||t[40]!==I||t[41]!==L?(B=(0,Y.jsx)(`div`,{className:`relative shrink-0 border-b border-border`,children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,children:[k,A,N,P,F,I,L,R]})}),t[34]=k,t[35]=R,t[36]=A,t[37]=N,t[38]=P,t[39]=F,t[40]=I,t[41]=L,t[42]=B):B=t[42],B}function Ke(e){let t=(0,q.c)(4),{devServerStopped:n,selectedProjectId:r,runCommand:i}=e,o;return t[0]!==n||t[1]!==i||t[2]!==r?(o=(0,Y.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-6 text-muted-foreground`,children:n?(0,Y.jsx)(`p`,{className:a.body,children:`Dev server stopped`}):r&&i?(0,Y.jsx)(M,{projectId:r,runCommand:i,large:!0}):(0,Y.jsx)(`p`,{className:a.body,children:`Enter a URL to browse`})}),t[0]=n,t[1]=i,t[2]=r,t[3]=o):o=t[3],o}function qe(e){let t=(0,q.c)(23),{instanceId:n}=e,r=Be(n),a=Ve[r.deviceMode],{registerPanelFocus:o}=i(),s=(0,K.useRef)(null),c,l;t[0]!==n||t[1]!==o?(c=()=>o(n,()=>s.current?.focus()),l=[n,o],t[0]=n,t[1]=o,t[2]=c,t[3]=l):(c=t[2],l=t[3]),(0,K.useEffect)(c,l);let u;t[4]!==r.currentUrl||t[5]!==r.handleWebviewRef||t[6]!==r.iframeRef||t[7]!==r.nativeWebviewMounted||t[8]!==r.previewRpcPreload||t[9]!==r.useNativeWebview?(u=(0,Y.jsx)(He,{useNativeWebview:r.useNativeWebview,nativeWebviewMounted:r.nativeWebviewMounted,currentUrl:r.currentUrl,previewRpcPreload:r.previewRpcPreload,handleWebviewRef:r.handleWebviewRef,iframeRef:r.iframeRef}),t[4]=r.currentUrl,t[5]=r.handleWebviewRef,t[6]=r.iframeRef,t[7]=r.nativeWebviewMounted,t[8]=r.previewRpcPreload,t[9]=r.useNativeWebview,t[10]=u):u=t[10];let d=u;if(!r.isBrowserActive){let e;return t[11]!==r.previewContainerRef||t[12]!==d?(e=(0,Y.jsx)(We,{previewContainerRef:r.previewContainerRef,children:d}),t[11]=r.previewContainerRef,t[12]=d,t[13]=e):e=t[13],e}let f;t[14]===r?f=t[15]:(f=(0,Y.jsx)(Ge,{controller:r,urlInputRef:s}),t[14]=r,t[15]=f);let p;t[16]!==r||t[17]!==a||t[18]!==d?(p=r.currentUrl?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(X,{onCommit:()=>r.runPreviewTextEdit(`commit`),onCancelPreview:()=>r.runPreviewTextEdit(`cancel`)}),(0,Y.jsx)(Ue,{selectionModeError:r.selectionModeError,isSelectModeEnabled:r.isSurfaceSelectInteraction,deviceMode:r.deviceMode,currentDeviceConfig:a,previewContainerRef:r.previewContainerRef,children:d})]}):(0,Y.jsx)(Ke,{devServerStopped:r.devServerStopped,selectedProjectId:r.selectedProjectId,runCommand:r.runCommand}),t[16]=r,t[17]=a,t[18]=d,t[19]=p):p=t[19];let m;return t[20]!==f||t[21]!==p?(m=(0,Y.jsx)(C,{children:(0,Y.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,children:[f,p]})}),t[20]=f,t[21]=p,t[22]=m):m=t[22],m}export{qe as BrowserTab};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{N as i,k as a,q as o}from"./dist-CTLFS4dn.js";import{$ as s,K as c,Y as l,et as u,i as d,n as f,r as p}from"./store-BSzKIu5G.js";import{Et as m,Sn as h,Vt as g,Zt as _}from"./api-DX1ny6q-.js";var v=e(n(),1),y=r(),b=v.createContext(void 0),x=e=>{let t=v.useContext(b);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},S=({client:e,children:t})=>(v.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,y.jsx)(b.Provider,{value:e,children:t})),ee=t(),C={onboarding:{status:()=>[`onboarding`,`status`]},app:{update:()=>[`app`,`update`]},models:{enabled:e=>[`models`,`enabled`,e],enabledImage:e=>[`models`,`enabled-image`,e]},userTasks:e=>[`user-tasks`,e],threads:{files:e=>[`threads`,`files`,e]},conversations:{recent:()=>[`conversations`,`recent`],unread:e=>[`conversations`,`unread`,e??null],unreadAll:()=>[`conversations`,`unread`]}};function w({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n,threadIds:r,threadMultiPaneStates:i}){let a={};for(let e of r){let t=i[e];!t||Object.keys(t.extraChatPanes).length===0||(a[e]={focusedPaneId:t.focusedPane,panes:Object.entries(t.extraChatPanes).map(([e,t])=>({paneId:e,conversationId:t.conversationId}))})}return{version:1,nonChatWindows:e,layout:t===null?`grid`:`expanded`,expandedWindowId:t,selectedWindowId:n,chatPanesByThread:a}}function te(e,t){let n=new Set(t?e.chatPanesByThread[t]?.panes.map(e=>e.paneId)??[]:[]),r=new Set(e.nonChatWindows.map(e=>e.id)),i=n.size>0||r.size>0;function a(e){return e===`primary`||e!==null&&(n.has(e)||r.has(e))}let s=a(e.selectedWindowId)?e.selectedWindowId:o,c=null;return e.layout===`expanded`&&i&&(c=a(e.expandedWindowId)?e.expandedWindowId:o),{nonChatWindows:e.nonChatWindows,expandedWindowId:c,selectedWindowId:s}}var T=i(`app.window-state`);function ne(e,t,n){return JSON.stringify({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n})}function re({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n,onReset:r,onHydrate:i}){let a=f(),o=p(e=>e.selectedProjectId),c=p(e=>e.projects),l=p(e=>e.threadMultiPaneStates),u=c.find(e=>e.projectId===o),d=(u?.threads.map(e=>e.threadId)??[]).join(`\0`),g=u!==void 0,[_,y]=(0,v.useState)(null),b=(0,v.useRef)(null),x=(0,v.useRef)(Promise.resolve()),S=(0,v.useRef)(null),ee=(0,v.useRef)(0),C=(0,v.useRef)(ne(e,t,n));C.current=ne(e,t,n),(0,v.useEffect)(()=>{let e=S.current!==o;if(S.current=o,!o||!g){r(),y(null),b.current=null;return}e&&(r(),y(null),b.current=null);let t=o,n=d?d.split(`\0`):[],c=C.current,l=++ee.current,u=!1;async function f(){try{let e=await m(t);if(u||l!==ee.current)return;if(a({type:s.HydrateProjectChatPanes,threadIds:n,chatPanesByThread:e.chatPanesByThread}),C.current!==c){y(t);return}b.current=JSON.stringify(e),i(e),y(t)}catch(e){u||T.error(`Failed to restore project window state`,e)}}return f(),()=>{u=!0}},[a,g,i,r,d,o]),(0,v.useEffect)(()=>{if(!o||o!==_||!g)return;let r=w({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n,threadIds:d?d.split(`\0`):[],threadMultiPaneStates:l}),i=JSON.stringify(r);if(i===b.current)return;let a=o;b.current=i,x.current=x.current.catch(()=>void 0).then(()=>h(a,r)).catch(e=>{T.error(`Failed to save project window state`,e),b.current===i&&(b.current=null)})},[t,g,_,e,o,n,d,l])}var E=new Set;function D(e){return E.add(e),function(){E.delete(e)}}function O(e){for(let t of E)t(e)}function k(e){return e.canCreateRepo?!0:e.hasChanges||e.hasUnpushedCommits||e.commitsAheadOfDefault}function A(e){let t=[];return e.hasChanges&&t.push(`uncommitted changes`),e.hasUnpushedCommits&&t.push(`unpushed commits`),e.commitsAheadOfDefault&&t.push(`commits not in ${e.defaultBranch??`the default branch`}`),e.canCreateRepo&&t.push(`the repository has no remote, so its commits cannot be verified`),t.join(`, `)}function j(e,t){if(e.projectPath&&t&&!e.projectPath.startsWith(t.replace(/\/+$/,``)+`/`))return e.projectPath}function M(e,t){return!t||!e.path?!1:e.path===t}function N(e,t){let n=t.projects.find(t=>t.threads.some(t=>t.threadId===e)),r=n?.threads.find(t=>t.threadId===e);if(!n||!r||t.deletingThreadIds.includes(e)||l(e,t.processingThreadIds,t.streamingSignature,t.pendingChatMessage))return null;let i=j(n,t.cloneRootPath);return M(r,i)?null:{project:n,thread:r,projectOpenFolderPath:i}}function P(e,t){return!t&&e===0}var ie=(0,v.createContext)(null);function ae(e){let t=(0,ee.c)(19),{windows:n,extraChatPanes:r,primaryChatOpen:i,expandedWindowId:a,selectedWindowId:s,setExpandedWindowId:c,setSelectedWindowId:l}=e,u,d;t[0]!==a||t[1]!==r||t[2]!==i||t[3]!==c||t[4]!==n?(u=()=>{if(a){if(a===`primary`){if(i)return;c(n.length>0?n[0].id:null);return}!n.some(e=>e.id===a)&&!r[a]&&c(i?o:n[0]?.id??null)}},d=[a,r,i,n,c],t[0]=a,t[1]=r,t[2]=i,t[3]=c,t[4]=n,t[5]=u,t[6]=d):(u=t[5],d=t[6]),(0,v.useEffect)(u,d);let f,p;t[7]!==r||t[8]!==i||t[9]!==s||t[10]!==l||t[11]!==n?(f=()=>{if(s===`primary`){if(i||n.length===0)return;l(n[0].id);return}!n.some(e=>e.id===s)&&!r[s]&&l(i?o:n[0]?.id??`primary`)},p=[r,i,s,n,l],t[7]=r,t[8]=i,t[9]=s,t[10]=l,t[11]=n,t[12]=f,t[13]=p):(f=t[12],p=t[13]),(0,v.useEffect)(f,p);let m,h;t[14]!==a||t[15]!==c||t[16]!==n.length?(m=()=>{n.length===0&&a!==null&&c(null)},h=[a,n.length,c],t[14]=a,t[15]=c,t[16]=n.length,t[17]=m,t[18]=h):(m=t[17],h=t[18]),(0,v.useEffect)(m,h)}function oe(e,t,n,r){t.panelId===`chat`?n({type:s.RemoveChatPane,paneId:e}):r(t=>t.filter(t=>t.id!==e))}var F=i(`chat.dock`);function I(e,t,n,r){return e.processingRuns.some(e=>e.threadId===t&&e.conversationId===r)||c(e.threadStreamingStates,t,n).isStreaming||n===u&&e.pendingChatMessage?.threadId===t?!0:e.queuedChatMessages.some(e=>e.threadId===t&&e.paneId===n)}function L(e,t,n){_(e,t).catch(n=>{F.error(`Failed to mark conversation read on chat window close`,{error:n,threadId:e,conversationId:t})}).finally(()=>{n.invalidateQueries({queryKey:C.conversations.unreadAll()})})}async function se(e,t,n){let r=t.selectedThreadId;if(!r)return;let i=e===u?t.primaryConversationId:t.extraChatPanes[e]?.conversationId;if(!i&&e===u)try{i=(await g(r)).currentConversationId??void 0}catch(e){F.error(`Failed to resolve current conversation on chat window close`,{error:e,threadId:r});return}!i||I(t,r,e,i)||L(r,i,n)}function ce(e,t){e.selectedThreadId&&P(Object.keys(e.extraChatPanes).length,t)&&O({threadId:e.selectedThreadId})}function le(e,t,n,r){if(n.length===1)return null;if(e!==t)return e;let i=n.filter(e=>e.id!==t);return r?o:i[0]?.id??null}function ue(e,t,n,r){if(e!==t)return e;let i=n.filter(e=>e.id!==t);return r?o:i[0]?.id??`primary`}function de(e,t,n){return t.length===0?null:e===`primary`?n:e}function fe(e,t){return e===`primary`&&t?t:e}function pe(e){let t=(0,ee.c)(72),{children:n}=e,r=f(),i=d(),c=x(),l=p(_e),m=p(ge),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],t[0]=h):h=t[0];let[g,_]=(0,v.useState)(h),[b,S]=(0,v.useState)(!0),[C,w]=(0,v.useState)(null),[T,ne]=(0,v.useState)(`half`),[E,D]=(0,v.useState)(o),[O,k]=(0,v.useState)(null),A;t[1]===m?A=t[2]:(A=Object.keys(m).map(he),t[1]=m,t[2]=A);let j=A,M;t[3]!==j||t[4]!==g?(M=[...j,...g],t[3]=j,t[4]=g,t[5]=M):M=t[5];let N=M,P;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(P=new Map,t[6]=P):P=t[6];let F=(0,v.useRef)(P),I=(0,v.useRef)(null),L;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(L=(e,t)=>(F.current.set(e,t),()=>{F.current.delete(e)}),t[7]=L):L=t[7];let pe=L,R;t[8]!==r||t[9]!==N?(R=e=>{if(e===`primary`){r({type:s.SetFocusedPane,paneId:`primary`}),r({type:s.FocusChatInput});return}if(N.find(t=>t.id===e)?.panelId===`chat`){r({type:s.SetFocusedPane,paneId:e}),r({type:s.FocusChatInput});return}F.current.get(e)?.()},t[8]=r,t[9]=N,t[10]=R):R=t[10];let z=R,B,V;t[11]!==C||t[12]!==z||t[13]!==E?(B=()=>{let e=C??E;if(e===null)return;let t=I.current;I.current=e,!(t===null||t===e)&&z(e)},V=[C,E,z],t[11]=C,t[12]=z,t[13]=E,t[14]=B,t[15]=V):(B=t[14],V=t[15]),(0,v.useEffect)(B,V);let H;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>{I.current=o,_([]),S(!0),w(null),D(o),k(null)},t[16]=H):H=t[16];let ve=H,U;t[17]===i?U=t[18]:(U=e=>{let t=te(e,i.getState().selectedThreadId);I.current=t.expandedWindowId??t.selectedWindowId,_(t.nonChatWindows),w(t.expandedWindowId),D(t.selectedWindowId),k(null)},t[17]=i,t[18]=U);let ye=U,W;t[19]!==C||t[20]!==ye||t[21]!==g||t[22]!==E?(W={nonChatWindows:g,expandedWindowId:C,selectedWindowId:E,onReset:ve,onHydrate:ye},t[19]=C,t[20]=ye,t[21]=g,t[22]=E,t[23]=W):W=t[23],re(W);let G;t[24]!==C||t[25]!==m||t[26]!==b||t[27]!==E||t[28]!==N?(G={windows:N,extraChatPanes:m,primaryChatOpen:b,expandedWindowId:C,selectedWindowId:E,setExpandedWindowId:w,setSelectedWindowId:D},t[24]=C,t[25]=m,t[26]=b,t[27]=E,t[28]=N,t[29]=G):G=t[29],ae(G);let K;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(K=e=>{D(e)},t[30]=K):K=t[30];let be=K,q;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(q=e=>{e===`primary`&&S(!0),D(e),w(e)},t[31]=q):q=t[31];let xe=q,J;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(J=()=>{w(null)},t[32]=J):J=t[32];let Se=J,Y;t[33]!==b||t[34]!==N.length?(Y=e=>{e===`primary`&&S(!0),w(t=>t===null&&N.length>0||t===null&&b&&e!==`primary`?null:e),k(e)},t[33]=b,t[34]=N.length,t[35]=Y):Y=t[35];let X=Y,Z;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(Z=()=>{k(null)},t[36]=Z):Z=t[36];let Ce=Z,Q;t[37]!==r||t[38]!==X||t[39]!==l?(Q=e=>{let t=a();return e===`chat`?l?(r({type:s.AddChatPane,paneId:t,conversationId:a()}),X(t),t):t:(_(n=>[...n,{id:t,panelId:e}]),X(t),t)},t[37]=r,t[38]=X,t[39]=l,t[40]=Q):Q=t[40];let we=Q,$;t[41]!==r||t[42]!==b||t[43]!==c||t[44]!==i||t[45]!==N?($=e=>{if(e===`primary`){se(u,i.getState(),c),S(!1);let e=N[0]?.id??null;w(t=>de(t,N,e)),D(t=>fe(t,e)),ce(i.getState(),!1);return}let t=N.find(t=>t.id===e);t&&(t.panelId===`chat`&&se(e,i.getState(),c),oe(e,t,r,_),t.panelId===`chat`&&ce(i.getState(),b),w(t=>le(t,e,N,b)),D(t=>ue(t,e,N,b)))},t[41]=r,t[42]=b,t[43]=c,t[44]=i,t[45]=N,t[46]=$):$=t[46];let Te=$,Ee;t[47]!==r||t[48]!==c||t[49]!==i||t[50]!==N?(Ee=()=>{w(null),D(o),S(!0);let e=i.getState();for(let t of N)t.panelId===`chat`&&(se(t.id,e,c),r({type:s.RemoveChatPane,paneId:t.id}));_([])},t[47]=r,t[48]=c,t[49]=i,t[50]=N,t[51]=Ee):Ee=t[51];let De=Ee,Oe;t[52]!==b||t[53]!==N?(Oe=e=>e===`chat`?b||N.some(me):N.some(t=>t.panelId===e),t[52]=b,t[53]=N,t[54]=Oe):Oe=t[54];let ke=Oe,Ae=N.length>0,je=C!==null,Me;t[55]!==we||t[56]!==De||t[57]!==Te||t[58]!==T||t[59]!==C||t[60]!==Ae||t[61]!==je||t[62]!==ke||t[63]!==O||t[64]!==b||t[65]!==X||t[66]!==E||t[67]!==N?(Me={windows:N,addWindow:we,closeWindow:Te,closeAllWindows:De,isPrimaryChatOpen:b,isPanelOpen:ke,hasOpenWindows:Ae,isLayoutExpanded:je,expandedWindowId:C,expandWindow:xe,collapseLayout:Se,columnWidth:T,setColumnWidth:ne,selectedWindowId:E,selectWindow:be,revealWindow:X,pendingScrollWindowId:O,clearPendingScrollWindow:Ce,registerPanelFocus:pe},t[55]=we,t[56]=De,t[57]=Te,t[58]=T,t[59]=C,t[60]=Ae,t[61]=je,t[62]=ke,t[63]=O,t[64]=b,t[65]=X,t[66]=E,t[67]=N,t[68]=Me):Me=t[68];let Ne=Me,Pe;return t[69]!==n||t[70]!==Ne?(Pe=(0,y.jsx)(ie.Provider,{value:Ne,children:n}),t[69]=n,t[70]=Ne,t[71]=Pe):Pe=t[71],Pe}function me(e){return e.panelId===`chat`}function he(e){return{id:e,panelId:`chat`}}function ge(e){return e.extraChatPanes}function _e(e){return e.selectedThreadId}function R(){let e=(0,v.useContext)(ie);if(!e)throw Error(`useChatDock must be used within a ChatDockProvider`);return e}export{N as a,S as c,k as i,x as l,R as n,D as o,A as r,C as s,pe as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{n as i}from"./chat-dock-context-BJNNRoZC.js";import{Dt as a}from"./dist-CTLFS4dn.js";import{r as o,u as s}from"./button-kWtLAMpB.js";import{Kt as c,Nn as l,Yt as u,i as d,jn as f,q as p,qt as m}from"./dist-c_QADQ5u.js";import{a as h,i as g,n as _,o as v}from"./dist-D-2G8xGB.js";import{t as y}from"./dist-DsmF-KJ-.js";import{t as b}from"./use-toast-xpb5jNtN.js";import{t as x}from"./suspense-resource-BFrb_XJX.js";import{t as S}from"./use-suspense-resource-Dakt9lfT.js";import{a as C,c as w,i as T,n as E,r as D,t as O}from"./alert-dialog-BxMfaLuO.js";import{n as k}from"./explorer-tab-context-BxUVwWQQ.js";import{r as A,t as j}from"./async-loading-fallback-V0EaQ_Kn.js";import{$ as M,Cn as N,Dn as P,G as F,It as I,J as L,K as R,Kn as z,Q as B,Tn as ee,Y as V,fr as te,q as ne,tt as re,wn as ie}from"./index-u8UbWjXL.js";import{a as ae,i as oe,n as se,r as H,t as ce}from"./context-menu-BcM6I0Sx.js";import{t as le}from"./async-error-boundary-BX1G17o9.js";var U=e(n(),1),W=t(),ue=1,de=.9,fe=.8,pe=.17,me=.1,he=.999,ge=.9999,_e=.99,ve=/[\\\/_+.#"@\[\(\{&]/,ye=/[\\\/_+.#"@\[\(\{&]/g,be=/[\s-]/,xe=/[\s-]/g;function Se(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?ue:_e;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=Se(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=ue:ve.test(e.charAt(l-1))?(d*=fe,p=e.slice(i,l-1).match(ye),p&&i>0&&(d*=he**+p.length)):be.test(e.charAt(l-1))?(d*=de,m=e.slice(i,l-1).match(xe),m&&i>0&&(d*=he**+m.length)):(d*=pe,i>0&&(d*=he**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=ge)),(d<me&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=Se(e,t,n,r,l+1,a+2,o),f*me>d&&(d=f*me)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function Ce(e){return e.toLowerCase().replace(xe,` `)}function we(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,Se(e,t,Ce(e),Ce(t),0,0,{})}var G=`[cmdk-group=""]`,Te=`[cmdk-group-items=""]`,Ee=`[cmdk-group-heading=""]`,De=`[cmdk-item=""]`,Oe=`${De}:not([aria-disabled="true"])`,ke=`cmdk-item-select`,K=`data-value`,Ae=(e,t,n)=>we(e,t,n),je=U.createContext(void 0),q=()=>U.useContext(je),Me=U.createContext(void 0),Ne=()=>U.useContext(Me),Pe=U.createContext(void 0),Fe=U.forwardRef((e,t)=>{let n=X(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=X(()=>new Set),i=X(()=>new Map),a=X(()=>new Map),o=X(()=>new Set),s=Ke(e),{label:c,children:l,value:u,onValueChange:f,filter:p,shouldFilter:m,loop:h,disablePointerSelection:g=!1,vimBindings:_=!0,...v}=e,b=d(),x=d(),S=d(),C=U.useRef(null),w=Je();Y(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,T.emit()}},[u]),Y(()=>{w(6,j)},[]);let T=U.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=U.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(Te);t?t.appendChild(e.parentElement===t?e:e.closest(`${Te} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${Te} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=C.current?.querySelector(`${G}[${K}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function k(){let e=N().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(K);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(G)?.querySelector(Ee))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function M(){return C.current?.querySelector(`${De}[aria-selected="true"]`)}function N(){return Array.from(C.current?.querySelectorAll(Oe)||[])}function P(e){let t=N()[e];t&&T.setState(`value`,t.getAttribute(K))}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(K))}function I(e){let t=M()?.closest(G),n;for(;t&&!n;)t=e>0?We(t,G):Ge(t,G),n=t?.querySelector(Oe);n?T.setState(`value`,n.getAttribute(K)):F(e)}let L=()=>P(N().length-1),R=e=>{e.preventDefault(),e.metaKey?L():e.altKey?I(1):F(1)},z=e=>{e.preventDefault(),e.metaKey?P(0):e.altKey?I(-1):F(-1)};return U.createElement(y.div,{ref:t,tabIndex:-1,...v,"cmdk-root":``,onKeyDown:e=>{var t;(t=v.onKeyDown)==null||t.call(v,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:_&&e.ctrlKey&&R(e);break;case`ArrowDown`:R(e);break;case`p`:case`k`:_&&e.ctrlKey&&z(e);break;case`ArrowUp`:z(e);break;case`Home`:e.preventDefault(),P(0);break;case`End`:e.preventDefault(),L();break;case`Enter`:{e.preventDefault();let t=M();if(t){let e=new Event(ke);t.dispatchEvent(e)}}}}},U.createElement(`label`,{"cmdk-label":``,htmlFor:E.inputId,id:E.labelId,style:Ze},c),Xe(e,e=>U.createElement(Me.Provider,{value:T},U.createElement(je.Provider,{value:E},e))))}),Ie=U.forwardRef((e,t)=>{let n=d(),r=U.useRef(null),i=U.useContext(Pe),a=q(),o=Ke(e),c=o.current?.forceMount??i?.forceMount;Y(()=>{if(!c)return a.item(n,i?.id)},[c]);let l=qe(n,r,[e.value,e.children,r],e.keywords),u=Ne(),f=Z(e=>e.value&&e.value===l.current),p=Z(e=>c||a.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);U.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(ke,m),()=>t.removeEventListener(ke,m)},[p,e.onSelect,e.disabled]);function m(){var e,t;h(),(t=(e=o.current).onSelect)==null||t.call(e,l.current)}function h(){u.setState(`value`,l.current,!0)}if(!p)return null;let{disabled:g,value:_,onSelect:v,forceMount:b,keywords:x,...S}=e;return U.createElement(y.div,{ref:s(r,t),...S,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!g,"aria-selected":!!f,"data-disabled":!!g,"data-selected":!!f,onPointerMove:g||a.getDisablePointerSelection()?void 0:h,onClick:g?void 0:m},e.children)}),Le=U.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=d(),c=U.useRef(null),l=U.useRef(null),u=d(),f=q(),p=Z(e=>i||f.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);Y(()=>f.group(o),[]),qe(o,c,[e.value,e.heading,l]);let m=U.useMemo(()=>({id:o,forceMount:i}),[i]);return U.createElement(y.div,{ref:s(c,t),...a,"cmdk-group":``,role:`presentation`,hidden:p?void 0:!0},n&&U.createElement(`div`,{ref:l,"cmdk-group-heading":``,"aria-hidden":!0,id:u},n),Xe(e,e=>U.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?u:void 0},U.createElement(Pe.Provider,{value:m},e))))}),Re=U.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=U.useRef(null),a=Z(e=>!e.search);return!n&&!a?null:U.createElement(y.div,{ref:s(i,t),...r,"cmdk-separator":``,role:`separator`})}),ze=U.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=Ne(),o=Z(e=>e.search),s=Z(e=>e.selectedItemId),c=q();return U.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),U.createElement(y.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)}})}),Be=U.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=U.useRef(null),o=U.useRef(null),c=Z(e=>e.selectedItemId),l=q();return U.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.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)}}},[]),U.createElement(y.div,{ref:s(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":c,"aria-label":r,id:l.listId},Xe(e,e=>U.createElement(`div`,{ref:s(o,l.listInnerRef),"cmdk-list-sizer":``},e)))}),Ve=U.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return U.createElement(v,{open:n,onOpenChange:r},U.createElement(h,{container:o},U.createElement(g,{"cmdk-overlay":``,className:i}),U.createElement(_,{"aria-label":e.label,"cmdk-dialog":``,className:a},U.createElement(Fe,{ref:t,...s}))))}),He=U.forwardRef((e,t)=>Z(e=>e.filtered.count===0)?U.createElement(y.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),Ue=U.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return U.createElement(y.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},Xe(e,e=>U.createElement(`div`,{"aria-hidden":!0},e)))}),J=Object.assign(Fe,{List:Be,Item:Ie,Input:ze,Group:Le,Separator:Re,Dialog:Ve,Empty:He,Loading:Ue});function We(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function Ge(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function Ke(e){let t=U.useRef(e);return Y(()=>{t.current=e}),t}var Y=typeof window>`u`?U.useEffect:U.useLayoutEffect;function X(e){let t=U.useRef();return t.current===void 0&&(t.current=e()),t}function Z(e){let t=Ne(),n=()=>e(t.snapshot());return U.useSyncExternalStore(t.subscribe,n,n)}function qe(e,t,n,r=[]){let i=U.useRef(),a=q();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(K,s),i.current=s}),i}var Je=()=>{let[e,t]=U.useState(),n=X(()=>new Map);return Y(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function Ye(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Xe({asChild:e,children:t},n){return e&&U.isValidElement(t)?U.cloneElement(Ye(t),{ref:t.ref},n(t.props.children)):n(t)}var Ze={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`},Q=r(),Qe=U.forwardRef((e,t)=>{let n=(0,W.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,Q.jsx)(J,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=s):s=n[8],s});Qe.displayName=J.displayName;var $e=U.forwardRef((e,t)=>{let n=(0,W.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,Q.jsx)(p,{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,Q.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[a,(0,Q.jsx)(J.Input,{ref:t,className:s,...i})]}),n[6]=i,n[7]=t,n[8]=s,n[9]=c):c=n[9],c});$e.displayName=J.Input.displayName;var et=U.forwardRef((e,t)=>{let n=(0,W.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,Q.jsx)(J.List,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=s):s=n[8],s});et.displayName=J.List.displayName;var tt=U.forwardRef((e,t)=>{let n=(0,W.c)(4),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=o(a.bodyMuted,`py-6 text-center`),n[0]=r):r=n[0];let i;return n[1]!==e||n[2]!==t?(i=(0,Q.jsx)(J.Empty,{ref:t,className:r,...e}),n[1]=e,n[2]=t,n[3]=i):i=n[3],i});tt.displayName=J.Empty.displayName;var nt=U.forwardRef((e,t)=>{let n=(0,W.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,Q.jsx)(J.Group,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=s):s=n[8],s});nt.displayName=J.Group.displayName;var rt=U.forwardRef((e,t)=>{let n=(0,W.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,Q.jsx)(J.Separator,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=s):s=n[8],s});rt.displayName=J.Separator.displayName;var it=U.forwardRef((e,t)=>{let n=(0,W.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 s;n[3]===r?s=n[4]:(s=o(o(a.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]!==i||n[6]!==t||n[7]!==s?(c=(0,Q.jsx)(J.Item,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=c):c=n[8],c});it.displayName=J.Item.displayName;var at=e=>{let t=(0,W.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=o(a.compact,`ml-auto tracking-widest text-muted-foreground`,n),t[3]=n,t[4]=i);let s;return t[5]!==r||t[6]!==i?(s=(0,Q.jsx)(`span`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=s):s=t[7],s};at.displayName=`CommandShortcut`;var ot=100,st=500;function ct(e){return e.trim().toLowerCase().split(/\s+/).filter(Boolean)}function lt(e,t){return t.length===0?!0:t.every(t=>e.haystack.includes(t))}function ut(e,t,n){if(t.length===0)return[];let r=[];for(let n of e)if(lt(n,t)&&(r.push(n.node),r.length>=st))break;return r.sort((e,t)=>dt(e,t,n)).slice(0,ot)}function dt(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 ft(e,t){return n=>{e.current=n,t&&(t.current=n)}}function pt(e){let t=(0,W.c)(41),{items:n,isReady:r,onRequestIndex:i,onOpenChange:s,onSelect:l,inputRef:u}=e,d=r===void 0?!1:r,f=(0,U.useRef)(null),p=(0,U.useRef)(!1),m=(0,U.useRef)(!1),[h,g]=(0,U.useState)(!1),[_,v]=(0,U.useState)(``),y=(0,U.useDeferredValue)(_),b;t[0]===i?b=t[1]:(b=function(){m.current||(m.current=!0,i())},t[0]=i,t[1]=b);let x=b,S;t[2]!==y||t[3]!==n?(S=ut(n,ct(y),y),t[2]=y,t[3]=n,t[4]=S):S=t[4];let C=S,w,T;t[5]!==s||t[6]!==_?(w=()=>{let e=_.trim().length>0;g(e),p.current!==e&&(p.current=e,s(e))},T=[s,_],t[5]=s,t[6]=_,t[7]=w,t[8]=T):(w=t[7],T=t[8]),(0,U.useEffect)(w,T);let E;t[9]===s?E=t[10]:(E=function(e){e||v(``),g(e),s(e),e&&requestAnimationFrame(()=>f.current?.focus())},t[9]=s,t[10]=E);let D=E,O;t[11]!==s||t[12]!==l?(O=function(e){l(e),g(!1),s(!1),v(``)},t[11]=s,t[12]=l,t[13]=O):O=t[13];let k=O,A;t[14]===u?A=t[15]:(A=ft(f,u),t[14]=u,t[15]=A);let j;t[16]===x?j=t[17]:(j=e=>{x(),v(e.target.value)},t[16]=x,t[17]=j);let M;t[18]!==_||t[19]!==x||t[20]!==A||t[21]!==j?(M=(0,Q.jsx)(ee,{asChild:!0,children:(0,Q.jsx)(`div`,{className:`bg-transparent`,children:(0,Q.jsx)(te,{ref:A,value:_,onPointerDown:x,onChange:j,placeholder:`Search files and folders`,className:`pr-[4px]`})})}),t[18]=_,t[19]=x,t[20]=A,t[21]=j,t[22]=M):M=t[22];let P;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(P=o(a.compact,`py-4`),t[23]=P):P=t[23];let F=d?`No matches found.`:`Indexing files and folders...`,L;t[24]===F?L=t[25]:(L=(0,Q.jsx)(tt,{className:P,children:F}),t[24]=F,t[25]=L);let R;if(t[26]!==k||t[27]!==C){let e;t[29]===k?e=t[30]:(e=e=>(0,Q.jsxs)(it,{value:e.path,onSelect:()=>k(e),className:e.ignored?`opacity-50`:void 0,children:[e.type===`folder`?(0,Q.jsx)(c,{className:`h-4 w-4 text-muted-foreground`}):(0,Q.jsx)(I,{filename:e.name}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`div`,{className:`truncate`,children:e.name}),(0,Q.jsx)(`div`,{className:o(a.compact,`truncate text-muted-foreground`),children:e.path})]})]},e.path),t[29]=k,t[30]=e),R=C.map(e),t[26]=k,t[27]=C,t[28]=R}else R=t[28];let z;t[31]===R?z=t[32]:(z=(0,Q.jsx)(nt,{children:R}),t[31]=R,t[32]=z);let B;t[33]!==L||t[34]!==z?(B=(0,Q.jsx)(ie,{align:`start`,side:`bottom`,sideOffset:4,onOpenAutoFocus:mt,className:`w-[var(--radix-popover-trigger-width)] p-0`,children:(0,Q.jsx)(Qe,{shouldFilter:!1,children:(0,Q.jsxs)(et,{children:[L,z]})})}),t[33]=L,t[34]=z,t[35]=B):B=t[35];let V;return t[36]!==D||t[37]!==h||t[38]!==M||t[39]!==B?(V=(0,Q.jsxs)(N,{open:h,onOpenChange:D,children:[M,B]}),t[36]=D,t[37]=h,t[38]=M,t[39]=B,t[40]=V):V=t[40],V}function mt(e){return e.preventDefault()}function ht(e,t,n){return`explorer-dir:${e}:${t}:${n}`}function gt(e){let t=(0,W.c)(12),{threadId:n,dirPath:r,version:i,children:a}=e,o;t[0]!==r||t[1]!==n||t[2]!==i?(o=ht(n,r,i),t[0]=r,t[1]=n,t[2]=i,t[3]=o):o=t[3];let s;t[4]!==r||t[5]!==n?(s=()=>B(n,r).then(_t),t[4]=r,t[5]=n,t[6]=s):s=t[6];let c=S(o,s),l;t[7]!==a||t[8]!==c?(l=a(c),t[7]=a,t[8]=c,t[9]=l):l=t[9];let u;return t[10]===l?u=t[11]:(u=(0,Q.jsx)(Q.Fragment,{children:l}),t[10]=l,t[11]=u),u}function _t(e){return e.entries}function vt(e){let t=(0,W.c)(19),{defaultValue:n,onCommit:r,onCancel:i,level:o,basePadding:s,icon:c}=e,l=(0,U.useRef)(null),u,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{l.current?.focus(),l.current?.select()},d=[],t[0]=u,t[1]=d):(u=t[0],d=t[1]),(0,U.useEffect)(u,d);let f;t[2]!==i||t[3]!==r?(f=function(e){e?r(e):i()},t[2]=i,t[3]=r,t[4]=f):f=t[4];let p=f,m;t[5]!==p||t[6]!==i?(m=function(e){e.key===`Enter`?p(St(l.current)):e.key===`Escape`&&i()},t[5]=p,t[6]=i,t[7]=m):m=t[7];let h=m,g;t[8]===p?g=t[9]:(g=function(){p(St(l.current))},t[8]=p,t[9]=g);let _=g,v;t[10]!==n||t[11]!==_||t[12]!==h?(v=(0,Q.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:yt}),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,Q.jsxs)(z,{level:o,basePadding:s,className:a.conversationBody,children:[c,v]}),t[14]=s,t[15]=c,t[16]=o,t[17]=v,t[18]=y):y=t[18],y}function yt(e){return e.stopPropagation()}function bt(e){return e.map(e=>({node:e,haystack:`${e.name} ${e.path}`.toLowerCase()}))}function xt(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t):``}function St(e){return e?.value.trim()??``}function Ct(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 wt(e,t){let n=new Set(e);for(let e of t)n.add(e);return n}function Tt(e,t){let n=new Set(e);return n.delete(t),n}function Et(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 Dt(e){let t=new Set([``]);for(let n of e)t.add(n);return t}function Ot(e,t,n){let r=Dt(t),i=new Map(e);for(let t of r){let r=e.get(t)??0;x(ht(n,t,r)),i.set(t,r+1)}return i}function kt(e,t){return e===t||e.startsWith(t+`/`)}function At(e,t){let n=new Set(e);for(let e of n)kt(e,t)&&n.delete(e);return n}function jt(e,t){let n=new Map(e);for(let e of n.keys())kt(e,t)&&n.delete(e);return n}async function $(e,t){try{await e()}catch{b({title:`Error`,description:t,variant:`destructive`})}}function Mt(e){let t=(0,W.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,Q.jsx)(`input`,{autoFocus:!0,defaultValue:n.name,onKeyDown:c,onBlur:l,onClick:Nt,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 Nt(e){return e.stopPropagation()}function Pt(e,t){return o(a.conversationBody,e.ignored&&`opacity-50`,t&&`bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-primary`)}function Ft(e,t){R(e.dataTransfer)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`,t.isDropTarget||t.onFolderDropTargetChange(t.path))}function It(e,t){R(e.dataTransfer)&&(e.currentTarget.contains(e.relatedTarget)||t.isDropTarget&&t.onFolderDropTargetChange(null))}function Lt(e,t){if(!R(e.dataTransfer))return;e.preventDefault(),e.stopPropagation(),t.onFolderDropTargetChange(null);let{files:n,skippedFolders:r}=F(e.dataTransfer);r>0&&b({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),n.length>0&&t.onFilesDrop(n,t.path)}function Rt(e){let t=(0,W.c)(27),{node:n,newItemDir:r,onOpen:i,onNewFile:a,onNewFolder:o,onCopyReference:s,onStartRename:c,onDelete:l}=e,u;t[0]!==n||t[1]!==i?(u=(0,Q.jsx)(H,{onSelect:()=>i(n),children:`Open`}),t[0]=n,t[1]=i,t[2]=u):u=t[2];let d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsx)(oe,{}),t[3]=d):d=t[3];let f;t[4]!==r||t[5]!==a?(f=(0,Q.jsx)(H,{onSelect:()=>a(r),children:`New File...`}),t[4]=r,t[5]=a,t[6]=f):f=t[6];let p;t[7]!==r||t[8]!==o?(p=(0,Q.jsx)(H,{onSelect:()=>o(r),children:`New Folder...`}),t[7]=r,t[8]=o,t[9]=p):p=t[9];let m;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Q.jsx)(oe,{}),t[10]=m):m=t[10];let h;t[11]!==n||t[12]!==s?(h=(0,Q.jsx)(H,{onSelect:()=>s(n),children:`Copy Reference`}),t[11]=n,t[12]=s,t[13]=h):h=t[13];let g;t[14]!==n||t[15]!==c?(g=(0,Q.jsx)(H,{onSelect:()=>c(n),children:`Rename...`}),t[14]=n,t[15]=c,t[16]=g):g=t[16];let _;t[17]!==n||t[18]!==l?(_=(0,Q.jsx)(H,{onSelect:()=>l(n),className:`text-destructive focus:text-destructive`,children:`Delete`}),t[17]=n,t[18]=l,t[19]=_):_=t[19];let v;return t[20]!==u||t[21]!==f||t[22]!==p||t[23]!==h||t[24]!==g||t[25]!==_?(v=(0,Q.jsxs)(se,{children:[u,d,f,p,m,h,g,_]}),t[20]=u,t[21]=f,t[22]=p,t[23]=h,t[24]=g,t[25]=_,t[26]=v):v=t[26],v}function zt(e){let t=(0,W.c)(10),{newItemIn:n,dirPath:r,level:i,onCommitNewItem:a,onCancelNewItem:o}=e;if(!n||n.dirPath!==r)return null;let s=n.type===`folder`,c;t[0]===s?c=t[1]:(c=Vt(s),t[0]=s,t[1]=c);let l;t[2]===s?l=t[3]:(l=Bt(s),t[2]=s,t[3]=l);let u;return t[4]!==i||t[5]!==o||t[6]!==a||t[7]!==c||t[8]!==l?(u=(0,Q.jsx)(vt,{defaultValue:``,level:i,basePadding:c,icon:l,onCommit:a,onCancel:o}),t[4]=i,t[5]=o,t[6]=a,t[7]=c,t[8]=l,t[9]=u):u=t[9],u}function Bt(e){return e?(0,Q.jsx)(c,{className:`h-4 w-4 flex-shrink-0`}):(0,Q.jsx)(u,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`})}function Vt(e){return e?10:22}function Ht(e){let t=(0,W.c)(33),{node:n,level:r,selectedPath:i,expandedPaths:a,renamingPath:o,dropTargetPath:s,onToggleFolder:u,onCommitRename:d,onCancelRename:p,onFolderDropTargetChange:h,onFilesDrop:g}=e,_=a.has(n.path),v=o===n.path,y=s===n.path,b=_?l:f,x=_?m:c,S;t[0]!==y||t[1]!==n.path||t[2]!==g||t[3]!==h?(S={path:n.path,isDropTarget:y,onFolderDropTargetChange:h,onFilesDrop:g},t[0]=y,t[1]=n.path,t[2]=g,t[3]=h,t[4]=S):S=t[4];let C=S,w=i===n.path,T;t[5]!==y||t[6]!==n?(T=Pt(n,y),t[5]=y,t[6]=n,t[7]=T):T=t[7];let E;t[8]!==n||t[9]!==u?(E=e=>{e.stopPropagation(),u(n)},t[8]=n,t[9]=u,t[10]=E):E=t[10];let D,O,k;t[11]===C?(D=t[12],O=t[13],k=t[14]):(D=e=>Ft(e,C),O=e=>It(e,C),k=e=>Lt(e,C),t[11]=C,t[12]=D,t[13]=O,t[14]=k);let A;t[15]===b?A=t[16]:(A=(0,Q.jsx)(`span`,{className:`text-muted-foreground w-3 flex-shrink-0`,children:(0,Q.jsx)(b,{className:`h-3 w-3`})}),t[15]=b,t[16]=A);let j;t[17]!==x||t[18]!==v||t[19]!==n||t[20]!==p||t[21]!==d?(j=v?(0,Q.jsx)(Mt,{node:n,onCommitRename:d,onCancelRename:p}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(x,{className:`h-4 w-4 flex-shrink-0`}),(0,Q.jsx)(`span`,{className:`flex-1 truncate`,children:n.name})]}),t[17]=x,t[18]=v,t[19]=n,t[20]=p,t[21]=d,t[22]=j):j=t[22];let M;return t[23]!==r||t[24]!==w||t[25]!==T||t[26]!==E||t[27]!==D||t[28]!==O||t[29]!==k||t[30]!==A||t[31]!==j?(M=(0,Q.jsxs)(z,{level:r,basePadding:10,selected:w,className:T,onClick:E,onDragOver:D,onDragLeave:O,onDrop:k,children:[A,j]}),t[23]=r,t[24]=w,t[25]=T,t[26]=E,t[27]=D,t[28]=O,t[29]=k,t[30]=A,t[31]=j,t[32]=M):M=t[32],M}function Ut(e){let t=(0,W.c)(29),{node:n,level:r,threadId:i,expandedPaths:a,getDirVersion:o,newItemIn:s,onOpen:c,onNewFile:l,onNewFolder:u,onCopyReference:d,onStartRename:f,onDelete:p,onCommitNewItem:m,onCancelNewItem:h}=e,g;t[0]!==a||t[1]!==n.path?(g=a.has(n.path),t[0]=a,t[1]=n.path,t[2]=g):g=t[2];let _=g,v;t[3]===e?v=t[4]:(v=(0,Q.jsx)(Ht,{...e}),t[3]=e,t[4]=v);let y;t[5]!==o||t[6]!==_||t[7]!==r||t[8]!==s||t[9]!==n.path||t[10]!==h||t[11]!==m||t[12]!==e||t[13]!==i?(y=_&&(0,Q.jsx)(`div`,{children:(0,Q.jsx)(U.Suspense,{fallback:(0,Q.jsx)(j,{}),children:(0,Q.jsx)(gt,{threadId:i,dirPath:n.path,version:o(n.path),children:t=>(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(zt,{newItemIn:s,dirPath:n.path,level:r+1,onCommitNewItem:m,onCancelNewItem:h}),t.map(t=>(0,Q.jsx)(Gt,{...e,node:t,level:r+1},t.path))]})})})}),t[5]=o,t[6]=_,t[7]=r,t[8]=s,t[9]=n.path,t[10]=h,t[11]=m,t[12]=e,t[13]=i,t[14]=y):y=t[14];let b;t[15]!==v||t[16]!==y?(b=(0,Q.jsx)(ae,{asChild:!0,children:(0,Q.jsxs)(`div`,{children:[v,y]})}),t[15]=v,t[16]=y,t[17]=b):b=t[17];let x;t[18]!==n||t[19]!==d||t[20]!==p||t[21]!==l||t[22]!==u||t[23]!==c||t[24]!==f?(x=(0,Q.jsx)(Rt,{node:n,newItemDir:n.path,onOpen:c,onNewFile:l,onNewFolder:u,onCopyReference:d,onStartRename:f,onDelete:p}),t[18]=n,t[19]=d,t[20]=p,t[21]=l,t[22]=u,t[23]=c,t[24]=f,t[25]=x):x=t[25];let S;return t[26]!==b||t[27]!==x?(S=(0,Q.jsxs)(ce,{children:[b,x]}),t[26]=b,t[27]=x,t[28]=S):S=t[28],S}function Wt(e){let t=(0,W.c)(33),{node:n,level:r,selectedPath:i,renamingPath:s,onSelectNode:c,onOpen:l,onNewFile:u,onNewFolder:d,onCopyReference:f,onStartRename:p,onDelete:m,onCommitRename:h,onCancelRename:g}=e,_=s===n.path,v=i===n.path,y=n.ignored&&`opacity-50`,b;t[0]===y?b=t[1]:(b=o(a.conversationBody,y),t[0]=y,t[1]=b);let x;t[2]!==n||t[3]!==c?(x=()=>c(n),t[2]=n,t[3]=c,t[4]=x):x=t[4];let S;t[5]===n.name?S=t[6]:(S=(0,Q.jsx)(I,{filename:n.name}),t[5]=n.name,t[6]=S);let C;t[7]!==_||t[8]!==n||t[9]!==g||t[10]!==h?(C=_?(0,Q.jsx)(Mt,{node:n,onCommitRename:h,onCancelRename:g}):(0,Q.jsx)(`span`,{className:`flex-1 truncate`,children:n.name}),t[7]=_,t[8]=n,t[9]=g,t[10]=h,t[11]=C):C=t[11];let w;t[12]!==r||t[13]!==v||t[14]!==b||t[15]!==x||t[16]!==S||t[17]!==C?(w=(0,Q.jsx)(ae,{asChild:!0,children:(0,Q.jsxs)(z,{level:r,basePadding:22,selected:v,className:b,onClick:x,children:[S,C]})}),t[12]=r,t[13]=v,t[14]=b,t[15]=x,t[16]=S,t[17]=C,t[18]=w):w=t[18];let T;t[19]===n.path?T=t[20]:(T=xt(n.path),t[19]=n.path,t[20]=T);let E;t[21]!==n||t[22]!==f||t[23]!==m||t[24]!==u||t[25]!==d||t[26]!==l||t[27]!==p||t[28]!==T?(E=(0,Q.jsx)(Rt,{node:n,newItemDir:T,onOpen:l,onNewFile:u,onNewFolder:d,onCopyReference:f,onStartRename:p,onDelete:m}),t[21]=n,t[22]=f,t[23]=m,t[24]=u,t[25]=d,t[26]=l,t[27]=p,t[28]=T,t[29]=E):E=t[29];let D;return t[30]!==w||t[31]!==E?(D=(0,Q.jsxs)(ce,{children:[w,E]}),t[30]=w,t[31]=E,t[32]=D):D=t[32],D}var Gt=(0,U.memo)(function(e){let t=(0,W.c)(4);if(e.node.type===`folder`){let n;return t[0]===e?n=t[1]:(n=(0,Q.jsx)(Ut,{...e}),t[0]=e,t[1]=n),n}let n;return t[2]===e?n=t[3]:(n=(0,Q.jsx)(Wt,{...e}),t[2]=e,t[3]=n),n}),Kt=new Map;function qt(e,t,n){e?(t(e),n(!0)):(t([]),n(!1))}async function Jt(e,t,n){try{let n=bt((await B(e,``,!0)).entries);return Kt.set(t,n),n}catch{return null}finally{n.current===t&&(n.current=null)}}function Yt(e,t){let n=(0,W.c)(26),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],n[0]=r):r=n[0];let[i,a]=(0,U.useState)(r),[o,s]=(0,U.useState)(!1),[c,l]=(0,U.useState)(!1),[u,d]=(0,U.useState)(!1),f=(0,U.useRef)(null),p=`${e}:${t}`,m;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(m=e=>{(0,U.startTransition)(()=>{l(e)})},n[1]=m):m=n[1];let h=m,g;n[2]!==p||n[3]!==e?(g=async()=>{if(!e)return;let t=Kt.get(p);if(t){a(t),s(!0);return}f.current!==p&&(f.current=p,a([]),s(!1),qt(await Jt(e,p,f),a,s))},n[2]=p,n[3]=e,n[4]=g):g=n[4];let _=g,v;n[5]===p?v=n[6]:(v=()=>{Kt.delete(p),a([]),s(!1)},n[5]=p,n[6]=v);let y=v,b;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{d(!0)},n[7]=b):b=n[7];let x=b,S;n[8]!==y||n[9]!==_||n[10]!==u?(S=()=>{y(),u&&_()},n[8]=y,n[9]=_,n[10]=u,n[11]=S):S=n[11];let C=S,w;n[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{a([]),s(!1),d(!1),f.current=null},n[12]=w):w=n[12];let T;n[13]===p?T=n[14]:(T=[p],n[13]=p,n[14]=T),(0,U.useEffect)(w,T);let E,D;n[15]!==_||n[16]!==u||n[17]!==e?(E=()=>{!u||!e||_()},D=[_,u,e],n[15]=_,n[16]=u,n[17]=e,n[18]=E,n[19]=D):(E=n[18],D=n[19]),(0,U.useEffect)(E,D);let O;return n[20]!==C||n[21]!==o||n[22]!==c||n[23]!==p||n[24]!==i?(O={searchableItems:i,isSearchCacheReady:o,isSearchOpen:c,searchCacheKey:p,onSearchIndexRequest:x,onSearchOpenChange:h,handleExplorerMutation:C},n[20]=C,n[21]=o,n[22]=c,n[23]=p,n[24]=i,n[25]=O):O=n[25],O}function Xt(e,t,n,r,i){let a=(0,W.c)(25),[o,s]=(0,U.useState)(Zt),c=(0,U.useRef)(0),l=(0,U.useRef)(null),u;a[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=e=>{s(t=>{let n=new Map(t);return n.set(e,(t.get(e)??0)+1),n})},a[0]=u):u=a[0];let d=u,f;a[1]===o?f=a[2]:(f=e=>o.get(e)??0,a[1]=o,a[2]=f);let p=f,m;a[3]!==p||a[4]!==e?(m=t=>{e&&(x(ht(e,t,p(t))),d(t))},a[3]=p,a[4]=e,a[5]=m):m=a[5];let h=m,g;a[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=e=>{s(t=>Et(t,e))},a[6]=g):g=a[6];let _=g,v;a[7]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>{s(t=>jt(t,e))},a[7]=v):v=a[7];let y=v,b,S;a[8]!==t||a[9]!==e?(b=()=>{if(!e)return;let n=l.current!==null&&l.current!==e;l.current=e,n&&(s(new Map([[``,0]])),c.current=t)},S=[t,e],a[8]=t,a[9]=e,a[10]=b,a[11]=S):(b=a[10],S=a[11]),(0,U.useEffect)(b,S);let C,w;a[12]!==n||a[13]!==t||a[14]!==e?(C=()=>{!e||t<=c.current||(c.current=t,s(t=>Ot(t,n,e)))},w=[t,n,e],a[12]=n,a[13]=t,a[14]=e,a[15]=C,a[16]=w):(C=a[15],w=a[16]),(0,U.useEffect)(C,w);let T,E;a[17]!==i||a[18]!==r||a[19]!==e?(E=()=>{if(!i||!e)return;let t=Ct(i,!0);t.length!==0&&(r(e=>wt(e,t)),s(e=>Et(e,t)))},T=[i,r,e],a[17]=i,a[18]=r,a[19]=e,a[20]=T,a[21]=E):(T=a[20],E=a[21]),(0,U.useEffect)(E,T);let D;return a[22]!==p||a[23]!==h?(D={getDirVersion:p,reloadDir:h,ensureDirVersionsInitialized:_,removeSubtreeVersions:y},a[22]=p,a[23]=h,a[24]=D):D=a[24],D}function Zt(){return new Map([[``,0]])}function Qt(e){let t=(0,W.c)(10),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=new Set,t[0]=n):n=t[0];let[r,i]=(0,U.useState)(n),[a,o]=(0,U.useState)(null),[s,c]=(0,U.useState)(null),[l,u]=(0,U.useState)(null),[d,f]=(0,U.useState)(null),p=(0,U.useRef)(null),m,h;t[1]===e?(m=t[2],h=t[3]):(m=()=>{if(!e)return;let t=p.current!==null&&p.current!==e;p.current=e,t&&(i(new Set),o(null),c(null))},h=[e],t[1]=e,t[2]=m,t[3]=h),(0,U.useEffect)(m,h);let g;return t[4]!==d||t[5]!==r||t[6]!==s||t[7]!==a||t[8]!==l?(g={expandedPaths:r,setExpandedPaths:i,renamingPath:a,setRenamingPath:o,newItemIn:s,setNewItemIn:c,trashTarget:l,setTrashTarget:u,dropTargetPath:d,setDropTargetPath:f},t[4]=d,t[5]=r,t[6]=s,t[7]=a,t[8]=l,t[9]=g):g=t[9],g}function $t(e){let t=(0,W.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,Q.jsx)(w,{children:`Move to Trash`}),t[2]=s):s=t[2];let c=n?.name,l;t[3]===c?l=t[4]:(l=(0,Q.jsxs)(C,{children:[`Move “`,c,`” to trash?`]}),t[3]=c,t[4]=l);let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(D,{children:`Cancel`}),t[5]=u):u=t[5];let d;t[6]===i?d=t[7]:(d=(0,Q.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[u,(0,Q.jsx)(E,{onClick:i,children:`Move to Trash`})]}),t[6]=i,t[7]=d);let f;t[8]!==l||t[9]!==d?(f=(0,Q.jsxs)(T,{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,Q.jsx)(O,{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,W.c)(13),{treeCallbacks:n,rootVersion:r,onRetryRoot:i}=e,{threadId:a,newItemIn:o,onCommitNewItem:s,onCancelNewItem:c}=n,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(A,{}),t[0]=l):l=t[0];let u;t[1]!==o||t[2]!==c||t[3]!==s||t[4]!==n?(u=e=>(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(zt,{newItemIn:o,dirPath:``,level:0,onCommitNewItem:s,onCancelNewItem:c}),e.map(e=>(0,Q.jsx)(Gt,{node:e,level:0,...n},e.path))]}),t[1]=o,t[2]=c,t[3]=s,t[4]=n,t[5]=u):u=t[5];let d;t[6]!==r||t[7]!==u||t[8]!==a?(d=(0,Q.jsx)(U.Suspense,{fallback:l,children:(0,Q.jsx)(gt,{threadId:a,dirPath:``,version:r,children:u})}),t[6]=r,t[7]=u,t[8]=a,t[9]=d):d=t[9];let f;return t[10]!==i||t[11]!==d?(f=(0,Q.jsx)(`div`,{className:`py-2 min-h-full`,children:(0,Q.jsx)(le,{fallbackTitle:`Failed to load files`,onRetry:i,children:d})}),t[10]=i,t[11]=d,t[12]=f):f=t[12],f}function tn(e){let t=(0,W.c)(17),{treeCallbacks:n,rootVersion:r,onRetryRoot:i,isSearchOpen:a}=e,{onNewFile:o,onNewFolder:s}=n,c;t[0]!==i||t[1]!==r||t[2]!==n?(c=(0,Q.jsx)(en,{treeCallbacks:n,rootVersion:r,onRetryRoot:i}),t[0]=i,t[1]=r,t[2]=n,t[3]=c):c=t[3];let l;t[4]!==a||t[5]!==c?(l=(0,Q.jsx)(ae,{asChild:!0,disabled:a,children:c}),t[4]=a,t[5]=c,t[6]=l):l=t[6];let u;t[7]===o?u=t[8]:(u=(0,Q.jsx)(H,{onSelect:()=>o(``),children:`New File...`}),t[7]=o,t[8]=u);let d;t[9]===s?d=t[10]:(d=(0,Q.jsx)(H,{onSelect:()=>s(``),children:`New Folder...`}),t[9]=s,t[10]=d);let f;t[11]!==u||t[12]!==d?(f=(0,Q.jsxs)(se,{children:[u,d]}),t[11]=u,t[12]=d,t[13]=f):f=t[13];let p;return t[14]!==l||t[15]!==f?(p=(0,Q.jsxs)(ce,{children:[l,f]}),t[14]=l,t[15]=f,t[16]=p):p=t[16],p}function nn({threadId:e,selectedPath:t,onNodeSelect:n,onFilesDrop:r,instanceId:a}){let o=(0,U.useRef)(null),{registerPanelFocus:s}=i(),{explorerRefreshTick:c,pendingExplorerPath:l,setExplorerClearPath:u}=k(),{fetchUnifiedStatus:d}=P(),{expandedPaths:f,setExpandedPaths:p,renamingPath:m,setRenamingPath:h,newItemIn:g,setNewItemIn:_,trashTarget:v,setTrashTarget:y,dropTargetPath:x,setDropTargetPath:S}=Qt(e),{searchableItems:C,isSearchCacheReady:w,isSearchOpen:T,searchCacheKey:E,onSearchIndexRequest:D,onSearchOpenChange:O,handleExplorerMutation:A}=Yt(e,c),{getDirVersion:j,reloadDir:N,ensureDirVersionsInitialized:F,removeSubtreeVersions:I}=Xt(e,c,f,p,l);(0,U.useEffect)(()=>{if(a)return s(a,()=>o.current?.focus())},[a,s]);let R=(0,U.useCallback)(t=>{e&&p(e=>wt(e,Ct(t.path,t.type===`file`)))},[e]);function z(e){f.has(e.path)?p(t=>Tt(t,e.path)):(p(t=>wt(t,[e.path])),F([e.path]))}function B(e){y(e)}async function ee(t){await $(()=>M(e,t.path),`Failed to open "${t.name}"`)}async function te(e){await $(async()=>{await navigator.clipboard.writeText(e.path);let t=b({title:`Copied`,description:`Reference copied to clipboard.`});window.setTimeout(()=>{t.dismiss()},2e3)},`Failed to copy reference for "${e.name}"`)}async function ie(){if(!v)return;let t=v;y(null),await $(async()=>{await V(e,t.path),u(t.path),N(xt(t.path)),A(),d(!0),p(e=>At(e,t.path)),I(t.path)},`Failed to move "${t.name}" to trash`)}function ae(e){_(null),h(e.path)}async function oe(t,n){if(n===t.name){h(null);return}h(null),await $(async()=>{await re(e,t.path,n),N(xt(t.path)),A(),d(!0),t.type===`folder`&&(p(e=>At(e,t.path)),I(t.path))},`Failed to rename "${t.name}"`)}function se(e){h(null),f.has(e)||(p(t=>wt(t,[e])),F([e]))}function H(e){se(e),_({dirPath:e,type:`file`})}function ce(e){se(e),_({dirPath:e,type:`folder`})}async function le(t){if(!g)return;let{dirPath:n,type:r}=g;_(null),await $(async()=>{r===`file`?await ne(e,n,t):await L(e,n,t),N(n),A(),d(!0)},`Failed to create ${r} "${t}"`)}function W(){_(null)}let ue=(0,U.useCallback)((e,t)=>{r?.(e,t)},[r]);function de(e){R(e),e.type===`file`&&n(e)}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($t,{trashTarget:v,onDismiss:()=>y(null),onConfirm:()=>void ie()}),(0,Q.jsx)(`div`,{className:`border-b border-border px-2 py-2`,children:(0,Q.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,Q.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Q.jsx)(pt,{items:C,isReady:w,onRequestIndex:D,onOpenChange:O,onSelect:e=>de(e),inputRef:o},E)})})}),(0,Q.jsx)(tn,{treeCallbacks:{threadId:e,selectedPath:t,expandedPaths:f,getDirVersion:j,renamingPath:m,newItemIn:g,onToggleFolder:z,onSelectNode:n,onStartRename:ae,onCommitRename:oe,onCancelRename:()=>h(null),onDelete:B,onOpen:ee,onCopyReference:te,onNewFile:H,onNewFolder:ce,onCommitNewItem:le,onCancelNewItem:W,dropTargetPath:x,onFolderDropTargetChange:S,onFilesDrop:ue},rootVersion:j(``),onRetryRoot:()=>N(``),isSearchOpen:T})]})}export{nn as default};
|