pisper 0.5.50 → 0.5.51
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/package.json +7 -7
- package/web/.vite/manifest.json +162 -159
- package/web/assets/{AppOverlays-DrS2NA9w.js → AppOverlays-DlB6SVT6.js} +1 -1
- package/web/assets/{AppSelect-CRjRgr38.js → AppSelect-kDqZkETY.js} +1 -1
- package/web/assets/{AssetsPage-C2GY8596.js → AssetsPage-mZkZgR9g.js} +1 -1
- package/web/assets/{ChannelsPage-FPSrQa1G.js → ChannelsPage-Dau7vaaV.js} +1 -1
- package/web/assets/{ChatDockView-BJGa8Bm8.js → ChatDockView-Cq7J6Xmn.js} +1 -1
- package/web/assets/{ChatHistoryPage-BBmrFY5U.js → ChatHistoryPage-BpoHAiYo.js} +1 -1
- package/web/assets/{ChatPage-DfQGtuLo.js → ChatPage-CCMsSvJV.js} +3 -3
- package/web/assets/{ConfigPage-D27UB6Ni.js → ConfigPage-BGZoCXnB.js} +1 -1
- package/web/assets/{MarkdownMessage-BQ_6o9-O.js → MarkdownMessage-Dbgb5XkJ.js} +1 -1
- package/web/assets/{MemoryPage-D46RKJLE.js → MemoryPage-BiAbcHbL.js} +1 -1
- package/web/assets/{PageHeader-DH1jtT2l.js → PageHeader-9ctH9v28.js} +1 -1
- package/web/assets/PluginsPage-D-D22LWb.js +1 -0
- package/web/assets/{PreviewPages-BBwzd5LJ.js → PreviewPages-DUZgwvOb.js} +1 -1
- package/web/assets/{SchedulesPage-AyePMsz_.js → SchedulesPage-C3sS9Ej3.js} +1 -1
- package/web/assets/{SkillsPage-Cb3i7xyX.js → SkillsPage-BeeTZyfc.js} +1 -1
- package/web/assets/{TerminalPanel-B06cwdRZ.js → TerminalPanel-a4jiIuSs.js} +1 -1
- package/web/assets/{WelcomeEffects-CsxWSguh.js → WelcomeEffects-Xo1Z1Nf4.js} +1 -1
- package/web/assets/{WorkflowsPage-Byq1cQot.js → WorkflowsPage-BCdz4ise.js} +1 -1
- package/web/assets/{WorkspacePicker-BNVaK0c9.js → WorkspacePicker-Ctf1A8lp.js} +1 -1
- package/web/assets/client-store-ohgbeJNh.js +1 -0
- package/web/assets/{collapsible-C4owDMcF.js → collapsible-U8Wh2f7S.js} +1 -1
- package/web/assets/{config-search-CsGhOXIG.js → config-search-CdRsMMUS.js} +1 -1
- package/web/assets/{dist-VQXpFPjV.js → dist-Dq4VqZgU.js} +1 -1
- package/web/assets/{dist-CyztUDRL.js → dist-cR3ayBwn.js} +1 -1
- package/web/assets/{es2015-BpePoPbM.js → es2015-DycjrqX-.js} +1 -1
- package/web/assets/{field-BAyGDYW_.js → field-t72VAR-1.js} +1 -1
- package/web/assets/index-Bd5A8V1V.js +40 -0
- package/web/assets/index-DUhopGVK.css +2 -0
- package/web/assets/{progress-BqaId9J2.js → progress-DQDjWjzV.js} +1 -1
- package/web/assets/{scroll-area-DkxdCF8r.js → scroll-area-C1DpxpHg.js} +1 -1
- package/web/assets/{separator-0_agp17Z.js → separator-Br2F2Mir.js} +1 -1
- package/web/assets/tool-labels-v0OysnpI.js +1 -0
- package/web/assets/{tooltip-D9uQM6ab.js → tooltip-DfGEs0yi.js} +1 -1
- package/web/assets/use-i18n-jYw5s_Yn.js +1 -0
- package/web/assets/{use-mobile-A2egKMjY.js → use-mobile-C1OVAMOm.js} +1 -1
- package/web/assets/web-preview-panel-uBOnhY4Z.js +556 -0
- package/web/assets/{welcome-brand-CYtVVlIL.js → welcome-brand-R7Xflzvb.js} +1 -1
- package/web/index.html +10 -10
- package/web/assets/PluginsPage-B4cG171E.js +0 -1
- package/web/assets/client-store-BSV7t02b.js +0 -1
- package/web/assets/index-CAWCOpxG.js +0 -40
- package/web/assets/index-DT-gaDrM.css +0 -2
- package/web/assets/tool-labels-BJhLig5u.js +0 -1
- package/web/assets/use-i18n-yjKc6F2w.js +0 -1
- package/web/assets/web-preview-panel-BOmJGqhe.js +0 -556
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-markdown-plugins-Wv1dLaAO.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-shiki-runtime-CxE5QolQ.js","assets/vendor-router-Bw2aAdMs.js","assets/vendor-react-CHuvPdJE.js","assets/vendor-markdown-plugins-DEcVZfaU.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{f as r}from"./vendor-router-Bw2aAdMs.js";import{t as i}from"./button-XhIEgIsg.js";import{t as a}from"./use-i18n-yjKc6F2w.js";import{t as o}from"./utils-C8uzG5AZ.js";import{t as s}from"./check-jIXqkGKr.js";import{t as c}from"./copy-DS-8Hh_R.js";import{It as l}from"./index-CAWCOpxG.js";import{n as u,t as d}from"./vendor-markdown-plugins-Wv1dLaAO.js";import{a as f,i as p,n as ee,r as m,t as h}from"./vendor-markdown-Bsw0Ng3w.js";import{n as g,r as _,t as v}from"./vendor-shiki-runtime-CxE5QolQ.js";var y=e(t(),1),b=[`github-dark`,`github-dark`],te=150,ne=new Set([`text`,`txt`,`plain`,`plaintext`]),x=new Map;for(let e of g){x.set(e.id,e.id);for(let t of e.aliases??[])x.set(t,e.id)}function S(e){return typeof e==`string`?e:e.name??`custom`}function C(e){let t=String(e||``).trim().toLowerCase();return x.get(t)??`text`}function w(e,t,n){return`${t}:${S(n[0])}:${S(n[1])}:${e.length}:${e.slice(0,64)}:${e.slice(-64)}`}var T=new Map;function E(e){let t=T.get(e);return t&&(T.delete(e),T.set(e,t)),t}function re(e,t){for(T.delete(e),T.set(e,t);T.size>te;){let e=T.keys().next().value;if(e===void 0)break;T.delete(e)}}var D=null,O=new Map;function ie(){return D??=_({themes:[...b],langs:[],engine:v({forgiving:!0})}),D}function ae(e,t){if(ne.has(t)||e.getLoadedLanguages().includes(t))return Promise.resolve();let n=g.find(e=>e.id===t);if(!n)return Promise.resolve();let r=O.get(t);return r||(r=e.loadLanguage(()=>n.import().then(e=>e.default)).catch(e=>{throw O.delete(t),e}),O.set(t,r)),r}var k=new Map;function oe(){return{name:`shiki`,type:`code-highlighter`,supportsLanguage(e){return x.has(String(e||``).trim().toLowerCase())},getSupportedLanguages(){return g.map(e=>e.id)},getThemes(){return b},highlight({code:e,language:t,themes:n},r){let i=C(t),a=w(e,i,n),o=E(a);if(o)return o;let s=k.get(a),c=!!s;return s||(s=new Set,k.set(a,s)),r&&s.add(r),c||(async()=>{try{let t=await ie();await ae(t,i);let r=t.getLoadedLanguages().includes(i)?i:`text`,o=t.codeToTokens(e,{lang:r,themes:{light:n[0],dark:n[1]}});re(a,o);let s=k.get(a);if(k.delete(a),s)for(let e of s)e(o)}catch(e){k.delete(a),console.error(`[streamdown] Failed to highlight code:`,e)}})(),null}}}var se=oe(),ce={cjk:u,code:se,math:d};function le(){let e=``,t=[];return n=>{if(n===e)return t;if(t.length>0&&n.startsWith(e)){let r=t[t.length-1],i=e.length-r.length;if(i<0||e.slice(i)!==r)return e=n,t=m(n),t;let a=m(n.slice(i)),o=[...t.slice(0,-1),...a];return e=n,t=o,o}return e=n,t=m(n),t}}var ue=100,A=new Map;function j(e){let t=A.get(e);if(t)return A.delete(e),A.set(e,t),t;let n=m(e);if(A.set(e,n),A.size>ue){let e=A.keys().next().value;e!==void 0&&A.delete(e)}return n}var M=null;function N(){return M??=r(()=>import(`./vendor-markdown-plugins-Wv1dLaAO.js`).then(e=>e.O),__vite__mapDeps([0,1,2,3,4,5])),M}function P(e){return/\$\$|\\\(|\\\[|\$[^\n$]+\$|\\begin\{/.test(e)}var F=`https://local-file.pisper.invalid`,I=`/reveal`;function L(e){try{return decodeURIComponent(e)}catch{return e}}function R(e){return[...e].some(e=>{let t=e.codePointAt(0)||0;return t<32||t===127})}function z(e){return/^(?:[A-Za-z]:[\\/]|\/|\\\\)/.test(e)}function B(e){let t=e.match(/:(\d+)(?::(\d+))?$/);if(!t)return{path:e};let n={path:e.slice(0,-t[0].length),line:Number(t[1])};return t[2]&&(n.column=Number(t[2])),n}function V(e){try{let t=new URL(e);if(t.protocol!==`file:`||t.username||t.password||t.port)return null;let n=t.pathname;return t.hostname&&t.hostname!==`localhost`?`//${t.hostname}${n}`:/^\/[A-Za-z]:[\\/]/.test(n)?n.slice(1):n}catch{return null}}function H(e){return!e||/^[\\/]/.test(e)||/^[A-Za-z][A-Za-z0-9+.-]*:/.test(e)?!1:!e.split(/[\\/]/).includes(`..`)}function U(e,t){let n=e.replace(/[\\/]+$/,``);if(!n)return e.startsWith(`/`)?`/`+t.replace(/^(?:\.\/)+/,``):``;let r=e.includes(`\\`)?`\\`:`/`,i=t.replace(/^[\\/]+/,``).replace(/^(?:\.[/])+/g,``);return n+r+i}function de(e,t){let n=e.trim();if(!n||R(n))return null;let r=/^file:/i.test(n);if(!r&&/[?#]/.test(n))return null;let i=r?V(n):n;if(!i)return null;let a=B(i),o=L(a.path);if(!o||R(o))return null;let s=/^\/[A-Za-z]:[\\/]/.test(o)?o.slice(1):o;if(z(s))return{...a,path:s};if(/^[A-Za-z][A-Za-z0-9+.-]*:/.test(i)&&!a.path.includes(`.`)||!t)return null;let c=t.trim();if(!z(c)||R(c)||!H(o))return null;let l=U(c,o);return z(l)?{...a,path:l}:null}function fe(e){let t=new URL(I,F);return t.searchParams.set(`path`,e.path),e.line!==void 0&&t.searchParams.set(`line`,String(e.line)),e.column!==void 0&&t.searchParams.set(`column`,String(e.column)),t.href}function pe(e){try{let t=new URL(e);if(t.origin!==F||t.pathname!==I)return null;let n=t.searchParams.get(`path`)||``;if(!z(n)||R(n))return null;let r=Number(t.searchParams.get(`line`)),i=Number(t.searchParams.get(`column`)),a={path:n};return Number.isSafeInteger(r)&&r>0&&(a.line=r),Number.isSafeInteger(i)&&i>0&&(a.column=i),a}catch{return null}}function me(e){return t=>{let n=t=>{if(t.type===`link`&&typeof t.url==`string`){let n=de(t.url,e);n&&(t.url=fe(n))}for(let e of t.children||[])n(e)};n(t)}}async function W(e){let t=await fetch(`/api/desktop/reveal-path`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({path:e})}),n={};try{n=await t.json()}catch{}if(!t.ok)throw Error(n.error||`HTTP ${t.status}`);return n.revealed===!0}var G=class extends Error{reason;constructor(e){super(`local-reveal:${e}`),this.reason=e,this.name=`LocalPathRevealError`}};async function K(e,t){if(typeof t!=`function`)throw new G(`unavailable`);let n;try{if(await Promise.race([Promise.resolve().then(()=>t(e)),new Promise((e,t)=>{n=setTimeout(()=>t(new G(`timeout`)),8e3)})])!==!0)throw new G(`failed`)}finally{clearTimeout(n)}}var q=n(),he={a:Z,code:Ce,img:ye,strong:be,table:xe},ge=!1,_e={linkMode:`text-only`};function J(e,t){window.dispatchEvent(new CustomEvent(l,{detail:{message:e,tone:t}}))}function Y(e){return typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(Y).join(``):(0,y.isValidElement)(e)?Y(e.props.children):``}function ve(e){return String(e||``).match(/language-([\w-]+)/)?.[1]||`text`}function X(e){if(navigator.clipboard?.writeText)return navigator.clipboard.writeText(e);let t=document.createElement(`textarea`);return t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.opacity=`0`,document.body.append(t),t.select(),document.execCommand(`copy`),t.remove(),Promise.resolve()}function Z({children:e,node:t,className:n,href:r,...i}){let{t:s}=a(),[c,l]=(0,y.useState)(!1),[u,d]=(0,y.useState)(``),f=Y(e).trim()?e:r;if(!r)return(0,q.jsx)(`span`,{className:o(`markdown-link`,n),children:f});let p=pe(r);if(p){let e=s(`common:markdownMessage.revealLocalPath`,{path:p.path}),t=async()=>{l(!0),d(``);try{await K(p.path,W),J(s(`common:markdownMessage.revealLocalPathOk`,{path:p.path}),`info`)}catch(e){let t=e instanceof G&&e.reason===`unavailable`?s(`common:markdownMessage.revealLocalPathUnavailable`):e instanceof G&&e.reason===`timeout`?s(`common:markdownMessage.revealLocalPathTimeout`):s(`common:markdownMessage.revealLocalPathFailed`,{path:p.path}),n=e instanceof Error?e.message:String(e);console.error(`[markdown] 无法在文件管理器中显示本地路径。`,e),d(`${t} (${n})`),J(t,`error`)}finally{l(!1)}};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,className:o(`markdown-link inline cursor-pointer border-0 bg-transparent p-0 [font:inherit]`,n),"data-local-path":p.path,title:e,disabled:c,"aria-busy":c||void 0,onClick:()=>void t(),children:f}),u&&(0,q.jsxs)(`span`,{role:`alert`,className:`ml-2 text-sm text-destructive`,children:[u,` `,(0,q.jsx)(`button`,{type:`button`,className:`cursor-pointer underline underline-offset-2`,onClick:()=>{X(p.path).then(()=>J(s(`common:markdownMessage.copied`),`info`),()=>J(s(`common:markdownMessage.copyPathFailed`),`error`))},children:s(`common:markdownMessage.copyPath`)})]})]})}return(0,q.jsx)(`a`,{...i,className:o(`markdown-link`,n),href:r,target:`_blank`,rel:`noopener noreferrer`,children:f})}function ye({node:e,...t}){return(0,q.jsx)(`img`,{loading:`lazy`,...t})}function be({node:e,...t}){return(0,q.jsx)(`strong`,{...t})}function xe({node:e,...t}){return(0,q.jsx)(`table`,{...t})}function Q({source:e}){let{t}=a(),[n,r]=(0,y.useState)(!1);return(0,q.jsxs)(i,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 gap-1 px-[7px] text-[11px] font-bold text-[var(--code-toolbar-text)] hover:bg-white/10 hover:text-[var(--code-toolbar-text)]`,"data-streamdown":`code-block-copy-button`,onClick:async()=>{try{await X(e),r(!0),window.setTimeout(()=>r(!1),1800)}catch{r(!1)}},"aria-label":t(`common:markdownMessage.copyCode`),title:t(`common:markdownMessage.copyCode`),children:[n?(0,q.jsx)(s,{size:13}):(0,q.jsx)(c,{size:13}),t(n?`common:markdownMessage.copied`:`common:markdownMessage.copy`)]})}function Se({language:e,source:t}){return(0,q.jsxs)(`div`,{className:`my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2`,"data-incomplete":`true`,"data-language":e,"data-streamdown":`code-block`,style:{contentVisibility:`auto`,containIntrinsicSize:`auto 200px`},children:[(0,q.jsxs)(`div`,{className:`flex h-8 items-center justify-between text-muted-foreground text-xs`,"data-language":e,"data-streamdown":`code-block-header`,children:[(0,q.jsx)(`span`,{className:`ml-1 font-mono lowercase`,children:e}),(0,q.jsx)(Q,{source:t})]}),(0,q.jsx)(`div`,{className:`overflow-x-auto rounded-md border border-border bg-background p-4 text-sm`,"data-language":e,"data-streamdown":`code-block-body`,children:(0,q.jsx)(`pre`,{className:`bg-transparent`,children:(0,q.jsx)(`code`,{children:t})})})]})}function Ce({children:e,className:t,node:n,...r}){let i=f();if(!Object.hasOwn(r,`data-block`))return(0,q.jsx)(`code`,{className:t||``,...r,children:e});let a=Y(e).replace(/\n$/,``),o=ve(t);return i?(0,q.jsx)(Se,{language:o,source:a}):(0,q.jsx)(p,{code:a,isIncomplete:i,language:o,lineNumbers:!1,children:(0,q.jsx)(Q,{source:a})})}function we({children:e,className:t,streaming:n=!1,cwd:r}){let i=String(e??``),a=(0,y.useMemo)(()=>[...Object.values(h),[me,r||void 0]],[r]),s=(0,y.useMemo)(()=>P(i),[i]);(0,y.useEffect)(()=>{s&&N()},[s]);let[c]=(0,y.useState)(()=>le()),l=n?c:j;return(0,q.jsx)(`div`,{className:o(`markdown-body`,n&&`markdown-streaming`,t),"aria-busy":n||void 0,children:(0,q.jsx)(ee,{className:`markdown-content space-y-0`,components:he,controls:ge,isAnimating:n,lineNumbers:!1,mode:`streaming`,parseMarkdownIntoBlocksFn:l,plugins:ce,remarkPlugins:a,remend:_e,children:i})})}var $=(0,y.memo)(we);$.displayName=`MarkdownMessage`;export{W as i,G as n,K as r,$ as t};
|
|
2
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{f as r}from"./vendor-router-Bw2aAdMs.js";import{t as i}from"./button-XhIEgIsg.js";import{t as a}from"./use-i18n-jYw5s_Yn.js";import{t as o}from"./utils-C8uzG5AZ.js";import{t as s}from"./check-jIXqkGKr.js";import{t as c}from"./copy-DS-8Hh_R.js";import{It as l}from"./index-Bd5A8V1V.js";import{n as u,t as d}from"./vendor-markdown-plugins-Wv1dLaAO.js";import{a as f,i as p,n as ee,r as m,t as h}from"./vendor-markdown-Bsw0Ng3w.js";import{n as g,r as _,t as v}from"./vendor-shiki-runtime-CxE5QolQ.js";var y=e(t(),1),b=[`github-dark`,`github-dark`],te=150,ne=new Set([`text`,`txt`,`plain`,`plaintext`]),x=new Map;for(let e of g){x.set(e.id,e.id);for(let t of e.aliases??[])x.set(t,e.id)}function S(e){return typeof e==`string`?e:e.name??`custom`}function C(e){let t=String(e||``).trim().toLowerCase();return x.get(t)??`text`}function w(e,t,n){return`${t}:${S(n[0])}:${S(n[1])}:${e.length}:${e.slice(0,64)}:${e.slice(-64)}`}var T=new Map;function E(e){let t=T.get(e);return t&&(T.delete(e),T.set(e,t)),t}function re(e,t){for(T.delete(e),T.set(e,t);T.size>te;){let e=T.keys().next().value;if(e===void 0)break;T.delete(e)}}var D=null,O=new Map;function ie(){return D??=_({themes:[...b],langs:[],engine:v({forgiving:!0})}),D}function ae(e,t){if(ne.has(t)||e.getLoadedLanguages().includes(t))return Promise.resolve();let n=g.find(e=>e.id===t);if(!n)return Promise.resolve();let r=O.get(t);return r||(r=e.loadLanguage(()=>n.import().then(e=>e.default)).catch(e=>{throw O.delete(t),e}),O.set(t,r)),r}var k=new Map;function oe(){return{name:`shiki`,type:`code-highlighter`,supportsLanguage(e){return x.has(String(e||``).trim().toLowerCase())},getSupportedLanguages(){return g.map(e=>e.id)},getThemes(){return b},highlight({code:e,language:t,themes:n},r){let i=C(t),a=w(e,i,n),o=E(a);if(o)return o;let s=k.get(a),c=!!s;return s||(s=new Set,k.set(a,s)),r&&s.add(r),c||(async()=>{try{let t=await ie();await ae(t,i);let r=t.getLoadedLanguages().includes(i)?i:`text`,o=t.codeToTokens(e,{lang:r,themes:{light:n[0],dark:n[1]}});re(a,o);let s=k.get(a);if(k.delete(a),s)for(let e of s)e(o)}catch(e){k.delete(a),console.error(`[streamdown] Failed to highlight code:`,e)}})(),null}}}var se=oe(),ce={cjk:u,code:se,math:d};function le(){let e=``,t=[];return n=>{if(n===e)return t;if(t.length>0&&n.startsWith(e)){let r=t[t.length-1],i=e.length-r.length;if(i<0||e.slice(i)!==r)return e=n,t=m(n),t;let a=m(n.slice(i)),o=[...t.slice(0,-1),...a];return e=n,t=o,o}return e=n,t=m(n),t}}var ue=100,A=new Map;function j(e){let t=A.get(e);if(t)return A.delete(e),A.set(e,t),t;let n=m(e);if(A.set(e,n),A.size>ue){let e=A.keys().next().value;e!==void 0&&A.delete(e)}return n}var M=null;function N(){return M??=r(()=>import(`./vendor-markdown-plugins-Wv1dLaAO.js`).then(e=>e.O),__vite__mapDeps([0,1,2,3,4,5])),M}function P(e){return/\$\$|\\\(|\\\[|\$[^\n$]+\$|\\begin\{/.test(e)}var F=`https://local-file.pisper.invalid`,I=`/reveal`;function L(e){try{return decodeURIComponent(e)}catch{return e}}function R(e){return[...e].some(e=>{let t=e.codePointAt(0)||0;return t<32||t===127})}function z(e){return/^(?:[A-Za-z]:[\\/]|\/|\\\\)/.test(e)}function B(e){let t=e.match(/:(\d+)(?::(\d+))?$/);if(!t)return{path:e};let n={path:e.slice(0,-t[0].length),line:Number(t[1])};return t[2]&&(n.column=Number(t[2])),n}function V(e){try{let t=new URL(e);if(t.protocol!==`file:`||t.username||t.password||t.port)return null;let n=t.pathname;return t.hostname&&t.hostname!==`localhost`?`//${t.hostname}${n}`:/^\/[A-Za-z]:[\\/]/.test(n)?n.slice(1):n}catch{return null}}function H(e){return!e||/^[\\/]/.test(e)||/^[A-Za-z][A-Za-z0-9+.-]*:/.test(e)?!1:!e.split(/[\\/]/).includes(`..`)}function U(e,t){let n=e.replace(/[\\/]+$/,``);if(!n)return e.startsWith(`/`)?`/`+t.replace(/^(?:\.\/)+/,``):``;let r=e.includes(`\\`)?`\\`:`/`,i=t.replace(/^[\\/]+/,``).replace(/^(?:\.[/])+/g,``);return n+r+i}function de(e,t){let n=e.trim();if(!n||R(n))return null;let r=/^file:/i.test(n);if(!r&&/[?#]/.test(n))return null;let i=r?V(n):n;if(!i)return null;let a=B(i),o=L(a.path);if(!o||R(o))return null;let s=/^\/[A-Za-z]:[\\/]/.test(o)?o.slice(1):o;if(z(s))return{...a,path:s};if(/^[A-Za-z][A-Za-z0-9+.-]*:/.test(i)&&!a.path.includes(`.`)||!t)return null;let c=t.trim();if(!z(c)||R(c)||!H(o))return null;let l=U(c,o);return z(l)?{...a,path:l}:null}function fe(e){let t=new URL(I,F);return t.searchParams.set(`path`,e.path),e.line!==void 0&&t.searchParams.set(`line`,String(e.line)),e.column!==void 0&&t.searchParams.set(`column`,String(e.column)),t.href}function pe(e){try{let t=new URL(e);if(t.origin!==F||t.pathname!==I)return null;let n=t.searchParams.get(`path`)||``;if(!z(n)||R(n))return null;let r=Number(t.searchParams.get(`line`)),i=Number(t.searchParams.get(`column`)),a={path:n};return Number.isSafeInteger(r)&&r>0&&(a.line=r),Number.isSafeInteger(i)&&i>0&&(a.column=i),a}catch{return null}}function me(e){return t=>{let n=t=>{if(t.type===`link`&&typeof t.url==`string`){let n=de(t.url,e);n&&(t.url=fe(n))}for(let e of t.children||[])n(e)};n(t)}}async function W(e){let t=await fetch(`/api/desktop/reveal-path`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({path:e})}),n={};try{n=await t.json()}catch{}if(!t.ok)throw Error(n.error||`HTTP ${t.status}`);return n.revealed===!0}var G=class extends Error{reason;constructor(e){super(`local-reveal:${e}`),this.reason=e,this.name=`LocalPathRevealError`}};async function K(e,t){if(typeof t!=`function`)throw new G(`unavailable`);let n;try{if(await Promise.race([Promise.resolve().then(()=>t(e)),new Promise((e,t)=>{n=setTimeout(()=>t(new G(`timeout`)),8e3)})])!==!0)throw new G(`failed`)}finally{clearTimeout(n)}}var q=n(),he={a:Z,code:Ce,img:ye,strong:be,table:xe},ge=!1,_e={linkMode:`text-only`};function J(e,t){window.dispatchEvent(new CustomEvent(l,{detail:{message:e,tone:t}}))}function Y(e){return typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(Y).join(``):(0,y.isValidElement)(e)?Y(e.props.children):``}function ve(e){return String(e||``).match(/language-([\w-]+)/)?.[1]||`text`}function X(e){if(navigator.clipboard?.writeText)return navigator.clipboard.writeText(e);let t=document.createElement(`textarea`);return t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.opacity=`0`,document.body.append(t),t.select(),document.execCommand(`copy`),t.remove(),Promise.resolve()}function Z({children:e,node:t,className:n,href:r,...i}){let{t:s}=a(),[c,l]=(0,y.useState)(!1),[u,d]=(0,y.useState)(``),f=Y(e).trim()?e:r;if(!r)return(0,q.jsx)(`span`,{className:o(`markdown-link`,n),children:f});let p=pe(r);if(p){let e=s(`common:markdownMessage.revealLocalPath`,{path:p.path}),t=async()=>{l(!0),d(``);try{await K(p.path,W),J(s(`common:markdownMessage.revealLocalPathOk`,{path:p.path}),`info`)}catch(e){let t=e instanceof G&&e.reason===`unavailable`?s(`common:markdownMessage.revealLocalPathUnavailable`):e instanceof G&&e.reason===`timeout`?s(`common:markdownMessage.revealLocalPathTimeout`):s(`common:markdownMessage.revealLocalPathFailed`,{path:p.path}),n=e instanceof Error?e.message:String(e);console.error(`[markdown] 无法在文件管理器中显示本地路径。`,e),d(`${t} (${n})`),J(t,`error`)}finally{l(!1)}};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,className:o(`markdown-link inline cursor-pointer border-0 bg-transparent p-0 [font:inherit]`,n),"data-local-path":p.path,title:e,disabled:c,"aria-busy":c||void 0,onClick:()=>void t(),children:f}),u&&(0,q.jsxs)(`span`,{role:`alert`,className:`ml-2 text-sm text-destructive`,children:[u,` `,(0,q.jsx)(`button`,{type:`button`,className:`cursor-pointer underline underline-offset-2`,onClick:()=>{X(p.path).then(()=>J(s(`common:markdownMessage.copied`),`info`),()=>J(s(`common:markdownMessage.copyPathFailed`),`error`))},children:s(`common:markdownMessage.copyPath`)})]})]})}return(0,q.jsx)(`a`,{...i,className:o(`markdown-link`,n),href:r,target:`_blank`,rel:`noopener noreferrer`,children:f})}function ye({node:e,...t}){return(0,q.jsx)(`img`,{loading:`lazy`,...t})}function be({node:e,...t}){return(0,q.jsx)(`strong`,{...t})}function xe({node:e,...t}){return(0,q.jsx)(`table`,{...t})}function Q({source:e}){let{t}=a(),[n,r]=(0,y.useState)(!1);return(0,q.jsxs)(i,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 gap-1 px-[7px] text-[11px] font-bold text-[var(--code-toolbar-text)] hover:bg-white/10 hover:text-[var(--code-toolbar-text)]`,"data-streamdown":`code-block-copy-button`,onClick:async()=>{try{await X(e),r(!0),window.setTimeout(()=>r(!1),1800)}catch{r(!1)}},"aria-label":t(`common:markdownMessage.copyCode`),title:t(`common:markdownMessage.copyCode`),children:[n?(0,q.jsx)(s,{size:13}):(0,q.jsx)(c,{size:13}),t(n?`common:markdownMessage.copied`:`common:markdownMessage.copy`)]})}function Se({language:e,source:t}){return(0,q.jsxs)(`div`,{className:`my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2`,"data-incomplete":`true`,"data-language":e,"data-streamdown":`code-block`,style:{contentVisibility:`auto`,containIntrinsicSize:`auto 200px`},children:[(0,q.jsxs)(`div`,{className:`flex h-8 items-center justify-between text-muted-foreground text-xs`,"data-language":e,"data-streamdown":`code-block-header`,children:[(0,q.jsx)(`span`,{className:`ml-1 font-mono lowercase`,children:e}),(0,q.jsx)(Q,{source:t})]}),(0,q.jsx)(`div`,{className:`overflow-x-auto rounded-md border border-border bg-background p-4 text-sm`,"data-language":e,"data-streamdown":`code-block-body`,children:(0,q.jsx)(`pre`,{className:`bg-transparent`,children:(0,q.jsx)(`code`,{children:t})})})]})}function Ce({children:e,className:t,node:n,...r}){let i=f();if(!Object.hasOwn(r,`data-block`))return(0,q.jsx)(`code`,{className:t||``,...r,children:e});let a=Y(e).replace(/\n$/,``),o=ve(t);return i?(0,q.jsx)(Se,{language:o,source:a}):(0,q.jsx)(p,{code:a,isIncomplete:i,language:o,lineNumbers:!1,children:(0,q.jsx)(Q,{source:a})})}function we({children:e,className:t,streaming:n=!1,cwd:r}){let i=String(e??``),a=(0,y.useMemo)(()=>[...Object.values(h),[me,r||void 0]],[r]),s=(0,y.useMemo)(()=>P(i),[i]);(0,y.useEffect)(()=>{s&&N()},[s]);let[c]=(0,y.useState)(()=>le()),l=n?c:j;return(0,q.jsx)(`div`,{className:o(`markdown-body`,n&&`markdown-streaming`,t),"aria-busy":n||void 0,children:(0,q.jsx)(ee,{className:`markdown-content space-y-0`,components:he,controls:ge,isAnimating:n,lineNumbers:!1,mode:`streaming`,parseMarkdownIntoBlocksFn:l,plugins:ce,remarkPlugins:a,remend:_e,children:i})})}var $=(0,y.memo)(we);$.displayName=`MarkdownMessage`;export{W as i,G as n,K as r,$ as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./api-B6CluO7V.js";import{n as i,t as a}from"./button-XhIEgIsg.js";import{t as o}from"./use-i18n-yjKc6F2w.js";import{t as s}from"./AppSelect-CRjRgr38.js";import{i as c,n as l,t as u}from"./tooltip-D9uQM6ab.js";import{t as d}from"./check-jIXqkGKr.js";import{t as f}from"./file-code-corner-BKkXAMHR.js";import{t as ee}from"./loader-circle-72TYCcVQ.js";import{t as p}from"./pencil-CxA1IK0x.js";import{t as m}from"./trash-2-mhzzyC6i.js";import{t as h}from"./x-bw26XDZM.js";import{Et as te,bt as g,i as _,jt as ne,n as v,o as y,t as b,xt as x}from"./index-CAWCOpxG.js";import{t as S}from"./field-BAyGDYW_.js";import{t as re}from"./use-animation-visibility-C-GENY2Z.js";import{t as ie}from"./StarOrbit-BlI6MhVr.js";import{t as ae}from"./usePagePrimaryAction-Bw0OFTDZ.js";var oe=i(`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`}]]),se=i(`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`}]]),C=e(t(),1),w=n(),T={width:600,height:420,cx:300,cy:206},E=24,ce=Math.PI*(3-Math.sqrt(5)),le=[`concept`,`file`,`risk`,`preference`,`decision`,`fact`,`task`];function ue(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 de={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)`},fe={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 D(e){let t=0;for(let n=0;n<e.length;n+=1)t=t*31+e.charCodeAt(n)>>>0;return t}function pe(e,t){let n=e.slice(0,E);if(!n.length)return[];if(n.length===1)return[{node:n[0],x:T.cx,y:T.cy,twinkle:0}];let r=D(t||`galaxy`)%628/100,i=172/Math.sqrt(n.length);return n.map((e,t)=>{let n=D(e.id),a=t*ce+r,o=i*Math.sqrt(t+.55)+n%11-5;return{node:e,x:T.cx+Math.cos(a)*o*1.38,y:T.cy+Math.sin(a)*o*.74,twinkle:n%50/10}})}function O(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 k(e,t=e=>e){return e?.kind===`global`?t(`memory:memoryPage.globalMemorySpace`):e?.name||``}function me(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 A(e){return e instanceof Error?e.message:String(e)}function j({notify:e,query:t=``,registerPrimaryAction:n,requestConfirm:i}){let{t:s,language:S}=o(),[E,ce]=(0,C.useState)({spaces:[],nodes:[],links:[],candidates:[],selectedSpaceId:``}),[j,M]=(0,C.useState)(``),[N,P]=(0,C.useState)(``),[_e,ve]=(0,C.useState)(!0),[ye,F]=(0,C.useState)(``),[be,xe]=(0,C.useState)(1),[I,L]=(0,C.useState)(null),[R,z]=(0,C.useState)(null),[Se,Ce]=(0,C.useState)(``),[B,V]=(0,C.useState)(``),[H,U]=(0,C.useState)(null),[W,we]=(0,C.useState)(!1),G=(0,C.useRef)(null),K=(0,C.useRef)(0),{ref:Te,playing:q}=re(),Ee=(0,C.useCallback)(e=>{G.current=e,Te(e)},[Te]),De=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]!`;ae(n,()=>L({spaceId:j||E.selectedSpaceId}));let Oe=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))})},ke=()=>{cancelAnimationFrame(K.current),G.current?.style.setProperty(`--px`,`0`),G.current?.style.setProperty(`--py`,`0`)};(0,C.useEffect)(()=>{q||(cancelAnimationFrame(K.current),K.current=0)},[q]),(0,C.useEffect)(()=>{let e=G.current?.querySelector(`svg`);e&&(q?e.unpauseAnimations():e.pauseAnimations())},[q]);let J=(0,C.useCallback)(async(e=``)=>{ve(!0),F(``);try{let n=new URLSearchParams;e&&n.set(`spaceId`,e),t.trim()&&n.set(`query`,t.trim());let i=await r(`/api/memory?${n}`);ce(i),M(i.selectedSpaceId||``),P(e=>i.nodes.some(t=>t.id===e)?e:i.nodes[0]?.id||``)}catch(e){F(A(e))}finally{ve(!1)}},[t]);(0,C.useEffect)(()=>{J(j)},[J,j]),(0,C.useEffect)(()=>{let e=!0;return r(`/api/settings/memory`).then(t=>e&&U(t.autoApproveConfidence)).catch(()=>e&&U(60)),()=>{e=!1}},[]);let Ae=async()=>{let t=H;if(t===null||W)return;let n=Math.min(100,Math.max(0,Math.round(t)));n!==t&&U(n),we(!0);try{await r(`/api/settings/memory`,{method:`PATCH`,body:{autoApproveConfidence:n}}),e(s(`memory:memoryPage.autoApproveSaved`))}catch(e){F(A(e))}finally{we(!1)}},Y=E.nodes.find(e=>e.id===N)||null,X=(0,C.useMemo)(()=>pe(E.nodes,j),[E.nodes,j]),Z=(0,C.useMemo)(()=>new Map(X.map(e=>[e.node.id,e])),[X]),je=(0,C.useMemo)(()=>{let e=new Set(X.map(e=>e.node.id));return E.links.filter(t=>e.has(t.sourceId)&&e.has(t.targetId))},[X,E.links]),Me=new Set(E.links.flatMap(e=>e.sourceId===N?[e.targetId]:e.targetId===N?[e.sourceId]:[])),Q=Se||N,Ne=new Set(E.links.flatMap(e=>e.sourceId===Q?[e.targetId]:e.targetId===Q?[e.sourceId]:[])),Pe=E.nodes.filter(e=>e.type===`file`&&(Me.has(e.id)||e.id===N)),$=E.spaces.find(e=>e.id===j),Fe=async t=>{if(await i({title:s(`memory:memoryPage.deleteMemory`),message:s(`memory:memoryPage.deleteMemoryName`,{name:t.title}),confirmLabel:s(`memory:memoryPage.delete`)}))try{await r(`/api/memory/nodes/${encodeURIComponent(t.id)}`,{method:`DELETE`}),e(s(`memory:memoryPage.memoryDeleted`)),await J(j)}catch(e){F(A(e))}},Ie=async(t,n)=>{if(!B){V(t.id),F(``);try{await r(`/api/memory/candidates/${encodeURIComponent(t.id)}/${n}`,{method:`POST`,body:`{}`}),e(s(n===`accept`?`memory:memoryPage.memoryCandidateConfirmed`:`memory:memoryPage.memoryCandidateIgnored`)),await J(j)}catch(e){F(A(e))}finally{V(``)}}};return(0,w.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,w.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-[12px]`,children:[(0,w.jsxs)(b,{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,w.jsxs)(v,{children:[(0,w.jsx)(y,{title:s(`memory:memoryPage.memorySpaces`)}),(0,w.jsx)(a,{variant:`ghost`,size:`icon`,title:s(`memory:memoryPage.newMemorySpace`),onClick:()=>z({}),children:(0,w.jsx)(x,{size:13})})]}),E.spaces.map(e=>(0,w.jsxs)(`button`,{className:e.id===j?`active`:``,onClick:()=>{M(e.id),P(``)},children:[(0,w.jsx)(`span`,{children:k(e,s)}),(0,w.jsx)(`small`,{children:s(`memory:memoryPage.countMemories`,{count:e.nodeCount})}),(0,w.jsx)(ne,{size:13})]},e.id)),$&&(0,w.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,w.jsxs)(`button`,{onClick:()=>z($),children:[(0,w.jsx)(p,{size:12}),s(`memory:memoryPage.rename`)]}),$.kind!==`global`&&(0,w.jsxs)(`button`,{className:`danger`,onClick:async()=>{if($&&await i({title:s(`memory:memoryPage.deleteMemorySpace`),message:s(`memory:memoryPage.deleteMemorySpaceNameAndAllMemoriesInIt`,{name:k($,s)}),confirmLabel:s(`memory:memoryPage.delete`)}))try{await r(`/api/memory/spaces/${encodeURIComponent($.id)}`,{method:`DELETE`}),M(``),P(``),e(s(`memory:memoryPage.memorySpaceDeleted`))}catch(e){F(A(e))}},children:[(0,w.jsx)(m,{size:12}),s(`memory:memoryPage.delete`)]})]})]}),(0,w.jsxs)(b,{className:`memory-legend-panel`,children:[(0,w.jsx)(y,{title:s(`memory:memoryPage.memoryMapTypes`)}),(0,w.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:le.map(e=>(0,w.jsxs)(`span`,{children:[(0,w.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}`}),ue(e,s)]},e))})]}),(0,w.jsxs)(b,{className:`min-h-0`,children:[(0,w.jsxs)(v,{children:[(0,w.jsx)(y,{title:`${s(`memory:memoryPage.memoryDrafts`)} · ${E.candidates?.length||0}`}),!!E.candidates?.length&&(0,w.jsxs)(a,{variant:`outline`,className:`bg-surface-subtle`,disabled:!!B,onClick:async()=>{if(!(B||!E.candidates?.length)){V(`__all__`),F(``);try{let t=await r(`/api/memory/candidates/reject-all`,{method:`POST`,body:`{}`});e(s(`memory:memoryPage.ignoredCountMemoryDrafts`,{count:t.rejected||0})),await J(j)}catch(e){F(A(e))}finally{V(``)}}},children:[(0,w.jsx)(h,{size:12}),s(`memory:memoryPage.ignoreAll`)]})]}),H!==null&&(0,w.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,w.jsxs)(`div`,{className:`flex items-center justify-center gap-1`,children:[(0,w.jsx)(`span`,{children:s(`memory:memoryPage.autoApproveThreshold`)}),(0,w.jsxs)(u,{children:[(0,w.jsx)(c,{asChild:!0,children:(0,w.jsx)(te,{size:16})}),(0,w.jsx)(l,{align:`center`,side:`top`,children:s(`memory:memoryPage.autoApproveThresholdHint`)})]})]}),(0,w.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,w.jsx)(`input`,{type:`number`,min:0,max:100,step:5,value:H,disabled:W,"aria-label":s(`memory:memoryPage.autoApproveThreshold`),onChange:e=>U(e.target.value?Number(e.target.value):0),onBlur:()=>void Ae(),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),Ae())}}),(0,w.jsx)(`em`,{children:`%`}),W&&(0,w.jsx)(ee,{className:`animate-spin`,size:12})]})]}),(0,w.jsxs)(`div`,{className:`flex max-h-[300px] flex-col gap-[8px] overflow-auto mt-2`,children:[(E.candidates||[]).map(e=>(0,w.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,w.jsx)(`strong`,{children:e.title}),(0,w.jsxs)(`small`,{children:[k(E.spaces.find(t=>t.id===e.spaceId),s),` · `,e.sourceType===`agent`?s(`memory:memoryPage.agentProposed`):s(`memory:memoryPage.conversationExtracted`),` · `,s(`memory:memoryPage.confidencePercent`,{value:Math.round((e.confidence||0)*100)})]}),(0,w.jsx)(`span`,{children:e.content}),e.topicKey&&(0,w.jsxs)(`small`,{children:[s(`memory:memoryPage.topic`),`:`,e.topicKey]}),e.evidence&&(0,w.jsxs)(`small`,{children:[s(`memory:memoryPage.evidence`),`:`,e.evidence]}),(0,w.jsxs)(`small`,{children:[s(`memory:memoryPage.created`),`:`,O(e.createdAt,S),e.expiresAt?` · ${s(`memory:memoryPage.expires`)}:${O(e.expiresAt,S)}`:``]}),(0,w.jsxs)(`div`,{children:[(0,w.jsxs)(`button`,{disabled:!!B,title:s(`memory:memoryPage.confirm`),onClick:()=>Ie(e,`accept`),children:[(0,w.jsx)(d,{size:12}),s(`memory:memoryPage.confirm`)]}),(0,w.jsxs)(`button`,{disabled:!!B,className:`danger`,title:s(`memory:memoryPage.ignore`),onClick:()=>Ie(e,`reject`),children:[(0,w.jsx)(h,{size:12}),s(`memory:memoryPage.ignore`)]})]})]},e.id)),!E.candidates?.length&&(0,w.jsx)(`small`,{children:s(`memory:memoryPage.thereAreNoPendingMemoryCandidates`)})]})]})]}),(0,w.jsxs)(b,{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 ${De}`,onPointerMove:Oe,onPointerLeave:ke,children:[(0,w.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,w.jsx)(`button`,{title:s(`memory:memoryPage.addMemory`),onClick:()=>L({spaceId:j}),children:(0,w.jsx)(x,{size:14})}),(0,w.jsx)(`button`,{title:s(`memory:memoryPage.zoomIn`),onClick:()=>xe(e=>Math.min(1.6,Number((e+.15).toFixed(2)))),children:(0,w.jsx)(se,{size:13})}),(0,w.jsx)(`button`,{title:s(`memory:memoryPage.zoomOut`),onClick:()=>xe(e=>Math.max(.7,Number((e-.15).toFixed(2)))),children:(0,w.jsx)(oe,{size:13})}),(0,w.jsx)(`button`,{title:s(`memory:memoryPage.refresh`),onClick:()=>J(j),children:(0,w.jsx)(g,{className:_e?`animate-spin`:``,size:13})})]}),(0,w.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:Ee,style:{transform:`scale(${be})`},children:[(0,w.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,w.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,w.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,w.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,w.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,w.jsxs)(`svg`,{viewBox:`0 0 600 420`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,w.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,w.jsx)(`ellipse`,{cx:`300`,cy:`206`,rx:`205`,ry:`122`,transform:`rotate(-8 300 206)`}),(0,w.jsx)(`ellipse`,{cx:`300`,cy:`206`,rx:`154`,ry:`88`,transform:`rotate(18 300 206)`}),(0,w.jsx)(`ellipse`,{cx:`300`,cy:`206`,rx:`95`,ry:`54`,transform:`rotate(-24 300 206)`})]}),(0,w.jsx)(`defs`,{children:je.map((e,t)=>{let n=Z.get(e.sourceId),r=Z.get(e.targetId);return!n||!r?null:(0,w.jsxs)(`linearGradient`,{id:`lg-${t}`,gradientUnits:`userSpaceOnUse`,x1:n.x,y1:n.y,x2:r.x,y2:r.y,children:[(0,w.jsx)(`stop`,{offset:`0`,stopColor:de[n.node.type]||`var(--galaxy-line-active)`}),(0,w.jsx)(`stop`,{offset:`1`,stopColor:de[r.node.type]||`var(--galaxy-line-active)`})]},e.id)})}),je.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=me(n,r,D(e.id));return(0,w.jsxs)(`g`,{children:[(0,w.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,w.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,w.jsx)(`animateMotion`,{dur:`2.8s`,repeatCount:`indefinite`,path:a})})]},e.id)})]}),(0,w.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,w.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,w.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,w.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] ${N===e.id?`active`:``} ${Q&&e.id!==Q&&!Ne.has(e.id)?`dimmed [.galaxy-stage.has-focus_.galaxy-star&]:opacity-[.32] [.galaxy-stage.has-focus_.galaxy-star&]:[filter:saturate(.4)_brightness(.82)]`:``}`,onClick:()=>P(e.id),onMouseEnter:()=>Ce(e.id),onMouseLeave:()=>Ce(``),style:{left:`${t/T.width*100}%`,top:`${n/T.height*100}%`,"--star-size":`${12+Math.round((e.importance||.5)*9)}px`,"--twinkle-delay":`${r}s`,"--enter-delay":`${i*55}ms`,"--depth":D(e.id)%100/100,"--g-star-color":de[e.type],"--g-star-glow":fe[e.type]},title:e.content,children:[N===e.id&&(0,w.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`}),N===e.id&&(0,w.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,w.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,w.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,w.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,w.jsx)(`circle`,{className:`star-heart [.galaxy-star_.star-core_&]:[fill:var(--g-star-core)]`,cx:`16`,cy:`16`,r:`3.2`})]}),(0,w.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,w.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:[`✦`,` `,s(`memory:memoryPage.visibleTotalMemories`,{visible:X.length,total:E.nodes.length})]}),!_e&&!X.length&&(0,w.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,w.jsx)(ie,{size:44}),(0,w.jsx)(`span`,{children:s(`memory:memoryPage.thisMemorySpaceIsStillUnlitClickInTheTopLeftToPlantTheFirstStar`)})]})]}),(0,w.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,w.jsxs)(b,{children:[(0,w.jsx)(y,{title:s(`memory:memoryPage.selectedMemory`)}),Y?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`h2`,{children:Y.title}),(0,w.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-muted)] text-[12px] leading-[1.55]`,children:Y.content}),(0,w.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,w.jsx)(`span`,{children:s(`memory:memoryPage.memoryType`)}),(0,w.jsxs)(`strong`,{className:`inline-flex items-center gap-[6px]`,children:[(0,w.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}`}),ue(Y.type,s)]})]}),(0,w.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,w.jsx)(`span`,{children:s(`memory:memoryPage.source`)}),(0,w.jsx)(`strong`,{children:Y.sourceType===`conversation_confirmed`?s(`memory:memoryPage.userConfirmedConversationCandidate`):Y.sourceType===`user_confirmed`?s(`memory:memoryPage.explicitUserRequest`):Y.sourceType===`agent`?s(`memory:memoryPage.createdByAgent`):s(`memory:memoryPage.addedManually`)})]}),(0,w.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,w.jsx)(`span`,{children:s(`memory:memoryPage.authority`)}),(0,w.jsxs)(`strong`,{children:[Y.authority??0,`/100`]})]}),Y.evidence&&(0,w.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,w.jsx)(`span`,{children:s(`memory:memoryPage.evidence`)}),(0,w.jsx)(`strong`,{children:Y.evidence})]}),(0,w.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,w.jsx)(`span`,{children:s(`memory:memoryPage.created`)}),(0,w.jsx)(`strong`,{children:O(Y.createdAt,S)})]}),(0,w.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,w.jsx)(`span`,{children:s(`memory:memoryPage.relatedMemories`)}),(0,w.jsx)(`strong`,{children:s(`memory:memoryPage.count`,{count:Me.size})})]}),(0,w.jsxs)(`div`,{className:`mt-[15px] flex gap-2 max-[650px]:flex-wrap`,children:[(0,w.jsxs)(a,{size:`lg`,onClick:()=>L(Y),children:[(0,w.jsx)(p,{size:14}),s(`memory:memoryPage.edit`)]}),(0,w.jsxs)(a,{variant:`destructive`,size:`lg`,onClick:()=>Fe(Y),children:[(0,w.jsx)(m,{size:14}),s(`memory:memoryPage.delete`)]})]})]}):(0,w.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-muted)] text-[12px] leading-[1.55]`,children:s(`memory:memoryPage.selectAMemoryInTheMapToViewItsDetails`)}),ye&&(0,w.jsx)(_,{children:ye})]}),(0,w.jsxs)(b,{children:[(0,w.jsx)(y,{title:s(`memory:memoryPage.relatedFiles`)}),Pe.map(e=>(0,w.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,w.jsx)(f,{size:15}),(0,w.jsxs)(`span`,{children:[(0,w.jsx)(`strong`,{children:e.title}),(0,w.jsx)(`small`,{children:e.sourcePath||e.cwd||s(`memory:memoryPage.localMemory`)})]}),(0,w.jsx)(`button`,{onClick:()=>P(e.id),children:s(`memory:memoryPage.view`)}),(0,w.jsx)(`button`,{onClick:()=>L(e),children:(0,w.jsx)(p,{size:13})}),(0,w.jsx)(`button`,{className:`danger`,onClick:()=>Fe(e),children:(0,w.jsx)(m,{size:13})})]},e.id)),!Pe.length&&(0,w.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-muted)] text-[12px] leading-[1.55]`,children:s(`memory:memoryPage.thisMemoryHasNoRelatedFiles`)})]})]}),I&&(0,w.jsx)(he,{spaces:E.spaces,node:I.id?I:null,initialSpaceId:I.spaceId||j,onClose:()=>L(null),onSaved:async t=>{L(null),e(t),await J(j)}}),R&&(0,w.jsx)(ge,{space:R.id?R:null,onClose:()=>z(null),onSaved:async(t,n)=>{z(null),M(t.id),e(n)}})]})}function he({spaces:e,node:t,initialSpaceId:n,onClose:i,onSaved:c}){let{t:l}=o(),[u,d]=(0,C.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}),[f,ee]=(0,C.useState)(!1),[m,te]=(0,C.useState)(``);return(0,w.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=>e.target===e.currentTarget&&i(),children:(0,w.jsxs)(`form`,{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=>{e.preventDefault(),ee(!0),te(``);try{await r(t?`/api/memory/nodes/${encodeURIComponent(t.id)}`:`/api/memory/nodes`,{method:t?`PATCH`:`POST`,body:JSON.stringify(u)}),await c(l(t?`memory:memoryPage.memoryUpdated`:`memory:memoryPage.memoryCreated`))}catch(e){te(A(e))}finally{ee(!1)}},children:[(0,w.jsxs)(v,{children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`h2`,{children:l(t?`memory:memoryPage.editMemory`:`memory:memoryPage.addMemory`)}),(0,w.jsx)(`p`,{children:l(`memory:memoryPage.lightUpIdeasWorthKeepingAsMemoriesYouCanReturnToLater`)})]}),(0,w.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":l(`memory:memoryPage.closeDialog`),onClick:i,children:(0,w.jsx)(h,{size:17})})]}),(0,w.jsxs)(S,{variant:`control`,children:[l(`memory:memoryPage.memorySpace`),(0,w.jsx)(s,{value:u.spaceId,onChange:e=>d({...u,spaceId:e.target.value}),children:e.map(e=>(0,w.jsx)(`option`,{value:e.id,children:k(e,l)},e.id))})]}),(0,w.jsxs)(S,{variant:`control`,children:[l(`memory:memoryPage.memoryTitle`),(0,w.jsx)(`input`,{value:u.title,onChange:e=>d({...u,title:e.target.value}),placeholder:l(`memory:memoryPage.forExampleProjectUIConstraints`)})]}),(0,w.jsxs)(S,{variant:`control`,children:[l(`memory:memoryPage.memoryContent`),(0,w.jsx)(`textarea`,{value:u.content,onChange:e=>d({...u,content:e.target.value}),placeholder:l(`memory:memoryPage.recordStandaloneReusableMemoryForFutureChats`)})]}),(0,w.jsxs)(`div`,{className:`form-grid grid gap-[9px]`,children:[(0,w.jsxs)(S,{variant:`control`,children:[l(`memory:memoryPage.memoryType`),(0,w.jsx)(s,{value:u.type,onChange:e=>d({...u,type:e.target.value}),children:le.map(e=>(0,w.jsx)(`option`,{value:e,children:ue(e,l)},e))})]}),(0,w.jsxs)(S,{variant:`control`,children:[l(`memory:memoryPage.importance`),(0,w.jsxs)(s,{value:u.importance,onChange:e=>d({...u,importance:Number(e.target.value)}),children:[(0,w.jsx)(`option`,{value:`0.3`,children:l(`memory:memoryPage.normal`)}),(0,w.jsx)(`option`,{value:`0.5`,children:l(`memory:memoryPage.common`)}),(0,w.jsx)(`option`,{value:`0.8`,children:l(`memory:memoryPage.important`)}),(0,w.jsx)(`option`,{value:`1`,children:l(`memory:memoryPage.strict`)})]})]})]}),(0,w.jsxs)(S,{variant:`control`,children:[l(`memory:memoryPage.relatedFilePath`),(0,w.jsx)(`input`,{value:u.sourcePath,onChange:e=>d({...u,sourcePath:e.target.value}),placeholder:l(`memory:memoryPage.optionalForExampleECodeProjectREADMEMd`)})]}),m&&(0,w.jsx)(_,{children:m}),(0,w.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,w.jsx)(a,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:i,children:l(`memory:memoryPage.cancel`)}),(0,w.jsxs)(a,{size:`lg`,disabled:f||!u.spaceId||!u.title.trim()||!u.content.trim(),children:[f?(0,w.jsx)(g,{className:`animate-spin`,size:14}):(0,w.jsx)(p,{size:14}),l(f?`memory:memoryPage.saving`:`memory:memoryPage.save`)]})]})]})})}function ge({space:e,onClose:t,onSaved:n}){let{t:i}=o(),[s,c]=(0,C.useState)(e?.name||``),[l,u]=(0,C.useState)(!1),[d,f]=(0,C.useState)(``);return(0,w.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=>e.target===e.currentTarget&&t(),children:(0,w.jsxs)(`form`,{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=>{t.preventDefault(),u(!0),f(``);try{await n(await r(e?`/api/memory/spaces/${encodeURIComponent(e.id)}`:`/api/memory/spaces`,{method:e?`PATCH`:`POST`,body:JSON.stringify({name:s,kind:`custom`})}),i(e?`memory:memoryPage.memorySpaceRenamed`:`memory:memoryPage.memorySpaceCreated`))}catch(e){f(A(e))}finally{u(!1)}},children:[(0,w.jsxs)(v,{children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`h2`,{children:i(e?`memory:memoryPage.renameMemorySpace`:`memory:memoryPage.newMemorySpace`)}),(0,w.jsx)(`p`,{children:i(`memory:memoryPage.giveEachThemeOrProjectItsOwnMemorySpaceSoDurableMemoriesHaveSomewhereToBelong`)})]}),(0,w.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":i(`memory:memoryPage.closeDialog`),onClick:t,children:(0,w.jsx)(h,{size:17})})]}),(0,w.jsxs)(S,{variant:`control`,children:[i(`memory:memoryPage.memorySpaceName`),(0,w.jsx)(`input`,{value:s,onChange:e=>c(e.target.value),placeholder:i(`memory:memoryPage.forExampleProductDesignGuidelines`),autoFocus:!0})]}),d&&(0,w.jsx)(_,{children:d}),(0,w.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,w.jsx)(a,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:t,children:i(`memory:memoryPage.cancel`)}),(0,w.jsxs)(a,{size:`lg`,disabled:l||!s.trim(),children:[l?(0,w.jsx)(g,{className:`animate-spin`,size:14}):(0,w.jsx)(x,{size:14}),i(l?`memory:memoryPage.saving`:`memory:memoryPage.save`)]})]})]})})}export{j as MemoryPage};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./api-B6CluO7V.js";import{n as i,t as a}from"./button-XhIEgIsg.js";import{t as o}from"./use-i18n-jYw5s_Yn.js";import{t as s}from"./AppSelect-kDqZkETY.js";import{i as c,n as l,t as u}from"./tooltip-DfGEs0yi.js";import{t as d}from"./check-jIXqkGKr.js";import{t as f}from"./file-code-corner-BKkXAMHR.js";import{t as ee}from"./loader-circle-72TYCcVQ.js";import{t as p}from"./pencil-CxA1IK0x.js";import{t as m}from"./trash-2-mhzzyC6i.js";import{t as h}from"./x-bw26XDZM.js";import{Et as te,bt as g,i as _,jt as ne,n as v,o as y,t as b,xt as x}from"./index-Bd5A8V1V.js";import{t as S}from"./field-t72VAR-1.js";import{t as re}from"./use-animation-visibility-C-GENY2Z.js";import{t as ie}from"./StarOrbit-BlI6MhVr.js";import{t as ae}from"./usePagePrimaryAction-Bw0OFTDZ.js";var oe=i(`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`}]]),se=i(`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`}]]),C=e(t(),1),w=n(),T={width:600,height:420,cx:300,cy:206},E=24,ce=Math.PI*(3-Math.sqrt(5)),le=[`concept`,`file`,`risk`,`preference`,`decision`,`fact`,`task`];function ue(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 de={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)`},fe={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 D(e){let t=0;for(let n=0;n<e.length;n+=1)t=t*31+e.charCodeAt(n)>>>0;return t}function pe(e,t){let n=e.slice(0,E);if(!n.length)return[];if(n.length===1)return[{node:n[0],x:T.cx,y:T.cy,twinkle:0}];let r=D(t||`galaxy`)%628/100,i=172/Math.sqrt(n.length);return n.map((e,t)=>{let n=D(e.id),a=t*ce+r,o=i*Math.sqrt(t+.55)+n%11-5;return{node:e,x:T.cx+Math.cos(a)*o*1.38,y:T.cy+Math.sin(a)*o*.74,twinkle:n%50/10}})}function O(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 k(e,t=e=>e){return e?.kind===`global`?t(`memory:memoryPage.globalMemorySpace`):e?.name||``}function me(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 A(e){return e instanceof Error?e.message:String(e)}function j({notify:e,query:t=``,registerPrimaryAction:n,requestConfirm:i}){let{t:s,language:S}=o(),[E,ce]=(0,C.useState)({spaces:[],nodes:[],links:[],candidates:[],selectedSpaceId:``}),[j,M]=(0,C.useState)(``),[N,P]=(0,C.useState)(``),[_e,ve]=(0,C.useState)(!0),[ye,F]=(0,C.useState)(``),[be,xe]=(0,C.useState)(1),[I,L]=(0,C.useState)(null),[R,z]=(0,C.useState)(null),[Se,Ce]=(0,C.useState)(``),[B,V]=(0,C.useState)(``),[H,U]=(0,C.useState)(null),[W,we]=(0,C.useState)(!1),G=(0,C.useRef)(null),K=(0,C.useRef)(0),{ref:Te,playing:q}=re(),Ee=(0,C.useCallback)(e=>{G.current=e,Te(e)},[Te]),De=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]!`;ae(n,()=>L({spaceId:j||E.selectedSpaceId}));let Oe=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))})},ke=()=>{cancelAnimationFrame(K.current),G.current?.style.setProperty(`--px`,`0`),G.current?.style.setProperty(`--py`,`0`)};(0,C.useEffect)(()=>{q||(cancelAnimationFrame(K.current),K.current=0)},[q]),(0,C.useEffect)(()=>{let e=G.current?.querySelector(`svg`);e&&(q?e.unpauseAnimations():e.pauseAnimations())},[q]);let J=(0,C.useCallback)(async(e=``)=>{ve(!0),F(``);try{let n=new URLSearchParams;e&&n.set(`spaceId`,e),t.trim()&&n.set(`query`,t.trim());let i=await r(`/api/memory?${n}`);ce(i),M(i.selectedSpaceId||``),P(e=>i.nodes.some(t=>t.id===e)?e:i.nodes[0]?.id||``)}catch(e){F(A(e))}finally{ve(!1)}},[t]);(0,C.useEffect)(()=>{J(j)},[J,j]),(0,C.useEffect)(()=>{let e=!0;return r(`/api/settings/memory`).then(t=>e&&U(t.autoApproveConfidence)).catch(()=>e&&U(60)),()=>{e=!1}},[]);let Ae=async()=>{let t=H;if(t===null||W)return;let n=Math.min(100,Math.max(0,Math.round(t)));n!==t&&U(n),we(!0);try{await r(`/api/settings/memory`,{method:`PATCH`,body:{autoApproveConfidence:n}}),e(s(`memory:memoryPage.autoApproveSaved`))}catch(e){F(A(e))}finally{we(!1)}},Y=E.nodes.find(e=>e.id===N)||null,X=(0,C.useMemo)(()=>pe(E.nodes,j),[E.nodes,j]),Z=(0,C.useMemo)(()=>new Map(X.map(e=>[e.node.id,e])),[X]),je=(0,C.useMemo)(()=>{let e=new Set(X.map(e=>e.node.id));return E.links.filter(t=>e.has(t.sourceId)&&e.has(t.targetId))},[X,E.links]),Me=new Set(E.links.flatMap(e=>e.sourceId===N?[e.targetId]:e.targetId===N?[e.sourceId]:[])),Q=Se||N,Ne=new Set(E.links.flatMap(e=>e.sourceId===Q?[e.targetId]:e.targetId===Q?[e.sourceId]:[])),Pe=E.nodes.filter(e=>e.type===`file`&&(Me.has(e.id)||e.id===N)),$=E.spaces.find(e=>e.id===j),Fe=async t=>{if(await i({title:s(`memory:memoryPage.deleteMemory`),message:s(`memory:memoryPage.deleteMemoryName`,{name:t.title}),confirmLabel:s(`memory:memoryPage.delete`)}))try{await r(`/api/memory/nodes/${encodeURIComponent(t.id)}`,{method:`DELETE`}),e(s(`memory:memoryPage.memoryDeleted`)),await J(j)}catch(e){F(A(e))}},Ie=async(t,n)=>{if(!B){V(t.id),F(``);try{await r(`/api/memory/candidates/${encodeURIComponent(t.id)}/${n}`,{method:`POST`,body:`{}`}),e(s(n===`accept`?`memory:memoryPage.memoryCandidateConfirmed`:`memory:memoryPage.memoryCandidateIgnored`)),await J(j)}catch(e){F(A(e))}finally{V(``)}}};return(0,w.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,w.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-[12px]`,children:[(0,w.jsxs)(b,{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,w.jsxs)(v,{children:[(0,w.jsx)(y,{title:s(`memory:memoryPage.memorySpaces`)}),(0,w.jsx)(a,{variant:`ghost`,size:`icon`,title:s(`memory:memoryPage.newMemorySpace`),onClick:()=>z({}),children:(0,w.jsx)(x,{size:13})})]}),E.spaces.map(e=>(0,w.jsxs)(`button`,{className:e.id===j?`active`:``,onClick:()=>{M(e.id),P(``)},children:[(0,w.jsx)(`span`,{children:k(e,s)}),(0,w.jsx)(`small`,{children:s(`memory:memoryPage.countMemories`,{count:e.nodeCount})}),(0,w.jsx)(ne,{size:13})]},e.id)),$&&(0,w.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,w.jsxs)(`button`,{onClick:()=>z($),children:[(0,w.jsx)(p,{size:12}),s(`memory:memoryPage.rename`)]}),$.kind!==`global`&&(0,w.jsxs)(`button`,{className:`danger`,onClick:async()=>{if($&&await i({title:s(`memory:memoryPage.deleteMemorySpace`),message:s(`memory:memoryPage.deleteMemorySpaceNameAndAllMemoriesInIt`,{name:k($,s)}),confirmLabel:s(`memory:memoryPage.delete`)}))try{await r(`/api/memory/spaces/${encodeURIComponent($.id)}`,{method:`DELETE`}),M(``),P(``),e(s(`memory:memoryPage.memorySpaceDeleted`))}catch(e){F(A(e))}},children:[(0,w.jsx)(m,{size:12}),s(`memory:memoryPage.delete`)]})]})]}),(0,w.jsxs)(b,{className:`memory-legend-panel`,children:[(0,w.jsx)(y,{title:s(`memory:memoryPage.memoryMapTypes`)}),(0,w.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:le.map(e=>(0,w.jsxs)(`span`,{children:[(0,w.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}`}),ue(e,s)]},e))})]}),(0,w.jsxs)(b,{className:`min-h-0`,children:[(0,w.jsxs)(v,{children:[(0,w.jsx)(y,{title:`${s(`memory:memoryPage.memoryDrafts`)} · ${E.candidates?.length||0}`}),!!E.candidates?.length&&(0,w.jsxs)(a,{variant:`outline`,className:`bg-surface-subtle`,disabled:!!B,onClick:async()=>{if(!(B||!E.candidates?.length)){V(`__all__`),F(``);try{let t=await r(`/api/memory/candidates/reject-all`,{method:`POST`,body:`{}`});e(s(`memory:memoryPage.ignoredCountMemoryDrafts`,{count:t.rejected||0})),await J(j)}catch(e){F(A(e))}finally{V(``)}}},children:[(0,w.jsx)(h,{size:12}),s(`memory:memoryPage.ignoreAll`)]})]}),H!==null&&(0,w.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,w.jsxs)(`div`,{className:`flex items-center justify-center gap-1`,children:[(0,w.jsx)(`span`,{children:s(`memory:memoryPage.autoApproveThreshold`)}),(0,w.jsxs)(u,{children:[(0,w.jsx)(c,{asChild:!0,children:(0,w.jsx)(te,{size:16})}),(0,w.jsx)(l,{align:`center`,side:`top`,children:s(`memory:memoryPage.autoApproveThresholdHint`)})]})]}),(0,w.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,w.jsx)(`input`,{type:`number`,min:0,max:100,step:5,value:H,disabled:W,"aria-label":s(`memory:memoryPage.autoApproveThreshold`),onChange:e=>U(e.target.value?Number(e.target.value):0),onBlur:()=>void Ae(),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),Ae())}}),(0,w.jsx)(`em`,{children:`%`}),W&&(0,w.jsx)(ee,{className:`animate-spin`,size:12})]})]}),(0,w.jsxs)(`div`,{className:`flex max-h-[300px] flex-col gap-[8px] overflow-auto mt-2`,children:[(E.candidates||[]).map(e=>(0,w.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,w.jsx)(`strong`,{children:e.title}),(0,w.jsxs)(`small`,{children:[k(E.spaces.find(t=>t.id===e.spaceId),s),` · `,e.sourceType===`agent`?s(`memory:memoryPage.agentProposed`):s(`memory:memoryPage.conversationExtracted`),` · `,s(`memory:memoryPage.confidencePercent`,{value:Math.round((e.confidence||0)*100)})]}),(0,w.jsx)(`span`,{children:e.content}),e.topicKey&&(0,w.jsxs)(`small`,{children:[s(`memory:memoryPage.topic`),`:`,e.topicKey]}),e.evidence&&(0,w.jsxs)(`small`,{children:[s(`memory:memoryPage.evidence`),`:`,e.evidence]}),(0,w.jsxs)(`small`,{children:[s(`memory:memoryPage.created`),`:`,O(e.createdAt,S),e.expiresAt?` · ${s(`memory:memoryPage.expires`)}:${O(e.expiresAt,S)}`:``]}),(0,w.jsxs)(`div`,{children:[(0,w.jsxs)(`button`,{disabled:!!B,title:s(`memory:memoryPage.confirm`),onClick:()=>Ie(e,`accept`),children:[(0,w.jsx)(d,{size:12}),s(`memory:memoryPage.confirm`)]}),(0,w.jsxs)(`button`,{disabled:!!B,className:`danger`,title:s(`memory:memoryPage.ignore`),onClick:()=>Ie(e,`reject`),children:[(0,w.jsx)(h,{size:12}),s(`memory:memoryPage.ignore`)]})]})]},e.id)),!E.candidates?.length&&(0,w.jsx)(`small`,{children:s(`memory:memoryPage.thereAreNoPendingMemoryCandidates`)})]})]})]}),(0,w.jsxs)(b,{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 ${De}`,onPointerMove:Oe,onPointerLeave:ke,children:[(0,w.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,w.jsx)(`button`,{title:s(`memory:memoryPage.addMemory`),onClick:()=>L({spaceId:j}),children:(0,w.jsx)(x,{size:14})}),(0,w.jsx)(`button`,{title:s(`memory:memoryPage.zoomIn`),onClick:()=>xe(e=>Math.min(1.6,Number((e+.15).toFixed(2)))),children:(0,w.jsx)(se,{size:13})}),(0,w.jsx)(`button`,{title:s(`memory:memoryPage.zoomOut`),onClick:()=>xe(e=>Math.max(.7,Number((e-.15).toFixed(2)))),children:(0,w.jsx)(oe,{size:13})}),(0,w.jsx)(`button`,{title:s(`memory:memoryPage.refresh`),onClick:()=>J(j),children:(0,w.jsx)(g,{className:_e?`animate-spin`:``,size:13})})]}),(0,w.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:Ee,style:{transform:`scale(${be})`},children:[(0,w.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,w.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,w.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,w.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,w.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,w.jsxs)(`svg`,{viewBox:`0 0 600 420`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,w.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,w.jsx)(`ellipse`,{cx:`300`,cy:`206`,rx:`205`,ry:`122`,transform:`rotate(-8 300 206)`}),(0,w.jsx)(`ellipse`,{cx:`300`,cy:`206`,rx:`154`,ry:`88`,transform:`rotate(18 300 206)`}),(0,w.jsx)(`ellipse`,{cx:`300`,cy:`206`,rx:`95`,ry:`54`,transform:`rotate(-24 300 206)`})]}),(0,w.jsx)(`defs`,{children:je.map((e,t)=>{let n=Z.get(e.sourceId),r=Z.get(e.targetId);return!n||!r?null:(0,w.jsxs)(`linearGradient`,{id:`lg-${t}`,gradientUnits:`userSpaceOnUse`,x1:n.x,y1:n.y,x2:r.x,y2:r.y,children:[(0,w.jsx)(`stop`,{offset:`0`,stopColor:de[n.node.type]||`var(--galaxy-line-active)`}),(0,w.jsx)(`stop`,{offset:`1`,stopColor:de[r.node.type]||`var(--galaxy-line-active)`})]},e.id)})}),je.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=me(n,r,D(e.id));return(0,w.jsxs)(`g`,{children:[(0,w.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,w.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,w.jsx)(`animateMotion`,{dur:`2.8s`,repeatCount:`indefinite`,path:a})})]},e.id)})]}),(0,w.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,w.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,w.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,w.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] ${N===e.id?`active`:``} ${Q&&e.id!==Q&&!Ne.has(e.id)?`dimmed [.galaxy-stage.has-focus_.galaxy-star&]:opacity-[.32] [.galaxy-stage.has-focus_.galaxy-star&]:[filter:saturate(.4)_brightness(.82)]`:``}`,onClick:()=>P(e.id),onMouseEnter:()=>Ce(e.id),onMouseLeave:()=>Ce(``),style:{left:`${t/T.width*100}%`,top:`${n/T.height*100}%`,"--star-size":`${12+Math.round((e.importance||.5)*9)}px`,"--twinkle-delay":`${r}s`,"--enter-delay":`${i*55}ms`,"--depth":D(e.id)%100/100,"--g-star-color":de[e.type],"--g-star-glow":fe[e.type]},title:e.content,children:[N===e.id&&(0,w.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`}),N===e.id&&(0,w.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,w.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,w.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,w.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,w.jsx)(`circle`,{className:`star-heart [.galaxy-star_.star-core_&]:[fill:var(--g-star-core)]`,cx:`16`,cy:`16`,r:`3.2`})]}),(0,w.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,w.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:[`✦`,` `,s(`memory:memoryPage.visibleTotalMemories`,{visible:X.length,total:E.nodes.length})]}),!_e&&!X.length&&(0,w.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,w.jsx)(ie,{size:44}),(0,w.jsx)(`span`,{children:s(`memory:memoryPage.thisMemorySpaceIsStillUnlitClickInTheTopLeftToPlantTheFirstStar`)})]})]}),(0,w.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,w.jsxs)(b,{children:[(0,w.jsx)(y,{title:s(`memory:memoryPage.selectedMemory`)}),Y?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`h2`,{children:Y.title}),(0,w.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-muted)] text-[12px] leading-[1.55]`,children:Y.content}),(0,w.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,w.jsx)(`span`,{children:s(`memory:memoryPage.memoryType`)}),(0,w.jsxs)(`strong`,{className:`inline-flex items-center gap-[6px]`,children:[(0,w.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}`}),ue(Y.type,s)]})]}),(0,w.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,w.jsx)(`span`,{children:s(`memory:memoryPage.source`)}),(0,w.jsx)(`strong`,{children:Y.sourceType===`conversation_confirmed`?s(`memory:memoryPage.userConfirmedConversationCandidate`):Y.sourceType===`user_confirmed`?s(`memory:memoryPage.explicitUserRequest`):Y.sourceType===`agent`?s(`memory:memoryPage.createdByAgent`):s(`memory:memoryPage.addedManually`)})]}),(0,w.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,w.jsx)(`span`,{children:s(`memory:memoryPage.authority`)}),(0,w.jsxs)(`strong`,{children:[Y.authority??0,`/100`]})]}),Y.evidence&&(0,w.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,w.jsx)(`span`,{children:s(`memory:memoryPage.evidence`)}),(0,w.jsx)(`strong`,{children:Y.evidence})]}),(0,w.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,w.jsx)(`span`,{children:s(`memory:memoryPage.created`)}),(0,w.jsx)(`strong`,{children:O(Y.createdAt,S)})]}),(0,w.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,w.jsx)(`span`,{children:s(`memory:memoryPage.relatedMemories`)}),(0,w.jsx)(`strong`,{children:s(`memory:memoryPage.count`,{count:Me.size})})]}),(0,w.jsxs)(`div`,{className:`mt-[15px] flex gap-2 max-[650px]:flex-wrap`,children:[(0,w.jsxs)(a,{size:`lg`,onClick:()=>L(Y),children:[(0,w.jsx)(p,{size:14}),s(`memory:memoryPage.edit`)]}),(0,w.jsxs)(a,{variant:`destructive`,size:`lg`,onClick:()=>Fe(Y),children:[(0,w.jsx)(m,{size:14}),s(`memory:memoryPage.delete`)]})]})]}):(0,w.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-muted)] text-[12px] leading-[1.55]`,children:s(`memory:memoryPage.selectAMemoryInTheMapToViewItsDetails`)}),ye&&(0,w.jsx)(_,{children:ye})]}),(0,w.jsxs)(b,{children:[(0,w.jsx)(y,{title:s(`memory:memoryPage.relatedFiles`)}),Pe.map(e=>(0,w.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,w.jsx)(f,{size:15}),(0,w.jsxs)(`span`,{children:[(0,w.jsx)(`strong`,{children:e.title}),(0,w.jsx)(`small`,{children:e.sourcePath||e.cwd||s(`memory:memoryPage.localMemory`)})]}),(0,w.jsx)(`button`,{onClick:()=>P(e.id),children:s(`memory:memoryPage.view`)}),(0,w.jsx)(`button`,{onClick:()=>L(e),children:(0,w.jsx)(p,{size:13})}),(0,w.jsx)(`button`,{className:`danger`,onClick:()=>Fe(e),children:(0,w.jsx)(m,{size:13})})]},e.id)),!Pe.length&&(0,w.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-muted)] text-[12px] leading-[1.55]`,children:s(`memory:memoryPage.thisMemoryHasNoRelatedFiles`)})]})]}),I&&(0,w.jsx)(he,{spaces:E.spaces,node:I.id?I:null,initialSpaceId:I.spaceId||j,onClose:()=>L(null),onSaved:async t=>{L(null),e(t),await J(j)}}),R&&(0,w.jsx)(ge,{space:R.id?R:null,onClose:()=>z(null),onSaved:async(t,n)=>{z(null),M(t.id),e(n)}})]})}function he({spaces:e,node:t,initialSpaceId:n,onClose:i,onSaved:c}){let{t:l}=o(),[u,d]=(0,C.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}),[f,ee]=(0,C.useState)(!1),[m,te]=(0,C.useState)(``);return(0,w.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=>e.target===e.currentTarget&&i(),children:(0,w.jsxs)(`form`,{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=>{e.preventDefault(),ee(!0),te(``);try{await r(t?`/api/memory/nodes/${encodeURIComponent(t.id)}`:`/api/memory/nodes`,{method:t?`PATCH`:`POST`,body:JSON.stringify(u)}),await c(l(t?`memory:memoryPage.memoryUpdated`:`memory:memoryPage.memoryCreated`))}catch(e){te(A(e))}finally{ee(!1)}},children:[(0,w.jsxs)(v,{children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`h2`,{children:l(t?`memory:memoryPage.editMemory`:`memory:memoryPage.addMemory`)}),(0,w.jsx)(`p`,{children:l(`memory:memoryPage.lightUpIdeasWorthKeepingAsMemoriesYouCanReturnToLater`)})]}),(0,w.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":l(`memory:memoryPage.closeDialog`),onClick:i,children:(0,w.jsx)(h,{size:17})})]}),(0,w.jsxs)(S,{variant:`control`,children:[l(`memory:memoryPage.memorySpace`),(0,w.jsx)(s,{value:u.spaceId,onChange:e=>d({...u,spaceId:e.target.value}),children:e.map(e=>(0,w.jsx)(`option`,{value:e.id,children:k(e,l)},e.id))})]}),(0,w.jsxs)(S,{variant:`control`,children:[l(`memory:memoryPage.memoryTitle`),(0,w.jsx)(`input`,{value:u.title,onChange:e=>d({...u,title:e.target.value}),placeholder:l(`memory:memoryPage.forExampleProjectUIConstraints`)})]}),(0,w.jsxs)(S,{variant:`control`,children:[l(`memory:memoryPage.memoryContent`),(0,w.jsx)(`textarea`,{value:u.content,onChange:e=>d({...u,content:e.target.value}),placeholder:l(`memory:memoryPage.recordStandaloneReusableMemoryForFutureChats`)})]}),(0,w.jsxs)(`div`,{className:`form-grid grid gap-[9px]`,children:[(0,w.jsxs)(S,{variant:`control`,children:[l(`memory:memoryPage.memoryType`),(0,w.jsx)(s,{value:u.type,onChange:e=>d({...u,type:e.target.value}),children:le.map(e=>(0,w.jsx)(`option`,{value:e,children:ue(e,l)},e))})]}),(0,w.jsxs)(S,{variant:`control`,children:[l(`memory:memoryPage.importance`),(0,w.jsxs)(s,{value:u.importance,onChange:e=>d({...u,importance:Number(e.target.value)}),children:[(0,w.jsx)(`option`,{value:`0.3`,children:l(`memory:memoryPage.normal`)}),(0,w.jsx)(`option`,{value:`0.5`,children:l(`memory:memoryPage.common`)}),(0,w.jsx)(`option`,{value:`0.8`,children:l(`memory:memoryPage.important`)}),(0,w.jsx)(`option`,{value:`1`,children:l(`memory:memoryPage.strict`)})]})]})]}),(0,w.jsxs)(S,{variant:`control`,children:[l(`memory:memoryPage.relatedFilePath`),(0,w.jsx)(`input`,{value:u.sourcePath,onChange:e=>d({...u,sourcePath:e.target.value}),placeholder:l(`memory:memoryPage.optionalForExampleECodeProjectREADMEMd`)})]}),m&&(0,w.jsx)(_,{children:m}),(0,w.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,w.jsx)(a,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:i,children:l(`memory:memoryPage.cancel`)}),(0,w.jsxs)(a,{size:`lg`,disabled:f||!u.spaceId||!u.title.trim()||!u.content.trim(),children:[f?(0,w.jsx)(g,{className:`animate-spin`,size:14}):(0,w.jsx)(p,{size:14}),l(f?`memory:memoryPage.saving`:`memory:memoryPage.save`)]})]})]})})}function ge({space:e,onClose:t,onSaved:n}){let{t:i}=o(),[s,c]=(0,C.useState)(e?.name||``),[l,u]=(0,C.useState)(!1),[d,f]=(0,C.useState)(``);return(0,w.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=>e.target===e.currentTarget&&t(),children:(0,w.jsxs)(`form`,{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=>{t.preventDefault(),u(!0),f(``);try{await n(await r(e?`/api/memory/spaces/${encodeURIComponent(e.id)}`:`/api/memory/spaces`,{method:e?`PATCH`:`POST`,body:JSON.stringify({name:s,kind:`custom`})}),i(e?`memory:memoryPage.memorySpaceRenamed`:`memory:memoryPage.memorySpaceCreated`))}catch(e){f(A(e))}finally{u(!1)}},children:[(0,w.jsxs)(v,{children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`h2`,{children:i(e?`memory:memoryPage.renameMemorySpace`:`memory:memoryPage.newMemorySpace`)}),(0,w.jsx)(`p`,{children:i(`memory:memoryPage.giveEachThemeOrProjectItsOwnMemorySpaceSoDurableMemoriesHaveSomewhereToBelong`)})]}),(0,w.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":i(`memory:memoryPage.closeDialog`),onClick:t,children:(0,w.jsx)(h,{size:17})})]}),(0,w.jsxs)(S,{variant:`control`,children:[i(`memory:memoryPage.memorySpaceName`),(0,w.jsx)(`input`,{value:s,onChange:e=>c(e.target.value),placeholder:i(`memory:memoryPage.forExampleProductDesignGuidelines`),autoFocus:!0})]}),d&&(0,w.jsx)(_,{children:d}),(0,w.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,w.jsx)(a,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:t,children:i(`memory:memoryPage.cancel`)}),(0,w.jsxs)(a,{size:`lg`,disabled:l||!s.trim(),children:[l?(0,w.jsx)(g,{className:`animate-spin`,size:14}):(0,w.jsx)(x,{size:14}),i(l?`memory:memoryPage.saving`:`memory:memoryPage.save`)]})]})]})})}export{j as MemoryPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{n as r,t as i}from"./button-XhIEgIsg.js";import{t as a}from"./use-i18n-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{n as r,t as i}from"./button-XhIEgIsg.js";import{t as a}from"./use-i18n-jYw5s_Yn.js";import{t as o}from"./utils-C8uzG5AZ.js";import{t as s}from"./link-2-CaZP6GWi.js";import{a as c,n as l,o as u,r as d,s as f}from"./config-search-CdRsMMUS.js";import{t as p}from"./play-N6mg4pFl.js";import{t as m}from"./save-CVL5N6eP.js";import{t as h}from"./square-terminal-DpCa0gzM.js";import{t as g}from"./square-BZ3Bi3O-.js";import{t as _}from"./input-D1QFzNMx.js";import{L as v,vt as y,xt as b,yt as x}from"./index-Bd5A8V1V.js";import{o as S}from"./shortcuts-BIzphxhz.js";var C=r(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),w=r(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),T=e(t(),1),E=n();function D({query:e,onQueryChange:t,onSelect:n,inputRef:r}){let{t:i,language:s}=a(),[c,u]=(0,T.useState)(!1),[f,p]=(0,T.useState)(0),m=(0,T.useRef)(null),h=(0,T.useMemo)(()=>d(e,s),[s,e]);(0,T.useEffect)(()=>p(0),[e]),(0,T.useEffect)(()=>{if(!c)return;let e=e=>{m.current&&!m.current.contains(e.target)&&u(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[c]);let g=e=>{u(!1),t(``),l(e.entry.card,e.entry.section),n(e.entry.section)},v=c&&e.trim().length>0;return(0,E.jsxs)(`div`,{ref:m,className:`relative w-[min(250px,24vw)] max-[900px]:w-[190px] max-[650px]:col-start-1 max-[650px]:row-start-1 max-[650px]:w-full max-[650px]:min-w-0`,children:[(0,E.jsx)(y,{size:15,className:`pointer-events-none absolute top-1/2 left-2.5 -translate-y-1/2 text-[var(--text-muted)]`}),(0,E.jsx)(_,{ref:r,value:e,title:i(`navigation:pageHeader.search`),"aria-label":i(`navigation:pageHeader.search`),className:`h-[34px] pl-8 text-[13px] in-data-[density=compact]:h-[30px]`,placeholder:i(`config:configSearch.placeholder`),onChange:e=>{t(e.target.value),u(!0)},onFocus:()=>{e.trim()&&u(!0)},onKeyDown:e=>{e.key===`Escape`?(e.stopPropagation(),t(``),u(!1)):e.key===`ArrowDown`?(e.preventDefault(),p(e=>Math.min(e+1,h.length-1))):e.key===`ArrowUp`?(e.preventDefault(),p(e=>Math.max(e-1,0))):e.key===`Enter`&&h[f]&&(e.preventDefault(),g(h[f]))}}),v&&(0,E.jsx)(`div`,{className:`absolute top-full left-0 z-50 mt-1.5 w-[max(100%,280px)] overflow-hidden rounded-[var(--r-md)] border border-[var(--stroke)] bg-[var(--solid)] shadow-[var(--sh-floating)]`,children:h.length===0?(0,E.jsx)(`p`,{className:`px-3 py-3 text-[12px] text-[var(--text-muted)]`,children:i(`config:configSearch.noResults`)}):(0,E.jsx)(`ul`,{className:`max-h-[280px] overflow-auto py-1`,children:h.map((e,t)=>(0,E.jsx)(`li`,{children:(0,E.jsxs)(`button`,{type:`button`,className:o(`flex w-full flex-col gap-0.5 px-3 py-2 text-left`,t===f?`bg-[var(--accent-soft)]`:`hover:bg-[var(--surface-subtle)]`),onMouseEnter:()=>p(t),onClick:()=>g(e),children:[(0,E.jsx)(`span`,{className:`text-[13px] text-[var(--text)]`,children:e.title}),(0,E.jsx)(`span`,{className:`text-[11px] text-[var(--text-muted)]`,children:e.sectionTitle})]})},e.entry.id))})})]})}var O={system:f,scheduled:C,light:c,dark:u};function k({meta:e,page:t,query:n,setQuery:r,configSection:c,onMenu:l,onPrimary:u,onConfigSearchSelect:d,theme:f,onCycleTheme:_,searchInputRef:C,workflowActions:T,desktopPlatform:k,mobileApp:A=!1,terminalOpen:j,onToggleTerminal:M}){let{t:N}=a(),P=S(`primaryAction`),F=S(`toggleTerminal`),I={chatHistory:[N(`navigation:pageHeader.newChat`),b],assets:[N(`navigation:pageHeader.addLink`),s],channels:[N(`navigation:pageHeader.connectChannel`),b],schedules:[N(`navigation:pageHeader.newTask`),b],config:[N(`navigation:pageHeader.addProvider`),b],plugins:[N(`navigation:pageHeader.savePolicy`),m],memory:[N(`navigation:pageHeader.addMemory`),b],mcp:[N(`navigation:pageHeader.addService`),b],skills:[N(`navigation:pageHeader.installSkill`),b],workflows:[N(`navigation:pageHeader.newWorkflow`),b],workflowCreate:[N(`navigation:pageHeader.publish`),x]},L=t===`config`&&c!==`models`?null:t===`chat`?A?[N(`navigation:pageHeader.newChat`),b]:null:I[t],R=O[f],z=N(f===`light`?`navigation:pageHeader.light`:f===`dark`?`navigation:pageHeader.dark`:f===`scheduled`?`navigation:pageHeader.scheduled`:`navigation:pageHeader.system`),B=!!k;return(0,E.jsxs)(`header`,{className:o(`relative z-[2] flex min-h-14 flex-none items-center gap-3.5 px-6 pt-[9px] pb-[7px] in-data-[density=compact]:min-h-[50px] in-data-[density=compact]:pt-1.5 in-data-[density=compact]:pb-[5px] max-[650px]:min-h-[126px] max-[650px]:flex-wrap max-[650px]:content-center max-[650px]:gap-2.5 max-[650px]:px-4 max-[650px]:py-2.5`,t===`chat`&&`min-h-[52px] px-5 pt-2 pb-1.5 in-data-[density=compact]:min-h-[46px] max-[650px]:!min-h-0 max-[650px]:px-4 max-[650px]:pt-3.5 max-[650px]:pb-2.5`,B&&`[-webkit-app-region:drag]`,k===`darwin`&&`pl-[74px]`),children:[(0,E.jsx)(v,{className:o(`hidden size-[34px] place-items-center rounded-[var(--r-sm)] border border-[var(--stroke)] bg-[var(--solid)] max-[900px]:grid`,B&&`[-webkit-app-region:no-drag]`),onClick:l,children:(0,E.jsx)(w,{size:19})}),(0,E.jsxs)(`div`,{className:`mr-auto flex min-w-[170px] items-baseline gap-2.5 max-[650px]:block max-[650px]:min-w-0 max-[650px]:flex-1`,children:[(0,E.jsx)(`h1`,{className:`text-base leading-[1.15] font-bold tracking-[0] max-[650px]:text-[21px]`,children:e[0]}),(0,E.jsx)(`p`,{className:o(`mt-0 min-w-0 overflow-hidden text-[12px] text-ellipsis whitespace-nowrap text-[var(--text-muted)] max-[650px]:mt-[3px] max-[650px]:whitespace-normal`,t===`chat`&&`max-[650px]:hidden`),children:e[1]})]}),(0,E.jsxs)(`div`,{className:o(`flex min-w-0 items-center justify-end gap-2 max-[650px]:grid max-[650px]:w-full max-[650px]:grid-cols-[minmax(0,1fr)_auto] max-[650px]:justify-stretch`,t===`workflowCreate`&&`max-[650px]:grid-cols-[repeat(3,auto)] max-[650px]:justify-end`,t===`chat`&&`max-[650px]:!flex max-[650px]:!w-auto max-[650px]:shrink-0`,B&&`[-webkit-app-region:no-drag]`,k&&k!==`darwin`&&`pr-[138px]`),children:[t===`workflowCreate`?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)(i,{variant:`outline`,size:`lg`,className:`bg-surface-subtle max-[650px]:col-auto max-[650px]:row-start-1`,disabled:!T||T.busy||T.running,onClick:()=>T?.save(),children:[(0,E.jsx)(m,{size:15}),N(`navigation:pageHeader.saveDraft`)]}),(0,E.jsxs)(i,{size:`lg`,className:`max-[650px]:col-auto max-[650px]:row-start-1`,disabled:!T||T.busy,onClick:()=>T?.run(),children:[T?.running?(0,E.jsx)(g,{size:15}):(0,E.jsx)(p,{size:15}),T?.running?N(`navigation:pageHeader.stop`):N(`navigation:pageHeader.testRun`)]})]}):t===`chat`?null:t===`config`?(0,E.jsx)(D,{query:n,onQueryChange:r,onSelect:d,inputRef:C}):(0,E.jsxs)(`label`,{className:`flex h-[34px] w-[min(250px,24vw)] items-center gap-[7px] rounded-[var(--r-sm)] border border-[var(--stroke)] bg-[var(--search-bg)] px-2.5 text-[var(--text-muted)] focus-within:border-[var(--focus)] focus-within:shadow-[0_0_0_3px_var(--focus-ring)] in-data-[density=compact]:h-[30px] max-[900px]:w-[190px] max-[650px]:col-start-1 max-[650px]:row-start-1 max-[650px]:w-full max-[650px]:min-w-0`,title:N(`navigation:pageHeader.search`),children:[(0,E.jsx)(y,{size:15}),(0,E.jsx)(`input`,{className:`w-full min-w-0 border-0 bg-transparent text-[13px] text-[var(--text)] outline-none`,ref:C,value:n,onChange:e=>r(e.target.value),placeholder:t===`mcp`?N(`navigation:pageHeader.searchServicesOrTools`):t===`memory`?N(`navigation:pageHeader.searchMemoriesOrFiles`):N(`navigation:pageHeader.searchPage`,{page:e[0]})})]}),L&&(0,E.jsxs)(i,{size:`lg`,className:o(`max-[650px]:col-start-2 max-[650px]:row-start-1`,t===`chat`&&A&&`hidden`),title:P?N(`navigation:pageHeader.primaryActionShortcut`,{action:L[0],shortcut:P}):L[0],onClick:u,children:[(()=>{let e=L[1];return(0,E.jsx)(e,{size:15})})(),L[0]]}),B&&(0,E.jsx)(i,{variant:`ghost`,size:`icon`,className:j?`bg-surface-hover text-brand`:void 0,title:F?`${N(`navigation:pageHeader.toggleTerminal`)} (${F})`:N(`navigation:pageHeader.toggleTerminal`),"aria-label":N(`navigation:pageHeader.toggleTerminal`),"aria-pressed":j,onClick:M,children:(0,E.jsx)(h,{size:16})}),(0,E.jsx)(i,{variant:`outline`,size:`icon`,className:o(`bg-[var(--solid)]`,t!==`chat`&&`max-[650px]:absolute max-[650px]:top-3.5 max-[650px]:right-4`),title:N(`navigation:pageHeader.themeThemeClickToSwitch`,{theme:z}),"aria-label":N(`navigation:pageHeader.themeThemeClickToSwitchThemes`,{theme:z}),onClick:_,children:(0,E.jsx)(R,{size:16})})]})]})}export{k as PageHeader};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./api-B6CluO7V.js";import{n as i,o as a,t as o}from"./button-XhIEgIsg.js";import{m as s,p as c,t as l}from"./use-i18n-jYw5s_Yn.js";import{a as u,c as d,i as f,l as p,n as m,o as h,r as g,s as _,t as v}from"./dist-Dq4VqZgU.js";import{t as y}from"./AppSelect-kDqZkETY.js";import{t as b}from"./utils-C8uzG5AZ.js";import{t as ee}from"./chevron-down-DT6AXwTP.js";import{t as x}from"./earth-DR_clkZ9.js";import{t as S}from"./file-code-corner-BKkXAMHR.js";import{t as C}from"./image-Dh7-wI1d.js";import{t as w}from"./loader-circle-72TYCcVQ.js";import{a as T,i as E,n as te,o as ne,r as re,s as ie,t as ae}from"./tool-labels-v0OysnpI.js";import{t as oe}from"./trash-2-mhzzyC6i.js";import{A as D,At as O,Dt as k,I as se,M as A,N as j,Ot as M,P as N,St as ce,_t as P,bt as F,c as le,ht as I,i as L,j as R,k as z,l as ue,mt as de,r as fe,s as pe,vt as B}from"./index-Bd5A8V1V.js";import{t as me}from"./usePagePrimaryAction-Bw0OFTDZ.js";import{n as V,t as H}from"./pick-system-directory-BnIFt85A.js";var U=e(t(),1),W=n(),G=Object.defineProperty,K=(e,t)=>G(e,`name`,{value:t,configurable:!0}),[he,ge]=s(`AlertDialog`,[p]),q=p(),_e=K(e=>{let{__scopeAlertDialog:t,...n}=e,r=q(t);return(0,W.jsx)(v,{...r,...n,modal:!0})},`AlertDialog`);U.forwardRef(K(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=q(n);return(0,W.jsx)(d,{...i,...r,ref:t})},`AlertDialogTrigger`));var ve=K(e=>{let{__scopeAlertDialog:t,...n}=e,r=q(t);return(0,W.jsx)(h,{...r,...n})},`AlertDialogPortal`),J=U.forwardRef(K(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=q(n);return(0,W.jsx)(u,{...i,...r,ref:t})},`AlertDialogOverlay`)),[ye,be]=he(`AlertDialogContent`),xe=U.forwardRef(K(function(e,t){let{__scopeAlertDialog:n,children:r,...i}=e,o=q(n),s=U.useRef(null),l=a(t,s),u=U.useRef(null);return(0,W.jsx)(ye,{scope:n,cancelRef:u,children:(0,W.jsx)(g,{role:`alertdialog`,...o,...i,ref:l,onOpenAutoFocus:c(i.onOpenAutoFocus,e=>{e.preventDefault(),u.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:r})})},`AlertDialogContent`)),Se=U.forwardRef(K(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=q(n);return(0,W.jsx)(_,{...i,...r,ref:t})},`AlertDialogTitle`)),Ce=U.forwardRef(K(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=q(n);return(0,W.jsx)(f,{...i,...r,ref:t})},`AlertDialogDescription`)),we=U.forwardRef(K(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=q(n);return(0,W.jsx)(m,{...i,...r,ref:t})},`AlertDialogAction`)),Te=`AlertDialogCancel`,Ee=U.forwardRef(K(function(e,t){let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=be(Te,n),o=q(n),s=a(t,i);return(0,W.jsx)(m,{...o,...r,ref:s})},`AlertDialogCancel`)),De=_e,Oe=ve,ke=J,Ae=xe,je=we,Me=Ee,Ne=Se,Pe=Ce,Fe=i(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Y=i(`package-plus`,[[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`path`,{d:`M16 17h6`,key:`1ook5g`}],[`path`,{d:`M19 14v6`,key:`1ckrd5`}],[`path`,{d:`M21 10.535V8a2 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.729l7 4a2 2 0 0 0 2 .001l1.675-.955`,key:`28k6lz`}],[`path`,{d:`M3.29 7 12 12l8.71-5`,key:`19ckod`}],[`path`,{d:`m7.5 4.27 8.997 5.148`,key:`9yrvtv`}]]);function Ie({...e}){return(0,W.jsx)(De,{"data-slot":`alert-dialog`,...e})}function Le({...e}){return(0,W.jsx)(Oe,{"data-slot":`alert-dialog-portal`,...e})}function Re({className:e,...t}){return(0,W.jsx)(ke,{"data-slot":`alert-dialog-overlay`,className:b(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...t})}function ze({className:e,size:t=`default`,...n}){return(0,W.jsxs)(Le,{children:[(0,W.jsx)(Re,{}),(0,W.jsx)(Ae,{"data-slot":`alert-dialog-content`,"data-size":t,className:b(`group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid max-h-[calc(100dvh-2rem)] w-full -translate-x-1/2 -translate-y-1/2 gap-4 overflow-y-auto overscroll-contain rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm 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),...n})]})}function Be({className:e,...t}){return(0,W.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:b(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,e),...t})}function Ve({className:e,...t}){return(0,W.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:b(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,e),...t})}function He({className:e,...t}){return(0,W.jsx)(Ne,{"data-slot":`alert-dialog-title`,className:b(`font-heading text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,e),...t})}function Ue({className:e,...t}){return(0,W.jsx)(Pe,{"data-slot":`alert-dialog-description`,className:b(`text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}function We({className:e,variant:t=`default`,size:n=`default`,...r}){return(0,W.jsx)(o,{variant:t,size:n,asChild:!0,children:(0,W.jsx)(je,{"data-slot":`alert-dialog-action`,className:b(e),...r})})}function Ge({className:e,variant:t=`outline`,size:n=`default`,...r}){return(0,W.jsx)(o,{variant:t,size:n,asChild:!0,children:(0,W.jsx)(Me,{"data-slot":`alert-dialog-cancel`,className:b(e),...r})})}function Ke(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function qe({open:e,onOpenChange:t,onInstalled:n}){let{t:i}=l(),[a,s]=(0,U.useState)(``),[c,u]=(0,U.useState)(null),[d,f]=(0,U.useState)(!1),[p,m]=(0,U.useState)(``);return(0,U.useEffect)(()=>{e||(s(``),u(null),f(!1),m(``))},[e]),(0,W.jsx)(z,{open:e,onOpenChange:e=>!d&&t(e),children:(0,W.jsxs)(D,{className:`z-[220] sm:max-w-xl`,overlayClassName:`z-[220]`,children:[(0,W.jsxs)(j,{children:[(0,W.jsxs)(N,{className:`flex items-center gap-2`,children:[(0,W.jsx)(Y,{size:17}),i(`plugins:pluginsPage.installLocalPlugin`)]}),(0,W.jsx)(R,{children:i(`plugins:pluginsPage.installLocalPluginDescription`)})]}),(0,W.jsxs)(`div`,{className:`grid gap-3`,children:[(0,W.jsxs)(`label`,{className:`grid gap-1.5 text-xs font-semibold text-[var(--text-soft)]`,children:[i(`plugins:pluginsPage.pluginDirectory`),(0,W.jsxs)(`span`,{className:`flex min-w-0 gap-2`,children:[(0,W.jsx)(`input`,{className:`h-10 min-w-0 flex-1 rounded-md border border-[var(--stroke)] bg-[var(--solid)] px-3 text-[13px] text-[var(--text)] outline-none focus:border-[var(--star-border)]`,value:a,disabled:d,placeholder:i(`plugins:pluginsPage.pluginDirectoryPlaceholder`),onChange:e=>{s(e.target.value),u(null)}}),H()&&(0,W.jsx)(o,{type:`button`,variant:`ghost`,size:`icon`,className:`size-10 shrink-0`,title:i(`plugins:pluginsPage.chooseDirectory`),onClick:async()=>{m(``);try{let e=await V(a);e&&(s(e),u(null))}catch(e){m(e instanceof Error?e.message:String(e))}},children:(0,W.jsx)(k,{size:16})})]})]}),c&&(0,W.jsxs)(`div`,{className:`grid gap-3 rounded-md border border-[var(--stroke)] bg-[var(--surface-muted)] p-3`,children:[(0,W.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,W.jsx)(`span`,{className:`grid size-9 shrink-0 place-items-center rounded-md bg-[var(--success-soft)] text-[var(--success)]`,children:(0,W.jsx)(O,{size:17})}),(0,W.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,W.jsx)(`strong`,{className:`block truncate text-[13px] text-[var(--text)]`,children:c.plugin.name}),(0,W.jsxs)(`small`,{className:`block truncate text-[12px] text-[var(--text-muted)]`,children:[c.plugin.id,` · v`,c.plugin.version,` · `,c.fileCount,` `,i(`plugins:pluginsPage.files`),` · `,Ke(c.byteCount)]})]})]}),(0,W.jsx)(`div`,{className:`grid gap-1.5`,children:c.plugin.capabilities.map(e=>(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-t border-[var(--stroke-soft)] pt-2 text-xs`,children:[(0,W.jsxs)(`span`,{children:[(0,W.jsx)(`strong`,{className:`block text-[var(--text)]`,children:e.label}),(0,W.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:e.description})]}),(0,W.jsx)(`code`,{className:`shrink-0 text-[11px] text-[var(--text-soft)]`,children:e.name})]},e.name))}),(0,W.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md bg-[var(--warning-soft)] p-2.5 text-xs leading-5 text-[var(--warning-strong)]`,children:[(0,W.jsx)(I,{className:`mt-0.5 shrink-0`,size:15}),(0,W.jsx)(`span`,{children:i(`plugins:pluginsPage.localPluginSecurityWarning`)})]})]}),p&&(0,W.jsxs)(L,{className:`m-0`,children:[(0,W.jsx)(I,{size:14}),(0,W.jsx)(`span`,{children:p})]})]}),(0,W.jsxs)(A,{children:[(0,W.jsx)(o,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,disabled:d,onClick:()=>t(!1),children:i(`common:ui.cancel`)}),(0,W.jsxs)(o,{type:`button`,size:`lg`,disabled:d||!c&&!a.trim(),onClick:c?async()=>{if(!(!c||d)){f(!0),m(``);try{await r(`/api/plugins/install`,{method:`POST`,body:JSON.stringify({inspectionId:c.inspectionId})}),await n(),t(!1)}catch(e){m(e instanceof Error?e.message:String(e))}finally{f(!1)}}}:async()=>{if(!(!a.trim()||d)){f(!0),m(``);try{u(await r(`/api/plugins/inspect`,{method:`POST`,body:JSON.stringify({path:a.trim()})}))}catch(e){u(null),m(e instanceof Error?e.message:String(e))}finally{f(!1)}}},children:[d?(0,W.jsx)(w,{className:`animate-spin`,size:15}):c?(0,W.jsx)(Y,{size:15}):(0,W.jsx)(O,{size:15}),i(d?`plugins:pluginsPage.processing`:c?`plugins:pluginsPage.installPlugin`:`plugins:pluginsPage.inspectPlugin`)]})]})]})})}var Je=[`tool`,`prompt`,`skill`];function Ye(e){let t=Array.isArray(e.resourceTypes)?e.resourceTypes.filter(e=>Je.includes(e)):[];return t.length?t:[`tool`]}function Xe(e,t){return{tool:t(`plugins:pluginsPage.extensionType.tool`),prompt:t(`plugins:pluginsPage.extensionType.prompt`),skill:t(`plugins:pluginsPage.extensionType.skill`)}[e]}var Ze=[`all`,`builtin`,`local`],Qe={read:Fe,ls:k,grep:B,find:B,edit:S,write:S,bash:P,web_search:x,browser_automation:x,generate_visual:C};function X(e,t){return t(e===`builtin`?`plugins:pluginsPage.builtIn`:e===`local`?`plugins:pluginsPage.local`:`plugins:pluginsPage.all`)}function $e(e){return e.flatMap(e=>e.managedExternally?[]:e.capabilities.filter(e=>e.enabled).map(e=>e.name))}function et(e){return e.filter(e=>!e.managedExternally||e.source===`pi`).flatMap(e=>e.capabilities.map(t=>({...t,pluginId:e.id,pluginName:e.name,pluginDescription:e.description,pluginVersion:e.version,pluginSource:e.source,pluginBuiltIn:e.builtIn,pluginPermissions:e.permissions||[],pluginSystemAccess:!!e.systemAccess})))}function Z(e){return e.find(e=>e.source===`pi`&&e.name===`Computer Use`)?.enabled!==!1}function tt(e){return Object.fromEntries(e.filter(e=>e.source===`pi`&&e.name!==`Computer Use`&&!!e.packageSource).map(e=>[e.packageSource,e.enabled!==!1]))}function nt(e,t){return[...e].sort().join(`\0`)===[...t].sort().join(`\0`)}function Q(e,t){return E({id:e.name,name:e.label},t)}function $(e,t){return e.pluginSource===`pi`?e.pluginName:te(e.pluginName,t)}function rt({value:e,testing:t,onChange:n,onTest:r}){let{t:i}=l();return(0,W.jsxs)(`div`,{className:`plugin-tool-config [&_label]:grid [&_label]:gap-[5px] [&_label]:text-[var(--text-muted)] [&_label]:text-[11px] [&_label]:font-[600] [&_select]:w-full [&_select]:h-[34px] [&_select]:[border:1px_solid_var(--stroke)] [&_select]:rounded-[var(--r-xs)] [&_select]:bg-[var(--solid)] [&_select]:p-[0_8px] [&_select]:text-[var(--text)] [&_select]:text-[12px] [&_input]:w-full [&_input]:h-[34px] [&_input]:[border:1px_solid_var(--stroke)] [&_input]:rounded-[var(--r-xs)] [&_input]:bg-[var(--solid)] [&_input]:p-[0_8px] [&_input]:text-[var(--text)] [&_input]:text-[12px] grid gap-[9px] [border-top:1px_solid_var(--stroke)] [padding-top:10px]`,children:[(0,W.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-3`,children:[(0,W.jsxs)(`label`,{children:[i(`plugins:pluginsPage.defaultLanguage`),(0,W.jsxs)(y,{value:e.language,onChange:t=>n({...e,language:t.target.value}),children:[(0,W.jsx)(`option`,{value:`auto`,children:i(`plugins:pluginsPage.auto`)}),(0,W.jsx)(`option`,{value:`zh-CN`,children:i(`plugins:pluginsPage.simplifiedChinese`)}),(0,W.jsx)(`option`,{value:`en-US`,children:i(`plugins:pluginsPage.english`)})]})]}),(0,W.jsxs)(`label`,{children:[i(`plugins:pluginsPage.safeSearch`),(0,W.jsxs)(y,{value:e.safeSearch,onChange:t=>n({...e,safeSearch:Number(t.target.value)}),children:[(0,W.jsx)(`option`,{value:0,children:i(`plugins:pluginsPage.off`)}),(0,W.jsx)(`option`,{value:1,children:i(`plugins:pluginsPage.moderate`)}),(0,W.jsx)(`option`,{value:2,children:i(`plugins:pluginsPage.strict`)})]})]}),(0,W.jsxs)(`label`,{children:[i(`plugins:pluginsPage.resultCount`),(0,W.jsx)(`input`,{type:`number`,min:`1`,max:`12`,value:e.maxResults,onChange:t=>n({...e,maxResults:Number(t.target.value)})})]})]}),(0,W.jsxs)(o,{type:`button`,variant:`outline`,size:`lg`,className:`justify-self-end bg-surface-subtle`,disabled:t,onClick:r,children:[t?(0,W.jsx)(F,{className:`animate-spin`,size:14}):(0,W.jsx)(x,{size:14}),i(t?`plugins:pluginsPage.testing`:`plugins:pluginsPage.testConnection`)]})]})}function it({query:e,notify:t,requestText:n,requestConfirm:i}){let{t:a}=l(),[s,c]=(0,U.useState)(``),[u,d]=(0,U.useState)(null),[f,p]=(0,U.useState)([]),[m,h]=(0,U.useState)(!1),[g,_]=(0,U.useState)(``),[v,y]=(0,U.useState)(``),b=(0,U.useCallback)(async(e=``)=>{h(!0),y(``);try{let[t,n]=await Promise.all([r(`/api/extensions/market?name=${encodeURIComponent(e)}`),r(`/api/extensions`)]);d(t),p(n.packages||[])}catch(e){y(e instanceof Error?e.message:String(e))}finally{h(!1)}},[]);(0,U.useEffect)(()=>{b(``)},[b]);let ee=(u?.packages||[]).filter(t=>`${t.name} ${t.description}`.toLowerCase().includes(e.trim().toLowerCase())),x=async e=>{if(await i?.({title:a(`plugins:pluginsPage.installExtension`),message:a(`plugins:pluginsPage.extensionSecurityWarning`,{name:e}),confirmLabel:a(`plugins:pluginsPage.installExtension`),tone:`danger`})!==!1){_(e);try{let n=/^(?:[.~\\/]|[A-Za-z]:[\\/])/.test(e)||/^(?:npm:|https?:\/\/|git\+)/i.test(e)?e:`npm:${e}`,i=await r(`/api/extensions/install`,{method:`POST`,body:JSON.stringify({source:n})});p(i.packages||[]),t(a(`plugins:pluginsPage.extensionInstalled`),`success`)}catch(e){t(e instanceof Error?e.message:String(e),`error`)}finally{_(``)}}},S=async()=>{let e=await n?.({title:a(`plugins:pluginsPage.installExtension`),message:a(`plugins:pluginsPage.extensionSourceHelp`),inputLabel:a(`plugins:pluginsPage.extensionSource`),placeholder:`npm:@scope/package or https://github.com/…`,maxLength:2e3});e?.trim()&&await x(e.trim())},C=async e=>{if(await i?.({title:a(`plugins:pluginsPage.uninstallExtension`),message:a(`plugins:pluginsPage.uninstallExtensionDescription`,{name:e.name}),confirmLabel:a(`plugins:pluginsPage.uninstallExtension`),tone:`danger`})!==!1){_(e.source);try{await r(`/api/extensions`,{method:`DELETE`,body:JSON.stringify({source:e.source,scope:e.scope})}),await b(s),t(a(`plugins:pluginsPage.extensionUninstalled`),`success`)}catch(e){t(e instanceof Error?e.message:String(e),`error`)}finally{_(``)}}},T=Je.map(e=>({type:e,items:f.filter(t=>Ye(t).includes(e))})).filter(e=>e.items.length>0);return(0,W.jsxs)(`section`,{className:`plugin-market grid gap-[10px] border-t border-[var(--stroke)] pt-[14px]`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-[10px]`,children:[(0,W.jsx)(`h2`,{className:`m-0 text-[14px] font-[650]`,children:a(`plugins:pluginsPage.extensionMarket`)}),(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,W.jsxs)(o,{type:`button`,variant:`outline`,size:`lg`,onClick:S,disabled:!!g,children:[(0,W.jsx)(Y,{size:14}),a(`plugins:pluginsPage.installExtension`)]}),(0,W.jsxs)(`a`,{className:`inline-flex h-[34px] items-center gap-1 rounded-[var(--r-xs)] border border-[var(--stroke)] px-2 text-[12px] text-[var(--text-soft)] no-underline hover:bg-[var(--surface-hover)]`,href:`https://pi.dev/packages`,target:`_blank`,rel:`noreferrer`,children:[(0,W.jsx)(M,{size:13}),a(`plugins:pluginsPage.openPackageCatalog`)]})]})]}),(0,W.jsxs)(`form`,{className:`flex min-w-0 gap-2`,onSubmit:e=>{e.preventDefault(),b(s)},children:[(0,W.jsx)(`input`,{className:`h-[34px] min-w-0 flex-1 rounded-[var(--r-xs)] border border-[var(--stroke)] bg-[var(--solid)] px-2 text-[12px] text-[var(--text)]`,value:s,onChange:e=>c(e.target.value),placeholder:a(`plugins:pluginsPage.searchPackageCatalog`),"aria-label":a(`plugins:pluginsPage.searchPackageCatalog`)}),(0,W.jsxs)(o,{type:`submit`,variant:`outline`,size:`lg`,disabled:m,children:[m?(0,W.jsx)(F,{className:`animate-spin`,size:14}):(0,W.jsx)(B,{size:14}),a(`plugins:pluginsPage.search`)]})]}),v&&(0,W.jsx)(`p`,{className:`m-0 text-[12px] text-[var(--danger)]`,children:v}),T.length>0&&(0,W.jsxs)(`div`,{className:`grid gap-2`,children:[(0,W.jsx)(`h3`,{className:`m-0 text-[12px] font-[650] text-[var(--text-secondary)]`,children:a(`plugins:pluginsPage.installedExtensions`)}),T.map(e=>(0,W.jsxs)(`section`,{className:`grid gap-1`,children:[(0,W.jsx)(`h4`,{className:`m-0 text-[11px] font-[650] text-[var(--text-muted)]`,children:Xe(e.type,a)}),e.items.map(t=>(0,W.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-2 border-t border-[var(--stroke-soft)] py-2`,children:[(0,W.jsxs)(`span`,{className:`min-w-0`,children:[(0,W.jsx)(`strong`,{className:`block overflow-hidden text-ellipsis whitespace-nowrap text-[12px]`,children:t.name}),(0,W.jsxs)(`small`,{className:`block overflow-hidden text-ellipsis whitespace-nowrap text-[11px] text-[var(--text-muted)]`,children:[t.source,` · v`,t.version]})]}),(0,W.jsxs)(o,{type:`button`,variant:`ghost`,size:`sm`,disabled:!!g,onClick:()=>void C(t),children:[g===t.source?(0,W.jsx)(w,{className:`animate-spin`,size:13}):(0,W.jsx)(oe,{size:13}),a(`plugins:pluginsPage.uninstallExtension`)]})]},`${e.type}:${t.scope}:${t.source}`))]},e.type))]}),(0,W.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(230px,1fr))] gap-2`,children:ee.slice(0,12).map(e=>{let t=f.some(t=>t.name===e.name||t.source===`npm:${e.name}`);return(0,W.jsxs)(`article`,{className:`grid min-w-0 gap-2 rounded-[var(--r-xs)] border border-[var(--stroke)] bg-[var(--solid)] p-2`,children:[(0,W.jsx)(`strong`,{className:`overflow-hidden text-ellipsis whitespace-nowrap text-[12px]`,title:e.name,children:e.name}),(0,W.jsx)(`p`,{className:`m-0 line-clamp-3 min-h-[45px] text-[11px] leading-[1.45] text-[var(--text-secondary)]`,children:e.description}),(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,W.jsx)(`small`,{className:`text-[10px] text-[var(--text-muted)]`,children:e.published}),(0,W.jsxs)(o,{type:`button`,size:`sm`,disabled:t||!!g,onClick:()=>void x(e.name),children:[g===e.name&&(0,W.jsx)(w,{className:`animate-spin`,size:13}),a(t?`plugins:pluginsPage.installed`:`plugins:pluginsPage.installExtension`)]})]})]},e.name)})})]})}function at({query:e=``,notify:t,registerPrimaryAction:n,onStatusChange:i,requestText:a,requestConfirm:s}){let{t:c}=l(),u=se(e=>e.capabilities),d=de(u,`plugins`),f=d?Ze:Ze.slice(0,2),[p,m]=(0,U.useState)(null),[h,g]=(0,U.useState)([]),[_,v]=(0,U.useState)(``),[y,b]=(0,U.useState)(`all`),[x,S]=(0,U.useState)({provider:`bing`,language:`auto`,safeSearch:1,maxResults:8}),[C,E]=(0,U.useState)(!1),[te,D]=(0,U.useState)(!1),[O,k]=(0,U.useState)(!1),[A,j]=(0,U.useState)(null),[M,N]=(0,U.useState)(!1),[P,R]=(0,U.useState)(``),z=(0,U.useCallback)(e=>{m(e),g(e.plugins),S(e.webSearch);let t=et(e.plugins);i({enabled:t.filter(e=>e.enabled).length,total:t.length})},[i]),B=(0,U.useCallback)(async()=>{R(``);try{z(await r(`/api/plugins`))}catch(e){R(e instanceof Error?e.message:String(e))}},[z]);(0,U.useEffect)(()=>{B()},[B]);let V=(0,U.useMemo)(()=>et(h),[h]),H=(0,U.useMemo)(()=>$e(h),[h]),G=p?!nt(H,p.enabledTools)||Z(h)!==p.computerUseEnabled||JSON.stringify(tt(h))!==JSON.stringify(p.piExtensions)||JSON.stringify(x)!==JSON.stringify(p.webSearch):!1,K=(0,U.useCallback)(async()=>{if(!C){if(!p||!G){p&&t(c(`plugins:pluginsPage.noPluginPolicyChanges`));return}E(!0),R(``);try{let e=await r(`/api/plugins`,{method:`PUT`,body:JSON.stringify({enabledTools:H,webSearch:x,computerUseEnabled:Z(h),piExtensions:tt(h)})});z(e),t(c(`plugins:pluginsPage.pluginPolicySavedAgentRuntimeUpdated`))}catch(e){R(e instanceof Error?e.message:String(e))}finally{E(!1)}}},[z,p,G,h,H,t,C,c,x]);me(n,K);let he=async()=>{D(!0),R(``);try{let e=await r(`/api/plugins/web-search/test`,{method:`POST`,body:JSON.stringify(x)});t(c(`plugins:pluginsPage.bingSearchIsAvailableAndReturnedCountResults`,{count:e.count}))}catch(e){let n=e instanceof Error?e.message:String(e);R(n),t(n,`error`)}finally{D(!1)}},ge=(e,t,n)=>{g(r=>r.map(r=>{if(r.id!==e)return r;let i=r.source===`pi`&&r.managedExternally;return{...r,enabled:n||r.capabilities.some(e=>e.enabled),capabilities:r.capabilities.map(e=>i||e.name===t?{...e,enabled:n}:e)}}))},q=()=>!G||(R(c(`plugins:pluginsPage.saveBeforePluginChanges`)),!1),_e=async()=>{if(!(!A||M)){N(!0),R(``);try{z(await r(`/api/plugins/${encodeURIComponent(A.pluginId)}`,{method:`DELETE`})),t(c(`plugins:pluginsPage.pluginUninstalled`,{name:A.pluginName})),v(``),j(null)}catch(e){R(e instanceof Error?e.message:String(e))}finally{N(!1)}}};if(!p)return(0,W.jsxs)(fe,{children:[(0,W.jsx)(F,{className:`animate-spin`,size:24}),(0,W.jsx)(`h2`,{children:c(`plugins:pluginsPage.loadingToolPlugins`)}),P&&(0,W.jsxs)(L,{children:[(0,W.jsx)(I,{size:13}),P]})]});let ve=e.trim().toLowerCase(),J=V.filter(e=>y!==`all`&&e.pluginSource!==y?!1:[Q(e,c),e.name,e.description,$(e,c),e.pluginId].join(` `).toLowerCase().includes(ve));return(0,W.jsxs)(`div`,{className:`plugins-page flex min-h-[100%] flex-col gap-[12px] max-[900px]:h-auto h-full min-h-0 overflow-y-auto [scrollbar-gutter:stable]`,children:[(0,W.jsxs)(`div`,{className:`plugin-toolbar max-[650px]:items-stretch max-[650px]:flex-col flex items-center justify-between gap-[12px]`,children:[(0,W.jsx)(le,{options:f.map(e=>X(e,c)),value:X(y,c),onChange:e=>b(f.find(t=>X(t,c)===e)||`all`)}),(0,W.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:d&&(0,W.jsxs)(o,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:()=>q()&&k(!0),children:[(0,W.jsx)(Y,{size:15}),c(`plugins:pluginsPage.installPlugin`)]})})]}),(0,W.jsxs)(`div`,{className:`plugin-catalog-heading [&_>_span]:flex [&_>_span]:items-center [&_>_span]:gap-[7px] [&_strong]:text-[13px] [&_small]:text-[var(--text-secondary)] [&_small]:text-[12px] [&_small]:[font-variant-numeric:tabular-nums] max-[650px]:items-start flex items-center justify-between gap-[12px] [padding:2px]`,children:[(0,W.jsxs)(`span`,{children:[(0,W.jsx)(`strong`,{children:c(`plugins:pluginsPage.toolCatalog`)}),(0,W.jsx)(`small`,{children:J.length})]}),(0,W.jsxs)(`span`,{className:`plugin-catalog-summary text-[var(--text-secondary)] text-[12px] [font-variant-numeric:tabular-nums] [&_>_i]:w-[7px] [&_>_i]:h-[7px] [&_>_i]:rounded-[50%] [&_>_i]:bg-[var(--status-green)] max-[650px]:flex-wrap max-[650px]:justify-end`,children:[(0,W.jsx)(`i`,{}),V.filter(e=>e.enabled).length,`/`,V.length,` `,c(`plugins:pluginsPage.enabled2`),G&&(0,W.jsx)(ue,{tone:`amber`,children:c(`plugins:pluginsPage.unsaved`)})]})]}),J.length?(0,W.jsx)(`div`,{className:`plugin-tool-grid max-[650px]:grid-cols-[minmax(0,1fr)] grid grid-cols-[repeat(auto-fill,minmax(310px,1fr))] [align-items:start] gap-[10px] [padding-bottom:4px]`,children:J.map(e=>{let t=_===e.name,n=Qe[e.name]||ce;return(0,W.jsxs)(`article`,{className:`plugin-tool-card [&[data-open]]:border-[var(--stroke-hover)] [&[data-open]]:shadow-[var(--sh-1)] min-w-0 overflow-hidden [border:1px_solid_var(--stroke)] rounded-[var(--r-sm)] bg-[var(--solid)]`,"data-open":t||void 0,children:[(0,W.jsxs)(`div`,{className:`plugin-tool-card-head hover:bg-[var(--surface-hover)] [.plugin-tool-card[data-open]_>_&]:bg-[var(--surface-hover)] max-[650px]:grid-cols-[minmax(0,1fr)_auto] max-[650px]:[padding-inline:8px] grid min-h-[56px] grid-cols-[minmax(0,1fr)_auto] items-center gap-[10px] [padding:7px_10px]`,children:[(0,W.jsxs)(`button`,{type:`button`,className:`grid min-w-0 h-full grid-cols-[32px_minmax(0,1fr)] items-center gap-[9px] border-0 bg-transparent p-0 text-inherit text-left`,"aria-expanded":t,onClick:()=>v(t=>t===e.name?``:e.name),children:[(0,W.jsx)(`span`,{className:`grid w-[32px] h-[32px] place-items-center rounded-[var(--r-xs)] bg-[var(--surface-muted)] text-[var(--text-soft)]`,children:(0,W.jsx)(n,{size:15})}),(0,W.jsxs)(`span`,{className:`plugin-tool-title [&_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-[11px] flex min-w-0 flex-col gap-[2px]`,children:[(0,W.jsx)(`strong`,{title:Q(e,c),children:Q(e,c)}),(0,W.jsx)(`small`,{children:$(e,c)})]})]}),(0,W.jsxs)(`span`,{className:`plugin-tool-trailing [&_>_i]:w-[7px] [&_>_i]:h-[7px] [&_>_i]:rounded-[50%] [&_>_i]:bg-[var(--status-muted)] [&_>_i[data-enabled]]:bg-[var(--status-green)] max-[650px]:gap-[5px] inline-flex items-center gap-[7px]`,children:[(0,W.jsx)(`i`,{"data-enabled":e.enabled||void 0}),!e.pluginBuiltIn&&(0,W.jsx)(ue,{tone:`amber`,children:c(`plugins:pluginsPage.local`)}),(0,W.jsx)(pe,{value:e.enabled,onChange:t=>ge(e.pluginId,e.name,t),ariaLabel:Q(e,c)}),(0,W.jsx)(`button`,{type:`button`,className:`plugin-tool-chevron hover:bg-[var(--surface-muted)] hover:text-[var(--text)] [&_svg]:[transition:transform_var(--d1)_var(--ease-out)] [&[aria-expanded='true']_svg]:[transform:rotate(180deg)] grid w-[24px] h-[24px] place-items-center border-0 rounded-[var(--r-xs)] bg-transparent text-[var(--text-muted)]`,"aria-label":c(`plugins:pluginsPage.toggleToolDetails`,{name:Q(e,c)}),"aria-expanded":t,onClick:()=>v(t=>t===e.name?``:e.name),children:(0,W.jsx)(ee,{size:14})})]})]}),t&&(0,W.jsxs)(`div`,{className:`plugin-tool-details [&_>_p]:m-0 [&_>_p]:text-[var(--text-soft)] [&_>_p]:text-[12px] [&_>_p]:leading-[1.55] [&_>_code]:[overflow-wrap:anywhere] [&_>_code]:text-[var(--text)] [&_>_code]:text-[11px] [&_dl]:grid [&_dl]:grid-cols-[78px_minmax(0,1fr)] [&_dl]:gap-[6px_10px] [&_dl]:m-0 [&_dl_div]:[display:contents] [&_dt]:text-[var(--text-muted)] [&_dt]:text-[11px] [&_dd]:min-w-0 [&_dd]:m-0 [&_dd]:[overflow-wrap:anywhere] [&_dd]:text-[var(--text-soft)] [&_dd]:text-[12px] max-[650px]:[&_dl]:grid-cols-[68px_minmax(0,1fr)] grid gap-[9px] [border-top:1px_solid_var(--stroke)] bg-[var(--surface-subtle)] [padding:11px_13px_13px]`,children:[(0,W.jsx)(`p`,{children:re({id:e.name,description:e.description},c)}),(0,W.jsx)(`code`,{children:e.name}),(0,W.jsxs)(`dl`,{children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{children:c(`plugins:pluginsPage.source`)}),(0,W.jsxs)(`dd`,{children:[$(e,c),!e.pluginBuiltIn&&` · v${e.pluginVersion}`]})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{children:c(`plugins:pluginsPage.riskLevel`)}),(0,W.jsx)(`dd`,{className:ae(e.risk)?`text-[var(--danger)]`:``,children:T(e.risk,c)})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{children:c(`plugins:pluginsPage.pathScope`)}),(0,W.jsx)(`dd`,{children:ne({id:e.name,scope:e.scope},c)})]}),!e.pluginBuiltIn&&(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{children:c(`plugins:pluginsPage.executionMode`)}),(0,W.jsx)(`dd`,{children:c(`plugins:pluginsPage.fullAccessOnly`)})]})]}),!e.pluginBuiltIn&&(0,W.jsxs)(`div`,{className:`plugin-tool-warning [&_svg]:flex-none [&_svg]:mt-[1px] flex items-start gap-[7px] rounded-[var(--r-xs)] bg-[var(--warning-soft)] [padding:8px] text-[var(--warning-strong)] text-[11px] leading-[1.5]`,children:[(0,W.jsx)(ie,{size:14}),(0,W.jsx)(`span`,{children:c(`plugins:pluginsPage.localPluginSecurityWarning`)})]}),e.name===`web_search`&&(0,W.jsx)(rt,{value:x,testing:te,onChange:S,onTest:he}),!e.pluginBuiltIn&&(0,W.jsxs)(o,{type:`button`,variant:`destructive`,size:`lg`,className:`[justify-self:end]`,onClick:()=>q()&&j(e),children:[(0,W.jsx)(oe,{size:14}),c(`plugins:pluginsPage.uninstallPlugin`)]})]})]},e.name)})}):(0,W.jsx)(`div`,{className:`plugin-empty [&.compact]:min-h-[90px] grid min-h-[180px] place-items-center text-[var(--text-secondary)] text-[12px]`,children:c(`plugins:pluginsPage.noMatchingTools`)}),(0,W.jsx)(it,{query:e,notify:t,requestText:a,requestConfirm:s}),d&&(0,W.jsx)(qe,{open:O,onOpenChange:k,onInstalled:B}),(0,W.jsx)(Ie,{open:!!A,onOpenChange:e=>!e&&!M&&j(null),children:(0,W.jsxs)(ze,{className:`z-[220]`,children:[(0,W.jsxs)(Be,{children:[(0,W.jsx)(He,{children:c(`plugins:pluginsPage.uninstallPlugin`)}),(0,W.jsx)(Ue,{children:c(`plugins:pluginsPage.uninstallPluginDescription`,{name:A?.pluginName||``})})]}),(0,W.jsxs)(Ve,{children:[(0,W.jsx)(Ge,{disabled:M,children:c(`common:ui.cancel`)}),(0,W.jsxs)(We,{variant:`destructive`,disabled:M,onClick:_e,children:[M&&(0,W.jsx)(w,{className:`animate-spin`,size:14}),c(`plugins:pluginsPage.uninstallPlugin`)]})]})]})}),P&&(0,W.jsxs)(L,{className:`fixed z-[21] [right:24px] [bottom:24px] max-w-[360px] shadow-[0_12px_28px_-18px_var(--floating-shadow)]`,children:[(0,W.jsx)(I,{size:13}),P]})]})}export{at as PluginsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./api-B6CluO7V.js";import{t as i}from"./button-XhIEgIsg.js";import{t as a}from"./use-i18n-yjKc6F2w.js";import{t as o}from"./utils-C8uzG5AZ.js";import{t as s}from"./circle-dot-rl11gaty.js";import{t as c}from"./trash-2-mhzzyC6i.js";import{t as l}from"./wrench-BqeVhocX.js";import{B as u,_ as d,_t as f,bt as p,g as m,m as h,p as g}from"./index-CAWCOpxG.js";import{t as _}from"./usePagePrimaryAction-Bw0OFTDZ.js";var v=e(t(),1),y=n(),b={green:`border-[var(--success-border)] bg-[var(--success-soft)] text-[var(--success-strong)]`,amber:`border-[var(--warning-border)] bg-[var(--warning-soft)] text-[var(--warning-strong)]`,gray:`border-[var(--stroke)] bg-[var(--surface-muted)] text-[var(--text-muted)]`,red:`border-[var(--danger-border)] bg-[var(--danger-soft)] text-[var(--danger)]`};function x({className:e,children:t}){return(0,y.jsx)(h,{size:`sm`,className:o(`workflow-card [&_h2]:text-[16px] [&_h2]:tracking-[-.02em] [.detail-stack_>_&]:[flex:0_0_auto] [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--panel)] text-[var(--text)] shadow-[0_1px_2px_var(--sh-edge),0_14px_32px_-24px_var(--shadow)] gap-0 p-3.5 py-3.5`,e),children:t})}function S({children:e}){return(0,y.jsx)(m,{className:`workflow-section-title [.selection-list_&]:mb-[8px] [.node-library_&]:mb-[8px] text-[var(--text-soft)] text-[13px] font-[700] leading-[1.4]`,children:e})}function C({value:e,label:t,note:n,tone:r}){return(0,y.jsxs)(h,{size:`sm`,className:o(`workflow-card [&_h2]:text-[16px] [&_h2]:tracking-[-.02em] [.detail-stack_>_&]:[flex:0_0_auto] [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--panel)] text-[var(--text)] shadow-[0_1px_2px_var(--sh-edge),0_14px_32px_-24px_var(--shadow)] metric [transition:transform_var(--d2)_var(--ease-out),_box-shadow_var(--d2)_var(--ease-out),_border-color_var(--d2)_var(--ease-out)] hover:[transform:translateY(-2px)] hover:shadow-[var(--sh-2)] hover:border-[var(--star-border)] [&_small]:[grid-column:1/-1] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_strong]:mt-[5px] [&_strong]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_strong]:text-[23px] [&_span]:[align-self:end] [&_span]:text-[var(--text-muted)] [&_span]:text-[13px] [&.blue_strong]:text-[var(--star-strong)] [&.green_strong]:text-[var(--success)] [&.amber_strong]:text-[var(--amber)] grid grid-cols-[1fr_auto] [padding:12px] gap-0 p-3 py-3`,r),children:[(0,y.jsx)(`small`,{children:t}),(0,y.jsx)(`strong`,{children:e}),(0,y.jsx)(`span`,{children:n})]})}function w({children:e,tone:t}){return(0,y.jsx)(d,{variant:`outline`,className:b[t],children:e})}function T(e,t){return e===`online`?[t(`workflows:previewPages.online`),`green`]:e===`connecting`?[t(`workflows:previewPages.connecting`),`amber`]:e===`unauthorized`?[t(`workflows:previewPages.unauthorized`),`gray`]:e===`disabled`?[t(`workflows:previewPages.disabled`),`gray`]:[t(`workflows:previewPages.offline`),`red`]}function E(e,t){return e===`high`||e===`高风险`?t(`workflows:previewPages.highRisk`):e===`medium`||e===`中风险`?t(`workflows:previewPages.mediumRisk`):e===`low`||e===`低风险`?t(`workflows:previewPages.lowRisk`):String(e||``)}function D(e,t){return e?e.auth===`headers`?t(`workflows:previewPages.countRequestHeaders`,{count:e.authCount}):e.auth===`environment`?t(`workflows:previewPages.configuredEnvironmentVariables`):e.auth===`local`?t(`workflows:previewPages.localProcess`):t(`workflows:previewPages.none`):`—`}function O({notify:e,query:t=``,registerPrimaryAction:n,requestText:o,requestConfirm:d}){let{t:m,language:h}=a(),[b,O]=(0,v.useState)(null),[k,A]=(0,v.useState)(``),[j,M]=(0,v.useState)(!1),[,N]=(0,v.useState)(``),P=(0,v.useCallback)(async(e=!0)=>{N(``);try{let t=await r(`/api/mcp?refresh=${e?`1`:`0`}`);return O(t),A(e=>t.services.some(t=>t.id===e)?e:t.services[0]?.id||``),t}catch(e){return N(e instanceof Error?e.message:String(e)),null}},[]);(0,v.useEffect)(()=>{P(!0);let e=window.setInterval(()=>{P(!1)},1e4);return()=>window.clearInterval(e)},[P]);let F=(0,v.useCallback)(async()=>{let t=await o?.({title:m(`workflows:previewPages.addMCPService`),message:m(`workflows:previewPages.enterAStreamableHTTPURLAStdioCommandOrJSONContainingHeadersEnv`),inputLabel:m(`workflows:previewPages.serverConfiguration`),placeholder:`https://server.example.com/mcp`,maxLength:12e3,confirmLabel:m(`workflows:previewPages.continue`)});if(t?.trim()&&await d?.({title:m(`workflows:previewPages.connectMCPServer`),message:m(`workflows:previewPages.mcpServersCanExposeToolsThatPerformExternalActionsConnectOnlyToServersYouTrust`),confirmLabel:m(`workflows:previewPages.connect`),tone:`danger`})!==!1){M(!0),N(``);try{let n=await r(`/api/mcp`,{method:`POST`,body:JSON.stringify({spec:t})});O(n),A(n.services.at(-1)?.id||n.services[0]?.id||``),e(m(`workflows:previewPages.mcpServerAdded`),`success`)}catch(t){let n=t instanceof Error?t.message:String(t);N(n),e(n,`error`)}finally{M(!1)}}},[e,d,o,m]);_(n,F);let I=b?.services||[],L=I.filter(e=>`${e.name} ${e.endpoint}`.toLowerCase().includes(t.toLowerCase())),R=I.find(e=>e.id===k)||L[0]||I[0]||null,z=(b?.tools||[]).filter(e=>`${e.name} ${e.serviceName} ${e.description}`.toLowerCase().includes(t.toLowerCase())),B=(b?.calls||[]).filter(e=>!R||e.serviceId===R.id),V=b?.metrics||{totalServices:0,onlineServices:0,availableTools:0,restrictedTools:0,errorRate:0},H=async(e,t)=>{M(!0),N(``);try{O(await r(`/api/mcp/${encodeURIComponent(e.serviceId)}/tools/${encodeURIComponent(e.name)}`,{method:`PATCH`,body:JSON.stringify({enabled:t})}))}catch(e){N(e instanceof Error?e.message:String(e))}finally{M(!1)}},U=async t=>{if(R){M(!0),N(``);try{O(await r(`/api/mcp/${encodeURIComponent(R.id)}`,{method:`PATCH`,body:JSON.stringify({enabled:t})})),e(m(t?`workflows:previewPages.mcpServerEnabled`:`workflows:previewPages.mcpServerDisabled`),`success`)}catch(e){N(e instanceof Error?e.message:String(e))}finally{M(!1)}}},W=async()=>{if(R){M(!0),N(``);try{O(await r(`/api/mcp/${encodeURIComponent(R.id)}/test`,{method:`POST`,body:`{}`})),e(m(`workflows:previewPages.mcpConnectionTestPassed`),`success`)}catch(t){let n=t instanceof Error?t.message:String(t);N(n),e(n,`error`)}finally{M(!1)}}},G=async()=>{if(R&&await d?.({title:m(`workflows:previewPages.deleteMCPServer`),message:m(`workflows:previewPages.afterDeletionToolsFromThisServerWillBeRemovedFromSubsequentAgentRuns`),confirmLabel:m(`workflows:previewPages.delete`),tone:`danger`})!==!1){M(!0),N(``);try{await r(`/api/mcp/${encodeURIComponent(R.id)}`,{method:`DELETE`});let t=await P(!1);A(t?.services[0]?.id||``),e(m(`workflows:previewPages.mcpServerDeleted`),`success`)}catch(t){let n=t instanceof Error?t.message:String(t);N(n),e(n,`error`)}finally{M(!1)}}};return(0,y.jsx)(`div`,{className:`preview-page flex min-h-[100%] flex-col`,children:(0,y.jsxs)(`div`,{className:`mcp-layout [.preview-page_>_&]:min-h-0 [.preview-page_>_&]:flex-1 max-[1150px]:grid-cols-[220px_minmax(340px,1fr)] max-[650px]:grid-cols-[1fr] grid min-h-[100%] grid-cols-[230px_minmax(320px,1fr)_300px] gap-[12px]`,children:[(0,y.jsxs)(x,{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,y.jsx)(S,{children:m(`workflows:previewPages.services`)}),L.length?L.map(e=>{let[t,n]=T(e.status,m),r=e.transport===`stdio`?e.workingDirectory||e.command:e.endpoint;return(0,y.jsxs)(`button`,{className:`service-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)] [&.active]:rounded-[var(--r-sm)] [&.active]: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] [&_small]:overflow-hidden [&_small]:text-ellipsis [&_small]:whitespace-nowrap ${R?.id===e.id?`active`:``}`,onClick:()=>A(e.id),children:[(0,y.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,y.jsx)(f,{size:15})}),(0,y.jsxs)(`span`,{children:[(0,y.jsx)(`strong`,{children:e.name}),(0,y.jsx)(`small`,{title:r,children:r})]}),(0,y.jsx)(w,{tone:n,children:t})]},e.id)}):(0,y.jsx)(`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:m(`workflows:previewPages.noServerConfigured`)})]}),(0,y.jsxs)(`div`,{className:`mcp-center max-[650px]:min-w-0 flex min-w-0 flex-col gap-[12px]`,children:[(0,y.jsxs)(`div`,{className:`metric-grid max-[650px]:grid-cols-[1fr] grid grid-cols-[repeat(3,minmax(0,1fr))] gap-[9px]`,children:[(0,y.jsx)(C,{value:String(V.onlineServices),label:m(`workflows:previewPages.onlineServices`),note:m(`workflows:previewPages.countServicesTotal`,{count:V.totalServices}),tone:`blue`}),(0,y.jsx)(C,{value:String(V.availableTools),label:m(`workflows:previewPages.availableTools`),note:m(`workflows:previewPages.countRestrictedTools`,{count:V.restrictedTools}),tone:`green`}),(0,y.jsx)(C,{value:`${V.errorRate}%`,label:m(`workflows:previewPages.errorRate`),note:`24h`,tone:`amber`})]}),(0,y.jsxs)(x,{className:`mcp-tools-panel [.mcp-center_>_&]:flex-1 [.mcp-center_>_&]:min-h-0 [.mcp-center_>_&]:overflow-y-auto`,children:[(0,y.jsxs)(S,{children:[m(`workflows:previewPages.toolCapabilities`),` · `,z.length]}),z.length?z.map(e=>(0,y.jsxs)(`div`,{className:`tool-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] [&_small]:overflow-hidden [&_small]:text-ellipsis [&_small]:whitespace-nowrap grid min-h-[48px] grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center gap-[8px] [border-top:1px_solid_var(--stroke-soft)] [padding:6px_2px]`,children:[(0,y.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,y.jsx)(l,{size:15})}),(0,y.jsxs)(`span`,{children:[(0,y.jsx)(`strong`,{children:e.name}),(0,y.jsxs)(`small`,{children:[e.serviceName,` · `,e.description]})]}),(0,y.jsx)(w,{tone:e.risk===`high`||e.risk===`高风险`?`red`:e.risk===`medium`||e.risk===`中风险`?`amber`:`green`,children:E(e.risk,m)}),(0,y.jsx)(g,{checked:!!e.enabled,disabled:j||!e.serviceEnabled,"aria-label":m(`workflows:previewPages.toggleToolName`,{name:e.name}),onCheckedChange:t=>void H(e,t)})]},e.piName)):(0,y.jsx)(`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:m(`workflows:previewPages.noToolsAvailable`)})]})]}),(0,y.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,y.jsxs)(x,{children:[(0,y.jsx)(S,{children:m(`workflows:previewPages.currentService`)}),(0,y.jsx)(`h2`,{children:R?.name||m(`workflows:previewPages.noServerConfigured`)}),(0,y.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-muted)] text-[12px] leading-[1.55]`,children:R?.error||m(R?`workflows:previewPages.thisServerExposesToolsThroughAStandardMCPTransportEnabledToolsAreRegisteredInNewAgentRuntimes`:`workflows:previewPages.useTheButtonInTheUpperRightToAddAStreamableHTTPOrStdioMCPServer`)}),[[m(`workflows:previewPages.transport`),R?.transport===`stdio`?`stdio`:R?.transport===`sse`?`HTTP + SSE`:`Streamable HTTP`],...R?.transport===`stdio`?[[m(`workflows:previewPages.executable`),R.command||`—`],[m(`workflows:previewPages.workingDirectory`),R.workingDirectory||`—`]]:[[m(`workflows:previewPages.serverAddress`),R?.endpoint||`—`]],[m(`workflows:previewPages.latency`),R?.latencyMs==null?`—`:`${R.latencyMs} ms`],[m(`workflows:previewPages.lastPing`),R?.lastPingAt?u(R.lastPingAt,h):`—`],[m(`workflows:previewPages.authentication`),D(R,m)]].map(e=>(0,y.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,y.jsx)(`span`,{children:e[0]}),(0,y.jsx)(`strong`,{title:e[1],children:e[1]})]},e[0])),(0,y.jsxs)(`div`,{className:`toggle-line [&_>_span]:flex [&_>_span]:items-center [&_>_span]:gap-[7px] [&_>_span]:text-[12px] flex min-h-[34px] items-center justify-between [border-top:1px_solid_var(--stroke-soft)]`,children:[(0,y.jsx)(`span`,{children:m(`workflows:previewPages.serverEnabled`)}),(0,y.jsx)(g,{checked:!!R?.enabled,disabled:!R||j,"aria-label":m(`workflows:previewPages.toggleMCPServer`),onCheckedChange:e=>void U(e)})]}),(0,y.jsxs)(`div`,{className:`mt-[15px] flex gap-2 max-[650px]:flex-wrap`,children:[(0,y.jsxs)(i,{size:`sm`,variant:`secondary`,disabled:!R?.enabled||j,onClick:W,children:[(0,y.jsx)(p,{className:j?`animate-spin`:``,"data-icon":`inline-start`}),m(`workflows:previewPages.testConnection`)]}),(0,y.jsxs)(i,{size:`sm`,variant:`destructive`,disabled:!R||j,onClick:G,children:[(0,y.jsx)(c,{"data-icon":`inline-start`}),m(`workflows:previewPages.delete`)]})]})]}),(0,y.jsxs)(x,{className:`mcp-calls-panel [.mcp-layout_&]:flex-1 [.mcp-layout_&]:min-h-0 [.mcp-layout_&]:overflow-y-auto`,children:[(0,y.jsx)(S,{children:m(`workflows:previewPages.recentCalls`)}),B.length?B.slice(0,8).map(e=>(0,y.jsxs)(`div`,{className:`activity-row [&_span]:flex [&_span]:min-w-0 [&_span]:flex-col [&_span]:gap-[3px] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_span]:text-[var(--text)] [&.failed]:text-[var(--danger)] [&.running]:text-[var(--star-strong)] grid grid-cols-[auto_minmax(0,1fr)] items-center gap-[9px] [border-top:1px_solid_var(--stroke-soft)] [padding:9px_2px] text-[var(--success)]`,children:[(0,y.jsx)(s,{size:14}),(0,y.jsxs)(`span`,{children:[(0,y.jsx)(`strong`,{children:e.toolName}),(0,y.jsxs)(`small`,{children:[u(e.timestamp,h),` ·`,` `,e.status===`ok`?`OK`:e.error||`Error`,` ·`,` `,e.durationMs,` ms`]})]})]},e.id)):(0,y.jsx)(`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:m(`workflows:previewPages.noRecentCalls`)})]})]})]})})}export{O as McpPage};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./api-B6CluO7V.js";import{t as i}from"./button-XhIEgIsg.js";import{t as a}from"./use-i18n-jYw5s_Yn.js";import{t as o}from"./utils-C8uzG5AZ.js";import{t as s}from"./circle-dot-rl11gaty.js";import{t as c}from"./trash-2-mhzzyC6i.js";import{t as l}from"./wrench-BqeVhocX.js";import{B as u,_ as d,_t as f,bt as p,g as m,m as h,p as g}from"./index-Bd5A8V1V.js";import{t as _}from"./usePagePrimaryAction-Bw0OFTDZ.js";var v=e(t(),1),y=n(),b={green:`border-[var(--success-border)] bg-[var(--success-soft)] text-[var(--success-strong)]`,amber:`border-[var(--warning-border)] bg-[var(--warning-soft)] text-[var(--warning-strong)]`,gray:`border-[var(--stroke)] bg-[var(--surface-muted)] text-[var(--text-muted)]`,red:`border-[var(--danger-border)] bg-[var(--danger-soft)] text-[var(--danger)]`};function x({className:e,children:t}){return(0,y.jsx)(h,{size:`sm`,className:o(`workflow-card [&_h2]:text-[16px] [&_h2]:tracking-[-.02em] [.detail-stack_>_&]:[flex:0_0_auto] [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--panel)] text-[var(--text)] shadow-[0_1px_2px_var(--sh-edge),0_14px_32px_-24px_var(--shadow)] gap-0 p-3.5 py-3.5`,e),children:t})}function S({children:e}){return(0,y.jsx)(m,{className:`workflow-section-title [.selection-list_&]:mb-[8px] [.node-library_&]:mb-[8px] text-[var(--text-soft)] text-[13px] font-[700] leading-[1.4]`,children:e})}function C({value:e,label:t,note:n,tone:r}){return(0,y.jsxs)(h,{size:`sm`,className:o(`workflow-card [&_h2]:text-[16px] [&_h2]:tracking-[-.02em] [.detail-stack_>_&]:[flex:0_0_auto] [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--panel)] text-[var(--text)] shadow-[0_1px_2px_var(--sh-edge),0_14px_32px_-24px_var(--shadow)] metric [transition:transform_var(--d2)_var(--ease-out),_box-shadow_var(--d2)_var(--ease-out),_border-color_var(--d2)_var(--ease-out)] hover:[transform:translateY(-2px)] hover:shadow-[var(--sh-2)] hover:border-[var(--star-border)] [&_small]:[grid-column:1/-1] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_strong]:mt-[5px] [&_strong]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_strong]:text-[23px] [&_span]:[align-self:end] [&_span]:text-[var(--text-muted)] [&_span]:text-[13px] [&.blue_strong]:text-[var(--star-strong)] [&.green_strong]:text-[var(--success)] [&.amber_strong]:text-[var(--amber)] grid grid-cols-[1fr_auto] [padding:12px] gap-0 p-3 py-3`,r),children:[(0,y.jsx)(`small`,{children:t}),(0,y.jsx)(`strong`,{children:e}),(0,y.jsx)(`span`,{children:n})]})}function w({children:e,tone:t}){return(0,y.jsx)(d,{variant:`outline`,className:b[t],children:e})}function T(e,t){return e===`online`?[t(`workflows:previewPages.online`),`green`]:e===`connecting`?[t(`workflows:previewPages.connecting`),`amber`]:e===`unauthorized`?[t(`workflows:previewPages.unauthorized`),`gray`]:e===`disabled`?[t(`workflows:previewPages.disabled`),`gray`]:[t(`workflows:previewPages.offline`),`red`]}function E(e,t){return e===`high`||e===`高风险`?t(`workflows:previewPages.highRisk`):e===`medium`||e===`中风险`?t(`workflows:previewPages.mediumRisk`):e===`low`||e===`低风险`?t(`workflows:previewPages.lowRisk`):String(e||``)}function D(e,t){return e?e.auth===`headers`?t(`workflows:previewPages.countRequestHeaders`,{count:e.authCount}):e.auth===`environment`?t(`workflows:previewPages.configuredEnvironmentVariables`):e.auth===`local`?t(`workflows:previewPages.localProcess`):t(`workflows:previewPages.none`):`—`}function O({notify:e,query:t=``,registerPrimaryAction:n,requestText:o,requestConfirm:d}){let{t:m,language:h}=a(),[b,O]=(0,v.useState)(null),[k,A]=(0,v.useState)(``),[j,M]=(0,v.useState)(!1),[,N]=(0,v.useState)(``),P=(0,v.useCallback)(async(e=!0)=>{N(``);try{let t=await r(`/api/mcp?refresh=${e?`1`:`0`}`);return O(t),A(e=>t.services.some(t=>t.id===e)?e:t.services[0]?.id||``),t}catch(e){return N(e instanceof Error?e.message:String(e)),null}},[]);(0,v.useEffect)(()=>{P(!0);let e=window.setInterval(()=>{P(!1)},1e4);return()=>window.clearInterval(e)},[P]);let F=(0,v.useCallback)(async()=>{let t=await o?.({title:m(`workflows:previewPages.addMCPService`),message:m(`workflows:previewPages.enterAStreamableHTTPURLAStdioCommandOrJSONContainingHeadersEnv`),inputLabel:m(`workflows:previewPages.serverConfiguration`),placeholder:`https://server.example.com/mcp`,maxLength:12e3,confirmLabel:m(`workflows:previewPages.continue`)});if(t?.trim()&&await d?.({title:m(`workflows:previewPages.connectMCPServer`),message:m(`workflows:previewPages.mcpServersCanExposeToolsThatPerformExternalActionsConnectOnlyToServersYouTrust`),confirmLabel:m(`workflows:previewPages.connect`),tone:`danger`})!==!1){M(!0),N(``);try{let n=await r(`/api/mcp`,{method:`POST`,body:JSON.stringify({spec:t})});O(n),A(n.services.at(-1)?.id||n.services[0]?.id||``),e(m(`workflows:previewPages.mcpServerAdded`),`success`)}catch(t){let n=t instanceof Error?t.message:String(t);N(n),e(n,`error`)}finally{M(!1)}}},[e,d,o,m]);_(n,F);let I=b?.services||[],L=I.filter(e=>`${e.name} ${e.endpoint}`.toLowerCase().includes(t.toLowerCase())),R=I.find(e=>e.id===k)||L[0]||I[0]||null,z=(b?.tools||[]).filter(e=>`${e.name} ${e.serviceName} ${e.description}`.toLowerCase().includes(t.toLowerCase())),B=(b?.calls||[]).filter(e=>!R||e.serviceId===R.id),V=b?.metrics||{totalServices:0,onlineServices:0,availableTools:0,restrictedTools:0,errorRate:0},H=async(e,t)=>{M(!0),N(``);try{O(await r(`/api/mcp/${encodeURIComponent(e.serviceId)}/tools/${encodeURIComponent(e.name)}`,{method:`PATCH`,body:JSON.stringify({enabled:t})}))}catch(e){N(e instanceof Error?e.message:String(e))}finally{M(!1)}},U=async t=>{if(R){M(!0),N(``);try{O(await r(`/api/mcp/${encodeURIComponent(R.id)}`,{method:`PATCH`,body:JSON.stringify({enabled:t})})),e(m(t?`workflows:previewPages.mcpServerEnabled`:`workflows:previewPages.mcpServerDisabled`),`success`)}catch(e){N(e instanceof Error?e.message:String(e))}finally{M(!1)}}},W=async()=>{if(R){M(!0),N(``);try{O(await r(`/api/mcp/${encodeURIComponent(R.id)}/test`,{method:`POST`,body:`{}`})),e(m(`workflows:previewPages.mcpConnectionTestPassed`),`success`)}catch(t){let n=t instanceof Error?t.message:String(t);N(n),e(n,`error`)}finally{M(!1)}}},G=async()=>{if(R&&await d?.({title:m(`workflows:previewPages.deleteMCPServer`),message:m(`workflows:previewPages.afterDeletionToolsFromThisServerWillBeRemovedFromSubsequentAgentRuns`),confirmLabel:m(`workflows:previewPages.delete`),tone:`danger`})!==!1){M(!0),N(``);try{await r(`/api/mcp/${encodeURIComponent(R.id)}`,{method:`DELETE`});let t=await P(!1);A(t?.services[0]?.id||``),e(m(`workflows:previewPages.mcpServerDeleted`),`success`)}catch(t){let n=t instanceof Error?t.message:String(t);N(n),e(n,`error`)}finally{M(!1)}}};return(0,y.jsx)(`div`,{className:`preview-page flex min-h-[100%] flex-col`,children:(0,y.jsxs)(`div`,{className:`mcp-layout [.preview-page_>_&]:min-h-0 [.preview-page_>_&]:flex-1 max-[1150px]:grid-cols-[220px_minmax(340px,1fr)] max-[650px]:grid-cols-[1fr] grid min-h-[100%] grid-cols-[230px_minmax(320px,1fr)_300px] gap-[12px]`,children:[(0,y.jsxs)(x,{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,y.jsx)(S,{children:m(`workflows:previewPages.services`)}),L.length?L.map(e=>{let[t,n]=T(e.status,m),r=e.transport===`stdio`?e.workingDirectory||e.command:e.endpoint;return(0,y.jsxs)(`button`,{className:`service-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)] [&.active]:rounded-[var(--r-sm)] [&.active]: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] [&_small]:overflow-hidden [&_small]:text-ellipsis [&_small]:whitespace-nowrap ${R?.id===e.id?`active`:``}`,onClick:()=>A(e.id),children:[(0,y.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,y.jsx)(f,{size:15})}),(0,y.jsxs)(`span`,{children:[(0,y.jsx)(`strong`,{children:e.name}),(0,y.jsx)(`small`,{title:r,children:r})]}),(0,y.jsx)(w,{tone:n,children:t})]},e.id)}):(0,y.jsx)(`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:m(`workflows:previewPages.noServerConfigured`)})]}),(0,y.jsxs)(`div`,{className:`mcp-center max-[650px]:min-w-0 flex min-w-0 flex-col gap-[12px]`,children:[(0,y.jsxs)(`div`,{className:`metric-grid max-[650px]:grid-cols-[1fr] grid grid-cols-[repeat(3,minmax(0,1fr))] gap-[9px]`,children:[(0,y.jsx)(C,{value:String(V.onlineServices),label:m(`workflows:previewPages.onlineServices`),note:m(`workflows:previewPages.countServicesTotal`,{count:V.totalServices}),tone:`blue`}),(0,y.jsx)(C,{value:String(V.availableTools),label:m(`workflows:previewPages.availableTools`),note:m(`workflows:previewPages.countRestrictedTools`,{count:V.restrictedTools}),tone:`green`}),(0,y.jsx)(C,{value:`${V.errorRate}%`,label:m(`workflows:previewPages.errorRate`),note:`24h`,tone:`amber`})]}),(0,y.jsxs)(x,{className:`mcp-tools-panel [.mcp-center_>_&]:flex-1 [.mcp-center_>_&]:min-h-0 [.mcp-center_>_&]:overflow-y-auto`,children:[(0,y.jsxs)(S,{children:[m(`workflows:previewPages.toolCapabilities`),` · `,z.length]}),z.length?z.map(e=>(0,y.jsxs)(`div`,{className:`tool-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] [&_small]:overflow-hidden [&_small]:text-ellipsis [&_small]:whitespace-nowrap grid min-h-[48px] grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center gap-[8px] [border-top:1px_solid_var(--stroke-soft)] [padding:6px_2px]`,children:[(0,y.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,y.jsx)(l,{size:15})}),(0,y.jsxs)(`span`,{children:[(0,y.jsx)(`strong`,{children:e.name}),(0,y.jsxs)(`small`,{children:[e.serviceName,` · `,e.description]})]}),(0,y.jsx)(w,{tone:e.risk===`high`||e.risk===`高风险`?`red`:e.risk===`medium`||e.risk===`中风险`?`amber`:`green`,children:E(e.risk,m)}),(0,y.jsx)(g,{checked:!!e.enabled,disabled:j||!e.serviceEnabled,"aria-label":m(`workflows:previewPages.toggleToolName`,{name:e.name}),onCheckedChange:t=>void H(e,t)})]},e.piName)):(0,y.jsx)(`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:m(`workflows:previewPages.noToolsAvailable`)})]})]}),(0,y.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,y.jsxs)(x,{children:[(0,y.jsx)(S,{children:m(`workflows:previewPages.currentService`)}),(0,y.jsx)(`h2`,{children:R?.name||m(`workflows:previewPages.noServerConfigured`)}),(0,y.jsx)(`p`,{className:`muted-copy m-[8px_0_14px] text-[var(--text-muted)] text-[12px] leading-[1.55]`,children:R?.error||m(R?`workflows:previewPages.thisServerExposesToolsThroughAStandardMCPTransportEnabledToolsAreRegisteredInNewAgentRuntimes`:`workflows:previewPages.useTheButtonInTheUpperRightToAddAStreamableHTTPOrStdioMCPServer`)}),[[m(`workflows:previewPages.transport`),R?.transport===`stdio`?`stdio`:R?.transport===`sse`?`HTTP + SSE`:`Streamable HTTP`],...R?.transport===`stdio`?[[m(`workflows:previewPages.executable`),R.command||`—`],[m(`workflows:previewPages.workingDirectory`),R.workingDirectory||`—`]]:[[m(`workflows:previewPages.serverAddress`),R?.endpoint||`—`]],[m(`workflows:previewPages.latency`),R?.latencyMs==null?`—`:`${R.latencyMs} ms`],[m(`workflows:previewPages.lastPing`),R?.lastPingAt?u(R.lastPingAt,h):`—`],[m(`workflows:previewPages.authentication`),D(R,m)]].map(e=>(0,y.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,y.jsx)(`span`,{children:e[0]}),(0,y.jsx)(`strong`,{title:e[1],children:e[1]})]},e[0])),(0,y.jsxs)(`div`,{className:`toggle-line [&_>_span]:flex [&_>_span]:items-center [&_>_span]:gap-[7px] [&_>_span]:text-[12px] flex min-h-[34px] items-center justify-between [border-top:1px_solid_var(--stroke-soft)]`,children:[(0,y.jsx)(`span`,{children:m(`workflows:previewPages.serverEnabled`)}),(0,y.jsx)(g,{checked:!!R?.enabled,disabled:!R||j,"aria-label":m(`workflows:previewPages.toggleMCPServer`),onCheckedChange:e=>void U(e)})]}),(0,y.jsxs)(`div`,{className:`mt-[15px] flex gap-2 max-[650px]:flex-wrap`,children:[(0,y.jsxs)(i,{size:`sm`,variant:`secondary`,disabled:!R?.enabled||j,onClick:W,children:[(0,y.jsx)(p,{className:j?`animate-spin`:``,"data-icon":`inline-start`}),m(`workflows:previewPages.testConnection`)]}),(0,y.jsxs)(i,{size:`sm`,variant:`destructive`,disabled:!R||j,onClick:G,children:[(0,y.jsx)(c,{"data-icon":`inline-start`}),m(`workflows:previewPages.delete`)]})]})]}),(0,y.jsxs)(x,{className:`mcp-calls-panel [.mcp-layout_&]:flex-1 [.mcp-layout_&]:min-h-0 [.mcp-layout_&]:overflow-y-auto`,children:[(0,y.jsx)(S,{children:m(`workflows:previewPages.recentCalls`)}),B.length?B.slice(0,8).map(e=>(0,y.jsxs)(`div`,{className:`activity-row [&_span]:flex [&_span]:min-w-0 [&_span]:flex-col [&_span]:gap-[3px] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_span]:text-[var(--text)] [&.failed]:text-[var(--danger)] [&.running]:text-[var(--star-strong)] grid grid-cols-[auto_minmax(0,1fr)] items-center gap-[9px] [border-top:1px_solid_var(--stroke-soft)] [padding:9px_2px] text-[var(--success)]`,children:[(0,y.jsx)(s,{size:14}),(0,y.jsxs)(`span`,{children:[(0,y.jsx)(`strong`,{children:e.toolName}),(0,y.jsxs)(`small`,{children:[u(e.timestamp,h),` ·`,` `,e.status===`ok`?`OK`:e.error||`Error`,` ·`,` `,e.durationMs,` ms`]})]})]},e.id)):(0,y.jsx)(`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:m(`workflows:previewPages.noRecentCalls`)})]})]})]})})}export{O as McpPage};
|