flex-mcp 1.1.4 → 1.1.6

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/daemon.js ADDED
@@ -0,0 +1,261 @@
1
+ /**
2
+ * 守护进程管理模块
3
+ * 实现类似 whistle w2 的进程管理功能
4
+ */
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import { spawn } from 'child_process';
8
+ import { getDataDir } from './config.js';
9
+ import { fileURLToPath } from 'url';
10
+ const __filename = fileURLToPath(import.meta.url);
11
+ const __dirname = path.dirname(__filename);
12
+ // PID 文件路径(存储在数据目录)
13
+ const PID_FILE = path.join(getDataDir(), 'flex-mcp.pid');
14
+ const LOG_FILE = path.join(getDataDir(), 'flex-mcp.log');
15
+ /**
16
+ * 获取 PID 文件路径
17
+ */
18
+ export function getPidFile() {
19
+ return PID_FILE;
20
+ }
21
+ /**
22
+ * 读取 PID 文件
23
+ */
24
+ function readPid() {
25
+ try {
26
+ if (!fs.existsSync(PID_FILE)) {
27
+ return null;
28
+ }
29
+ const pidStr = fs.readFileSync(PID_FILE, 'utf-8').trim();
30
+ const pid = parseInt(pidStr, 10);
31
+ return isNaN(pid) ? null : pid;
32
+ }
33
+ catch (error) {
34
+ return null;
35
+ }
36
+ }
37
+ /**
38
+ * 写入 PID 文件
39
+ */
40
+ function writePid(pid) {
41
+ try {
42
+ fs.writeFileSync(PID_FILE, pid.toString(), 'utf-8');
43
+ }
44
+ catch (error) {
45
+ console.error('❌ 无法写入 PID 文件:', error);
46
+ }
47
+ }
48
+ /**
49
+ * 删除 PID 文件
50
+ */
51
+ function removePid() {
52
+ try {
53
+ if (fs.existsSync(PID_FILE)) {
54
+ fs.unlinkSync(PID_FILE);
55
+ }
56
+ }
57
+ catch (error) {
58
+ // 忽略错误
59
+ }
60
+ }
61
+ /**
62
+ * 检查进程是否正在运行
63
+ */
64
+ function isProcessRunning(pid) {
65
+ try {
66
+ // 发送信号 0 来检查进程是否存在(不会实际发送信号)
67
+ process.kill(pid, 0);
68
+ return true;
69
+ }
70
+ catch (error) {
71
+ // ESRCH 表示进程不存在
72
+ if (error.code === 'ESRCH') {
73
+ return false;
74
+ }
75
+ // 其他错误(如权限问题)也认为进程不存在
76
+ return false;
77
+ }
78
+ }
79
+ /**
80
+ * 获取服务器启动脚本路径
81
+ */
82
+ function getServerScriptPath() {
83
+ // 如果是开发环境,使用 tsx 运行源文件
84
+ // 如果是生产环境,使用编译后的 dist/index.js
85
+ const distPath = path.join(__dirname, 'index.js');
86
+ const srcPath = path.join(__dirname, '..', 'src', 'index.ts');
87
+ // 检查编译后的文件是否存在
88
+ if (fs.existsSync(distPath)) {
89
+ return distPath;
90
+ }
91
+ // 否则使用源文件(开发环境)
92
+ return srcPath;
93
+ }
94
+ /**
95
+ * 启动守护进程
96
+ */
97
+ export async function startDaemon() {
98
+ // 检查是否已经运行
99
+ const existingPid = readPid();
100
+ if (existingPid !== null && isProcessRunning(existingPid)) {
101
+ console.log(`⚠️ 服务已在运行中 (PID: ${existingPid})`);
102
+ console.log(` 使用 "flex-mcp stop" 停止服务`);
103
+ console.log(` 使用 "flex-mcp status" 查看状态`);
104
+ process.exit(0);
105
+ }
106
+ // 清理旧的 PID 文件(如果存在但进程已停止)
107
+ if (existingPid !== null) {
108
+ removePid();
109
+ }
110
+ console.log('🚀 启动 flex-mcp 守护进程...');
111
+ // 获取服务器脚本路径
112
+ const serverScript = getServerScriptPath();
113
+ const isDev = serverScript.endsWith('.ts');
114
+ // 准备启动命令
115
+ let command;
116
+ let args;
117
+ if (isDev) {
118
+ // 开发环境:使用 tsx
119
+ command = 'npx';
120
+ args = ['tsx', serverScript];
121
+ }
122
+ else {
123
+ // 生产环境:使用 node
124
+ command = 'node';
125
+ args = [serverScript];
126
+ }
127
+ // 创建日志文件流
128
+ const logStream = fs.createWriteStream(LOG_FILE, { flags: 'a' });
129
+ const logDate = new Date().toISOString();
130
+ logStream.write(`\n=== flex-mcp started at ${logDate} ===\n`);
131
+ // 启动子进程
132
+ const child = spawn(command, args, {
133
+ detached: true,
134
+ stdio: ['ignore', logStream, logStream],
135
+ env: {
136
+ ...process.env,
137
+ // 标记为守护进程模式,避免无限递归
138
+ DAEMON_MODE: 'true',
139
+ },
140
+ });
141
+ // 监听错误
142
+ child.on('error', (error) => {
143
+ console.error('❌ 启动失败:', error);
144
+ logStream.end();
145
+ process.exit(1);
146
+ });
147
+ // 等待一下确保进程启动成功
148
+ await new Promise((resolve) => setTimeout(resolve, 1000));
149
+ // 检查进程是否还在运行
150
+ if (child.pid && isProcessRunning(child.pid)) {
151
+ // 写入 PID 文件
152
+ writePid(child.pid);
153
+ // 解除父子进程关系,让子进程成为独立的守护进程
154
+ child.unref();
155
+ console.log(`✅ 守护进程已启动 (PID: ${child.pid})`);
156
+ console.log(`📝 日志文件: ${LOG_FILE}`);
157
+ console.log(`\n💡 管理命令:`);
158
+ console.log(` flex-mcp stop # 停止服务`);
159
+ console.log(` flex-mcp restart # 重启服务`);
160
+ console.log(` flex-mcp status # 查看状态`);
161
+ console.log(` tail -f ${LOG_FILE} # 查看日志`);
162
+ }
163
+ else {
164
+ console.error('❌ 进程启动失败,请查看日志:', LOG_FILE);
165
+ logStream.end();
166
+ process.exit(1);
167
+ }
168
+ }
169
+ /**
170
+ * 停止守护进程
171
+ */
172
+ export async function stopDaemon() {
173
+ const pid = readPid();
174
+ if (pid === null) {
175
+ console.log('ℹ️ 服务未运行');
176
+ process.exit(0);
177
+ }
178
+ if (!isProcessRunning(pid)) {
179
+ console.log('ℹ️ 服务未运行(PID 文件存在但进程已停止)');
180
+ removePid();
181
+ process.exit(0);
182
+ }
183
+ console.log(`🛑 正在停止服务 (PID: ${pid})...`);
184
+ try {
185
+ // 发送 SIGTERM 信号(优雅关闭)
186
+ process.kill(pid, 'SIGTERM');
187
+ // 等待进程退出(最多等待 5 秒)
188
+ let waited = 0;
189
+ const maxWait = 5000;
190
+ const interval = 100;
191
+ while (waited < maxWait) {
192
+ if (!isProcessRunning(pid)) {
193
+ break;
194
+ }
195
+ await new Promise((resolve) => setTimeout(resolve, interval));
196
+ waited += interval;
197
+ }
198
+ // 如果还在运行,强制杀死
199
+ if (isProcessRunning(pid)) {
200
+ console.log('⚠️ 进程未响应,强制终止...');
201
+ process.kill(pid, 'SIGKILL');
202
+ await new Promise((resolve) => setTimeout(resolve, 500));
203
+ }
204
+ // 删除 PID 文件
205
+ removePid();
206
+ console.log('✅ 服务已停止');
207
+ }
208
+ catch (error) {
209
+ if (error.code === 'ESRCH') {
210
+ // 进程不存在
211
+ console.log('ℹ️ 进程已停止');
212
+ removePid();
213
+ }
214
+ else {
215
+ console.error('❌ 停止服务失败:', error.message);
216
+ process.exit(1);
217
+ }
218
+ }
219
+ }
220
+ /**
221
+ * 重启守护进程
222
+ */
223
+ export async function restartDaemon() {
224
+ console.log('🔄 重启服务...\n');
225
+ await stopDaemon();
226
+ await new Promise((resolve) => setTimeout(resolve, 1000));
227
+ await startDaemon();
228
+ }
229
+ /**
230
+ * 查看守护进程状态
231
+ */
232
+ export async function statusDaemon() {
233
+ const pid = readPid();
234
+ if (pid === null) {
235
+ console.log('ℹ️ 状态: 未运行');
236
+ console.log(` 使用 "flex-mcp start" 启动服务`);
237
+ process.exit(0);
238
+ }
239
+ const isRunning = isProcessRunning(pid);
240
+ if (isRunning) {
241
+ console.log(`✅ 状态: 运行中`);
242
+ console.log(` PID: ${pid}`);
243
+ console.log(` PID 文件: ${PID_FILE}`);
244
+ console.log(` 日志文件: ${LOG_FILE}`);
245
+ console.log(`\n💡 管理命令:`);
246
+ console.log(` flex-mcp stop # 停止服务`);
247
+ console.log(` flex-mcp restart # 重启服务`);
248
+ console.log(` tail -f ${LOG_FILE} # 查看日志`);
249
+ }
250
+ else {
251
+ console.log(`⚠️ 状态: 已停止(PID 文件存在但进程不存在)`);
252
+ console.log(` PID 文件: ${PID_FILE}`);
253
+ console.log(`\n💡 清理 PID 文件:`);
254
+ console.log(` rm ${PID_FILE}`);
255
+ console.log(`\n💡 启动服务:`);
256
+ console.log(` flex-mcp start`);
257
+ // 清理无效的 PID 文件
258
+ removePid();
259
+ }
260
+ }
261
+ //# sourceMappingURL=daemon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -122,12 +122,13 @@ else {
122
122
  // 启动服务器
123
123
  const port = parseInt(process.env.PORT || '3000');
124
124
  const host = process.env.HOST || 'localhost';
125
+ let server = null;
125
126
  async function start() {
126
127
  // 初始化数据库
127
128
  await initDatabase();
128
129
  // 启动服务器
129
- serve({
130
- fetch: app.fetch,
130
+ server = serve({
131
+ fetch: app.fetch, // 类型兼容性修复
131
132
  port,
132
133
  hostname: host,
133
134
  });
@@ -146,6 +147,38 @@ async function start() {
146
147
  // 上报服务器启动统计(延迟执行,不阻塞启动)
147
148
  reportStartup();
148
149
  }
150
+ // 优雅关闭处理
151
+ async function gracefulShutdown(signal) {
152
+ console.log(`\n收到 ${signal} 信号,正在优雅关闭...`);
153
+ if (server) {
154
+ return new Promise((resolve) => {
155
+ // @hono/node-server 的 serve 返回的是 http.Server
156
+ const httpServer = server;
157
+ httpServer.close(() => {
158
+ console.log('✅ 服务器已关闭');
159
+ resolve();
160
+ });
161
+ // 10 秒后强制退出
162
+ setTimeout(() => {
163
+ console.log('⚠️ 强制退出');
164
+ process.exit(1);
165
+ }, 10000);
166
+ });
167
+ }
168
+ process.exit(0);
169
+ }
170
+ // 注册信号处理器
171
+ process.on('SIGTERM', () => gracefulShutdown('SIGTERM'));
172
+ process.on('SIGINT', () => gracefulShutdown('SIGINT'));
173
+ // 处理未捕获的异常
174
+ process.on('uncaughtException', (error) => {
175
+ console.error('❌ 未捕获的异常:', error);
176
+ gracefulShutdown('uncaughtException').then(() => process.exit(1));
177
+ });
178
+ process.on('unhandledRejection', (reason, _) => {
179
+ console.error('❌ 未处理的 Promise 拒绝:', reason);
180
+ gracefulShutdown('unhandledRejection').then(() => process.exit(1));
181
+ });
149
182
  start().catch((error) => {
150
183
  console.error('Failed to start server:', error);
151
184
  process.exit(1);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-sync.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-sync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,mBAAmB,CAAC;AAGjE;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAiEhI;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,aAAa,GAAE,OAAe,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA2IhL"}
1
+ {"version":3,"file":"tool-sync.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-sync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,mBAAmB,CAAC;AAGjE;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAiEhI;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,aAAa,GAAE,OAAe,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA0IhL"}
@@ -126,7 +126,6 @@ export async function syncComponentTools(config, componentId, allowDisabled = fa
126
126
  ]);
127
127
  console.log(`[ToolSync] Component ${component.name} returned ${componentTools.length} tools`);
128
128
  // 获取组件配置
129
- const toolPatches = component.config?.toolPatches || {};
130
129
  const disabledTools = Array.isArray(component.config?.disabledTools)
131
130
  ? component.config.disabledTools
132
131
  : [];
@@ -1 +1 @@
1
- {"version":3,"file":"tool-sync.js","sourceRoot":"","sources":["../../src/mcp/tool-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-sync.js","sourceRoot":"","sources":["../../src/mcp/tool-sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{d as e,c as o,o as a}from"./index-NmCbGUEa.js";import{_ as t}from"./_plugin-vue_export-helper-DlAUqK2U.js";const s={class:"blank-view"},n=e({__name:"Blank",setup(_){return(c,r)=>(a(),o("div",s))}}),m=t(n,[["__scopeId","data-v-1be224a2"]]);export{m as default};
1
+ import{d as e,c as o,o as a}from"./index-DAOSS2K-.js";import{_ as t}from"./_plugin-vue_export-helper-DlAUqK2U.js";const s={class:"blank-view"},n=e({__name:"Blank",setup(_){return(c,r)=>(a(),o("div",s))}}),m=t(n,[["__scopeId","data-v-1be224a2"]]);export{m as default};
@@ -1 +1 @@
1
- import{d as N,u as P,r as d,p as S,I as j,c as v,b as e,f as s,y as m,m as _,w as o,g as a,B as H,O as T,P as V,e as E,t as b,V as k,D as I,J as D,o as r,h as L,K as O,L as x}from"./index-NmCbGUEa.js";import{u as G,M as J,C as K,I as W}from"./InitScriptEditor-RtEtxdk9.js";import{_ as q}from"./_plugin-vue_export-helper-DlAUqK2U.js";const A={class:"configs-page"},F={style:{position:"absolute",width:"0",height:"0"}},Q={class:"configs-container"},R={class:"config-content"},X={class:"user-selector-section"},Y={class:"selector-header"},Z={key:0,class:"loading-state"},$={key:1,class:"config-stats"},ee={class:"stat-card"},te={class:"stat-content"},se={class:"stat-value"},oe={class:"stat-card"},ae={class:"stat-content"},ne={class:"stat-value"},le={key:0,class:"modal-content"},ie={class:"tab-content"},re={class:"tab-content"},de={class:"tab-content"},ce=N({__name:"Configs",setup(ve){const u=P(),p=G(),i=d(null),f=d(!1),y=d([]),g=d(!1),w=d("components"),l=S(()=>p.currentConfig),C=d([]);async function M(){try{const n=await D.get("/users");y.value=n.data.data.filter(t=>t.role!=="admin"),C.value=y.value.map(t=>({label:t.email,value:t.id}))}catch{u.error("加载用户列表失败")}}async function B(){if(i.value){f.value=!0;try{await p.fetchUserConfig(i.value)}catch(n){u.error(n.message)}finally{f.value=!1}}}function U(){l.value&&(w.value="components",g.value=!0)}async function h(n){if(i.value)try{await p.updateUserConfig(i.value,n),u.success("更新成功")}catch(t){u.error(t.message)}}function z(n){i.value=n,n&&B()}return j(()=>{M()}),(n,t)=>(r(),v("div",A,[(r(),v("svg",F,[...t[3]||(t[3]=[e("defs",null,[e("linearGradient",{id:"loading-gradient",x1:"0%",y1:"0%",x2:"100%",y2:"100%"},[e("stop",{offset:"0%","stop-color":"#dc2626"}),e("stop",{offset:"50%","stop-color":"#ea580c"}),e("stop",{offset:"100%","stop-color":"#f59e0b"})])],-1)])])),t[15]||(t[15]=e("div",{class:"page-header"},[e("div",null,[e("h1",{class:"page-title"},"配置管理"),e("p",{class:"page-description"},"查看和编辑用户的 MCP 配置")])],-1)),e("div",Q,[e("main",R,[e("div",X,[e("div",Y,[t[6]||(t[6]=e("div",{class:"selector-label"},[e("svg",{class:"label-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),e("span",null,"选择用户")],-1)),l.value?(r(),m(a(H),{key:0,type:"primary",size:"large",class:"edit-btn",onClick:U},{icon:o(()=>[...t[4]||(t[4]=[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),default:o(()=>[t[5]||(t[5]=L(" 编辑配置 ",-1))]),_:1})):_("",!0)]),s(a(T),{value:i.value,"onUpdate:value":[t[0]||(t[0]=c=>i.value=c),z],options:C.value,placeholder:"请选择要配置的用户",size:"large",filterable:"",clearable:"",class:"user-select"},{empty:o(()=>[s(a(k),{description:"暂无用户"})]),_:1},8,["value","options"])]),s(a(V),{class:"content-divider"}),f.value?(r(),v("div",Z,[...t[7]||(t[7]=[e("div",{class:"loading-spinner"},[e("svg",{class:"spinner",viewBox:"0 0 50 50"},[e("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none","stroke-width":"4"})])],-1),e("p",{class:"loading-text"},"加载配置中...",-1)])])):l.value?(r(),v("div",$,[e("div",ee,[t[9]||(t[9]=E('<div class="stat-icon stat-icon--primary" data-v-e297e9f7><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-e297e9f7><rect x="3" y="3" width="7" height="7" rx="1" stroke="currentColor" stroke-width="2" data-v-e297e9f7></rect><rect x="14" y="3" width="7" height="7" rx="1" stroke="currentColor" stroke-width="2" data-v-e297e9f7></rect><rect x="3" y="14" width="7" height="7" rx="1" stroke="currentColor" stroke-width="2" data-v-e297e9f7></rect><rect x="14" y="14" width="7" height="7" rx="1" stroke="currentColor" stroke-width="2" data-v-e297e9f7></rect></svg></div>',1)),e("div",te,[e("div",se,b(l.value.components.length),1),t[8]||(t[8]=e("div",{class:"stat-label"},"MCP 组件",-1))])]),e("div",oe,[t[11]||(t[11]=e("div",{class:"stat-icon stat-icon--success"},[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e("div",ae,[e("div",ne,b(l.value.customTools.length),1),t[10]||(t[10]=e("div",{class:"stat-label"},"自定义工具",-1))])])])):i.value?(r(),m(a(k),{key:3,description:"该用户暂无配置或加载失败",class:"empty-placeholder"},{icon:o(()=>[...t[13]||(t[13]=[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),_:1})):(r(),m(a(k),{key:2,description:"请选择一个用户查看配置",class:"empty-placeholder"},{icon:o(()=>[...t[12]||(t[12]=[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),_:1}))])]),s(a(I),{show:g.value,"onUpdate:show":t[2]||(t[2]=c=>g.value=c),preset:"card",bordered:!1,class:"config-edit-modal",style:{width:"90vw",maxWidth:"1400px",height:"90vh"}},{header:o(()=>[...t[14]||(t[14]=[e("div",{class:"modal-header"},[e("div",{class:"modal-icon"},[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])]),e("div",null,[e("h3",{class:"modal-title"},"编辑用户配置"),e("p",{class:"modal-subtitle"},"管理 MCP 组件、工具和脚本")])],-1)])]),default:o(()=>[l.value?(r(),v("div",le,[s(a(O),{value:w.value,"onUpdate:value":t[1]||(t[1]=c=>w.value=c),type:"line",animated:"",size:"large",class:"config-tabs"},{default:o(()=>[s(a(x),{name:"components",tab:"MCP 组件"},{default:o(()=>[e("div",ie,[s(J,{config:l.value,onUpdate:h},null,8,["config"])])]),_:1}),s(a(x),{name:"tools",tab:"自定义工具"},{default:o(()=>[e("div",re,[s(K,{config:l.value,onUpdate:h},null,8,["config"])])]),_:1}),s(a(x),{name:"init",tab:"初始化脚本"},{default:o(()=>[e("div",de,[s(W,{config:l.value,onUpdate:h},null,8,["config"])])]),_:1})]),_:1},8,["value"])])):_("",!0)]),_:1},8,["show"])]))}}),ge=q(ce,[["__scopeId","data-v-e297e9f7"]]);export{ge as default};
1
+ import{d as N,u as P,r as d,p as S,I as j,c as v,b as e,f as s,y as m,m as _,w as o,g as a,B as H,O as T,P as V,e as E,t as b,V as k,D as I,J as D,o as r,h as L,K as O,L as x}from"./index-DAOSS2K-.js";import{u as G,M as J,C as K,I as W}from"./InitScriptEditor-DzzTB5Qk.js";import{_ as q}from"./_plugin-vue_export-helper-DlAUqK2U.js";const A={class:"configs-page"},F={style:{position:"absolute",width:"0",height:"0"}},Q={class:"configs-container"},R={class:"config-content"},X={class:"user-selector-section"},Y={class:"selector-header"},Z={key:0,class:"loading-state"},$={key:1,class:"config-stats"},ee={class:"stat-card"},te={class:"stat-content"},se={class:"stat-value"},oe={class:"stat-card"},ae={class:"stat-content"},ne={class:"stat-value"},le={key:0,class:"modal-content"},ie={class:"tab-content"},re={class:"tab-content"},de={class:"tab-content"},ce=N({__name:"Configs",setup(ve){const u=P(),p=G(),i=d(null),f=d(!1),y=d([]),g=d(!1),w=d("components"),l=S(()=>p.currentConfig),C=d([]);async function M(){try{const n=await D.get("/users");y.value=n.data.data.filter(t=>t.role!=="admin"),C.value=y.value.map(t=>({label:t.email,value:t.id}))}catch{u.error("加载用户列表失败")}}async function B(){if(i.value){f.value=!0;try{await p.fetchUserConfig(i.value)}catch(n){u.error(n.message)}finally{f.value=!1}}}function U(){l.value&&(w.value="components",g.value=!0)}async function h(n){if(i.value)try{await p.updateUserConfig(i.value,n),u.success("更新成功")}catch(t){u.error(t.message)}}function z(n){i.value=n,n&&B()}return j(()=>{M()}),(n,t)=>(r(),v("div",A,[(r(),v("svg",F,[...t[3]||(t[3]=[e("defs",null,[e("linearGradient",{id:"loading-gradient",x1:"0%",y1:"0%",x2:"100%",y2:"100%"},[e("stop",{offset:"0%","stop-color":"#dc2626"}),e("stop",{offset:"50%","stop-color":"#ea580c"}),e("stop",{offset:"100%","stop-color":"#f59e0b"})])],-1)])])),t[15]||(t[15]=e("div",{class:"page-header"},[e("div",null,[e("h1",{class:"page-title"},"配置管理"),e("p",{class:"page-description"},"查看和编辑用户的 MCP 配置")])],-1)),e("div",Q,[e("main",R,[e("div",X,[e("div",Y,[t[6]||(t[6]=e("div",{class:"selector-label"},[e("svg",{class:"label-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})]),e("span",null,"选择用户")],-1)),l.value?(r(),m(a(H),{key:0,type:"primary",size:"large",class:"edit-btn",onClick:U},{icon:o(()=>[...t[4]||(t[4]=[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),default:o(()=>[t[5]||(t[5]=L(" 编辑配置 ",-1))]),_:1})):_("",!0)]),s(a(T),{value:i.value,"onUpdate:value":[t[0]||(t[0]=c=>i.value=c),z],options:C.value,placeholder:"请选择要配置的用户",size:"large",filterable:"",clearable:"",class:"user-select"},{empty:o(()=>[s(a(k),{description:"暂无用户"})]),_:1},8,["value","options"])]),s(a(V),{class:"content-divider"}),f.value?(r(),v("div",Z,[...t[7]||(t[7]=[e("div",{class:"loading-spinner"},[e("svg",{class:"spinner",viewBox:"0 0 50 50"},[e("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none","stroke-width":"4"})])],-1),e("p",{class:"loading-text"},"加载配置中...",-1)])])):l.value?(r(),v("div",$,[e("div",ee,[t[9]||(t[9]=E('<div class="stat-icon stat-icon--primary" data-v-e297e9f7><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-e297e9f7><rect x="3" y="3" width="7" height="7" rx="1" stroke="currentColor" stroke-width="2" data-v-e297e9f7></rect><rect x="14" y="3" width="7" height="7" rx="1" stroke="currentColor" stroke-width="2" data-v-e297e9f7></rect><rect x="3" y="14" width="7" height="7" rx="1" stroke="currentColor" stroke-width="2" data-v-e297e9f7></rect><rect x="14" y="14" width="7" height="7" rx="1" stroke="currentColor" stroke-width="2" data-v-e297e9f7></rect></svg></div>',1)),e("div",te,[e("div",se,b(l.value.components.length),1),t[8]||(t[8]=e("div",{class:"stat-label"},"MCP 组件",-1))])]),e("div",oe,[t[11]||(t[11]=e("div",{class:"stat-icon stat-icon--success"},[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e("div",ae,[e("div",ne,b(l.value.customTools.length),1),t[10]||(t[10]=e("div",{class:"stat-label"},"自定义工具",-1))])])])):i.value?(r(),m(a(k),{key:3,description:"该用户暂无配置或加载失败",class:"empty-placeholder"},{icon:o(()=>[...t[13]||(t[13]=[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),_:1})):(r(),m(a(k),{key:2,description:"请选择一个用户查看配置",class:"empty-placeholder"},{icon:o(()=>[...t[12]||(t[12]=[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])]),_:1}))])]),s(a(I),{show:g.value,"onUpdate:show":t[2]||(t[2]=c=>g.value=c),preset:"card",bordered:!1,class:"config-edit-modal",style:{width:"90vw",maxWidth:"1400px",height:"90vh"}},{header:o(()=>[...t[14]||(t[14]=[e("div",{class:"modal-header"},[e("div",{class:"modal-icon"},[e("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])]),e("div",null,[e("h3",{class:"modal-title"},"编辑用户配置"),e("p",{class:"modal-subtitle"},"管理 MCP 组件、工具和脚本")])],-1)])]),default:o(()=>[l.value?(r(),v("div",le,[s(a(O),{value:w.value,"onUpdate:value":t[1]||(t[1]=c=>w.value=c),type:"line",animated:"",size:"large",class:"config-tabs"},{default:o(()=>[s(a(x),{name:"components",tab:"MCP 组件"},{default:o(()=>[e("div",ie,[s(J,{config:l.value,onUpdate:h},null,8,["config"])])]),_:1}),s(a(x),{name:"tools",tab:"自定义工具"},{default:o(()=>[e("div",re,[s(K,{config:l.value,onUpdate:h},null,8,["config"])])]),_:1}),s(a(x),{name:"init",tab:"初始化脚本"},{default:o(()=>[e("div",de,[s(W,{config:l.value,onUpdate:h},null,8,["config"])])]),_:1})]),_:1},8,["value"])])):_("",!0)]),_:1},8,["show"])]))}}),ge=q(ce,[["__scopeId","data-v-e297e9f7"]]);export{ge as default};