tarsk 0.5.73 → 0.5.74
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/index.js +145120 -178397
- package/dist/public/assets/{Combination-lwI_j-mU.js → Combination-BdvBzSm4.js} +1 -1
- package/dist/public/assets/{account-view-DKQdyGPK.js → account-view-c-UG0JKH.js} +1 -1
- package/dist/public/assets/{alert-dialog-Cb1PEgra.js → alert-dialog-DAHkynVZ.js} +1 -1
- package/dist/public/assets/api-D1GxdEEp.js +2 -0
- package/dist/public/assets/{async-error-boundary-J8P6NVvc.js → async-error-boundary-DNJqC4BV.js} +1 -1
- package/dist/public/assets/{async-loading-fallback-B_JNgWJR.js → async-loading-fallback-D2X0o4Qa.js} +1 -1
- package/dist/public/assets/browser-tab-BKQJKTg8.js +12 -0
- package/dist/public/assets/{button-DeNw35VZ.js → button-B6HDsfd5.js} +1 -1
- package/dist/public/assets/{card-B4eI0NI-.js → card-DZGd45nw.js} +1 -1
- package/dist/public/assets/chat-dock-context-8_5G30KG.js +1 -0
- package/dist/public/assets/{commit-dialog-DDLaQVzY.js → commit-dialog-OQFa4W6i.js} +1 -1
- package/dist/public/assets/{commit-error-dialog-Cp0Aic7I.js → commit-error-dialog-BFByxoUG.js} +1 -1
- package/dist/public/assets/{commit-method-fields-CD3PTIox.js → commit-method-fields-BihSf23f.js} +1 -1
- package/dist/public/assets/context-menu-e5jeH0Jl.js +1 -0
- package/dist/public/assets/{conversation-history-view-JymxZFJ2.js → conversation-history-view-BUlO9oJ6.js} +1 -1
- package/dist/public/assets/create-project-dialog-CY5wIGQV.js +2 -0
- package/dist/public/assets/{create-project-workspace-BcIx6FNf.js → create-project-workspace-ClILToZd.js} +1 -1
- package/dist/public/assets/{create-repo-dialog-DcvSMy3g.js → create-repo-dialog-CKUQoOaX.js} +1 -1
- package/dist/public/assets/{delete-confirm-dialog-C9NASyh6.js → delete-confirm-dialog-3DX1u0Dg.js} +1 -1
- package/dist/public/assets/{dialog-Do98zzAW.js → dialog--0foS3aw.js} +1 -1
- package/dist/public/assets/{diff-view-ePD0sdsW.js → diff-view-DLPu21IR.js} +2 -2
- package/dist/public/assets/{dist-CWnEmdyL.js → dist-Bxyh1Ml_.js} +1 -1
- package/dist/public/assets/{dist-BZvmHCxP.js → dist-CFXDhuA_.js} +1 -1
- package/dist/public/assets/{dist-DIjomljy.js → dist-CNOCRPxn.js} +1 -1
- package/dist/public/assets/{dist-DiMgghKn.js → dist-Cda_ffeR.js} +1 -1
- package/dist/public/assets/{dist-CWq9XRXF.js → dist-CkQILg8A.js} +1 -1
- package/dist/public/assets/{dist-DjKXDRW7.js → dist-CqGsum35.js} +1 -1
- package/dist/public/assets/dist-DjiNKpTV.js +2 -0
- package/dist/public/assets/{dist-CjhvxqFU.js → dist-eMdiO0P3.js} +1 -1
- package/dist/public/assets/{dist-mdooLpmq.js → dist-rO95BjzU.js} +1 -1
- package/dist/public/assets/explorer-tab-view-nzl0M0Vm.js +2 -0
- package/dist/public/assets/explorer-tree-Bkb6dzmf.js +1 -0
- package/dist/public/assets/explorer-view-NcArt0_H.js +75 -0
- package/dist/public/assets/{git-history-dialog-DWhJ1-ba.js → git-history-dialog-rWkjoaR5.js} +1 -1
- package/dist/public/assets/index-BOB3ZUQs.js +3386 -0
- package/dist/public/assets/index-BdGMz8sL.css +1 -0
- package/dist/public/assets/{markdown-renderer-qLede1zH.js → markdown-renderer-BkKibNMs.js} +3 -3
- package/dist/public/assets/{mcp-server-card-zm-ss-7h.js → mcp-server-card-DFT7uyRh.js} +1 -1
- package/dist/public/assets/{merged-pr-dialog-Due9WdB4.js → merged-pr-dialog-BOrFaYk6.js} +1 -1
- package/dist/public/assets/model-list-controls-CpQjn6i7.js +1 -0
- package/dist/public/assets/onboarding-dialog-HJpyzVWa.js +1 -0
- package/dist/public/assets/{project-env-vars-view-N1Io1Pau.js → project-env-vars-view-C9VTTfTo.js} +1 -1
- package/dist/public/assets/project-model-aliases-view-DKRoV7Gc.js +1 -0
- package/dist/public/assets/{project-settings-view-BalZ6Fe1.js → project-settings-view-BDYqpibk.js} +1 -1
- package/dist/public/assets/{project-tools-view-OnCN0jKz.js → project-tools-view-9WUc4Yca.js} +1 -1
- package/dist/public/assets/providers-list-view-BgvIWP_0.js +1 -0
- package/dist/public/assets/pull-request-dialog-BM1dkFpK.js +1 -0
- package/dist/public/assets/{pull-with-changes-dialog-B9y2_lt_.js → pull-with-changes-dialog-Bjl_esir.js} +1 -1
- package/dist/public/assets/{push-before-pr-dialog-D3pMFe9A.js → push-before-pr-dialog-Cbc_zaI8.js} +1 -1
- package/dist/public/assets/{radio-group-CU59hGiA.js → radio-group-CMW5ku-w.js} +1 -1
- package/dist/public/assets/{scroll-area-nbNFO91g.js → scroll-area-BMQFeWmq.js} +1 -1
- package/dist/public/assets/settings-general-view-BaMVw6kD.js +1 -0
- package/dist/public/assets/{settings-instructions-view-GjQivhLy.js → settings-instructions-view-BRE87H2U.js} +1 -1
- package/dist/public/assets/{settings-list-DU82HNPX.js → settings-list-BpPbGcpS.js} +1 -1
- package/dist/public/assets/{settings-logs-view-DnQ_4O9b.js → settings-logs-view-Bbue8ZOn.js} +4 -4
- package/dist/public/assets/settings-mcp-servers-view-BiMCy8sH.js +5 -0
- package/dist/public/assets/{settings-models-view-CTjnBd74.js → settings-models-view-BkZtGcUP.js} +1 -1
- package/dist/public/assets/{settings-rules-view-DiTC-cBE.js → settings-rules-view-TK7LEC-0.js} +3 -3
- package/dist/public/assets/settings-skills-view-Bv9Kn55r.js +3 -0
- package/dist/public/assets/{settings-slack-view-CiuJZ-9i.js → settings-slack-view-Dy2bFJqU.js} +1 -1
- package/dist/public/assets/{settings-slash-commands-view-CnXff39A.js → settings-slash-commands-view-DiR1IyMF.js} +1 -1
- package/dist/public/assets/{settings-statistics-view-D8SvAGE_.js → settings-statistics-view-DX1UVeCJ.js} +1 -1
- package/dist/public/assets/settings-storage-view-D8tHP8XT.js +1 -0
- package/dist/public/assets/{settings-subagents-view-B4HugfzU.js → settings-subagents-view-Bz7jBhbB.js} +2 -2
- package/dist/public/assets/{settings-system-prompt-view-DNQKxcFg.js → settings-system-prompt-view-VHGAqfQk.js} +1 -1
- package/dist/public/assets/settings-view-QBOhYAyv.js +2 -0
- package/dist/public/assets/store-CHF6tOp2.js +9 -0
- package/dist/public/assets/{switch-pIBaqatj.js → switch-P5m18oUl.js} +1 -1
- package/dist/public/assets/{table-B3fLagUj.js → table-MUx4ZxvS.js} +1 -1
- package/dist/public/assets/tasks-view-l00Nc2fV.js +2 -0
- package/dist/public/assets/terminal-panel-DHDoOXAH.js +38 -0
- package/dist/public/assets/{toggle-group-5tREtjoW.js → toggle-group-DMR7z3pz.js} +1 -1
- package/dist/public/assets/{tooltip-B6ziVyTv.js → tooltip-BtJG5fZl.js} +1 -1
- package/dist/public/assets/{use-active-dock-panel-instance-BSch6-Fx.js → use-active-dock-panel-instance-cO_DR87G.js} +1 -1
- package/dist/public/assets/use-installed-ai-files-CJr_PVcY.js +1 -0
- package/dist/public/assets/{use-open-chat-dock-panel-Cr1bQYOH.js → use-open-chat-dock-panel-B31lwcQF.js} +1 -1
- package/dist/public/assets/{web-BKpP7kYB.js → web-C7jr0n2X.js} +1 -1
- package/dist/public/assets/{web-DaiDQ9WA.js → web-D0nlJHDu.js} +1 -1
- package/dist/public/assets/{web-W5CC9Cq4.js → web-DPW3m0cL.js} +1 -1
- package/dist/public/assets/{web-CtDn8Ggo.js → web-jJ1krOD-.js} +1 -1
- package/dist/public/index.html +24 -24
- package/dist/recommended-models.txt +1 -1
- package/package.json +4 -3
- package/dist/public/assets/api-BMo_Lz8f.js +0 -2
- package/dist/public/assets/browser-tab-D_GXZ93G.js +0 -12
- package/dist/public/assets/chat-dock-context-BXoAs38w.js +0 -1
- package/dist/public/assets/context-menu-Dx5Jy21w.js +0 -1
- package/dist/public/assets/create-project-dialog-qbwqSqGU.js +0 -6
- package/dist/public/assets/dist-BWuYHVi8.js +0 -2
- package/dist/public/assets/explorer-tab-view-D6hsKrXY.js +0 -2
- package/dist/public/assets/explorer-tree-BG8ShRwn.js +0 -1
- package/dist/public/assets/explorer-view-BZcNnLd9.js +0 -75
- package/dist/public/assets/index-DhOeeft5.css +0 -1
- package/dist/public/assets/index-DjaVbFDB.js +0 -3386
- package/dist/public/assets/is-macos-client-BIb4ZSEa.js +0 -1
- package/dist/public/assets/model-list-controls-D86_87E4.js +0 -1
- package/dist/public/assets/onboarding-dialog-DlqbPvG0.js +0 -1
- package/dist/public/assets/project-model-aliases-view-B4FEze4g.js +0 -1
- package/dist/public/assets/providers-list-view-DXvcxXDM.js +0 -1
- package/dist/public/assets/pull-request-dialog-BeeTNIN_.js +0 -1
- package/dist/public/assets/settings-general-view-CAYlYs3J.js +0 -1
- package/dist/public/assets/settings-mcp-servers-view-C6OZHR3K.js +0 -5
- package/dist/public/assets/settings-skills-view-DHoSorOw.js +0 -3
- package/dist/public/assets/settings-storage-view-CUsa7Lwv.js +0 -1
- package/dist/public/assets/settings-view-DoZmXguf.js +0 -2
- package/dist/public/assets/store-BaMSfYoJ.js +0 -9
- package/dist/public/assets/tasks-view-BaMd8ZM0.js +0 -2
- package/dist/public/assets/terminal-panel-BjD6z-3y.js +0 -38
- package/dist/public/assets/use-installed-ai-files-E4BAFIPG.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{ot as i}from"./dist-DjiNKpTV.js";import{An as a,Gt as o,On as s,Wt as c,i as l,q as u,qt as d}from"./dist-CNOCRPxn.js";import{s as f,t as p}from"./utils-CT-Dw22R.js";import{r as m,t as h}from"./async-loading-fallback-D2X0o4Qa.js";import{t as g}from"./use-toast-xpb5jNtN.js";import{a as _,i as v,n as y,o as b}from"./dist-CFXDhuA_.js";import"./dialog--0foS3aw.js";import{n as x}from"./explorer-tab-context-BxUVwWQQ.js";import{n as S}from"./chat-dock-context-8_5G30KG.js";import{a as C,c as w,i as T,n as E,r as D,t as O}from"./alert-dialog-DAHkynVZ.js";import{t as k}from"./suspense-resource-DnYnmTbs.js";import{t as A}from"./dist-eMdiO0P3.js";import{t as j}from"./use-suspense-resource-Dkz6ddFN.js";import{It as M,Ot as N,Rt as ee,at as P,ct as F,dn as te,ft as I,ht as L,ln as R,lt as z,mn as B,ot as V,pt as ne,st as re,un as ie}from"./index-BOB3ZUQs.js";import{a as ae,i as H,n as oe,r as U,t as se}from"./context-menu-e5jeH0Jl.js";import{t as ce}from"./async-error-boundary-DNJqC4BV.js";var W=e(n(),1),G=t(),le=1,K=.9,ue=.8,de=.17,fe=.1,q=.999,pe=.9999,me=.99,he=/[\\\/_+.#"@\[\(\{&]/,ge=/[\\\/_+.#"@\[\(\{&]/g,_e=/[\s-]/,ve=/[\s-]/g;function ye(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?le:me;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=ye(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=le:he.test(e.charAt(l-1))?(d*=ue,p=e.slice(i,l-1).match(ge),p&&i>0&&(d*=q**+p.length)):_e.test(e.charAt(l-1))?(d*=K,m=e.slice(i,l-1).match(ve),m&&i>0&&(d*=q**+m.length)):(d*=de,i>0&&(d*=q**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=pe)),(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=ye(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 be(e){return e.toLowerCase().replace(ve,` `)}function xe(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,ye(e,t,be(e),be(t),0,0,{})}var Se=`[cmdk-group=""]`,Ce=`[cmdk-group-items=""]`,we=`[cmdk-group-heading=""]`,Te=`[cmdk-item=""]`,Ee=`${Te}:not([aria-disabled="true"])`,De=`cmdk-item-select`,J=`data-value`,Oe=(e,t,n)=>xe(e,t,n),ke=W.createContext(void 0),Y=()=>W.useContext(ke),Ae=W.createContext(void 0),je=()=>W.useContext(Ae),Me=W.createContext(void 0),Ne=W.forwardRef((e,t)=>{let n=Ge(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=Ge(()=>new Set),i=Ge(()=>new Map),a=Ge(()=>new Map),o=Ge(()=>new Set),s=We(e),{label:c,children:u,value:d,onValueChange:f,filter:p,shouldFilter:m,loop:h,disablePointerSelection:g=!1,vimBindings:_=!0,...v}=e,y=l(),b=l(),x=l(),S=W.useRef(null),C=qe();Z(()=>{if(d!==void 0){let e=d.trim();n.current.value=e,w.emit()}},[d]),Z(()=>{C(6,j)},[]);let w=W.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`)k(),D(),C(1,O);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(x);e?e.focus():(i=document.getElementById(y))==null||i.focus()}if(C(7,()=>{n.current.selectedItemId=M()?.id,w.emit()}),r||C(5,j),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}w.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),T=W.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,E(t,r)),C(2,()=>{D(),w.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]))),C(3,()=>{k(),D(),n.current.value||O(),w.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=M();C(4,()=>{k(),t?.getAttribute(`id`)===e&&O(),w.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:y,inputId:x,labelId:b,listInnerRef:S}),[]);function E(e,t){let r=s.current?.filter??Oe;return e?r(e,n.current.search,t):0}function D(){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=S.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(Ce);t?t.appendChild(e.parentElement===t?e:e.closest(`${Ce} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${Ce} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=S.current?.querySelector(`${Se}[${J}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function O(){let e=N().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(J);w.setState(`value`,e||void 0)}function k(){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=E(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(Se)?.querySelector(we))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function M(){return S.current?.querySelector(`${Te}[aria-selected="true"]`)}function N(){return Array.from(S.current?.querySelectorAll(Ee)||[])}function ee(e){let t=N()[e];t&&w.setState(`value`,t.getAttribute(J))}function P(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&&w.setState(`value`,a.getAttribute(J))}function F(e){let t=M()?.closest(Se),n;for(;t&&!n;)t=e>0?He(t,Se):Ue(t,Se),n=t?.querySelector(Ee);n?w.setState(`value`,n.getAttribute(J)):P(e)}let te=()=>ee(N().length-1),I=e=>{e.preventDefault(),e.metaKey?te():e.altKey?F(1):P(1)},L=e=>{e.preventDefault(),e.metaKey?ee(0):e.altKey?F(-1):P(-1)};return W.createElement(A.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&&I(e);break;case`ArrowDown`:I(e);break;case`p`:case`k`:_&&e.ctrlKey&&L(e);break;case`ArrowUp`:L(e);break;case`Home`:e.preventDefault(),ee(0);break;case`End`:e.preventDefault(),te();break;case`Enter`:{e.preventDefault();let t=M();if(t){let e=new Event(De);t.dispatchEvent(e)}}}}},W.createElement(`label`,{"cmdk-label":``,htmlFor:T.inputId,id:T.labelId,style:Xe},c),Ye(e,e=>W.createElement(Ae.Provider,{value:w},W.createElement(ke.Provider,{value:T},e))))}),Pe=W.forwardRef((e,t)=>{let n=l(),r=W.useRef(null),i=W.useContext(Me),a=Y(),o=We(e),s=o.current?.forceMount??i?.forceMount;Z(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=Ke(n,r,[e.value,e.children,r],e.keywords),u=je(),d=Q(e=>e.value&&e.value===c.current),p=Q(e=>s||a.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);W.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(De,m),()=>t.removeEventListener(De,m)},[p,e.onSelect,e.disabled]);function m(){var e,t;h(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function h(){u.setState(`value`,c.current,!0)}if(!p)return null;let{disabled:g,value:_,onSelect:v,forceMount:y,keywords:b,...x}=e;return W.createElement(A.div,{ref:f(r,t),...x,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!g,"aria-selected":!!d,"data-disabled":!!g,"data-selected":!!d,onPointerMove:g||a.getDisablePointerSelection()?void 0:h,onClick:g?void 0:m},e.children)}),Fe=W.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=l(),s=W.useRef(null),c=W.useRef(null),u=l(),d=Y(),p=Q(e=>i||d.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);Z(()=>d.group(o),[]),Ke(o,s,[e.value,e.heading,c]);let m=W.useMemo(()=>({id:o,forceMount:i}),[i]);return W.createElement(A.div,{ref:f(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:p?void 0:!0},n&&W.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:u},n),Ye(e,e=>W.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?u:void 0},W.createElement(Me.Provider,{value:m},e))))}),Ie=W.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=W.useRef(null),a=Q(e=>!e.search);return!n&&!a?null:W.createElement(A.div,{ref:f(i,t),...r,"cmdk-separator":``,role:`separator`})}),Le=W.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=je(),o=Q(e=>e.search),s=Q(e=>e.selectedItemId),c=Y();return W.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),W.createElement(A.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)}})}),Re=W.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=W.useRef(null),o=W.useRef(null),s=Q(e=>e.selectedItemId),c=Y();return W.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)}}},[]),W.createElement(A.div,{ref:f(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},Ye(e,e=>W.createElement(`div`,{ref:f(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),ze=W.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return W.createElement(b,{open:n,onOpenChange:r},W.createElement(_,{container:o},W.createElement(v,{"cmdk-overlay":``,className:i}),W.createElement(y,{"aria-label":e.label,"cmdk-dialog":``,className:a},W.createElement(Ne,{ref:t,...s}))))}),Be=W.forwardRef((e,t)=>Q(e=>e.filtered.count===0)?W.createElement(A.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),Ve=W.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return W.createElement(A.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},Ye(e,e=>W.createElement(`div`,{"aria-hidden":!0},e)))}),X=Object.assign(Ne,{List:Re,Item:Pe,Input:Le,Group:Fe,Separator:Ie,Dialog:ze,Empty:Be,Loading:Ve});function He(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function Ue(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function We(e){let t=W.useRef(e);return Z(()=>{t.current=e}),t}var Z=typeof window>`u`?W.useEffect:W.useLayoutEffect;function Ge(e){let t=W.useRef();return t.current===void 0&&(t.current=e()),t}function Q(e){let t=je(),n=()=>e(t.snapshot());return W.useSyncExternalStore(t.subscribe,n,n)}function Ke(e,t,n,r=[]){let i=W.useRef(),a=Y();return Z(()=>{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(J,s),i.current=s}),i}var qe=()=>{let[e,t]=W.useState(),n=Ge(()=>new Map);return Z(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function Je(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Ye({asChild:e,children:t},n){return e&&W.isValidElement(t)?W.cloneElement(Je(t),{ref:t.ref},n(t.props.children)):n(t)}var Xe={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`},$=r(),Ze=W.forwardRef((e,t)=>{let n=(0,G.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=p(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(X,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Ze.displayName=X.displayName;var Qe=W.forwardRef((e,t)=>{let n=(0,G.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(u,{className:`mr-2 h-4 w-4 shrink-0 opacity-50`}),n[3]=a):a=n[3];let o;n[4]===r?o=n[5]:(o=p(`flex h-11 w-full rounded-md bg-transparent py-3 text-base outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,r),n[4]=r,n[5]=o);let s;return n[6]!==i||n[7]!==t||n[8]!==o?(s=(0,$.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[a,(0,$.jsx)(X.Input,{ref:t,className:o,...i})]}),n[6]=i,n[7]=t,n[8]=o,n[9]=s):s=n[9],s});Qe.displayName=X.Input.displayName;var $e=W.forwardRef((e,t)=>{let n=(0,G.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=p(`max-h-[300px] overflow-y-auto overflow-x-hidden`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(X.List,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});$e.displayName=X.List.displayName;var et=W.forwardRef((e,t)=>{let n=(0,G.c)(4),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=p(i.bodyMuted,`py-6 text-center`),n[0]=r):r=n[0];let a;return n[1]!==e||n[2]!==t?(a=(0,$.jsx)(X.Empty,{ref:t,className:r,...e}),n[1]=e,n[2]=t,n[3]=a):a=n[3],a});et.displayName=X.Empty.displayName;var tt=W.forwardRef((e,t)=>{let n=(0,G.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=p(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(X.Group,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});tt.displayName=X.Group.displayName;var nt=W.forwardRef((e,t)=>{let n=(0,G.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=p(`-mx-1 h-px bg-divider`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,$.jsx)(X.Separator,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});nt.displayName=X.Separator.displayName;var rt=W.forwardRef((e,t)=>{let n=(0,G.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let o;n[3]===r?o=n[4]:(o=p(p(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]=o);let s;return n[5]!==a||n[6]!==t||n[7]!==o?(s=(0,$.jsx)(X.Item,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});rt.displayName=X.Item.displayName;var it=e=>{let t=(0,G.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 a;t[3]===n?a=t[4]:(a=p(i.compact,`ml-auto tracking-widest text-muted-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,$.jsx)(`span`,{className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o};it.displayName=`CommandShortcut`;var at=100,ot=500;function st(e){return e.trim().toLowerCase().split(/\s+/).filter(Boolean)}function ct(e,t){return t.length===0?!0:t.every(t=>e.haystack.includes(t))}function lt(e,t,n){if(t.length===0)return[];let r=[];for(let n of e)if(ct(n,t)&&(r.push(n.node),r.length>=ot))break;return r.sort((e,t)=>ut(e,t,n)).slice(0,at)}function ut(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 dt(e,t){return n=>{e.current=n,t&&(t.current=n)}}function ft(e){let t=(0,G.c)(41),{items:n,isReady:r,onRequestIndex:a,onOpenChange:o,onSelect:s,inputRef:l}=e,u=r===void 0?!1:r,d=(0,W.useRef)(null),f=(0,W.useRef)(!1),m=(0,W.useRef)(!1),[h,g]=(0,W.useState)(!1),[_,v]=(0,W.useState)(``),y=(0,W.useDeferredValue)(_),b;t[0]===a?b=t[1]:(b=function(){m.current||(m.current=!0,a())},t[0]=a,t[1]=b);let x=b,S;t[2]!==y||t[3]!==n?(S=lt(n,st(y),y),t[2]=y,t[3]=n,t[4]=S):S=t[4];let C=S,w,T;t[5]!==o||t[6]!==_?(w=()=>{let e=_.trim().length>0;g(e),f.current!==e&&(f.current=e,o(e))},T=[o,_],t[5]=o,t[6]=_,t[7]=w,t[8]=T):(w=t[7],T=t[8]),(0,W.useEffect)(w,T);let E;t[9]===o?E=t[10]:(E=function(e){e||v(``),g(e),o(e),e&&requestAnimationFrame(()=>d.current?.focus())},t[9]=o,t[10]=E);let D=E,O;t[11]!==o||t[12]!==s?(O=function(e){s(e),g(!1),o(!1),v(``)},t[11]=o,t[12]=s,t[13]=O):O=t[13];let k=O,A;t[14]===l?A=t[15]:(A=dt(d,l),t[14]=l,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 N;t[18]!==_||t[19]!==x||t[20]!==A||t[21]!==j?(N=(0,$.jsx)(te,{asChild:!0,children:(0,$.jsx)(`div`,{className:`bg-transparent`,children:(0,$.jsx)(M,{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]=N):N=t[22];let P;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(P=p(i.compact,`py-4`),t[23]=P):P=t[23];let F=u?`No matches found.`:`Indexing files and folders...`,I;t[24]===F?I=t[25]:(I=(0,$.jsx)(et,{className:P,children:F}),t[24]=F,t[25]=I);let L;if(t[26]!==k||t[27]!==C){let e;t[29]===k?e=t[30]:(e=e=>(0,$.jsxs)(rt,{value:e.path,onSelect:()=>k(e),className:e.ignored?`opacity-50`:void 0,children:[e.type===`folder`?(0,$.jsx)(c,{className:`h-4 w-4 text-muted-foreground`}):(0,$.jsx)(ee,{filename:e.name}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`truncate`,children:e.name}),(0,$.jsx)(`div`,{className:p(i.compact,`truncate text-muted-foreground`),children:e.path})]})]},e.path),t[29]=k,t[30]=e),L=C.map(e),t[26]=k,t[27]=C,t[28]=L}else L=t[28];let z;t[31]===L?z=t[32]:(z=(0,$.jsx)(tt,{children:L}),t[31]=L,t[32]=z);let B;t[33]!==I||t[34]!==z?(B=(0,$.jsx)(ie,{align:`start`,side:`bottom`,sideOffset:4,onOpenAutoFocus:pt,className:`w-[var(--radix-popover-trigger-width)] p-0`,children:(0,$.jsx)(Ze,{shouldFilter:!1,children:(0,$.jsxs)($e,{children:[I,z]})})}),t[33]=I,t[34]=z,t[35]=B):B=t[35];let V;return t[36]!==D||t[37]!==h||t[38]!==N||t[39]!==B?(V=(0,$.jsxs)(R,{open:h,onOpenChange:D,children:[N,B]}),t[36]=D,t[37]=h,t[38]=N,t[39]=B,t[40]=V):V=t[40],V}function pt(e){return e.preventDefault()}function mt(e,t,n){return`explorer-dir:${e}:${t}:${n}`}function ht(e){let t=(0,G.c)(12),{threadId:n,dirPath:r,version:i,children:a}=e,o;t[0]!==r||t[1]!==n||t[2]!==i?(o=mt(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=()=>I(n,r).then(gt),t[4]=r,t[5]=n,t[6]=s):s=t[6];let c=j(o,s),l;t[7]!==a||t[8]!==c?(l=a(c),t[7]=a,t[8]=c,t[9]=l):l=t[9];let u;return t[10]===l?u=t[11]:(u=(0,$.jsx)($.Fragment,{children:l}),t[10]=l,t[11]=u),u}function gt(e){return e.entries}function _t(e){let t=(0,G.c)(17),{defaultValue:n,onCommit:r,onCancel:a,level:o,basePadding:s,icon:c}=e,l=(0,W.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,W.useEffect)(u,d);let f;t[2]!==a||t[3]!==r?(f=function(e){if(e.key===`Enter`){let e=l.current?.value.trim()??``;e?r(e):a()}else e.key===`Escape`&&a()},t[2]=a,t[3]=r,t[4]=f):f=t[4];let p=f,m;t[5]!==a||t[6]!==r?(m=function(){let e=l.current?.value.trim()??``;e?r(e):a()},t[5]=a,t[6]=r,t[7]=m):m=t[7];let h=m,g;t[8]!==n||t[9]!==h||t[10]!==p?(g=(0,$.jsx)(`input`,{ref:l,defaultValue:n,onKeyDown:p,onBlur:h,className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`,onClick:vt}),t[8]=n,t[9]=h,t[10]=p,t[11]=g):g=t[11];let _;return t[12]!==s||t[13]!==c||t[14]!==o||t[15]!==g?(_=(0,$.jsxs)(N,{level:o,basePadding:s,className:i.conversationBody,children:[c,g]}),t[12]=s,t[13]=c,t[14]=o,t[15]=g,t[16]=_):_=t[16],_}function vt(e){return e.stopPropagation()}function yt(e){return e.map(e=>({node:e,haystack:`${e.name} ${e.path}`.toLowerCase()}))}function bt(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t):``}var xt=(0,W.memo)(function e({node:t,level:n,threadId:r,selectedPath:l,expandedPaths:u,getDirVersion:f,renamingPath:m,newItemIn:_,onToggleFolder:v,onSelectNode:y,onStartRename:b,onCommitRename:x,onCancelRename:S,onDelete:C,onOpen:w,onCopyReference:T,onNewFile:E,onNewFolder:D,onCommitNewItem:O,onCancelNewItem:k,dropTargetPath:A,onFolderDropTargetChange:j,onFilesDrop:M}){let F=u.has(t.path),te=m===t.path,I=_?.dirPath===t.path&&F,L=A===t.path;return t.type===`folder`?(0,$.jsxs)(se,{children:[(0,$.jsx)(ae,{asChild:!0,children:(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(N,{level:n,basePadding:10,selected:l===t.path,className:p(i.conversationBody,t.ignored&&`opacity-50`,L&&`bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-primary`),onClick:e=>{e.stopPropagation(),v(t)},onDragOver:e=>{V(e.dataTransfer)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`,L||j(t.path))},onDragLeave:e=>{V(e.dataTransfer)&&(e.currentTarget.contains(e.relatedTarget)||L&&j(null))},onDrop:e=>{if(!V(e.dataTransfer))return;e.preventDefault(),e.stopPropagation(),j(null);let{files:n,skippedFolders:r}=P(e.dataTransfer);r>0&&g({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),n.length>0&&M(n,t.path)},children:[(0,$.jsx)(`span`,{className:`text-muted-foreground w-3 flex-shrink-0`,children:F?(0,$.jsx)(a,{className:`h-3 w-3`}):(0,$.jsx)(s,{className:`h-3 w-3`})}),te?(0,$.jsxs)($.Fragment,{children:[F?(0,$.jsx)(o,{className:`h-4 w-4 flex-shrink-0`}):(0,$.jsx)(c,{className:`h-4 w-4 flex-shrink-0`}),(0,$.jsx)(`input`,{autoFocus:!0,defaultValue:t.name,onKeyDown:e=>{if(e.key===`Enter`){let n=e.target.value.trim();n?x(t,n):S()}else e.key===`Escape`&&S()},onBlur:e=>{let n=e.target.value.trim();n?x(t,n):S()},onClick:e=>e.stopPropagation(),className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`})]}):(0,$.jsxs)($.Fragment,{children:[F?(0,$.jsx)(o,{className:`h-4 w-4 flex-shrink-0`}):(0,$.jsx)(c,{className:`h-4 w-4 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:t.name})]})]}),F&&(0,$.jsx)(`div`,{children:(0,$.jsx)(W.Suspense,{fallback:(0,$.jsx)(h,{}),children:(0,$.jsx)(ht,{threadId:r,dirPath:t.path,version:f(t.path),children:t=>(0,$.jsxs)($.Fragment,{children:[I&&(0,$.jsx)(_t,{defaultValue:``,level:n+1,basePadding:_.type===`folder`?10:22,icon:_.type===`folder`?(0,$.jsx)(c,{className:`h-4 w-4 flex-shrink-0`}):(0,$.jsx)(d,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),onCommit:O,onCancel:k}),t.map(t=>(0,$.jsx)(e,{node:t,level:n+1,threadId:r,selectedPath:l,expandedPaths:u,getDirVersion:f,renamingPath:m,newItemIn:_,onToggleFolder:v,onSelectNode:y,onStartRename:b,onCommitRename:x,onCancelRename:S,onDelete:C,onOpen:w,onCopyReference:T,onNewFile:E,onNewFolder:D,onCommitNewItem:O,onCancelNewItem:k,dropTargetPath:A,onFolderDropTargetChange:j,onFilesDrop:M},t.path))]})})})})]})}),(0,$.jsxs)(oe,{children:[(0,$.jsx)(U,{onSelect:()=>w(t),children:`Open`}),(0,$.jsx)(H,{}),(0,$.jsx)(U,{onSelect:()=>E(t.path),children:`New File...`}),(0,$.jsx)(U,{onSelect:()=>D(t.path),children:`New Folder...`}),(0,$.jsx)(H,{}),(0,$.jsx)(U,{onSelect:()=>T(t),children:`Copy Reference`}),(0,$.jsx)(U,{onSelect:()=>b(t),children:`Rename...`}),(0,$.jsx)(U,{onSelect:()=>C(t),className:`text-destructive focus:text-destructive`,children:`Delete`})]})]}):(0,$.jsxs)(se,{children:[(0,$.jsx)(ae,{asChild:!0,children:(0,$.jsxs)(N,{level:n,basePadding:22,selected:l===t.path,className:p(i.conversationBody,t.ignored&&`opacity-50`),onClick:()=>y(t),children:[(0,$.jsx)(ee,{filename:t.name}),te?(0,$.jsx)(`input`,{autoFocus:!0,defaultValue:t.name,onKeyDown:e=>{if(e.key===`Enter`){let n=e.target.value.trim();n?x(t,n):S()}else e.key===`Escape`&&S()},onBlur:e=>{let n=e.target.value.trim();n?x(t,n):S()},onClick:e=>e.stopPropagation(),className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`}):(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:t.name})]})}),(0,$.jsxs)(oe,{children:[(0,$.jsx)(U,{onSelect:()=>w(t),children:`Open`}),(0,$.jsx)(H,{}),(0,$.jsx)(U,{onSelect:()=>E(bt(t.path)),children:`New File...`}),(0,$.jsx)(U,{onSelect:()=>D(bt(t.path)),children:`New Folder...`}),(0,$.jsx)(H,{}),(0,$.jsx)(U,{onSelect:()=>T(t),children:`Copy Reference`}),(0,$.jsx)(U,{onSelect:()=>b(t),children:`Rename...`}),(0,$.jsx)(U,{onSelect:()=>C(t),className:`text-destructive focus:text-destructive`,children:`Delete`})]})]})}),St=new Map;function Ct({threadId:e,selectedPath:t,onNodeSelect:n,onFilesDrop:r,instanceId:i}){let[a,o]=(0,W.useState)(()=>new Map([[``,0]])),[s,l]=(0,W.useState)(new Set),[u,f]=(0,W.useState)(null),p=(0,W.useRef)(null),{registerPanelFocus:h}=S();(0,W.useEffect)(()=>{if(i)return h(i,()=>p.current?.focus())},[i,h]);let[_,v]=(0,W.useState)(null),[y,b]=(0,W.useState)(null),[A,j]=(0,W.useState)(null),[M,N]=(0,W.useState)(!1),[ee,P]=(0,W.useState)([]),[te,R]=(0,W.useState)(!1),[V,ie]=(0,W.useState)(!1),H=(0,W.useRef)(null),G=(0,W.useRef)(0),le=(0,W.useRef)(null),{explorerRefreshTick:K,pendingExplorerPath:ue,setExplorerClearPath:de}=x(),{fetchUnifiedStatus:fe}=B(),q=(0,W.useMemo)(()=>`${e}:${K}`,[K,e]),pe=(0,W.useCallback)(e=>{(0,W.startTransition)(()=>{N(t=>t===e?t:e)})},[]),me=(0,W.useCallback)(async()=>{if(!e)return;let t=St.get(q);if(t){P(t),R(!0);return}if(H.current!==q){H.current=q,P([]),R(!1);try{let t=yt((await I(e,``,!0)).entries);St.set(q,t),P(t),R(!0)}catch{P([]),R(!1)}finally{H.current===q&&(H.current=null)}}},[q,e]),he=(0,W.useCallback)(()=>{ie(!0)},[]),ge=(0,W.useCallback)(()=>{St.delete(q),P([]),R(!1)},[q]),_e=(0,W.useCallback)(()=>{ge(),V&&me()},[ge,me,V]),ve=(0,W.useCallback)(e=>a.get(e)??0,[a]),ye=(0,W.useCallback)(e=>{o(t=>{let n=new Map(t);return n.set(e,(t.get(e)??0)+1),n})},[]),be=(0,W.useCallback)(t=>{e&&(k(mt(e,t,ve(t))),ye(t))},[ye,ve,e]),xe=(0,W.useCallback)(t=>{if(!e)return;let n=t.path.split(`/`);t.type===`file`&&n.pop();let r=[],i=``;for(let e of n)i=i?`${i}/${e}`:e,r.push(i);l(e=>{let t=new Set(e);for(let e of r)t.add(e);return t})},[e]);(0,W.useEffect)(()=>{if(!e)return;let t=le.current!==null&&le.current!==e;le.current=e,t&&(o(new Map([[``,0]])),l(new Set),f(null),v(null),G.current=K)},[K,e]),(0,W.useEffect)(()=>{!e||K<=G.current||(G.current=K,o(t=>{let n=new Set([``]);for(let e of s)n.add(e);let r=new Map(t);for(let i of n){let n=t.get(i)??0;k(mt(e,i,n)),r.set(i,n+1)}return r}))},[K,s,e]),(0,W.useEffect)(()=>{P([]),R(!1),ie(!1),H.current=null},[q]),(0,W.useEffect)(()=>{!V||!e||me()},[me,V,e]),(0,W.useEffect)(()=>{if(!ue||!e)return;let t=ue.split(`/`);t.pop();let n=[],r=``;for(let e of t)r=r?`${r}/${e}`:e,n.push(r);if(n.length!==0){l(e=>{let t=new Set(e);for(let e of n)t.add(e);return t});for(let e of n)o(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})}},[ue,e]);function Se(e){s.has(e.path)?l(t=>{let n=new Set(t);return n.delete(e.path),n}):(l(t=>new Set(t).add(e.path)),o(t=>{if(t.has(e.path))return t;let n=new Map(t);return n.set(e.path,0),n}))}function Ce(e){b(e)}async function we(t){try{await ne(e,t.path)}catch{g({title:`Error`,description:`Failed to open "${t.name}"`,variant:`destructive`})}}async function Te(e){try{await navigator.clipboard.writeText(e.path);let t=g({title:`Copied`,description:`Reference copied to clipboard.`});window.setTimeout(()=>{t.dismiss()},2e3)}catch{g({title:`Error`,description:`Failed to copy reference for "${e.name}"`,variant:`destructive`})}}async function Ee(){if(!y)return;let t=y;b(null);try{await z(e,t.path),de(t.path),be(bt(t.path)),_e(),fe(!0),l(e=>{let n=new Set(e);for(let e of n)(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}),o(e=>{let n=new Map(e);for(let e of n.keys())(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n})}catch{g({title:`Error`,description:`Failed to move "${t.name}" to trash`,variant:`destructive`})}}function De(e){v(null),f(e.path)}async function J(t,n){if(n===t.name){f(null);return}f(null);try{await L(e,t.path,n),be(bt(t.path)),_e(),fe(!0),t.type===`folder`&&(l(e=>{let n=new Set(e);for(let e of n)(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}),o(e=>{let n=new Map(e);for(let e of n.keys())(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}))}catch{g({title:`Error`,description:`Failed to rename "${t.name}"`,variant:`destructive`})}}function Oe(e){f(null),s.has(e)||(l(t=>new Set(t).add(e)),o(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})),v({dirPath:e,type:`file`})}function ke(e){f(null),s.has(e)||(l(t=>new Set(t).add(e)),o(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})),v({dirPath:e,type:`folder`})}async function Y(t){if(!_)return;let{dirPath:n,type:r}=_;v(null);try{r===`file`?await re(e,n,t):await F(e,n,t),be(n),_e(),fe(!0)}catch{g({title:`Error`,description:`Failed to create ${r} "${t}"`,variant:`destructive`})}}function Ae(){v(null)}let je=(0,W.useCallback)((e,t)=>{r?.(e,t)},[r]);function Me(e){xe(e),e.type===`file`&&n(e)}let Ne=_?.dirPath===``?(0,$.jsx)(_t,{defaultValue:``,level:0,basePadding:_.type===`folder`?10:22,icon:_.type===`folder`?(0,$.jsx)(c,{className:`h-4 w-4 flex-shrink-0`}):(0,$.jsx)(d,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),onCommit:Y,onCancel:Ae}):null;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(O,{open:y!==null,onOpenChange:e=>!e&&b(null),children:(0,$.jsxs)(T,{children:[(0,$.jsx)(w,{children:`Move to Trash`}),(0,$.jsxs)(C,{children:[`Move “`,y?.name,`” to trash?`]}),(0,$.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[(0,$.jsx)(D,{children:`Cancel`}),(0,$.jsx)(E,{onClick:()=>void Ee(),children:`Move to Trash`})]})]})}),(0,$.jsx)(`div`,{className:`border-b border-border px-2 py-2`,children:(0,$.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,$.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,$.jsx)(ft,{items:ee,isReady:te,onRequestIndex:he,onOpenChange:pe,onSelect:e=>Me(e),inputRef:p},q)})})}),(0,$.jsxs)(se,{children:[(0,$.jsx)(ae,{asChild:!0,disabled:M,children:(0,$.jsx)(`div`,{className:`py-2 min-h-full`,children:(0,$.jsx)(ce,{fallbackTitle:`Failed to load files`,onRetry:()=>be(``),children:(0,$.jsx)(W.Suspense,{fallback:(0,$.jsx)(m,{}),children:(0,$.jsx)(ht,{threadId:e,dirPath:``,version:ve(``),children:r=>(0,$.jsxs)($.Fragment,{children:[Ne,r.map(r=>(0,$.jsx)(xt,{node:r,level:0,threadId:e,selectedPath:t,expandedPaths:s,getDirVersion:ve,renamingPath:u,newItemIn:_,onToggleFolder:Se,onSelectNode:n,onStartRename:De,onCommitRename:J,onCancelRename:()=>f(null),onDelete:Ce,onOpen:we,onCopyReference:Te,onNewFile:Oe,onNewFolder:ke,onCommitNewItem:Y,onCancelNewItem:Ae,dropTargetPath:A,onFolderDropTargetChange:j,onFilesDrop:je},r.path))]})})})})})}),(0,$.jsxs)(oe,{children:[(0,$.jsx)(U,{onSelect:()=>Oe(``),children:`New File...`}),(0,$.jsx)(U,{onSelect:()=>ke(``),children:`New Folder...`})]})]})]})}export{Ct as default};
|
|
@@ -0,0 +1,75 @@
|
|
|
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{t as i}from"./markdown-renderer-BkKibNMs.js";import{B as a,S as o,ot as s,z as c}from"./dist-DjiNKpTV.js";import{r as l}from"./store-CHF6tOp2.js";import{Et as u,Xt as d,Yt as f,dt as p,in as m,jn as h,rt as g,tt as _,vn as v}from"./dist-CNOCRPxn.js";import{t as y}from"./utils-CT-Dw22R.js";import{t as b}from"./button-B6HDsfd5.js";import{ot as ee,zr as x}from"./api-D1GxdEEp.js";import{n as S}from"./async-loading-fallback-D2X0o4Qa.js";import{t as C}from"./use-toast-xpb5jNtN.js";import{n as w}from"./explorer-tab-context-BxUVwWQQ.js";import{t as T}from"./suspense-resource-DnYnmTbs.js";import{t as E}from"./use-suspense-resource-Dkz6ddFN.js";import{In as D,Ln as O,Nn as k,P as te,Pn as A,Un as j,dt as M,ft as N,gt as P,mt as F,pt as I,st as L,ut as R}from"./index-BOB3ZUQs.js";import{t as z}from"./async-error-boundary-DNJqC4BV.js";import{t as B}from"./monaco-setup-DU2h1v3K.js";var V=t(),H=e(n(),1),U=r(),W=o(`explorer.preview`),ne=[{label:`Markdown`,ext:`md`,icon:d},{label:`TypeScript`,ext:`ts`,icon:m},{label:`Text`,ext:`txt`,icon:f}];async function re(e,t){try{let n=await N(e,``),r=new Set(n.entries.map(e=>e.name)),i=`untitled`,a=`${i}.${t}`,o=2;for(;r.has(a);)a=`${i}${o}.${t}`,o++;return a}catch{return`untitled.${t}`}}function G(e){return a(e)===`md`}function K(e){return{ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,json:`json`,md:`markdown`,mdc:`markdown`,css:`css`,scss:`scss`,html:`html`,py:`python`,sh:`shell`,yaml:`yaml`,yml:`yaml`,xml:`xml`,sql:`sql`}[a(e)]??`plaintext`}function q(e,t){return`explorer-file:${e}:${t}`}function J(e){let t=(0,V.c)(11),{threadId:n,path:r,contentKey:i,onContentReady:a}=e,o;t[0]!==r||t[1]!==n?(o=q(n,r),t[0]=r,t[1]=n,t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==n?(s=async()=>{try{return await M(n,r)}catch(e){let t=e;throw Y(`Failed to load explorer file preview`,{threadId:n,path:r},t),t}},t[3]=r,t[4]=n,t[5]=s):s=t[5];let c=E(o,s),l,u;return t[6]!==i||t[7]!==a||t[8]!==c.content?(l=()=>{a({key:i,content:c.content,original:c.content})},u=[a,c.content,i],t[6]=i,t[7]=a,t[8]=c.content,t[9]=l,t[10]=u):(l=t[9],u=t[10]),(0,H.useLayoutEffect)(l,u),null}function Y(e,t,n){W.error(e,{...t,error:n})}function X(e,t){return`explorer-media:${e}:${t}`}function Z(e,t){let n=(0,V.c)(11),r;n[0]!==t||n[1]!==e?(r=X(e,t),n[0]=t,n[1]=e,n[2]=r):r=n[2];let i;n[3]!==t||n[4]!==e?(i=async()=>{try{return await R(e,t)}catch(n){let r=n;throw Y(`Failed to load explorer media preview`,{threadId:e,path:t},r),r}},n[3]=t,n[4]=e,n[5]=i):i=n[5];let a=E(r,i),o;n[6]===a?o=n[7]:(o=URL.createObjectURL(a),n[6]=a,n[7]=o);let s=o,c,l;return n[8]===s?(c=n[9],l=n[10]):(c=()=>()=>{URL.revokeObjectURL(s)},l=[s],n[8]=s,n[9]=c,n[10]=l),(0,H.useEffect)(c,l),s}function ie(e){let t=(0,V.c)(3),{threadId:n,path:r,alt:i}=e,a=Z(n,r),o;return t[0]!==i||t[1]!==a?(o=(0,U.jsx)(`div`,{className:`flex items-center justify-center h-full p-4 overflow-auto`,children:(0,U.jsx)(`img`,{src:a,alt:i,className:`max-w-full max-h-full object-contain`})}),t[0]=i,t[1]=a,t[2]=o):o=t[2],o}function Q(e){let t=(0,V.c)(2),{threadId:n,path:r}=e,i=Z(n,r),a;return t[0]===i?a=t[1]:(a=(0,U.jsx)(`div`,{className:`flex items-center justify-center h-full p-4`,children:(0,U.jsx)(`video`,{src:i,controls:!0,className:`max-w-full max-h-full`})}),t[0]=i,t[1]=a),a}function ae(e){e?.getModel()?.dispose(),e?.dispose()}function oe(e,t){return t?`edit`:G(e.path)?`view`:`edit`}function se(e,t,n,r){let i=t?c(t.path,t.name):null,a=t?.type===`file`&&e&&!i?t:null,o=a?`${e}:${a.path}:${r}`:null,s=n&&n.key===o?n:null;return{selectedMediaType:i,editableFile:a,fileSuspenseKey:o,currentContent:s,fileContent:s?.content??``,originalFileContent:s?.original??``}}function ce(){let e=document.querySelector(`[data-markdown-print-content]`);return e instanceof HTMLElement?e:null}function le(e,t){return`<!doctype html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>${e}</title>
|
|
7
|
+
<style>
|
|
8
|
+
:root {
|
|
9
|
+
color-scheme: light;
|
|
10
|
+
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
11
|
+
line-height: 1.5;
|
|
12
|
+
}
|
|
13
|
+
* {
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
}
|
|
16
|
+
body {
|
|
17
|
+
margin: 0;
|
|
18
|
+
background: white;
|
|
19
|
+
color: black;
|
|
20
|
+
}
|
|
21
|
+
.markdown-print-shell {
|
|
22
|
+
max-width: 900px;
|
|
23
|
+
margin: 0 auto;
|
|
24
|
+
padding: 32px;
|
|
25
|
+
}
|
|
26
|
+
img, video, svg {
|
|
27
|
+
max-width: 100%;
|
|
28
|
+
height: auto;
|
|
29
|
+
}
|
|
30
|
+
pre {
|
|
31
|
+
white-space: pre-wrap;
|
|
32
|
+
overflow-wrap: anywhere;
|
|
33
|
+
border: 1px solid #d4d4d8;
|
|
34
|
+
border-radius: 8px;
|
|
35
|
+
padding: 12px;
|
|
36
|
+
background: #f4f4f5;
|
|
37
|
+
}
|
|
38
|
+
code {
|
|
39
|
+
white-space: pre-wrap;
|
|
40
|
+
overflow-wrap: anywhere;
|
|
41
|
+
}
|
|
42
|
+
table {
|
|
43
|
+
width: 100%;
|
|
44
|
+
border-collapse: collapse;
|
|
45
|
+
}
|
|
46
|
+
th, td {
|
|
47
|
+
border: 1px solid #d4d4d8;
|
|
48
|
+
padding: 8px;
|
|
49
|
+
text-align: left;
|
|
50
|
+
}
|
|
51
|
+
@page {
|
|
52
|
+
margin: 0.75in;
|
|
53
|
+
}
|
|
54
|
+
@media print {
|
|
55
|
+
body {
|
|
56
|
+
-webkit-print-color-adjust: exact;
|
|
57
|
+
print-color-adjust: exact;
|
|
58
|
+
}
|
|
59
|
+
.markdown-print-shell {
|
|
60
|
+
max-width: none;
|
|
61
|
+
padding: 0;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
</style>
|
|
65
|
+
</head>
|
|
66
|
+
<body>
|
|
67
|
+
<main class="markdown-print-shell">${t}</main>
|
|
68
|
+
<script>
|
|
69
|
+
window.addEventListener("load", () => {
|
|
70
|
+
window.focus();
|
|
71
|
+
window.print();
|
|
72
|
+
}, { once: true });
|
|
73
|
+
<\/script>
|
|
74
|
+
</body>
|
|
75
|
+
</html>`}function ue(e,t){let n=window.open(``,`_blank`,`noopener,noreferrer`);return n?(n.document.open(),n.document.write(le(e,t)),n.document.close(),!0):!1}function de(e){if(typeof window>`u`)return;let t=ce();if(!t){C({title:`Print unavailable`,description:`Couldn't find the markdown preview to print.`,variant:`destructive`});return}ue(e.name??`Markdown document`,t.innerHTML)||C({title:`Print blocked`,description:`Allow pop-ups to print this file.`,variant:`destructive`})}async function fe(e,t){C({title:`PDF created`,description:`Opened ${(await F(e,t.path)).outputPath.split(/[\\/]/).pop()??`the PDF`} in your default app.`})}async function pe(e,t){try{if(!x()){de(t);return}await fe(e,t)}catch(n){Y(`Failed to print markdown file as PDF`,{threadId:e,path:t.path},n),C({title:`PDF export failed`,description:n instanceof Error?n.message:`Failed to convert this markdown file to PDF.`,variant:`destructive`})}}async function me(e,t){try{let n=await re(e,t);return await L(e,``,n),C({title:`Created`,description:`${n} created successfully.`}),n}catch(n){return Y(`Failed to create explorer file`,{threadId:e,extension:t},n),C({title:`Error`,description:`Failed to create file.`,variant:`destructive`}),null}}async function he(e,t){try{await navigator.clipboard.writeText(t),C({title:`Copied`,description:`Repository folder path copied to clipboard.`})}catch(n){Y(`Failed to copy explorer folder path`,{threadId:e,folderPath:t},n),C({title:`Error`,description:`Failed to copy path to clipboard.`,variant:`destructive`})}}async function ge(e,t){try{await I(e,`.`)}catch(n){Y(`Failed to open explorer repository folder`,{threadId:e,folderPath:t},n),C({title:`Error`,description:`Failed to open repository folder.`,variant:`destructive`})}}async function _e(e){try{await P(e.threadId,e.file.path,e.content),e.onSaved({key:e.suspenseKey,content:e.content,original:e.content}),C({title:`Saved`,description:`${e.file.name} saved successfully.`})}catch(t){Y(`Failed to save explorer file`,{threadId:e.threadId,path:e.file.path},t),C({title:`Error`,description:t instanceof Error?t.message:`Failed to save file`,variant:`destructive`})}}function ve(e){let t=(0,V.c)(15),{selectedFile:n,showBackButton:r,onShowTree:i}=e,a;t[0]!==i||t[1]!==r?(a=r&&i?(0,U.jsxs)(b,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-muted-foreground electrobun-webkit-app-region-no-drag`,onClick:i,children:[(0,U.jsx)(p,{className:`h-4 w-4`}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Show file tree`})]}):null,t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=y(s.label,`truncate leading-normal text-foreground`),t[3]=o):o=t[3];let c=n?n.name:`Select a file to edit`,l;t[4]===c?l=t[5]:(l=(0,U.jsx)(`span`,{className:o,children:c}),t[4]=c,t[5]=l);let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=y(s.compact,`truncate text-muted-foreground`),t[6]=u):u=t[6];let d=n?n.path:`Browse and edit repository files`,f;t[7]===d?f=t[8]:(f=(0,U.jsx)(`span`,{className:u,children:d}),t[7]=d,t[8]=f);let m;t[9]!==l||t[10]!==f?(m=(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[l,f]}),t[9]=l,t[10]=f,t[11]=m):m=t[11];let h;return t[12]!==a||t[13]!==m?(h=(0,U.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[a,m]}),t[12]=a,t[13]=m,t[14]=h):h=t[14],h}function ye(e){let t=(0,V.c)(12),{path:n,markdownMode:r,onMarkdownModeChange:i,printing:a,onPrint:o}=e,s;t[0]!==r||t[1]!==o||t[2]!==n||t[3]!==a?(s=G(n)&&r===`view`?(0,U.jsxs)(b,{size:`sm`,variant:`outline`,onClick:o,disabled:a,children:[a?(0,U.jsx)(u,{className:`h-4 w-4 animate-spin`}):(0,U.jsx)(_,{className:`h-4 w-4`}),a?`Printing…`:`Print`]}):null,t[0]=r,t[1]=o,t[2]=n,t[3]=a,t[4]=s):s=t[4];let c;t[5]!==r||t[6]!==i||t[7]!==n?(c=G(n)?(0,U.jsxs)(`div`,{className:`flex rounded-full border border-input bg-background p-0.5`,children:[(0,U.jsx)(b,{size:`sm`,variant:r===`view`?`secondary`:`ghost`,className:`h-7 px-3`,onClick:()=>i(`view`),children:`View`}),(0,U.jsx)(b,{size:`sm`,variant:r===`edit`?`secondary`:`ghost`,className:`h-7 px-3`,onClick:()=>i(`edit`),children:`Edit`})]}):null,t[5]=r,t[6]=i,t[7]=n,t[8]=c):c=t[8];let l;return t[9]!==s||t[10]!==c?(l=(0,U.jsxs)(U.Fragment,{children:[s,c]}),t[9]=s,t[10]=c,t[11]=l):l=t[11],l}function be(e){let t=(0,V.c)(16),{selectedFile:n,editableFile:r,hasLoadedContent:i}=e,a;t[0]!==r||t[1]!==i||t[2]!==e.canSave||t[3]!==e.markdownMode||t[4]!==e.onMarkdownModeChange||t[5]!==e.onPrint||t[6]!==e.onSave||t[7]!==e.printing||t[8]!==e.saving?(a=r&&i?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(ye,{path:r.path,markdownMode:e.markdownMode,onMarkdownModeChange:e.onMarkdownModeChange,printing:e.printing,onPrint:e.onPrint}),(0,U.jsxs)(b,{size:`sm`,onClick:e.onSave,disabled:e.saving||!e.canSave,children:[e.saving?(0,U.jsx)(u,{className:`h-4 w-4 animate-spin`}):null,`Save`]})]}):null,t[0]=r,t[1]=i,t[2]=e.canSave,t[3]=e.markdownMode,t[4]=e.onMarkdownModeChange,t[5]=e.onPrint,t[6]=e.onSave,t[7]=e.printing,t[8]=e.saving,t[9]=a):a=t[9];let o;t[10]!==e||t[11]!==n?(o=n?null:(0,U.jsxs)(A,{children:[(0,U.jsx)(j,{asChild:!0,children:(0,U.jsxs)(b,{size:`sm`,className:`gap-1.5`,children:[(0,U.jsx)(g,{className:`h-3.5 w-3.5`}),`New file`]})}),(0,U.jsx)(D,{align:`end`,children:ne.map(t=>{let{label:n,ext:r,icon:i}=t;return(0,U.jsxs)(O,{onSelect:()=>e.onNewFile(r),children:[(0,U.jsx)(i,{className:`h-4 w-4`}),n]},r)})})]}),t[10]=e,t[11]=n,t[12]=o):o=t[12];let s;return t[13]!==a||t[14]!==o?(s=(0,U.jsxs)(U.Fragment,{children:[a,o]}),t[13]=a,t[14]=o,t[15]=s):s=t[15],s}function xe(){let e=(0,V.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center p-8`,children:[(0,U.jsx)(`h2`,{className:y(s.pageTitle,`text-foreground`),children:`File Explorer`}),(0,U.jsx)(`p`,{className:y(s.pageSubtitle),children:`Browse and edit files`})]}),e[0]=t):t=e[0],t}function $(e){let t=(0,V.c)(14),{mediaType:n,threadId:r,file:i}=e,a=n===`image`?`Failed to load image`:`Failed to load video`,o;t[0]!==i.path||t[1]!==r?(o=()=>{T(X(r,i.path))},t[0]=i.path,t[1]=r,t[2]=o):o=t[2];let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,U.jsx)(S,{}),t[3]=s):s=t[3];let c;t[4]!==i.name||t[5]!==i.path||t[6]!==n||t[7]!==r?(c=(0,U.jsx)(H.Suspense,{fallback:s,children:n===`image`?(0,U.jsx)(ie,{threadId:r,path:i.path,alt:i.name}):(0,U.jsx)(Q,{threadId:r,path:i.path})}),t[4]=i.name,t[5]=i.path,t[6]=n,t[7]=r,t[8]=c):c=t[8];let l;return t[9]!==i.path||t[10]!==a||t[11]!==o||t[12]!==c?(l=(0,U.jsx)(z,{fallbackTitle:a,onRetry:o,children:c},i.path),t[9]=i.path,t[10]=a,t[11]=o,t[12]=c,t[13]=l):l=t[13],l}function Se(e){let t=(0,V.c)(20),{threadId:n,file:r,suspenseKey:a,hasLoadedContent:o,fileContent:s,markdownMode:c,resolvedTheme:l,onContentChange:u,onEditorMount:d,onRetry:f}=e,p=a??void 0,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,U.jsx)(S,{}),t[0]=m):m=t[0];let h=a??void 0,g=a??``,_;t[1]!==r.path||t[2]!==u||t[3]!==h||t[4]!==g||t[5]!==n?(_=(0,U.jsx)(H.Suspense,{fallback:m,children:(0,U.jsx)(J,{threadId:n,path:r.path,contentKey:g,onContentReady:u},h)}),t[1]=r.path,t[2]=u,t[3]=h,t[4]=g,t[5]=n,t[6]=_):_=t[6];let v;t[7]!==r.path||t[8]!==s||t[9]!==o||t[10]!==c||t[11]!==u||t[12]!==d||t[13]!==l?(v=o?G(r.path)&&c===`view`?(0,U.jsx)(`div`,{className:`h-full overflow-auto p-6 print:h-auto print:overflow-visible print:p-0`,children:(0,U.jsx)(`div`,{className:`mx-auto max-w-4xl print:max-w-none`,"data-markdown-print-content":!0,children:(0,U.jsx)(i,{content:s,enableMermaid:!0})})}):(0,U.jsx)(B,{height:`100%`,language:K(r.path),value:s,onChange:e=>u(t=>t&&{...t,content:e??``}),onMount:d,theme:l===`dark`?`vs-dark`:`vs-light`,options:{minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:`on`,automaticLayout:!0,fontSize:14,lineNumbers:`on`,renderLineHighlight:`line`,scrollbar:{vertical:`auto`,horizontal:`auto`}}}):(0,U.jsx)(S,{}),t[7]=r.path,t[8]=s,t[9]=o,t[10]=c,t[11]=u,t[12]=d,t[13]=l,t[14]=v):v=t[14];let y;return t[15]!==f||t[16]!==p||t[17]!==_||t[18]!==v?(y=(0,U.jsxs)(z,{fallbackTitle:`Failed to load file`,onRetry:f,children:[_,v]},p),t[15]=f,t[16]=p,t[17]=_,t[18]=v,t[19]=y):y=t[19],y}function Ce(e){let t=(0,V.c)(18);if(e.editableFile){let n;return t[0]!==e.editableFile||t[1]!==e.fileContent||t[2]!==e.fileSuspenseKey||t[3]!==e.hasLoadedContent||t[4]!==e.markdownMode||t[5]!==e.onContentChange||t[6]!==e.onEditorMount||t[7]!==e.onFileLoadRetry||t[8]!==e.resolvedTheme||t[9]!==e.threadId?(n=(0,U.jsx)(Se,{threadId:e.threadId,file:e.editableFile,suspenseKey:e.fileSuspenseKey,hasLoadedContent:e.hasLoadedContent,fileContent:e.fileContent,markdownMode:e.markdownMode,resolvedTheme:e.resolvedTheme,onContentChange:e.onContentChange,onEditorMount:e.onEditorMount,onRetry:e.onFileLoadRetry}),t[0]=e.editableFile,t[1]=e.fileContent,t[2]=e.fileSuspenseKey,t[3]=e.hasLoadedContent,t[4]=e.markdownMode,t[5]=e.onContentChange,t[6]=e.onEditorMount,t[7]=e.onFileLoadRetry,t[8]=e.resolvedTheme,t[9]=e.threadId,t[10]=n):n=t[10],n}if(e.selectedFile?.type===`file`&&e.selectedMediaType===`image`){let n;return t[11]!==e.selectedFile||t[12]!==e.threadId?(n=(0,U.jsx)($,{mediaType:`image`,threadId:e.threadId,file:e.selectedFile}),t[11]=e.selectedFile,t[12]=e.threadId,t[13]=n):n=t[13],n}if(e.selectedFile?.type===`file`&&e.selectedMediaType===`video`){let n;return t[14]!==e.selectedFile||t[15]!==e.threadId?(n=(0,U.jsx)($,{mediaType:`video`,threadId:e.threadId,file:e.selectedFile}),t[14]=e.selectedFile,t[15]=e.threadId,t[16]=n):n=t[16],n}let n;return t[17]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,U.jsx)(xe,{}),t[17]=n):n=t[17],n}function we(e){let t=(0,V.c)(5),{folderPath:n,copying:r,onOpen:i,onCopy:a}=e,o;return t[0]!==r||t[1]!==n||t[2]!==a||t[3]!==i?(o=(0,U.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 px-4 py-2`,children:n?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`button`,{type:`button`,onClick:i,className:y(s.compact,`min-w-0 flex-1 truncate text-left font-mono text-muted-foreground hover:text-foreground hover:underline`),title:n,children:n}),(0,U.jsxs)(b,{variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0`,onClick:a,disabled:r,children:[r?(0,U.jsx)(h,{className:`h-3.5 w-3.5`}):(0,U.jsx)(v,{className:`h-3.5 w-3.5`}),(0,U.jsx)(`span`,{className:`sr-only`,children:`Copy path`})]})]}):(0,U.jsx)(`p`,{className:y(s.compact,`text-muted-foreground/50 italic`),children:`Loading path...`})}),t[0]=r,t[1]=n,t[2]=a,t[3]=i,t[4]=o):o=t[4],o}function Te({selectedFile:e,showTreeBackButton:t=!1,onShowTree:n,onFileCreated:r}){let{resolvedTheme:i}=te(),a=l(e=>e.selectedThreadId),{triggerExplorerRefresh:o}=w(),c=(0,H.useRef)(null),u=(0,H.useRef)(null),f=(0,H.useRef)(!1),[p,m]=(0,H.useState)(null),[h,g]=(0,H.useState)(!1),[_,v]=(0,H.useState)(!1),[y,b]=(0,H.useState)(`edit`),[x,S]=(0,H.useState)(0),[C,E]=(0,H.useState)(null),[D,O]=(0,H.useState)(!1),A=e?.path??null;(0,H.useEffect)(()=>{a&&ee(a).then(E).catch(()=>{})},[a]);let j=async()=>{if(!(!C||D)){O(!0);try{await he(a,C)}finally{O(!1)}}},M=(0,H.useCallback)(async e=>{if(!a)return;let t=await me(a,e);if(!t)return;let n={name:t,path:t,type:`file`};u.current=t,f.current=!0,r?.(n),o()},[a,r,o]),{selectedMediaType:N,editableFile:P,fileSuspenseKey:F,currentContent:I,fileContent:L,originalFileContent:R}=se(a,e,p,x);(0,H.useEffect)(()=>()=>{ae(c.current),c.current=null},[]),(0,H.useEffect)(()=>{if(e?.type===`file`){let t=u.current===e.path;t&&(u.current=null),b(oe(e,t))}else b(`edit`)},[A,a]);async function z(){if(!(!a||!e||!F)){g(!0);try{await _e({threadId:a,file:e,suspenseKey:F,content:L,onSaved:m})}finally{g(!1)}}}async function B(){if(!(!a||!e||_)){v(!0);try{await pe(a,e)}finally{v(!1)}}}let V=(0,H.useCallback)(e=>{c.current=e,f.current&&(f.current=!1,e.focus())},[]);function W(){!a||!P||(T(q(a,P.path)),S(e=>e+1))}return a?(0,U.jsxs)(`div`,{className:`explorer-view-root flex flex-col h-full print:block print:h-auto`,children:[(0,U.jsxs)(k,{className:`justify-between print:hidden`,children:[(0,U.jsx)(ve,{selectedFile:e,showBackButton:t,onShowTree:n}),(0,U.jsx)(`div`,{className:`flex gap-2`,children:(0,U.jsx)(be,{selectedFile:e,editableFile:P,hasLoadedContent:I!==null,markdownMode:y,onMarkdownModeChange:b,printing:_,onPrint:()=>void B(),saving:h,canSave:L!==``&&L!==R,onSave:()=>void z(),onNewFile:e=>void M(e)})})]}),(0,U.jsx)(`div`,{className:`flex-1 overflow-hidden print:overflow-visible print:flex-none`,children:(0,U.jsx)(`div`,{className:`h-full relative overflow-hidden print:h-auto print:overflow-visible`,children:(0,U.jsx)(Ce,{threadId:a,selectedFile:e,selectedMediaType:N,editableFile:P,fileSuspenseKey:F,hasLoadedContent:I!==null,fileContent:L,markdownMode:y,resolvedTheme:i,onContentChange:m,onEditorMount:V,onFileLoadRetry:W})})}),e?null:(0,U.jsx)(we,{folderPath:C,copying:D,onOpen:()=>void ge(a,C),onCopy:()=>void j()})]}):(0,U.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center`,children:[(0,U.jsx)(d,{className:`h-8 w-8 text-muted-foreground`}),(0,U.jsx)(`p`,{className:s.bodyMuted,children:`Select a thread to browse its files`})]})}export{Te as default};
|
package/dist/public/assets/{git-history-dialog-DWhJ1-ba.js → git-history-dialog-rWkjoaR5.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{ot as n}from"./dist-
|
|
1
|
+
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{ot as n}from"./dist-DjiNKpTV.js";import{Et as r}from"./dist-CNOCRPxn.js";import{t as i}from"./utils-CT-Dw22R.js";import{t as a}from"./button-B6HDsfd5.js";import{a as o,i as s,o as c,r as l,s as u,t as d}from"./dialog--0foS3aw.js";var f=e(),p=t();function m(e){let t=(0,f.c)(28),{open:m,onOpenChange:g,commits:_,displayedCommits:v,isLoadingMore:y,onScroll:b,currentBranch:x}=e,S;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,p.jsx)(u,{children:`Commit History`}),t[0]=S):S=t[0];let C;t[1]===x?C=t[2]:(C=(0,p.jsxs)(c,{children:[S,(0,p.jsxs)(s,{children:[`Recent commits on branch `,x]})]}),t[1]=x,t[2]=C);let w;t[3]===v?w=t[4]:(w=v.length>0?v.map(h):(0,p.jsx)(`p`,{className:i(n.bodyMuted,`text-center py-8`),children:`No commits found`}),t[3]=v,t[4]=w);let T;t[5]===y?T=t[6]:(T=y&&(0,p.jsx)(`div`,{className:`p-3 text-center`,children:(0,p.jsx)(r,{className:`h-4 w-4 animate-spin inline`})}),t[5]=y,t[6]=T);let E;t[7]!==_.length||t[8]!==v.length||t[9]!==y?(E=v.length<_.length&&!y&&(0,p.jsx)(`div`,{className:i(n.caption,`p-3 text-center`),children:`Scroll to load more`}),t[7]=_.length,t[8]=v.length,t[9]=y,t[10]=E):E=t[10];let D;t[11]!==w||t[12]!==T||t[13]!==E?(D=(0,p.jsxs)(`div`,{className:`divide-y`,children:[w,T,E]}),t[11]=w,t[12]=T,t[13]=E,t[14]=D):D=t[14];let O;t[15]!==b||t[16]!==D?(O=(0,p.jsx)(`div`,{className:`flex-1 overflow-y-auto border rounded-lg`,onScroll:b,children:D}),t[15]=b,t[16]=D,t[17]=O):O=t[17];let k;t[18]===g?k=t[19]:(k=(0,p.jsx)(o,{children:(0,p.jsx)(a,{onClick:()=>g(!1),children:`Close`})}),t[18]=g,t[19]=k);let A;t[20]!==C||t[21]!==O||t[22]!==k?(A=(0,p.jsxs)(l,{className:`max-w-2xl max-h-[80vh] flex flex-col`,children:[C,O,k]}),t[20]=C,t[21]=O,t[22]=k,t[23]=A):A=t[23];let j;return t[24]!==g||t[25]!==m||t[26]!==A?(j=(0,p.jsx)(d,{open:m,onOpenChange:g,children:A}),t[24]=g,t[25]=m,t[26]=A,t[27]=j):j=t[27],j}function h(e){return(0,p.jsxs)(`div`,{className:`p-3 hover:bg-muted/50 transition-colors`,children:[(0,p.jsx)(`p`,{className:i(n.label,`break-words`),children:e.message}),(0,p.jsxs)(`p`,{className:i(n.bodyMuted,`mt-1`),children:[(0,p.jsx)(`span`,{className:n.mono,children:e.hash.substring(0,7)}),` •`,` `,e.author,` • `,new Date(e.date).toLocaleDateString()]})]},e.hash)}export{m as GitHistoryDialog};
|