ompchamber 1.0.0 → 1.2.0
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/client/index.html +1 -1
- package/dist/client/static/css/index.b938f4a693.css +2 -0
- package/dist/client/static/js/77.8022a800b5.js +139 -0
- package/dist/client/static/js/async/{1k.5974df3b87.js → 1k.a411fe5b43.js} +2 -2
- package/dist/client/static/js/async/{3y.71f2ccf3b6.js → 3y.3186ecdd63.js} +5 -5
- package/dist/client/static/js/async/5b.d88304bc13.js +1 -0
- package/dist/client/static/js/async/66.86544ad741.js +93 -0
- package/dist/client/static/js/async/7g.db82aca7ba.js +1 -0
- package/dist/client/static/js/async/7l.fadbbc0583.js +1 -0
- package/dist/client/static/js/async/{dc.856fda6560.js → ar.ad5c8822a8.js} +2 -2
- package/dist/client/static/js/async/cx.9c8268d542.js +226 -0
- package/dist/client/static/js/async/e.6443e739a2.js +79 -0
- package/dist/client/static/js/async/f7.46971e9d6d.js +2 -0
- package/dist/client/static/js/async/g.ee41bfed7f.js +2 -0
- package/dist/client/static/js/async/h1.d7091cef78.js +1 -0
- package/dist/client/static/js/async/hs.e7c59d8090.js +41 -0
- package/dist/client/static/js/async/jl.4911fa3383.js +1 -0
- package/dist/client/static/js/async/{k.7466330d1a.js → k.d16cd09ae7.js} +2 -2
- package/dist/client/static/js/async/{m.c038c71b9f.js → m.2e1ea3db9e.js} +2 -2
- package/dist/client/static/js/async/m3.d2b05f9604.js +2 -0
- package/dist/client/static/js/async/mt.853be2b5aa.js +1 -0
- package/dist/client/static/js/async/{oc.9c060c9779.js → oc.eb22093f05.js} +1 -1
- package/dist/client/static/js/async/{og.634fba99ac.js → og.53f068804c.js} +1 -1
- package/dist/client/static/js/async/{5b.0d6ae50fe8.js → q.b453193538.js} +10 -10
- package/dist/client/static/js/async/q5.88b50ffa95.js +286 -0
- package/dist/client/static/js/async/q8.7f1b48e9cd.js +21 -0
- package/dist/client/static/js/async/{sy.d16be843a7.js → s.aad2ecebc6.js} +1 -1
- package/dist/client/static/js/async/{tr.e878658140.js → tr.2a0d2b7600.js} +1 -1
- package/dist/client/static/js/async/vt.20406a5604.js +1 -0
- package/dist/client/static/js/async/x1.fe8af17016.js +90 -0
- package/dist/client/static/js/async/yg.5a94e1fc8a.js +149 -0
- package/dist/client/static/js/async/yx.af2936c368.js +10 -0
- package/dist/client/static/js/index.57b39ffa7f.js +34 -0
- package/package.json +1 -1
- package/src/client/components/common/ComposerPicker.tsx +16 -4
- package/src/client/components/common/ComposerTextarea.tsx +1 -0
- package/src/client/components/common/file-icon/index.tsx +4 -1
- package/src/client/components/common/image-viewer/index.tsx +224 -0
- package/src/client/components/layout/RightActivityBar.tsx +1 -1
- package/src/client/components/layout/desktop-layout/ResizeHandle.tsx +2 -2
- package/src/client/components/layout/desktop-layout/TopNavbar.tsx +13 -2
- package/src/client/components/layout/desktop-layout/WorkspacePanels.tsx +107 -56
- package/src/client/components/layout/desktop-layout/index.tsx +25 -96
- package/src/client/components/layout/desktop-layout/resizer/index.tsx +79 -118
- package/src/client/components/layout/desktop-layout/resizer/separator-drag.ts +140 -0
- package/src/client/components/layout/session-sidebar/Header.tsx +1 -1
- package/src/client/components/layout/session-sidebar/SessionItem.tsx +26 -12
- package/src/client/components/layout/session-sidebar/SubagentList.tsx +6 -4
- package/src/client/components/mobile/mobile-right-sidebar/FullEditor.tsx +57 -43
- package/src/client/components/mobile/mobile-right-sidebar/Header.tsx +31 -24
- package/src/client/components/settings/Modal.tsx +1 -0
- package/src/client/components/settings/categories/ChatSettings.tsx +6 -2
- package/src/client/components/settings/categories/chat-settings/TitleSection.tsx +99 -0
- package/src/client/components/workspace/btw-panel/AskCard.tsx +155 -0
- package/src/client/components/workspace/btw-panel/Composer.tsx +181 -0
- package/src/client/components/workspace/btw-panel/Messages.tsx +100 -0
- package/src/client/components/workspace/btw-panel/TopicMenu.tsx +106 -0
- package/src/client/components/workspace/btw-panel/attachments.ts +80 -0
- package/src/client/components/workspace/btw-panel/index.tsx +83 -0
- package/src/client/components/workspace/chat-timeline/ComposerDock.tsx +39 -20
- package/src/client/components/workspace/chat-timeline/EmptyWorkspacePrompt.tsx +3 -0
- package/src/client/components/workspace/chat-timeline/MinimapShortcuts.tsx +49 -12
- package/src/client/components/workspace/chat-timeline/SubagentView.tsx +3 -1
- package/src/client/components/workspace/chat-timeline/TimelineBody.tsx +10 -6
- package/src/client/components/workspace/chat-timeline/chat-input/AttachmentToolbar.tsx +2 -1
- package/src/client/components/workspace/chat-timeline/chat-input/DropOverlay.tsx +17 -0
- package/src/client/components/workspace/chat-timeline/chat-input/index.tsx +67 -43
- package/src/client/components/workspace/chat-timeline/index.tsx +14 -9
- package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Goal.tsx +3 -3
- package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Read.tsx +25 -7
- package/src/client/components/workspace/editor/Toolbar.tsx +32 -23
- package/src/client/components/workspace/editor/index.tsx +45 -36
- package/src/client/components/workspace/model-dropdown/groups.ts +35 -2
- package/src/client/components/workspace/model-dropdown/index.tsx +48 -7
- package/src/client/components/workspace/model-dropdown/use-catalog.ts +28 -4
- package/src/client/hooks/chat/btw/index.ts +180 -0
- package/src/client/hooks/chat/btw/intercept.ts +43 -0
- package/src/client/hooks/chat/btw/mode.ts +179 -0
- package/src/client/hooks/chat/composer/attachments.ts +198 -0
- package/src/client/hooks/chat/composer/drop-entries.ts +204 -0
- package/src/client/hooks/chat/composer/drop-payload.test.ts +97 -0
- package/src/client/hooks/chat/composer/drop-payload.ts +130 -0
- package/src/client/hooks/chat/composer/drop-references.ts +106 -0
- package/src/client/hooks/chat/composer/file-drop.test.ts +194 -0
- package/src/client/hooks/chat/composer/file-drop.ts +226 -0
- package/src/client/hooks/chat/composer/file-reads.test.ts +211 -0
- package/src/client/hooks/chat/composer/file-reads.ts +238 -0
- package/src/client/hooks/chat/composer/index.ts +35 -9
- package/src/client/hooks/chat/composer/pipeline.ts +181 -0
- package/src/client/hooks/chat/omp/index.ts +3 -3
- package/src/client/hooks/chat/omp/prompt-send.ts +5 -5
- package/src/client/hooks/chat/timeline/actions.ts +40 -4
- package/src/client/hooks/chat/timeline/deferred-model.test.ts +219 -0
- package/src/client/hooks/chat/timeline/deferred-model.ts +92 -0
- package/src/client/hooks/chat/timeline/index.ts +29 -9
- package/src/client/hooks/chat/timeline/prompt-text.ts +6 -1
- package/src/client/hooks/chat/timeline/send.ts +45 -70
- package/src/client/hooks/chat/timeline/session-load.ts +2 -1
- package/src/client/hooks/chat/timeline/session-pagination.ts +161 -14
- package/src/client/hooks/chat/timeline/user-turns.ts +149 -0
- package/src/client/hooks/editor/file-actions.ts +49 -0
- package/src/client/hooks/editor/use-file-editor.ts +38 -27
- package/src/client/hooks/editor/use-file-transfer.ts +78 -0
- package/src/client/hooks/workspace/available-width.ts +33 -0
- package/src/client/hooks/workspace/panel-widths.ts +34 -37
- package/src/client/tailwind.css +22 -0
- package/src/server/db.server.ts +21 -287
- package/src/server/lib/btw/frames.test.ts +68 -0
- package/src/server/lib/btw/frames.ts +56 -0
- package/src/server/lib/btw/prompt.ts +28 -0
- package/src/server/lib/btw/registry.server.ts +141 -0
- package/src/server/lib/btw/runtime.server.ts +324 -0
- package/src/server/lib/btw/schema.server.ts +44 -0
- package/src/server/lib/btw/service.server.ts +171 -0
- package/src/server/lib/btw/session-copy.server.ts +213 -0
- package/src/server/lib/btw/session-copy.test.ts +166 -0
- package/src/server/lib/btw/store.server.ts +240 -0
- package/src/server/lib/db/schema.ts +110 -0
- package/src/server/lib/db/seed.ts +160 -0
- package/src/server/lib/db/workspace-sync.ts +70 -0
- package/src/server/lib/fs/root.ts +37 -0
- package/src/server/lib/models/preferences.server.ts +110 -0
- package/src/server/lib/models/registry.server.ts +206 -0
- package/src/server/lib/omp/rpc/frame-fold.ts +207 -0
- package/src/server/lib/omp/rpc/manager.ts +27 -123
- package/src/server/lib/omp/rpc/utility.ts +7 -1
- package/src/server/lib/omp/session/auto-title.server.test.ts +137 -0
- package/src/server/lib/omp/session/auto-title.server.ts +152 -0
- package/src/server/lib/omp/session/blobs.server.test.ts +100 -0
- package/src/server/lib/omp/session/blobs.server.ts +76 -0
- package/src/server/lib/omp/session/file-scan.ts +174 -0
- package/src/server/lib/omp/session/files.test.ts +147 -0
- package/src/server/lib/omp/session/files.ts +52 -35
- package/src/server/lib/omp/session/locator.ts +2 -2
- package/src/server/lib/omp/session/merge-stored.test.ts +118 -0
- package/src/server/lib/omp/session/merge-stored.ts +171 -0
- package/src/server/lib/omp/session/messages.ts +34 -0
- package/src/server/lib/omp/session/reader.ts +2 -2
- package/src/server/lib/omp/session/subagent-presence.ts +9 -6
- package/src/server/lib/queue/delivery.server.test.ts +260 -0
- package/src/server/lib/queue/delivery.server.ts +63 -11
- package/src/server/plugins/ssr.ts +29 -2
- package/src/server/routes/btw/events.ts +70 -0
- package/src/server/routes/btw/index.ts +8 -0
- package/src/server/routes/btw/topics.ts +87 -0
- package/src/server/routes/btw/ws.ts +136 -0
- package/src/server/routes/chat/index.ts +2 -0
- package/src/server/routes/chat/session.ts +1 -115
- package/src/server/routes/chat/turns.ts +87 -0
- package/src/server/routes/fs/index.ts +4 -1
- package/src/server/routes/fs/raw.ts +85 -0
- package/src/server/routes/fs/read.ts +58 -3
- package/src/server/routes/index.ts +7 -1
- package/src/server/routes/models/root.ts +88 -215
- package/src/server/routes/settings/commands.ts +59 -18
- package/src/shared/lib/chat/attachments.test.ts +208 -0
- package/src/shared/lib/chat/attachments.ts +200 -15
- package/src/shared/lib/chat/btw/client.ts +94 -0
- package/src/shared/lib/chat/composer/client.test.ts +48 -0
- package/src/shared/lib/chat/composer/client.ts +23 -9
- package/src/shared/lib/chat/composer/commands.ts +290 -0
- package/src/shared/lib/chat/composer/composer.test.ts +195 -0
- package/src/shared/lib/chat/composer/filter.ts +21 -7
- package/src/shared/lib/chat/composer/trigger.ts +154 -21
- package/src/shared/lib/chat/omp/agent-events.ts +33 -80
- package/src/shared/lib/chat/omp/socket.ts +11 -6
- package/src/shared/lib/chat/omp/sse.ts +11 -6
- package/src/shared/lib/chat/omp/tool-results.ts +102 -0
- package/src/shared/lib/chat/omp/transport.ts +19 -3
- package/src/shared/lib/chat/text-file.ts +148 -0
- package/src/shared/lib/chat/timeline/omp-callbacks.ts +18 -32
- package/src/shared/lib/chat/timeline/stream-coalescer.ts +66 -0
- package/src/shared/lib/chat/timeline/turns.ts +7 -0
- package/src/shared/lib/fs/file-kind.ts +50 -0
- package/src/shared/lib/fs/paths.ts +19 -1
- package/src/shared/lib/markdown/math.test.ts +20 -3
- package/src/shared/lib/models/preferences.test.ts +131 -0
- package/src/shared/lib/models/preferences.ts +88 -0
- package/src/shared/lib/models/provider-models.ts +8 -1
- package/src/shared/lib/omp/session/inlined-attachments.test.ts +82 -0
- package/src/shared/lib/omp/session/mapper.ts +24 -4
- package/src/shared/lib/omp/session/messages-map.ts +16 -3
- package/src/shared/lib/omp/session/messages-parse.ts +2 -2
- package/src/shared/lib/omp/session/parse-message-blocks.ts +85 -5
- package/src/shared/lib/omp/subagent/label.test.ts +94 -0
- package/src/shared/lib/omp/subagent/label.ts +84 -0
- package/src/shared/lib/workspace/panel-widths.test.ts +113 -18
- package/src/shared/lib/workspace/panel-widths.ts +161 -30
- package/src/shared/lib/workspace/right-panels.ts +50 -11
- package/src/shared/lib/workspace/session-state/store.ts +3 -0
- package/src/shared/types/btw.ts +65 -0
- package/src/shared/types/chat.ts +77 -66
- package/src/shared/types/index.ts +2 -0
- package/src/shared/types/models.ts +101 -0
- package/src/shared/types/omp/agent.ts +14 -1
- package/src/shared/types/omp/session.ts +4 -1
- package/src/shared/types/omp/subagent.ts +4 -0
- package/src/shared/types/settings/command.ts +13 -0
- package/src/shared/types/settings/state.ts +5 -0
- package/dist/client/static/css/index.e880517fcd.css +0 -2
- package/dist/client/static/js/async/5bh.8b2363424f.js +0 -1
- package/dist/client/static/js/async/66.5dfa29f957.js +0 -93
- package/dist/client/static/js/async/7g.a7814350c3.js +0 -1
- package/dist/client/static/js/async/7l.7a6a377ecc.js +0 -1
- package/dist/client/static/js/async/cx.ca5feec570.js +0 -226
- package/dist/client/static/js/async/e.93214d622b.js +0 -79
- package/dist/client/static/js/async/g.a06ca3b3e9.js +0 -2
- package/dist/client/static/js/async/h1.e8d5aa8e80.js +0 -1
- package/dist/client/static/js/async/hs.6d480d0ded.js +0 -41
- package/dist/client/static/js/async/jl.874d352278.js +0 -1
- package/dist/client/static/js/async/mt.0352e976d8.js +0 -1
- package/dist/client/static/js/async/nam.b5663e919f.js +0 -10
- package/dist/client/static/js/async/q.23af2a358f.js +0 -21
- package/dist/client/static/js/async/q5.e683f7c26e.js +0 -286
- package/dist/client/static/js/async/s.222ee974f6.js +0 -2
- package/dist/client/static/js/async/uf.46ad6209fa.js +0 -2
- package/dist/client/static/js/async/vt.42416b707d.js +0 -1
- package/dist/client/static/js/async/x1.da8687159b.js +0 -90
- package/dist/client/static/js/async/yg.35bebd6d0c.js +0 -149
- package/dist/client/static/js/index.0de15c5e17.js +0 -33
- package/dist/client/static/js/jp.50817896f3.js +0 -139
- /package/dist/client/static/js/{jp.50817896f3.js.LICENSE.txt → 77.8022a800b5.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{1k.5974df3b87.js.LICENSE.txt → 1k.a411fe5b43.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{3y.71f2ccf3b6.js.LICENSE.txt → 3y.3186ecdd63.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{dc.856fda6560.js.LICENSE.txt → ar.ad5c8822a8.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{m.c038c71b9f.js.LICENSE.txt → f7.46971e9d6d.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{5b.0d6ae50fe8.js.LICENSE.txt → g.ee41bfed7f.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{q.23af2a358f.js.LICENSE.txt → m.2e1ea3db9e.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{s.222ee974f6.js.LICENSE.txt → m3.d2b05f9604.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{g.a06ca3b3e9.js.LICENSE.txt → q.b453193538.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{uf.46ad6209fa.js.LICENSE.txt → q8.7f1b48e9cd.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{nam.b5663e919f.js.LICENSE.txt → yx.af2936c368.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/{index.0de15c5e17.js.LICENSE.txt → index.57b39ffa7f.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! LICENSE: 1k.
|
|
2
|
-
"use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["1k"],{X8(e,t,r){r.d(t,{SearchPanel:()=>w});var a=r("j"),n=r("H"),i=r("Sj"),l=r("z"),s=r("t3"),c=r("y");let o=(0,c.A)({name:"case-sensitive",size:24,node:[["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M22 9v7",key:"pvm9v3"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}],["circle",{cx:"18.5",cy:"12.5",r:"3.5",key:"z97x68"}]]}),d=(0,c.A)({name:"whole-word",size:24,node:[["circle",{cx:"7",cy:"12",r:"3",key:"12clwm"}],["path",{d:"M10 9v6",key:"17i7lo"}],["circle",{cx:"17",cy:"12",r:"3",key:"gl7c2s"}],["path",{d:"M14 7v8",key:"dl84cr"}],["path",{d:"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1",key:"lt2kga"}]]}),h=(0,c.A)({name:"regex",size:24,node:[["path",{d:"M17 3v10",key:"15fgeh"}],["path",{d:"m12.67 5.5 8.66 5",key:"1gpheq"}],["path",{d:"m12.67 10.5 8.66-5",key:"1dkfa6"}],["path",{d:"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z",key:"swwfx4"}]]}),p=(0,c.A)({name:"replace-all",size:24,node:[["path",{d:"M14 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1",key:"zg1ipl"}],["path",{d:"M14 4a1 1 0 0 1 1-1",key:"dhj8ez"}],["path",{d:"M15 10a1 1 0 0 1-1-1",key:"1mnyi5"}],["path",{d:"M19 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1",key:"txt6k4"}],["path",{d:"M21 4a1 1 0 0 0-1-1",key:"sfs9ap"}],["path",{d:"M21 9a1 1 0 0 1-1 1",key:"mp6qeo"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a2 2 0 0 1 2-2h2",key:"15xut4"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}]]}),u=(0,c.A)({name:"replace",size:24,node:[["path",{d:"M14 4a1 1 0 0 1 1-1",key:"dhj8ez"}],["path",{d:"M15 10a1 1 0 0 1-1-1",key:"1mnyi5"}],["path",{d:"M21 4a1 1 0 0 0-1-1",key:"sfs9ap"}],["path",{d:"M21 9a1 1 0 0 1-1 1",key:"mp6qeo"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a2 2 0 0 1 2-2h2",key:"15xut4"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}]]});var x=r("ob"),k=r("X"),m=r("wA"),y=r("jo"),f=r("FL"),b=r("G1"),g=r("oj"),v=r("DU"),N=r("Po");function w(e){let{className:t="",enabled:r=!0,rootPath:c}=e;(0,N.w)();let[w,Y]=(0,f.bL)("search.query",""),[z,S]=(0,f.bL)("search.replaceQuery",""),[F,A]=(0,f.bL)("search.matchCase",!1),[C,M]=(0,f.bL)("search.wholeWord",!1),[j,D]=(0,f.bL)("search.useRegex",!1),[L,J]=(0,f.bL)("search.includeFiles",""),[R,P]=(0,n.J0)(!1),[T,O]=(0,f.bL)("search.showIncludeField",!1),[$,q]=(0,f.bL)("search.activeRepo","."),W=(0,n.li)(null),{isScrolling:H,handleScroll:I}=(0,y.K)(),U=(0,k.L)(),{results:V,isSearching:G,start:Q}=function(){let[e,t]=(0,n.J0)([]),[r,a]=(0,n.J0)(!1),i=(0,n.li)(null),l=(0,n.li)(!0);return(0,n.vJ)(()=>(l.current=!0,()=>{l.current=!1,i.current?.abort(),i.current=null}),[]),{results:e,isSearching:r,start:(0,n.hb)(async e=>{i.current?.abort();let r=new AbortController;i.current=r,t([]),a(!0);try{let a=await fetch("/api/fs/search",{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams(e),signal:r.signal});await (0,b.o)(a,(e,r)=>{if("matches"===e)try{let e=JSON.parse(r);Array.isArray(e)&&t(t=>[...t,...e])}catch{}},r.signal)}catch{}finally{l.current&&i.current===r&&(i.current=null,a(!1))}},[])}}();(0,g.W)(W,()=>P(!1));let X=()=>{if(r&&w.trim().length>2)return Q({q:w,matchCase:String(F),wholeWord:String(C),useRegex:String(j),includeFiles:T?L:"",...c?{root:c}:{},..."."!==$?{repo:$}:{}})};(0,n.vJ)(()=>{let e=setTimeout(()=>{X()},300);return()=>clearTimeout(e)},[w,F,C,j,L,T,c,r,$]);let _=e=>{if(!w)return;let t=e?[e]:Object.keys(B);0!==t.length&&U.submit({q:w,replaceWith:z,matchCase:String(F),wholeWord:String(C),useRegex:String(j),files:JSON.stringify(t),...c?{root:c}:{},..."."!==$?{repo:$}:{}},{method:"POST",action:"/api/fs/replace"})};if((0,n.vJ)(()=>{"idle"===U.state&&U.data?.success&&X()},[U.state,U.data]),!r)return(0,a.Y)("div",{className:`flex flex-col h-full bg-paper items-center justify-center text-ink/40 ${t}`,children:(0,a.Y)("span",{className:"text-xs font-mono",children:"No session selected"})});let B=V.reduce((e,t)=>(e[t.file]||(e[t.file]=[]),e[t.file].push(t),e),{});return(0,a.FD)("div",{className:`flex flex-col h-full bg-paper ${t}`,children:[(0,a.FD)("div",{className:"p-3 border-b border-ink/10 flex items-center justify-between",children:[(0,a.FD)("div",{className:"flex items-center space-x-2 min-w-0",children:[(0,a.Y)("h2",{className:"text-xs font-semibold text-ink uppercase tracking-wider",children:"Search"}),(0,a.Y)(m.I,{rootPath:c,activeRepo:$,onSelectRepo:q})]}),(0,a.FD)("div",{className:"relative",ref:W,children:[(0,a.Y)("button",{onClick:()=>P(!R),className:`p-1 rounded hover:bg-ink/5 transition-colors ${R||T?"text-ink":"text-ink/40"}`,title:"Search Options",children:(0,a.Y)(i.A,{size:14})}),R&&(0,a.Y)("div",{className:"absolute right-0 top-full mt-1 w-48 bg-paper border border-ink/10 rounded shadow-lg z-10 py-1",children:(0,a.FD)("button",{onClick:()=>{O(!T),T&&J(""),P(!1)},className:"w-full px-3 py-1.5 text-left text-xs text-ink hover:bg-ink/5 flex items-center justify-between",children:[(0,a.Y)("span",{children:"Files to include"}),T&&(0,a.Y)(l.A,{size:12,className:"text-ink/60"})]})})]})]}),(0,a.FD)("div",{className:"p-3 flex flex-col gap-2.5 border-b border-ink/10",children:[(0,a.Y)("div",{className:"relative",children:(0,a.FD)("div",{className:"flex items-center border border-ink/20 rounded bg-paper focus-within:border-ink/40 focus-within:ring-1 focus-within:ring-ink/10 transition-all",children:[(0,a.Y)(s.A,{size:14,className:"ml-2 text-ink/40 flex-shrink-0"}),(0,a.Y)("input",{type:"text",placeholder:"Search",value:w,onChange:e=>Y(e.currentTarget.value),className:"w-full bg-transparent border-none text-xs px-2 py-1.5 focus:outline-none text-ink placeholder-ink/30 min-w-0"}),(0,a.FD)("div",{className:"flex items-center space-x-0.5 pr-1 text-ink/40 flex-shrink-0",children:[(0,a.Y)("button",{onClick:()=>A(!F),className:`p-1 rounded hover:text-ink ${F?"bg-ink/10 text-ink":"hover:bg-ink/5"}`,title:"Match Case",children:(0,a.Y)(o,{size:14})}),(0,a.Y)("button",{onClick:()=>M(!C),className:`p-1 rounded hover:text-ink ${C?"bg-ink/10 text-ink":"hover:bg-ink/5"}`,title:"Match Whole Word",children:(0,a.Y)(d,{size:14})}),(0,a.Y)("button",{onClick:()=>D(!j),className:`p-1 rounded hover:text-ink ${j?"bg-ink/10 text-ink":"hover:bg-ink/5"}`,title:"Use Regular Expression",children:(0,a.Y)(h,{size:14})})]})]})}),(0,a.FD)("div",{className:"relative flex items-center space-x-1",children:[(0,a.Y)("input",{type:"text",placeholder:"Replace",value:z,onChange:e=>S(e.currentTarget.value),className:"flex-1 min-w-0 bg-paper border border-ink/20 rounded text-xs px-2 py-1.5 focus:outline-none focus:border-ink/40 focus:ring-1 focus:ring-ink/10 transition-all text-ink placeholder-ink/30"}),(0,a.Y)("button",{onClick:()=>_(),disabled:0===V.length||"idle"!==U.state,className:"p-1.5 rounded border border-ink/20 text-ink/60 hover:text-ink hover:bg-ink/5 disabled:opacity-50 disabled:cursor-not-allowed bg-paper",title:"Replace All",children:(0,a.Y)(p,{size:14})})]}),T&&(0,a.Y)("div",{className:"relative",children:(0,a.Y)("input",{type:"text",value:L,onChange:e=>J(e.currentTarget.value),placeholder:"Files to include (e.g. *.js, src/*)",className:"w-full bg-paper border border-ink/20 rounded text-xs px-2 py-1.5 focus:outline-none focus:border-ink/40 focus:ring-1 focus:ring-ink/10 transition-all text-ink placeholder-ink/40"})})]}),(0,a.Y)("div",{onScroll:I,className:`flex-1 scrollbar-overlay-container px-3 py-2 text-xs ${(0,y.p)(H)}`,children:G&&0===V.length?(0,a.Y)("div",{className:"text-ink/40 italic text-center py-4",children:"Searching..."}):w.trim().length<=2?(0,a.Y)("div",{className:"text-ink/40 italic text-center py-4",children:"Type at least 3 characters to search."}):0===V.length?(0,a.Y)("div",{className:"text-ink/40 italic text-center py-4",children:"No results found."}):(0,a.FD)("div",{className:"space-y-4",children:[G&&(0,a.Y)("div",{className:"text-ink/40 italic",children:"Searching…"}),Object.entries(B).map(e=>{let[t,r]=e;return(0,a.FD)("div",{children:[(0,a.FD)("div",{className:"font-semibold text-ink/80 flex items-center justify-between mb-1 group",children:[(0,a.FD)("div",{className:"flex items-center min-w-0",children:[(0,a.Y)(x.o,{name:t,size:12,className:"mr-1.5 flex-shrink-0"}),(0,a.Y)("span",{className:"truncate",children:t}),(0,a.Y)("span",{className:"ml-2 bg-ink/10 text-[9px] px-1.5 py-0.5 rounded-full flex-shrink-0",children:r.length})]}),(0,a.Y)("button",{onClick:()=>_(t),disabled:"idle"!==U.state,className:"opacity-0 group-hover:opacity-100 p-1 text-ink/40 hover:text-ink rounded hover:bg-ink/5 disabled:opacity-50 flex-shrink-0",title:"Replace in this file",children:(0,a.Y)(u,{size:12})})]}),(0,a.Y)("div",{className:"space-y-1",children:r.map((e,r)=>(0,a.FD)("div",{className:"flex hover:bg-ink/5 cursor-pointer rounded px-1 py-0.5",children:[(0,a.Y)("span",{className:"text-ink/40 w-6 flex-shrink-0 text-right mr-2",children:e.line}),(0,a.Y)("span",{className:"truncate text-ink",dangerouslySetInnerHTML:{__html:(0,v.wY)(e.content.trim(),(0,v.sQ)(t))}})]},r))})]},t)})]})})]})}},wA(e,t,r){var a=r("j"),n=r("H"),i=r("rm"),l=r("Go"),s=r("t3"),c=r("Ir"),o=r("z"),d=r("oj");function h(e){let{rootPath:t,activeRepo:r,onSelectRepo:h}=e,[p,u]=(0,n.J0)(!1),[x,k]=(0,n.J0)(["."]),[m,y]=(0,n.J0)(!1),[f,b]=(0,n.J0)(""),g=(0,n.li)(null),v=function(e){if(!e)return"workspace root";let t=e.replace(/\\/g,"/").split("/").filter(Boolean);return t.length>0?t[t.length-1]:"workspace root"}(t),N=e=>"."===e?v:e,w=async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=new URLSearchParams({reposOnly:"1"});t&&r.set("root",t),e&&r.set("rescan","1"),r.set("t",String(Date.now()));let a=await fetch(`/api/fs/git?${r.toString()}`).then(e=>e.json()).catch(()=>null);a&&Array.isArray(a.repos)&&(k(a.repos),a.reposPending?y(!0):y(!1))};(0,n.vJ)(()=>{p&&w()},[p,t]),(0,n.vJ)(()=>{if(!m)return;let e=new URLSearchParams({reposOnly:"1"});t&&e.set("root",t);let r=setInterval(async()=>{let t=await fetch(`/api/fs/git?${e.toString()}`).then(e=>e.json()).catch(()=>null);t&&!t.reposPending&&Array.isArray(t.repos)&&(k(t.repos),y(!1))},1500);return()=>clearInterval(r)},[m,t]),(0,d.W)(g,()=>u(!1));let Y=x.filter(e=>!f.trim()||N(e).toLowerCase().includes(f.toLowerCase()));return(0,a.FD)("div",{className:"relative",ref:g,children:[(0,a.FD)("button",{type:"button",onClick:()=>u(!p),title:"Switch git project",className:"flex items-center space-x-1.5 hover:bg-ink/5 px-2 py-1 rounded transition-colors text-xs text-ink/80 font-medium",children:[(0,a.Y)(i.A,{size:12,className:"text-ink/60"}),(0,a.Y)("span",{className:"truncate max-w-[110px]",children:"."===r?v:r.split("/").pop()}),(0,a.Y)(l.A,{size:12,className:"text-ink/40"})]}),p&&(0,a.FD)("div",{className:"absolute top-full left-0 mt-1 w-52 bg-paper border border-ink/20 rounded-md shadow-lg z-50 flex flex-col overflow-hidden text-xs",children:[(0,a.FD)("div",{className:"px-2 py-1.5 border-b border-ink/10 flex items-center space-x-1.5",children:[(0,a.Y)(s.A,{size:11,className:"text-ink/40 flex-shrink-0"}),(0,a.Y)("input",{type:"text",value:f,onChange:e=>b(e.currentTarget.value),placeholder:"Search repos...",title:"Search repositories",className:"w-full bg-transparent outline-none text-xs text-ink placeholder-ink/40",autoFocus:!0}),f&&(0,a.Y)("button",{type:"button",onClick:()=>b(""),title:"Clear search",className:"text-ink/40 hover:text-ink flex-shrink-0",children:"×"}),(0,a.Y)("button",{type:"button",onClick:()=>void w(!0),title:"Refresh nested repos",disabled:m,className:"text-ink/40 hover:text-ink flex-shrink-0 transition-colors disabled:opacity-40 disabled:hover:text-ink/40",children:(0,a.Y)(c.A,{size:11,className:m?"animate-spin":""})})]}),(0,a.Y)("div",{className:"max-h-48 scrollbar-overlay-container scrollbar-overlay-static py-1",children:0===Y.length?(0,a.Y)("div",{className:"px-3 py-2 text-ink/40 italic",children:"No repos found"}):Y.map(e=>(0,a.FD)("button",{type:"button",onClick:()=>{h(e),u(!1),b("")},title:N(e),className:"w-full text-left px-3 py-2 hover:bg-ink/5 flex items-center justify-between transition-colors",children:[(0,a.Y)("span",{className:"truncate",children:N(e)}),r===e&&(0,a.Y)(o.A,{size:12,className:"text-ink"})]},e))})]})]})}r.d(t,{I:()=>h})},rm(e,t,r){let a=(0,r("y").A)({name:"folder-git-2",size:24,node:[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]});r.d(t,{},{A:a})}}]);
|
|
1
|
+
/*! LICENSE: 1k.a411fe5b43.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["1k"],{X8(e,t,r){r.d(t,{SearchPanel:()=>w});var a=r("j"),n=r("H"),i=r("Sj"),l=r("z"),s=r("t3"),c=r("y");let o=(0,c.A)({name:"case-sensitive",size:24,node:[["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M22 9v7",key:"pvm9v3"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}],["circle",{cx:"18.5",cy:"12.5",r:"3.5",key:"z97x68"}]]}),d=(0,c.A)({name:"whole-word",size:24,node:[["circle",{cx:"7",cy:"12",r:"3",key:"12clwm"}],["path",{d:"M10 9v6",key:"17i7lo"}],["circle",{cx:"17",cy:"12",r:"3",key:"gl7c2s"}],["path",{d:"M14 7v8",key:"dl84cr"}],["path",{d:"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1",key:"lt2kga"}]]}),h=(0,c.A)({name:"regex",size:24,node:[["path",{d:"M17 3v10",key:"15fgeh"}],["path",{d:"m12.67 5.5 8.66 5",key:"1gpheq"}],["path",{d:"m12.67 10.5 8.66-5",key:"1dkfa6"}],["path",{d:"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z",key:"swwfx4"}]]}),p=(0,c.A)({name:"replace-all",size:24,node:[["path",{d:"M14 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1",key:"zg1ipl"}],["path",{d:"M14 4a1 1 0 0 1 1-1",key:"dhj8ez"}],["path",{d:"M15 10a1 1 0 0 1-1-1",key:"1mnyi5"}],["path",{d:"M19 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1",key:"txt6k4"}],["path",{d:"M21 4a1 1 0 0 0-1-1",key:"sfs9ap"}],["path",{d:"M21 9a1 1 0 0 1-1 1",key:"mp6qeo"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a2 2 0 0 1 2-2h2",key:"15xut4"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}]]}),u=(0,c.A)({name:"replace",size:24,node:[["path",{d:"M14 4a1 1 0 0 1 1-1",key:"dhj8ez"}],["path",{d:"M15 10a1 1 0 0 1-1-1",key:"1mnyi5"}],["path",{d:"M21 4a1 1 0 0 0-1-1",key:"sfs9ap"}],["path",{d:"M21 9a1 1 0 0 1-1 1",key:"mp6qeo"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a2 2 0 0 1 2-2h2",key:"15xut4"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}]]});var x=r("pX"),k=r("X"),m=r("wA"),y=r("jo"),f=r("FL"),b=r("G1"),g=r("oj"),v=r("DU"),N=r("Po");function w(e){let{className:t="",enabled:r=!0,rootPath:c}=e;(0,N.w)();let[w,Y]=(0,f.bL)("search.query",""),[z,S]=(0,f.bL)("search.replaceQuery",""),[F,A]=(0,f.bL)("search.matchCase",!1),[C,M]=(0,f.bL)("search.wholeWord",!1),[j,D]=(0,f.bL)("search.useRegex",!1),[L,J]=(0,f.bL)("search.includeFiles",""),[R,P]=(0,n.J0)(!1),[T,O]=(0,f.bL)("search.showIncludeField",!1),[$,q]=(0,f.bL)("search.activeRepo","."),W=(0,n.li)(null),{isScrolling:H,handleScroll:I}=(0,y.K)(),U=(0,k.L)(),{results:V,isSearching:X,start:G}=function(){let[e,t]=(0,n.J0)([]),[r,a]=(0,n.J0)(!1),i=(0,n.li)(null),l=(0,n.li)(!0);return(0,n.vJ)(()=>(l.current=!0,()=>{l.current=!1,i.current?.abort(),i.current=null}),[]),{results:e,isSearching:r,start:(0,n.hb)(async e=>{i.current?.abort();let r=new AbortController;i.current=r,t([]),a(!0);try{let a=await fetch("/api/fs/search",{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams(e),signal:r.signal});await (0,b.o)(a,(e,r)=>{if("matches"===e)try{let e=JSON.parse(r);Array.isArray(e)&&t(t=>[...t,...e])}catch{}},r.signal)}catch{}finally{l.current&&i.current===r&&(i.current=null,a(!1))}},[])}}();(0,g.W)(W,()=>P(!1));let Q=()=>{if(r&&w.trim().length>2)return G({q:w,matchCase:String(F),wholeWord:String(C),useRegex:String(j),includeFiles:T?L:"",...c?{root:c}:{},..."."!==$?{repo:$}:{}})};(0,n.vJ)(()=>{let e=setTimeout(()=>{Q()},300);return()=>clearTimeout(e)},[w,F,C,j,L,T,c,r,$]);let _=e=>{if(!w)return;let t=e?[e]:Object.keys(B);0!==t.length&&U.submit({q:w,replaceWith:z,matchCase:String(F),wholeWord:String(C),useRegex:String(j),files:JSON.stringify(t),...c?{root:c}:{},..."."!==$?{repo:$}:{}},{method:"POST",action:"/api/fs/replace"})};if((0,n.vJ)(()=>{"idle"===U.state&&U.data?.success&&Q()},[U.state,U.data]),!r)return(0,a.Y)("div",{className:`flex flex-col h-full bg-paper items-center justify-center text-ink/40 ${t}`,children:(0,a.Y)("span",{className:"text-xs font-mono",children:"No session selected"})});let B=V.reduce((e,t)=>(e[t.file]||(e[t.file]=[]),e[t.file].push(t),e),{});return(0,a.FD)("div",{className:`flex flex-col h-full bg-paper ${t}`,children:[(0,a.FD)("div",{className:"p-3 border-b border-ink/10 flex items-center justify-between",children:[(0,a.FD)("div",{className:"flex items-center space-x-2 min-w-0",children:[(0,a.Y)("h2",{className:"text-xs font-semibold text-ink uppercase tracking-wider",children:"Search"}),(0,a.Y)(m.I,{rootPath:c,activeRepo:$,onSelectRepo:q})]}),(0,a.FD)("div",{className:"relative",ref:W,children:[(0,a.Y)("button",{onClick:()=>P(!R),className:`p-1 rounded hover:bg-ink/5 transition-colors ${R||T?"text-ink":"text-ink/40"}`,title:"Search Options",children:(0,a.Y)(i.A,{size:14})}),R&&(0,a.Y)("div",{className:"absolute right-0 top-full mt-1 w-48 bg-paper border border-ink/10 rounded shadow-lg z-10 py-1",children:(0,a.FD)("button",{onClick:()=>{O(!T),T&&J(""),P(!1)},className:"w-full px-3 py-1.5 text-left text-xs text-ink hover:bg-ink/5 flex items-center justify-between",children:[(0,a.Y)("span",{children:"Files to include"}),T&&(0,a.Y)(l.A,{size:12,className:"text-ink/60"})]})})]})]}),(0,a.FD)("div",{className:"p-3 flex flex-col gap-2.5 border-b border-ink/10",children:[(0,a.Y)("div",{className:"relative",children:(0,a.FD)("div",{className:"flex items-center border border-ink/20 rounded bg-paper focus-within:border-ink/40 focus-within:ring-1 focus-within:ring-ink/10 transition-all",children:[(0,a.Y)(s.A,{size:14,className:"ml-2 text-ink/40 flex-shrink-0"}),(0,a.Y)("input",{type:"text",placeholder:"Search",value:w,onChange:e=>Y(e.currentTarget.value),className:"w-full bg-transparent border-none text-xs px-2 py-1.5 focus:outline-none text-ink placeholder-ink/30 min-w-0"}),(0,a.FD)("div",{className:"flex items-center space-x-0.5 pr-1 text-ink/40 flex-shrink-0",children:[(0,a.Y)("button",{onClick:()=>A(!F),className:`p-1 rounded hover:text-ink ${F?"bg-ink/10 text-ink":"hover:bg-ink/5"}`,title:"Match Case",children:(0,a.Y)(o,{size:14})}),(0,a.Y)("button",{onClick:()=>M(!C),className:`p-1 rounded hover:text-ink ${C?"bg-ink/10 text-ink":"hover:bg-ink/5"}`,title:"Match Whole Word",children:(0,a.Y)(d,{size:14})}),(0,a.Y)("button",{onClick:()=>D(!j),className:`p-1 rounded hover:text-ink ${j?"bg-ink/10 text-ink":"hover:bg-ink/5"}`,title:"Use Regular Expression",children:(0,a.Y)(h,{size:14})})]})]})}),(0,a.FD)("div",{className:"relative flex items-center space-x-1",children:[(0,a.Y)("input",{type:"text",placeholder:"Replace",value:z,onChange:e=>S(e.currentTarget.value),className:"flex-1 min-w-0 bg-paper border border-ink/20 rounded text-xs px-2 py-1.5 focus:outline-none focus:border-ink/40 focus:ring-1 focus:ring-ink/10 transition-all text-ink placeholder-ink/30"}),(0,a.Y)("button",{onClick:()=>_(),disabled:0===V.length||"idle"!==U.state,className:"p-1.5 rounded border border-ink/20 text-ink/60 hover:text-ink hover:bg-ink/5 disabled:opacity-50 disabled:cursor-not-allowed bg-paper",title:"Replace All",children:(0,a.Y)(p,{size:14})})]}),T&&(0,a.Y)("div",{className:"relative",children:(0,a.Y)("input",{type:"text",value:L,onChange:e=>J(e.currentTarget.value),placeholder:"Files to include (e.g. *.js, src/*)",className:"w-full bg-paper border border-ink/20 rounded text-xs px-2 py-1.5 focus:outline-none focus:border-ink/40 focus:ring-1 focus:ring-ink/10 transition-all text-ink placeholder-ink/40"})})]}),(0,a.Y)("div",{onScroll:I,className:`flex-1 scrollbar-overlay-container px-3 py-2 text-xs ${(0,y.p)(H)}`,children:X&&0===V.length?(0,a.Y)("div",{className:"text-ink/40 italic text-center py-4",children:"Searching..."}):w.trim().length<=2?(0,a.Y)("div",{className:"text-ink/40 italic text-center py-4",children:"Type at least 3 characters to search."}):0===V.length?(0,a.Y)("div",{className:"text-ink/40 italic text-center py-4",children:"No results found."}):(0,a.FD)("div",{className:"space-y-4",children:[X&&(0,a.Y)("div",{className:"text-ink/40 italic",children:"Searching…"}),Object.entries(B).map(e=>{let[t,r]=e;return(0,a.FD)("div",{children:[(0,a.FD)("div",{className:"font-semibold text-ink/80 flex items-center justify-between mb-1 group",children:[(0,a.FD)("div",{className:"flex items-center min-w-0",children:[(0,a.Y)(x.o,{name:t,size:12,className:"mr-1.5 flex-shrink-0"}),(0,a.Y)("span",{className:"truncate",children:t}),(0,a.Y)("span",{className:"ml-2 bg-ink/10 text-[9px] px-1.5 py-0.5 rounded-full flex-shrink-0",children:r.length})]}),(0,a.Y)("button",{onClick:()=>_(t),disabled:"idle"!==U.state,className:"opacity-0 group-hover:opacity-100 p-1 text-ink/40 hover:text-ink rounded hover:bg-ink/5 disabled:opacity-50 flex-shrink-0",title:"Replace in this file",children:(0,a.Y)(u,{size:12})})]}),(0,a.Y)("div",{className:"space-y-1",children:r.map((e,r)=>(0,a.FD)("div",{className:"flex hover:bg-ink/5 cursor-pointer rounded px-1 py-0.5",children:[(0,a.Y)("span",{className:"text-ink/40 w-6 flex-shrink-0 text-right mr-2",children:e.line}),(0,a.Y)("span",{className:"truncate text-ink",dangerouslySetInnerHTML:{__html:(0,v.wY)(e.content.trim(),(0,v.sQ)(t))}})]},r))})]},t)})]})})]})}},wA(e,t,r){var a=r("j"),n=r("H"),i=r("rm"),l=r("Go"),s=r("t3"),c=r("Ir"),o=r("z"),d=r("oj");function h(e){let{rootPath:t,activeRepo:r,onSelectRepo:h}=e,[p,u]=(0,n.J0)(!1),[x,k]=(0,n.J0)(["."]),[m,y]=(0,n.J0)(!1),[f,b]=(0,n.J0)(""),g=(0,n.li)(null),v=function(e){if(!e)return"workspace root";let t=e.replace(/\\/g,"/").split("/").filter(Boolean);return t.length>0?t[t.length-1]:"workspace root"}(t),N=e=>"."===e?v:e,w=async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=new URLSearchParams({reposOnly:"1"});t&&r.set("root",t),e&&r.set("rescan","1"),r.set("t",String(Date.now()));let a=await fetch(`/api/fs/git?${r.toString()}`).then(e=>e.json()).catch(()=>null);a&&Array.isArray(a.repos)&&(k(a.repos),a.reposPending?y(!0):y(!1))};(0,n.vJ)(()=>{p&&w()},[p,t]),(0,n.vJ)(()=>{if(!m)return;let e=new URLSearchParams({reposOnly:"1"});t&&e.set("root",t);let r=setInterval(async()=>{let t=await fetch(`/api/fs/git?${e.toString()}`).then(e=>e.json()).catch(()=>null);t&&!t.reposPending&&Array.isArray(t.repos)&&(k(t.repos),y(!1))},1500);return()=>clearInterval(r)},[m,t]),(0,d.W)(g,()=>u(!1));let Y=x.filter(e=>!f.trim()||N(e).toLowerCase().includes(f.toLowerCase()));return(0,a.FD)("div",{className:"relative",ref:g,children:[(0,a.FD)("button",{type:"button",onClick:()=>u(!p),title:"Switch git project",className:"flex items-center space-x-1.5 hover:bg-ink/5 px-2 py-1 rounded transition-colors text-xs text-ink/80 font-medium",children:[(0,a.Y)(i.A,{size:12,className:"text-ink/60"}),(0,a.Y)("span",{className:"truncate max-w-[110px]",children:"."===r?v:r.split("/").pop()}),(0,a.Y)(l.A,{size:12,className:"text-ink/40"})]}),p&&(0,a.FD)("div",{className:"absolute top-full left-0 mt-1 w-52 bg-paper border border-ink/20 rounded-md shadow-lg z-50 flex flex-col overflow-hidden text-xs",children:[(0,a.FD)("div",{className:"px-2 py-1.5 border-b border-ink/10 flex items-center space-x-1.5",children:[(0,a.Y)(s.A,{size:11,className:"text-ink/40 flex-shrink-0"}),(0,a.Y)("input",{type:"text",value:f,onChange:e=>b(e.currentTarget.value),placeholder:"Search repos...",title:"Search repositories",className:"w-full bg-transparent outline-none text-xs text-ink placeholder-ink/40",autoFocus:!0}),f&&(0,a.Y)("button",{type:"button",onClick:()=>b(""),title:"Clear search",className:"text-ink/40 hover:text-ink flex-shrink-0",children:"×"}),(0,a.Y)("button",{type:"button",onClick:()=>void w(!0),title:"Refresh nested repos",disabled:m,className:"text-ink/40 hover:text-ink flex-shrink-0 transition-colors disabled:opacity-40 disabled:hover:text-ink/40",children:(0,a.Y)(c.A,{size:11,className:m?"animate-spin":""})})]}),(0,a.Y)("div",{className:"max-h-48 scrollbar-overlay-container scrollbar-overlay-static py-1",children:0===Y.length?(0,a.Y)("div",{className:"px-3 py-2 text-ink/40 italic",children:"No repos found"}):Y.map(e=>(0,a.FD)("button",{type:"button",onClick:()=>{h(e),u(!1),b("")},title:N(e),className:"w-full text-left px-3 py-2 hover:bg-ink/5 flex items-center justify-between transition-colors",children:[(0,a.Y)("span",{className:"truncate",children:N(e)}),r===e&&(0,a.Y)(o.A,{size:12,className:"text-ink"})]},e))})]})]})}r.d(t,{I:()=>h})},rm(e,t,r){let a=(0,r("y").A)({name:"folder-git-2",size:24,node:[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]});r.d(t,{},{A:a})}}]);
|