nextclaw 0.18.12-beta.2 → 0.18.12-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/app/index.js +908 -266
- package/dist/cli/launcher/index.js +8 -3
- package/dist/{npm-runtime-update-state.store-DaF0iDY9.js → npm-runtime-update-state.store-75vzvn0B.js} +200 -30
- package/package.json +17 -16
- package/resources/USAGE.md +41 -1
- package/ui-dist/assets/api-Dai6UR3J.js +15 -0
- package/ui-dist/assets/app-manager-provider-BZr5VxCe.js +1 -0
- package/ui-dist/assets/app-navigation.config-BjIj_FLm.js +1 -0
- package/ui-dist/assets/{book-open-C5p9re7m.js → book-open-DgLqYpNY.js} +1 -1
- package/ui-dist/assets/channels-list-page-L6FFtRYn.js +8 -0
- package/ui-dist/assets/{chat-a-_X0PmT.js → chat-ZQIVJChB.js} +7 -7
- package/ui-dist/assets/chat-page-CR1yI96r.js +1 -0
- package/ui-dist/assets/chunk-JZWAC4HX-u4uYphxM.js +3 -0
- package/ui-dist/assets/{config-split-page-YB7xRSn7.js → config-split-page-BMRGuCJQ.js} +1 -1
- package/ui-dist/assets/{createLucideIcon-D48LQ7_3.js → createLucideIcon-BZkY6emz.js} +1 -1
- package/ui-dist/assets/desktop-update-config-AXzb7OEa.js +1 -0
- package/ui-dist/assets/{dialog-BNdeIVqc.js → dialog-DgybjpeU.js} +1 -1
- package/ui-dist/assets/{dist-BjUfmI6n.js → dist-CxcPOISF.js} +1 -1
- package/ui-dist/assets/{doc-browser-CX_BvO6R.js → doc-browser-BUlCkZo2.js} +1 -1
- package/ui-dist/assets/{doc-browser-CLdhFEsz.js → doc-browser-CzCV73NJ.js} +1 -1
- package/ui-dist/assets/doc-browser-Doh2541x.js +1 -0
- package/ui-dist/assets/{doc-browser-context-5mbkyvid.js → doc-browser-context-DfLHAWbG.js} +1 -1
- package/ui-dist/assets/{es2015-Db-PtAnL.js → es2015-BVRlEE06.js} +1 -1
- package/ui-dist/assets/{external-link-BwNyDSMe.js → external-link-Sw3ah_JD.js} +1 -1
- package/ui-dist/assets/{folder-BSLCUICp.js → folder-D7-VTnkz.js} +1 -1
- package/ui-dist/assets/{hash-DpL5u6Fu.js → hash-zajSTDXZ.js} +1 -1
- package/ui-dist/assets/i18n-C5Mibli1.js +1 -0
- package/ui-dist/assets/index-B7RsQ-ne.js +2 -0
- package/ui-dist/assets/index-D8MKmXtO.css +1 -0
- package/ui-dist/assets/{key-round-BNTFD7Jk.js → key-round-CnI1mc9F.js} +1 -1
- package/ui-dist/assets/loader-circle-B5i8oMMY.js +1 -0
- package/ui-dist/assets/{logo-badge-a-OsoTKw.js → logo-badge-BQgKnVtz.js} +1 -1
- package/ui-dist/assets/{logos--4c27B_Z.js → logos-CqVm0q0W.js} +1 -1
- package/ui-dist/assets/marketplace-page-Bj55-6F2.js +1 -0
- package/ui-dist/assets/{marketplace-page-PA3qcNzv.js → marketplace-page-ClRW-W3g.js} +2 -2
- package/ui-dist/assets/mcp-marketplace-page-DtngnIi0.js +40 -0
- package/ui-dist/assets/mcp-marketplace-page-_Wu2VnHy.js +1 -0
- package/ui-dist/assets/message-square-D6Z4NwpG.js +1 -0
- package/ui-dist/assets/{model-config-C3-m1Sua.js → model-config-D_y8F0j6.js} +1 -1
- package/ui-dist/assets/{notice-card-DE4jOEXF.js → notice-card-uzwjFyML.js} +1 -1
- package/ui-dist/assets/play-D8WJLnJe.js +1 -0
- package/ui-dist/assets/plus-Di0KAkiO.js +1 -0
- package/ui-dist/assets/{popover-B6dtrFF5.js → popover-C8tMB7tR.js} +1 -1
- package/ui-dist/assets/{provider-scoped-model-input-BkpcdlQB.js → provider-scoped-model-input-ORZutTDv.js} +1 -1
- package/ui-dist/assets/{providers-list-EzKC5s0y.js → providers-list-DSc3d8me.js} +1 -1
- package/ui-dist/assets/refresh-ccw-Bii4w8aB.js +1 -0
- package/ui-dist/assets/refresh-cw-BxojR62w.js +1 -0
- package/ui-dist/assets/remote-rWiu3cys.js +1 -0
- package/ui-dist/assets/{rotate-cw-CeTNbfMs.js → rotate-cw-1Xqa7LZ8.js} +1 -1
- package/ui-dist/assets/runtime-config-page-B4uSax1I.js +1 -0
- package/ui-dist/assets/{save-B8Rym7bl.js → save--BVI5wZX.js} +1 -1
- package/ui-dist/assets/{search-config-CNh9FS_N.js → search-config-CaqqlsdW.js} +1 -1
- package/ui-dist/assets/{search-BUGoDsjN.js → search-vChioOoe.js} +1 -1
- package/ui-dist/assets/{secrets-config-Bau56GeM.js → secrets-config-llf5ROde.js} +2 -2
- package/ui-dist/assets/{select-BuXrS7g3.js → select-uO-zhYsH.js} +1 -1
- package/ui-dist/assets/{sessions-config-page-BDF04GaS.js → sessions-config-page-BqOXte9x.js} +2 -2
- package/ui-dist/assets/{setting-row-CifMdz8g.js → setting-row-BIiXR4hx.js} +1 -1
- package/ui-dist/assets/settings-CiRChctQ.js +1 -0
- package/ui-dist/assets/skeleton-CFQRIUzt.js +1 -0
- package/ui-dist/assets/{sparkles-Bo0DxmaB.js → sparkles-D1ZKWdm4.js} +1 -1
- package/ui-dist/assets/{status-dot-CS7yRd9c.js → status-dot-Dv_hiUVa.js} +1 -1
- package/ui-dist/assets/{tabs-custom-HBN-j_Kn.js → tabs-custom-CsACkVji.js} +1 -1
- package/ui-dist/assets/{tag-chip-BZSHb3cE.js → tag-chip-DVbgpsYW.js} +1 -1
- package/ui-dist/assets/theme-provider-BU77FNSB.js +1 -0
- package/ui-dist/assets/{tooltip-BMz2ki-V.js → tooltip-CvAtG-kT.js} +1 -1
- package/ui-dist/assets/{trash-2-gWTb2oNS.js → trash-2-rY9ZteZX.js} +1 -1
- package/ui-dist/assets/use-config-D2QgG7qc.js +1 -0
- package/ui-dist/assets/{use-confirm-dialog-DLVARUvb.js → use-confirm-dialog-BBClFV8E.js} +1 -1
- package/ui-dist/assets/{use-infinite-scroll-loader-BdGMvR3y.js → use-infinite-scroll-loader-CWzpUecQ.js} +1 -1
- package/ui-dist/assets/{use-viewport-layout-DOqJ0LPT.js → use-viewport-layout-C6EN0_eq.js} +1 -1
- package/ui-dist/assets/x-DpTzXQcX.js +1 -0
- package/ui-dist/index.html +40 -36
- package/ui-dist/assets/api-BsY-53_V.js +0 -15
- package/ui-dist/assets/app-manager-provider-DTrWjVLB.js +0 -1
- package/ui-dist/assets/channels-list-page-CZAdoJ3s.js +0 -8
- package/ui-dist/assets/chat-page-BCypc4bi.js +0 -1
- package/ui-dist/assets/chunk-JZWAC4HX-CD1w8mri.js +0 -3
- package/ui-dist/assets/desktop-B9azAgEh.js +0 -2
- package/ui-dist/assets/desktop-update-config-Dm_cedSL.js +0 -1
- package/ui-dist/assets/doc-browser-eF2QWInq.js +0 -1
- package/ui-dist/assets/i18n-jGA3YQz4.js +0 -1
- package/ui-dist/assets/index-CUmk8xFK.css +0 -1
- package/ui-dist/assets/index-o_M3x0GR.js +0 -2
- package/ui-dist/assets/loader-circle-C3XJNZy7.js +0 -1
- package/ui-dist/assets/marketplace-page-DvmfPCAY.js +0 -1
- package/ui-dist/assets/mcp-marketplace-page-Dl8wdAtD.js +0 -1
- package/ui-dist/assets/mcp-marketplace-page-DukryaOq.js +0 -40
- package/ui-dist/assets/play-DGBx1fWI.js +0 -1
- package/ui-dist/assets/plus-CUuByV8j.js +0 -1
- package/ui-dist/assets/remote-Xzy42m-0.js +0 -1
- package/ui-dist/assets/runtime-config-page-DAMnv5Xp.js +0 -1
- package/ui-dist/assets/settings-COxdZHdu.js +0 -1
- package/ui-dist/assets/skeleton-DW5F83p8.js +0 -1
- package/ui-dist/assets/use-config-Ds7DyaYQ.js +0 -1
- package/ui-dist/assets/x-CxanI1fH.js +0 -1
- /package/ui-dist/assets/{config-hints-fDrYfl0l.js → config-hints-MogHYQ8G.js} +0 -0
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import{_ as e,i as t,m as n,p as r,u as i}from"./i18n-jGA3YQz4.js";import{At as a,C as o,Dt as s,E as c,Ft as l,It as u,Pt as d,S as f,T as p,kt as m,pt as h,w as g,x as _,zt as v}from"./api-BsY-53_V.js";import{a as ee,c as y,i as b,l as x,n as S,o as te,r as C,s as w,t as T}from"./use-infinite-scroll-loader-BdGMvR3y.js";import{a as E,i as D,n as O,o as k,r as A,t as j}from"./dialog-BNdeIVqc.js";import{t as M}from"./createLucideIcon-D48LQ7_3.js";import{t as N}from"./sparkles-Bo0DxmaB.js";import{t as P}from"./notice-card-DE4jOEXF.js";import{i as F}from"./doc-browser-context-5mbkyvid.js";import{n as I}from"./doc-browser-CX_BvO6R.js";import{t as L}from"./tag-chip-BZSHb3cE.js";import{t as R}from"./use-confirm-dialog-DLVARUvb.js";var z=M(`PackageCheck`,[[`path`,{d:`m16 16 2 2 4-4`,key:`gfu2re`}],[`path`,{d:`M21 10V8a2 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.73l7 4a2 2 0 0 0 2 0l2-1.14`,key:`e7tb2h`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`12`,key:`a4e8g8`}]]);function B(e){return(e??``).trim().toLowerCase()}function ne(e){let t=new Map;for(let n of e){let e=[n.catalogSlug,n.spec,n.id,n.label];for(let r of e){let e=B(r);!e||t.has(e)||t.set(e,n)}}return t}function re(e,t){let n=[e.slug,e.install.spec,e.id,e.name];for(let e of n){let n=B(e);if(!n)continue;let r=t.get(n);if(r)return r}}function V(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function H(e,t,n,r,i){let a=`<!doctype html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<title>${V(e)}</title>
|
|
7
|
-
<style>
|
|
8
|
-
body { margin: 0; background: #f8fafc; color: #0f172a; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
|
|
9
|
-
.wrap { max-width: 980px; margin: 0 auto; padding: 28px 20px 40px; }
|
|
10
|
-
.hero { border: 1px solid #dbeafe; border-radius: 16px; background: linear-gradient(180deg, #eff6ff, #ffffff); padding: 20px; }
|
|
11
|
-
.hero h1 { margin: 0; font-size: 26px; }
|
|
12
|
-
.grid { display: grid; grid-template-columns: 280px 1fr; gap: 14px; margin-top: 16px; }
|
|
13
|
-
.card { border: 1px solid #e2e8f0; background: #fff; border-radius: 14px; overflow: hidden; }
|
|
14
|
-
.card h2 { margin: 0; padding: 12px 14px; font-size: 13px; font-weight: 700; color: #1d4ed8; border-bottom: 1px solid #e2e8f0; background: #f8fafc; }
|
|
15
|
-
.body { padding: 12px 14px; }
|
|
16
|
-
pre { margin: 0; white-space: pre-wrap; line-height: 1.7; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
|
|
17
|
-
a { color: #2563eb; text-decoration: none; }
|
|
18
|
-
@media (max-width: 860px) { .grid { grid-template-columns: 1fr; } }
|
|
19
|
-
</style>
|
|
20
|
-
</head>
|
|
21
|
-
<body>
|
|
22
|
-
<main class="wrap">
|
|
23
|
-
<section class="hero">
|
|
24
|
-
<h1>${V(e)}</h1>
|
|
25
|
-
${i?`<p>${V(i)}</p>`:``}
|
|
26
|
-
${r?`<p><a href="${V(r)}" target="_blank" rel="noopener noreferrer">${V(r)}</a></p>`:``}
|
|
27
|
-
</section>
|
|
28
|
-
<section class="grid">
|
|
29
|
-
<article class="card">
|
|
30
|
-
<h2>Metadata</h2>
|
|
31
|
-
<div class="body"><pre>${V(t)}</pre></div>
|
|
32
|
-
</article>
|
|
33
|
-
<article class="card">
|
|
34
|
-
<h2>Content</h2>
|
|
35
|
-
<div class="body"><pre>${V(n)}</pre></div>
|
|
36
|
-
</article>
|
|
37
|
-
</section>
|
|
38
|
-
</main>
|
|
39
|
-
</body>
|
|
40
|
-
</html>`;return`data:text/html;charset=utf-8,${encodeURIComponent(a)}`}function U(e,n,r){return b(n?.summaryI18n,n?.summary,e)||C(r,e)||t(`marketplaceInstalledLocalSummary`)}function W(e,t){return t?.transport?t.transport.toUpperCase():(e?.install?.transportTypes??[]).map(e=>e.toUpperCase()).join(` / `)||`MCP`}var G=r();function K(e){let{item:n,record:r,localeFallbacks:i,onOpen:o,onInstall:s,onToggle:c,onDoctor:l,onRemove:u}=e,d=r,f=n?.name??r?.label??r?.id??`MCP`,p=U(i,n,r),m=W(n,r),h=d?d.enabled===!1?t(`marketplaceDisable`):t(`statusReady`):null;return(0,G.jsx)(`article`,{onClick:o,className:`cursor-pointer rounded-2xl border border-gray-200/70 bg-white p-4 shadow-sm transition hover:border-blue-300 hover:shadow-md`,children:(0,G.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`div`,{className:`text-sm font-semibold text-gray-900`,children:f}),(0,G.jsx)(`div`,{className:`mt-1 text-xs text-gray-500`,children:m}),(0,G.jsx)(`div`,{className:`mt-2 line-clamp-2 text-sm text-gray-600`,children:p}),(0,G.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(n?.tags??[]).map(e=>(0,G.jsx)(L,{children:e},e)),h?(0,G.jsx)(L,{tone:`success`,children:h}):null]})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2`,children:[!d&&n&&s?(0,G.jsx)(a,{type:`button`,size:`sm`,variant:`primary`,className:`rounded-xl`,onClick:e=>{e.stopPropagation(),s()},children:t(`marketplaceInstall`)}):null,d?(0,G.jsxs)(G.Fragment,{children:[c?(0,G.jsx)(a,{type:`button`,size:`sm`,variant:`outline`,className:`rounded-xl border-gray-200 text-gray-700`,onClick:e=>{e.stopPropagation(),c()},children:d.enabled===!1?t(`marketplaceEnable`):t(`marketplaceDisable`)}):null,l?(0,G.jsx)(a,{type:`button`,size:`sm`,variant:`outline`,className:`rounded-xl border-blue-200 text-blue-700 hover:border-blue-300 hover:bg-blue-50 hover:text-blue-700`,onClick:e=>{e.stopPropagation(),l()},children:t(`marketplaceMcpDoctor`)}):null,u?(0,G.jsx)(a,{type:`button`,size:`sm`,variant:`outline`,className:`rounded-xl border-rose-200 text-rose-600 hover:border-rose-300 hover:bg-rose-50 hover:text-rose-600`,onClick:e=>{e.stopPropagation(),u()},children:t(`marketplaceMcpRemove`)}):null]}):null]})]})})}var q=e(n(),1);function J(e){let{item:t,open:n,pending:r,onOpenChange:i,onSubmit:a}=e;return(0,G.jsx)(j,{open:n,onOpenChange:i,children:t?(0,G.jsx)(Y,{item:t,pending:r,onOpenChange:i,onSubmit:a},`${t.slug}:${n?`open`:`closed`}`):null})}function Y(e){let{item:n,pending:r,onOpenChange:i,onSubmit:o}=e,s=n.install,[c,l]=(0,q.useState)(s?.defaultName??``),[u,d]=(0,q.useState)(!0),[f,p]=(0,q.useState)(Object.fromEntries((s?.inputs??[]).map(e=>[e.id,e.defaultValue??``])));return(0,G.jsxs)(O,{children:[(0,G.jsxs)(E,{children:[(0,G.jsx)(k,{children:t(`marketplaceMcpInstallDialogTitle`)}),(0,G.jsx)(A,{children:n.name})]}),(0,G.jsxs)(`div`,{className:`space-y-4`,children:[(0,G.jsxs)(`div`,{className:`space-y-2`,children:[(0,G.jsx)(`div`,{className:`text-sm font-medium text-gray-800`,children:t(`marketplaceMcpServerName`)}),(0,G.jsx)(m,{value:c,onChange:e=>l(e.target.value),placeholder:s?.defaultName??`mcp-server`})]}),(0,G.jsxs)(`div`,{className:`flex items-center justify-between rounded-xl border border-gray-200 px-3 py-3`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`text-sm font-medium text-gray-900`,children:t(`marketplaceMcpAllAgents`)}),(0,G.jsx)(`div`,{className:`text-xs text-gray-500`,children:t(`marketplaceMcpAllAgentsDescription`)})]}),(0,G.jsx)(h,{checked:u,onCheckedChange:d})]}),(s?.inputs??[]).map(e=>(0,G.jsxs)(`div`,{className:`space-y-2`,children:[(0,G.jsx)(`div`,{className:`text-sm font-medium text-gray-800`,children:e.label}),e.description?(0,G.jsx)(`div`,{className:`text-xs text-gray-500`,children:e.description}):null,(0,G.jsx)(m,{type:e.secret?`password`:`text`,value:f[e.id]??``,onChange:t=>p(n=>({...n,[e.id]:t.target.value})),placeholder:e.defaultValue??``})]},e.id))]}),(0,G.jsxs)(D,{children:[(0,G.jsx)(a,{variant:`outline`,onClick:()=>i(!1),disabled:r,children:t(`cancel`)}),(0,G.jsx)(a,{onClick:()=>void o({name:c,allAgents:u,inputs:f}),disabled:r||!c.trim(),children:t(r?`marketplaceInstalling`:`marketplaceInstall`)})]})]})}function ie(e){let{result:n,targetName:r,open:i,pending:a,onOpenChange:o}=e;return(0,G.jsx)(j,{open:i,onOpenChange:o,children:(0,G.jsxs)(O,{children:[(0,G.jsxs)(E,{children:[(0,G.jsx)(k,{children:t(`marketplaceMcpDoctorTitle`)}),(0,G.jsx)(A,{children:r??`-`})]}),a?(0,G.jsx)(`div`,{className:`text-sm text-gray-500`,children:t(`loading`)}):null,!a&&n?(0,G.jsxs)(`div`,{className:`space-y-3 text-sm text-gray-700`,children:[(0,G.jsxs)(`div`,{children:[t(`marketplaceMcpDoctorAccessible`),`:`,` `,n.accessible?t(`statusReady`):t(`marketplaceOperationFailed`)]}),(0,G.jsxs)(`div`,{children:[t(`marketplaceMcpDoctorTransport`),`:`,` `,n.transport.toUpperCase()]}),(0,G.jsxs)(`div`,{children:[t(`marketplaceMcpDoctorTools`),`: `,n.toolCount]}),n.error?(0,G.jsx)(P,{tone:`danger`,description:n.error,className:`rounded-lg`}):null]}):null]})})}function ae(e){let t=x({queryKey:[`marketplace-mcp-items`,e],initialPageParam:1,queryFn:({pageParam:t})=>g({...e,page:t}),getNextPageParam:e=>e.page<e.totalPages?e.page+1:void 0,staleTime:15e3}),n=(0,q.useMemo)(()=>y(t.data),[t.data]);return{...t,data:n}}function oe(){return u({queryKey:[`marketplace-mcp-installed`],queryFn:()=>o(),staleTime:1e4})}function X(){let e=v();return l({mutationFn:p,onSuccess:n=>{e.invalidateQueries({queryKey:[`marketplace-mcp-installed`]}),e.invalidateQueries({queryKey:[`marketplace-mcp-items`]}),e.invalidateQueries({queryKey:[`marketplace-mcp-doctor`]}),d.success(n.message||t(`marketplaceInstallSuccessMcp`))},onError:e=>{d.error(e.message||t(`marketplaceInstallFailed`))}})}function se(){let e=v();return l({mutationFn:c,onSuccess:n=>{e.invalidateQueries({queryKey:[`marketplace-mcp-installed`]}),e.invalidateQueries({queryKey:[`marketplace-mcp-items`]}),e.invalidateQueries({queryKey:[`marketplace-mcp-doctor`]}),d.success(n.message||t(`marketplaceMcpManageSuccess`))},onError:e=>{d.error(e.message||t(`marketplaceOperationFailed`))}})}var Z=12;function Q(){let[e,n]=(0,q.useState)(`catalog`),[r,a]=(0,q.useState)(``),[o,c]=(0,q.useState)(``),[u,d]=(0,q.useState)(`relevance`),[p,m]=(0,q.useState)(null),[h,g]=(0,q.useState)(null),[v,y]=(0,q.useState)(null),{language:b}=I(),x=F(),{confirm:C,ConfirmDialog:E}=R(),D=(0,q.useMemo)(()=>S(b),[b]);(0,q.useEffect)(()=>{let e=window.setTimeout(()=>{c(r.trim())},250);return()=>window.clearTimeout(e)},[r]);let O=ae({q:o||void 0,sort:u,pageSize:Z}),k=oe(),{containerRef:A,sentinelRef:j}=T({disabled:e!==`catalog`||O.isError||!O.hasNextPage||O.isFetchingNextPage,onLoadMore:()=>O.fetchNextPage(),watchValue:`${e}:${o}:${u}:${O.data?.loadedItems??0}:${O.data?.loadedPages??0}`});(0,q.useEffect)(()=>{let e=A.current;e&&typeof e.scrollTo==`function`&&e.scrollTo({top:0})},[A,o,e,u]);let M=X(),L=se(),B=l({mutationFn:_,onSuccess:(e,t)=>{g(t),y(e)}}),V=(0,q.useMemo)(()=>ne(k.data?.records??[]),[k.data?.records]),W=(0,q.useMemo)(()=>(k.data?.records??[]).filter(e=>{let t=[e.id??``,e.label??``,e.catalogSlug??``,e.description??``,e.descriptionZh??``].join(` `).toLowerCase();return o?t.includes(o.toLowerCase()):!0}),[k.data?.records,o]),Y=async(e,n)=>{let r=e?.name??n?.label??n?.id??`MCP`,i={title:r,kind:`content`,dedupeKey:e?`marketplace:mcp:${e.slug}`:`marketplace:mcp:${n?.id??n?.spec??r}`},a=U(D,e,n);if(!e){let e=H(r,JSON.stringify(n??{},null,2),t(`marketplaceInstalledLocalSummary`),n?.docsUrl,a);x.open(e,i);return}try{let t=await f(e.slug),n=H(r,t.metadataRaw||JSON.stringify(e,null,2),t.bodyRaw||t.raw,t.sourceUrl,a);x.open(n,i)}catch(e){let t=H(r,JSON.stringify({error:e instanceof Error?e.message:String(e)},null,2),a,void 0,a);x.open(t,i)}},Q=async e=>{p&&(await M.mutateAsync({spec:p.slug,name:e.name.trim(),allAgents:e.allAgents,inputs:e.inputs}),m(null))},$=async(e,n)=>{let r=n.id||n.spec;r&&(e===`remove`&&!await C({title:`${t(`marketplaceMcpRemoveTitle`)} ${r}?`,description:t(`marketplaceMcpRemoveDescription`),confirmLabel:t(`marketplaceMcpRemove`),variant:`destructive`})||await L.mutateAsync({action:e,id:r,spec:n.spec}))},ce=[{id:`catalog`,label:t(`marketplaceMcpTabCatalog`),icon:N},{id:`installed`,label:t(`marketplaceMcpTabInstalled`),icon:z,count:k.data?.total??0}];return(0,G.jsxs)(s,{className:`flex h-full min-h-0 flex-col pb-0 px-0`,children:[(0,G.jsxs)(`div`,{className:`flex flex-col gap-6 w-full max-w-[1400px] h-full min-h-0 mx-auto`,children:[(0,G.jsxs)(`div`,{className:`relative overflow-hidden rounded-[32px] bg-gradient-to-br from-[#0F172A] via-[#1E1B4B] to-[#312E81] px-10 py-14 text-white shadow-xl isolate`,children:[(0,G.jsx)(`div`,{className:`absolute top-0 right-0 -m-32 opacity-30 pointer-events-none mix-blend-screen scale-150 transform-gpu`,children:(0,G.jsx)(`div`,{className:`w-[500px] h-[500px] rounded-full bg-gradient-to-tl from-fuchsia-500/40 via-purple-500/30 to-indigo-500/20 blur-[80px]`})}),(0,G.jsx)(`div`,{className:`absolute bottom-0 left-0 -m-32 opacity-20 pointer-events-none mix-blend-screen transform-gpu`,children:(0,G.jsx)(`div`,{className:`w-[400px] h-[400px] rounded-full bg-gradient-to-tr from-blue-500/40 to-cyan-500/20 blur-[80px]`})}),(0,G.jsxs)(`div`,{className:`relative z-10 flex flex-col gap-3`,children:[(0,G.jsx)(`h1`,{className:`text-[38px] font-extrabold tracking-[-0.02em] leading-tight drop-shadow-sm text-transparent bg-clip-text bg-gradient-to-r from-white via-white to-white/70`,children:t(`marketplaceMcpPageTitle`)}),(0,G.jsx)(`p`,{className:`text-[17px] font-medium text-purple-100/70 max-w-2xl leading-relaxed tracking-wide`,children:t(`marketplaceMcpPageDescription`)})]})]}),(0,G.jsxs)(`div`,{className:`flex flex-col md:flex-row md:items-center justify-between gap-4 mt-2`,children:[(0,G.jsx)(`div`,{className:`flex items-center gap-1.5 p-1 bg-gray-100/60 backdrop-blur-sm rounded-2xl w-fit border border-gray-200/50 shadow-inner`,children:ce.map(t=>{let r=e===t.id,a=t.icon;return(0,G.jsxs)(`button`,{onClick:()=>n(t.id),className:i(`relative flex items-center gap-2 px-5 py-2.5 rounded-xl font-semibold text-[14px] transition-all duration-300`,r?`text-gray-900 bg-white shadow-[0_2px_10px_rgb(0,0,0,0.06)]`:`text-gray-500 hover:text-gray-700 hover:bg-gray-200/40`),children:[(0,G.jsx)(a,{className:i(`w-4 h-4`,r?`text-primary`:`text-gray-400`)}),t.label,t.id===`installed`&&typeof t.count==`number`&&(0,G.jsx)(`span`,{className:i(`ml-1 flex items-center justify-center h-5 px-1.5 min-w-5 rounded-full text-[11px] font-bold transition-colors`,r?`bg-primary/10 text-primary`:`bg-gray-200 text-gray-500`),children:t.count})]},t.id)})}),(0,G.jsx)(`div`,{className:`flex-1 w-full md:max-w-md`,children:(0,G.jsx)(ee,{scope:e===`catalog`?`all`:`installed`,searchText:r,searchPlaceholder:t(`marketplaceMcpSearchPlaceholder`),sort:u,onSearchTextChange:a,onSortChange:d})})]}),(0,G.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col mt-2`,children:[(0,G.jsx)(`div`,{className:`flex items-center justify-between mb-4 px-1`,children:(0,G.jsxs)(`h3`,{className:`text-[18px] font-bold tracking-tight text-gray-900 flex items-center gap-2`,children:[t(e===`catalog`?`marketplaceMcpSectionCatalog`:`marketplaceMcpSectionInstalled`),(0,G.jsx)(`span`,{className:`flex items-center justify-center h-6 px-2 rounded-lg bg-gray-100 text-[12px] font-semibold text-gray-500`,children:e===`catalog`?O.data?.total??0:k.data?.total??0})]})}),(0,G.jsxs)(`div`,{ref:A,className:`min-h-0 flex-1 overflow-y-auto pr-3 pb-8 -mx-1 px-1 custom-scrollbar`,"aria-busy":O.isLoading||O.isFetchingNextPage,children:[(0,G.jsxs)(`div`,{className:`grid grid-cols-1 gap-[22px] md:grid-cols-2 lg:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4 items-stretch`,children:[e===`catalog`&&O.isLoading&&(0,G.jsx)(w,{count:Z}),e===`catalog`&&!O.isLoading&&(O.data?.items??[]).map(e=>{let t=re(e,V);return(0,G.jsx)(K,{item:e,record:t,localeFallbacks:D,onOpen:()=>void Y(e,t),onInstall:()=>m(e),onToggle:t?()=>void $(t.enabled===!1?`enable`:`disable`,t):void 0,onDoctor:t?()=>{g(t.id??null),y(null),B.mutateAsync(t.id??``)}:void 0,onRemove:t?()=>void $(`remove`,t):void 0},e.id)}),e===`installed`&&W.map(e=>(0,G.jsx)(K,{record:e,localeFallbacks:D,onOpen:()=>void Y(void 0,e),onToggle:()=>void $(e.enabled===!1?`enable`:`disable`,e),onDoctor:()=>{g(e.id??null),y(null),B.mutateAsync(e.id??``)},onRemove:()=>void $(`remove`,e)},e.id??e.spec))]}),e===`catalog`&&O.isError&&(0,G.jsx)(P,{tone:`danger`,title:t(`marketplaceMcpSectionCatalog`),description:O.error.message}),e===`installed`&&k.isError&&(0,G.jsx)(P,{tone:`danger`,title:t(`marketplaceMcpSectionInstalled`),description:k.error.message}),e===`catalog`&&!O.isLoading&&!O.isError&&(O.data?.items?.length??0)===0&&(0,G.jsx)(`div`,{className:`flex flex-col items-center justify-center py-20 bg-gray-50/50 rounded-3xl border border-dashed border-gray-200 mt-4`,children:(0,G.jsx)(`p`,{className:`text-[15px] font-medium text-gray-500`,children:t(`marketplaceNoMcp`)})}),e===`installed`&&!k.isError&&W.length===0&&(0,G.jsx)(`div`,{className:`flex flex-col items-center justify-center py-20 bg-gray-50/50 rounded-3xl border border-dashed border-gray-200 mt-4`,children:(0,G.jsx)(`p`,{className:`text-[15px] font-medium text-gray-500`,children:t(`marketplaceNoInstalledMcp`)})}),e===`catalog`&&!O.isError&&(0,G.jsx)(te,{hasMore:!!O.hasNextPage,loading:O.isFetchingNextPage,sentinelRef:j})]})]})]}),(0,G.jsx)(J,{item:p,open:!!p,pending:M.isPending,onOpenChange:e=>!e&&m(null),onSubmit:Q}),(0,G.jsx)(ie,{open:!!h,targetName:h,result:v,pending:B.isPending,onOpenChange:e=>!e&&g(null)}),(0,G.jsx)(E,{})]})}export{Q as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-D48LQ7_3.js";var t=e(`Play`,[[`polygon`,{points:`6 3 20 12 6 21 6 3`,key:`1oa8hb`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-D48LQ7_3.js";var t=e(`Plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{m as e}from"./app-manager-provider-DTrWjVLB.js";export{e as RemoteAccessPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,i as t,m as n,p as r}from"./i18n-jGA3YQz4.js";import{At as i,Ct as a,Dt as o,Et as s,Pt as c,St as l,Tt as u,gt as d,kt as f,mt as p,pt as m,wt as h,xt as g,yt as _}from"./api-BsY-53_V.js";import{t as v}from"./createLucideIcon-D48LQ7_3.js";import{C as y,S as b,s as ee}from"./desktop-B9azAgEh.js";import{a as x,i as S,n as C,r as w,t as T}from"./select-BuXrS7g3.js";import{t as E}from"./loader-circle-C3XJNZy7.js";import{t as D}from"./play-DGBx1fWI.js";import{t as O}from"./plus-CUuByV8j.js";import{t as k}from"./rotate-cw-CeTNbfMs.js";import{t as A}from"./save-B8Rym7bl.js";import{t as j}from"./trash-2-gWTb2oNS.js";import{t as M}from"./notice-card-DE4jOEXF.js";import{i as N,n as te,w as ne}from"./use-config-Ds7DyaYQ.js";import{t as P}from"./config-hints-fDrYfl0l.js";import{t as F}from"./setting-row-CifMdz8g.js";var I=v(`Square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),L=e(n(),1),R=r(),z={healthy:`runtimeControlHealthy`,"starting-service":`runtimeControlStartingService`,"restarting-service":`runtimeControlRestartingService`,"stopping-service":`runtimeControlStoppingService`,"restarting-app":`runtimeControlRestartingApp`,recovering:`runtimeControlRecovering`,failed:`runtimeControlFailed`},B={running:`runtimeControlServiceRunning`,stopped:`runtimeControlServiceStopped`,starting:`runtimeControlServiceStarting`,stopping:`runtimeControlServiceStopping`,restarting:`runtimeControlServiceRestarting`},V={"desktop-embedded":`runtimeControlEnvironmentDesktop`,"managed-local-service":`runtimeControlEnvironmentManagedService`,"self-hosted-web":`runtimeControlEnvironmentSelfHosted`,"shared-web":`runtimeControlEnvironmentSharedWeb`};function H(e){return t(z[e]??`runtimeControlUnavailable`)}function U(e){return t(B[e]??`runtimeControlServiceUnknown`)}function W(e){return t(V[e.environment])}function G(e,t){return t===`start-service`?e?.canStartService:t===`stop-service`?e?.canStopService:e?.canRestartService}function K(e){return e?[{action:`start-service`,capability:e.canStartService,label:t(`runtimeControlStartService`),icon:`play`},{action:`restart-service`,capability:e.canRestartService,label:t(`runtimeControlRestartService`),icon:`rotate`},{action:`stop-service`,capability:e.canStopService,label:t(`runtimeControlStopService`),icon:`square`,variant:`destructive`},{action:`restart-app`,capability:e.canRestartApp,label:t(`runtimeControlRestartApp`),icon:`rotate`,variant:`secondary`}].filter(e=>e.capability.available||!!e.capability.reasonIfUnavailable):[]}function q(e){let{busy:t,icon:n}=e;return t?(0,R.jsx)(E,{className:`mr-2 h-4 w-4 animate-spin`}):n===`play`?(0,R.jsx)(D,{className:`mr-2 h-4 w-4`}):n===`square`?(0,R.jsx)(I,{className:`mr-2 h-4 w-4`}):(0,R.jsx)(k,{className:`mr-2 h-4 w-4`})}function J(){let{busy:e,busyAction:n,controlView:r,errorMessage:o,pendingRestart:s,visibleLifecycle:d,visibleMessage:f,visibleServiceState:m}=p(),v=K(r??void 0),y=async e=>{let n=G(r,e);if(!n?.available){c.error(n?.reasonIfUnavailable??t(`runtimeControlLoadFailed`));return}if(!(e===`stop-service`&&n.requiresConfirmation&&!window.confirm(t(`runtimeControlStopServiceConfirm`))))try{let t=await _.runRuntimeControlAction(e);c.success(t.message)}catch(e){let n=e instanceof Error?e.message:t(`runtimeControlActionFailed`);c.error(`${t(`runtimeControlActionFailed`)}: ${n}`)}},b=async()=>{if(!r?.canRestartApp.available){c.error(r?.canRestartApp.reasonIfUnavailable??t(`runtimeRestartAppUnavailable`));return}if(window.confirm(t(`runtimeControlRestartAppConfirm`)))try{let e=await _.runRuntimeControlAction(`restart-app`);c.success(e.message)}catch(e){let n=e instanceof Error?e.message:t(`runtimeControlActionFailed`);c.error(`${t(`runtimeControlActionFailed`)}: ${n}`)}};return(0,R.jsxs)(g,{children:[(0,R.jsxs)(h,{children:[(0,R.jsx)(u,{children:t(`runtimeControlTitle`)}),(0,R.jsx)(a,{children:t(`runtimeControlDescription`)})]}),(0,R.jsxs)(l,{className:`space-y-4`,children:[(0,R.jsxs)(`div`,{className:`space-y-3 rounded-xl border border-gray-200 bg-gray-50 p-4`,children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-1 md:flex-row md:items-center md:justify-between`,children:[(0,R.jsx)(`div`,{className:`text-sm font-medium text-gray-900`,children:U(m)}),(0,R.jsx)(`div`,{className:`text-xs text-gray-500`,children:r?W(r):t(`runtimeControlLoading`)})]}),(0,R.jsx)(`p`,{className:`text-sm text-gray-600`,children:f}),(0,R.jsx)(`div`,{className:`text-xs text-gray-500`,children:H(d)}),r?.managementHint?(0,R.jsx)(`p`,{className:`text-xs text-gray-500`,children:r.managementHint}):null,o&&!e?(0,R.jsx)(`p`,{className:`text-sm text-amber-700`,children:o}):null]}),s?(0,R.jsxs)(`div`,{className:`space-y-3 rounded-xl border border-amber-200 bg-amber-50 p-4`,children:[(0,R.jsx)(`div`,{className:`text-sm font-medium text-amber-900`,children:t(`runtimeControlPendingRestartTitle`)}),(0,R.jsx)(`p`,{className:`text-sm text-amber-800`,children:t(`runtimeControlPendingRestartDescription`)}),s.changedPaths.length>0?(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-[0.08em] text-amber-700`,children:t(`runtimeControlPendingRestartPaths`)}),(0,R.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:s.changedPaths.map(e=>(0,R.jsx)(`span`,{className:`rounded-full border border-amber-200 bg-white px-2.5 py-1 text-xs text-amber-800`,children:e},e))})]}):null]}):null,(0,R.jsx)(`div`,{className:`flex flex-col gap-3 md:flex-row md:flex-wrap`,children:v.map(t=>(0,R.jsxs)(i,{type:`button`,variant:t.variant??`default`,onClick:()=>{if(t.action===`restart-app`){b();return}y(t.action)},disabled:!t.capability.available||e,children:[(0,R.jsx)(q,{icon:t.icon,busy:n===t.action}),t.label]},t.action))}),v.filter(e=>!e.capability.available&&e.capability.reasonIfUnavailable).map(e=>(0,R.jsx)(`p`,{className:`text-xs text-gray-500`,children:e.capability.reasonIfUnavailable},`${e.action}-reason`))]})]})}function Y(e){let{description:t,title:n}=e;return(0,R.jsx)(M,{tone:`neutral`,title:n,description:t})}function X(e){let{children:n}=e;return(0,R.jsxs)(g,{children:[(0,R.jsxs)(h,{children:[(0,R.jsx)(u,{children:t(`runtimePresenceTitle`)}),(0,R.jsx)(a,{children:t(`runtimePresenceDescription`)})]}),(0,R.jsx)(l,{children:n})]})}function re(){let e=d().runtimeControlView?.environment,n=y(e=>e.supported),r=y(e=>e.initialized),i=y(e=>e.busyAction),a=y(e=>e.snapshot);return(0,L.useEffect)(()=>{if(e===`desktop-embedded`){b.start();return}b.markUnsupported()},[e]),e===`desktop-embedded`?(0,R.jsx)(X,{children:(0,R.jsxs)(`div`,{className:`space-y-4`,children:[(0,R.jsx)(M,{tone:`neutral`,title:t(`runtimePresenceBehaviorLabel`),description:a?.closeToBackground?t(`runtimePresenceBehaviorBackground`):t(`runtimePresenceBehaviorQuit`),className:`rounded-xl`}),!r||n&&!a?(0,R.jsx)(`p`,{className:`text-sm text-gray-500`,children:t(`runtimePresenceLoading`)}):null,a?(0,R.jsxs)(`div`,{className:`space-y-4`,children:[(0,R.jsx)(F,{title:t(`runtimePresenceCloseToBackground`),description:t(`runtimePresenceCloseToBackgroundHelp`),control:(0,R.jsx)(m,{id:`runtime-presence-close-background`,"aria-label":t(`runtimePresenceCloseToBackground`),checked:a.closeToBackground,disabled:i===`saving-preferences`,onCheckedChange:e=>{b.updatePreferences({closeToBackground:e})}})}),(0,R.jsx)(F,{title:t(`runtimePresenceLaunchAtLogin`),description:a.supportsLaunchAtLogin?t(`runtimePresenceLaunchAtLoginHelp`):a.launchAtLoginReason??t(`runtimePresenceLaunchAtLoginUnavailable`),control:(0,R.jsx)(m,{id:`runtime-presence-launch-login`,"aria-label":t(`runtimePresenceLaunchAtLogin`),checked:a.launchAtLogin,disabled:!a.supportsLaunchAtLogin||i===`saving-preferences`,onCheckedChange:e=>{b.updatePreferences({launchAtLogin:e})}})})]}):null]})}):e===`managed-local-service`?(0,R.jsx)(X,{children:(0,R.jsx)(Y,{title:t(`runtimePresenceManagedLocalTitle`),description:t(`runtimePresenceManagedLocalDescription`)})}):e===`self-hosted-web`?(0,R.jsx)(X,{children:(0,R.jsx)(Y,{title:t(`runtimePresenceSelfHostedTitle`),description:t(`runtimePresenceSelfHostedDescription`)})}):e===`shared-web`?(0,R.jsx)(X,{children:(0,R.jsx)(Y,{title:t(`runtimePresenceSharedTitle`),description:t(`runtimePresenceSharedDescription`)})}):(0,R.jsx)(X,{children:(0,R.jsx)(`p`,{className:`text-sm text-gray-500`,children:t(`runtimePresenceLoading`)})})}function ie(){return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(s,{title:t(`runtimePageTitle`),description:t(`runtimePageDescription`)}),(0,R.jsx)(J,{}),(0,R.jsx)(re,{}),(0,R.jsx)(ee,{})]})}var Z={wireDialect:`acp`,processScope:`per-session`,command:``,args:[`acp`],env:{},cwd:``,startupTimeoutMs:8e3,probeTimeoutMs:3e3,requestTimeoutMs:12e4};function ae(){return{id:``,default:!1,workspace:``,model:``,runtime:``,contextTokens:void 0,maxToolIterations:void 0}}function oe(){return{agentId:``,match:{channel:``,accountId:``}}}function se(){return{id:``,enabled:!0,label:``,type:`narp-stdio`,config:Z,configText:JSON.stringify(Z,null,2)}}function ce(e){return{id:e.id??``,default:!!e.default,displayName:e.displayName??``,description:e.description??``,avatar:e.avatar??``,workspace:e.workspace??``,model:e.model??``,runtime:e.runtime??e.engine??``,contextTokens:e.contextTokens,maxToolIterations:e.maxToolIterations}}function le(e){return{agentId:e.agentId??``,match:{channel:e.match?.channel??``,accountId:e.match?.accountId??``,peer:e.match?.peer?{kind:e.match.peer.kind,id:e.match.peer.id}:void 0}}}function Q(e){let t=e.trim();if(!t)return;let n=Number.parseInt(t,10);return Number.isFinite(n)?n:void 0}function ue(e){return{agents:(e.agents.list??[]).map(ce),bindings:(e.bindings??[]).map(le),runtimeEntries:Object.entries(e.agents.runtimes?.entries??{}).map(([e,t])=>({id:e,enabled:t.enabled!==!1,label:t.label??``,type:t.type,config:t.config??{},configText:JSON.stringify(t.config??{},null,2)})),dmScope:e.session?.dmScope??`per-channel-peer`,defaultContextTokens:e.agents.defaults.contextTokens??2e5,defaultEngine:e.agents.defaults.engine??`native`}}function de(e){let t={id:e.id.trim()};e.default&&(t.default=!0),e.displayName?.trim()&&(t.displayName=e.displayName.trim()),e.description?.trim()&&(t.description=e.description.trim()),e.avatar?.trim()&&(t.avatar=e.avatar.trim()),e.workspace?.trim()&&(t.workspace=e.workspace.trim()),e.model?.trim()&&(t.model=e.model.trim());let n=e.runtime?.trim()??e.engine?.trim();return n&&(t.engine=n),typeof e.contextTokens==`number`&&(t.contextTokens=Math.max(1e3,e.contextTokens)),typeof e.maxToolIterations==`number`&&(t.maxToolIterations=e.maxToolIterations),t}function fe(e){let n=e.agents.map((e,n)=>{if(!e.id.trim())throw Error(t(`agentIdRequiredError`).replace(`{index}`,String(n)));return de(e)}),r=n.map(e=>e.id).filter((e,t,n)=>n.indexOf(e)!==t);if(r.length>0)throw Error(`${t(`duplicateAgentId`)}: ${r[0]}`);let i=e.bindings.map((n,r)=>{let i=n.agentId.trim(),a=n.match.channel.trim(),o=n.match.accountId?.trim()??``,s=n.match.peer?.kind,c=n.match.peer?.id?.trim()??``;if(!i)throw Error(t(`bindingAgentIdRequired`).replace(`{index}`,String(r)));if(!e.knownAgentIds.has(i))throw Error(`${t(`bindingAgentIdNotFound`).replace(`{index}`,String(r))}: ${i}`);if(!a)throw Error(t(`bindingChannelRequired`).replace(`{index}`,String(r)));let l={agentId:i,match:{channel:a}};if(o&&(l.match.accountId=o),s){if(!c)throw Error(t(`bindingPeerIdRequired`).replace(`{index}`,String(r)));l.match.peer={kind:s,id:c}}return l}),a=e.runtimeEntries.reduce((e,t,n)=>{let r=t.id.trim(),i=t.type.trim();if(!r)throw Error(`Runtime entry id is required at index ${n}.`);if(!i)throw Error(`Runtime entry type is required for "${r}".`);if(e[r])throw Error(`Duplicate runtime entry id: ${r}`);let a=t.configText.trim()?JSON.parse(t.configText):{};if(a&&(typeof a!=`object`||Array.isArray(a)))throw Error(`Runtime entry config for "${r}" must be a JSON object.`);return e[r]={enabled:t.enabled!==!1,...t.label?.trim()?{label:t.label.trim()}:{},type:i,config:a??{}},e},{});return{agents:{defaults:{contextTokens:Math.max(1e3,e.defaultContextTokens),engine:e.defaultEngine.trim()||`native`},list:n,runtimes:{entries:a}},bindings:i,session:{dmScope:e.dmScope}}}function pe(e){return(0,R.jsxs)(g,{children:[(0,R.jsxs)(h,{children:[(0,R.jsx)(u,{children:e.label??t(`agentList`)}),(0,R.jsx)(a,{children:e.help??t(`agentListHelp`)})]}),(0,R.jsxs)(l,{className:`space-y-3`,children:[e.agents.map((n,r)=>(0,R.jsxs)(`div`,{className:`rounded-xl border border-gray-200 p-3 space-y-3`,children:[(0,R.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,R.jsx)(f,{value:n.id,onChange:t=>e.onUpdateAgent(r,{id:t.target.value}),placeholder:t(`agentIdPlaceholder`)}),(0,R.jsx)(f,{value:n.workspace??``,onChange:t=>e.onUpdateAgent(r,{workspace:t.target.value}),placeholder:t(`workspaceOverridePlaceholder`)}),(0,R.jsx)(f,{value:n.model??``,onChange:t=>e.onUpdateAgent(r,{model:t.target.value}),placeholder:t(`modelOverridePlaceholder`)}),(0,R.jsx)(f,{value:n.runtime??n.engine??``,onChange:t=>e.onUpdateAgent(r,{runtime:t.target.value}),placeholder:e.engineLabel??t(`engineOverridePlaceholder`)}),(0,R.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-2`,children:[(0,R.jsx)(f,{type:`number`,min:1e3,step:1e3,value:n.contextTokens??``,onChange:t=>e.onUpdateAgent(r,{contextTokens:Q(t.target.value)}),placeholder:e.contextTokensLabel??t(`contextTokensPlaceholder`)}),(0,R.jsx)(f,{type:`number`,min:1,value:n.maxToolIterations??``,onChange:t=>e.onUpdateAgent(r,{maxToolIterations:Q(t.target.value)}),placeholder:t(`maxToolsPlaceholder`)})]})]}),(0,R.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-gray-600`,children:[(0,R.jsx)(m,{checked:!!n.default,onCheckedChange:t=>e.onSetDefaultAgent(r,t)}),(0,R.jsx)(`span`,{children:t(`defaultAgent`)})]}),(0,R.jsxs)(i,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>e.onRemoveAgent(r),children:[(0,R.jsx)(j,{className:`h-4 w-4 mr-1`}),t(`remove`)]})]})]},`${r}-${n.id}`)),(0,R.jsxs)(i,{type:`button`,variant:`outline`,onClick:e.onAddAgent,children:[(0,R.jsx)(O,{className:`h-4 w-4 mr-2`}),t(`addAgent`)]})]})]})}function $(e){return(0,R.jsxs)(g,{children:[(0,R.jsxs)(h,{children:[(0,R.jsx)(u,{children:e.label??t(`bindings`)}),(0,R.jsx)(a,{children:e.help??t(`bindingsHelp`)})]}),(0,R.jsxs)(l,{className:`space-y-3`,children:[e.bindings.map((n,r)=>{let a=n.match.peer?.kind??``;return(0,R.jsxs)(`div`,{className:`rounded-xl border border-gray-200 p-3 space-y-3`,children:[(0,R.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3`,children:[(0,R.jsx)(f,{value:n.agentId,onChange:t=>e.onUpdateBinding(r,{...n,agentId:t.target.value}),placeholder:t(`targetAgentIdPlaceholder`)}),(0,R.jsx)(f,{value:n.match.channel,onChange:t=>e.onUpdateBinding(r,{...n,match:{...n.match,channel:t.target.value}}),placeholder:t(`channelPlaceholder`)}),(0,R.jsx)(f,{value:n.match.accountId??``,onChange:t=>e.onUpdateBinding(r,{...n,match:{...n.match,accountId:t.target.value}}),placeholder:t(`accountIdOptionalPlaceholder`)}),(0,R.jsxs)(T,{value:a||`__none__`,onValueChange:t=>{let i=t===`__none__`?``:t;e.onUpdateBinding(r,i?{...n,match:{...n.match,peer:{kind:i,id:n.match.peer?.id??``}}}:{...n,match:{...n.match,peer:void 0}})},children:[(0,R.jsx)(S,{children:(0,R.jsx)(x,{})}),(0,R.jsxs)(C,{children:[(0,R.jsx)(w,{value:`__none__`,children:t(`peerKindOptional`)}),(0,R.jsx)(w,{value:`direct`,children:`direct`}),(0,R.jsx)(w,{value:`group`,children:`group`}),(0,R.jsx)(w,{value:`channel`,children:`channel`})]})]}),(0,R.jsx)(f,{value:n.match.peer?.id??``,onChange:t=>e.onUpdateBinding(r,{...n,match:{...n.match,peer:a?{kind:a,id:t.target.value}:void 0}}),placeholder:t(`peerIdPlaceholder`)})]}),(0,R.jsx)(`div`,{className:`flex justify-end`,children:(0,R.jsxs)(i,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>e.onRemoveBinding(r),children:[(0,R.jsx)(j,{className:`h-4 w-4 mr-1`}),t(`remove`)]})})]},`${r}-${n.agentId}`)}),(0,R.jsxs)(i,{type:`button`,variant:`outline`,onClick:e.onAddBinding,children:[(0,R.jsx)(O,{className:`h-4 w-4 mr-2`}),t(`addBinding`)]})]})]})}function me(e){return(0,R.jsxs)(g,{children:[(0,R.jsxs)(h,{children:[(0,R.jsx)(u,{children:e.label??`Runtime Entries`}),(0,R.jsx)(a,{children:e.help??`统一管理可见的 runtime entry 与其配置。`})]}),(0,R.jsxs)(l,{className:`space-y-3`,children:[e.entries.map((t,n)=>(0,R.jsxs)(`div`,{className:`rounded-xl border border-gray-200 p-3 space-y-3`,children:[(0,R.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,R.jsx)(f,{value:t.id,onChange:t=>e.onUpdateEntry(n,{id:t.target.value}),placeholder:`entry id,例如 hermes`}),(0,R.jsx)(f,{value:t.label??``,onChange:t=>e.onUpdateEntry(n,{label:t.target.value}),placeholder:`展示名称,例如 Hermes`}),(0,R.jsx)(f,{value:t.type,onChange:t=>e.onUpdateEntry(n,{type:t.target.value}),placeholder:`runtime type,例如 narp-stdio`}),(0,R.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-gray-200 px-3 py-2`,children:[(0,R.jsx)(`span`,{className:`text-sm text-gray-700`,children:`Enabled`}),(0,R.jsx)(m,{checked:t.enabled!==!1,onCheckedChange:t=>e.onUpdateEntry(n,{enabled:t})})]})]}),(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsx)(`label`,{className:`text-sm font-medium text-gray-800`,children:`Config JSON`}),(0,R.jsx)(`textarea`,{className:`min-h-32 w-full rounded-md border border-gray-200 px-3 py-2 text-sm font-mono`,value:t.configText,onChange:t=>e.onUpdateEntry(n,{configText:t.target.value}),spellCheck:!1})]}),(0,R.jsx)(`div`,{className:`flex justify-end`,children:(0,R.jsxs)(i,{type:`button`,variant:`outline`,onClick:()=>e.onRemoveEntry(n),children:[(0,R.jsx)(j,{className:`mr-2 h-4 w-4`}),`Delete`]})})]},`${n}-${t.id||`runtime-entry`}`)),(0,R.jsxs)(i,{type:`button`,variant:`outline`,onClick:e.onAddEntry,children:[(0,R.jsx)(O,{className:`mr-2 h-4 w-4`}),`Add Runtime Entry`]})]})]})}var he=[{value:`main`,label:`main`},{value:`per-peer`,label:`per-peer`},{value:`per-channel-peer`,label:`per-channel-peer`},{value:`per-account-channel-peer`,label:`per-account-channel-peer`}];function ge(e){return(0,R.jsxs)(g,{children:[(0,R.jsxs)(h,{children:[(0,R.jsx)(u,{children:e.dmScopeLabel??t(`dmScope`)}),(0,R.jsx)(a,{children:e.dmScopeHelp??t(`dmScopeHelp`)})]}),(0,R.jsxs)(l,{className:`space-y-4`,children:[(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsx)(`label`,{className:`text-sm font-medium text-gray-800`,children:e.defaultContextTokensLabel??t(`defaultContextTokens`)}),(0,R.jsx)(f,{type:`number`,min:1e3,step:1e3,value:e.defaultContextTokens,onChange:t=>e.onDefaultContextTokensChange(Math.max(1e3,Number.parseInt(t.target.value,10)||1e3))}),(0,R.jsx)(`p`,{className:`text-xs text-gray-500`,children:e.defaultContextTokensHelp??t(`defaultContextTokensHelp`)})]}),(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsx)(`label`,{className:`text-sm font-medium text-gray-800`,children:e.defaultEngineLabel??t(`defaultEngine`)}),(0,R.jsx)(f,{value:e.defaultEngine,onChange:t=>e.onDefaultEngineChange(t.target.value),placeholder:t(`defaultEnginePlaceholder`)}),(0,R.jsx)(`p`,{className:`text-xs text-gray-500`,children:e.defaultEngineHelp??t(`defaultEngineHelp`)})]}),(0,R.jsxs)(`div`,{className:`space-y-2`,children:[(0,R.jsx)(`label`,{className:`text-sm font-medium text-gray-800`,children:e.dmScopeLabel??t(`dmScope`)}),(0,R.jsxs)(T,{value:e.dmScope,onValueChange:t=>e.onDmScopeChange(t),children:[(0,R.jsx)(S,{children:(0,R.jsx)(x,{})}),(0,R.jsx)(C,{children:he.map(e=>(0,R.jsx)(w,{value:e.value,children:e.label},e.value))})]})]})]})]})}function _e(e){let n=(0,L.useMemo)(()=>ue(e.config),[e.config]),[r,a]=(0,L.useState)(n.agents),[s,l]=(0,L.useState)(n.bindings),[u,d]=(0,L.useState)(n.runtimeEntries),[f,p]=(0,L.useState)(n.dmScope),[m,h]=(0,L.useState)(n.defaultContextTokens),[g,_]=(0,L.useState)(n.defaultEngine),v=(0,L.useMemo)(()=>{let e=new Set([`main`]);return r.forEach(t=>{let n=t.id.trim();n&&e.add(n)}),e},[r]);return(0,R.jsxs)(o,{className:`space-y-6`,children:[(0,R.jsx)(ie,{}),(0,R.jsx)(ge,{dmScope:f,defaultContextTokens:m,defaultEngine:g,onDmScopeChange:p,onDefaultContextTokensChange:h,onDefaultEngineChange:_,dmScopeLabel:P(`session.dmScope`,e.uiHints)?.label,dmScopeHelp:P(`session.dmScope`,e.uiHints)?.help,defaultContextTokensLabel:P(`agents.defaults.contextTokens`,e.uiHints)?.label,defaultContextTokensHelp:P(`agents.defaults.contextTokens`,e.uiHints)?.help,defaultEngineLabel:P(`agents.defaults.engine`,e.uiHints)?.label,defaultEngineHelp:P(`agents.defaults.engine`,e.uiHints)?.help}),(0,R.jsx)(me,{entries:u,onUpdateEntry:(e,t)=>d(n=>n.map((n,r)=>r===e?{...n,...t}:n)),onRemoveEntry:e=>d(t=>t.filter((t,n)=>n!==e)),onAddEntry:()=>d(e=>[...e,se()]),label:P(`agents.runtimes.entries`,e.uiHints)?.label,help:P(`agents.runtimes.entries`,e.uiHints)?.help}),(0,R.jsx)(pe,{agents:r,onUpdateAgent:(e,t)=>{a(n=>n.map((n,r)=>r===e?{...n,...t}:n))},onRemoveAgent:e=>a(t=>t.filter((t,n)=>n!==e)),onAddAgent:()=>a(e=>[...e,ae()]),onSetDefaultAgent:(e,t)=>a(n=>t?n.map((t,n)=>({...t,default:n===e})):n.map((t,n)=>n===e?{...t,default:!1}:t)),label:P(`agents.list`,e.uiHints)?.label,help:P(`agents.list`,e.uiHints)?.help,contextTokensLabel:P(`agents.list.*.contextTokens`,e.uiHints)?.label,engineLabel:P(`agents.list.*.engine`,e.uiHints)?.label}),(0,R.jsx)($,{bindings:s,onUpdateBinding:(e,t)=>{l(n=>n.map((n,r)=>r===e?t:n))},onRemoveBinding:e=>l(t=>t.filter((t,n)=>n!==e)),onAddBinding:()=>l(e=>[...e,oe()]),label:P(`bindings`,e.uiHints)?.label,help:P(`bindings`,e.uiHints)?.help}),(0,R.jsx)(`div`,{className:`flex justify-end`,children:(0,R.jsxs)(i,{type:`button`,onClick:()=>{try{let t=fe({agents:r,bindings:s,runtimeEntries:u,dmScope:f,defaultContextTokens:m,defaultEngine:g,knownAgentIds:v});e.updateRuntime.mutate({data:t})}catch(e){c.error(e instanceof Error?e.message:String(e))}},disabled:e.updateRuntime.isPending,children:[(0,R.jsx)(A,{className:`h-4 w-4 mr-2`}),e.updateRuntime.isPending?t(`saving`):t(`saveRuntimeSettings`)]})})]})}function ve(){let{data:e,isLoading:n}=te(),{data:r}=N(),i=ne();return n||!e?(0,R.jsx)(`div`,{className:`p-8 text-gray-400`,children:t(`runtimeLoading`)}):(0,R.jsx)(_e,{config:e,uiHints:r?.uiHints,updateRuntime:i})}export{ve as RuntimeConfig};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-D48LQ7_3.js";var t=e(`MessageSquare`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}]]),n=e(`Settings`,[[`path`,{d:`M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z`,key:`1qme2f`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]);export{t as n,n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as e,u as t}from"./i18n-jGA3YQz4.js";var n=e();function r({className:e,...r}){return(0,n.jsx)(`div`,{className:t(`animate-pulse rounded-md bg-slate-200`,e),...r})}export{r as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./i18n-jGA3YQz4.js";import{$ as t,B as n,F as r,Ft as i,G as a,I as o,It as s,J as c,K as l,L as u,N as d,P as f,Pt as p,Q as m,R as h,U as g,V as _,W as v,X as y,Y as b,Z as x,_ as S,et as C,g as w,h as T,m as E,p as D,q as O,v as k,y as A,z as j,zt as M}from"./api-BsY-53_V.js";function ee(){return s({queryKey:[`config`],queryFn:h,staleTime:3e4,refetchOnWindowFocus:!0})}function N(){return s({queryKey:[`app-meta`],queryFn:u,staleTime:1/0})}function P(){return s({queryKey:[`config-meta`],queryFn:j,staleTime:1/0})}function F(){return s({queryKey:[`config-schema`],queryFn:n,staleTime:1/0})}function I(){let t=M();return i({mutationFn:y,onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),p.success(e(`configSaved`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}function L(){let n=M();return i({mutationFn:({data:e})=>t(e),onSuccess:()=>{n.invalidateQueries({queryKey:[`config`]}),n.invalidateQueries({queryKey:[`config-meta`]}),p.success(e(`configSavedApplied`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}function R(){let t=M();return i({mutationFn:({provider:e,data:t})=>x(e,t),onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),t.invalidateQueries({queryKey:[`config-meta`]}),p.success(e(`configSaved`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}function z(){let t=M();return i({mutationFn:({data:e})=>d(e??{}),onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),t.invalidateQueries({queryKey:[`config-meta`]}),p.success(e(`configSaved`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}function B(){let t=M();return i({mutationFn:({provider:e})=>r(e),onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),t.invalidateQueries({queryKey:[`config-meta`]}),p.success(e(`configSaved`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}function V(){return i({mutationFn:({provider:e,data:t})=>c(e,t)})}function H(){return i({mutationFn:({provider:e,data:t})=>O(e,t)})}function U(){return i({mutationFn:({provider:e,data:t})=>v(e,t)})}function W(){return i({mutationFn:({provider:e})=>g(e)})}function G(){let t=M();return i({mutationFn:({channel:e,data:t})=>b(e,t),onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),t.invalidateQueries({queryKey:[`config-meta`]}),p.success(e(`configSavedApplying`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}function K(){let t=M();return i({mutationFn:({data:e})=>m(e),onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),p.success(e(`configSavedApplied`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}function q(){let t=M();return i({mutationFn:({data:e})=>C(e),onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),p.success(e(`configSavedApplied`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}function J(){return i({mutationFn:({actionId:e,data:t})=>o(e,t),onError:t=>{p.error(e(`error`)+`: `+t.message)}})}function Y(e){return s({queryKey:[`ncp-sessions`,e?.limit??null],queryFn:()=>k(e),staleTime:5e3,retry:!1})}function X(e,t=200){return s({queryKey:[`ncp-session-messages`,e,t],queryFn:()=>w(e,t),enabled:!!e,staleTime:5e3,retry:!1})}function Z(e){return s({queryKey:[`ncp-session-skills`,e.sessionId,e.projectRoot??null],queryFn:()=>S(e.sessionId,{...Object.prototype.hasOwnProperty.call(e,`projectRoot`)?{projectRoot:e.projectRoot??null}:{}}),enabled:!!e.sessionId,staleTime:5e3,retry:!1})}function Q(){let t=M();return i({mutationFn:({sessionId:e})=>T(e),onSuccess:(n,r)=>{D(t,r.sessionId),t.removeQueries({queryKey:[`ncp-session-messages`,r.sessionId]}),p.success(e(`configSavedApplied`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}function $(){let t=M();return i({mutationFn:({sessionId:e,data:t})=>A(e,t),onSuccess:n=>{E(t,n),t.invalidateQueries({queryKey:[`ncp-session-skills`,n.sessionId]}),p.success(e(`configSavedApplied`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}function te(e={all:!0}){return s({queryKey:[`cron`,e],queryFn:()=>_(e),staleTime:1e4})}function ne(){let t=M();return i({mutationFn:({id:e})=>f(e),onSuccess:()=>{t.invalidateQueries({queryKey:[`cron`]}),p.success(e(`configSavedApplied`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}function re(){let t=M();return i({mutationFn:({id:e,enabled:t})=>l(e,{enabled:t}),onSuccess:()=>{t.invalidateQueries({queryKey:[`cron`]}),p.success(e(`configSavedApplied`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}function ie(){let t=M();return i({mutationFn:({id:e,force:t})=>a(e,{force:t}),onSuccess:()=>{t.invalidateQueries({queryKey:[`cron`]}),p.success(e(`configSavedApplied`))},onError:t=>{p.error(e(`configSaveFailed`)+`: `+t.message)}})}export{R as C,q as E,$ as S,L as T,H as _,z as a,G as b,Q as c,W as d,X as f,ie as g,U as h,F as i,B as l,Y as m,ee as n,te as o,Z as p,P as r,ne as s,N as t,J as u,V as v,K as w,I as x,re as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-D48LQ7_3.js";var t=e(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};
|
|
File without changes
|