pisper 0.6.3 → 0.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +0 -6
- package/README.md +0 -6
- package/bin/pisper.mjs +7 -15
- package/lib/install.mjs +9 -49
- package/lib/npm-platform.mjs +0 -12
- package/package.json +8 -9
- package/web/.vite/manifest.json +713 -737
- package/web/assets/AppDialog-BOGrPFbo.js +1 -0
- package/web/assets/{AppOverlays-CR5iJcP5.js → AppOverlays-D1vfPPIC.js} +1 -1
- package/web/assets/AppSelect-BCexz4Ty.js +1 -0
- package/web/assets/{AppShortcuts-BachmLQ3.js → AppShortcuts-Dd4gu7qz.js} +1 -1
- package/web/assets/{AssetsPage-BltehMID.js → AssetsPage-BPhPo5eU.js} +1 -1
- package/web/assets/ChannelsPage-Cu4v-GU2.js +1 -0
- package/web/assets/ChatAppearancePage-BLRQ7aH6.js +2 -0
- package/web/assets/ChatHistoryPage-BYqJFbY5.js +1 -0
- package/web/assets/ChatPage-tqAIj2Go.js +554 -0
- package/web/assets/ConfigPage-Z-BQwP2X.js +1 -0
- package/web/assets/{DecisionsPage-DOhLbIaD.js → DecisionsPage-Db6MIGD2.js} +1 -1
- package/web/assets/{DesktopWindowControls-KmgemDO8.js → DesktopWindowControls-CBYGv94u.js} +1 -1
- package/web/assets/{FloatingWidgets-Bs7ec6lW.js → FloatingWidgets-dzsQIxAO.js} +1 -1
- package/web/assets/{GitDiffViewer-xm2LnN9r.js → GitDiffViewer-m5aLB7Li.js} +1 -1
- package/web/assets/MarkdownMessage-CA9ODRKk.js +2 -0
- package/web/assets/McpPage-rerFxjYZ.js +1 -0
- package/web/assets/MemoryPage-cukfU824.js +1 -0
- package/web/assets/MobileContextScreen-W8V4H3Xv.js +2 -0
- package/web/assets/MobileNavigation-CEVgs1Ke.js +1 -0
- package/web/assets/MobileShellContext-D8qX-BlM.js +1 -0
- package/web/assets/{PageHeader-C_bfu8Ir.js → PageHeader-DIs9bESb.js} +1 -1
- package/web/assets/{PluginsPage-BPx5ERHL.js → PluginsPage-09Um3mY4.js} +1 -1
- package/web/assets/QueryClientProvider-CHJtxoX1.js +1 -0
- package/web/assets/{QuickPromptIdeas-Bs-udcSZ.js → QuickPromptIdeas-DGIL0nN7.js} +1 -1
- package/web/assets/SchedulesPage-C75QUeB5.js +1 -0
- package/web/assets/SessionContextPanel-oaKXyi7k.js +1 -0
- package/web/assets/{SessionFilesPane-BIRQ_hHi.js → SessionFilesPane-DPijesqH.js} +2 -2
- package/web/assets/{SidebarMoreTools-BDqt5VTG.js → SidebarMoreTools-D1nDS3i0.js} +1 -1
- package/web/assets/SidebarRecentSessions-a7z2ZvDv.js +2 -0
- package/web/assets/{SidebarSettingsButton-B4_vEBS5.js → SidebarSettingsButton-CRdV0Vft.js} +1 -1
- package/web/assets/{SidebarUpdateStatus-DD8f4Fxv.js → SidebarUpdateStatus-DgNJBwgT.js} +1 -1
- package/web/assets/SkillsPage-DLirgTyX.js +1 -0
- package/web/assets/TerminalPanel-CJPy4Qhs.js +18 -0
- package/web/assets/{ThemeToggleButton-CXXbLtcY.js → ThemeToggleButton-C5QA5Kf2.js} +1 -1
- package/web/assets/{WebDesktopPet-DWFspeZE.js → WebDesktopPet-DgyHLE9y.js} +1 -1
- package/web/assets/{WorkbenchSidebarToggle-AgjfcT29.js → WorkbenchSidebarToggle-CcO1Al5A.js} +1 -1
- package/web/assets/WorkflowsPage-DrKHzJvb.js +1 -0
- package/web/assets/WorkspacePicker-B3liZkwe.js +1 -0
- package/web/assets/{api-Dzobr-o_.js → api-YI8_cHpR.js} +1 -1
- package/web/assets/{app-primitives-BBXY6U2S.js → app-primitives-SxfoFmHc.js} +1 -1
- package/web/assets/app-update-Bg6w1SOW.js +32 -0
- package/web/assets/arrow-up-DST6-qVQ.js +1 -0
- package/web/assets/catalog-BPCnu3F8.js +1 -0
- package/web/assets/channels-messages-DgWnmzUo.js +1 -0
- package/web/assets/chat-api-CqF-FICX.js +1 -0
- package/web/assets/{client-store-DPMvgPNS.js → client-store-BP_3-plw.js} +1 -1
- package/web/assets/{component-api-Nwo2yGZI.js → component-api-CN9Tcn5p.js} +1 -1
- package/web/assets/config-search-DOIJENN1.js +1 -0
- package/web/assets/dist-B7rNRXig.js +1 -0
- package/web/assets/dist-C3P9WH0T.js +1 -0
- package/web/assets/dist-CXiO_DNx.js +1 -0
- package/web/assets/dist-D8Wfxh48.js +1 -0
- package/web/assets/{dropdown-menu-DmL4pJTo.js → dropdown-menu-pKRdLJUe.js} +1 -1
- package/web/assets/{events-Bwv6HmwM.js → events-KqdUtjsm.js} +1 -1
- package/web/assets/{floating-widgets-store-DIy4GSy4.js → floating-widgets-store-Pjm1AdvO.js} +2 -2
- package/web/assets/folder-DPM8D8cf.js +1 -0
- package/web/assets/house-BNrzTkx9.js +1 -0
- package/web/assets/{http-DphgzWtw.js → http-Be2GB6DH.js} +1 -1
- package/web/assets/i18n-8nTnthu6.js +1 -0
- package/web/assets/{index-iBrSU61i.js → index-AF29hfx9.js} +2 -2
- package/web/assets/index-BAmsg90v.css +2 -0
- package/web/assets/monitor-ORxecA9m.js +1 -0
- package/web/assets/mount-app-WW5hteuX.js +9 -0
- package/web/assets/panels-top-left-BlZftvhg.js +1 -0
- package/web/assets/pick-system-directory-BnIFt85A.js +1 -0
- package/web/assets/{popover-BBuzaBfd.js → popover-CQqAaq-c.js} +1 -1
- package/web/assets/public-c36e4881.js +1 -0
- package/web/assets/public-components-C4ndcOCF.js +1 -0
- package/web/assets/{runtime-capabilities-store-DaWPY5y-.js → runtime-capabilities-store-CiL3ZPEo.js} +1 -1
- package/web/assets/scale-D0LcHVmf.js +1 -0
- package/web/assets/{session-change-summary-api-DFgTzTci.js → session-change-summary-api--7cl4LDn.js} +1 -1
- package/web/assets/session-context-store-DJnHgWwb.js +1 -0
- package/web/assets/session-list-DkNhT87s.js +1 -0
- package/web/assets/settings-navigation-CI7Yt4Or.js +1 -0
- package/web/assets/{shortcuts-BO-h6OmP.js → shortcuts-C_Cph88H.js} +1 -1
- package/web/assets/side-chat-context-Dn8w9ut8.js +3 -0
- package/web/assets/{sidebar-CfWEKOIK.js → sidebar-C3YJQV72.js} +1 -1
- package/web/assets/{speech-session-DKjw0mV_.js → speech-session-CoUr4n9Q.js} +1 -1
- package/web/assets/{startup-queries-CAQZvUIR.js → startup-queries-ByepQfGF.js} +1 -1
- package/web/assets/tabs-B60r4YwO.js +1 -0
- package/web/assets/{ui-store-2wpnH8Kf.js → ui-store-BGs-dEVz.js} +1 -1
- package/web/assets/{use-i18n-BSZKFkMb.js → use-i18n-a84Zp9dV.js} +1 -1
- package/web/assets/{useCustomUiComponents-BH86kuaq.js → useCustomUiComponents-BaQ_fwbr.js} +1 -1
- package/web/assets/useQuery-D3P5wO_Z.js +1 -0
- package/web/assets/web-preview-B7L-G6kp.js +1 -0
- package/web/assets/web-preview-events-C4AW4-It.js +1 -0
- package/web/index.html +2 -2
- package/web/assets/AppSelect-D149YYg1.js +0 -1
- package/web/assets/ChannelsPage-Tuw_qicj.js +0 -1
- package/web/assets/ChatAppearancePage-DME3PgDr.js +0 -2
- package/web/assets/ChatDockView-DoGtrBpY.js +0 -2
- package/web/assets/ChatHistoryPage-DTXS6i3n.js +0 -1
- package/web/assets/ChatPage-ibc_7olm.js +0 -4
- package/web/assets/ConfigPage-CI6one5Y.js +0 -1
- package/web/assets/MarkdownMessage-H1336cMr.js +0 -2
- package/web/assets/McpPage-Ck-7aLuZ.js +0 -1
- package/web/assets/MemoryPage-BEdNJ3ot.js +0 -1
- package/web/assets/MobileContextScreen-Dasny2J9.js +0 -2
- package/web/assets/MobileThreePane-DEKMHPfN.js +0 -1
- package/web/assets/SchedulesPage-W4Mg7frl.js +0 -1
- package/web/assets/SessionContextPanel-lu9F9AJg.js +0 -1
- package/web/assets/SidebarRecentSessions-1G_huYu9.js +0 -1
- package/web/assets/SkillsPage-CpRRosmo.js +0 -1
- package/web/assets/TerminalPanel-DVKC4htc.js +0 -18
- package/web/assets/Threads-B8ij_QtI.js +0 -1
- package/web/assets/WorkflowsPage-bhQlHSzS.js +0 -1
- package/web/assets/app-update-DppJNspd.js +0 -32
- package/web/assets/arrow-right-DqLOhpA2.js +0 -1
- package/web/assets/catalog-D4eaIju4.js +0 -1
- package/web/assets/channels-messages-CeRKS_DE.js +0 -1
- package/web/assets/chat-api-DfnvubiW.js +0 -1
- package/web/assets/chevron-left-BAtyp3_6.js +0 -1
- package/web/assets/config-search-CwVhh2uc.js +0 -1
- package/web/assets/dist-DAs5KRGl.js +0 -1
- package/web/assets/dist-swnK7PHk.js +0 -1
- package/web/assets/i18n-7QvbQzOQ.js +0 -1
- package/web/assets/index-CdASiNlI.css +0 -2
- package/web/assets/local-path-reveal-DWhkyox-.js +0 -1
- package/web/assets/mobile-shell-layout-CMpTmYRX.js +0 -1
- package/web/assets/mount-app-n_05p6iW.js +0 -9
- package/web/assets/panel-left-C_lYsiIA.js +0 -1
- package/web/assets/panel-right-BSUtqUd8.js +0 -1
- package/web/assets/pick-system-directory-R1F5WyaB.js +0 -1
- package/web/assets/pin-Dc2zE4cS.js +0 -1
- package/web/assets/public-BcTP7F3I.js +0 -1
- package/web/assets/public-components-Ck5BYo6M.js +0 -1
- package/web/assets/session-list-CMaoK_ZX.js +0 -1
- package/web/assets/session-streaming-state-llCTupbI.js +0 -3
- package/web/assets/side-chat-context-Dr2QLUJA.js +0 -1
- package/web/assets/tabs-DQYVDdOp.js +0 -1
- package/web/assets/use-animation-visibility-_Xe7jeUy.js +0 -1
- package/web/assets/useQuery-DdcpUQhO.js +0 -1
- package/web/assets/vendor-dockview-Bf3Gg83W.js +0 -1
- package/web/assets/vendor-dockview-D5adAaCg.css +0 -1
- package/web/assets/web-preview-BPNd1LUd.js +0 -1
- package/web/assets/web-preview-CQbpHjt1.js +0 -1
- package/web/assets/web-preview-events-o845ErdA.js +0 -1
- package/web/assets/web-preview-panel-DVQxVfig.js +0 -552
- package/web/assets/workflow-Bg94dy8I.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{t as r}from"./use-i18n-BSZKFkMb.js";import{t as i}from"./AppSelect-D149YYg1.js";import{i as a,n as o,t as s}from"./tooltip-Bxq7c2mZ.js";import{t as c}from"./createLucideIcon-Cd-3GVxJ.js";import{t as l}from"./check-2vYc6QaP.js";import{t as u}from"./chevron-right-C3t2Rckj.js";import{t as d}from"./file-code-corner-BnE1ljT0.js";import{t as ee}from"./info-DATxy0fb.js";import{t as f}from"./loader-circle-BOwQzHB-.js";import{t as p}from"./pencil-U08v_vV9.js";import{t as te}from"./plus-fQbSqB1n.js";import{t as ne}from"./refresh-cw-TbWxTY4K.js";import{t as re}from"./trash-2-CNrPOoPR.js";import{t as m}from"./x-07u4-129.js";import{t as h}from"./api-Dzobr-o_.js";import{t as g}from"./button-CQA36izu.js";import{t as _}from"./field-3bN8nouy.js";import{i as v,n as y,o as b,t as x}from"./app-primitives-BBXY6U2S.js";import{t as ie}from"./use-animation-visibility-_Xe7jeUy.js";import{t as ae}from"./StarOrbit-BAAjh-hY.js";import{t as oe}from"./usePagePrimaryAction-CWPC0C_f.js";var se=c(`zoom-out`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),ce=c(`zoom-in`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`,key:`1vmskp`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),S=e(t(),1),C=n(),w={width:600,height:420,cx:300,cy:206},T=24,le=Math.PI*(3-Math.sqrt(5)),ue=[`concept`,`file`,`risk`,`preference`,`decision`,`fact`,`task`];function de(e,t){return t(e===`file`?`memory:memoryPage.fileType`:e===`risk`?`memory:memoryPage.riskType`:e===`preference`?`memory:memoryPage.preferenceType`:e===`decision`?`memory:memoryPage.decisionType`:e===`fact`?`memory:memoryPage.factType`:e===`task`?`memory:memoryPage.taskType`:`memory:memoryPage.conceptType`)}var fe={concept:`var(--g-concept)`,file:`var(--g-file)`,risk:`var(--g-risk)`,preference:`var(--g-preference)`,decision:`var(--g-decision)`,fact:`var(--g-fact)`,task:`var(--g-task)`},pe={concept:`var(--g-concept-glow)`,file:`var(--g-file-glow)`,risk:`var(--g-risk-glow)`,preference:`var(--g-preference-glow)`,decision:`var(--g-decision-glow)`,fact:`var(--g-fact-glow)`,task:`var(--g-task-glow)`};function E(e){let t=0;for(let n=0;n<e.length;n+=1)t=t*31+e.charCodeAt(n)>>>0;return t}function me(e,t){let n=e.slice(0,T);if(!n.length)return[];if(n.length===1)return[{node:n[0],x:w.cx,y:w.cy,twinkle:0}];let r=E(t||`galaxy`)%628/100,i=172/Math.sqrt(n.length);return n.map((e,t)=>{let n=E(e.id),a=t*le+r,o=i*Math.sqrt(t+.55)+n%11-5;return{node:e,x:w.cx+Math.cos(a)*o*1.38,y:w.cy+Math.sin(a)*o*.74,twinkle:n%50/10}})}function D(e,t=`zh-CN`){if(!e)return`—`;let n=new Date(e);return Number.isNaN(n.getTime())?e:new Intl.DateTimeFormat(t,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1}).format(n)}function O(e,t=e=>e){return e?.kind===`global`?t(`memory:memoryPage.globalMemorySpace`):e?.name||``}function he(e,t,n){let r=t.x-e.x,i=t.y-e.y,a=Math.hypot(r,i)||1,o=Math.min(24,a*.16)*(n%2==0?1:-1),s=(e.x+t.x)/2-i/a*o,c=(e.y+t.y)/2+r/a*o;return`M ${e.x.toFixed(1)} ${e.y.toFixed(1)} Q ${s.toFixed(1)} ${c.toFixed(1)} ${t.x.toFixed(1)} ${t.y.toFixed(1)}`}function k(e){return e instanceof Error?e.message:String(e)}function A({notify:e,query:t=``,registerPrimaryAction:n,requestConfirm:i}){let{t:c,language:_}=r(),[T,le]=(0,S.useState)({spaces:[],nodes:[],links:[],candidates:[],selectedSpaceId:``}),[A,j]=(0,S.useState)(``),[M,N]=(0,S.useState)(``),P=(0,S.useRef)(0),[ve,ye]=(0,S.useState)(!0),[be,F]=(0,S.useState)(``),[xe,Se]=(0,S.useState)(1),[I,L]=(0,S.useState)(null),[R,z]=(0,S.useState)(null),[Ce,we]=(0,S.useState)(``),[B,V]=(0,S.useState)(``),[H,U]=(0,S.useState)(null),[W,Te]=(0,S.useState)(!1),G=(0,S.useRef)(null),K=(0,S.useRef)(0),{ref:Ee,playing:q}=ie(),De=(0,S.useCallback)(e=>{G.current=e,Ee(e)},[Ee]),Oe=q?``:`[&:before]:[animation-play-state:paused]! [&:after]:[animation-play-state:paused]! [&_*]:[animation-play-state:paused]! [&_*:before]:[animation-play-state:paused]! [&_*:after]:[animation-play-state:paused]!`;oe(n,()=>L({spaceId:A||T.selectedSpaceId}));let ke=e=>{if(!q)return;let t=G.current;if(!t)return;let n=t.getBoundingClientRect(),r=((e.clientX-n.left)/n.width-.5)*2,i=((e.clientY-n.top)/n.height-.5)*2;cancelAnimationFrame(K.current),K.current=requestAnimationFrame(()=>{t.style.setProperty(`--px`,r.toFixed(3)),t.style.setProperty(`--py`,i.toFixed(3))})},Ae=()=>{cancelAnimationFrame(K.current),G.current?.style.setProperty(`--px`,`0`),G.current?.style.setProperty(`--py`,`0`)};(0,S.useEffect)(()=>{q||(cancelAnimationFrame(K.current),K.current=0)},[q]),(0,S.useEffect)(()=>{let e=G.current?.querySelector(`svg`);e&&(q?e.unpauseAnimations():e.pauseAnimations())},[q]);let J=(0,S.useCallback)(async(e=``)=>{let n=++P.current;ye(!0),F(``);try{let r=new URLSearchParams;e&&r.set(`spaceId`,e),t.trim()&&r.set(`query`,t.trim());let i=await h(`/api/memory?${r}`);if(n!==P.current)return;le(i),j(i.selectedSpaceId||``),N(e=>i.nodes.some(t=>t.id===e)?e:i.nodes[0]?.id||``)}catch(e){n===P.current&&F(k(e))}finally{n===P.current&&ye(!1)}},[t]);(0,S.useEffect)(()=>(J(A),()=>{P.current+=1}),[J,A]),(0,S.useEffect)(()=>{let e=!0;return h(`/api/settings/memory`).then(t=>e&&U(t.autoApproveConfidence)).catch(()=>e&&U(60)),()=>{e=!1}},[]);let je=async()=>{let t=H;if(t===null||W)return;let n=Math.min(100,Math.max(0,Math.round(t)));n!==t&&U(n),Te(!0);try{await h(`/api/settings/memory`,{method:`PATCH`,body:{autoApproveConfidence:n}}),e(c(`memory:memoryPage.autoApproveSaved`))}catch(e){F(k(e))}finally{Te(!1)}},Y=T.nodes.find(e=>e.id===M)||null,X=(0,S.useMemo)(()=>me(T.nodes,A),[T.nodes,A]),Z=(0,S.useMemo)(()=>new Map(X.map(e=>[e.node.id,e])),[X]),Me=(0,S.useMemo)(()=>{let e=new Set(X.map(e=>e.node.id));return T.links.filter(t=>e.has(t.sourceId)&&e.has(t.targetId))},[X,T.links]),Ne=new Set(T.links.flatMap(e=>e.sourceId===M?[e.targetId]:e.targetId===M?[e.sourceId]:[])),Q=Ce||M,Pe=new Set(T.links.flatMap(e=>e.sourceId===Q?[e.targetId]:e.targetId===Q?[e.sourceId]:[])),Fe=T.nodes.filter(e=>e.type===`file`&&(Ne.has(e.id)||e.id===M)),$=T.spaces.find(e=>e.id===A),Ie=async t=>{if(await i({title:c(`memory:memoryPage.deleteMemory`),message:c(`memory:memoryPage.deleteMemoryName`,{name:t.title}),confirmLabel:c(`memory:memoryPage.delete`)}))try{await h(`/api/memory/nodes/${encodeURIComponent(t.id)}`,{method:`DELETE`}),e(c(`memory:memoryPage.memoryDeleted`)),await J(A)}catch(e){F(k(e))}},Le=async(t,n)=>{if(!B){V(t.id),F(``);try{await h(`/api/memory/candidates/${encodeURIComponent(t.id)}/${n}`,{method:`POST`,body:`{}`}),e(c(n===`accept`?`memory:memoryPage.memoryCandidateConfirmed`:`memory:memoryPage.memoryCandidateIgnored`)),await J(A)}catch(e){F(k(e))}finally{V(``)}}};return(0,C.jsxs)(`div`,{className:`memory-layout max-[1150px]:grid-cols-[220px_minmax(340px,1fr)] max-[650px]:grid-cols-[1fr] grid min-h-[100%] grid-cols-[230px_minmax(360px,1fr)_290px] gap-[12px]`,children:[(0,C.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-[12px]`,children:[(0,C.jsxs)(x,{className:`wiki-panel [&_>_button]:grid [&_>_button]:w-full [&_>_button]:grid-cols-[minmax(0,1fr)_auto_auto] [&_>_button]:items-center [&_>_button]:gap-[6px] [&_>_button]:border-0 [&_>_button]:[border-top:1px_solid_var(--stroke-soft)] [&_>_button]:bg-transparent [&_>_button]:p-[9px_5px] [&_>_button]:text-left [&_>_button]:text-[12px] [&_>_button.active]:rounded-[var(--r-xs)] [&_>_button.active]:bg-[var(--accent-soft)] [&_>_button_small]:text-[var(--text-muted)] [&_>_button_small]:text-[13px]`,children:[(0,C.jsxs)(y,{children:[(0,C.jsx)(b,{title:c(`memory:memoryPage.memorySpaces`)}),(0,C.jsx)(g,{variant:`ghost`,size:`icon`,title:c(`memory:memoryPage.newMemorySpace`),onClick:()=>z({}),children:(0,C.jsx)(te,{size:13})})]}),T.spaces.map(e=>(0,C.jsxs)(`button`,{className:e.id===A?`active`:``,onClick:()=>{j(e.id),N(``)},children:[(0,C.jsx)(`span`,{children:O(e,c)}),(0,C.jsx)(`small`,{children:c(`memory:memoryPage.countMemories`,{count:e.nodeCount})}),(0,C.jsx)(u,{size:13})]},e.id)),$&&(0,C.jsxs)(`div`,{className:`memory-space-actions [&_button]:inline-flex [&_button]:items-center [&_button]:gap-[4px] [&_button]:border-0 [&_button]:bg-transparent [&_button]:text-[var(--text-soft)] [&_button]:text-[13px] [&_button.danger]:text-[var(--danger)] flex gap-[6px] [margin-top:10px] [border-top:1px_solid_var(--stroke-soft)] [padding-top:9px]`,children:[(0,C.jsxs)(`button`,{onClick:()=>z($),children:[(0,C.jsx)(p,{size:12}),c(`memory:memoryPage.rename`)]}),$.kind!==`global`&&(0,C.jsxs)(`button`,{className:`danger`,onClick:async()=>{if($&&await i({title:c(`memory:memoryPage.deleteMemorySpace`),message:c(`memory:memoryPage.deleteMemorySpaceNameAndAllMemoriesInIt`,{name:O($,c)}),confirmLabel:c(`memory:memoryPage.delete`)}))try{await h(`/api/memory/spaces/${encodeURIComponent($.id)}`,{method:`DELETE`}),j(``),N(``),e(c(`memory:memoryPage.memorySpaceDeleted`))}catch(e){F(k(e))}},children:[(0,C.jsx)(re,{size:12}),c(`memory:memoryPage.delete`)]})]})]}),(0,C.jsxs)(x,{className:`memory-legend-panel`,children:[(0,C.jsx)(b,{title:c(`memory:memoryPage.memoryMapTypes`)}),(0,C.jsx)(`div`,{className:`galaxy-legend [&_span]:flex [&_span]:items-center [&_span]:gap-[7px] [&_span]:text-[var(--text-soft)] [&_span]:text-[12px] grid grid-cols-[repeat(2,minmax(0,1fr))] gap-[8px_10px] [margin-top:11px]`,children:ue.map(e=>(0,C.jsxs)(`span`,{children:[(0,C.jsx)(`i`,{className:`g-dot [&.g-concept]:bg-[var(--g-concept)] [&.g-concept]:shadow-[0_0_5px_var(--g-concept-glow)] [&.g-file]:bg-[var(--g-file)] [&.g-file]:shadow-[0_0_5px_var(--g-file-glow)] [&.g-risk]:bg-[var(--g-risk)] [&.g-risk]:shadow-[0_0_5px_var(--g-risk-glow)] [&.g-preference]:bg-[var(--g-preference)] [&.g-preference]:shadow-[0_0_5px_var(--g-preference-glow)] [&.g-decision]:bg-[var(--g-decision)] [&.g-decision]:shadow-[0_0_5px_var(--g-decision-glow)] [&.g-fact]:bg-[var(--g-fact)] [&.g-fact]:shadow-[0_0_5px_var(--g-fact-glow)] [&.g-task]:bg-[var(--g-task)] [&.g-task]:shadow-[0_0_5px_var(--g-task-glow)] inline-block w-[7px] h-[7px] flex-none rounded-[50%] g-${e}`}),de(e,c)]},e))})]}),(0,C.jsxs)(x,{className:`min-h-0`,children:[(0,C.jsxs)(y,{children:[(0,C.jsx)(b,{title:`${c(`memory:memoryPage.memoryDrafts`)} · ${T.candidates?.length||0}`}),!!T.candidates?.length&&(0,C.jsxs)(g,{variant:`outline`,className:`bg-surface-subtle`,disabled:!!B,onClick:async()=>{if(!(B||!T.candidates?.length)){V(`__all__`),F(``);try{let t=await h(`/api/memory/candidates/reject-all`,{method:`POST`,body:`{}`});e(c(`memory:memoryPage.ignoredCountMemoryDrafts`,{count:t.rejected||0})),await J(A)}catch(e){F(k(e))}finally{V(``)}}},children:[(0,C.jsx)(m,{size:12}),c(`memory:memoryPage.ignoreAll`)]})]}),H!==null&&(0,C.jsxs)(`div`,{className:`memory-auto-approve-row [&_label]:flex [&_label]:min-w-0 [&_label]:flex-col [&_label]:gap-[2px] [&_label_span]:text-[12px] [&_label_span]:font-[600] [&_label_small]:text-[var(--text-muted)] [&_label_small]:text-[10px] [&_label_small]:leading-[1.4] flex items-center justify-between gap-[10px] [border-bottom:1px_solid_var(--stroke-soft)] [padding:8px_0_10px]`,children:[(0,C.jsxs)(`div`,{className:`flex items-center justify-center gap-1`,children:[(0,C.jsx)(`span`,{children:c(`memory:memoryPage.autoApproveThreshold`)}),(0,C.jsxs)(s,{children:[(0,C.jsx)(a,{asChild:!0,children:(0,C.jsx)(ee,{size:16})}),(0,C.jsx)(o,{align:`center`,side:`top`,children:c(`memory:memoryPage.autoApproveThresholdHint`)})]})]}),(0,C.jsxs)(`span`,{className:`memory-auto-approve-input [&_input]:w-[64px] [&_input]:[border:1px_solid_var(--stroke-soft)] [&_input]:rounded-[6px] [&_input]:bg-[var(--surface-muted)] [&_input]:p-[4px_6px] [&_input]:text-[var(--text)] [&_input]:text-[12px] [&_input]:text-right [&_em]:text-[var(--text-muted)] [&_em]:text-[11px] [&_em]:[font-style:normal] flex flex-none items-center gap-[5px]`,children:[(0,C.jsx)(`input`,{type:`number`,min:0,max:100,step:5,value:H,disabled:W,"aria-label":c(`memory:memoryPage.autoApproveThreshold`),onChange:e=>U(e.target.value?Number(e.target.value):0),onBlur:()=>void je(),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),je())}}),(0,C.jsx)(`em`,{children:`%`}),W&&(0,C.jsx)(f,{className:`animate-spin`,size:12})]})]}),(0,C.jsxs)(`div`,{className:`flex max-h-[300px] flex-col gap-[8px] overflow-auto mt-2`,children:[(T.candidates||[]).map(e=>(0,C.jsxs)(`div`,{className:`memory-candidate [&_>_strong]:text-[12px] [&_>_span]:text-[var(--text-muted)] [&_>_span]:text-[11px] [&_>_span]:leading-[1.45] [&_>_small]:text-[var(--text-muted)] [&_>_small]:text-[11px] [&_>_small]:leading-[1.45] [&_>_div]:flex [&_>_div]:gap-[6px] [&_button]:inline-flex [&_button]:items-center [&_button]:gap-[4px] [&_button]:[border:1px_solid_var(--stroke-soft)] [&_button]:rounded-[6px] [&_button]:bg-transparent [&_button]:p-[4px_7px] [&_button]:text-[var(--text)] [&_button]:text-[11px] [&_button.danger]:text-[var(--danger)] flex flex-col gap-[5px] [border:1px_solid_var(--stroke-soft)] rounded-[8px] bg-[var(--surface-muted)] [padding:8px]`,children:[(0,C.jsx)(`strong`,{children:e.title}),(0,C.jsxs)(`small`,{children:[O(T.spaces.find(t=>t.id===e.spaceId),c),` · `,e.sourceType===`agent`?c(`memory:memoryPage.agentProposed`):c(`memory:memoryPage.conversationExtracted`),` · `,c(`memory:memoryPage.confidencePercent`,{value:Math.round((e.confidence||0)*100)})]}),(0,C.jsx)(`span`,{children:e.content}),e.topicKey&&(0,C.jsxs)(`small`,{children:[c(`memory:memoryPage.topic`),`:`,e.topicKey]}),e.evidence&&(0,C.jsxs)(`small`,{children:[c(`memory:memoryPage.evidence`),`:`,e.evidence]}),(0,C.jsxs)(`small`,{children:[c(`memory:memoryPage.created`),`:`,D(e.createdAt,_),e.expiresAt?` · ${c(`memory:memoryPage.expires`)}:${D(e.expiresAt,_)}`:``]}),(0,C.jsxs)(`div`,{children:[(0,C.jsxs)(`button`,{disabled:!!B,title:c(`memory:memoryPage.confirm`),onClick:()=>Le(e,`accept`),children:[(0,C.jsx)(l,{size:12}),c(`memory:memoryPage.confirm`)]}),(0,C.jsxs)(`button`,{disabled:!!B,className:`danger`,title:c(`memory:memoryPage.ignore`),onClick:()=>Le(e,`reject`),children:[(0,C.jsx)(m,{size:12}),c(`memory:memoryPage.ignore`)]})]})]},e.id)),!T.candidates?.length&&(0,C.jsx)(`small`,{children:c(`memory:memoryPage.thereAreNoPendingMemoryCandidates`)})]})]})]}),(0,C.jsxs)(x,{className:`graph-panel before:[content:''] before:absolute before:z-[0] before:inset-0 before:pointer-events-none before:bg-[url('/memory-galaxy-background.webp')] before:[background-position:center_48%] before:[background-size:cover] before:bg-no-repeat before:[filter:saturate(.62)_contrast(1.08)] before:[mix-blend-mode:screen] before:opacity-[.42] after:[content:''] after:absolute after:z-[0] after:inset-0 after:pointer-events-none after:[background-image:radial-gradient(var(--galaxy-dot)_.9px,transparent_1.2px),_radial-gradient(var(--galaxy-dot-dim)_.8px,transparent_1.2px),_radial-gradient(var(--galaxy-dot)_1.2px,transparent_1.6px)] after:[background-position:0_0,_37px_53px,_71px_19px] after:[background-size:96px_96px,_152px_152px,_236px_236px] after:[animation:galaxy-field-twinkle_6.4s_ease-in-out_infinite] after:opacity-[.7] before:inset-[-8%] before:[animation:galaxy-background-drift_34s_ease-in-out_infinite_alternate] before:[will-change:transform] after:[animation:galaxy-field-drift_15s_ease-in-out_infinite_alternate] after:[will-change:background-position,opacity] max-[650px]:min-h-[430px] relative min-h-[500px] overflow-hidden [border-color:var(--galaxy-border)] bg-[var(--galaxy-bg)]! [background-image:radial-gradient(ellipse_46%_40%_at_50%_48%,_var(--galaxy-core),_transparent_72%),_radial-gradient(ellipse_62%_48%_at_16%_6%,_var(--galaxy-nebula-a),_transparent_70%),_radial-gradient(ellipse_56%_52%_at_88%_98%,_var(--galaxy-nebula-b),_transparent_72%)] p-0 backdrop-blur-none! galaxy-panel ${Oe}`,onPointerMove:ke,onPointerLeave:Ae,children:[(0,C.jsxs)(`div`,{className:`graph-toolbar [&_button]:grid [&_button]:w-[32px] [&_button]:h-[32px] [&_button]:place-items-center [&_button]:border-0 [&_button]:bg-transparent [&_button]:text-[12px] [.galaxy-panel_&]:border-[var(--galaxy-toolbar-border)] [.galaxy-panel_&]:bg-[var(--galaxy-toolbar-bg)] [.galaxy-panel_&]:text-[var(--galaxy-toolbar-text)] [.galaxy-panel_&]:[backdrop-filter:blur(9px)] [.galaxy-panel_&_button:hover]:bg-[var(--galaxy-toolbar-hover)] dark:bg-[var(--solid)] dark:text-[var(--text)] absolute z-[4] [top:10px] [left:10px] flex gap-[3px] [padding:3px] [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--solid)]`,children:[(0,C.jsx)(`button`,{title:c(`memory:memoryPage.addMemory`),onClick:()=>L({spaceId:A}),children:(0,C.jsx)(te,{size:14})}),(0,C.jsx)(`button`,{title:c(`memory:memoryPage.zoomIn`),onClick:()=>Se(e=>Math.min(1.6,Number((e+.15).toFixed(2)))),children:(0,C.jsx)(ce,{size:13})}),(0,C.jsx)(`button`,{title:c(`memory:memoryPage.zoomOut`),onClick:()=>Se(e=>Math.max(.7,Number((e-.15).toFixed(2)))),children:(0,C.jsx)(se,{size:13})}),(0,C.jsx)(`button`,{title:c(`memory:memoryPage.refresh`),onClick:()=>J(A),children:(0,C.jsx)(ne,{className:ve?`animate-spin`:``,size:13})})]}),(0,C.jsxs)(`div`,{className:`galaxy-stage [&_>_svg]:absolute [&_>_svg]:inset-0 [&_>_svg]:w-full [&_>_svg]:h-full [&_>_svg]:overflow-visible [&_>_svg]:z-[1] [&_>_svg]:[transform:translate3d(calc(var(--px,0)_*_9px),calc(var(--py,0)_*_6px),0)] [&_>_svg]:[transition:transform_.9s_var(--ease-out)] absolute z-[1] inset-0 [transform-origin:50%_50%] [transition:transform_var(--d2)_var(--ease-out)] ${Q?`has-focus`:``}`,ref:De,style:{transform:`scale(${xe})`},children:[(0,C.jsx)(`i`,{className:`galaxy-spiral absolute z-[0] block pointer-events-none [left:9%] [top:13%] w-[82%] h-[74%] rounded-[50%] bg-[conic-gradient(from_-18deg,transparent_0deg,var(--galaxy-nebula-a)_28deg,transparent_68deg,var(--galaxy-nebula-b)_118deg,transparent_170deg,var(--galaxy-nebula-a)_224deg,transparent_278deg,var(--galaxy-nebula-b)_322deg,transparent_360deg)] [filter:blur(13px)] [mask-image:radial-gradient(ellipse,transparent_0%,transparent_15%,var(--g-star-core)_38%,transparent_74%)] [-webkit-mask-image:radial-gradient(ellipse,transparent_0%,transparent_15%,var(--g-star-core)_38%,transparent_74%)] [mix-blend-mode:screen] opacity-[.38] [animation:galaxy-spiral-turn_42s_linear_infinite] [will-change:transform]`,"aria-hidden":`true`}),(0,C.jsx)(`i`,{className:`galaxy-core absolute z-[0] block pointer-events-none before:[content:''] before:absolute before:left-[50%] before:top-[50%] before:w-[46px] before:h-[46px] before:rounded-[50%] before:bg-[radial-gradient(circle,rgba(255,255,255,.82),rgba(191,219,254,.3)_55%,transparent_76%)] before:[filter:blur(6px)] before:[transform:translate(-50%,-50%)] [left:50%] [top:49%] w-[34%] h-[40%] rounded-[50%] bg-[radial-gradient(ellipse,rgba(219,232,255,.3)_0%,rgba(126,156,255,.15)_36%,transparent_70%)] [filter:blur(9px)] [mix-blend-mode:screen] [transform:translate(-50%,-50%)] [animation:galaxy-core-breathe_7.5s_ease-in-out_infinite] [will-change:transform,opacity]`,"aria-hidden":`true`}),(0,C.jsx)(`i`,{className:`galaxy-aurora absolute z-[0] block pointer-events-none w-[46%] h-[31%] rounded-[50%] [filter:blur(21px)] [mix-blend-mode:screen] opacity-[.42] [will-change:transform,opacity] [left:8%] [top:20%] bg-[radial-gradient(ellipse,var(--galaxy-nebula-a),transparent_70%)] [animation:galaxy-aurora-drift_18s_ease-in-out_infinite_alternate]`,"aria-hidden":`true`}),(0,C.jsx)(`i`,{className:`galaxy-aurora absolute z-[0] block pointer-events-none w-[46%] h-[31%] rounded-[50%] [filter:blur(21px)] [mix-blend-mode:screen] opacity-[.42] [will-change:transform,opacity] [right:5%] [bottom:14%] bg-[radial-gradient(ellipse,var(--galaxy-nebula-b),transparent_70%)] [animation:galaxy-aurora-drift_23s_ease-in-out_-9s_infinite_alternate-reverse]`,"aria-hidden":`true`}),(0,C.jsx)(`i`,{className:`galaxy-aurora absolute z-[0] block pointer-events-none w-[46%] h-[31%] rounded-[50%] [filter:blur(21px)] [mix-blend-mode:screen] opacity-[.42] [will-change:transform,opacity] galaxy-aurora-three left-[30%] top-[60%] !w-[40%] !h-[27%] bg-[radial-gradient(ellipse,var(--galaxy-nebula-c),transparent_70%)] [animation:galaxy-aurora-drift_27s_ease-in-out_-14s_infinite_alternate]`,"aria-hidden":`true`}),(0,C.jsxs)(`svg`,{viewBox:`0 0 600 420`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,C.jsxs)(`g`,{className:`galaxy-orbits [&_ellipse]:[fill:none] [&_ellipse]:[stroke:var(--galaxy-line)] [&_ellipse]:[stroke-width:.72] [&_ellipse]:[stroke-dasharray:3_7] [&_ellipse]:opacity-[.52] [transform-box:fill-box] [transform-origin:center] [animation:galaxy-orbit-drift_90s_linear_infinite]`,children:[(0,C.jsx)(`ellipse`,{cx:`300`,cy:`206`,rx:`205`,ry:`122`,transform:`rotate(-8 300 206)`}),(0,C.jsx)(`ellipse`,{cx:`300`,cy:`206`,rx:`154`,ry:`88`,transform:`rotate(18 300 206)`}),(0,C.jsx)(`ellipse`,{cx:`300`,cy:`206`,rx:`95`,ry:`54`,transform:`rotate(-24 300 206)`})]}),(0,C.jsx)(`defs`,{children:Me.map((e,t)=>{let n=Z.get(e.sourceId),r=Z.get(e.targetId);return!n||!r?null:(0,C.jsxs)(`linearGradient`,{id:`lg-${t}`,gradientUnits:`userSpaceOnUse`,x1:n.x,y1:n.y,x2:r.x,y2:r.y,children:[(0,C.jsx)(`stop`,{offset:`0`,stopColor:fe[n.node.type]||`var(--galaxy-line-active)`}),(0,C.jsx)(`stop`,{offset:`1`,stopColor:fe[r.node.type]||`var(--galaxy-line-active)`})]},e.id)})}),Me.map((e,t)=>{let n=Z.get(e.sourceId),r=Z.get(e.targetId);if(!n||!r)return null;let i=e.sourceId===Q||e.targetId===Q,a=he(n,r,E(e.id));return(0,C.jsxs)(`g`,{children:[(0,C.jsx)(`path`,{className:`link-path [.galaxy-stage_>_svg_&]:[fill:none] [.galaxy-stage_>_svg_&]:[stroke-width:1.05] [.galaxy-stage_>_svg_&]:[stroke-dasharray:3_5] [.galaxy-stage_>_svg_&]:opacity-[.5] [.galaxy-stage_>_svg_&]:[animation:galaxy-link-flow_30s_linear_infinite] [.galaxy-stage_>_svg_&]:[transition:opacity_var(--d2)_var(--ease-out)] [.galaxy-stage_>_svg_&.active]:[stroke-width:1.55] [.galaxy-stage_>_svg_&.active]:[stroke-dasharray:none] [.galaxy-stage_>_svg_&.active]:opacity-100 [.galaxy-stage_>_svg_&.active]:[filter:drop-shadow(0_0_3.5px_var(--galaxy-line-active))] [.galaxy-stage.has-focus_&]:opacity-[.14] [.galaxy-stage.has-focus_&.active]:opacity-100 ${i?`active`:``}`,d:a,stroke:`url(#lg-${t})`}),i&&(0,C.jsx)(`circle`,{className:`link-pulse [.galaxy-stage_>_svg_&]:[fill:var(--g-star-core)] [.galaxy-stage_>_svg_&]:[filter:drop-shadow(0_0_4px_var(--galaxy-line-active))] [.galaxy-stage_>_svg_&]:pointer-events-none`,r:`2.1`,children:(0,C.jsx)(`animateMotion`,{dur:`2.8s`,repeatCount:`indefinite`,path:a})})]},e.id)})]}),(0,C.jsx)(`i`,{className:`galaxy-meteor before:[content:''] before:absolute before:top-[50%] before:left-[1px] before:w-[72px] before:h-[1px] before:bg-[linear-gradient(90deg,transparent,var(--galaxy-dot))] before:[transform:translateY(-50%)] absolute [top:14%] [left:80%] w-[2.4px] h-[2.4px] rounded-[50%] bg-[var(--galaxy-label-active)] shadow-[0_0_7px_1px_var(--galaxy-dot)] opacity-0 pointer-events-none [animation:galaxy-meteor_12s_linear_infinite] z-[3]`,"aria-hidden":`true`}),(0,C.jsx)(`i`,{className:`galaxy-meteor before:[content:''] before:absolute before:top-[50%] before:left-[1px] before:w-[72px] before:h-[1px] before:bg-[linear-gradient(90deg,transparent,var(--galaxy-dot))] before:[transform:translateY(-50%)] absolute [top:14%] [left:80%] w-[2.4px] h-[2.4px] rounded-[50%] bg-[var(--galaxy-label-active)] shadow-[0_0_7px_1px_var(--galaxy-dot)] opacity-0 pointer-events-none [animation:galaxy-meteor_12s_linear_infinite] z-[3] meteor-two [.galaxy-meteor&]:top-[63%] [.galaxy-meteor&]:left-[89%] [.galaxy-meteor&]:[animation:galaxy-meteor-b_17s_linear_4.5s_infinite]`,"aria-hidden":`true`}),(0,C.jsx)(`i`,{className:`galaxy-meteor before:[content:''] before:absolute before:top-[50%] before:left-[1px] before:w-[72px] before:h-[1px] before:bg-[linear-gradient(90deg,transparent,var(--galaxy-dot))] before:[transform:translateY(-50%)] absolute [top:14%] [left:80%] w-[2.4px] h-[2.4px] rounded-[50%] bg-[var(--galaxy-label-active)] shadow-[0_0_7px_1px_var(--galaxy-dot)] opacity-0 pointer-events-none [animation:galaxy-meteor_12s_linear_infinite] z-[3] meteor-three [.galaxy-meteor&]:top-[7%] [.galaxy-meteor&]:left-[36%] [.galaxy-meteor&]:[animation:galaxy-meteor-c_23s_linear_11s_infinite]`,"aria-hidden":`true`}),X.map(({node:e,x:t,y:n,twinkle:r},i)=>(0,C.jsxs)(`button`,{className:`galaxy-star focus-visible:rounded-[50%] focus-visible:[outline-color:var(--galaxy-line-active)] before:[content:''] before:absolute before:w-[calc(var(--star-size)_+_26px)] before:h-[calc(var(--star-size)_+_26px)] before:rounded-[50%] before:bg-[radial-gradient(circle,var(--g-star-glow),transparent_68%)] before:[filter:blur(3px)] before:opacity-[.76] before:pointer-events-none [&.active::after]:[content:''] [&.active::after]:absolute [&.active::after]:w-[calc(var(--star-size)_+_31px)] [&.active::after]:h-[calc(var(--star-size)_+_31px)] [&.active::after]:[border:1px_solid_var(--g-star-glow)] [&.active::after]:rounded-[50%] [&.active::after]:pointer-events-none [&.active::after]:[animation:galaxy-star-selection-pulse_2.3s_var(--ease-out)_infinite] [&:hover::before]:opacity-100 [&.active::before]:opacity-100 absolute z-[2] grid w-[52px] h-[52px] min-w-0 min-h-[52px] place-items-center [transform:translate(-50%,-50%)_translate3d(calc(var(--px,0)_*_(9px_+_var(--depth,0)_*_7px)),calc(var(--py,0)_*_(6px_+_var(--depth,0)_*_5px)),0)] border-0 rounded-[50%] bg-transparent p-0 cursor-pointer [transition:transform_.9s_var(--ease-out),opacity_.45s_var(--ease-out),filter_.45s_var(--ease-out)] [animation:galaxy-star-enter_.72s_var(--ease-out)_var(--enter-delay,0ms)_backwards] ${M===e.id?`active`:``} ${Q&&e.id!==Q&&!Pe.has(e.id)?`dimmed [.galaxy-stage.has-focus_.galaxy-star&]:opacity-[.32] [.galaxy-stage.has-focus_.galaxy-star&]:[filter:saturate(.4)_brightness(.82)]`:``}`,onClick:()=>N(e.id),onMouseEnter:()=>we(e.id),onMouseLeave:()=>we(``),style:{left:`${t/w.width*100}%`,top:`${n/w.height*100}%`,"--star-size":`${12+Math.round((e.importance||.5)*9)}px`,"--twinkle-delay":`${r}s`,"--enter-delay":`${i*55}ms`,"--depth":E(e.id)%100/100,"--g-star-color":fe[e.type],"--g-star-glow":pe[e.type]},title:e.content,children:[M===e.id&&(0,C.jsx)(`i`,{className:`orbit-ring [.galaxy-star_&]:absolute [.galaxy-star_&]:left-[50%] [.galaxy-star_&]:top-[50%] [.galaxy-star_&]:w-[calc(var(--star-size)_+_36px)] [.galaxy-star_&]:h-[calc(var(--star-size)_+_36px)] [.galaxy-star_&]:[border:1px_solid_var(--galaxy-line-active)] [.galaxy-star_&]:rounded-[50%] [.galaxy-star_&]:pointer-events-none [.galaxy-star_&]:[transform:translate(-50%,-50%)_rotate(-22deg)_scaleY(.44)] [.galaxy-star_&]:[animation:galaxy-selected-orbit_6s_linear_infinite] [.galaxy-star_&]:opacity-[.8] [.galaxy-star_&::before]:[content:''] [.galaxy-star_&::before]:absolute [.galaxy-star_&::before]:top-[-2.2px] [.galaxy-star_&::before]:left-[50%] [.galaxy-star_&::before]:w-[4.4px] [.galaxy-star_&::before]:h-[4.4px] [.galaxy-star_&::before]:ml-[-2.2px] [.galaxy-star_&::before]:rounded-[50%] [.galaxy-star_&::before]:bg-[var(--g-star-color)] [.galaxy-star_&::before]:shadow-[0_0_6px_1px_var(--g-star-glow)]`,"aria-hidden":`true`}),M===e.id&&(0,C.jsx)(`i`,{className:`dash-ring [.galaxy-star_&]:absolute [.galaxy-star_&]:left-[50%] [.galaxy-star_&]:top-[50%] [.galaxy-star_&]:w-[calc(var(--star-size)_+_23px)] [.galaxy-star_&]:h-[calc(var(--star-size)_+_23px)] [.galaxy-star_&]:[border:1px_dashed_var(--g-star-glow)] [.galaxy-star_&]:rounded-[50%] [.galaxy-star_&]:opacity-[.9] [.galaxy-star_&]:pointer-events-none [.galaxy-star_&]:[transform:translate(-50%,-50%)] [.galaxy-star_&]:[animation:galaxy-dash-spin_16s_linear_infinite]`,"aria-hidden":`true`}),(0,C.jsxs)(`svg`,{className:`star-core [.galaxy-star_&]:relative [.galaxy-star_&]:block [.galaxy-star_&]:w-[var(--star-size)] [.galaxy-star_&]:h-[var(--star-size)] [.galaxy-star_&]:[transition:transform_var(--d2)_var(--ease-spring)] [.galaxy-star_&]:[animation:galaxy-star-twinkle_3.8s_ease-in-out_var(--twinkle-delay)_infinite] [.galaxy-star_&]:overflow-visible [.galaxy-star_&]:rounded-[0] [.galaxy-star_&]:bg-transparent [.galaxy-star_&]:shadow-[none] [.galaxy-star_&]:[filter:drop-shadow(0_0_3px_var(--g-star-glow))_drop-shadow(0_0_8px_var(--g-star-glow))] [.galaxy-star_&]:origin-[center] [.galaxy-star:hover_&]:[transform:scale(1.28)] [.galaxy-star.active_&]:[transform:scale(1.32)] [.galaxy-star.active_&]:[animation:galaxy-star-twinkle_2.1s_ease-in-out_var(--twinkle-delay)_infinite]`,viewBox:`0 0 32 32`,"aria-hidden":`true`,children:[(0,C.jsx)(`path`,{className:`star-ray [.galaxy-star_.star-core_&]:[fill:var(--g-star-glow)] [.galaxy-star_.star-core_&]:opacity-[.58] [.galaxy-star_.star-core_&]:[transform-box:fill-box] [.galaxy-star_.star-core_&]:origin-[center] [.galaxy-star_.star-core_&]:[transform:scale(1.45)] [.galaxy-star.active_.star-core_&]:opacity-[.88] [.galaxy-star.active_.star-core_&]:[transform:scale(1.82)]`,d:`M16 0 L19.7 12.3 L32 16 L19.7 19.7 L16 32 L12.3 19.7 L0 16 L12.3 12.3 Z`}),(0,C.jsx)(`path`,{className:`star-shape [.galaxy-star_.star-core_&]:[fill:var(--g-star-color)]`,d:`M16 2 L18.8 13.2 L30 16 L18.8 18.8 L16 30 L13.2 18.8 L2 16 L13.2 13.2 Z`}),(0,C.jsx)(`circle`,{className:`star-heart [.galaxy-star_.star-core_&]:[fill:var(--g-star-core)]`,cx:`16`,cy:`16`,r:`3.2`})]}),(0,C.jsx)(`span`,{className:`star-label [.galaxy-stage.has-focus_.galaxy-star.dimmed_&]:opacity-[.3] [.galaxy-stage.has-focus_.galaxy-star.dimmed_&]:[transition:opacity_.45s_var(--ease-out)] [.galaxy-star_&]:absolute [.galaxy-star_&]:top-[calc(50%_+_17px)] [.galaxy-star_&]:left-[50%] [.galaxy-star_&]:max-w-[120px] [.galaxy-star_&]:overflow-hidden [.galaxy-star_&]:text-[var(--galaxy-label)] [.galaxy-star_&]:text-[11px] [.galaxy-star_&]:leading-[1.35] [.galaxy-star_&]:pointer-events-none [.galaxy-star_&]:text-ellipsis [.galaxy-star_&]:[text-shadow:0_1px_7px_var(--galaxy-bg)] [.galaxy-star_&]:[transform:translateX(-50%)] [.galaxy-star_&]:[transition:color_var(--d1)_var(--ease-out)] [.galaxy-star_&]:whitespace-nowrap [.galaxy-star:hover_&]:text-[var(--galaxy-label-active)] [.galaxy-star.active_&]:text-[var(--galaxy-label-active)] [.galaxy-star.active_&]:font-[700]`,children:e.title})]},e.id))]}),!!X.length&&(0,C.jsxs)(`span`,{className:`absolute z-[3] [right:12px] [bottom:9px] [border:1px_solid_var(--galaxy-toolbar-border)] rounded-[var(--r-pill)] bg-[rgba(12,11,20,.52)] [padding:3px_10px] text-[var(--galaxy-label)] text-[11px] tracking-[.5px] pointer-events-none [backdrop-filter:blur(6px)]`,children:[`✦`,` `,c(`memory:memoryPage.visibleTotalMemories`,{visible:X.length,total:T.nodes.length})]}),!ve&&!X.length&&(0,C.jsxs)(`div`,{className:`memory-empty [.galaxy-panel_&]:text-[var(--galaxy-label)] [.galaxy-panel_&]:[--stroke:var(--galaxy-toolbar-border)] [.galaxy-panel_&]:[--control-muted:var(--galaxy-label)] [.galaxy-panel_&]:[--star:var(--g-decision)] [.galaxy-panel_&]:[--text-muted:var(--galaxy-label)] absolute z-[3] inset-0 grid [align-content:center] justify-items-center gap-[8px] text-[var(--text-muted)] text-[12px] pointer-events-none`,children:[(0,C.jsx)(ae,{size:44}),(0,C.jsx)(`span`,{children:c(`memory:memoryPage.thisMemorySpaceIsStillUnlitClickInTheTopLeftToPlantTheFirstStar`)})]})]}),(0,C.jsxs)(`div`,{className:`detail-stack flex min-w-0 flex-col gap-[12px] [.mcp-layout_>_&]:min-h-0 max-[1150px]:[.memory-layout_>_&]:[grid-column:1/-1] max-[1150px]:[.memory-layout_>_&]:grid max-[1150px]:[.memory-layout_>_&]:grid-cols-[repeat(2,minmax(0,1fr))] max-[1150px]:[.mcp-layout_>_&]:[grid-column:1/-1] max-[1150px]:[.mcp-layout_>_&]:grid max-[1150px]:[.mcp-layout_>_&]:grid-cols-[repeat(2,minmax(0,1fr))] max-[1150px]:[.skills-layout_>_&]:[grid-column:1/-1] max-[1150px]:[.skills-layout_>_&]:grid max-[1150px]:[.skills-layout_>_&]:grid-cols-[repeat(2,minmax(0,1fr))] max-[650px]:[.memory-layout_>_&]:[grid-column:auto] max-[650px]:[.memory-layout_>_&]:grid-cols-[1fr] max-[650px]:[.mcp-layout_>_&]:[grid-column:auto] max-[650px]:[.mcp-layout_>_&]:grid-cols-[1fr] max-[650px]:[.skills-layout_>_&]:[grid-column:auto] max-[650px]:[.skills-layout_>_&]:grid-cols-[1fr]`,children:[(0,C.jsxs)(x,{children:[(0,C.jsx)(b,{title:c(`memory:memoryPage.selectedMemory`)}),Y?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(`h2`,{children:Y.title}),(0,C.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-muted)] text-[12px] leading-[1.55]`,children:Y.content}),(0,C.jsxs)(`div`,{className:`key-value [&:first-of-type]:mt-[7px] [&_span]:text-[var(--text-muted)] [&_button]:flex [&_button]:items-center [&_button]:gap-[4px] [&_button]:border-0 [&_button]:bg-transparent [&_button]:text-[var(--text-soft)] [&_button]:text-[12px] [&_strong]:min-w-0 [&_strong]:overflow-hidden [&_strong]:text-[13px] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap flex min-h-[31px] items-center justify-between gap-[10px] [border-top:1px_solid_var(--stroke-soft)] text-[13px]`,children:[(0,C.jsx)(`span`,{children:c(`memory:memoryPage.memoryType`)}),(0,C.jsxs)(`strong`,{className:`inline-flex items-center gap-[6px]`,children:[(0,C.jsx)(`i`,{className:`g-dot [&.g-concept]:bg-[var(--g-concept)] [&.g-concept]:shadow-[0_0_5px_var(--g-concept-glow)] [&.g-file]:bg-[var(--g-file)] [&.g-file]:shadow-[0_0_5px_var(--g-file-glow)] [&.g-risk]:bg-[var(--g-risk)] [&.g-risk]:shadow-[0_0_5px_var(--g-risk-glow)] [&.g-preference]:bg-[var(--g-preference)] [&.g-preference]:shadow-[0_0_5px_var(--g-preference-glow)] [&.g-decision]:bg-[var(--g-decision)] [&.g-decision]:shadow-[0_0_5px_var(--g-decision-glow)] [&.g-fact]:bg-[var(--g-fact)] [&.g-fact]:shadow-[0_0_5px_var(--g-fact-glow)] [&.g-task]:bg-[var(--g-task)] [&.g-task]:shadow-[0_0_5px_var(--g-task-glow)] inline-block w-[7px] h-[7px] flex-none rounded-[50%] g-${Y.type}`}),de(Y.type,c)]})]}),(0,C.jsxs)(`div`,{className:`key-value [&:first-of-type]:mt-[7px] [&_span]:text-[var(--text-muted)] [&_button]:flex [&_button]:items-center [&_button]:gap-[4px] [&_button]:border-0 [&_button]:bg-transparent [&_button]:text-[var(--text-soft)] [&_button]:text-[12px] [&_strong]:min-w-0 [&_strong]:overflow-hidden [&_strong]:text-[13px] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap flex min-h-[31px] items-center justify-between gap-[10px] [border-top:1px_solid_var(--stroke-soft)] text-[13px]`,children:[(0,C.jsx)(`span`,{children:c(`memory:memoryPage.source`)}),(0,C.jsx)(`strong`,{children:Y.sourceType===`conversation_confirmed`?c(`memory:memoryPage.userConfirmedConversationCandidate`):Y.sourceType===`user_confirmed`?c(`memory:memoryPage.explicitUserRequest`):Y.sourceType===`agent`?c(`memory:memoryPage.createdByAgent`):c(`memory:memoryPage.addedManually`)})]}),(0,C.jsxs)(`div`,{className:`key-value [&:first-of-type]:mt-[7px] [&_span]:text-[var(--text-muted)] [&_button]:flex [&_button]:items-center [&_button]:gap-[4px] [&_button]:border-0 [&_button]:bg-transparent [&_button]:text-[var(--text-soft)] [&_button]:text-[12px] [&_strong]:min-w-0 [&_strong]:overflow-hidden [&_strong]:text-[13px] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap flex min-h-[31px] items-center justify-between gap-[10px] [border-top:1px_solid_var(--stroke-soft)] text-[13px]`,children:[(0,C.jsx)(`span`,{children:c(`memory:memoryPage.authority`)}),(0,C.jsxs)(`strong`,{children:[Y.authority??0,`/100`]})]}),Y.evidence&&(0,C.jsxs)(`div`,{className:`key-value [&:first-of-type]:mt-[7px] [&_span]:text-[var(--text-muted)] [&_button]:flex [&_button]:items-center [&_button]:gap-[4px] [&_button]:border-0 [&_button]:bg-transparent [&_button]:text-[var(--text-soft)] [&_button]:text-[12px] [&_strong]:min-w-0 [&_strong]:overflow-hidden [&_strong]:text-[13px] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap flex min-h-[31px] items-center justify-between gap-[10px] [border-top:1px_solid_var(--stroke-soft)] text-[13px]`,children:[(0,C.jsx)(`span`,{children:c(`memory:memoryPage.evidence`)}),(0,C.jsx)(`strong`,{children:Y.evidence})]}),(0,C.jsxs)(`div`,{className:`key-value [&:first-of-type]:mt-[7px] [&_span]:text-[var(--text-muted)] [&_button]:flex [&_button]:items-center [&_button]:gap-[4px] [&_button]:border-0 [&_button]:bg-transparent [&_button]:text-[var(--text-soft)] [&_button]:text-[12px] [&_strong]:min-w-0 [&_strong]:overflow-hidden [&_strong]:text-[13px] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap flex min-h-[31px] items-center justify-between gap-[10px] [border-top:1px_solid_var(--stroke-soft)] text-[13px]`,children:[(0,C.jsx)(`span`,{children:c(`memory:memoryPage.created`)}),(0,C.jsx)(`strong`,{children:D(Y.createdAt,_)})]}),(0,C.jsxs)(`div`,{className:`key-value [&:first-of-type]:mt-[7px] [&_span]:text-[var(--text-muted)] [&_button]:flex [&_button]:items-center [&_button]:gap-[4px] [&_button]:border-0 [&_button]:bg-transparent [&_button]:text-[var(--text-soft)] [&_button]:text-[12px] [&_strong]:min-w-0 [&_strong]:overflow-hidden [&_strong]:text-[13px] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap flex min-h-[31px] items-center justify-between gap-[10px] [border-top:1px_solid_var(--stroke-soft)] text-[13px]`,children:[(0,C.jsx)(`span`,{children:c(`memory:memoryPage.relatedMemories`)}),(0,C.jsx)(`strong`,{children:c(`memory:memoryPage.count`,{count:Ne.size})})]}),(0,C.jsxs)(`div`,{className:`mt-[15px] flex gap-2 max-[650px]:flex-wrap`,children:[(0,C.jsxs)(g,{size:`lg`,onClick:()=>L(Y),children:[(0,C.jsx)(p,{size:14}),c(`memory:memoryPage.edit`)]}),(0,C.jsxs)(g,{variant:`destructive`,size:`lg`,onClick:()=>Ie(Y),children:[(0,C.jsx)(re,{size:14}),c(`memory:memoryPage.delete`)]})]})]}):(0,C.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-muted)] text-[12px] leading-[1.55]`,children:c(`memory:memoryPage.selectAMemoryInTheMapToViewItsDetails`)}),be&&(0,C.jsx)(v,{children:be})]}),(0,C.jsxs)(x,{children:[(0,C.jsx)(b,{title:c(`memory:memoryPage.relatedFiles`)}),Fe.map(e=>(0,C.jsxs)(`div`,{className:`file-row [&_span]:flex [&_span]:min-w-0 [&_span]:flex-col [&_span]:gap-[3px] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_button]:border-0 [&_button]:bg-transparent [&_button]:text-[var(--text-soft)] [&_button]:text-[13px] grid grid-cols-[auto_minmax(0,1fr)_auto_auto_auto] items-center gap-[6px] [border-top:1px_solid_var(--stroke-soft)] [padding:8px_0]`,children:[(0,C.jsx)(d,{size:15}),(0,C.jsxs)(`span`,{children:[(0,C.jsx)(`strong`,{children:e.title}),(0,C.jsx)(`small`,{children:e.sourcePath||e.cwd||c(`memory:memoryPage.localMemory`)})]}),(0,C.jsx)(`button`,{onClick:()=>N(e.id),children:c(`memory:memoryPage.view`)}),(0,C.jsx)(`button`,{onClick:()=>L(e),children:(0,C.jsx)(p,{size:13})}),(0,C.jsx)(`button`,{className:`danger`,onClick:()=>Ie(e),children:(0,C.jsx)(re,{size:13})})]},e.id)),!Fe.length&&(0,C.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-muted)] text-[12px] leading-[1.55]`,children:c(`memory:memoryPage.thisMemoryHasNoRelatedFiles`)})]})]}),I&&(0,C.jsx)(ge,{spaces:T.spaces,node:I.id?I:null,initialSpaceId:I.spaceId||A,onClose:()=>L(null),onSaved:async t=>{L(null),e(t),await J(A)}}),R&&(0,C.jsx)(_e,{space:R.id?R:null,onClose:()=>z(null),onSaved:async(t,n)=>{z(null),j(t.id),e(n)}})]})}function ge({spaces:e,node:t,initialSpaceId:n,onClose:a,onSaved:o}){let{t:s}=r(),[c,l]=(0,S.useState)({spaceId:t?.spaceId||n||e[0]?.id||``,title:t?.title||``,content:t?.content||``,type:t?.type||`concept`,sourcePath:t?.sourcePath||``,importance:t?.importance??.5}),[u,d]=(0,S.useState)(!1),[ee,f]=(0,S.useState)(``);return(0,C.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:e=>!u&&e.target===e.currentTarget&&a(),children:(0,C.jsxs)(`form`,{role:`dialog`,"aria-modal":`true`,"aria-label":s(t?`memory:memoryPage.editMemory`:`memory:memoryPage.addMemory`),className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)]`,onSubmit:async e=>{if(e.preventDefault(),!u){d(!0),f(``);try{await h(t?`/api/memory/nodes/${encodeURIComponent(t.id)}`:`/api/memory/nodes`,{method:t?`PATCH`:`POST`,body:JSON.stringify(c)}),await o(s(t?`memory:memoryPage.memoryUpdated`:`memory:memoryPage.memoryCreated`))}catch(e){f(k(e))}finally{d(!1)}}},children:[(0,C.jsxs)(y,{children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`h2`,{children:s(t?`memory:memoryPage.editMemory`:`memory:memoryPage.addMemory`)}),(0,C.jsx)(`p`,{children:s(`memory:memoryPage.lightUpIdeasWorthKeepingAsMemoriesYouCanReturnToLater`)})]}),(0,C.jsx)(g,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":s(`memory:memoryPage.closeDialog`),disabled:u,onClick:a,children:(0,C.jsx)(m,{size:17})})]}),(0,C.jsxs)(_,{variant:`control`,children:[s(`memory:memoryPage.memorySpace`),(0,C.jsx)(i,{value:c.spaceId,onChange:e=>l({...c,spaceId:e.target.value}),children:e.map(e=>(0,C.jsx)(`option`,{value:e.id,children:O(e,s)},e.id))})]}),(0,C.jsxs)(_,{variant:`control`,children:[s(`memory:memoryPage.memoryTitle`),(0,C.jsx)(`input`,{value:c.title,onChange:e=>l({...c,title:e.target.value}),placeholder:s(`memory:memoryPage.forExampleProjectUIConstraints`)})]}),(0,C.jsxs)(_,{variant:`control`,children:[s(`memory:memoryPage.memoryContent`),(0,C.jsx)(`textarea`,{value:c.content,onChange:e=>l({...c,content:e.target.value}),placeholder:s(`memory:memoryPage.recordStandaloneReusableMemoryForFutureChats`)})]}),(0,C.jsxs)(`div`,{className:`form-grid grid gap-[9px]`,children:[(0,C.jsxs)(_,{variant:`control`,children:[s(`memory:memoryPage.memoryType`),(0,C.jsx)(i,{value:c.type,onChange:e=>l({...c,type:e.target.value}),children:ue.map(e=>(0,C.jsx)(`option`,{value:e,children:de(e,s)},e))})]}),(0,C.jsxs)(_,{variant:`control`,children:[s(`memory:memoryPage.importance`),(0,C.jsxs)(i,{value:c.importance,onChange:e=>l({...c,importance:Number(e.target.value)}),children:[(0,C.jsx)(`option`,{value:`0.3`,children:s(`memory:memoryPage.normal`)}),(0,C.jsx)(`option`,{value:`0.5`,children:s(`memory:memoryPage.common`)}),(0,C.jsx)(`option`,{value:`0.8`,children:s(`memory:memoryPage.important`)}),(0,C.jsx)(`option`,{value:`1`,children:s(`memory:memoryPage.strict`)})]})]})]}),(0,C.jsxs)(_,{variant:`control`,children:[s(`memory:memoryPage.relatedFilePath`),(0,C.jsx)(`input`,{value:c.sourcePath,onChange:e=>l({...c,sourcePath:e.target.value}),placeholder:s(`memory:memoryPage.optionalForExampleECodeProjectREADMEMd`)})]}),ee&&(0,C.jsx)(v,{children:ee}),(0,C.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,C.jsx)(g,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:a,children:s(`memory:memoryPage.cancel`)}),(0,C.jsxs)(g,{size:`lg`,disabled:u||!c.spaceId||!c.title.trim()||!c.content.trim(),children:[u?(0,C.jsx)(ne,{className:`animate-spin`,size:14}):(0,C.jsx)(p,{size:14}),s(u?`memory:memoryPage.saving`:`memory:memoryPage.save`)]})]})]})})}function _e({space:e,onClose:t,onSaved:n}){let{t:i}=r(),[a,o]=(0,S.useState)(e?.name||``),[s,c]=(0,S.useState)(!1),[l,u]=(0,S.useState)(``);return(0,C.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:e=>!s&&e.target===e.currentTarget&&t(),children:(0,C.jsxs)(`form`,{role:`dialog`,"aria-modal":`true`,"aria-label":i(e?`memory:memoryPage.renameMemorySpace`:`memory:memoryPage.newMemorySpace`),className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)]`,onSubmit:async t=>{if(t.preventDefault(),!s){c(!0),u(``);try{await n(await h(e?`/api/memory/spaces/${encodeURIComponent(e.id)}`:`/api/memory/spaces`,{method:e?`PATCH`:`POST`,body:JSON.stringify({name:a,kind:`custom`})}),i(e?`memory:memoryPage.memorySpaceRenamed`:`memory:memoryPage.memorySpaceCreated`))}catch(e){u(k(e))}finally{c(!1)}}},children:[(0,C.jsxs)(y,{children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`h2`,{children:i(e?`memory:memoryPage.renameMemorySpace`:`memory:memoryPage.newMemorySpace`)}),(0,C.jsx)(`p`,{children:i(`memory:memoryPage.giveEachThemeOrProjectItsOwnMemorySpaceSoDurableMemoriesHaveSomewhereToBelong`)})]}),(0,C.jsx)(g,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":i(`memory:memoryPage.closeDialog`),disabled:s,onClick:t,children:(0,C.jsx)(m,{size:17})})]}),(0,C.jsxs)(_,{variant:`control`,children:[i(`memory:memoryPage.memorySpaceName`),(0,C.jsx)(`input`,{value:a,onChange:e=>o(e.target.value),placeholder:i(`memory:memoryPage.forExampleProductDesignGuidelines`),autoFocus:!0})]}),l&&(0,C.jsx)(v,{children:l}),(0,C.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,C.jsx)(g,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:t,children:i(`memory:memoryPage.cancel`)}),(0,C.jsxs)(g,{size:`lg`,disabled:s||!a.trim(),children:[s?(0,C.jsx)(ne,{className:`animate-spin`,size:14}):(0,C.jsx)(te,{size:14}),i(s?`memory:memoryPage.saving`:`memory:memoryPage.save`)]})]})]})})}export{A as MemoryPage};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AssetsPage-BltehMID.js","assets/rolldown-runtime-B0Z9INg1.js","assets/index-iBrSU61i.js","assets/vendor-router-CZg2bCPV.js","assets/vendor-react-DwNgTV1j.js","assets/index-CdASiNlI.css","assets/use-i18n-BSZKFkMb.js","assets/i18n-7QvbQzOQ.js","assets/storage-BpAqa-YY.js","assets/vendor-state-GkUciC5H.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/download-BCfIiuaL.js","assets/external-link-CEQqPcqc.js","assets/file-Bllajneu.js","assets/link-2-mgasYn21.js","assets/paperclip-BCXrwYpb.js","assets/plus-fQbSqB1n.js","assets/refresh-cw-TbWxTY4K.js","assets/trash-2-CNrPOoPR.js","assets/triangle-alert-CE1q54ci.js","assets/x-07u4-129.js","assets/api-Dzobr-o_.js","assets/http-DphgzWtw.js","assets/abort-signal-f4JsiYKX.js","assets/button-CQA36izu.js","assets/vendor-ui-DvrYggeS.js","assets/dist-Cfh4kzCK.js","assets/utils-C8uzG5AZ.js","assets/field-3bN8nouy.js","assets/label-BzlNatZM.js","assets/dist-B_a0oV4U.js","assets/separator-BDICnhEL.js","assets/format-BRFKAYMT.js","assets/app-primitives-BBXY6U2S.js","assets/switch-Ci_hmu39.js","assets/dist-TksYpDID.js","assets/tabs-DQYVDdOp.js","assets/dist-DAs5KRGl.js","assets/card-BdUpL1KB.js","assets/StarOrbit-BAAjh-hY.js","assets/usePagePrimaryAction-CWPC0C_f.js","assets/MarkdownMessage-H1336cMr.js","assets/vendor-markdown-plugins-DisoihU3.js","assets/vendor-shiki-runtime-UFMr0O-Q.js","assets/vendor-markdown-plugins-DEcVZfaU.css","assets/vendor-markdown-Ck4Y_w0n.js","assets/check-2vYc6QaP.js","assets/copy-DHmIFc52.js","assets/local-path-reveal-DWhkyox-.js","assets/route-context-DvWDul4T.js","assets/mobile-runtime-recovery-tbTyacip.js","assets/PluginsPage-BPx5ERHL.js","assets/dist-BdkTa5R3.js","assets/es2015-0QT3KgdC.js","assets/AppSelect-D149YYg1.js","assets/dist-BlIIpW6W.js","assets/dist-alOyD2Bh.js","assets/chevron-down-CxtxIjiP.js","assets/use-mobile-YXncArOq.js","assets/circle-check-iEdCm3Pw.js","assets/earth-Ddy13fHh.js","assets/shield-alert-CvFOTe9h.js","assets/file-code-corner-BnE1ljT0.js","assets/folder-open-FIShC5Qk.js","assets/image-BY_c3FYU.js","assets/loader-circle-BOwQzHB-.js","assets/plug-BsIeHRwC.js","assets/search-D0mqDaf_.js","assets/server-BgNvmqwJ.js","assets/dialog-D-ER2p-D.js","assets/pick-system-directory-R1F5WyaB.js","assets/runtime-capabilities-store-DaWPY5y-.js","assets/tool-labels-DJzY62Yr.js","assets/TerminalPanel-DVKC4htc.js","assets/minus-BuutOHSj.js","assets/square-terminal-BVG6cUT1.js","assets/events-Bwv6HmwM.js","assets/TerminalPanel-BrP-ENHg.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-BSZKFkMb.js";import{t as a}from"./utils-C8uzG5AZ.js";import{t as o}from"./blocks-Olsdp5Lp.js";import{t as s}from"./file-diff-GxOMJkLj.js";import{t as c}from"./folder-open-FIShC5Qk.js";import{t as l}from"./square-terminal-BVG6cUT1.js";import{t as u}from"./button-CQA36izu.js";import{t as d}from"./SessionFilesPane-BIRQ_hHi.js";import{n as f,r as p,t as m}from"./local-path-reveal-DWhkyox-.js";var h=e(n(),1),g=r(),_=(0,h.lazy)(()=>t(()=>import(`./AssetsPage-BltehMID.js`).then(e=>({default:e.AssetsPage})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50]))),v=(0,h.lazy)(()=>t(()=>import(`./PluginsPage-BPx5ERHL.js`).then(e=>({default:e.PluginsPage})),__vite__mapDeps([51,1,4,6,7,3,2,5,8,9,26,30,52,53,54,55,37,56,35,27,25,10,46,57,58,59,60,12,61,62,63,64,65,66,17,67,68,18,19,21,22,23,24,69,20,33,34,36,38,70,40,71,72]))),y=(0,h.lazy)(()=>t(()=>import(`./TerminalPanel-DVKC4htc.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([73,1,4,10,57,74,16,75,20,21,22,3,7,2,5,8,23,24,25,26,27,76,77]))),b=[{id:`assets`,icon:c},{id:`changes`,icon:s},{id:`extensions`,icon:o},{id:`terminal`,icon:l}];function x(){let[e,t]=(0,h.useState)(null);return{action:e,register:(0,h.useCallback)(e=>(t(()=>e),()=>t(t=>t===e?null:t)),[])}}function S({visible:e,sessionStreaming:t,onCloseTerminal:n,onOpenChat:r,tab:o,onTabChange:s,activeSessionId:S,query:C,notify:w,requestConfirm:T,requestText:E,onUseAsset:D,terminalSupported:O,terminalLabels:k,resolveSessionCwd:A}){let{t:j}=i(),M={assets:j(`navigation:navigation.assets`),changes:j(`navigation:mobileShell.changes`),extensions:j(`navigation:mobileShell.extensions`),terminal:j(`navigation:mobileShell.terminal`)},[N,P]=(0,h.useState)(!1),F=(0,h.useRef)(!1),I=async()=>{if(!(F.current||!S)){F.current=!0,P(!0);try{let e=await A(S);if(!e.trim()){w(j(`navigation:mobileShell.workspaceUnavailable`),`error`);return}await f(e,p)}catch(e){w(e instanceof m&&e.reason===`unavailable`?j(`common:markdownMessage.revealLocalPathUnavailable`):e instanceof m&&e.reason===`timeout`?j(`common:markdownMessage.revealLocalPathTimeout`):j(`navigation:mobileShell.openWorkspaceFailed`),`error`)}finally{F.current=!1,P(!1)}}},L=x(),R=x(),[z,B]=(0,h.useState)(()=>new Set([o]));(0,h.useEffect)(()=>{B(e=>e.has(o)?e:new Set([...e,o]))},[o]);let V=e=>z.has(e)||o===e;return(0,g.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col bg-background`,"data-mobile-context-screen":!0,children:[(0,g.jsxs)(`div`,{className:`flex min-w-0 flex-none items-center gap-1 border-b border-[var(--stroke-soft)] px-2 py-1.5`,"data-swipe-ignore":!0,children:[(0,g.jsx)(`div`,{className:`flex min-w-0 flex-1 gap-1 overflow-x-auto [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,role:`tablist`,"aria-label":j(`navigation:mobileShell.context`),children:b.map(({id:e,icon:t})=>{let n=o===e;return(0,g.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":n,className:a(`flex h-8 flex-none items-center gap-1.5 rounded-full px-2.5 text-[12px] font-medium`,n?`bg-[var(--star-soft)] text-[var(--star-strong)]`:`text-[var(--text-muted)]`),onClick:()=>s(e),children:[(0,g.jsx)(t,{size:14,"aria-hidden":`true`}),M[e]]},e)})}),(0,g.jsxs)(u,{variant:`ghost`,size:`sm`,className:`h-8 shrink-0`,disabled:N||!S,"aria-busy":N,"aria-label":j(`navigation:mobileShell.openWorkspace`),title:j(`navigation:mobileShell.openWorkspace`),onClick:()=>void I(),children:[(0,g.jsx)(c,{size:14,"aria-hidden":`true`}),j(`navigation:mobileShell.files`)]})]}),(0,g.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:[V(`assets`)&&(0,g.jsxs)(`div`,{hidden:o!==`assets`,className:`h-full overflow-auto px-3 py-3 [&_.asset-grid]:!grid-cols-1`,children:[(0,g.jsx)(u,{className:`mb-3`,disabled:!L.action,onClick:()=>L.action?.(),children:j(`assets:assetsPage.addLink`)}),(0,g.jsx)(h.Suspense,{fallback:null,children:(0,g.jsx)(_,{query:C,notify:w,registerPrimaryAction:L.register,requestConfirm:T,onUse:D},S)})]}),o===`changes`&&(S?t===null?(0,g.jsx)(u,{className:`m-3`,variant:`outline`,onClick:r,children:j(`navigation:mobileShell.changesOpenChat`)}):(0,g.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:(0,g.jsx)(d,{sessionId:S,streaming:t,requestConfirm:T},S)}):(0,g.jsx)(`p`,{className:`px-4 py-6 text-sm text-muted-foreground`,children:j(`navigation:mobileShell.noSessionChanges`)})),V(`extensions`)&&(0,g.jsxs)(`div`,{hidden:o!==`extensions`,className:`h-full overflow-auto px-3 py-3`,children:[(0,g.jsx)(u,{className:`mb-3`,disabled:!R.action,onClick:()=>R.action?.(),children:j(`plugins:pluginsPage.savePolicy`)}),(0,g.jsx)(h.Suspense,{fallback:null,children:(0,g.jsx)(v,{query:C,notify:w,registerPrimaryAction:R.register,requestText:E,requestConfirm:T})})]}),V(`terminal`)&&(0,g.jsx)(`div`,{hidden:o!==`terminal`,className:`h-full min-h-0`,children:O?(0,g.jsx)(h.Suspense,{fallback:null,children:(0,g.jsx)(y,{layout:`fill`,open:e&&o===`terminal`,height:480,labels:k,activeSessionId:S,resolveSessionCwd:A,onOpenChange:e=>{e||n()},onHeightChange:()=>{}})}):(0,g.jsxs)(`div`,{className:`grid h-full place-content-center gap-2 px-6 text-center text-sm text-muted-foreground`,children:[(0,g.jsx)(l,{className:`mx-auto`,size:22,"aria-hidden":`true`}),(0,g.jsx)(`p`,{children:j(`navigation:mobileShell.terminalUnavailable`)})]})})]})]})}export{S as MobileContextScreen};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{t as r}from"./use-i18n-BSZKFkMb.js";import{t as i}from"./utils-C8uzG5AZ.js";import{t as a}from"./chevron-left-BAtyp3_6.js";import{t as o}from"./chevron-right-C3t2Rckj.js";import{t as s}from"./button-CQA36izu.js";import{a as c,n as l,o as u,r as d,t as f}from"./mobile-shell-layout-CMpTmYRX.js";var p=e(t(),1);function m(e,t,n){let r=(0,p.useRef)(null),i=(0,p.useRef)({pane:t,onPaneChange:n});i.current={pane:t,onPaneChange:n};let a=(0,p.useRef)(null),o=(0,p.useCallback)(e=>{a.current?.settle(l(e)),(0,p.startTransition)(()=>i.current.onPaneChange(e))},[]),s=(0,p.useCallback)(e=>{let t=a.current?.index()??l(i.current.pane);o(d(f[t],e))},[o]);return(0,p.useLayoutEffect)(()=>{let t=r.current;if(!e||!t)return;let n=Array.from(t.children),s=window.matchMedia(`(prefers-reduced-motion: reduce)`),p=()=>document.documentElement.dataset.motion===`reduced`||s.matches&&document.documentElement.dataset.motion!==`full`,m=[],h=null,g=0,_=l(i.current.pane),v=_,y=_,b=t.parentElement?.clientWidth||1,x=e=>`translate3d(${e*b}px,0,0)`,S=null,C=e=>`perspective(1100px) rotateY(${Math.max(-1,Math.min(1,e))*72}deg)`,w=()=>{g&&cancelAnimationFrame(g),g=0;for(let e of m)e.onfinish=null,e.cancel();m=[],h=null},T=(e,r)=>{_=e,r?(t.style.transform=x(v-e),t.style.willChange=`transform`):(v=e,t.style.marginLeft=`${-e*100}%`,t.style.transform=``,t.style.willChange=``),n.forEach((t,n)=>{let i=n-e,a=r&&!p()&&Math.abs(i)<=1;t.style.transform=a?C(i):``,t.style.willChange=a?`transform`:``,t.style.transformOrigin=r?i<0?`right center`:`left center`:``})},E=()=>{if(h){let e=h.animation.effect?.getComputedTiming().progress??0;return h.from+(h.to-h.from)*e}let e=new DOMMatrixReadOnly(getComputedStyle(t).transform);return v-e.m41/b},D=e=>{if(e===y&&!S&&(m.length||Math.abs(_-e)<.001))return;let r=m.length?E():_;if(y=e,w(),S=null,T(e,!1),p()||Math.abs(r-e)<.001)return;let i={duration:220,easing:`cubic-bezier(.2,.8,.2,1)`};if(Math.abs(r-e)>1.9){let t=Math.round(r),a=n[t],o=n[e],s=e>r?1:-1;a.style.willChange=`transform, opacity`,o.style.willChange=`transform`,m=[o.animate([{transform:C(s),transformOrigin:s>0?`left center`:`right center`},{transform:C(0),transformOrigin:s>0?`left center`:`right center`}],i),a.animate([{transform:`${x(e-t)} ${C(0)}`,opacity:1,transformOrigin:s>0?`right center`:`left center`},{transform:`${x(e-t)} ${C(-s)}`,opacity:0,transformOrigin:s>0?`right center`:`left center`}],i)],h={from:r,to:e,animation:m[0]}}else t.style.willChange=`transform`,m=[t.animate([{transform:x(e-r)},{transform:x(0)}],i)],n.forEach((t,n)=>{if(n<Math.floor(Math.min(r,e))||n>Math.ceil(Math.max(r,e)))return;let a=n<=Math.min(r,e)?`right center`:`left center`;t.style.willChange=`transform`,m.push(t.animate([{transform:C(n-r),transformOrigin:a},{transform:C(n-e),transformOrigin:a}],i))});m[0].onfinish=()=>{w(),T(e,!1)}},O=()=>{S&&D(y)},k=e=>{if(e.touches.length!==1){O();return}if(c(e.target)||window.getSelection()?.isCollapsed===!1)return;let t=e.touches[0],n=m.length?E():_;w(),T(n,!1),S={id:t.identifier,x:t.clientX,y:t.clientY,position:n,locked:!1}},A=e=>{if(!S)return;if(e.touches.length!==1){O();return}let t=e.touches[0];if(t.identifier!==S.id)return;let n=t.clientX-S.x,r=t.clientY-S.y;if(!S.locked){if(Math.max(Math.abs(n),Math.abs(r))<10)return;if(Math.abs(n)<=Math.abs(r)*1.2){O();return}S.locked=!0}if(!e.cancelable){O();return}e.preventDefault();let i=Math.max(0,Math.min(2,S.position-n/b));g&&cancelAnimationFrame(g),g=requestAnimationFrame(()=>{g=0,T(i,!0)})},j=e=>{if(!S)return;let t=Array.from(e.changedTouches).find(e=>e.identifier===S?.id);if(!t)return;let n=S.locked?u(t.clientX-S.x,t.clientY-S.y):0,r=n?d(f[y],n):f[y];n&&r!==f[y]?(S=null,o(r)):D(y)},M=()=>{w(),S=null,b=t.parentElement?.clientWidth||1,T(y,!1)};a.current={settle:D,index:()=>y},T(_,!1);let N=new MutationObserver(M);return N.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-motion`]}),s.addEventListener(`change`,M),window.addEventListener(`resize`,M),t.addEventListener(`touchstart`,k,{passive:!0}),t.addEventListener(`touchmove`,A,{passive:!1}),t.addEventListener(`touchend`,j),t.addEventListener(`touchcancel`,O),()=>{w(),N.disconnect(),s.removeEventListener(`change`,M),window.removeEventListener(`resize`,M),t.removeEventListener(`touchstart`,k),t.removeEventListener(`touchmove`,A),t.removeEventListener(`touchend`,j),t.removeEventListener(`touchcancel`,O),t.style.marginLeft=``,t.style.transform=``,t.style.willChange=``,n.forEach(e=>{e.style.transform=``,e.style.transformOrigin=``,e.style.willChange=``}),a.current=null}},[e,o]),(0,p.useLayoutEffect)(()=>{a.current?.settle(l(t))},[t,e]),{trackRef:r,requestPane:o,stepPane:s}}var h=n();function g({enabled:e,mode:t,pane:n,onPaneChange:c,sessions:u,chat:d,context:f}){let{t:g}=r(),_=e&&t===`phone`,{trackRef:v,requestPane:y,stepPane:b}=m(_,n,c),x=(0,p.useId)();if(!e||t===`off`)return(0,h.jsxs)(h.Fragment,{children:[u,d]});let S=[{id:`sessions`,label:g(`navigation:mobileShell.sessions`),node:u},{id:`chat`,label:g(`navigation:mobileShell.chat`),node:d},{id:`context`,label:g(`navigation:mobileShell.context`),node:f}];return(0,h.jsxs)(`div`,{className:i(`relative h-full min-h-0 min-w-0 flex-1 overflow-hidden`,_?`flex flex-col`:`grid min-h-0 grid-cols-[minmax(220px,260px)_minmax(0,1fr)_minmax(280px,360px)] grid-rows-[minmax(0,1fr)]`),"data-mobile-shell":t,children:[_&&(0,h.jsxs)(`div`,{className:`[[data-mobile-keyboard='open']_&]:hidden flex h-11 flex-none items-center gap-1 border-b border-[var(--stroke-soft)] bg-[var(--sidebar-bg)] px-1`,children:[(0,h.jsx)(s,{type:`button`,variant:`ghost`,size:`icon`,className:`size-11 shrink-0 disabled:opacity-30`,"aria-label":g(`navigation:mobileShell.previousPane`),title:g(`navigation:mobileShell.previousPane`),disabled:n===`sessions`,onClick:()=>b(-1),children:(0,h.jsx)(a,{size:18,"aria-hidden":`true`})}),(0,h.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center justify-center gap-1`,role:`tablist`,"aria-label":g(`navigation:mobileShell.pager`),children:S.map(e=>{let t=n===e.id;return(0,h.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,"aria-controls":`${x}-${e.id}`,tabIndex:t?0:-1,onKeyDown:t=>{let n=l(e.id),r=t.key===`ArrowRight`?(n+1)%S.length:t.key===`ArrowLeft`?(n+S.length-1)%S.length:t.key===`Home`?0:t.key===`End`?S.length-1:-1;r<0||(t.preventDefault(),y(S[r].id),(t.currentTarget.parentElement?.querySelectorAll(`button`))?.[r]?.focus())},className:i(`h-9 min-w-0 truncate rounded-full px-2.5 text-[11px] font-medium`,t?`bg-[var(--star-soft)] text-[var(--star-strong)]`:`text-[var(--text-muted)]`),onClick:()=>y(e.id),children:e.label},e.id)})}),(0,h.jsx)(s,{type:`button`,variant:`ghost`,size:`icon`,className:`size-11 shrink-0 disabled:opacity-30`,"aria-label":g(`navigation:mobileShell.nextPane`),title:g(`navigation:mobileShell.nextPane`),disabled:n===`context`,onClick:()=>b(1),children:(0,h.jsx)(o,{size:18,"aria-hidden":`true`})})]}),(0,h.jsx)(`div`,{ref:v,className:i(`min-h-0 min-w-0 flex-1`,_?`flex w-[300%]`:`contents`),children:S.map(e=>(0,h.jsx)(`section`,{id:`${x}-${e.id}`,role:_?`tabpanel`:void 0,className:i(`flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,_?`w-1/3 shrink-0 bg-background`:`min-w-0`),"aria-label":e.label,"aria-hidden":_&&n!==e.id?!0:void 0,..._&&n!==e.id?{inert:!0}:{},children:e.node},e.id))})]})}export{g as MobileThreePane};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{t as r}from"./use-i18n-BSZKFkMb.js";import{t as i}from"./AppSelect-D149YYg1.js";import{t as a}from"./bell-BjONAtgH.js";import{t as o}from"./bot-B3TaBp_T.js";import{t as s}from"./circle-check-iEdCm3Pw.js";import{t as c}from"./folder-open-FIShC5Qk.js";import{t as l}from"./message-circle-D-XrK6Ft.js";import{t as u}from"./play-DNDjDNGn.js";import{t as d}from"./plus-fQbSqB1n.js";import{t as f}from"./refresh-cw-TbWxTY4K.js";import{t as p}from"./send-Cj-W03w_.js";import{t as m}from"./trash-2-CNrPOoPR.js";import{t as h}from"./triangle-alert-CE1q54ci.js";import{t as g}from"./x-07u4-129.js";import{t as _}from"./api-Dzobr-o_.js";import{t as v}from"./button-CQA36izu.js";import{i as y,r as b,s as x,t as S}from"./dialog-D-ER2p-D.js";import{t as C}from"./field-3bN8nouy.js";import{r as w}from"./format-BRFKAYMT.js";import{i as T,l as E,n as ee,o as D,r as O,s as k,t as A}from"./app-primitives-BBXY6U2S.js";import{n as j}from"./pick-system-directory-R1F5WyaB.js";import{t as M}from"./StarOrbit-BAAjh-hY.js";import{t as N}from"./usePagePrimaryAction-CWPC0C_f.js";var P=e(t(),1),F={browser:{name:`通知`,Icon:a},feishu:{name:`飞书`,Icon:o},weixin:{name:`微信`,Icon:l},qq:{name:`QQ`,Icon:l},telegram:{name:`Telegram`,Icon:p}},I={interval:`每隔一段时间`,daily:`每天`,weekly:`每周`,monthly:`每月`},L={minutes:`分钟`,hours:`小时`,days:`天`},R=[...new Set([`Asia/Hong_Kong`,`UTC`,...typeof Intl.supportedValuesOf==`function`?Intl.supportedValuesOf(`timeZone`):[]])],z=[`full-access`];function B(e){return e(`schedules:schedulesPage.fullAccessHelp`)}function te(e,t){return{interval:t(`schedules:schedulesPage.atIntervals`),daily:t(`schedules:schedulesPage.daily`),weekly:t(`schedules:schedulesPage.weekly`),monthly:t(`schedules:schedulesPage.monthly`)}[e]}function ne(e,t){return{minutes:t(`schedules:schedulesPage.minutes`),hours:t(`schedules:schedulesPage.hours`),days:t(`schedules:schedulesPage.days`)}[e]}function V(e,t){return{browser:t(`schedules:schedulesPage.browserNotifications`),feishu:`飞书`,weixin:`微信`,qq:`QQ`,telegram:`Telegram`}[e]}function H(e){let t={};if(!e)return t;for(let n of e.inputs)t[n.name]=n.defaultValue;return t}function U(e,t,n,r,i){if(e===`prompt`)return!!t.trim();if(!n)return!1;let a=i.find(e=>e.id===n);return a?a.inputs.filter(e=>e.required).every(e=>{let t=r[e.name];return t!=null&&String(t).trim()!==``}):!1}function W(e){let{nextRunAt:t,lastRunAt:n,lastStatus:r,...i}=e;return i}function G(e,t=`zh-CN`){if(!e.nextRunAt)return null;try{return new Intl.DateTimeFormat(t,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(new Date(e.nextRunAt))}catch{return null}}var K=n();function q({value:e,onChange:t}){let{t:n}=r();return(0,K.jsxs)(C,{variant:`control`,children:[n(`schedules:schedulesPage.executionMode`),(0,K.jsx)(i,{value:e,onChange:e=>t(e.target.value),children:z.map(e=>(0,K.jsx)(`option`,{value:e,children:n(`schedules:schedulesPage.fullAccess`)},e))}),(0,K.jsx)(`small`,{children:B(n)})]})}function J({targetType:e,prompt:t,workflowId:n,workflowInputs:a,workflows:o,onChange:s}){let{t:c}=r(),l=o.find(e=>e.id===n);return(0,K.jsxs)(`div`,{className:`grid gap-[10px]`,children:[(0,K.jsxs)(C,{variant:`control`,children:[c(`schedules:schedulesPage.executionTarget`),(0,K.jsxs)(i,{value:e,onChange:e=>{let t=e.target.value,r=o[0];s(t===`workflow`?{targetType:t,workflowId:n||r?.id||``,workflowInputs:n?a:H(r)}:{targetType:t})},children:[(0,K.jsx)(`option`,{value:`prompt`,children:`Prompt`}),(0,K.jsx)(`option`,{value:`workflow`,children:c(`schedules:schedulesPage.workflow`)})]})]}),e===`prompt`?(0,K.jsxs)(C,{variant:`control`,children:[`Prompt`,(0,K.jsx)(`textarea`,{value:t,onChange:e=>s({prompt:e.target.value}),placeholder:c(`schedules:schedulesPage.describeTheWorkTheAgentShouldCompleteEachTime`)})]}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(C,{variant:`control`,children:[c(`schedules:schedulesPage.workflow`),(0,K.jsxs)(i,{value:n,onChange:e=>{let t=o.find(t=>t.id===e.target.value);s({workflowId:e.target.value,workflowInputs:H(t)})},children:[(0,K.jsx)(`option`,{value:``,children:c(`schedules:schedulesPage.selectPublishedWorkflow`)}),o.map(e=>(0,K.jsxs)(`option`,{value:e.id,children:[e.name,` · v`,e.revision]},e.id))]}),(0,K.jsx)(`small`,{children:l?.description||(o.length?c(`schedules:schedulesPage.workflowUsesItsOwnRuntimeSettings`):c(`schedules:schedulesPage.noPublishedWorkflows`))})]}),l?.inputs.length?(0,K.jsxs)(`div`,{className:`grid gap-[8px]`,children:[(0,K.jsxs)(`div`,{className:`schedule-workflow-inputs-heading [&_strong]:text-[12px] [&_small]:text-[var(--text-muted)] [&_small]:text-[11px] [&_small]:text-right max-[650px]:items-start max-[650px]:flex-col max-[650px]:gap-[2px] max-[650px]:[&_small]:text-left flex [align-items:baseline] justify-between gap-[12px]`,children:[(0,K.jsx)(`strong`,{children:c(`schedules:schedulesPage.workflowInputs`)}),(0,K.jsx)(`small`,{children:c(`schedules:schedulesPage.workflowInputsHelp`)})]}),(0,K.jsx)(`div`,{className:`schedule-workflow-inputs [&_input[type='checkbox']]:w-[16px] [&_input[type='checkbox']]:h-[16px] [&_input[type='checkbox']]:[justify-self:end] max-[650px]:grid-cols-[1fr] grid grid-cols-[repeat(2,minmax(0,1fr))] gap-[8px]`,children:l.inputs.map(e=>(0,K.jsxs)(C,{variant:`control`,className:e.type===`boolean`?`grid grid-cols-[minmax(0,1fr)_auto] items-center`:void 0,children:[e.label,e.required?` *`:``,e.type===`boolean`?(0,K.jsx)(`input`,{type:`checkbox`,checked:!!a[e.name],onChange:t=>s({workflowInputs:{...a,[e.name]:t.target.checked}})}):(0,K.jsx)(`input`,{type:e.type===`number`?`number`:`text`,required:e.required,value:String(a[e.name]??``),onChange:t=>s({workflowInputs:{...a,[e.name]:t.target.value}})}),e.description&&(0,K.jsx)(`small`,{children:e.description})]},e.id))})]}):null]})]})}function Y({value:e,onChange:t}){let{t:n}=r(),[i,a]=(0,P.useState)(``),[o,s]=(0,P.useState)(!1),l=async()=>{a(``),s(!0);try{let n=await j(e);n&&t(n)}catch(e){a(e instanceof Error?e.message:String(e))}finally{s(!1)}};return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(C,{variant:`control`,children:[n(`schedules:schedulesPage.workingDirectory`),(0,K.jsxs)(`span`,{className:`schedule-workspace-input [&_input]:min-w-0 [&_input]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] grid grid-cols-[minmax(0,1fr)_auto] gap-[6px]`,children:[(0,K.jsx)(`input`,{value:e,onChange:e=>t(e.target.value),placeholder:n(`schedules:schedulesPage.enterTheProjectSAbsolutePath`)}),(0,K.jsxs)(v,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,disabled:o,onClick:()=>void l(),children:[(0,K.jsx)(c,{size:13}),n(`schedules:schedulesPage.browseDirectories`)]})]}),(0,K.jsx)(`small`,{children:n(`schedules:schedulesPage.theScheduledAgentWillRunInThisDirectory`)})]}),i&&(0,K.jsxs)(T,{children:[(0,K.jsx)(h,{size:13}),i]})]})}function re({notificationTargets:e,workflows:t,defaultCwd:n,onClose:i,onCreated:a}){let{t:o}=r(),[s,c]=(0,P.useState)(``),[l,u]=(0,P.useState)(`prompt`),[p,m]=(0,P.useState)(``),[w,E]=(0,P.useState)(``),[D,O]=(0,P.useState)({}),[k,A]=(0,P.useState)(n||``),[j,M]=(0,P.useState)(`full-access`),[N,F]=(0,P.useState)(!1),I=(0,P.useRef)(!1),L=(0,P.useRef)(null),[R]=(0,P.useState)(()=>document.activeElement instanceof HTMLElement?document.activeElement:null),[z,B]=(0,P.useState)(``);return(0,K.jsx)(S,{open:!0,onOpenChange:e=>{!e&&!I.current&&i()},children:(0,K.jsx)(b,{className:`z-[71] block bg-[var(--solid)] p-[18px] sm:max-w-[430px]`,overlayClassName:`z-[70] bg-[var(--modal-overlay)] backdrop-blur-sm`,showCloseButton:!1,onOpenAutoFocus:e=>{e.preventDefault(),L.current?.focus()},onCloseAutoFocus:e=>{e.preventDefault(),R?.focus()},children:(0,K.jsxs)(`form`,{className:`space-y-3`,onSubmit:async n=>{if(n.preventDefault(),!(I.current||!s.trim()||!U(l,p,w,D,t))){I.current=!0,F(!0),B(``);try{let t=Object.entries(e).filter(([,e])=>e.enabled).map(([e])=>e);a(await _(`/api/schedules`,{method:`POST`,body:JSON.stringify({name:s,targetType:l,prompt:p,workflowId:w,workflowInputs:D,cwd:k,enabled:!0,frequency:`daily`,time:`09:00`,timezone:`Asia/Hong_Kong`,executionMode:j,notifications:t,notifyOn:`always`})}))}catch(e){B(e instanceof Error?e.message:String(e))}finally{I.current=!1,F(!1)}}},children:[(0,K.jsxs)(ee,{children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(x,{children:o(`schedules:schedulesPage.newScheduledTask`)}),(0,K.jsx)(y,{children:o(`schedules:schedulesPage.youCanContinueSettingTheRunTimeAndNotificationChannelsAfterCreation`)})]}),(0,K.jsx)(v,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":o(`schedules:schedulesPage.closeDialog`),disabled:N,onClick:i,children:(0,K.jsx)(g,{size:17})})]}),(0,K.jsxs)(C,{variant:`control`,children:[o(`schedules:schedulesPage.taskName`),(0,K.jsx)(`input`,{ref:L,value:s,onChange:e=>c(e.target.value),placeholder:o(`schedules:schedulesPage.forExampleDailyCodeReview`)})]}),(0,K.jsx)(J,{targetType:l,prompt:p,workflowId:w,workflowInputs:D,workflows:t,onChange:e=>{e.targetType&&u(e.targetType),e.prompt!==void 0&&m(e.prompt),e.workflowId!==void 0&&E(e.workflowId),e.workflowInputs!==void 0&&O(e.workflowInputs)}}),l===`prompt`&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(Y,{value:k,onChange:A}),(0,K.jsx)(q,{value:j,onChange:M})]}),z&&(0,K.jsxs)(T,{children:[(0,K.jsx)(h,{size:13}),z]}),(0,K.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,K.jsx)(v,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,disabled:N,onClick:i,children:o(`schedules:schedulesPage.cancel`)}),(0,K.jsxs)(v,{size:`lg`,disabled:N||!s.trim()||!U(l,p,w,D,t),children:[N?(0,K.jsx)(f,{className:`animate-spin`,size:14}):(0,K.jsx)(d,{size:14}),o(N?`schedules:schedulesPage.creating`:`schedules:schedulesPage.createTask`)]})]})]})})})}function ie({notificationTargets:e,workflows:t,defaultCwd:n,onCreated:a}){let{t:o}=r(),[s,c]=(0,P.useState)(``),[l,u]=(0,P.useState)(`prompt`),[p,m]=(0,P.useState)(``),[g,y]=(0,P.useState)(``),[b,x]=(0,P.useState)({}),[S,w]=(0,P.useState)(n||``),[E,D]=(0,P.useState)(`daily`),[O,k]=(0,P.useState)(`09:00`),[j,M]=(0,P.useState)(`Asia/Hong_Kong`),[N,F]=(0,P.useState)(1),[z,B]=(0,P.useState)(`hours`),[V,H]=(0,P.useState)(`full-access`),[W,G]=(0,P.useState)(!1),[re,ie]=(0,P.useState)(``);return(0,K.jsxs)(A,{children:[(0,K.jsx)(ee,{children:(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`h2`,{children:o(`schedules:schedulesPage.newScheduledTask`)}),(0,K.jsx)(`p`,{children:o(`schedules:schedulesPage.youCanContinueEditingTheRunTimeAndNotificationChannelsAfterCreation`)})]})}),(0,K.jsxs)(C,{variant:`control`,children:[o(`schedules:schedulesPage.taskName`),(0,K.jsx)(`input`,{value:s,onChange:e=>c(e.target.value),placeholder:o(`schedules:schedulesPage.forExampleDailyCodeReview`)})]}),(0,K.jsx)(J,{targetType:l,prompt:p,workflowId:g,workflowInputs:b,workflows:t,onChange:e=>{e.targetType&&u(e.targetType),e.prompt!==void 0&&m(e.prompt),e.workflowId!==void 0&&y(e.workflowId),e.workflowInputs!==void 0&&x(e.workflowInputs)}}),l===`prompt`&&(0,K.jsx)(Y,{value:S,onChange:w}),(0,K.jsxs)(`div`,{className:`form-grid grid gap-[9px] three [.form-grid&]:grid-cols-[repeat(3,minmax(0,1fr))] max-[650px]:[.form-grid&]:grid-cols-[1fr]`,children:[(0,K.jsxs)(C,{variant:`control`,children:[o(`schedules:schedulesPage.frequency`),(0,K.jsx)(i,{value:E,onChange:e=>D(e.target.value),children:Object.keys(I).map(e=>(0,K.jsx)(`option`,{value:e,children:te(e,o)},e))})]}),E===`interval`?(0,K.jsxs)(C,{variant:`control`,children:[o(`schedules:schedulesPage.runInterval`),(0,K.jsxs)(`span`,{className:`schedule-interval-input [&_input]:w-full [&_input]:min-w-0 [&_input]:h-full [&_input]:border-0 [&_input]:[outline:0] [&_input]:bg-transparent [&_input]:p-[0_9px] [&_input]:text-[var(--text)] [&_select]:h-full [&_select]:border-0 [&_select]:[border-left:1px_solid_var(--stroke)] [&_select]:[outline:0] [&_select]:bg-[var(--solid)] [&_select]:p-[0_8px] [&_select]:text-[var(--text-tertiary)] [&_select]:text-[12px] [&_[data-slot='select-trigger']]:w-auto [&_[data-slot='select-trigger']]:min-w-[74px] [&_[data-slot='select-trigger']]:[border-left:1px_solid_var(--stroke)] [&_[data-slot='select-trigger']]:rounded-[0] [&_[data-slot='select-trigger']]:bg-[var(--solid)] [&_[data-slot='select-trigger']]:text-[var(--text-tertiary)] grid h-[31px] grid-cols-[minmax(0,1fr)_auto] overflow-hidden [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--surface-subtle)]`,children:[(0,K.jsx)(`input`,{type:`number`,min:`1`,value:N,onChange:e=>F(Number(e.target.value))}),(0,K.jsx)(i,{value:z,onChange:e=>B(e.target.value),children:Object.keys(L).map(e=>(0,K.jsx)(`option`,{value:e,children:ne(e,o)},e))})]})]}):(0,K.jsxs)(C,{variant:`control`,children:[o(`schedules:schedulesPage.time`),(0,K.jsx)(`input`,{type:`time`,value:O,onChange:e=>k(e.target.value)})]}),(0,K.jsxs)(C,{variant:`control`,children:[o(`schedules:schedulesPage.timeZone`),(0,K.jsx)(i,{value:j,onChange:e=>M(e.target.value),children:R.map(e=>(0,K.jsx)(`option`,{value:e,children:e},e))})]}),l===`prompt`&&(0,K.jsx)(q,{value:V,onChange:H})]}),re&&(0,K.jsxs)(T,{children:[(0,K.jsx)(h,{size:13}),re]}),(0,K.jsxs)(`div`,{className:`form-footer [&_>_span]:text-[var(--text-muted)] [&_>_span]:text-[13px] flex items-center justify-between gap-[10px] [margin-top:10px]`,children:[(0,K.jsx)(`span`,{children:o(`schedules:schedulesPage.enabledAutomaticallyAfterCreation`)}),(0,K.jsxs)(v,{size:`lg`,disabled:W||!s.trim()||!U(l,p,g,b,t),onClick:async()=>{G(!0),ie(``);try{let t=Object.entries(e).filter(([,e])=>e.enabled).map(([e])=>e);a(await _(`/api/schedules`,{method:`POST`,body:JSON.stringify({name:s,targetType:l,prompt:p,workflowId:g,workflowInputs:b,cwd:S,enabled:!0,frequency:E,time:O,timezone:j,intervalValue:N,intervalUnit:z,executionMode:V,notifications:t,notifyOn:`always`})}))}catch(e){ie(e instanceof Error?e.message:String(e))}finally{G(!1)}},children:[W?(0,K.jsx)(f,{className:`animate-spin`,size:14}):(0,K.jsx)(d,{size:14}),o(W?`schedules:schedulesPage.creating`:`schedules:schedulesPage.createTask`)]})]})]})}function ae({notify:e,registerPrimaryAction:t,requestConfirm:n,openNotificationSettings:a}){let{t:o,language:c}=r(),[l,d]=(0,P.useState)({tasks:[],runs:[],notificationTargets:{browser:{enabled:!1},feishu:{enabled:!1},weixin:{enabled:!1},qq:{enabled:!1},telegram:{enabled:!1}},workflows:[],defaultCwd:``}),[p,g]=(0,P.useState)(``),[y,b]=(0,P.useState)(null),[x,S]=(0,P.useState)(!0),[j,z]=(0,P.useState)(!1),[B,H]=(0,P.useState)(``),[ae,oe]=(0,P.useState)(!1);N(t,()=>oe(!0));let X=(0,P.useCallback)(async()=>{try{let e=await _(`/api/schedules`);d(e),g(t=>e.tasks.some(e=>e.id===t)?t:e.tasks[0]?.id||``)}catch(e){H(e instanceof Error?e.message:String(e))}finally{S(!1)}},[]);(0,P.useEffect)(()=>{X()},[X]),(0,P.useEffect)(()=>{let e=window.setInterval(X,l.tasks.some(e=>e.lastStatus===`running`)?2e3:1e4);return()=>window.clearInterval(e)},[l.tasks,X]);let Z=l.tasks.find(e=>e.id===p),Q=l.workflows||[];(0,P.useEffect)(()=>{b(e=>Z?e?.id===Z.id?e:W(Z):null)},[Z]);let se=(0,P.useMemo)(()=>l.runs.filter(e=>e.taskId===p).sort((e,t)=>new Date(t.startedAt).getTime()-new Date(e.startedAt).getTime()).slice(0,20),[l.runs,p]),$=e=>b(t=>t&&{...t,...e}),ce=e=>{y&&$({notifications:y.notifications.includes(e)?y.notifications.filter(t=>t!==e):[...y.notifications,e]})};return x?(0,K.jsxs)(O,{children:[(0,K.jsx)(f,{className:`animate-spin`,size:23}),(0,K.jsx)(`h2`,{children:o(`schedules:schedulesPage.loadingScheduledTasks`)})]}):(0,K.jsxs)(K.Fragment,{children:[B&&(0,K.jsxs)(T,{children:[(0,K.jsx)(h,{size:13}),B]}),(0,K.jsxs)(`div`,{className:`split-list-detail grid min-h-[100%] min-w-0 grid-cols-[minmax(0,310px)_minmax(0,1fr)] gap-[12px] overflow-x-hidden max-[900px]:grid-cols-1 max-[650px]:gap-[8px]`,children:[(0,K.jsxs)(A,{className:`selection-list [.config-layout_>_&]:max-h-[calc(100dvh_-_280px)] [.config-layout_>_&]:overflow-y-auto max-[900px]:max-h-[300px] min-h-0 overflow-auto`,children:[(0,K.jsx)(D,{title:o(`schedules:schedulesPage.taskQueue`)}),l.tasks.length?l.tasks.map(e=>(0,K.jsx)(`div`,{className:`schedule-list-item hover:bg-[var(--accent-soft)] [&.active]:bg-[var(--accent-soft)] [&_>_button]:grid [&_>_button]:min-w-0 [&_>_button]:min-h-[68px] [&_>_button]:grid-cols-[minmax(0,1fr)_auto] [&_>_button]:items-center [&_>_button]:gap-[8px] [&_>_button]:border-0 [&_>_button]:bg-transparent [&_>_button]:p-[6px_2px] [&_>_button]:text-left [&_>_button_>_span]:flex [&_>_button_>_span]:min-w-0 [&_>_button_>_span]:flex-col [&_>_button_>_span]:gap-[5px] [&_strong]:overflow-hidden [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-ellipsis [&_small]:whitespace-nowrap [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_em]:flex [&_em]:items-center [&_em]:gap-[4px] [&_em]:text-[var(--text-muted)] [&_em]:text-[13px] [&_em]:[font-style:normal] grid grid-cols-[minmax(0,1fr)_auto] items-center gap-[5px] [border-top:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] [padding:3px_5px] ${p===e.id?`active`:``}`,children:(0,K.jsxs)(`button`,{onClick:()=>g(e.id),children:[(0,K.jsxs)(`span`,{children:[(0,K.jsxs)(`div`,{className:`schedule-item-head [.schedule-list-item_&]:flex [.schedule-list-item_&]:min-w-0 [.schedule-list-item_&]:items-center [.schedule-list-item_&]:gap-[6px] [.schedule-list-item_&_strong]:flex-1 [.schedule-list-item_&_strong]:min-w-0`,children:[(0,K.jsx)(`strong`,{children:e.name}),(0,K.jsx)(E,{tone:e.enabled?`green`:`gray`,children:e.enabled?o(`schedules:schedulesPage.enabled`):o(`schedules:schedulesPage.pause`)})]}),(0,K.jsx)(`small`,{children:e.targetType===`workflow`?Q.find(t=>t.id===e.workflowId)?.name||o(`schedules:schedulesPage.workflowUnavailable`):e.prompt})]}),(0,K.jsx)(`em`,{children:G(e,c)})]})},e.id)):(0,K.jsxs)(`div`,{className:`channel-route-empty [&_strong]:mt-[9px] [&_strong]:text-[var(--text)] [&_strong]:text-[12px] [&_span]:mt-[4px] [&_span]:text-[13px] [&.compact]:min-h-[110px] [.workflow-assets-panel_&]:min-h-[150px] [.workflow-assets-panel_&]:border-0 [.workflow-assets-panel_&]:bg-transparent grid min-h-[185px] place-content-center justify-items-center text-[var(--text-muted)] text-center`,children:[(0,K.jsx)(M,{size:38}),(0,K.jsx)(`strong`,{children:o(`schedules:schedulesPage.theTimelineIsStillUnlit`)}),(0,K.jsx)(`span`,{children:o(`schedules:schedulesPage.createATaskAndLetItSetOutAutomaticallyAtTheAppointedTime`)})]})]}),Z&&y?(0,K.jsxs)(`div`,{className:`detail-stack flex min-w-0 flex-col gap-[12px] [.mcp-layout_>_&]:min-h-0 max-[1150px]:[.memory-layout_>_&]:[grid-column:1/-1] max-[1150px]:[.memory-layout_>_&]:grid max-[1150px]:[.memory-layout_>_&]:grid-cols-[repeat(2,minmax(0,1fr))] max-[1150px]:[.mcp-layout_>_&]:[grid-column:1/-1] max-[1150px]:[.mcp-layout_>_&]:grid max-[1150px]:[.mcp-layout_>_&]:grid-cols-[repeat(2,minmax(0,1fr))] max-[1150px]:[.skills-layout_>_&]:[grid-column:1/-1] max-[1150px]:[.skills-layout_>_&]:grid max-[1150px]:[.skills-layout_>_&]:grid-cols-[repeat(2,minmax(0,1fr))] max-[650px]:[.memory-layout_>_&]:[grid-column:auto] max-[650px]:[.memory-layout_>_&]:grid-cols-[1fr] max-[650px]:[.mcp-layout_>_&]:[grid-column:auto] max-[650px]:[.mcp-layout_>_&]:grid-cols-[1fr] max-[650px]:[.skills-layout_>_&]:[grid-column:auto] max-[650px]:[.skills-layout_>_&]:grid-cols-[1fr]`,children:[(0,K.jsxs)(A,{children:[(0,K.jsxs)(ee,{className:`max-[650px]:flex-wrap max-[650px]:items-start`,children:[(0,K.jsx)(`h2`,{className:`min-w-0 break-words`,children:y.name}),(0,K.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-[5px] max-[650px]:w-full`,children:[(0,K.jsx)(k,{value:y.enabled,onChange:e=>$({enabled:e}),ariaLabel:y.name}),(0,K.jsxs)(v,{size:`lg`,disabled:j||Z.lastStatus===`running`,onClick:async()=>{if(Z){z(!0),H(``);try{await _(`/api/schedules/${encodeURIComponent(Z.id)}/run`,{method:`POST`,body:`{}`}),await X(),e(o(`schedules:schedulesPage.scheduledTaskStarted`))}catch(e){H(e instanceof Error?e.message:String(e))}finally{z(!1)}}},children:[Z.lastStatus===`running`?(0,K.jsx)(f,{className:`animate-spin`,size:14}):(0,K.jsx)(u,{size:14}),Z.lastStatus===`running`?o(`schedules:schedulesPage.running`):o(`schedules:schedulesPage.runNow`)]}),(0,K.jsx)(v,{variant:`destructive`,size:`icon`,title:o(`schedules:schedulesPage.deleteTask`),"aria-label":o(`schedules:schedulesPage.deleteTask`),onClick:async()=>{if(Z&&await n({title:o(`schedules:schedulesPage.deleteScheduledTask`),message:o(`schedules:schedulesPage.deleteScheduledTaskNameAndItsRunHistory`,{name:Z.name}),confirmLabel:o(`schedules:schedulesPage.delete`)}))try{await _(`/api/schedules/${encodeURIComponent(Z.id)}`,{method:`DELETE`}),await X(),e(o(`schedules:schedulesPage.scheduledTaskDeleted`))}catch(e){H(e instanceof Error?e.message:String(e))}},children:(0,K.jsx)(m,{size:14})})]})]}),(0,K.jsx)(J,{targetType:y.targetType,prompt:y.prompt,workflowId:y.workflowId,workflowInputs:y.workflowInputs,workflows:Q,onChange:$}),y.targetType===`prompt`&&(0,K.jsx)(Y,{value:y.cwd,onChange:e=>$({cwd:e})}),(0,K.jsxs)(`div`,{className:`form-grid grid gap-[9px] three [.form-grid&]:grid-cols-[repeat(3,minmax(0,1fr))] max-[650px]:[.form-grid&]:grid-cols-[1fr]`,children:[(0,K.jsxs)(C,{variant:`control`,children:[o(`schedules:schedulesPage.frequency`),(0,K.jsx)(i,{value:y.frequency,onChange:e=>$({frequency:e.target.value}),children:Object.keys(I).map(e=>(0,K.jsx)(`option`,{value:e,children:te(e,o)},e))})]}),y.frequency===`interval`?(0,K.jsxs)(C,{variant:`control`,children:[o(`schedules:schedulesPage.runInterval`),(0,K.jsxs)(`span`,{className:`schedule-interval-input [&_input]:w-full [&_input]:min-w-0 [&_input]:h-full [&_input]:border-0 [&_input]:[outline:0] [&_input]:bg-transparent [&_input]:p-[0_9px] [&_input]:text-[var(--text)] [&_select]:h-full [&_select]:border-0 [&_select]:[border-left:1px_solid_var(--stroke)] [&_select]:[outline:0] [&_select]:bg-[var(--solid)] [&_select]:p-[0_8px] [&_select]:text-[var(--text-tertiary)] [&_select]:text-[12px] [&_[data-slot='select-trigger']]:w-auto [&_[data-slot='select-trigger']]:min-w-[74px] [&_[data-slot='select-trigger']]:[border-left:1px_solid_var(--stroke)] [&_[data-slot='select-trigger']]:rounded-[0] [&_[data-slot='select-trigger']]:bg-[var(--solid)] [&_[data-slot='select-trigger']]:text-[var(--text-tertiary)] grid h-[31px] grid-cols-[minmax(0,1fr)_auto] overflow-hidden [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--surface-subtle)]`,children:[(0,K.jsx)(`input`,{type:`number`,min:`1`,value:y.intervalValue,onChange:e=>$({intervalValue:Number(e.target.value)})}),(0,K.jsx)(i,{value:y.intervalUnit,onChange:e=>$({intervalUnit:e.target.value}),children:Object.keys(L).map(e=>(0,K.jsx)(`option`,{value:e,children:ne(e,o)},e))})]})]}):(0,K.jsxs)(C,{variant:`control`,children:[o(`schedules:schedulesPage.time`),(0,K.jsx)(`input`,{type:`time`,value:y.time,onChange:e=>$({time:e.target.value})})]}),(0,K.jsxs)(C,{variant:`control`,children:[o(`schedules:schedulesPage.timeZone`),(0,K.jsx)(i,{value:y.timezone,onChange:e=>$({timezone:e.target.value}),children:R.map(e=>(0,K.jsx)(`option`,{value:e,children:e},e))})]}),y.targetType===`prompt`&&(0,K.jsx)(q,{value:y.executionMode,onChange:e=>$({executionMode:e})})]}),(0,K.jsx)(D,{title:o(`schedules:schedulesPage.notifications`)}),(0,K.jsx)(`div`,{className:`notification-grid [&_>_label]:[&.on]:bg-[var(--accent-soft)] [&_>_label]:[&.on]:border-[var(--accent)] [&_>_label]:[&.on]:text-[var(--accent)] grid gap-[6px] grid-cols-[repeat(2,minmax(0,1fr))] max-[650px]:grid-cols-[1fr]`,children:Object.entries(l.notificationTargets).map(([e,t])=>{let{Icon:n}=F[e]||F.browser,r=y.notifications.includes(e);return(0,K.jsxs)(`button`,{className:`notification-chip [&.on]:border-[var(--accent)] [&.on]:bg-[var(--accent-soft)] [&.on]:text-[var(--accent)] flex items-center gap-[7px] [border:1px_solid_var(--stroke)] rounded-[var(--r-sm)] [padding:7px_10px] text-[13px] transition-colors ${r?`on`:``}`,onClick:()=>ce(e),disabled:!t.enabled,children:[(0,K.jsx)(n,{size:14}),V(e,o),!t.enabled&&(0,K.jsx)(`small`,{className:`text-[var(--text-muted)] text-[11px] ml-auto`,children:o(`schedules:schedulesPage.unconfigured`)})]},e)})}),y.notifications.length>0&&(0,K.jsxs)(C,{variant:`control`,children:[o(`schedules:schedulesPage.notifyOn`),(0,K.jsxs)(i,{value:y.notifyOn,onChange:e=>$({notifyOn:e.target.value}),children:[(0,K.jsx)(`option`,{value:`always`,children:o(`schedules:schedulesPage.onCompletionAndFailure`)}),(0,K.jsx)(`option`,{value:`failure`,children:o(`schedules:schedulesPage.onFailureOnly`)})]})]}),(0,K.jsx)(`div`,{className:`[margin-top:10px]`,children:(0,K.jsxs)(v,{size:`lg`,disabled:j||!U(y.targetType,y.prompt,y.workflowId,y.workflowInputs,Q),onClick:async()=>{if(!(!Z||!y)){z(!0),H(``);try{let t=await _(`/api/schedules/${encodeURIComponent(Z.id)}`,{method:`PATCH`,body:JSON.stringify(y)});d(t.state),b(W(t.task)),e(o(`schedules:schedulesPage.scheduledTaskSaved`))}catch(e){H(e instanceof Error?e.message:String(e))}finally{z(!1)}}},children:[j?(0,K.jsx)(f,{className:`animate-spin`,size:14}):null,o(j?`schedules:schedulesPage.saving`:`schedules:schedulesPage.saveTask`)]})})]}),(0,K.jsxs)(A,{children:[(0,K.jsx)(D,{title:o(`schedules:schedulesPage.recentRuns`)}),se.length?se.map(e=>(0,K.jsxs)(`div`,{className:`schedule-run-row [&_>_svg]:text-[var(--text-muted)] [&.completed_>_svg]:text-[var(--success)] [&.failed_>_svg]:text-[var(--danger)] [&.running_>_svg]:text-[var(--star-strong)] [&_>_span]:flex [&_>_span]:min-w-0 [&_>_span]:flex-col [&_>_span]:gap-[4px] [&_strong]:[display:-webkit-box] [&_strong]:overflow-hidden [&_strong]:text-[12px] [&_strong]:leading-[1.4] [&_strong]:[-webkit-box-orient:vertical] [&_strong]:[-webkit-line-clamp:2] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_a]:text-[var(--text-soft)] [&_a]:text-[13px] [&_a]:[text-decoration:underline] [&_a]:[text-underline-offset:2px] [&_>_em]:text-[var(--text-secondary)] [&_>_em]:text-[12px] [&_>_em]:[font-style:normal] [&_>_em]:whitespace-nowrap grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[9px] [border-top:1px_solid_var(--stroke-soft)] [padding:10px_2px] ${e.status}`,children:[e.status===`running`?(0,K.jsx)(f,{className:`animate-spin`,size:15}):e.status===`completed`?(0,K.jsx)(s,{size:15}):(0,K.jsx)(h,{size:15}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:e.status===`running`?o(`schedules:schedulesPage.running2`):e.status===`completed`?e.summary||o(`schedules:schedulesPage.taskCompleted`):e.status===`interrupted`?o(`schedules:schedulesPage.taskInterrupted`):e.error||o(`schedules:schedulesPage.taskFailed`)}),(0,K.jsxs)(`small`,{children:[w(e.startedAt,c),` ·`,` `,e.trigger===`manual`?o(`schedules:schedulesPage.manualRun`):o(`schedules:schedulesPage.scheduledTrigger`),e.durationMs?` · ${o(`schedules:schedulesPage.countSec`,{count:Math.round(e.durationMs/1e3)})}`:``]})]}),(0,K.jsx)(`em`,{children:new Intl.DateTimeFormat(c,{hour:`2-digit`,minute:`2-digit`}).format(new Date(e.startedAt))})]},e.id)):(0,K.jsxs)(`div`,{className:`channel-route-empty [&_strong]:mt-[9px] [&_strong]:text-[var(--text)] [&_strong]:text-[12px] [&_span]:mt-[4px] [&_span]:text-[13px] [&.compact]:min-h-[110px] [.workflow-assets-panel_&]:min-h-[150px] [.workflow-assets-panel_&]:border-0 [.workflow-assets-panel_&]:bg-transparent grid min-h-[185px] place-content-center justify-items-center text-[var(--text-muted)] text-center compact`,children:[(0,K.jsx)(M,{size:32}),(0,K.jsx)(`strong`,{children:o(`schedules:schedulesPage.noRunHistory`)})]})]})]}):(0,K.jsx)(ie,{notificationTargets:l.notificationTargets,workflows:Q,defaultCwd:l.defaultCwd,onCreated:t=>{d(t.state),g(t.task.id),e(o(`schedules:schedulesPage.scheduledTaskCreated`))}})]}),ae&&(0,K.jsx)(re,{notificationTargets:l.notificationTargets,workflows:Q,defaultCwd:l.defaultCwd,onClose:()=>oe(!1),onCreated:t=>{oe(!1),d(t.state),g(t.task.id),e(o(`schedules:schedulesPage.scheduledTaskCreated`))}})]})}export{ae as SchedulesPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{t as r}from"./use-i18n-BSZKFkMb.js";import{o as i}from"./vendor-state-GkUciC5H.js";import{a,n as o,r as s,t as c}from"./dropdown-menu-DmL4pJTo.js";import{a as l}from"./popover-BBuzaBfd.js";import{t as u}from"./createLucideIcon-Cd-3GVxJ.js";import{t as d}from"./earth-Ddy13fHh.js";import{t as f}from"./external-link-CEQqPcqc.js";import{E as p,d as m,f as h,i as g,n as _,r as v,t as y}from"./session-streaming-state-llCTupbI.js";import{t as b}from"./loader-circle-BOwQzHB-.js";import{t as x}from"./message-square-SKjZyY3v.js";import{t as S}from"./web-preview-CQbpHjt1.js";import{t as C}from"./plus-fQbSqB1n.js";import{t as w}from"./square-bHHVTT3G.js";import{t as T}from"./x-07u4-129.js";import{t as E}from"./button-CQA36izu.js";import{t as D}from"./SessionFilesPane-BIRQ_hHi.js";import{r as O,s as k}from"./shortcuts-BO-h6OmP.js";import{a as A,i as j,n as M,t as N}from"./sheet--Om3LZxh.js";import{n as P,t as F}from"./web-preview-BPNd1LUd.js";import{r as I}from"./side-chat-context-Dr2QLUJA.js";var L=u(`files`,[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`,key:`14sh0y`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`,key:`1970lx`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`,key:`l4dndm`}]]),R=e(t(),1);function z(e=`files`){return{pages:[{id:`page-1`,kind:e,draft:``,url:``}],activeId:`page-1`,nextId:2}}function B(e,t){if(t.type===`add`){let n=e.pages.find(e=>e.kind===`side-chat`);if(t.kind===`side-chat`&&n)return{...e,activeId:n.id};if(e.pages.length>=12)return e;let r={id:`page-${e.nextId}`,kind:t.kind,draft:``,url:``};return{pages:[...e.pages,r],activeId:r.id,nextId:e.nextId+1}}let n=e.pages.findIndex(e=>e.id===t.id);if(n<0)return e;if(t.type===`select`)return{...e,activeId:t.id};if(t.type===`close`){let r=e.pages.filter(e=>e.id!==t.id);return r.length?{...e,pages:r,activeId:e.activeId===t.id?r[Math.min(n,r.length-1)].id:e.activeId}:z()}return{...e,pages:e.pages.map(e=>e.id===t.id?t.type===`kind`?{...e,kind:t.kind}:{...e,...t.draft===void 0?{}:{draft:t.draft},...t.url===void 0?{}:{url:t.url}}:e)}}var V=i(e=>({sessions:{},update:(t,n,r)=>e(e=>{let i=Object.prototype.hasOwnProperty.call(e.sessions,t)?e.sessions[t]:z(n),a=Object.entries(e.sessions).filter(([e])=>e!==t).slice(-31);return{sessions:Object.fromEntries([...a,[t,B(i,r)]])}})})),H=n();function U({parentId:e,active:t}){let{t:n}=r(),{entry:i,runtime:a,load:o,setDraft:s}=I(e),c=i.session?.id??``,u=(0,R.useMemo)(()=>e=>a.subscribeSessionState(c,e),[a,c]),d=(0,R.useMemo)(()=>()=>a.getSessionState(c),[a,c]),f=(0,R.useSyncExternalStore)(u,d),[p,m]=(0,R.useState)(!1),[S,C]=(0,R.useState)(!1),[T,D]=(0,R.useState)(``),A=(0,R.useRef)(!1),j=(0,R.useRef)(!1),M=(0,R.useRef)(i.draft);M.current=i.draft;let N=(0,R.useRef)(null),P=k(e=>e.bindings),F=y(f,i.session);(0,R.useEffect)(()=>{t&&o(e)},[t,o,e]);let L=async t=>{t.preventDefault();let n=M.current.trim();if(!(!n||A.current||F||i.expired)){A.current=!0,m(!0),D(``);try{let t=await o(e,!i.session);if(!t?.session)return;let r=t.session.id;if(a.getSessionState(r).streaming)return;M.current.trim()===n&&s(e,``),m(!1),await a.send(r,n),await o(e)}catch(e){D(g(e))}finally{A.current=!1,m(!1)}}},z=(0,R.useCallback)(async()=>{if(!(!c||a.getSessionState(c).streaming)){D(``);try{await a.retry(c),await o(e)}catch(e){D(g(e))}}},[o,e,a,c]),B=async()=>{if(!(!c||S)){C(!0);try{D(``),await a.abort(c)}catch(e){D(g(e))}finally{C(!1)}}},V=(0,H.jsxs)(`div`,{className:`grid h-full min-h-36 place-content-center justify-items-center gap-3 px-3 text-center text-sm text-muted-foreground`,children:[(0,H.jsx)(x,{size:22,"aria-hidden":`true`}),(0,H.jsx)(`p`,{className:`max-w-64 leading-relaxed`,children:i.expired?n(`chat:sideChat.expired`):n(`chat:sideChat.empty`)}),i.expired&&(0,H.jsxs)(E,{variant:`outline`,size:`sm`,disabled:i.loading,onClick:async()=>{(await o(e,!0))?.session&&N.current?.focus()},children:[i.loading&&(0,H.jsx)(b,{className:`size-4 animate-spin`}),n(`chat:sideChat.restart`)]})]}),U=T||i.error||f.error;return(0,H.jsxs)(`section`,{"data-side-chat-parent":e,"aria-label":n(`chat:sideChat.title`),className:`flex h-full min-h-0 min-w-0 flex-1 flex-col [container-type:inline-size]`,children:[(0,H.jsx)(`p`,{className:`shrink-0 border-b border-border/50 px-3 py-2 text-xs leading-relaxed text-muted-foreground`,children:n(`chat:sideChat.retention`)}),c?(0,H.jsx)(v,{sessionId:c,messages:f.messages,transcriptLoadState:f.loaded?`ready`:f.error?`error`:`loading`,emptyState:V,messageStart:f.messageStart,hasOlder:f.hasOlder,loadingOlder:f.loadingOlder,olderError:f.olderError,activityFeed:f.activityFeed,tools:f.tools,thinkingText:f.thinkingText,currentActivity:f.currentActivity,compaction:f.compaction,streaming:F,runStartedAt:f.runStartedAt,lastActivityAt:f.lastActivityAt,runFinishedAt:f.runFinishedAt,runStopped:f.runStopped,runNotice:f.runNotice,error:f.error,cwd:i.session?.cwd,onLoadOlder:()=>a.loadOlderMessages(c),onRetryLastTurn:z}):(0,H.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:V}),(0,H.jsxs)(`form`,{className:`flex shrink-0 flex-col gap-2 border-t border-border/50 p-3`,onSubmit:L,children:[U&&(0,H.jsx)(h,{error:U,onRetry:i.error||!f.loaded?async()=>{await o(e)}:z}),(0,H.jsx)(_,{approvals:f.approvals,onResolve:async(e,t)=>{try{await a.approve(c,e,t)}catch{}}}),(0,H.jsxs)(`div`,{className:`flex min-w-0 items-end gap-2 rounded-xl border border-border/70 bg-muted/40 p-2 focus-within:border-ring/50`,children:[(0,H.jsx)(`textarea`,{ref:N,rows:2,value:i.draft,"aria-label":n(`chat:sideChat.message`),placeholder:n(`chat:sideChat.placeholder`),className:`max-h-40 min-h-14 min-w-0 flex-1 resize-y border-0 bg-transparent px-1 py-1 text-sm leading-relaxed text-foreground outline-none placeholder:text-muted-foreground`,onChange:t=>s(e,t.target.value),onCompositionStart:()=>{j.current=!0},onCompositionEnd:()=>{j.current=!1},onKeyDown:e=>{!j.current&&!e.nativeEvent.isComposing&&e.nativeEvent.keyCode!==229&&O(e.nativeEvent,P.sendMessage)&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())}}),(0,H.jsx)(E,{type:F?`button`:`submit`,size:`icon`,className:`size-9 shrink-0 rounded-full`,"aria-label":n(F?`chat:sideChat.stop`:`chat:sideChat.send`),disabled:F?S:p||i.loading||i.expired||!i.draft.trim(),onClick:F?()=>void B():void 0,children:p||S?(0,H.jsx)(b,{className:`size-4 animate-spin`}):F?(0,H.jsx)(w,{size:13,fill:`currentColor`}):(0,H.jsx)(l,{size:17})})]})]})]})}function W({page:e,onChange:t}){let{t:n}=r(),{draft:i,url:a}=e,[o,s]=(0,R.useState)(!1);return(0,H.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col gap-2 p-3`,"aria-label":n(`common:webPreview.title`),children:[(0,H.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault();let n=S(i,window.location.href);s(!n),n&&t({url:n})},children:[(0,H.jsx)(`input`,{"aria-label":n(`common:webPreview.url`),className:`min-w-0 flex-1 rounded-md border border-[var(--stroke)] bg-[var(--solid)] px-2 text-[length:var(--app-font-size)]`,value:i,onChange:e=>t({draft:e.target.value}),placeholder:n(`common:webPreview.urlPlaceholder`),maxLength:2048}),(0,H.jsx)(E,{type:`submit`,variant:`outline`,size:`sm`,children:n(`chat:sessionContext.openUrl`)})]}),o&&(0,H.jsx)(`p`,{role:`alert`,className:`text-[length:var(--app-small-size)] text-[var(--text-secondary)]`,children:n(`chat:sessionContext.invalidUrl`)}),a?(0,H.jsx)(F,{className:`min-h-0 flex-1 overflow-hidden rounded-md`,defaultUrl:a,children:(0,H.jsx)(P,{src:a,title:n(`common:webPreview.title`)})},a):(0,H.jsxs)(`div`,{className:`grid min-h-0 flex-1 place-content-center justify-items-center gap-2 rounded-md border border-dashed border-[var(--stroke-soft)] text-center text-[length:var(--app-font-size)] text-[var(--text-muted)]`,children:[(0,H.jsx)(d,{size:24,"aria-hidden":`true`}),(0,H.jsx)(`p`,{children:n(`chat:sessionContext.browserEmpty`)})]}),a&&(0,H.jsxs)(E,{type:`button`,variant:`ghost`,size:`sm`,className:`self-start`,onClick:()=>window.open(a,`_blank`,`noopener,noreferrer`),children:[(0,H.jsx)(f,{size:14}),n(`common:webPreview.openExternal`)]}),(0,H.jsx)(`p`,{className:`text-[length:var(--app-small-size)] text-[var(--text-muted)]`,children:n(`common:webPreview.embedNotice`)})]})}function G({panelId:e,compact:t,embedded:n=!1,sessionId:i,tab:l,plan:u,streaming:f,plansAvailable:h,requestConfirm:g,onTabChange:_,onClose:v}){let{t:y}=r(),b=[{id:`files`,icon:L,label:y(`chat:focusSession.fileChanges`)},...h?[{id:`plan`,icon:p,label:y(`chat:sessionContext.plan`)}]:[],{id:`browser`,icon:d,label:y(`common:webPreview.title`)},{id:`side-chat`,icon:x,label:y(`chat:sideChat.title`)}],S=(0,R.useMemo)(()=>z(l),[l]),w=V(e=>Object.prototype.hasOwnProperty.call(e.sessions,i)?e.sessions[i]:void 0)??S,E=(0,R.useRef)(null),O=w.pages.find(e=>e.id===w.activeId)??w.pages[0],k=e=>b.find(t=>t.id===e.kind)??b[0],P=t=>requestAnimationFrame(()=>document.getElementById(`${e}-${t}-tab`)?.focus()),F=e=>{let t=B(w,e);V.getState().update(i,l,e);let n=t.pages.find(e=>e.id===t.activeId);n&&_(n.kind),(e.type===`add`||e.type===`select`||e.type===`close`)&&P(t.activeId),e.type===`close`&&w.pages.length===1&&v()},I=y(`chat:sessionContext.addPage`),G=y(`chat:sessionContext.pageLimit`),K=(0,H.jsxs)(c,{children:[(0,H.jsx)(a,{asChild:!0,children:(0,H.jsx)(`button`,{type:`button`,className:`grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground hover:bg-muted disabled:opacity-40`,disabled:w.pages.length>=12,"aria-label":I,title:w.pages.length>=12?G:I,children:(0,H.jsx)(C,{size:15})})}),(0,H.jsx)(o,{align:`end`,className:`min-w-40`,children:b.map(({id:e,icon:t,label:n})=>(0,H.jsxs)(s,{onSelect:()=>F({type:`add`,kind:e}),children:[(0,H.jsx)(t,{size:14}),n]},e))})]}),q=(0,H.jsxs)(`div`,{"data-session-context-panel":!0,className:`flex h-full min-h-0 min-w-0 flex-col bg-background text-foreground`,children:[(0,H.jsxs)(`header`,{"data-window-drag-region":!0,className:`auxiliary-page-header flex h-12 shrink-0 items-center gap-0.5 border-b border-border/60 px-1.5`,children:[(0,H.jsx)(`div`,{ref:E,className:`flex min-w-0 flex-1 items-center overflow-x-auto`,role:`tablist`,"aria-label":y(`chat:sessionContext.title`),onKeyDown:e=>{if(!(e.target instanceof HTMLElement)||e.target.getAttribute(`role`)!==`tab`)return;if(e.key===`Delete`){e.preventDefault(),F({type:`close`,id:O.id});return}if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=w.pages.findIndex(e=>e.id===O.id),n=e.key===`Home`?0:e.key===`End`?w.pages.length-1:(t+(e.key===`ArrowRight`?1:-1)+w.pages.length)%w.pages.length;F({type:`select`,id:w.pages[n].id})},children:w.pages.map(t=>{let{icon:n,label:r}=k(t);return(0,H.jsxs)(`div`,{className:`group flex max-w-40 min-w-20 shrink-0 items-center rounded-md ${t.id===O.id?`bg-muted`:`text-muted-foreground`}`,children:[(0,H.jsxs)(`button`,{id:`${e}-${t.id}-tab`,type:`button`,role:`tab`,"aria-selected":t.id===O.id,"aria-controls":`${e}-${t.id}-content`,tabIndex:t.id===O.id?0:-1,className:`flex h-8 min-w-0 flex-1 items-center gap-1.5 px-2 text-xs`,onClick:()=>F({type:`select`,id:t.id}),children:[(0,H.jsx)(n,{size:13,className:`shrink-0`}),(0,H.jsx)(`span`,{className:`truncate`,children:r})]}),(0,H.jsx)(`button`,{type:`button`,className:`mr-0.5 grid size-5 shrink-0 place-items-center rounded hover:bg-foreground/10`,"aria-label":`${y(`chat:sessionContext.closePage`)} · ${r}`,onClick:()=>F({type:`close`,id:t.id}),children:(0,H.jsx)(T,{size:11})})]},t.id)})}),K]}),w.pages.map(t=>{let n=k(t),r=O.id===t.id;return(0,H.jsx)(`div`,{id:`${e}-${t.id}-content`,role:`tabpanel`,"aria-labelledby":`${e}-${t.id}-tab`,className:r?`flex min-h-0 flex-1 flex-col`:`hidden`,hidden:!r,children:n.id===`side-chat`?(0,H.jsx)(U,{parentId:i,active:r}):n.id===`browser`?(0,H.jsx)(W,{page:t,onChange:e=>F({type:`browser`,id:t.id,...e})}):r&&(n.id===`files`?(0,H.jsx)(D,{sessionId:i,streaming:f,requestConfirm:g}):(0,H.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-3`,children:u?.items?.length?(0,H.jsx)(m,{plan:u}):(0,H.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:y(`chat:sessionContext.planEmpty`)})}))},t.id)})]});return t?(0,H.jsx)(N,{open:!0,onOpenChange:e=>!e&&v(),children:(0,H.jsxs)(M,{id:e,side:`right`,showCloseButton:!1,className:`gap-0 overflow-hidden p-0`,style:{top:`var(--pisper-safe-area-top)`,right:`var(--pisper-safe-area-right)`,bottom:`var(--pisper-safe-area-bottom)`,height:`auto`,width:`min(calc(100vw - var(--pisper-safe-area-left) - var(--pisper-safe-area-right)), 420px)`,maxWidth:`none`},children:[(0,H.jsx)(j,{className:`sr-only`,children:(0,H.jsx)(A,{children:y(`chat:sessionContext.title`)})}),q]})}):(0,H.jsx)(`aside`,{id:e,tabIndex:n?-1:void 0,className:`h-full min-h-0 w-full overflow-hidden border-l border-border/60`,"aria-label":y(`chat:sessionContext.title`),children:q})}export{G as SessionContextPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-iBrSU61i.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-BSZKFkMb.js";import{a,i as o,o as s}from"./vendor-state-GkUciC5H.js";import{t as c}from"./storage-BpAqa-YY.js";import{c as l,i as u,o as d,s as f}from"./dist-B_a0oV4U.js";import{a as p,c as m,i as ee,l as te,n as ne,r as re,s as h,t as g,u as _}from"./dist-swnK7PHk.js";import{t as v}from"./utils-C8uzG5AZ.js";import{t as y}from"./createLucideIcon-Cd-3GVxJ.js";import{n as ie,t as ae}from"./pin-off-DRR1KEvN.js";import{n as oe,t as se}from"./pin-Dc2zE4cS.js";import{t as ce}from"./chevron-right-C3t2Rckj.js";import{t as le}from"./circle-alert-DCChabnT.js";import{t as ue}from"./loader-circle-BOwQzHB-.js";import{t as de}from"./message-square-SKjZyY3v.js";import{t as fe}from"./pencil-U08v_vV9.js";import{t as pe}from"./plus-fQbSqB1n.js";import{t as me}from"./rotate-ccw-C0v8V77_.js";import{t as he}from"./search-D0mqDaf_.js";import{t as ge}from"./trash-2-CNrPOoPR.js";import{t as _e}from"./api-Dzobr-o_.js";import{t as b}from"./button-CQA36izu.js";import{r as ve,t as ye}from"./useQuery-DdcpUQhO.js";import{a as be,t as x}from"./startup-queries-CAQZvUIR.js";import{i as xe,r as Se}from"./format-BRFKAYMT.js";import{a as Ce}from"./sidebar-CfWEKOIK.js";import{_ as we,a as Te,m as Ee,o as De,p as Oe,s as ke,t as Ae}from"./events-Bwv6HmwM.js";import{a as je,c as Me,l as Ne}from"./session-list-CMaoK_ZX.js";import{n as Pe}from"./pick-system-directory-R1F5WyaB.js";var S=e(n(),1),C=r(),Fe=Object.defineProperty,w=(e,t)=>Fe(e,`name`,{value:t,configurable:!0}),T=`ContextMenu`,[E,Ie]=f(T,[_]),D=_(),[Le,O]=E(T),k=w(e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:i,dir:a,modal:o=!0}=e,s=S.useRef(!1),[c,l]=u({prop:i,defaultProp:!1,onChange:r,caller:T}),d=D(t);return(0,C.jsx)(Le,{scope:t,open:c,onOpenChange:l,modal:o,hasInteractedRef:s,children:(0,C.jsx)(p,{...d,dir:a,open:c,onOpenChange:l,modal:o,children:n})})},`ContextMenu`),A=`ContextMenuTrigger`,j=S.forwardRef(w(function(e,t){let{__scopeContextMenu:n,disabled:r=!1,...i}=e,a=O(A,n),o=D(n),[s,c]=S.useState({x:0,y:0}),u=S.useMemo(()=>({current:{getBoundingClientRect:w(()=>DOMRect.fromRect({width:0,height:0,...s}),`getBoundingClientRect`)}}),[s]),f=S.useRef(0),p=S.useCallback(()=>window.clearTimeout(f.current),[]),m=w(e=>{a.hasInteractedRef.current=!0,c({x:e.clientX,y:e.clientY}),a.onOpenChange(!0)},`handleOpen`);return S.useEffect(()=>p,[p]),S.useEffect(()=>void(r&&p()),[r,p]),(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(g,{...o,virtualRef:u}),(0,C.jsx)(l.span,{"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,...i,ref:t,style:{WebkitTouchCallout:`none`,...e.style},onContextMenu:r?e.onContextMenu:d(e.onContextMenu,e=>{p(),m(e),e.preventDefault()}),onPointerDown:r?e.onPointerDown:d(e.onPointerDown,z(e=>{p(),a.open&&a.onOpenChange(!1),f.current=window.setTimeout(()=>m(e),700)})),onPointerMove:r?e.onPointerMove:d(e.onPointerMove,z(p)),onPointerCancel:r?e.onPointerCancel:d(e.onPointerCancel,z(p)),onPointerUp:r?e.onPointerUp:d(e.onPointerUp,z(p))})]})},`ContextMenuTrigger`)),M=w(e=>{let{__scopeContextMenu:t,...n}=e,r=D(t);return(0,C.jsx)(ee,{...r,...n})},`ContextMenuPortal`),N=`ContextMenuContent`,P=S.forwardRef(w(function(e,t){let{__scopeContextMenu:n,...r}=e,i=O(N,n),a=D(n),o=S.useRef(!1);return(0,C.jsx)(ne,{...a,...r,ref:t,side:`right`,sideOffset:2,align:`start`,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),!t.defaultPrevented&&o.current&&t.preventDefault(),o.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),!t.defaultPrevented&&!i.modal&&(o.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`ContextMenuContent`)),Re=S.forwardRef(w(function(e,t){let{__scopeContextMenu:n,...r}=e,i=D(n);return(0,C.jsx)(re,{...i,...r,ref:t})},`ContextMenuItem`)),F=`ContextMenuSub`,I=w(e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:i,defaultOpen:a}=e,o=D(t),[s,c]=u({prop:i,defaultProp:a??!1,onChange:r,caller:F});return(0,C.jsx)(h,{...o,open:s,onOpenChange:c,children:n})},`ContextMenuSub`),L=S.forwardRef(w(function(e,t){let{__scopeContextMenu:n,...r}=e,i=D(n);return(0,C.jsx)(te,{...i,...r,ref:t})},`ContextMenuSubTrigger`)),R=S.forwardRef(w(function(e,t){let{__scopeContextMenu:n,...r}=e,i=D(n);return(0,C.jsx)(m,{...i,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`ContextMenuSubContent`));function z(e){return t=>t.pointerType===`mouse`?void 0:e(t)}w(z,`whenTouchOrPen`);var B=k,ze=j,V=M,H=P,U=Re,Be=I,W=L,Ve=R,He=y(`chevrons-down-up`,[[`path`,{d:`m7 20 5-5 5 5`,key:`13a0gw`}],[`path`,{d:`m7 4 5 5 5-5`,key:`1kwcof`}]]),Ue=y(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),We=y(`folder-closed`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`M2 10h20`,key:`1ir3d8`}]]),Ge=y(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]);function G(e=``){let t=e.trim().replace(/\\/g,`/`),n=/^\/+$/u.test(t)?`/`:t.replace(/\/+$/,``);return/^[A-Za-z]:(?:\/|$)/.test(n)?n.toLowerCase():n}function K(e){return G(e.cwd)||`\0`}function Ke(e){let t=new Map;for(let n of e){let e=K(n),r=t.get(e)||{key:e,cwd:n.cwd||``,sessions:[]};r.sessions.push(n),t.set(e,r)}return[...t.values()]}function qe(e,t){let n=new Set(e.map(e=>e.key));return[...e,...q(t).filter(e=>e!==`\0`&&!n.has(e)).map(e=>({key:e,cwd:e,sessions:[]}))]}function Je(e,t,n=``){let r=new Set(e.slice(0,t).map(e=>e.id));return Ke(e).map(e=>({...e,sessions:e.sessions.filter((e,t)=>t===0||r.has(e.id)||e.id===n)}))}function q(e){return Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`).map(G))].filter(e=>e===`\0`||e.length>0&&!e.includes(`\0`)):[]}function Ye(e,t){return q([...e,...t])}function Xe(e,t){let n=new Map(t.map((e,t)=>[e,t]));return[...e].sort((e,r)=>(n.get(e.key)??t.length)-(n.get(r.key)??t.length))}function Ze(e,t){return e.filter(e=>K(e)===t)}function Qe(e,t,n,r){return!e||!n.has(e)&&(!r||t.some(t=>t.id===e))?null:t[0]?.id||``}async function $e(e,t){let n=[];for(let r of e)try{await t(r),n.push(r)}catch(e){return{deletedIds:n,failedId:r,error:e}}return{deletedIds:n,failedId:null,error:null}}function et(e){let t=G(e);return t&&t!==`\0`&&!t.includes(`\0`)?t:null}function J(e){let t=Object.create(null);if(!e||typeof e!=`object`||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let e=et(n);if(!e||typeof r!=`string`)continue;let i=r.trim();i&&Array.from(i).length<=120&&(t[e]=i)}return t}var Y=o(()=>t),X=s()(a((e,t)=>({order:[],names:J(void 0),collapsed:[],rememberWorkspaces:n=>{let r=t().order,i=Ye(r,n);i.length===r.length&&i.every((e,t)=>e===r[t])||e({order:i})},forgetWorkspace:n=>{let r=t(),i=J(r.names);delete i[n],e({order:r.order.filter(e=>e!==n),names:i,collapsed:r.collapsed.filter(e=>e!==n)})},setWorkspacesCollapsed:(n,r)=>{let i=t().collapsed,a=new Set(q(n)),o=r?q([...i,...a]):i.filter(e=>!a.has(e));o.length===i.length&&o.every((e,t)=>e===i[t])||e({collapsed:o})},setWorkspaceName:(n,r)=>{let i=typeof n==`string`?et(n):null;if(!i||typeof r!=`string`)throw TypeError(`Invalid workspace name`);let a=r.trim();if(Array.from(a).length>120)throw RangeError(`Workspace name is too long`);let o=t().names;if((o[i]||``)===a)return;if(!Y)throw Error(`Workspace preferences storage is unavailable`);let s=J(o);a?s[i]=a:delete s[i];try{e({names:s})}catch(t){try{e({names:o})}catch{}throw t}}}),{name:`pisper-workspace-order`,storage:Y,version:1,partialize:({order:e,names:t,collapsed:n})=>({order:e,names:t,collapsed:n}),merge:(e,t)=>({...t,order:q(e&&typeof e==`object`&&`order`in e?e.order:void 0),names:J(e&&typeof e==`object`&&`names`in e?e.names:void 0),collapsed:q(e&&typeof e==`object`&&`collapsed`in e?e.collapsed:void 0)})}));function tt({...e}){return(0,C.jsx)(B,{"data-slot":`context-menu`,...e})}function nt({className:e,...t}){return(0,C.jsx)(ze,{"data-slot":`context-menu-trigger`,className:v(`select-none`,e),...t})}function rt({...e}){return(0,C.jsx)(Be,{"data-slot":`context-menu-sub`,...e})}function it({className:e,...t}){return(0,C.jsx)(V,{children:(0,C.jsx)(H,{"data-slot":`context-menu-content`,className:v(`z-[200] max-h-(--radix-context-menu-content-available-height) min-w-36 origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...t})})}function Z({className:e,inset:t,variant:n=`default`,...r}){return(0,C.jsx)(U,{"data-slot":`context-menu-item`,"data-inset":t,"data-variant":n,className:v(`group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive`,e),...r})}function at({className:e,inset:t,children:n,...r}){return(0,C.jsxs)(W,{"data-slot":`context-menu-sub-trigger`,"data-inset":t,className:v(`flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[n,(0,C.jsx)(ce,{className:`ml-auto`})]})}function ot({className:e,...t}){return(0,C.jsx)(Ve,{"data-slot":`context-menu-sub-content`,className:v(`z-[200] min-w-32 origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...t})}var st=24;function ct({label:e,onClick:t,children:n}){return(0,C.jsx)(b,{type:`button`,variant:`ghost`,className:`opacity-0 group-hover/workspace:opacity-100 group-focus-within/workspace:opacity-100 focus-visible:opacity-100 pointer-coarse:opacity-100 !size-7 !min-h-7 !shrink-0 !p-0 !text-[var(--text-muted)] hover:!bg-[var(--surface-hover)] hover:!text-[var(--text)] max-[650px]:!size-11 max-[650px]:!min-h-11`,title:e,"aria-label":e,onClick:t,children:n})}function Q({navigate:e,requestText:n,requestConfirm:r,notify:a}){let{t:o,language:s}=i(),l=ve(),{isMobile:u,setOpenMobile:d}=Ce(),[f,p]=(0,S.useState)(!0),[m,ee]=(0,S.useState)(``),[te,ne]=(0,S.useState)(!1),re=X(e=>e.collapsed),h=(0,S.useMemo)(()=>new Set(re),[re]),g=X(e=>e.setWorkspacesCollapsed),_=X(e=>e.order),v=X(e=>e.rememberWorkspaces),y=X(e=>e.names),Fe=X(e=>e.setWorkspaceName),w=X(e=>e.forgetWorkspace),[T,E]=(0,S.useState)(()=>t.getItem(c.activeSession)||``),[Ie,D]=(0,S.useState)(``),[Le,O]=(0,S.useState)(``),[k,A]=(0,S.useState)(!1),j=(0,S.useRef)(!1),M=(0,S.useRef)(0),[N,P]=(0,S.useState)(``);(0,S.useEffect)(()=>()=>{M.current+=1},[]);let{data:Re}=ye({...be(`sessions`),refetchInterval:2e3});(0,S.useEffect)(()=>we(window,({deletedIds:e})=>{let t=new Set(e);l.setQueryData([`sessions`],e=>e&&{...e,sessions:e.sessions.filter(e=>!t.has(e.id))})}),[l]);let F=(0,S.useMemo)(()=>je(Re?.sessions||[]),[Re]),I=(0,S.useMemo)(()=>{let e=m.trim().toLocaleLowerCase(s);return e?F.filter(t=>`${t.name||``} ${t.cwd||``} ${y[K(t)]||``}`.toLocaleLowerCase(s).includes(e)):F.filter(e=>!e.archived)},[s,m,F,y]),L=(0,S.useMemo)(()=>Ke(F),[F]);(0,S.useEffect)(()=>{v(L.map(e=>e.key))},[L,v]);let R=(0,S.useMemo)(()=>Xe(qe(L,_),_),[L,_]),z=(0,S.useMemo)(()=>{let e=Je(I,st,T),t=m.trim().toLocaleLowerCase(s);return Xe(qe(e,R.filter(e=>!t||`${e.cwd} ${y[e.key]||xe(e.cwd,s)}`.toLocaleLowerCase(s).includes(t)).map(e=>e.key)),_)},[I,_,T,R,m,s,y]),B=R.length>0&&R.every(e=>h.has(e.key)),ze=(0,S.useMemo)(()=>new Map(L.map(e=>[e.key,e.sessions.length])),[L]),V=R.find(e=>e.key===Ie)||null,H=F.find(e=>e.id===Le)||null,U=e=>e.cwd?y[e.key]||xe(e.cwd,s):o(`navigation:appSidebar.noWorkspace`);(0,S.useEffect)(()=>{let e=()=>{x(`sessions`,!0).catch(()=>{})},n=()=>{document.visibilityState===`visible`&&e()},r=e=>{let n=e.detail;E(n?.id||t.getItem(c.activeSession)||``)};return document.addEventListener(`visibilitychange`,n),window.addEventListener(Te,r),window.addEventListener(Ae,r),()=>{document.removeEventListener(`visibilitychange`,n),window.removeEventListener(Te,r),window.removeEventListener(Ae,r)}},[]);let Be=t=>{E(t),Ee(t),e(`chat`),u&&d(!1)},W=t=>{if(!Oe(t))return;let n=K({id:``,cwd:t});v([n]),ee(``),p(!0),g([n],!1),e(`chat`),u&&d(!1)},Ve=async()=>{if(j.current)return;j.current=!0;let e=M.current;A(!0);try{let t=await Pe();e===M.current&&t&&W(t)}catch(t){e===M.current&&a(t instanceof Error?t.message:String(t),`error`)}finally{j.current=!1,e===M.current&&A(!1)}},G=async(e,n=F)=>{let r=await $e(e.map(e=>e.id),e=>_e(`/api/sessions/${encodeURIComponent(e)}`,{method:`DELETE`}));ke(r.deletedIds.length?{deletedIds:r.deletedIds}:void 0);let i=null;try{i=(await x(`sessions`,!0)).sessions}catch{}let a=new Set(r.deletedIds),o=i??n.filter(e=>!a.has(e.id)),s=Qe(t.getItem(c.activeSession)||T,o,a,i!==null);return s!==null&&(E(s),s?Ee(s):(t.removeItem(c.activeSession),De(``))),{...r,sessions:o,verified:i!==null}},q=async e=>{if(N)return;let t=e.cwd?`${U(e)} · ${e.cwd}`:U(e);P(e.key);try{let n=(await x(`sessions`,!0)).sessions,i=Ze(n,e.key);if(!await r({title:o(`navigation:appSidebar.deleteProject`),message:o(`navigation:appSidebar.deleteProjectConfirm`,{project:t,count:i.length}),confirmLabel:o(`navigation:appSidebar.deleteProjectAction`)}))return;let s=await G(i,n);if(!s.verified){a(o(`navigation:appSidebar.projectDeleteUnverified`,{project:t,deleted:s.deletedIds.length}),`error`);return}let c=Ze(s.sessions,e.key).length;if(s.failedId!==null||c){a(o(`navigation:appSidebar.projectDeletePartial`,{project:t,deleted:s.deletedIds.length,remaining:c}),`error`);return}w(e.key),a(o(`navigation:appSidebar.projectDeleted`,{project:t}))}catch(e){a(e instanceof Me?o(`chat:chatHistoryPage.sessionUpdateFailed`):e instanceof Error?e.message:String(e),`error`)}finally{P(``)}},Ye=async e=>{if(N)return;let t=e.name||o(`navigation:appSidebar.untitledChat`);if(await r({title:o(`chat:chatHistoryPage.deleteChat`),message:o(`chat:chatHistoryPage.deleteChatNameThisAlsoRemovesLocalChatHistory`,{name:t}),confirmLabel:o(`chat:chatHistoryPage.delete`)})){P(e.id);try{let t=await G([e]);if(t.failedId!==null)throw t.error??Error(o(`navigation:appSidebar.chatDeleteFailed`));a(o(`chat:chatHistoryPage.chatDeleted`))}catch(e){a(e instanceof Error?e.message:String(e),`error`)}finally{P(``)}}},et=async e=>{let t=await n({title:o(`chat:chatHistoryPage.renameChat`),inputLabel:o(`chat:chatHistoryPage.chatTitle`),value:e.name,confirmLabel:o(`chat:chatHistoryPage.save`)});if(t!==null&&t!==e.name)try{let n=await _e(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`PATCH`,body:JSON.stringify({name:t})});ke({id:e.id,name:n.name}),x(`sessions`,!0).catch(()=>{}),a(o(`chat:chatHistoryPage.chatTitleUpdated`))}catch(e){a(e instanceof Error?e.message:String(e),`error`)}},J=(e,t)=>{try{Fe(e.cwd,t),a(o(`navigation:appSidebar.projectNameUpdated`))}catch{a(o(`navigation:appSidebar.projectNameSaveFailed`),`error`)}},Y=async e=>{if(!e.cwd)return;let t=U(e),r=await n({title:o(`navigation:appSidebar.renameProject`),message:o(`navigation:appSidebar.renameProjectDescription`),inputLabel:o(`navigation:appSidebar.projectName`),value:t,maxLength:120,confirmLabel:o(`chat:chatHistoryPage.save`)});r===null||!r.trim()||r.trim()===t||J(e,r.trim())},Q=async(e,t,n)=>{if(!N)try{let r=await Ne(e.id,t);l.setQueryData([`sessions`],e=>e&&{...e,sessions:e.sessions.map(e=>e.id===r.id?{...e,...r}:e)}),a(n)}catch(e){a(e instanceof Error?e.message:String(e),`error`)}},lt=e=>{g([e],!h.has(e))},ut=(e=``,t=``)=>{D(e),O(t)},$=(e,t=``,n=``)=>{e.pointerType!==`mouse`&&ut(t,n)},dt=t=>{e(t),u&&d(!1)};return(0,C.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col px-2 pt-3`,"aria-label":o(`navigation:appSidebar.recentChats`),children:[(0,C.jsxs)(`div`,{className:`mb-1 flex h-8 shrink-0 items-center gap-1 px-1.5`,children:[(0,C.jsxs)(`button`,{className:`mr-auto flex min-w-0 items-center gap-1 rounded-md px-1 py-1 text-xs text-muted-foreground hover:text-foreground`,"aria-controls":`sidebar-recent-sessions`,"aria-expanded":f,onClick:()=>p(e=>!e),children:[(0,C.jsx)(`span`,{children:o(`navigation:workbench.projects`)}),(0,C.jsx)(ce,{className:f?`rotate-90`:``,size:12})]}),(0,C.jsx)(b,{variant:`ghost`,size:`icon-sm`,className:`size-6 text-muted-foreground`,title:o(B?`navigation:appSidebar.expandAllProjects`:`navigation:appSidebar.collapseAllProjects`),"aria-label":o(B?`navigation:appSidebar.expandAllProjects`:`navigation:appSidebar.collapseAllProjects`),"aria-controls":`sidebar-recent-sessions`,"aria-expanded":!B,disabled:!R.length,onClick:()=>{p(!0),g(R.map(e=>e.key),!B)},children:B?(0,C.jsx)(Ue,{size:14}):(0,C.jsx)(He,{size:14})}),(0,C.jsx)(b,{variant:`ghost`,size:`icon-sm`,className:`size-6 text-muted-foreground`,title:o(`navigation:workbench.filterSessions`),"aria-label":o(`navigation:workbench.filterSessions`),"aria-expanded":te,onClick:()=>ne(e=>!e),children:(0,C.jsx)(he,{size:13})}),(0,C.jsx)(b,{variant:`ghost`,size:`icon-sm`,className:`size-6 text-muted-foreground`,title:o(`navigation:appSidebar.newProject`),"aria-label":o(`navigation:appSidebar.newProject`),"aria-haspopup":`dialog`,"aria-expanded":k,disabled:k,onClick:()=>void Ve(),children:(0,C.jsx)(Ge,{size:14})}),(0,C.jsx)(`button`,{className:`rounded-md px-1 py-1 text-[11px] text-muted-foreground hover:text-foreground`,"aria-label":o(`navigation:appSidebar.viewAllCountChats`,{count:F.length}),onClick:()=>dt(`chatHistory`),children:o(`navigation:appSidebar.viewAll`)})]}),(te||m)&&(0,C.jsxs)(`label`,{className:`mx-2 mb-2 flex h-8 shrink-0 items-center gap-2 rounded-lg border border-border px-2 text-muted-foreground focus-within:ring-1 focus-within:ring-ring`,children:[(0,C.jsx)(he,{size:13,"aria-hidden":`true`}),(0,C.jsx)(`input`,{className:`min-w-0 flex-1 border-0 bg-transparent text-xs outline-none`,value:m,onChange:e=>ee(e.target.value),placeholder:o(`navigation:appSidebar.searchChats`),"aria-label":o(`navigation:appSidebar.searchChats`)})]}),f&&(0,C.jsxs)(tt,{onOpenChange:e=>{e||(D(``),O(``))},children:[(0,C.jsx)(nt,{asChild:!0,children:(0,C.jsxs)(`div`,{className:`flex flex-1 min-h-0 flex-col gap-[2px] [padding-bottom:2px] overflow-y-auto [animation:page-in_var(--d1)_var(--ease-out)]`,id:`sidebar-recent-sessions`,onPointerDownCapture:e=>$(e),onContextMenuCapture:()=>ut(),children:[z.map(e=>{let t=h.has(e.key),n=U(e);return(0,C.jsxs)(`div`,{className:`nav-workspace-group [.nav-workspace-group_+_&]:mt-[3px]`,children:[(0,C.jsxs)(`div`,{className:`group/workspace flex min-w-0 items-center gap-[2px]`,onContextMenu:()=>D(e.key),onPointerDown:t=>$(t,e.key),children:[(0,C.jsxs)(`button`,{className:`flex h-8 min-w-0 flex-1 items-center gap-1.5 rounded-lg px-2 text-left text-sm text-foreground hover:bg-sidebar-accent [&_span]:min-w-0 [&_span]:flex-1 [&_span]:truncate [&_small]:hidden [&_.is-open]:rotate-90`,"aria-expanded":!t,onClick:()=>lt(e.key),title:e.cwd||n,children:[(0,C.jsx)(ce,{className:t?``:`is-open`,size:13}),(0,C.jsx)(We,{size:13}),(0,C.jsx)(`span`,{children:n}),(0,C.jsx)(`small`,{children:ze.get(e.key)||e.sessions.length})]}),e.cwd&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(ct,{label:o(`navigation:appSidebar.renameProjectNamed`,{project:n}),onClick:()=>void Y(e),children:(0,C.jsx)(fe,{size:14,"aria-hidden":`true`})}),(0,C.jsx)(ct,{label:o(`navigation:appSidebar.newChatInWorkspace`,{workspace:e.cwd}),onClick:()=>W(e.cwd),children:(0,C.jsx)(pe,{size:14})})]})]}),!t&&e.sessions.map(e=>(0,C.jsxs)(`button`,{className:`flex h-8 w-full items-center gap-1 rounded-lg pl-8 pr-2.5 text-left text-sm text-foreground hover:bg-sidebar-accent ${e.id===T?`active-session bg-sidebar-accent font-medium`:`font-normal`}`,"aria-current":e.id===T?`page`:void 0,title:`${e.name||o(`navigation:appSidebar.untitledChat`)} · ${Se(e.modified,s)}`,onClick:()=>Be(e.id),onContextMenu:()=>O(e.id),onPointerDown:t=>$(t,``,e.id),children:[e.streaming&&(0,C.jsx)(ue,{className:`mr-1 size-3.5 shrink-0 animate-spin text-foreground`,"aria-label":o(`navigation:appSidebar.running`)}),e.pinned&&(0,C.jsx)(se,{className:`mr-1 size-3 shrink-0`,"aria-label":o(`navigation:appSidebar.pinned`)}),e.needsAttention&&(0,C.jsx)(le,{className:`mr-1 size-3 shrink-0`,"aria-label":o(`navigation:appSidebar.needsAttention`)}),e.unread&&(0,C.jsx)(`span`,{className:`mr-1 size-1.5 shrink-0 rounded-full bg-[var(--brand-blue)]`,"aria-label":o(`navigation:appSidebar.unread`)}),(0,C.jsx)(`span`,{className:`min-w-0 flex-1 select-none truncate`,children:e.name||o(`navigation:appSidebar.untitledChat`)}),(0,C.jsx)(`time`,{className:`shrink-0 text-xs text-muted-foreground/70`,dateTime:e.modified,children:Se(e.modified,s)}),e.archived&&(0,C.jsx)(`span`,{className:`ml-auto text-[11px] font-normal text-muted-foreground`,children:o(`navigation:appSidebar.archived`)})]},e.id)),!t&&!e.sessions.length&&(0,C.jsx)(`p`,{className:`m-0 px-8 py-1 text-xs text-muted-foreground`,children:ze.get(e.key)?o(`navigation:appSidebar.noActiveChats`):o(`navigation:appSidebar.projectEmpty`)})]},e.key)}),!z.length&&(0,C.jsx)(`span`,{className:`[padding:8px] text-[var(--text-muted)] text-xs font-normal`,children:m.trim()?o(`navigation:appSidebar.noMatchingChats`):F.length?o(`navigation:appSidebar.noActiveChats`):o(`navigation:appSidebar.noChatHistoryYet`)})]})}),(0,C.jsx)(it,{className:`w-[220px]`,children:H?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(Z,{onSelect:()=>Be(H.id),children:[(0,C.jsx)(de,{size:13}),o(`navigation:appSidebar.openSession`)]}),(0,C.jsxs)(Z,{onSelect:()=>void et(H),children:[(0,C.jsx)(fe,{size:13}),o(`chat:chatHistoryPage.renameChat`)]}),(0,C.jsxs)(Z,{onSelect:()=>void Q(H,{pinned:!H.pinned},H.pinned?o(`navigation:appSidebar.unpinned`):o(`navigation:appSidebar.pinned`)),children:[H.pinned?(0,C.jsx)(ae,{size:13}):(0,C.jsx)(se,{size:13}),H.pinned?o(`navigation:appSidebar.unpin`):o(`navigation:appSidebar.pin`)]}),(0,C.jsxs)(Z,{onSelect:()=>void Q(H,{archived:!H.archived},H.archived?o(`navigation:appSidebar.restored`):o(`navigation:appSidebar.movedToArchive`)),children:[H.archived?(0,C.jsx)(ie,{size:13}):(0,C.jsx)(oe,{size:13}),H.archived?o(`navigation:appSidebar.restore`):o(`navigation:appSidebar.archive`)]}),H.unread&&(0,C.jsx)(Z,{onSelect:()=>void Q(H,{read:!0},o(`navigation:appSidebar.markedRead`)),children:o(`navigation:appSidebar.markRead`)}),(0,C.jsxs)(Z,{variant:`destructive`,disabled:!!N,onSelect:()=>void Ye(H),children:[(0,C.jsx)(ge,{size:13}),o(`chat:chatHistoryPage.delete`)]})]}):V?(0,C.jsxs)(C.Fragment,{children:[V.cwd&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(Z,{onSelect:()=>W(V.cwd),children:[(0,C.jsx)(pe,{size:13}),o(`navigation:appSidebar.newChat`)]}),(0,C.jsxs)(Z,{onSelect:()=>void Y(V),children:[(0,C.jsx)(fe,{size:13}),o(`navigation:appSidebar.renameProject`)]}),y[V.key]&&(0,C.jsxs)(Z,{onSelect:()=>J(V,``),children:[(0,C.jsx)(me,{size:13}),o(`navigation:appSidebar.resetProjectName`)]})]}),(0,C.jsxs)(Z,{variant:`destructive`,disabled:!!N,onSelect:()=>void q(V),children:[(0,C.jsx)(ge,{size:13}),o(`navigation:appSidebar.deleteProject`)]})]}):(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(Z,{disabled:k,onSelect:()=>void Ve(),children:[(0,C.jsx)(Ge,{size:13}),o(`navigation:appSidebar.newProject`)]}),(0,C.jsxs)(rt,{children:[(0,C.jsxs)(at,{disabled:!R.length||!!N,children:[(0,C.jsx)(ge,{size:13}),o(`navigation:appSidebar.deleteProject`)]}),(0,C.jsx)(ot,{className:`max-h-[70vh] max-w-[280px] overflow-y-auto`,children:R.map(e=>(0,C.jsx)(Z,{onSelect:()=>void q(e),children:(0,C.jsx)(`span`,{className:`truncate`,title:e.cwd||U(e),children:U(e)})},e.key))})]})]})})]})]})}export{Q as SidebarRecentSessions};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{t as r}from"./use-i18n-BSZKFkMb.js";import{t as i}from"./createLucideIcon-Cd-3GVxJ.js";import{t as a}from"./file-code-corner-BnE1ljT0.js";import{t as o}from"./image-BY_c3FYU.js";import{t as s}from"./refresh-cw-TbWxTY4K.js";import{t as c}from"./save-CHBB52P8.js";import{t as l}from"./sparkles-S_eeuqn9.js";import{t as u}from"./trash-2-CNrPOoPR.js";import{t as d}from"./wrench-6pg6_bqI.js";import{t as f}from"./api-Dzobr-o_.js";import{t as p}from"./button-CQA36izu.js";import{c as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x}from"./app-primitives-BBXY6U2S.js";import{t as S}from"./usePagePrimaryAction-CWPC0C_f.js";var C=i(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),w=e(t(),1),T=n(),E=[`all`,`global`,`project`,`design`,`code`,`docs`,`privileged`];function D(e,t=``){return t?`${e}${e.includes(`?`)?`&`:`?`}sessionId=${encodeURIComponent(t)}`:e}function O(e,t){return t(e===`global`?`skills:skillsPage.global`:e===`project`?`skills:skillsPage.project`:e===`design`?`skills:skillsPage.design`:e===`code`?`skills:skillsPage.code`:e===`docs`?`skills:skillsPage.documents`:e===`privileged`?`skills:skillsPage.highPrivilege`:`skills:skillsPage.all`)}function k(e){let t=`${e?.name||``} ${e?.description||``}`.toLowerCase();return/image|visual|design|figma|svg|图片|视觉|设计/.test(t)?o:/doc|pdf|文档|说明/.test(t)?a:/install|package|market|安装|包/.test(t)?C:/code|test|plugin|skill|代码|测试|插件|技能/.test(t)?d:l}function A(e,t){if(t===`all`)return!0;if(t===`global`)return e.sourceInfo?.scope!==`project`;if(t===`project`)return e.sourceInfo?.scope===`project`;let n=`${e.name} ${e.description} ${(e.allowedTools||[]).join(` `)}`.toLowerCase();return t===`design`?/image|visual|design|figma|svg|图片|视觉|设计/.test(n):t===`code`?/code|test|plugin|代码|测试|插件/.test(n):t===`docs`?/doc|pdf|文档|说明/.test(n):t!==`privileged`||(e.allowedTools||[]).some(e=>[`bash`,`write`,`edit`].includes(e))}function j({notify:e,query:t=``,activeSessionId:n=``,registerPrimaryAction:i,requestText:a,requestConfirm:o}){let{t:l}=r(),[d,j]=(0,w.useState)(null),[M,N]=(0,w.useState)(``),[P,F]=(0,w.useState)(`all`),[I,L]=(0,w.useState)(!1),[R,z]=(0,w.useState)(!0),[B,V]=(0,w.useState)(``),H=(0,w.useCallback)(async()=>{z(!0),V(``);try{let e=await f(D(`/api/skills`,n));return j(e),N(t=>e.skills.some(e=>e.id===t)?t:e.skills[0]?.id||``),e}catch(e){return V(e instanceof Error?e.message:String(e)),null}finally{z(!1)}},[n]);(0,w.useEffect)(()=>{H()},[H]);let U=(0,w.useCallback)(async()=>{let t=await a?.({title:l(`skills:skillsPage.importGlobalSkill`),message:l(`skills:skillsPage.globalSkillSourceHelp`),inputLabel:l(`skills:skillsPage.skillSource`),placeholder:`E:\\path\\to\\skill, npm:@scope/package, or https://github.com/...`,maxLength:2e3,confirmLabel:l(`skills:skillsPage.continue`)});if(t?.trim()&&await o?.({title:l(`skills:skillsPage.importGlobalSkill`),message:l(`skills:skillsPage.skillsProvideInstructionsToTheAgentAndMayIncludeExecutableScriptsConfirmThatYouTrustTheSource`),confirmLabel:l(`skills:skillsPage.import`),tone:`danger`})!==!1){L(!0),V(``);try{let r=await f(D(`/api/skills/install`,n),{method:`POST`,body:JSON.stringify({source:t})});j(r),N(r.installed?.[0]?.id||r.skills[0]?.id||``),e(l(`skills:skillsPage.skillInstalledAndLoadedIntoTheAgentRuntime`),`success`)}catch(t){let n=t instanceof Error?t.message:String(t);V(n),e(n,`error`)}finally{L(!1)}}},[n,e,o,a,l]);S(i,U);let W=B&&(0,T.jsxs)(h,{className:`items-center justify-between`,children:[(0,T.jsx)(`span`,{children:B}),(0,T.jsxs)(p,{variant:`outline`,disabled:R||I,onClick:()=>void H(),children:[(0,T.jsx)(s,{size:14}),l(`skills:skillsPage.retry`)]})]});if(R&&!d)return(0,T.jsx)(`div`,{className:`skills-page flex min-h-[100%] flex-col gap-[12px]`,children:(0,T.jsxs)(y,{children:[(0,T.jsx)(s,{className:`animate-spin`,size:23}),(0,T.jsx)(`h2`,{children:l(`skills:skillsPage.loadingSkills`)}),(0,T.jsx)(`p`,{children:l(`skills:skillsPage.scanningSkillDirectoriesAndConfiguredPackages`)})]})});if(!d)return(0,T.jsxs)(y,{children:[(0,T.jsx)(`h2`,{children:l(`skills:skillsPage.loadFailed`)}),W]});let G=d?.skills||[],K=G.filter(e=>A(e,P)&&`${e.name} ${e.description}`.toLowerCase().includes(t.toLowerCase())),q=G.filter(e=>e.sourceInfo?.scope!==`project`),J=G.filter(e=>e.sourceInfo?.scope===`project`),Y=K.filter(e=>e.sourceInfo?.scope!==`project`),ee=K.filter(e=>e.sourceInfo?.scope===`project`),X=G.find(e=>e.id===M)||K[0]||G[0]||null,Z=(d?.packages||[]).map(e=>({source:e.source,description:e.scope===`project`?l(`skills:skillsPage.projectScopedConfiguration`):l(`skills:skillsPage.userScopedConfiguration`),status:e.installed?l(`skills:skillsPage.locallyReady`):l(`skills:skillsPage.notMaterialized`),tone:e.installed?`green`:`gray`})).filter(e=>`${e.source} ${e.description}`.toLowerCase().includes(t.toLowerCase())),Q=async(e,t)=>{if(e){L(!0),V(``);try{let r=await f(D(`/api/skills/${encodeURIComponent(e.id)}`,n),{method:`PATCH`,body:JSON.stringify(t)});j(e=>{if(!e)return e;let t=e.skills.map(e=>e.id===r.id?r:e);return{...e,skills:t,counts:{...e.counts,enabled:t.filter(e=>e.enabled).length,modelInvocable:t.filter(e=>e.enabled&&e.modelInvocationEnabled).length}}})}catch(e){V(e instanceof Error?e.message:String(e))}finally{L(!1)}}},te=async()=>{L(!0),V(``);try{j(await f(D(`/api/skills/reload`,n),{method:`POST`,body:`{}`})),e(l(`skills:skillsPage.skillSettingsSavedAndReloaded`),`success`)}catch(e){V(e instanceof Error?e.message:String(e))}finally{L(!1)}},ne=async()=>{if(X?.removable&&await o?.({title:l(`skills:skillsPage.uninstallSkill`),message:l(`skills:skillsPage.thisRemovesTheSkillDirectoryInstalledByPisperItDoesNotUninstallTheOriginalNpmOrGitPackage`),confirmLabel:l(`skills:skillsPage.uninstall`),tone:`danger`})!==!1){L(!0),V(``);try{await f(D(`/api/skills/${encodeURIComponent(X.id)}`,n),{method:`DELETE`});let t=await H();N(t?.skills[0]?.id||``),e(l(`skills:skillsPage.skillUninstalled`),`success`)}catch(t){let n=t instanceof Error?t.message:String(t);V(n),e(n,`error`)}finally{L(!1)}}},$=(e,t,n,r,i=``)=>(0,T.jsxs)(`section`,{className:`skill-scope [.skill-scope_+_&]:[border-top:1px_solid_var(--stroke)] [.skill-scope_+_&]:pt-[14px]`,children:[(0,T.jsxs)(`div`,{className:`skill-scope-head [&_>_div]:min-w-0 [&_small]:block [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_small]:text-[11px] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [&_>_span]:min-w-[24px] [&_>_span]:text-[var(--text-secondary)] [&_>_span]:text-[12px] [&_>_span]:font-[600] [&_>_span]:text-right flex min-w-0 items-start justify-between gap-[10px]`,children:[(0,T.jsxs)(`div`,{children:[(0,T.jsx)(v,{title:e}),i&&(0,T.jsx)(`small`,{title:i,children:i})]}),(0,T.jsx)(`span`,{children:t.length})]}),t.length?t.map(e=>{let t=k(e);return(0,T.jsxs)(`div`,{className:`skill-row grid w-full grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[9px] border-0 [border-top:1px_solid_var(--stroke-soft)] bg-transparent p-[10px_8px] text-left hover:rounded-[var(--r-sm)] hover:bg-[var(--accent-soft)] [&.selected]:rounded-[var(--r-sm)] [&.selected]:bg-[var(--accent-soft)] [&_>_span:nth-child(2)]:flex [&_>_span:nth-child(2)]:flex-col [&_>_span:nth-child(2)]:gap-[3px] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] grid-cols-[minmax(0,1fr)_auto] [padding-block:4px] ${X?.id===e.id?`selected`:``}`,children:[(0,T.jsxs)(`button`,{className:`skill-row-main [&_>_span:nth-child(2)]:flex [&_>_span:nth-child(2)]:min-w-0 [&_>_span:nth-child(2)]:flex-col [&_>_span:nth-child(2)]:gap-[3px] grid min-w-0 grid-cols-[auto_minmax(0,1fr)] items-center gap-[9px] border-0 bg-transparent [padding:6px_4px] text-left`,onClick:()=>N(e.id),children:[(0,T.jsx)(`span`,{className:`list-icon [.chat-resource-list_&]:grid [.chat-resource-list_&]:w-[28px] [.chat-resource-list_&]:h-[28px] [.chat-resource-list_&]:place-items-center [.chat-resource-list_&]:rounded-[var(--r-sm)] [.chat-resource-list_&]:bg-[var(--surface-subtle)] [.chat-resource-list_&]:text-[var(--star-strong)] [.session-workflow-summary_&]:grid [.session-workflow-summary_&]:w-[28px] [.session-workflow-summary_&]:h-[28px] [.session-workflow-summary_&]:place-items-center [.session-workflow-summary_&]:rounded-[var(--r-sm)] [.session-workflow-summary_&]:bg-[var(--surface-subtle)] [.session-workflow-summary_&]:text-[var(--star-strong)] grid w-[27px] h-[27px] place-items-center rounded-[var(--r-sm)] bg-[var(--accent-soft)] text-[var(--star-strong)] [.workflow-template-gallery_&]:grid [.workflow-template-gallery_&]:w-[32px] [.workflow-template-gallery_&]:h-[32px] [.workflow-template-gallery_&]:place-items-center [.workflow-template-gallery_&]:rounded-[var(--r-sm)] [.workflow-template-gallery_&]:bg-[var(--surface-subtle)] [.workflow-template-gallery_&]:text-[var(--star-strong)]`,children:(0,T.jsx)(t,{size:15})}),(0,T.jsxs)(`span`,{children:[(0,T.jsx)(`strong`,{children:e.name}),(0,T.jsx)(`small`,{className:`line-clamp-2`,title:e.description,children:e.description})]})]}),(0,T.jsx)(b,{value:e.enabled,disabled:I||R,ariaLabel:l(`skills:skillsPage.toggleSkillName`,{name:e.name}),onChange:t=>void Q(e,{enabled:t})})]},e.id)}):(0,T.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-secondary)] text-[12px] leading-[1.55] skills-empty-copy !m-[8px_2px_4px]`,children:n.length?l(`skills:skillsPage.noSkillsMatchTheCurrentFilter`):r})]});return(0,T.jsxs)(`div`,{className:`skills-page flex min-h-[100%] flex-col gap-[12px]`,children:[W,(0,T.jsx)(m,{options:E.map(e=>O(e,l)),value:O(P,l),onChange:e=>F(E.find(t=>O(t,l)===e)||`all`)}),(0,T.jsxs)(`div`,{className:`skills-layout max-[1150px]:grid-cols-[repeat(2,minmax(0,1fr))] max-[650px]:grid-cols-[1fr] grid min-h-0 flex-1 grid-cols-[minmax(240px,.85fr)_minmax(290px,1.05fr)_minmax(280px,1fr)] gap-[12px]`,children:[(0,T.jsxs)(x,{className:`flex flex-col gap-[16px]`,children:[P!==`project`&&$(l(`skills:skillsPage.globalSkills`),Y,q,l(`skills:skillsPage.noGlobalSkills`),d?.locations?.global||`~/.pisper/agent/skills`),P!==`global`&&$(l(`skills:skillsPage.projectSkills`),ee,J,l(`skills:skillsPage.noProjectSkills`),d?.locations?.project||(d?.cwd?`${d.cwd.replace(/[\\/]$/,``)}/.pisper/skills`:``))]}),(0,T.jsxs)(x,{children:[(0,T.jsxs)(_,{children:[(0,T.jsx)(v,{title:l(`skills:skillsPage.configuredSkillPackages`)}),(0,T.jsx)(`span`,{className:`text-[var(--text-secondary)] text-[12px] font-[600]`,children:l(`skills:skillsPage.countSkillPackages`,{count:Z.length})})]}),Z.length?Z.map(e=>(0,T.jsxs)(`div`,{className:`market-row [&_>_span:nth-child(2)]:flex [&_>_span:nth-child(2)]:flex-col [&_>_span:nth-child(2)]:gap-[3px] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_strong]:overflow-hidden [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap grid min-h-[48px] grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[8px] [border-top:1px_solid_var(--stroke-soft)] [padding:6px_2px]`,children:[(0,T.jsx)(`span`,{className:`list-icon [.chat-resource-list_&]:grid [.chat-resource-list_&]:w-[28px] [.chat-resource-list_&]:h-[28px] [.chat-resource-list_&]:place-items-center [.chat-resource-list_&]:rounded-[var(--r-sm)] [.chat-resource-list_&]:bg-[var(--surface-subtle)] [.chat-resource-list_&]:text-[var(--star-strong)] [.session-workflow-summary_&]:grid [.session-workflow-summary_&]:w-[28px] [.session-workflow-summary_&]:h-[28px] [.session-workflow-summary_&]:place-items-center [.session-workflow-summary_&]:rounded-[var(--r-sm)] [.session-workflow-summary_&]:bg-[var(--surface-subtle)] [.session-workflow-summary_&]:text-[var(--star-strong)] grid w-[27px] h-[27px] place-items-center rounded-[var(--r-sm)] bg-[var(--accent-soft)] text-[var(--star-strong)] [.workflow-template-gallery_&]:grid [.workflow-template-gallery_&]:w-[32px] [.workflow-template-gallery_&]:h-[32px] [.workflow-template-gallery_&]:place-items-center [.workflow-template-gallery_&]:rounded-[var(--r-sm)] [.workflow-template-gallery_&]:bg-[var(--surface-subtle)] [.workflow-template-gallery_&]:text-[var(--star-strong)]`,children:(0,T.jsx)(C,{size:15})}),(0,T.jsxs)(`span`,{children:[(0,T.jsx)(`strong`,{title:e.source,children:e.source}),(0,T.jsx)(`small`,{children:e.description})]}),(0,T.jsx)(g,{tone:e.tone,children:e.status})]},e.source)):(0,T.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-secondary)] text-[12px] leading-[1.55] skills-empty-copy !m-[8px_2px_4px]`,children:l(`skills:skillsPage.noSkillPackagesAreConfiguredYetAfterYouInstallASkillItsSourceWillAppearHere`)})]}),(0,T.jsxs)(`div`,{className:`detail-stack flex min-w-0 flex-col gap-[12px] [.mcp-layout_>_&]:min-h-0 max-[1150px]:[.memory-layout_>_&]:[grid-column:1/-1] max-[1150px]:[.memory-layout_>_&]:grid max-[1150px]:[.memory-layout_>_&]:grid-cols-[repeat(2,minmax(0,1fr))] max-[1150px]:[.mcp-layout_>_&]:[grid-column:1/-1] max-[1150px]:[.mcp-layout_>_&]:grid max-[1150px]:[.mcp-layout_>_&]:grid-cols-[repeat(2,minmax(0,1fr))] max-[1150px]:[.skills-layout_>_&]:[grid-column:1/-1] max-[1150px]:[.skills-layout_>_&]:grid max-[1150px]:[.skills-layout_>_&]:grid-cols-[repeat(2,minmax(0,1fr))] max-[650px]:[.memory-layout_>_&]:[grid-column:auto] max-[650px]:[.memory-layout_>_&]:grid-cols-[1fr] max-[650px]:[.mcp-layout_>_&]:[grid-column:auto] max-[650px]:[.mcp-layout_>_&]:grid-cols-[1fr] max-[650px]:[.skills-layout_>_&]:[grid-column:auto] max-[650px]:[.skills-layout_>_&]:grid-cols-[1fr]`,children:[(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{title:l(`skills:skillsPage.selectedSkill`)}),(0,T.jsx)(`h2`,{children:X?.name||l(`skills:skillsPage.noSkillAvailable`)}),(0,T.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-secondary)] text-[12px] leading-[1.55]`,children:X?.description||l(`skills:skillsPage.addGlobalOrProjectSkill`)}),[[l(`skills:skillsPage.triggerMode`),X?.modelInvocationEnabled?l(`skills:skillsPage.automaticManual`):l(`skills:skillsPage.manualOnly`)],[l(`skills:skillsPage.permissions`),X?.allowedTools?.length?X.allowedTools.join(`, `):l(`skills:skillsPage.usesChatToolPermissions`)],[l(`skills:skillsPage.scope`),X?.sourceInfo?.scope===`project`?l(`skills:skillsPage.project`):l(`skills:skillsPage.global`)],[l(`skills:skillsPage.version`),X?.version||`latest`],[l(`skills:skillsPage.source`),X?.source||`—`]].map(e=>(0,T.jsxs)(`div`,{className:`key-value [&:first-of-type]:mt-[7px] [&_span]:text-[var(--text-muted)] [&_button]:flex [&_button]:items-center [&_button]:gap-[4px] [&_button]:border-0 [&_button]:bg-transparent [&_button]:text-[var(--text-soft)] [&_button]:text-[12px] [&_strong]:min-w-0 [&_strong]:overflow-hidden [&_strong]:text-[13px] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap flex min-h-[31px] items-center justify-between gap-[10px] [border-top:1px_solid_var(--stroke-soft)] text-[13px]`,children:[(0,T.jsx)(`span`,{children:e[0]}),(0,T.jsx)(`strong`,{children:e[1]})]},e[0])),(0,T.jsxs)(p,{variant:X?.removable?`destructive`:`default`,size:`lg`,className:`w-full`,disabled:I||R,onClick:X?.removable?ne:te,children:[X?.removable?(0,T.jsx)(u,{size:14}):(0,T.jsx)(c,{size:14}),X?.removable?l(`skills:skillsPage.uninstallSkill`):l(`skills:skillsPage.saveSettings`)]})]}),(0,T.jsxs)(x,{children:[(0,T.jsx)(v,{title:l(`skills:skillsPage.triggerConditions`)}),[[l(`skills:skillsPage.allowAutomaticModelInvocation`),!!X?.modelInvocationEnabled,!1,e=>void Q(X,{modelInvocationEnabled:e})],[l(`skills:skillsPage.supportManualSkillCommand`),!!X?.command,!0],[l(`skills:skillsPage.projectScopedSkill`),X?.sourceInfo?.scope===`project`,!0],[l(`skills:skillsPage.declaresRequiredTools`),!!X?.allowedTools?.length,!0]].map(([e,t,n,r])=>(0,T.jsxs)(`label`,{className:`check-row [&_input]:[accent-color:var(--star-strong)] flex items-center gap-[7px] [border-top:1px_solid_var(--stroke-soft)] [padding:8px_2px] text-[12px]`,children:[(0,T.jsx)(`input`,{type:`checkbox`,checked:t,disabled:!X||I||R||n,onChange:e=>r?.(e.target.checked)}),(0,T.jsx)(`span`,{children:e})]},e))]})]})]})]})}export{j as SkillsPage};
|