@pi-chamber/web 0.3.2 → 0.3.3
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/assets/{CommitSection-DLIvjYbM.js → CommitSection-BAYzLtBf.js} +1 -1
- package/dist/assets/{DiagramEditor-Tw3ZWHML.js → DiagramEditor-D1yc4joK.js} +1 -1
- package/dist/assets/{DiagramView-CK6R7taL.js → DiagramView-CAlJiG11.js} +1 -1
- package/dist/assets/{DiffView-vrxi5oWp.js → DiffView-DGD9DMS7.js} +1 -1
- package/dist/assets/{FilesView-BD_h3EVr.js → FilesView-DB5VI7EN.js} +1 -1
- package/dist/assets/{GitView-BwNKqK0K.js → GitView-CFlPcSn9.js} +3 -3
- package/dist/assets/{JsonTreeView-CmY7QgEX.js → JsonTreeView-CoX1ZscV.js} +1 -1
- package/dist/assets/{MarkdownRendererImpl-CpI-25Xk.js → MarkdownRendererImpl-V1HMFCjr.js} +1 -1
- package/dist/assets/{PatchDiff-CrIWbYj7.js → PatchDiff-D6Gs7K5B.js} +1 -1
- package/dist/assets/{PierreDiffViewer-B410mdbq.js → PierreDiffViewer-COYd5Qr-.js} +1 -1
- package/dist/assets/{SessionSwitcherDropdown-DROjbyIu.js → SessionSwitcherDropdown-o1RjhCfF.js} +8 -8
- package/dist/assets/{SettingsView-CsJItYZh.js → SettingsView-BYqvfMTS.js} +3 -3
- package/dist/assets/{SettingsWindow-C9s4AX72.js → SettingsWindow-CtNS0tQn.js} +1 -1
- package/dist/assets/{ToolOutputDialog-b_R4tAZu.js → ToolOutputDialog-2zKUdGYL.js} +1 -1
- package/dist/assets/{ToolPartDiffPreview-CfnliaE9.js → ToolPartDiffPreview-CBFC9min.js} +1 -1
- package/dist/assets/{VirtualizedFileDiff-CQz2fSZI.js → VirtualizedFileDiff-UMgLcO4Q.js} +1 -1
- package/dist/assets/{collapsible-CR4U9tjw.js → collapsible-Kx4bmsQM.js} +1 -1
- package/dist/assets/{computeVirtualFileMetrics-C7vXPUYT.js → computeVirtualFileMetrics-DdOCbMyK.js} +1 -1
- package/dist/assets/{contextFileOpenGuard-DtTHRnq1.js → contextFileOpenGuard-BRldMp0d.js} +1 -1
- package/dist/assets/{index-DZG82DE1.js → index-CuSNEV7s.js} +1 -1
- package/dist/assets/{isDiffPlainText-zTq-4A04.js → isDiffPlainText-CGIf0q8p.js} +1 -1
- package/dist/assets/{isFilePlainText-CLgIdzE5.js → isFilePlainText-D4hgTRxT.js} +1 -1
- package/dist/assets/{main-BVWtJYSk.js → main-By_pvk90.js} +2 -2
- package/dist/assets/{main-DXYHsqzA.js → main-CmkRaMOR.js} +4 -4
- package/dist/assets/{markdownCore-CN0pApQE.js → markdownCore-CAVCyFnI.js} +1 -1
- package/dist/assets/{miniChat-BrbRq5NQ.js → miniChat-_XK2gGZE.js} +2 -2
- package/dist/assets/{mobile-DTPtCn5N.js → mobile-B4E4JqAf.js} +2 -2
- package/dist/assets/{renderElectronMiniChatApp-CM8qBaye.js → renderElectronMiniChatApp-Ca4hZgIz.js} +1 -1
- package/dist/assets/{renderMobileApp-KS_pt-qc.js → renderMobileApp-ClA5Cnmw.js} +4 -4
- package/dist/assets/{useInlineCommentController-CwNNjgc7.js → useInlineCommentController-DD31jQNC.js} +1 -1
- package/dist/assets/{usePanelSlide-DkorgQJ5.js → usePanelSlide-a4c67FIY.js} +2 -2
- package/dist/assets/{useWindowTitle-B9wt_3ZQ.js → useWindowTitle-DoHrUC5r.js} +1 -1
- package/dist/assets/{vendor-codemirror-language-data-x89A7Wy0.js → vendor-codemirror-language-data-Dp_Z-0GD.js} +2 -2
- package/dist/assets/{web-components-BEPfE4kU.js → web-components-Cct1r-wn.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/mini-chat.html +1 -1
- package/dist/mobile.html +1 -1
- package/package.json +1 -1
- package/server/lib/pi/session-daemon/session-daemon.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as C,j as e}from"./vendor-react-DYyjh7Q0.js";import{f as z,T as y,q as _,B as c,I as a,s as v,aQ as I}from"./SessionSwitcherDropdown-
|
|
1
|
+
import{R as C,j as e}from"./vendor-react-DYyjh7Q0.js";import{f as z,T as y,q as _,B as c,I as a,s as v,aQ as I}from"./SessionSwitcherDropdown-o1RjhCfF.js";import{u as H}from"./index-BAqpUCjs.js";const N=38,h=200,k=({value:t,onChange:o,placeholder:m,disabled:i=!1,hasTouchInput:r=!1,isMobile:u=!1})=>{const n=C.useRef(null),j=H(s=>s.inputSpellcheckEnabled);return C.useLayoutEffect(()=>{const s=n.current;if(!s)return;const l=document.activeElement===s,d=()=>{s.style.height=`${N}px`;const p=s.scrollHeight,x=Math.min(Math.max(p,N),h);s.style.height=`${x}px`,s.style.overflowY=p>h?"auto":"hidden",p>h&&!l&&(s.scrollTop=s.scrollHeight)};d();const f=window.requestAnimationFrame(d);return()=>{window.cancelAnimationFrame(f)}},[t]),e.jsx("textarea",{ref:n,value:t,onChange:s=>o(s.target.value),placeholder:m??"Commit message",rows:1,disabled:i,autoCorrect:r?"on":"off",autoCapitalize:r?"sentences":"off",spellCheck:u||j,className:z("w-full rounded-lg border border-border/60 bg-surface-elevated px-3 py-2 typography-ui-label text-foreground placeholder:text-muted-foreground","resize-none outline-none transition-[border-color,box-shadow] duration-150","focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]",i&&"opacity-50"),style:{minHeight:N,maxHeight:h}})},F=({highlights:t,onInsert:o})=>{if(t.length===0)return null;const m=()=>{o(t)};return e.jsxs("div",{className:"space-y-2 rounded-xl border border-border/60 bg-transparent px-3 py-2",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("p",{className:"typography-micro text-muted-foreground",children:"Highlights"}),e.jsxs(y,{children:[e.jsx(_,{asChild:!0,children:e.jsx(c,{variant:"ghost",size:"icon",className:"size-6",onClick:m,"aria-label":"Insert aria label",children:e.jsx(a,{name:"arrow-down",className:"size-4"})})}),e.jsx(v,{sideOffset:8,children:"Insert tooltip"})]})]}),e.jsx("ul",{className:"space-y-1",children:t.map((i,r)=>e.jsx("li",{className:"typography-meta text-foreground",children:i},`${i}-${r}`))})]})},q=({stagedCount:t,commitMessage:o,onCommitMessageChange:m,generatedHighlights:i,onInsertHighlights:r,onGenerateMessage:u,isGeneratingMessage:n,onCommit:j,onCommitAndPush:s,commitAction:l,hasPendingIndexMutation:d=!1,gitmojiEnabled:f,onOpenGitmojiPicker:p})=>{const x=t>0,b=o.trim()&&x&&l===null&&!d,{isMobile:g,hasTouchInput:w}=I();return e.jsxs("section",{className:"border-0 bg-transparent rounded-none",children:[e.jsxs("div",{className:"flex w-full items-baseline gap-2 px-0 pt-2 pb-1",children:[e.jsx("h3",{className:"typography-ui-header font-semibold text-foreground",children:"Commit"}),x?null:e.jsx("span",{className:"min-w-0 truncate typography-meta text-muted-foreground",children:"Stage files to enable commit."})]}),e.jsxs("div",{className:"flex flex-col gap-3 px-0 pt-1 pb-3",children:[e.jsx(F,{highlights:i,onInsert:r}),e.jsx(k,{value:o,onChange:m,placeholder:"Commit message",disabled:l!==null,hasTouchInput:w,isMobile:g}),f&&e.jsxs(c,{variant:"outline",size:"sm",onClick:p,className:"w-fit",type:"button",children:[e.jsx(a,{name:"emotion-happy",className:"size-4"}),"Add gitmoji"]}),e.jsxs("div",{className:"@container/commit-actions flex items-center gap-2 min-w-0",children:[e.jsxs(c,{variant:"outline",size:"sm",onClick:u,disabled:n||l!==null||d||t===0,type:"button","aria-label":"Generate commit message",className:"commit-actions__btn",children:[n?e.jsx(a,{name:"loader-4",className:"size-4 animate-spin"}):e.jsx(a,{name:"ai-generate-2",className:"size-4 text-primary"}),e.jsx("span",{className:"commit-actions__label",children:"Generate"})]}),e.jsx("div",{className:"flex-1"}),e.jsx(c,{size:"sm",variant:"outline",onClick:j,disabled:!b||n,className:"commit-actions__btn whitespace-nowrap","aria-label":"Commit aria label",children:l==="commit"?e.jsxs(e.Fragment,{children:[e.jsx(a,{name:"loader-4",className:"size-4 animate-spin"}),e.jsx("span",{className:"commit-actions__label",children:"Committing..."})]}):e.jsxs(e.Fragment,{children:[e.jsx(a,{name:"git-commit",className:"size-4"}),e.jsx("span",{className:"commit-actions__label",children:"Commit"})]})}),g?e.jsxs(y,{children:[e.jsx(_,{asChild:!0,children:e.jsx(c,{variant:"default",size:"sm",onClick:()=>s(),disabled:!b||n,className:"h-7 w-7 p-0","aria-label":"Commit and sync",children:l==="commitAndPush"?e.jsx(a,{name:"loader-4",className:"size-4 animate-spin"}):e.jsx(a,{name:"arrow-up",className:"size-3.5"})})}),e.jsx(v,{side:"top",children:e.jsx("p",{children:"Commit & sync"})})]}):e.jsx(c,{size:"sm",variant:"default",onClick:()=>s(),disabled:!b||n,className:"commit-actions__btn","aria-label":"Commit and sync",children:l==="commitAndPush"?e.jsxs(e.Fragment,{children:[e.jsx(a,{name:"loader-4",className:"size-4 animate-spin"}),e.jsx("span",{className:"commit-actions__label commit-actions__label--push",children:"Syncing..."})]}):e.jsxs(e.Fragment,{children:[e.jsx(a,{name:"arrow-up",className:"size-3.5"}),e.jsx("span",{className:"commit-actions__label commit-actions__label--push",children:"Commit & sync"})]})})]})]})]})};export{q as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as e,j as h}from"./vendor-react-DYyjh7Q0.js";import{D as E}from"./vendor-react-drawio-Boqanm0j.js";import{f as x}from"./SessionSwitcherDropdown-
|
|
1
|
+
import{R as e,j as h}from"./vendor-react-DYyjh7Q0.js";import{D as E}from"./vendor-react-drawio-Boqanm0j.js";import{f as x}from"./SessionSwitcherDropdown-o1RjhCfF.js";const D='<mxfile><diagram id="new" name="Page-1"><mxGraphModel dx="0" dy="0" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel></diagram></mxfile>';function g(){if(typeof document>"u")return!1;const o=document.documentElement.getAttribute("data-theme");return o==="dark"||!o&&window.matchMedia("(prefers-color-scheme: dark)").matches}const X=e.forwardRef(function({xml:t,readOnly:a,className:R,onChange:c},v){const s=e.useRef(t),i=e.useRef(null),m=e.useRef(!1),[n,k]=e.useState(g),u=e.useRef(t),d=e.useRef(t);d.current!==t&&(d.current=t,u.current=t,s.current=t);const f=e.useRef(n);f.current!==n&&(f.current=n,u.current=s.current);const l=e.useRef(null);e.useEffect(()=>{const r=()=>k(g());r();const p=new MutationObserver(r);return p.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>p.disconnect()},[]),e.useEffect(()=>{const r=setTimeout(()=>{l.current?.querySelector(".diagrams-iframe")?.focus()},600);return()=>clearTimeout(r)},[]),e.useImperativeHandle(v,()=>({getXml:()=>s.current}));const b=e.useCallback(()=>{!t&&!m.current&&(m.current=!0,setTimeout(()=>{i.current?.template({})},500))},[t]),w=e.useCallback(r=>{s.current=r.xml,c?.(r.xml)},[c]);return h.jsx("div",{ref:l,className:x("h-full w-full",R),children:h.jsx(E,{ref:i,xml:u.current||D,autosave:!0,urlParameters:{ui:a?"simple":n?"dark":"kennedy",spin:!0,libraries:!a,chrome:a,nav:a,layers:a,noSaveBtn:!0,noExitBtn:!0,saveAndExit:!1},onLoad:b,onAutoSave:w},n?"dark":"light")})});export{X as D};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as r,j as t}from"./vendor-react-DYyjh7Q0.js";import{u as a}from"./index-BAqpUCjs.js";import{C as v,I as m}from"./SessionSwitcherDropdown-
|
|
1
|
+
import{R as r,j as t}from"./vendor-react-DYyjh7Q0.js";import{u as a}from"./index-BAqpUCjs.js";import{C as v,I as m}from"./SessionSwitcherDropdown-o1RjhCfF.js";import{D as j}from"./DiagramEditor-D1yc4joK.js";import"./vendor-scheduler-7OC5HNn7.js";import"./vendor-zustand-CnsBKjP5.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-base-ui-DL8r2fgQ.js";import"./vendor-floating-ui-utils-BzXdqYpP.js";import"./vendor-floating-ui-react-dom-sVFnuruh.js";import"./vendor-floating-ui-dom-Bkw82kL9.js";import"./vendor-floating-ui-core-CXmKXOXc.js";import"./vendor-use-sync-external-store-B7OScDIw.js";import"./runtimeSurface-CkHYYg0E.js";import"./vendor-dnd-kit-core-GipZW2tY.js";import"./vendor-dnd-kit-utilities-CrOcp0Bp.js";import"./vendor-dnd-kit-accessibility-Cv52zwWT.js";import"./vendor-dnd-kit-sortable-Ct2QxIHb.js";import"./vendor-cmdk-BCEUzcHE.js";import"./vendor-radix-ui-react-dialog-jX3Dld8c.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-D1GnwnP9.js";import"./vendor-radix-ui-react-context-CM4yFQ2I.js";import"./vendor-radix-ui-react-id-BcxRjnbX.js";import"./vendor-radix-ui-react-use-layout-effect-0fyGwS2_.js";import"./vendor-radix-ui-react-use-controllable-state-C_ecoh35.js";import"./vendor-radix-ui-react-dismissable-layer-M7LsH3yL.js";import"./vendor-radix-ui-react-primitive-CfpW6_IT.js";import"./vendor-radix-ui-react-slot-BxUc3Pvz.js";import"./vendor-radix-ui-react-use-callback-ref-UKEWHtoP.js";import"./vendor-radix-ui-react-use-escape-keydown-Co13lHGj.js";import"./vendor-radix-ui-react-focus-scope-C2K7lNPv.js";import"./vendor-radix-ui-react-portal-xlJWBfDg.js";import"./vendor-radix-ui-react-presence-Btn-Dp7L.js";import"./vendor-radix-ui-react-focus-guards-D5MZ0nQs.js";import"./vendor-react-remove-scroll-CfeMe0DL.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-C9YRs2nU.js";import"./vendor-react-style-singleton-B1H4bWSG.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-C-AuTczP.js";import"./vendor-use-callback-ref-CJB0R85I.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-E2vgV9K3.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-CNWM3Q8V.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-DSzLbZiS.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-BUlYhQ3o.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-BS2SpSAZ.js";import"./vendor-codemirror-lang-json-CqayksDf.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-Ba8JZ6fp.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-DK27qQri.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-CvO36Y1p.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-Dp_Z-0GD.js";import"./vendor-codemirror-lang-python-_2bIYTiJ.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-RrgJ8H_6.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-tanstack-react-virtual-IrbCBGJ4.js";import"./vendor-tanstack-virtual-core-Dubg10g5.js";import"./vendor-framer-motion-DJASDzNt.js";import"./vendor-motion-dom-DJLgZh4Q.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./vendor-sonner-CW8w438f.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./vendor-react-drawio-Boqanm0j.js";function Kt(){const{files:o}=v(),[e,d]=r.useState(null),[s,p]=r.useState(""),[x,n]=r.useState(!0),l=r.useRef(null),c=a(i=>i.pendingDiagramFile),u=r.useCallback(async i=>{n(!0),d(i);try{const f=await o?.readFile?.(i);f&&p(f.content)}catch{p("")}finally{n(!1)}},[o]);r.useEffect(()=>{if(!c)return;const i=a.getState().consumePendingDiagramFile();i&&u(i)},[u,c]);const g=r.useCallback(async()=>{const i=l.current?.getXml();e&&o?.writeFile&&i&&i!==s&&(await o.writeFile(e,i),p(i))},[e,o,s]),h=e?e.split("/").pop()||e:"";return e?x?t.jsx("div",{className:"flex h-full items-center justify-center p-3",children:t.jsx(m,{name:"loader-4",className:"size-4 animate-spin"})}):t.jsxs("div",{className:"flex h-full flex-col",children:[t.jsxs("div",{className:"flex items-center gap-2 border-b border-border/30 px-3 py-1.5",children:[t.jsx(m,{name:"file",className:"size-4 shrink-0 text-muted-foreground"}),t.jsx("span",{className:"typography-ui text-muted-foreground truncate flex-1",children:h}),t.jsx("button",{type:"button",onClick:()=>{g()},className:"size-6 flex items-center justify-center rounded-md text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",title:"Save diagram",children:t.jsx(m,{name:"save-3",className:"size-4"})}),t.jsx("button",{type:"button",onClick:()=>a.getState().setActiveMainTab("chat"),className:"size-6 flex items-center justify-center rounded-md text-muted-foreground hover:bg-interactive-hover/50 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",title:"Close diagram view",children:t.jsx(m,{name:"close",className:"size-4"})})]}),t.jsx("div",{className:"flex-1 min-h-0",children:t.jsx(j,{ref:l,xml:s,className:"h-full"})})]}):t.jsx("div",{className:"flex h-full items-center justify-center p-3",children:t.jsx("div",{className:"typography-ui text-muted-foreground",children:"Pick a file from the tree."})})}export{Kt as DiagramView};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{R as o,j as n}from"./vendor-react-DYyjh7Q0.js";import{u as _,a as ut}from"./index-BAqpUCjs.js";import{dm as Pt,dn as Wt,dp as Ot,C as dt,E as zt,aQ as Gt,H as Ht,G as Ut,J as Kt,K as J,h as Vt,aC as qt,dq as Xt,dr as Jt,a_ as Qt,W as ve,t as ft,B as Ne,I as A,f as P,T as Yt,q as Zt,s as en,ds as mt,dl as tn,as as nn,at as sn,au as rn,dt as on,du as je,ay as pt,F as ht,V as an}from"./SessionSwitcherDropdown-
|
|
1
|
+
import{R as o,j as n}from"./vendor-react-DYyjh7Q0.js";import{u as _,a as ut}from"./index-BAqpUCjs.js";import{dm as Pt,dn as Wt,dp as Ot,C as dt,E as zt,aQ as Gt,H as Ht,G as Ut,J as Kt,K as J,h as Vt,aC as qt,dq as Xt,dr as Jt,a_ as Qt,W as ve,t as ft,B as Ne,I as A,f as P,T as Yt,q as Zt,s as en,ds as mt,dl as tn,as as nn,at as sn,au as rn,dt as on,du as je,ay as pt,F as ht,V as an}from"./SessionSwitcherDropdown-o1RjhCfF.js";import{P as ln}from"./PierreDiffViewer-COYd5Qr-.js";import{v as cn,g as un}from"./contextFileOpenGuard-BRldMp0d.js";import{p as dn}from"./VirtualizedFileDiff-UMgLcO4Q.js";import"./vendor-scheduler-7OC5HNn7.js";import"./vendor-zustand-CnsBKjP5.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-base-ui-DL8r2fgQ.js";import"./vendor-floating-ui-utils-BzXdqYpP.js";import"./vendor-floating-ui-react-dom-sVFnuruh.js";import"./vendor-floating-ui-dom-Bkw82kL9.js";import"./vendor-floating-ui-core-CXmKXOXc.js";import"./vendor-use-sync-external-store-B7OScDIw.js";import"./runtimeSurface-CkHYYg0E.js";import"./vendor-dnd-kit-core-GipZW2tY.js";import"./vendor-dnd-kit-utilities-CrOcp0Bp.js";import"./vendor-dnd-kit-accessibility-Cv52zwWT.js";import"./vendor-dnd-kit-sortable-Ct2QxIHb.js";import"./vendor-cmdk-BCEUzcHE.js";import"./vendor-radix-ui-react-dialog-jX3Dld8c.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-D1GnwnP9.js";import"./vendor-radix-ui-react-context-CM4yFQ2I.js";import"./vendor-radix-ui-react-id-BcxRjnbX.js";import"./vendor-radix-ui-react-use-layout-effect-0fyGwS2_.js";import"./vendor-radix-ui-react-use-controllable-state-C_ecoh35.js";import"./vendor-radix-ui-react-dismissable-layer-M7LsH3yL.js";import"./vendor-radix-ui-react-primitive-CfpW6_IT.js";import"./vendor-radix-ui-react-slot-BxUc3Pvz.js";import"./vendor-radix-ui-react-use-callback-ref-UKEWHtoP.js";import"./vendor-radix-ui-react-use-escape-keydown-Co13lHGj.js";import"./vendor-radix-ui-react-focus-scope-C2K7lNPv.js";import"./vendor-radix-ui-react-portal-xlJWBfDg.js";import"./vendor-radix-ui-react-presence-Btn-Dp7L.js";import"./vendor-radix-ui-react-focus-guards-D5MZ0nQs.js";import"./vendor-react-remove-scroll-CfeMe0DL.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-C9YRs2nU.js";import"./vendor-react-style-singleton-B1H4bWSG.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-C-AuTczP.js";import"./vendor-use-callback-ref-CJB0R85I.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-E2vgV9K3.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-CNWM3Q8V.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-DSzLbZiS.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-BUlYhQ3o.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-BS2SpSAZ.js";import"./vendor-codemirror-lang-json-CqayksDf.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-Ba8JZ6fp.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-DK27qQri.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-CvO36Y1p.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-Dp_Z-0GD.js";import"./vendor-codemirror-lang-python-_2bIYTiJ.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-RrgJ8H_6.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-tanstack-react-virtual-IrbCBGJ4.js";import"./vendor-tanstack-virtual-core-Dubg10g5.js";import"./vendor-framer-motion-DJASDzNt.js";import"./vendor-motion-dom-DJLgZh4Q.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./vendor-sonner-CW8w438f.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./web-components-Cct1r-wn.js";import"./computeVirtualFileMetrics-DdOCbMyK.js";import"./vendor-shiki-Bbf2GEcE.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-shikijs-engine-oniguruma-DPWuIF1G.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-engine-javascript-Cme4830A.js";import"./vendor-oniguruma-to-es-DLBnFDCE.js";import"./vendor-oniguruma-parser-C0D4_9rT.js";import"./vendor-regex-BBWcyTkg.js";import"./vendor-regex-utilities-2BQyy0xI.js";import"./vendor-regex-recursion-JU4mF-dD.js";import"./vendor-shikijs-transformers-CZWsLLKm.js";import"./usePanelSlide-a4c67FIY.js";import"./permissionStore-BRcQ9Jgt.js";import"./useInlineCommentController-DD31jQNC.js";import"./collapsible-Kx4bmsQM.js";import"./appThemeRegistry-BK0dHKa6.js";import"./registerCustomTheme-BBXUCRnG.js";import"./isDiffPlainText-CGIf0q8p.js";import"./vendor-diff-C3JhlQdm.js";function fn(t,e=10){const a=[];let i;for(const u of t.split(`
|
|
2
2
|
`)){const x=u.match(Pt);if(x!=null){i!=null&&(i.hunkLines.length>0&&(Me(i,e,"trailing"),Ge(i,a)),i=void 0);const b=parseInt(x[3]),N=parseInt(x[1]),v=parseInt(x[4]??"1"),h=parseInt(x[2]??"1");isNaN(b)||isNaN(N)||isNaN(v)||isNaN(h)?a.push(u):i={additionStart:b,deletionStart:N,additionCount:0,deletionCount:0,hunkLines:[],contextLines:[]};continue}if(i==null){a.push(u);continue}if(u.startsWith(" "))i.contextLines.push(u);else if(u!==""){if(i.hunkLines.length>0&&i.contextLines.length>e*2){const b=i.contextLines.length-e*2,N=i.contextLines.slice(-e);Me(i,e,"trailing");const{additionCount:v,deletionCount:h}=i;Ge(i,a),i={additionStart:i.additionStart+v+b,deletionStart:i.deletionStart+h+b,deletionCount:0,additionCount:0,contextLines:N,hunkLines:[]}}Me(i,e,i.hunkLines.length===0?"leading":"before-change"),i.hunkLines.push(u),u.startsWith("+")?i.additionCount+=1:u.startsWith("-")&&(i.deletionCount+=1)}}i!=null&&i.hunkLines.length>0&&(Me(i,e,"trailing"),Ge(i,a));const c=a.join(`
|
|
3
3
|
`);return t.endsWith(`
|
|
4
4
|
`)?`${c}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as t,R as n,b as bo}from"./vendor-react-DYyjh7Q0.js";import{z as wo,A as yo,B as jo,C as No,L as Es,o as Ee,u as ue,bH as ko,a7 as Rs,D as Co,r as zs,G as rn,e as So,bI as Fo,F as Eo,bJ as Ro}from"./index-BAqpUCjs.js";import{f as $,Y as vr,B as S,T as Ye,q as Qe,I as v,s as Xe,dy as zo,C as Do,aL as Po,aQ as Mo,E as To,G as Lo,ax as Oo,dz as Ds,t as A,a5 as Ao,V as nn,dv as fr,a_ as Io,dA as sn,W as Ps,dB as Ms,dw as Ts,dx as Bo,dC as $o,dD as Vo,b2 as Wo,dE as Ls,D as da,w as fa,x as ma,y as pa,z as ha,A as ga,as as pn,at as hn,F as hr,au as gn,az as gr,ay as an,X as on,bf as Os,cQ as _o,cR as qo,dF as _t,av as br,aw as Ho,aA as Ko}from"./SessionSwitcherDropdown-DROjbyIu.js";import{E as mr,p as Go,q as Uo,t as Jo,v as Yo,w as Qo}from"./usePanelSlide-DkorgQJ5.js";import{E as Xo,o as ut,k as xn,i as xa,a as Zo,S as ei}from"./vendor-codemirror-state-CNWM3Q8V.js";import{s as ti,d as ri,E as se,e as ni,f as As,k as cn,V as va,D as yr,W as si}from"./vendor-codemirror-view-DSzLbZiS.js";import{h as ai,k as oi,l as ii,j as ci}from"./vendor-codemirror-commands-RrgJ8H_6.js";import{i as li,y as ui,H as Is,x as pr,z as di}from"./vendor-codemirror-language-E2vgV9K3.js";import{a as Bs,g as wr,b as $s,c as Vs,o as fi,d as mi}from"./vendor-codemirror-search-8kyQdB3f.js";import{v as pi,g as hi}from"./vendor-replit-codemirror-vim-BJY5fGLS.js";import{F as gi,J as xi}from"./JsonTreeView-CmY7QgEX.js";import{a as d,c as vi}from"./vendor-lezer-highlight-CDMHUZ74.js";import{ensurePierreThemeRegistered as Ws,getResolvedShikiTheme as bi}from"./appThemeRegistry-BK0dHKa6.js";import{D as wi}from"./DiagramEditor-Tw3ZWHML.js";import{I as _s,a as yi,u as ji,n as Ni}from"./useInlineCommentController-CwNNjgc7.js";import"./vendor-scheduler-7OC5HNn7.js";import"./vendor-zustand-CnsBKjP5.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-base-ui-DL8r2fgQ.js";import"./vendor-floating-ui-utils-BzXdqYpP.js";import"./vendor-floating-ui-react-dom-sVFnuruh.js";import"./vendor-floating-ui-dom-Bkw82kL9.js";import"./vendor-floating-ui-core-CXmKXOXc.js";import"./vendor-use-sync-external-store-B7OScDIw.js";import"./runtimeSurface-CkHYYg0E.js";import"./vendor-dnd-kit-core-GipZW2tY.js";import"./vendor-dnd-kit-utilities-CrOcp0Bp.js";import"./vendor-dnd-kit-accessibility-Cv52zwWT.js";import"./vendor-dnd-kit-sortable-Ct2QxIHb.js";import"./vendor-cmdk-BCEUzcHE.js";import"./vendor-radix-ui-react-dialog-jX3Dld8c.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-D1GnwnP9.js";import"./vendor-radix-ui-react-context-CM4yFQ2I.js";import"./vendor-radix-ui-react-id-BcxRjnbX.js";import"./vendor-radix-ui-react-use-layout-effect-0fyGwS2_.js";import"./vendor-radix-ui-react-use-controllable-state-C_ecoh35.js";import"./vendor-radix-ui-react-dismissable-layer-M7LsH3yL.js";import"./vendor-radix-ui-react-primitive-CfpW6_IT.js";import"./vendor-radix-ui-react-slot-BxUc3Pvz.js";import"./vendor-radix-ui-react-use-callback-ref-UKEWHtoP.js";import"./vendor-radix-ui-react-use-escape-keydown-Co13lHGj.js";import"./vendor-radix-ui-react-focus-scope-C2K7lNPv.js";import"./vendor-radix-ui-react-portal-xlJWBfDg.js";import"./vendor-radix-ui-react-presence-Btn-Dp7L.js";import"./vendor-radix-ui-react-focus-guards-D5MZ0nQs.js";import"./vendor-react-remove-scroll-CfeMe0DL.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-C9YRs2nU.js";import"./vendor-react-style-singleton-B1H4bWSG.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-C-AuTczP.js";import"./vendor-use-callback-ref-CJB0R85I.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-lang-javascript-BUlYhQ3o.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-autocomplete-BS2SpSAZ.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-codemirror-lang-json-CqayksDf.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-Ba8JZ6fp.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-DK27qQri.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-CvO36Y1p.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-x89A7Wy0.js";import"./vendor-codemirror-lang-python-_2bIYTiJ.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-tanstack-react-virtual-IrbCBGJ4.js";import"./vendor-tanstack-virtual-core-Dubg10g5.js";import"./vendor-framer-motion-DJASDzNt.js";import"./vendor-motion-dom-DJLgZh4Q.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./vendor-sonner-CW8w438f.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./permissionStore-BRcQ9Jgt.js";import"./web-components-BEPfE4kU.js";import"./computeVirtualFileMetrics-C7vXPUYT.js";import"./vendor-shiki-Bbf2GEcE.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-shikijs-engine-oniguruma-DPWuIF1G.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-engine-javascript-Cme4830A.js";import"./vendor-oniguruma-to-es-DLBnFDCE.js";import"./vendor-oniguruma-parser-C0D4_9rT.js";import"./vendor-regex-BBWcyTkg.js";import"./vendor-regex-utilities-2BQyy0xI.js";import"./vendor-regex-recursion-JU4mF-dD.js";import"./vendor-shikijs-transformers-CZWsLLKm.js";import"./Virtualizer-BxW2CJGB.js";import"./isFilePlainText-CLgIdzE5.js";import"./registerCustomTheme-BBXUCRnG.js";import"./vendor-react-drawio-Boqanm0j.js";import"./collapsible-CR4U9tjw.js";function ki(r){const{drafts:a,editingDraftId:u,commentText:f,onTextChange:x,selection:p,isDragging:b,fileLabel:g,newWidgetId:y,mapDraftToRange:E,onSave:k,onCancel:L,onEdit:M,onDelete:R}=r,P=[];for(const o of a){const K=E(o);if(o.id===u){P.push({afterLine:K.end,id:`edit-${o.id}`,content:t.jsx(_s,{initialText:f,onTextChange:x,fileLabel:g,lineRange:K,isEditing:!0,onSave:k,onCancel:L},`edit-${o.id}`)});continue}P.push({afterLine:K.end,id:`card-${o.id}`,content:t.jsx(yi,{draft:o,onEdit:()=>M(o),onDelete:()=>R(o)},`card-${o.id}`)})}if(p&&!u&&!b){const o={...p,start:Math.min(p.start,p.end),end:Math.max(p.start,p.end)};P.push({afterLine:o.end,id:y,content:t.jsx(_s,{initialText:f,onTextChange:x,fileLabel:g,lineRange:o,isEditing:!1,onSave:k,onCancel:L},y)})}return P}const Ci=r=>r!==null&&typeof r=="object"&&"updateStatus"in r&&typeof r.updateStatus=="function",Si=r=>{const a=document.createElement("div");a.className="cm-vim-panel";const u=hi(r);if(!u)return{top:!1,dom:a};u.state.statusbar=a;const f=u.state.vimPlugin;return Ci(f)&&f.updateStatus(),{top:!1,dom:a,destroy(){u.state.statusbar===a&&(u.state.statusbar=null)}}};function qs(r){return r?[pi(),ti.of(Si),ri()]:[]}const Fi={next:"Next match",prev:"Previous match",select:"Select all matches",replace:"Replace",replaceAll:"Replace all",close:"Close"},Ei={case:"Match case",re:"Regular expression",word:"Match whole word"};function Ri(r){const a=r.querySelector(".cm-search");if(a){for(const[u,f]of Object.entries(Fi)){const x=a.querySelector(`button[name="${u}"]`);x&&!x.title&&(x.title=f)}for(const[u,f]of Object.entries(Ei)){const p=a.querySelector(`input[name="${u}"]`)?.parentElement;p&&!p.title&&(p.title=f)}}}const ln=new WeakMap;function zi(r,a){const u=wr(r.state);if(!u.valid)return ln.delete(r),0;const f=ln.get(r);if(!a&&f?.doc===r.state.doc&&f.query.eq(u))return f.total;const x=u.getCursor(r.state);let p=0;for(let b=x.next();!b.done;b=x.next())p+=1;return ln.set(r,{query:u,doc:r.state.doc,total:p}),p}function Di(r){const a=wr(r.state);if(!a.valid)return 0;const u=r.state.selection.main,f=a.getCursor(r.state);let x=0,p=0;for(let b=f.next();!b.done;b=f.next()){const g=b.value;if(x+=1,p===0&&(p=x),u.from===g.from&&u.to===g.to||u.from<g.to&&u.to>g.from||g.from>=u.head)return x}return p}function Hs(r,a,u=!1){const f=r.querySelector(".cm-search");if(!f)return;let x=f.querySelector(".cm-search-message");if(!x){x=document.createElement("span"),x.className="cm-search-message",x.setAttribute("aria-live","polite");const g=f.querySelector('button[name="next"]'),y=g?.parentNode===f?g:f.firstChild;f.insertBefore(x,y)}const p=zi(a,u),b=p===0?0:Di(a);x.textContent=p===0?"":`${b}/${p}`}const Ks=new ut,Gs=new ut,Us=new ut,Js=new ut,Ys=new ut,Qs=new ut,Xs=new ut,Zs=r=>r,un=ui,Pi=fi,Mi=mi;class Ti extends si{constructor(a,u){super(),this.id=a,this.containerMap=u}toDOM(){let a=this.containerMap.get(this.id);return a||(a=document.createElement("div"),a.className="oc-block-widget",a.dataset.widgetId=this.id,this.containerMap.set(this.id,a)),a}eq(a){return a.id===this.id}destroy(){}}const ea=(r,a)=>!r||r.length===0?[]:xa.define({create(u){const f=new xn,x=[...r].sort((p,b)=>p.afterLine-b.afterLine);for(const p of x){const b=u.doc.lines;if(p.afterLine>b)continue;const g=u.doc.line(p.afterLine);f.add(g.to,g.to,yr.widget({widget:new Ti(p.id,a),block:!0,side:1}))}return f.finish()},update(u,f){return u.map(f.changes)},provide:u=>se.decorations.from(u)}),ta=r=>{if(!r)return[];const a=Math.max(1,r.start),u=Math.max(a,r.end);return va.fromClass(class{decorations;constructor(f){this.decorations=this.build(f)}update(f){(f.docChanged||f.viewportChanged)&&(this.decorations=this.build(f.view))}build(f){const x=new xn;for(let p=a;p<=u&&p<=f.state.doc.lines;p+=1){const b=f.state.doc.line(p);x.add(b.from,b.from,yr.line({class:"oc-cm-selected-line"}))}return x.finish()}},{decorations:f=>f.decorations})};function ra({value:r,onChange:a,extensions:u,className:f,readOnly:x,lineNumbersConfig:p,highlightLines:b,onViewReady:g,onViewDestroy:y,blockWidgets:E,enableSearch:k,searchOpen:L,onSearchOpenChange:M,vimMode:R}){const P=n.useRef(null),o=n.useRef(null),K=n.useRef(r),xe=n.useRef(a),de=n.useRef(g),B=n.useRef(y),Ne=n.useRef(M),ae=n.useRef(E),Re=n.useRef(R),Oe=n.useRef(new Map),[dt,G]=n.useState([]),V=n.useCallback(w=>{const U=(w??[]).map(N=>{const T=Oe.current.get(N.id);return T?{id:N.id,content:N.content,container:T}:null}).filter(N=>N!==null);G(N=>N.length===U.length&&N.every((T,C)=>{const oe=U[C];return T.id===oe.id&&T.content===oe.content&&T.container===oe.container})?N:U)},[]),fe=n.useCallback(w=>{const U=P.current,N=w??o.current;if(!U||!N)return;const T=N.dom.querySelector(".cm-gutters"),C=T instanceof HTMLElement?T.getBoundingClientRect().width:0;U.style.setProperty("--oc-editor-gutter-width",`${C}px`)},[]);return n.useEffect(()=>{K.current=r},[r]),n.useEffect(()=>{xe.current=a},[a]),n.useEffect(()=>{de.current=g,B.current=y},[g,y]),n.useEffect(()=>{Ne.current=M},[M]),n.useEffect(()=>{ae.current=E,V(E)},[E,V]),n.useEffect(()=>{if(!P.current)return;const w=(()=>{if(typeof document>"u")return null;const N=document.querySelector('meta[name="csp-nonce"]')?.getAttribute("content");if(N)return N;const T=window.__PICHAMBER_CSP_NONCE__;return typeof T=="string"&&T.length>0?T:null})(),U=Xo.create({doc:K.current,extensions:[...w?[se.cspNonce.of(w)]:[],ni({fixed:!0}),Ks.of(As(p)),ai(),li.of(" "),Xs.of(qs(R)),cn.of([oi,...ii,...ci]),se.updateListener.of(N=>{fe(N.view),(N.viewportChanged||N.geometryChanged)&&V(ae.current);const T=Bs(N.startState),C=Bs(N.state);T!==C&&Ne.current?.(C);const oe=!wr(N.startState).eq(wr(N.state));if(C&&(T!==C||oe||N.docChanged||N.selectionSet)&&Hs(N.view.dom,N.view,T!==C||oe||N.docChanged),!N.docChanged)return;const O=N.state.doc.toString();K.current=O,xe.current(O),V(ae.current)}),Gs.of(se.editable.of(!x)),Us.of(u??[]),Js.of(ta(b)),Ys.of(ea(E,Oe.current)),Qs.of(k?[$s({top:!0}),cn.of(Zs(Vs))]:[])]});return o.current=new se({state:U,parent:P.current}),un(o.current,o.current.state.doc.length,200),o.current.requestMeasure(),requestAnimationFrame(()=>{fe(o.current),V(ae.current)}),o.current&&de.current?.(o.current),()=>{B.current?.(),o.current?.destroy(),o.current=null,G([])}},[ae,fe,V]),n.useEffect(()=>{const w=o.current;w&&(w.dispatch({effects:[Ks.reconfigure(As(p)),Gs.reconfigure(se.editable.of(!x)),Us.reconfigure(u??[]),Js.reconfigure(ta(b)),Ys.reconfigure(ea(E,Oe.current)),Qs.reconfigure(k?[$s({top:!0}),cn.of(Zs(Vs))]:[])]}),un(w,w.state.doc.length,200),w.requestMeasure(),requestAnimationFrame(()=>{fe(w),V(ae.current)}))},[u,b,p,x,E,k,fe,V]),n.useEffect(()=>{const w=o.current;if(!w){Re.current=R;return}Re.current!==R&&(Re.current=R,w.dispatch({effects:Xs.reconfigure(qs(R))}))},[R]),n.useEffect(()=>{const w=o.current;!w||k===!1||(L?(Pi(w),requestAnimationFrame(()=>{Ri(w.dom),Hs(w.dom,w,!0)})):Mi(w))},[L,k]),n.useEffect(()=>{const w=o.current;if(!w)return;const U=w.state.doc.toString();U!==r&&(w.dispatch({changes:{from:0,to:U.length,insert:r}}),un(w,w.state.doc.length,300),w.requestMeasure(),requestAnimationFrame(()=>fe(w)))},[r,fe]),t.jsxs(t.Fragment,{children:[t.jsx("div",{ref:P,className:$("h-full w-full","[&_.cm-editor]:h-full [&_.cm-editor]:w-full","[&_.cm-scroller]:font-mono [&_.cm-scroller]:text-[var(--text-code)] [&_.cm-scroller]:leading-6","[&_.cm-lineNumbers]:text-[var(--tools-edit-line-number)]",f)}),dt.map(w=>bo.createPortal(w.content,w.container,w.id))]})}const Li=(r,a)=>{if(!a)return null;const u=Number.parseInt(r.trim(),10);return!Number.isFinite(u)||u<1?null:Math.min(u,a.state.doc.lines)},na=(r,a)=>{const u=r.state.doc.lineAt(a.main.head);return{lineNumber:u.number,character:a.main.head-u.from+1,selection:a}},sa=(r,a,u)=>{const f=r.state.doc.line(a),x=Math.max(1,Math.min(u,f.length+1)),p=f.from+x-1;r.dispatch({selection:Zo.cursor(p),effects:se.scrollIntoView(p,{y:"center"})})};function Oi({open:r,onOpenChange:a,view:u,variant:f="overlay"}){const[x,p]=n.useState(""),b=n.useRef(null),g=n.useRef(!1),y=n.useRef(null),E=n.useRef(null),k=n.useMemo(()=>Li(x,u),[x,u]);n.useEffect(()=>{!r||!u||(g.current=!1,b.current=na(u,u.state.selection),p(""))},[r,u]),n.useEffect(()=>{r&&window.requestAnimationFrame(()=>{E.current?.focus(),E.current?.select()})},[r]),n.useEffect(()=>{if(!(!r||!u||!b.current)){if(k===null){const{selection:o}=b.current;u.dispatch({selection:o,effects:se.scrollIntoView(o.main.from,{y:"center"})});return}sa(u,k,b.current.character)}},[k,r,u]);const L=n.useCallback(()=>{if(!u||g.current||!b.current)return;const{selection:o}=b.current;u.dispatch({selection:o,effects:se.scrollIntoView(o.main.from,{y:"center"})})},[u]),M=n.useCallback(o=>{o||L(),a(o)},[a,L]),R=n.useCallback(()=>{!u||k===null||!b.current||(g.current=!0,sa(u,k,b.current.character),a(!1),u.focus())},[k,a,u]);n.useEffect(()=>{if(!r)return;const o=xe=>{const de=y.current,B=xe.target;!de||!(B instanceof Node)||de.contains(B)||M(!1)},K=xe=>{xe.key==="Escape"&&(xe.preventDefault(),M(!1))};return document.addEventListener("pointerdown",o,!0),document.addEventListener("keydown",K,!0),()=>{document.removeEventListener("pointerdown",o,!0),document.removeEventListener("keydown",K,!0)}},[M,r,f]);const P=n.useMemo(()=>u?k===null?`Current Line: ${(b.current??na(u,u.state.selection)).lineNumber}. Type a line number between 1 and ${u.state.doc.lines} to navigate to.`:`Go to line ${k}`:"Editor unavailable.",[k,u]);return f==="inline"?r?t.jsxs("div",{ref:y,className:"ml-1 flex h-6 items-center gap-1",children:[t.jsx(vr,{ref:E,type:"number",min:1,step:1,inputMode:"numeric",value:x,onChange:o=>p(o.target.value),onKeyDown:o=>{o.key==="Enter"&&(o.preventDefault(),R())},placeholder:"Line",className:"h-6 w-20 rounded-md border-border/70 bg-transparent px-2 typography-meta"}),t.jsx(S,{variant:"outline",size:"xs",onClick:R,disabled:!u||k===null,className:"h-6 px-2",children:"Go"})]}):null:t.jsx("div",{ref:y,className:$("absolute left-3 top-3 z-40 w-[min(32rem,calc(100%-1.5rem))] rounded-xl border border-[var(--interactive-border)] bg-[color:color-mix(in_srgb,var(--surface-elevated)_94%,transparent)] p-2.5 shadow-lg backdrop-blur-sm transition-all",r?"pointer-events-auto translate-y-0 opacity-100":"pointer-events-none -translate-y-1 opacity-0"),children:t.jsxs("div",{className:"min-w-0",children:[t.jsx(vr,{ref:E,type:"number",min:1,step:1,inputMode:"numeric",value:x,onChange:o=>p(o.target.value),onKeyDown:o=>{o.key==="Enter"&&(o.preventDefault(),R())},placeholder:"Line number",className:"h-8 w-full rounded-md border-border/70 bg-background/60 typography-ui-label"}),t.jsx("div",{className:"mt-2 rounded-md bg-primary/15 px-3 py-1.5 typography-ui-label text-foreground/95",children:P})]})})}const dn=({currentMode:r,onToggle:a})=>{const u=r==="preview",f=u?"Switch to edit mode":"Switch to preview mode",x=u?"Edit":"Preview";return t.jsxs(Ye,{children:[t.jsx(Qe,{asChild:!0,children:t.jsx(S,{variant:"ghost",size:"sm",onClick:a,"aria-label":f,className:"h-5 w-5 p-0",children:u?t.jsx(v,{name:"eye",className:"size-4","aria-hidden":"true"}):t.jsx(v,{name:"eye-off",className:"size-4","aria-hidden":"true"})})}),t.jsx(Xe,{sideOffset:8,children:x})]})};function aa(r,a){const u=r.metadata.variant==="dark",f=r.config?.fonts?.mono||"monospace",x=r.colors.syntax.highlights||{},p=r.colors.syntax.tokens||{},b=a?.fontSize?`${a.fontSize}px`:"var(--text-code)",g=se.theme({"&":{backgroundColor:"var(--background)",color:r.colors.syntax.base.foreground,fontSize:b,lineHeight:"1.5",position:"relative"},".cm-scroller":{fontFamily:f,backgroundColor:"var(--background)"},".cm-comment":{color:r.colors.syntax.base.comment},".cm-keyword":{color:r.colors.syntax.base.keyword},".cm-string":{color:r.colors.syntax.base.string},".cm-string-2":{color:p.stringEscape||r.colors.syntax.base.string},".cm-number":{color:r.colors.syntax.base.number},".cm-operator":{color:r.colors.syntax.base.operator},".cm-punctuation":{color:p.punctuation||r.colors.syntax.base.comment},".cm-atom":{color:p.boolean||r.colors.syntax.base.number},".cm-builtin":{color:p.functionCall||r.colors.syntax.base.function},".cm-def":{color:p.variableGlobal||r.colors.syntax.base.variable},".cm-attribute":{color:p.variableOther||p.variableProperty||r.colors.syntax.base.operator},".cm-meta":{color:r.colors.syntax.base.comment},".cm-property":{color:p.variableProperty||r.colors.syntax.base.keyword},".cm-variable":{color:r.colors.syntax.base.variable},".cm-variable-2":{color:p.variableOther||r.colors.syntax.base.function},".cm-variable-3":{color:p.variableGlobal||r.colors.syntax.base.type},".cm-tag":{color:p.tag||r.colors.syntax.base.keyword},".cm-link":{color:p.url||r.colors.syntax.base.keyword,textDecoration:"underline"},".cm-content":{caretColor:r.colors.interactive.cursor},".cm-cursor, .cm-dropCursor":{borderLeftColor:r.colors.interactive.cursor},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:r.colors.interactive.selection},".cm-gutters":{backgroundColor:"var(--background)",color:x.lineNumber||r.colors.syntax.base.comment,borderRight:`1px solid ${r.colors.interactive.border}`,position:"sticky",paddingRight:"8px",left:0,zIndex:2,boxShadow:"0 0 0 var(--background)"},".cm-gutter":{backgroundColor:"var(--background)"},".cm-gutterElement":{backgroundColor:"var(--background)"},".cm-lineNumbers":{backgroundColor:"var(--background)"},".cm-lineNumbers .cm-gutterElement":{paddingLeft:"8px",paddingRight:"8px",minWidth:"42px"},".cm-activeLineGutter":{color:x.lineNumberActive||r.colors.syntax.base.foreground},".cm-activeLine":{backgroundColor:r.colors.surface.overlay},".cm-panels":{backgroundColor:"transparent",color:r.colors.surface.foreground,position:"absolute",top:"0",right:"0",left:"auto",width:"auto",zIndex:10,pointerEvents:"none"},".cm-panels-top":{borderBottom:"none",position:"absolute",top:"6px",right:"14px",left:"auto",width:"auto"},".cm-panels-bottom":{position:"static",width:"100%",pointerEvents:"auto"},".cm-panels-bottom .cm-vim-panel":{borderTop:`1px solid ${r.colors.interactive.border}`,backgroundColor:r.colors.surface.elevated,color:r.colors.surface.mutedForeground,fontFamily:"var(--font-mono)",fontSize:"12px",minHeight:"22px",padding:"2px 8px"},".cm-panel.cm-search":{pointerEvents:"auto",padding:"4px",backgroundColor:`color-mix(in srgb, ${r.colors.surface.elevated} 85%, transparent)`,border:`1px solid ${r.colors.interactive.border}`,borderRadius:"10px",boxShadow:`0 2px 8px color-mix(in srgb, ${r.colors.surface.background} 60%, transparent)`,width:"auto",minWidth:"360px",maxWidth:"480px"},".cm-search":{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0",width:"100%",color:r.colors.surface.foreground,fontFamily:"inherit",fontSize:"13px",lineHeight:"1"},".cm-search br":{display:"none"},".cm-search .cm-textfield":{appearance:"none",height:"26px",margin:0,padding:"0 8px",borderRadius:"6px !important",border:`1px solid ${r.colors.interactive.border}`,backgroundColor:r.colors.surface.background,color:r.colors.surface.foreground,fontFamily:"inherit",fontSize:"12px",lineHeight:"1",outline:"none",transition:"border-color 150ms ease"},".cm-search .cm-textfield::placeholder":{color:r.colors.surface.mutedForeground,opacity:1},".cm-search .cm-textfield:focus":{borderColor:r.colors.primary.base},'.cm-search .cm-textfield[name="search"]':{order:1,flex:"1 1 120px",maxWidth:"calc(100% - 142px)",minWidth:"100px"},".cm-search label":{order:2,display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:0,marginLeft:"1px",padding:0,borderRadius:"4px",border:"1px solid transparent",backgroundColor:"transparent",color:"transparent",cursor:"pointer",userSelect:"none",fontSize:"1px",lineHeight:"0",overflow:"hidden",position:"relative",transition:"background-color 120ms ease, border-color 120ms ease"},".cm-search label:hover":{backgroundColor:r.colors.interactive.hover},'.cm-search label:has(input[type="checkbox"]:checked)':{backgroundColor:r.colors.interactive.hover,borderColor:r.colors.interactive.border},'.cm-search [type="checkbox"]':{appearance:"none",WebkitAppearance:"none",width:"0",height:"0",margin:"0",padding:"0",border:"none",position:"absolute",opacity:"0",pointerEvents:"none"},".cm-search label::after":{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"13px",fontWeight:"600",lineHeight:"1",fontFamily:"inherit",color:r.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search label:hover::after":{color:r.colors.surface.foreground},'.cm-search label:has(input[type="checkbox"]:checked)::after':{color:r.colors.surface.foreground},'.cm-search label:has(input[name="case"])::after':{content:'"Aa"',fontSize:"12px",letterSpacing:"-0.5px"},'.cm-search label:has(input[name="re"])::after':{content:'".*"',fontSize:"13px",fontFamily:"monospace"},'.cm-search label:has(input[name="word"])::after':{content:'"ab"',fontSize:"12px",textDecoration:"underline",textUnderlineOffset:"2px"},".cm-search .cm-search-message":{order:3,color:r.colors.surface.mutedForeground,backgroundColor:"transparent",border:"none",borderRadius:"0",padding:"0 6px",fontSize:"11px",whiteSpace:"nowrap",lineHeight:"26px"},".cm-search .cm-button":{appearance:"none",WebkitAppearance:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:0,marginLeft:"1px",padding:0,borderRadius:"4px",border:"none",backgroundColor:"transparent",backgroundImage:"none",color:"transparent",cursor:"pointer",fontSize:"1px",fontWeight:"400",lineHeight:"0",overflow:"hidden",position:"relative",boxShadow:"none",transition:"background-color 120ms ease"},".cm-search .cm-button::after":{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"15px",lineHeight:"1",color:r.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search .cm-button:hover":{backgroundColor:r.colors.interactive.hover},".cm-search .cm-button:hover::after":{color:r.colors.surface.foreground},".cm-search .cm-button:active":{backgroundColor:r.colors.interactive.active},".cm-search .cm-button:focus-visible":{outline:"none",boxShadow:`0 0 0 1px ${r.colors.interactive.focusRing}`},".cm-search .cm-button:disabled":{opacity:.4,cursor:"default",pointerEvents:"none"},'.cm-search .cm-button[name="prev"]':{order:21,marginTop:"2px"},'.cm-search .cm-button[name="prev"]::after':{content:'"↑"'},'.cm-search .cm-button[name="next"]':{order:22,marginTop:"2px"},'.cm-search .cm-button[name="next"]::after':{content:'"↓"'},'.cm-search .cm-button[name="select"]':{order:23,marginTop:"2px"},'.cm-search .cm-button[name="select"]::after':{content:'"≡"',fontSize:"17px"},'.cm-panel.cm-search button[name="close"]':{order:5,appearance:"none",WebkitAppearance:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:"0 0 0 auto",padding:"0",borderRadius:"4px",border:"none",backgroundColor:"transparent",backgroundImage:"none",color:r.colors.surface.mutedForeground,cursor:"pointer",fontSize:"16px",lineHeight:"1",boxShadow:"none",position:"relative",overflow:"visible",transition:"background-color 120ms ease, color 120ms ease"},'.cm-panel.cm-search button[name="close"]:hover':{backgroundColor:r.colors.interactive.hover,color:r.colors.surface.foreground},'.cm-search .cm-button[name="replace"]':{order:24,marginTop:"2px"},'.cm-search .cm-button[name="replace"]::after':{content:'"⇄"'},'.cm-search .cm-button[name="replaceAll"], .cm-search .cm-button[name="replace-all"]':{order:25,marginTop:"2px"},'.cm-search .cm-button[name="replaceAll"]::after, .cm-search .cm-button[name="replace-all"]::after':{content:'"⇉"'},'.cm-search .cm-textfield[name="replace"]':{order:20,flex:"1 1 100%",maxWidth:"calc(100% - 142px)",minWidth:"80px",marginTop:"2px"},".cm-searchMatch":{backgroundColor:r.colors.status.infoBackground,boxShadow:`inset 0 0 0 1px ${r.colors.status.infoBorder}`,borderRadius:"2px"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:r.colors.interactive.selection,color:r.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${r.colors.interactive.borderFocus}`},"&.cm-focused":{outline:"none"}},{dark:u}),y=Is.define([{tag:[d.comment,d.docComment,d.meta,d.documentMeta],class:"cm-comment"},{tag:[d.keyword,d.controlKeyword,d.moduleKeyword,d.definitionKeyword,d.modifier],class:"cm-keyword"},{tag:[d.operatorKeyword,d.operator,d.derefOperator,d.updateOperator,d.definitionOperator,d.typeOperator,d.controlOperator,d.logicOperator,d.bitwiseOperator,d.arithmeticOperator,d.compareOperator],class:"cm-operator"},{tag:[d.punctuation,d.separator,d.bracket,d.paren,d.brace,d.squareBracket,d.angleBracket],class:"cm-punctuation"},{tag:[d.string,d.regexp,d.attributeValue,d.special(d.string),d.monospace],class:"cm-string"},{tag:d.escape,class:"cm-string-2"},{tag:[d.number,d.bool,d.atom,d.null,d.self],class:"cm-number"},{tag:[d.function(d.variableName),d.function(d.definition(d.variableName)),d.function(d.propertyName),d.standard(d.variableName),d.special(d.variableName)],class:"cm-builtin"},{tag:d.definition(d.variableName),class:"cm-def"},{tag:[d.variableName,d.local(d.variableName),d.constant(d.variableName),d.literal],class:"cm-variable"},{tag:d.propertyName,class:"cm-property"},{tag:d.attributeName,class:"cm-attribute"},{tag:[d.className,d.typeName,d.namespace],class:"cm-variable-3"},{tag:[d.tagName,d.labelName,d.annotation,d.macroName],class:"cm-tag"},{tag:d.link,class:"cm-link"},{tag:[d.heading,d.heading1,d.heading2,d.heading3,d.heading4,d.heading5,d.heading6],class:"cm-keyword"}]),E=Is.define([{tag:[d.comment,d.docComment,d.meta,d.documentMeta],color:r.colors.syntax.base.comment},{tag:[d.keyword,d.controlKeyword,d.moduleKeyword,d.definitionKeyword,d.modifier],color:r.colors.syntax.base.keyword},{tag:[d.operatorKeyword,d.operator,d.derefOperator,d.updateOperator,d.definitionOperator,d.typeOperator,d.controlOperator,d.logicOperator,d.bitwiseOperator,d.arithmeticOperator,d.compareOperator],color:r.colors.syntax.base.operator},{tag:[d.string,d.regexp,d.attributeValue,d.special(d.string),d.monospace],color:r.colors.syntax.base.string},{tag:d.escape,color:p.stringEscape||r.colors.syntax.base.string},{tag:[d.number,d.bool,d.atom,d.null,d.self],color:r.colors.syntax.base.number},{tag:[d.function(d.variableName),d.function(d.definition(d.variableName)),d.function(d.propertyName),d.standard(d.variableName),d.special(d.variableName)],color:r.colors.syntax.base.function},{tag:d.definition(d.variableName),color:p.variableGlobal||r.colors.syntax.base.variable},{tag:[d.variableName,d.local(d.variableName),d.constant(d.variableName),d.literal],color:r.colors.syntax.base.variable},{tag:d.propertyName,color:p.variableProperty||r.colors.syntax.base.variable},{tag:d.attributeName,color:p.variableOther||r.colors.syntax.base.variable},{tag:[d.className,d.typeName,d.namespace],color:r.colors.syntax.base.type},{tag:[d.tagName,d.labelName,d.annotation,d.macroName],color:p.tag||r.colors.syntax.base.keyword},{tag:d.link,color:p.url||r.colors.syntax.base.function,textDecoration:"underline"},{tag:[d.punctuation,d.separator,d.bracket,d.paren,d.brace,d.squareBracket,d.angleBracket],color:p.punctuation||r.colors.syntax.base.comment}]);return a?.syntaxColors===!1?[g]:[g,pr(di,{fallback:!0}),pr(vi),pr(y),pr(E)]}const Ai=180,ba=ei.define(),Ii=1,Bi=2,$i=4,oa=new Map,Vi=(r,a)=>{const u=`${r}|${a}`,f=oa.get(u);if(f)return f;let x="";r&&(x+=`color:${r};`),a&Ii&&(x+="font-style:italic;"),a&Bi&&(x+="font-weight:bold;"),a&$i&&(x+="text-decoration:underline;");const p=yr.mark({attributes:{style:x}});return oa.set(u,p),p},Wi=(r,a)=>{const u=new xn,f=r.state.doc,x=Math.min(a.length,f.lines);for(let p=0;p<x;p+=1){const b=a[p];if(!b||b.length===0)continue;const g=f.line(p+1);let y=g.from;for(const[E,k,L]of b){if(E<=0)continue;const M=y,R=Math.min(y+E,g.to);y+=E,!(R<=M)&&(!k&&!L||u.add(M,R,Vi(k,L)))}}return u.finish()},_i=xa.define({create(){return yr.none},update(r,a){let u=r.map(a.changes);for(const f of a.effects)f.is(ba)&&(u=f.value);return u},provide:r=>se.decorations.from(r)}),qi=r=>va.fromClass(class{timer;generation=0;constructor(a){this.tokenize(a)}update(a){a.docChanged&&this.schedule(a.view)}schedule(a){this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=void 0,this.tokenize(a)},Ai)}async tokenize(a){const u=++this.generation,f=a.state.doc.toString(),x=await zo(f,r.language,r.themeName,r.theme);x&&u===this.generation&&a.state.doc.length===f.length&&a.dispatch({effects:ba.of(Wi(a,x))})}destroy(){this.timer&&clearTimeout(this.timer)}}),Hi=r=>[_i,qi(r)];function Ki(r){return!(!r.autoSaveEnabled||!r.isDirty||!r.canWrite||r.isSaving||r.fileLoading||r.isNonEditableBinary||!r.selectedFilePath||r.loadedFilePath!==r.selectedFilePath)}function Gi(r){return r.selectedFilePath?r.isDirty?!(r.fileLoading||r.loadedFilePath!==r.selectedFilePath||r.isNonEditableBinary||r.draftContent===""&&r.fileContent!==""&&r.loadedFilePath!==r.selectedFilePath):!0:!1}const Ui=r=>{const a=I(r);if(!a)return"";if(a==="/"||/^[A-Za-z]:\/$/.test(a))return a;const u=a.lastIndexOf("/");if(u<0)return a;if(u===0)return"/";const f=a.slice(0,u);return/^[A-Za-z]:$/.test(f)?`${f}/`:f},Ji=({label:r,iconDataUrl:a})=>{const[u,f]=n.useState(!1),x=r.trim().slice(0,1).toUpperCase()||"?";return a&&!u?t.jsx("img",{src:a,alt:"",className:"size-4 rounded-sm",onError:()=>f(!0)}):t.jsx("span",{className:$("size-4 rounded-sm flex items-center justify-center","bg-[var(--surface-muted)] text-[9px] font-medium text-muted-foreground"),children:x})},Yi=r=>r.slice().sort((a,u)=>a.type!==u.type?a.type==="directory"?-1:1:a.name.localeCompare(u.name)),I=r=>{if(!r)return"";const a=r.replace(/\\/g,"/"),u=a.startsWith("//");let f=a.replace(/\/+/g,"/");u&&!f.startsWith("//")&&(f=`/${f}`);const x=f==="/",p=/^[A-Za-z]:\/$/.test(f);return!x&&!p&&(f=f.replace(/\/+$/,"")),f},Qi=r=>r.startsWith("/")||r.startsWith("//")||/^[A-Za-z]:\//.test(r),Et=r=>/^[A-Za-z]:\//.test(r)?r.toLowerCase():r,Ht=(r,a)=>{const u=I(a),f=I(r);if(!u||!f)return!1;const x=Et(u),p=Et(f);return p===x||p.startsWith(`${x}/`)},ia=(r,a)=>{const u=I(a),f=I(r);if(!Ht(f,u))return[];const p=f.slice(u.length).replace(/^\//,"").split("/"),b=[];let g=u;for(let y=0;y<p.length-1;y++)g=g?`${g}/${p[y]}`:p[y],b.push(g);return b},xr=(r,a)=>{if(!a)return"";const u=I(a);if(!r||!Ht(u,r))return u;const f=u.slice(r.length);return f.startsWith("/")?f.slice(1):f},Xi=new Set(["node_modules"]),Zi=({status:r})=>{const a={open:"var(--status-info)",modified:"var(--status-warning)","git-modified":"var(--status-warning)","git-added":"var(--status-success)","git-deleted":"var(--status-error)"}[r];return t.jsx("span",{className:"size-2 rounded-full",style:{backgroundColor:a}})},ca=({name:r})=>{const a=n.useRef(null),u=n.useRef(null),[f,x]=n.useState(!1);return n.useLayoutEffect(()=>{const p=a.current,b=u.current;if(!p||!b)return;const g=()=>{x(b.scrollWidth>p.clientWidth+1)};g();const y=new ResizeObserver(g);return y.observe(p),y.observe(b),()=>{y.disconnect()}},[r]),t.jsxs("span",{ref:a,className:"relative block min-w-0 flex-1 overflow-hidden whitespace-nowrap",children:[t.jsx("span",{ref:u,"aria-hidden":"true",className:"invisible absolute whitespace-nowrap",children:r}),f?t.jsxs("span",{className:"open-file-name-marquee-track",children:[t.jsx("span",{className:"open-file-name-marquee-item",children:r}),t.jsx("span",{className:"open-file-name-marquee-item","aria-hidden":"true",children:r})]}):t.jsx("span",{className:"block min-w-0 truncate",children:r})]})},ec=r=>Xi.has(r),tc=r=>{const a=I(r);return a==="node_modules"||a.endsWith("/node_modules")||a.includes("/node_modules/")},rc=r=>{const u=(r instanceof Error?r.message:String(r??"")).toLowerCase();return u.includes("is a directory")||u.includes("eisdir")},la=r=>{const u=(r instanceof Error?r.message:String(r??"")).toLowerCase();return u.includes("file not found")||u.includes("enoent")||u.includes("no such file")||u.includes("does not exist")},qt=2e5,nc=r=>{let a=0,u=0;for(let f=0;f<r.length;f+=1)r.charCodeAt(f)===10&&(f>0&&r.charCodeAt(f-1)===13?a+=1:u+=1);return a>u?`\r
|
|
1
|
+
import{j as t,R as n,b as bo}from"./vendor-react-DYyjh7Q0.js";import{z as wo,A as yo,B as jo,C as No,L as Es,o as Ee,u as ue,bH as ko,a7 as Rs,D as Co,r as zs,G as rn,e as So,bI as Fo,F as Eo,bJ as Ro}from"./index-BAqpUCjs.js";import{f as $,Y as vr,B as S,T as Ye,q as Qe,I as v,s as Xe,dy as zo,C as Do,aL as Po,aQ as Mo,E as To,G as Lo,ax as Oo,dz as Ds,t as A,a5 as Ao,V as nn,dv as fr,a_ as Io,dA as sn,W as Ps,dB as Ms,dw as Ts,dx as Bo,dC as $o,dD as Vo,b2 as Wo,dE as Ls,D as da,w as fa,x as ma,y as pa,z as ha,A as ga,as as pn,at as hn,F as hr,au as gn,az as gr,ay as an,X as on,bf as Os,cQ as _o,cR as qo,dF as _t,av as br,aw as Ho,aA as Ko}from"./SessionSwitcherDropdown-o1RjhCfF.js";import{E as mr,p as Go,q as Uo,t as Jo,v as Yo,w as Qo}from"./usePanelSlide-a4c67FIY.js";import{E as Xo,o as ut,k as xn,i as xa,a as Zo,S as ei}from"./vendor-codemirror-state-CNWM3Q8V.js";import{s as ti,d as ri,E as se,e as ni,f as As,k as cn,V as va,D as yr,W as si}from"./vendor-codemirror-view-DSzLbZiS.js";import{h as ai,k as oi,l as ii,j as ci}from"./vendor-codemirror-commands-RrgJ8H_6.js";import{i as li,y as ui,H as Is,x as pr,z as di}from"./vendor-codemirror-language-E2vgV9K3.js";import{a as Bs,g as wr,b as $s,c as Vs,o as fi,d as mi}from"./vendor-codemirror-search-8kyQdB3f.js";import{v as pi,g as hi}from"./vendor-replit-codemirror-vim-BJY5fGLS.js";import{F as gi,J as xi}from"./JsonTreeView-CoX1ZscV.js";import{a as d,c as vi}from"./vendor-lezer-highlight-CDMHUZ74.js";import{ensurePierreThemeRegistered as Ws,getResolvedShikiTheme as bi}from"./appThemeRegistry-BK0dHKa6.js";import{D as wi}from"./DiagramEditor-D1yc4joK.js";import{I as _s,a as yi,u as ji,n as Ni}from"./useInlineCommentController-DD31jQNC.js";import"./vendor-scheduler-7OC5HNn7.js";import"./vendor-zustand-CnsBKjP5.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-base-ui-DL8r2fgQ.js";import"./vendor-floating-ui-utils-BzXdqYpP.js";import"./vendor-floating-ui-react-dom-sVFnuruh.js";import"./vendor-floating-ui-dom-Bkw82kL9.js";import"./vendor-floating-ui-core-CXmKXOXc.js";import"./vendor-use-sync-external-store-B7OScDIw.js";import"./runtimeSurface-CkHYYg0E.js";import"./vendor-dnd-kit-core-GipZW2tY.js";import"./vendor-dnd-kit-utilities-CrOcp0Bp.js";import"./vendor-dnd-kit-accessibility-Cv52zwWT.js";import"./vendor-dnd-kit-sortable-Ct2QxIHb.js";import"./vendor-cmdk-BCEUzcHE.js";import"./vendor-radix-ui-react-dialog-jX3Dld8c.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-D1GnwnP9.js";import"./vendor-radix-ui-react-context-CM4yFQ2I.js";import"./vendor-radix-ui-react-id-BcxRjnbX.js";import"./vendor-radix-ui-react-use-layout-effect-0fyGwS2_.js";import"./vendor-radix-ui-react-use-controllable-state-C_ecoh35.js";import"./vendor-radix-ui-react-dismissable-layer-M7LsH3yL.js";import"./vendor-radix-ui-react-primitive-CfpW6_IT.js";import"./vendor-radix-ui-react-slot-BxUc3Pvz.js";import"./vendor-radix-ui-react-use-callback-ref-UKEWHtoP.js";import"./vendor-radix-ui-react-use-escape-keydown-Co13lHGj.js";import"./vendor-radix-ui-react-focus-scope-C2K7lNPv.js";import"./vendor-radix-ui-react-portal-xlJWBfDg.js";import"./vendor-radix-ui-react-presence-Btn-Dp7L.js";import"./vendor-radix-ui-react-focus-guards-D5MZ0nQs.js";import"./vendor-react-remove-scroll-CfeMe0DL.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-C9YRs2nU.js";import"./vendor-react-style-singleton-B1H4bWSG.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-C-AuTczP.js";import"./vendor-use-callback-ref-CJB0R85I.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-lang-javascript-BUlYhQ3o.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-autocomplete-BS2SpSAZ.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-codemirror-lang-json-CqayksDf.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-Ba8JZ6fp.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-DK27qQri.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-CvO36Y1p.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-Dp_Z-0GD.js";import"./vendor-codemirror-lang-python-_2bIYTiJ.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-tanstack-react-virtual-IrbCBGJ4.js";import"./vendor-tanstack-virtual-core-Dubg10g5.js";import"./vendor-framer-motion-DJASDzNt.js";import"./vendor-motion-dom-DJLgZh4Q.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./vendor-sonner-CW8w438f.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./permissionStore-BRcQ9Jgt.js";import"./web-components-Cct1r-wn.js";import"./computeVirtualFileMetrics-DdOCbMyK.js";import"./vendor-shiki-Bbf2GEcE.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-shikijs-engine-oniguruma-DPWuIF1G.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-engine-javascript-Cme4830A.js";import"./vendor-oniguruma-to-es-DLBnFDCE.js";import"./vendor-oniguruma-parser-C0D4_9rT.js";import"./vendor-regex-BBWcyTkg.js";import"./vendor-regex-utilities-2BQyy0xI.js";import"./vendor-regex-recursion-JU4mF-dD.js";import"./vendor-shikijs-transformers-CZWsLLKm.js";import"./Virtualizer-BxW2CJGB.js";import"./isFilePlainText-D4hgTRxT.js";import"./registerCustomTheme-BBXUCRnG.js";import"./vendor-react-drawio-Boqanm0j.js";import"./collapsible-Kx4bmsQM.js";function ki(r){const{drafts:a,editingDraftId:u,commentText:f,onTextChange:x,selection:p,isDragging:b,fileLabel:g,newWidgetId:y,mapDraftToRange:E,onSave:k,onCancel:L,onEdit:M,onDelete:R}=r,P=[];for(const o of a){const K=E(o);if(o.id===u){P.push({afterLine:K.end,id:`edit-${o.id}`,content:t.jsx(_s,{initialText:f,onTextChange:x,fileLabel:g,lineRange:K,isEditing:!0,onSave:k,onCancel:L},`edit-${o.id}`)});continue}P.push({afterLine:K.end,id:`card-${o.id}`,content:t.jsx(yi,{draft:o,onEdit:()=>M(o),onDelete:()=>R(o)},`card-${o.id}`)})}if(p&&!u&&!b){const o={...p,start:Math.min(p.start,p.end),end:Math.max(p.start,p.end)};P.push({afterLine:o.end,id:y,content:t.jsx(_s,{initialText:f,onTextChange:x,fileLabel:g,lineRange:o,isEditing:!1,onSave:k,onCancel:L},y)})}return P}const Ci=r=>r!==null&&typeof r=="object"&&"updateStatus"in r&&typeof r.updateStatus=="function",Si=r=>{const a=document.createElement("div");a.className="cm-vim-panel";const u=hi(r);if(!u)return{top:!1,dom:a};u.state.statusbar=a;const f=u.state.vimPlugin;return Ci(f)&&f.updateStatus(),{top:!1,dom:a,destroy(){u.state.statusbar===a&&(u.state.statusbar=null)}}};function qs(r){return r?[pi(),ti.of(Si),ri()]:[]}const Fi={next:"Next match",prev:"Previous match",select:"Select all matches",replace:"Replace",replaceAll:"Replace all",close:"Close"},Ei={case:"Match case",re:"Regular expression",word:"Match whole word"};function Ri(r){const a=r.querySelector(".cm-search");if(a){for(const[u,f]of Object.entries(Fi)){const x=a.querySelector(`button[name="${u}"]`);x&&!x.title&&(x.title=f)}for(const[u,f]of Object.entries(Ei)){const p=a.querySelector(`input[name="${u}"]`)?.parentElement;p&&!p.title&&(p.title=f)}}}const ln=new WeakMap;function zi(r,a){const u=wr(r.state);if(!u.valid)return ln.delete(r),0;const f=ln.get(r);if(!a&&f?.doc===r.state.doc&&f.query.eq(u))return f.total;const x=u.getCursor(r.state);let p=0;for(let b=x.next();!b.done;b=x.next())p+=1;return ln.set(r,{query:u,doc:r.state.doc,total:p}),p}function Di(r){const a=wr(r.state);if(!a.valid)return 0;const u=r.state.selection.main,f=a.getCursor(r.state);let x=0,p=0;for(let b=f.next();!b.done;b=f.next()){const g=b.value;if(x+=1,p===0&&(p=x),u.from===g.from&&u.to===g.to||u.from<g.to&&u.to>g.from||g.from>=u.head)return x}return p}function Hs(r,a,u=!1){const f=r.querySelector(".cm-search");if(!f)return;let x=f.querySelector(".cm-search-message");if(!x){x=document.createElement("span"),x.className="cm-search-message",x.setAttribute("aria-live","polite");const g=f.querySelector('button[name="next"]'),y=g?.parentNode===f?g:f.firstChild;f.insertBefore(x,y)}const p=zi(a,u),b=p===0?0:Di(a);x.textContent=p===0?"":`${b}/${p}`}const Ks=new ut,Gs=new ut,Us=new ut,Js=new ut,Ys=new ut,Qs=new ut,Xs=new ut,Zs=r=>r,un=ui,Pi=fi,Mi=mi;class Ti extends si{constructor(a,u){super(),this.id=a,this.containerMap=u}toDOM(){let a=this.containerMap.get(this.id);return a||(a=document.createElement("div"),a.className="oc-block-widget",a.dataset.widgetId=this.id,this.containerMap.set(this.id,a)),a}eq(a){return a.id===this.id}destroy(){}}const ea=(r,a)=>!r||r.length===0?[]:xa.define({create(u){const f=new xn,x=[...r].sort((p,b)=>p.afterLine-b.afterLine);for(const p of x){const b=u.doc.lines;if(p.afterLine>b)continue;const g=u.doc.line(p.afterLine);f.add(g.to,g.to,yr.widget({widget:new Ti(p.id,a),block:!0,side:1}))}return f.finish()},update(u,f){return u.map(f.changes)},provide:u=>se.decorations.from(u)}),ta=r=>{if(!r)return[];const a=Math.max(1,r.start),u=Math.max(a,r.end);return va.fromClass(class{decorations;constructor(f){this.decorations=this.build(f)}update(f){(f.docChanged||f.viewportChanged)&&(this.decorations=this.build(f.view))}build(f){const x=new xn;for(let p=a;p<=u&&p<=f.state.doc.lines;p+=1){const b=f.state.doc.line(p);x.add(b.from,b.from,yr.line({class:"oc-cm-selected-line"}))}return x.finish()}},{decorations:f=>f.decorations})};function ra({value:r,onChange:a,extensions:u,className:f,readOnly:x,lineNumbersConfig:p,highlightLines:b,onViewReady:g,onViewDestroy:y,blockWidgets:E,enableSearch:k,searchOpen:L,onSearchOpenChange:M,vimMode:R}){const P=n.useRef(null),o=n.useRef(null),K=n.useRef(r),xe=n.useRef(a),de=n.useRef(g),B=n.useRef(y),Ne=n.useRef(M),ae=n.useRef(E),Re=n.useRef(R),Oe=n.useRef(new Map),[dt,G]=n.useState([]),V=n.useCallback(w=>{const U=(w??[]).map(N=>{const T=Oe.current.get(N.id);return T?{id:N.id,content:N.content,container:T}:null}).filter(N=>N!==null);G(N=>N.length===U.length&&N.every((T,C)=>{const oe=U[C];return T.id===oe.id&&T.content===oe.content&&T.container===oe.container})?N:U)},[]),fe=n.useCallback(w=>{const U=P.current,N=w??o.current;if(!U||!N)return;const T=N.dom.querySelector(".cm-gutters"),C=T instanceof HTMLElement?T.getBoundingClientRect().width:0;U.style.setProperty("--oc-editor-gutter-width",`${C}px`)},[]);return n.useEffect(()=>{K.current=r},[r]),n.useEffect(()=>{xe.current=a},[a]),n.useEffect(()=>{de.current=g,B.current=y},[g,y]),n.useEffect(()=>{Ne.current=M},[M]),n.useEffect(()=>{ae.current=E,V(E)},[E,V]),n.useEffect(()=>{if(!P.current)return;const w=(()=>{if(typeof document>"u")return null;const N=document.querySelector('meta[name="csp-nonce"]')?.getAttribute("content");if(N)return N;const T=window.__PICHAMBER_CSP_NONCE__;return typeof T=="string"&&T.length>0?T:null})(),U=Xo.create({doc:K.current,extensions:[...w?[se.cspNonce.of(w)]:[],ni({fixed:!0}),Ks.of(As(p)),ai(),li.of(" "),Xs.of(qs(R)),cn.of([oi,...ii,...ci]),se.updateListener.of(N=>{fe(N.view),(N.viewportChanged||N.geometryChanged)&&V(ae.current);const T=Bs(N.startState),C=Bs(N.state);T!==C&&Ne.current?.(C);const oe=!wr(N.startState).eq(wr(N.state));if(C&&(T!==C||oe||N.docChanged||N.selectionSet)&&Hs(N.view.dom,N.view,T!==C||oe||N.docChanged),!N.docChanged)return;const O=N.state.doc.toString();K.current=O,xe.current(O),V(ae.current)}),Gs.of(se.editable.of(!x)),Us.of(u??[]),Js.of(ta(b)),Ys.of(ea(E,Oe.current)),Qs.of(k?[$s({top:!0}),cn.of(Zs(Vs))]:[])]});return o.current=new se({state:U,parent:P.current}),un(o.current,o.current.state.doc.length,200),o.current.requestMeasure(),requestAnimationFrame(()=>{fe(o.current),V(ae.current)}),o.current&&de.current?.(o.current),()=>{B.current?.(),o.current?.destroy(),o.current=null,G([])}},[ae,fe,V]),n.useEffect(()=>{const w=o.current;w&&(w.dispatch({effects:[Ks.reconfigure(As(p)),Gs.reconfigure(se.editable.of(!x)),Us.reconfigure(u??[]),Js.reconfigure(ta(b)),Ys.reconfigure(ea(E,Oe.current)),Qs.reconfigure(k?[$s({top:!0}),cn.of(Zs(Vs))]:[])]}),un(w,w.state.doc.length,200),w.requestMeasure(),requestAnimationFrame(()=>{fe(w),V(ae.current)}))},[u,b,p,x,E,k,fe,V]),n.useEffect(()=>{const w=o.current;if(!w){Re.current=R;return}Re.current!==R&&(Re.current=R,w.dispatch({effects:Xs.reconfigure(qs(R))}))},[R]),n.useEffect(()=>{const w=o.current;!w||k===!1||(L?(Pi(w),requestAnimationFrame(()=>{Ri(w.dom),Hs(w.dom,w,!0)})):Mi(w))},[L,k]),n.useEffect(()=>{const w=o.current;if(!w)return;const U=w.state.doc.toString();U!==r&&(w.dispatch({changes:{from:0,to:U.length,insert:r}}),un(w,w.state.doc.length,300),w.requestMeasure(),requestAnimationFrame(()=>fe(w)))},[r,fe]),t.jsxs(t.Fragment,{children:[t.jsx("div",{ref:P,className:$("h-full w-full","[&_.cm-editor]:h-full [&_.cm-editor]:w-full","[&_.cm-scroller]:font-mono [&_.cm-scroller]:text-[var(--text-code)] [&_.cm-scroller]:leading-6","[&_.cm-lineNumbers]:text-[var(--tools-edit-line-number)]",f)}),dt.map(w=>bo.createPortal(w.content,w.container,w.id))]})}const Li=(r,a)=>{if(!a)return null;const u=Number.parseInt(r.trim(),10);return!Number.isFinite(u)||u<1?null:Math.min(u,a.state.doc.lines)},na=(r,a)=>{const u=r.state.doc.lineAt(a.main.head);return{lineNumber:u.number,character:a.main.head-u.from+1,selection:a}},sa=(r,a,u)=>{const f=r.state.doc.line(a),x=Math.max(1,Math.min(u,f.length+1)),p=f.from+x-1;r.dispatch({selection:Zo.cursor(p),effects:se.scrollIntoView(p,{y:"center"})})};function Oi({open:r,onOpenChange:a,view:u,variant:f="overlay"}){const[x,p]=n.useState(""),b=n.useRef(null),g=n.useRef(!1),y=n.useRef(null),E=n.useRef(null),k=n.useMemo(()=>Li(x,u),[x,u]);n.useEffect(()=>{!r||!u||(g.current=!1,b.current=na(u,u.state.selection),p(""))},[r,u]),n.useEffect(()=>{r&&window.requestAnimationFrame(()=>{E.current?.focus(),E.current?.select()})},[r]),n.useEffect(()=>{if(!(!r||!u||!b.current)){if(k===null){const{selection:o}=b.current;u.dispatch({selection:o,effects:se.scrollIntoView(o.main.from,{y:"center"})});return}sa(u,k,b.current.character)}},[k,r,u]);const L=n.useCallback(()=>{if(!u||g.current||!b.current)return;const{selection:o}=b.current;u.dispatch({selection:o,effects:se.scrollIntoView(o.main.from,{y:"center"})})},[u]),M=n.useCallback(o=>{o||L(),a(o)},[a,L]),R=n.useCallback(()=>{!u||k===null||!b.current||(g.current=!0,sa(u,k,b.current.character),a(!1),u.focus())},[k,a,u]);n.useEffect(()=>{if(!r)return;const o=xe=>{const de=y.current,B=xe.target;!de||!(B instanceof Node)||de.contains(B)||M(!1)},K=xe=>{xe.key==="Escape"&&(xe.preventDefault(),M(!1))};return document.addEventListener("pointerdown",o,!0),document.addEventListener("keydown",K,!0),()=>{document.removeEventListener("pointerdown",o,!0),document.removeEventListener("keydown",K,!0)}},[M,r,f]);const P=n.useMemo(()=>u?k===null?`Current Line: ${(b.current??na(u,u.state.selection)).lineNumber}. Type a line number between 1 and ${u.state.doc.lines} to navigate to.`:`Go to line ${k}`:"Editor unavailable.",[k,u]);return f==="inline"?r?t.jsxs("div",{ref:y,className:"ml-1 flex h-6 items-center gap-1",children:[t.jsx(vr,{ref:E,type:"number",min:1,step:1,inputMode:"numeric",value:x,onChange:o=>p(o.target.value),onKeyDown:o=>{o.key==="Enter"&&(o.preventDefault(),R())},placeholder:"Line",className:"h-6 w-20 rounded-md border-border/70 bg-transparent px-2 typography-meta"}),t.jsx(S,{variant:"outline",size:"xs",onClick:R,disabled:!u||k===null,className:"h-6 px-2",children:"Go"})]}):null:t.jsx("div",{ref:y,className:$("absolute left-3 top-3 z-40 w-[min(32rem,calc(100%-1.5rem))] rounded-xl border border-[var(--interactive-border)] bg-[color:color-mix(in_srgb,var(--surface-elevated)_94%,transparent)] p-2.5 shadow-lg backdrop-blur-sm transition-all",r?"pointer-events-auto translate-y-0 opacity-100":"pointer-events-none -translate-y-1 opacity-0"),children:t.jsxs("div",{className:"min-w-0",children:[t.jsx(vr,{ref:E,type:"number",min:1,step:1,inputMode:"numeric",value:x,onChange:o=>p(o.target.value),onKeyDown:o=>{o.key==="Enter"&&(o.preventDefault(),R())},placeholder:"Line number",className:"h-8 w-full rounded-md border-border/70 bg-background/60 typography-ui-label"}),t.jsx("div",{className:"mt-2 rounded-md bg-primary/15 px-3 py-1.5 typography-ui-label text-foreground/95",children:P})]})})}const dn=({currentMode:r,onToggle:a})=>{const u=r==="preview",f=u?"Switch to edit mode":"Switch to preview mode",x=u?"Edit":"Preview";return t.jsxs(Ye,{children:[t.jsx(Qe,{asChild:!0,children:t.jsx(S,{variant:"ghost",size:"sm",onClick:a,"aria-label":f,className:"h-5 w-5 p-0",children:u?t.jsx(v,{name:"eye",className:"size-4","aria-hidden":"true"}):t.jsx(v,{name:"eye-off",className:"size-4","aria-hidden":"true"})})}),t.jsx(Xe,{sideOffset:8,children:x})]})};function aa(r,a){const u=r.metadata.variant==="dark",f=r.config?.fonts?.mono||"monospace",x=r.colors.syntax.highlights||{},p=r.colors.syntax.tokens||{},b=a?.fontSize?`${a.fontSize}px`:"var(--text-code)",g=se.theme({"&":{backgroundColor:"var(--background)",color:r.colors.syntax.base.foreground,fontSize:b,lineHeight:"1.5",position:"relative"},".cm-scroller":{fontFamily:f,backgroundColor:"var(--background)"},".cm-comment":{color:r.colors.syntax.base.comment},".cm-keyword":{color:r.colors.syntax.base.keyword},".cm-string":{color:r.colors.syntax.base.string},".cm-string-2":{color:p.stringEscape||r.colors.syntax.base.string},".cm-number":{color:r.colors.syntax.base.number},".cm-operator":{color:r.colors.syntax.base.operator},".cm-punctuation":{color:p.punctuation||r.colors.syntax.base.comment},".cm-atom":{color:p.boolean||r.colors.syntax.base.number},".cm-builtin":{color:p.functionCall||r.colors.syntax.base.function},".cm-def":{color:p.variableGlobal||r.colors.syntax.base.variable},".cm-attribute":{color:p.variableOther||p.variableProperty||r.colors.syntax.base.operator},".cm-meta":{color:r.colors.syntax.base.comment},".cm-property":{color:p.variableProperty||r.colors.syntax.base.keyword},".cm-variable":{color:r.colors.syntax.base.variable},".cm-variable-2":{color:p.variableOther||r.colors.syntax.base.function},".cm-variable-3":{color:p.variableGlobal||r.colors.syntax.base.type},".cm-tag":{color:p.tag||r.colors.syntax.base.keyword},".cm-link":{color:p.url||r.colors.syntax.base.keyword,textDecoration:"underline"},".cm-content":{caretColor:r.colors.interactive.cursor},".cm-cursor, .cm-dropCursor":{borderLeftColor:r.colors.interactive.cursor},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:r.colors.interactive.selection},".cm-gutters":{backgroundColor:"var(--background)",color:x.lineNumber||r.colors.syntax.base.comment,borderRight:`1px solid ${r.colors.interactive.border}`,position:"sticky",paddingRight:"8px",left:0,zIndex:2,boxShadow:"0 0 0 var(--background)"},".cm-gutter":{backgroundColor:"var(--background)"},".cm-gutterElement":{backgroundColor:"var(--background)"},".cm-lineNumbers":{backgroundColor:"var(--background)"},".cm-lineNumbers .cm-gutterElement":{paddingLeft:"8px",paddingRight:"8px",minWidth:"42px"},".cm-activeLineGutter":{color:x.lineNumberActive||r.colors.syntax.base.foreground},".cm-activeLine":{backgroundColor:r.colors.surface.overlay},".cm-panels":{backgroundColor:"transparent",color:r.colors.surface.foreground,position:"absolute",top:"0",right:"0",left:"auto",width:"auto",zIndex:10,pointerEvents:"none"},".cm-panels-top":{borderBottom:"none",position:"absolute",top:"6px",right:"14px",left:"auto",width:"auto"},".cm-panels-bottom":{position:"static",width:"100%",pointerEvents:"auto"},".cm-panels-bottom .cm-vim-panel":{borderTop:`1px solid ${r.colors.interactive.border}`,backgroundColor:r.colors.surface.elevated,color:r.colors.surface.mutedForeground,fontFamily:"var(--font-mono)",fontSize:"12px",minHeight:"22px",padding:"2px 8px"},".cm-panel.cm-search":{pointerEvents:"auto",padding:"4px",backgroundColor:`color-mix(in srgb, ${r.colors.surface.elevated} 85%, transparent)`,border:`1px solid ${r.colors.interactive.border}`,borderRadius:"10px",boxShadow:`0 2px 8px color-mix(in srgb, ${r.colors.surface.background} 60%, transparent)`,width:"auto",minWidth:"360px",maxWidth:"480px"},".cm-search":{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0",width:"100%",color:r.colors.surface.foreground,fontFamily:"inherit",fontSize:"13px",lineHeight:"1"},".cm-search br":{display:"none"},".cm-search .cm-textfield":{appearance:"none",height:"26px",margin:0,padding:"0 8px",borderRadius:"6px !important",border:`1px solid ${r.colors.interactive.border}`,backgroundColor:r.colors.surface.background,color:r.colors.surface.foreground,fontFamily:"inherit",fontSize:"12px",lineHeight:"1",outline:"none",transition:"border-color 150ms ease"},".cm-search .cm-textfield::placeholder":{color:r.colors.surface.mutedForeground,opacity:1},".cm-search .cm-textfield:focus":{borderColor:r.colors.primary.base},'.cm-search .cm-textfield[name="search"]':{order:1,flex:"1 1 120px",maxWidth:"calc(100% - 142px)",minWidth:"100px"},".cm-search label":{order:2,display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:0,marginLeft:"1px",padding:0,borderRadius:"4px",border:"1px solid transparent",backgroundColor:"transparent",color:"transparent",cursor:"pointer",userSelect:"none",fontSize:"1px",lineHeight:"0",overflow:"hidden",position:"relative",transition:"background-color 120ms ease, border-color 120ms ease"},".cm-search label:hover":{backgroundColor:r.colors.interactive.hover},'.cm-search label:has(input[type="checkbox"]:checked)':{backgroundColor:r.colors.interactive.hover,borderColor:r.colors.interactive.border},'.cm-search [type="checkbox"]':{appearance:"none",WebkitAppearance:"none",width:"0",height:"0",margin:"0",padding:"0",border:"none",position:"absolute",opacity:"0",pointerEvents:"none"},".cm-search label::after":{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"13px",fontWeight:"600",lineHeight:"1",fontFamily:"inherit",color:r.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search label:hover::after":{color:r.colors.surface.foreground},'.cm-search label:has(input[type="checkbox"]:checked)::after':{color:r.colors.surface.foreground},'.cm-search label:has(input[name="case"])::after':{content:'"Aa"',fontSize:"12px",letterSpacing:"-0.5px"},'.cm-search label:has(input[name="re"])::after':{content:'".*"',fontSize:"13px",fontFamily:"monospace"},'.cm-search label:has(input[name="word"])::after':{content:'"ab"',fontSize:"12px",textDecoration:"underline",textUnderlineOffset:"2px"},".cm-search .cm-search-message":{order:3,color:r.colors.surface.mutedForeground,backgroundColor:"transparent",border:"none",borderRadius:"0",padding:"0 6px",fontSize:"11px",whiteSpace:"nowrap",lineHeight:"26px"},".cm-search .cm-button":{appearance:"none",WebkitAppearance:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:0,marginLeft:"1px",padding:0,borderRadius:"4px",border:"none",backgroundColor:"transparent",backgroundImage:"none",color:"transparent",cursor:"pointer",fontSize:"1px",fontWeight:"400",lineHeight:"0",overflow:"hidden",position:"relative",boxShadow:"none",transition:"background-color 120ms ease"},".cm-search .cm-button::after":{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontSize:"15px",lineHeight:"1",color:r.colors.surface.mutedForeground,pointerEvents:"none"},".cm-search .cm-button:hover":{backgroundColor:r.colors.interactive.hover},".cm-search .cm-button:hover::after":{color:r.colors.surface.foreground},".cm-search .cm-button:active":{backgroundColor:r.colors.interactive.active},".cm-search .cm-button:focus-visible":{outline:"none",boxShadow:`0 0 0 1px ${r.colors.interactive.focusRing}`},".cm-search .cm-button:disabled":{opacity:.4,cursor:"default",pointerEvents:"none"},'.cm-search .cm-button[name="prev"]':{order:21,marginTop:"2px"},'.cm-search .cm-button[name="prev"]::after':{content:'"↑"'},'.cm-search .cm-button[name="next"]':{order:22,marginTop:"2px"},'.cm-search .cm-button[name="next"]::after':{content:'"↓"'},'.cm-search .cm-button[name="select"]':{order:23,marginTop:"2px"},'.cm-search .cm-button[name="select"]::after':{content:'"≡"',fontSize:"17px"},'.cm-panel.cm-search button[name="close"]':{order:5,appearance:"none",WebkitAppearance:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",width:"26px",height:"26px",minWidth:"26px",flexShrink:"0",margin:"0 0 0 auto",padding:"0",borderRadius:"4px",border:"none",backgroundColor:"transparent",backgroundImage:"none",color:r.colors.surface.mutedForeground,cursor:"pointer",fontSize:"16px",lineHeight:"1",boxShadow:"none",position:"relative",overflow:"visible",transition:"background-color 120ms ease, color 120ms ease"},'.cm-panel.cm-search button[name="close"]:hover':{backgroundColor:r.colors.interactive.hover,color:r.colors.surface.foreground},'.cm-search .cm-button[name="replace"]':{order:24,marginTop:"2px"},'.cm-search .cm-button[name="replace"]::after':{content:'"⇄"'},'.cm-search .cm-button[name="replaceAll"], .cm-search .cm-button[name="replace-all"]':{order:25,marginTop:"2px"},'.cm-search .cm-button[name="replaceAll"]::after, .cm-search .cm-button[name="replace-all"]::after':{content:'"⇉"'},'.cm-search .cm-textfield[name="replace"]':{order:20,flex:"1 1 100%",maxWidth:"calc(100% - 142px)",minWidth:"80px",marginTop:"2px"},".cm-searchMatch":{backgroundColor:r.colors.status.infoBackground,boxShadow:`inset 0 0 0 1px ${r.colors.status.infoBorder}`,borderRadius:"2px"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:r.colors.interactive.selection,color:r.colors.interactive.selectionForeground,boxShadow:`inset 0 0 0 1px ${r.colors.interactive.borderFocus}`},"&.cm-focused":{outline:"none"}},{dark:u}),y=Is.define([{tag:[d.comment,d.docComment,d.meta,d.documentMeta],class:"cm-comment"},{tag:[d.keyword,d.controlKeyword,d.moduleKeyword,d.definitionKeyword,d.modifier],class:"cm-keyword"},{tag:[d.operatorKeyword,d.operator,d.derefOperator,d.updateOperator,d.definitionOperator,d.typeOperator,d.controlOperator,d.logicOperator,d.bitwiseOperator,d.arithmeticOperator,d.compareOperator],class:"cm-operator"},{tag:[d.punctuation,d.separator,d.bracket,d.paren,d.brace,d.squareBracket,d.angleBracket],class:"cm-punctuation"},{tag:[d.string,d.regexp,d.attributeValue,d.special(d.string),d.monospace],class:"cm-string"},{tag:d.escape,class:"cm-string-2"},{tag:[d.number,d.bool,d.atom,d.null,d.self],class:"cm-number"},{tag:[d.function(d.variableName),d.function(d.definition(d.variableName)),d.function(d.propertyName),d.standard(d.variableName),d.special(d.variableName)],class:"cm-builtin"},{tag:d.definition(d.variableName),class:"cm-def"},{tag:[d.variableName,d.local(d.variableName),d.constant(d.variableName),d.literal],class:"cm-variable"},{tag:d.propertyName,class:"cm-property"},{tag:d.attributeName,class:"cm-attribute"},{tag:[d.className,d.typeName,d.namespace],class:"cm-variable-3"},{tag:[d.tagName,d.labelName,d.annotation,d.macroName],class:"cm-tag"},{tag:d.link,class:"cm-link"},{tag:[d.heading,d.heading1,d.heading2,d.heading3,d.heading4,d.heading5,d.heading6],class:"cm-keyword"}]),E=Is.define([{tag:[d.comment,d.docComment,d.meta,d.documentMeta],color:r.colors.syntax.base.comment},{tag:[d.keyword,d.controlKeyword,d.moduleKeyword,d.definitionKeyword,d.modifier],color:r.colors.syntax.base.keyword},{tag:[d.operatorKeyword,d.operator,d.derefOperator,d.updateOperator,d.definitionOperator,d.typeOperator,d.controlOperator,d.logicOperator,d.bitwiseOperator,d.arithmeticOperator,d.compareOperator],color:r.colors.syntax.base.operator},{tag:[d.string,d.regexp,d.attributeValue,d.special(d.string),d.monospace],color:r.colors.syntax.base.string},{tag:d.escape,color:p.stringEscape||r.colors.syntax.base.string},{tag:[d.number,d.bool,d.atom,d.null,d.self],color:r.colors.syntax.base.number},{tag:[d.function(d.variableName),d.function(d.definition(d.variableName)),d.function(d.propertyName),d.standard(d.variableName),d.special(d.variableName)],color:r.colors.syntax.base.function},{tag:d.definition(d.variableName),color:p.variableGlobal||r.colors.syntax.base.variable},{tag:[d.variableName,d.local(d.variableName),d.constant(d.variableName),d.literal],color:r.colors.syntax.base.variable},{tag:d.propertyName,color:p.variableProperty||r.colors.syntax.base.variable},{tag:d.attributeName,color:p.variableOther||r.colors.syntax.base.variable},{tag:[d.className,d.typeName,d.namespace],color:r.colors.syntax.base.type},{tag:[d.tagName,d.labelName,d.annotation,d.macroName],color:p.tag||r.colors.syntax.base.keyword},{tag:d.link,color:p.url||r.colors.syntax.base.function,textDecoration:"underline"},{tag:[d.punctuation,d.separator,d.bracket,d.paren,d.brace,d.squareBracket,d.angleBracket],color:p.punctuation||r.colors.syntax.base.comment}]);return a?.syntaxColors===!1?[g]:[g,pr(di,{fallback:!0}),pr(vi),pr(y),pr(E)]}const Ai=180,ba=ei.define(),Ii=1,Bi=2,$i=4,oa=new Map,Vi=(r,a)=>{const u=`${r}|${a}`,f=oa.get(u);if(f)return f;let x="";r&&(x+=`color:${r};`),a&Ii&&(x+="font-style:italic;"),a&Bi&&(x+="font-weight:bold;"),a&$i&&(x+="text-decoration:underline;");const p=yr.mark({attributes:{style:x}});return oa.set(u,p),p},Wi=(r,a)=>{const u=new xn,f=r.state.doc,x=Math.min(a.length,f.lines);for(let p=0;p<x;p+=1){const b=a[p];if(!b||b.length===0)continue;const g=f.line(p+1);let y=g.from;for(const[E,k,L]of b){if(E<=0)continue;const M=y,R=Math.min(y+E,g.to);y+=E,!(R<=M)&&(!k&&!L||u.add(M,R,Vi(k,L)))}}return u.finish()},_i=xa.define({create(){return yr.none},update(r,a){let u=r.map(a.changes);for(const f of a.effects)f.is(ba)&&(u=f.value);return u},provide:r=>se.decorations.from(r)}),qi=r=>va.fromClass(class{timer;generation=0;constructor(a){this.tokenize(a)}update(a){a.docChanged&&this.schedule(a.view)}schedule(a){this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=void 0,this.tokenize(a)},Ai)}async tokenize(a){const u=++this.generation,f=a.state.doc.toString(),x=await zo(f,r.language,r.themeName,r.theme);x&&u===this.generation&&a.state.doc.length===f.length&&a.dispatch({effects:ba.of(Wi(a,x))})}destroy(){this.timer&&clearTimeout(this.timer)}}),Hi=r=>[_i,qi(r)];function Ki(r){return!(!r.autoSaveEnabled||!r.isDirty||!r.canWrite||r.isSaving||r.fileLoading||r.isNonEditableBinary||!r.selectedFilePath||r.loadedFilePath!==r.selectedFilePath)}function Gi(r){return r.selectedFilePath?r.isDirty?!(r.fileLoading||r.loadedFilePath!==r.selectedFilePath||r.isNonEditableBinary||r.draftContent===""&&r.fileContent!==""&&r.loadedFilePath!==r.selectedFilePath):!0:!1}const Ui=r=>{const a=I(r);if(!a)return"";if(a==="/"||/^[A-Za-z]:\/$/.test(a))return a;const u=a.lastIndexOf("/");if(u<0)return a;if(u===0)return"/";const f=a.slice(0,u);return/^[A-Za-z]:$/.test(f)?`${f}/`:f},Ji=({label:r,iconDataUrl:a})=>{const[u,f]=n.useState(!1),x=r.trim().slice(0,1).toUpperCase()||"?";return a&&!u?t.jsx("img",{src:a,alt:"",className:"size-4 rounded-sm",onError:()=>f(!0)}):t.jsx("span",{className:$("size-4 rounded-sm flex items-center justify-center","bg-[var(--surface-muted)] text-[9px] font-medium text-muted-foreground"),children:x})},Yi=r=>r.slice().sort((a,u)=>a.type!==u.type?a.type==="directory"?-1:1:a.name.localeCompare(u.name)),I=r=>{if(!r)return"";const a=r.replace(/\\/g,"/"),u=a.startsWith("//");let f=a.replace(/\/+/g,"/");u&&!f.startsWith("//")&&(f=`/${f}`);const x=f==="/",p=/^[A-Za-z]:\/$/.test(f);return!x&&!p&&(f=f.replace(/\/+$/,"")),f},Qi=r=>r.startsWith("/")||r.startsWith("//")||/^[A-Za-z]:\//.test(r),Et=r=>/^[A-Za-z]:\//.test(r)?r.toLowerCase():r,Ht=(r,a)=>{const u=I(a),f=I(r);if(!u||!f)return!1;const x=Et(u),p=Et(f);return p===x||p.startsWith(`${x}/`)},ia=(r,a)=>{const u=I(a),f=I(r);if(!Ht(f,u))return[];const p=f.slice(u.length).replace(/^\//,"").split("/"),b=[];let g=u;for(let y=0;y<p.length-1;y++)g=g?`${g}/${p[y]}`:p[y],b.push(g);return b},xr=(r,a)=>{if(!a)return"";const u=I(a);if(!r||!Ht(u,r))return u;const f=u.slice(r.length);return f.startsWith("/")?f.slice(1):f},Xi=new Set(["node_modules"]),Zi=({status:r})=>{const a={open:"var(--status-info)",modified:"var(--status-warning)","git-modified":"var(--status-warning)","git-added":"var(--status-success)","git-deleted":"var(--status-error)"}[r];return t.jsx("span",{className:"size-2 rounded-full",style:{backgroundColor:a}})},ca=({name:r})=>{const a=n.useRef(null),u=n.useRef(null),[f,x]=n.useState(!1);return n.useLayoutEffect(()=>{const p=a.current,b=u.current;if(!p||!b)return;const g=()=>{x(b.scrollWidth>p.clientWidth+1)};g();const y=new ResizeObserver(g);return y.observe(p),y.observe(b),()=>{y.disconnect()}},[r]),t.jsxs("span",{ref:a,className:"relative block min-w-0 flex-1 overflow-hidden whitespace-nowrap",children:[t.jsx("span",{ref:u,"aria-hidden":"true",className:"invisible absolute whitespace-nowrap",children:r}),f?t.jsxs("span",{className:"open-file-name-marquee-track",children:[t.jsx("span",{className:"open-file-name-marquee-item",children:r}),t.jsx("span",{className:"open-file-name-marquee-item","aria-hidden":"true",children:r})]}):t.jsx("span",{className:"block min-w-0 truncate",children:r})]})},ec=r=>Xi.has(r),tc=r=>{const a=I(r);return a==="node_modules"||a.endsWith("/node_modules")||a.includes("/node_modules/")},rc=r=>{const u=(r instanceof Error?r.message:String(r??"")).toLowerCase();return u.includes("is a directory")||u.includes("eisdir")},la=r=>{const u=(r instanceof Error?r.message:String(r??"")).toLowerCase();return u.includes("file not found")||u.includes("enoent")||u.includes("no such file")||u.includes("does not exist")},qt=2e5,nc=r=>{let a=0,u=0;for(let f=0;f<r.length;f+=1)r.charCodeAt(f)===10&&(f>0&&r.charCodeAt(f-1)===13?a+=1:u+=1);return a>u?`\r
|
|
2
2
|
`:`
|
|
3
3
|
`},wa=r=>r.replace(/\r\n/g,`
|
|
4
4
|
`).replace(/\r/g,`
|