flex-mcp 1.1.10 → 1.1.13

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.
Files changed (36) hide show
  1. package/dist/api/index.d.ts.map +1 -1
  2. package/dist/api/index.js +3 -0
  3. package/dist/api/index.js.map +1 -1
  4. package/dist/api/update.d.ts +6 -0
  5. package/dist/api/update.d.ts.map +1 -0
  6. package/dist/api/update.js +269 -0
  7. package/dist/api/update.js.map +1 -0
  8. package/dist/update.d.ts.map +1 -1
  9. package/dist/update.js +37 -8
  10. package/dist/update.js.map +1 -1
  11. package/dist/web/assets/Blank-BHJQs5sx.js +1 -0
  12. package/dist/web/assets/Configs-ClEYNzO5.js +1 -0
  13. package/dist/web/assets/{Dashboard-Bq0D1J8c.js → Dashboard-CnyNQRgh.js} +4 -4
  14. package/dist/web/assets/InitScriptEditor-BFTWTD26.js +499 -0
  15. package/dist/web/assets/Layout-B9iGlIQE.js +1 -0
  16. package/dist/web/assets/Layout-Da7GFkga.js +1 -0
  17. package/dist/web/assets/Login-BWlz3FI1.js +1 -0
  18. package/dist/web/assets/Login-DXNFmh7b.js +1 -0
  19. package/dist/web/assets/Users-DGRVEG-v.js +1 -0
  20. package/dist/web/assets/index-CmiEbWrJ.js +2 -0
  21. package/dist/web/assets/monaco-editor-BXWd1EVR.js +11 -0
  22. package/dist/web/assets/naive-ui-BwyHI4J3.js +7313 -0
  23. package/dist/web/assets/style-CrcCgeaU.css +1 -0
  24. package/dist/web/assets/vendor-DpXl860f.js +58 -0
  25. package/dist/web/index.html +5 -2
  26. package/package.json +1 -1
  27. package/dist/web/assets/Blank-BlKddJHU.js +0 -1
  28. package/dist/web/assets/Configs-sOwPYGsS.js +0 -1
  29. package/dist/web/assets/InitScriptEditor-D6nioBYF.js +0 -509
  30. package/dist/web/assets/Layout-CsVepWQk.js +0 -1
  31. package/dist/web/assets/Layout-DVbq4zY1.js +0 -1
  32. package/dist/web/assets/Login-Co4BGypj.js +0 -1
  33. package/dist/web/assets/Login-Cu2_NRNJ.js +0 -1
  34. package/dist/web/assets/Users-FtcuFUiR.js +0 -1
  35. package/dist/web/assets/index-h7iG2I9f.js +0 -7371
  36. package/dist/web/assets/style-BTAlT1zh.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAQ5B,eAAO,MAAM,SAAS,4EAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAS5B,eAAO,MAAM,SAAS,4EAAa,CAAC"}
package/dist/api/index.js CHANGED
@@ -8,6 +8,7 @@ import { authRouter } from './auth.js';
8
8
  import { mcpRouter } from './mcp.js';
9
9
  import { tablesRouter } from './tables.js';
10
10
  import { promptsRouter } from './prompts.js';
11
+ import { updateRouter } from './update.js';
11
12
  export const apiRouter = new Hono();
12
13
  // 认证路由
13
14
  apiRouter.route('/auth', authRouter);
@@ -21,4 +22,6 @@ apiRouter.route('/mcp', mcpRouter);
21
22
  apiRouter.route('/tables', tablesRouter);
22
23
  // 提示词管理路由(需要认证)
23
24
  apiRouter.route('/prompts', promptsRouter);
25
+ // 更新管理路由(需要管理员认证)
26
+ apiRouter.route('/update', updateRouter);
24
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;AAEpC,OAAO;AACP,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAErC,eAAe;AACf,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEtC,eAAe;AACf,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAE1C,iBAAiB;AACjB,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEnC,cAAc;AACd,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAEzC,gBAAgB;AAChB,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;AAEpC,OAAO;AACP,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAErC,eAAe;AACf,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEtC,eAAe;AACf,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAE1C,iBAAiB;AACjB,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEnC,cAAc;AACd,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAEzC,gBAAgB;AAChB,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAE3C,kBAAkB;AAClB,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 更新管理 API 路由
3
+ */
4
+ import { Hono } from 'hono';
5
+ export declare const updateRouter: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
6
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/api/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAgD5B,eAAO,MAAM,YAAY,4EAAa,CAAC"}
@@ -0,0 +1,269 @@
1
+ /**
2
+ * 更新管理 API 路由
3
+ */
4
+ import { Hono } from 'hono';
5
+ import { authMiddleware, requireAdmin } from './middleware.js';
6
+ import { restartDaemon } from '../daemon.js';
7
+ import pkgUpdateNotifier from 'update-notifier';
8
+ const updateNotifier = pkgUpdateNotifier.default || pkgUpdateNotifier;
9
+ import * as path from 'path';
10
+ import { fileURLToPath } from 'url';
11
+ import * as fs from 'fs';
12
+ import { execSync } from 'child_process';
13
+ const __filename = fileURLToPath(import.meta.url);
14
+ const __dirname = path.dirname(__filename);
15
+ // 读取 package.json(优先读取 server 包的 package.json,因为这是实际发布的包)
16
+ let pkg;
17
+ let packageJsonPath;
18
+ try {
19
+ // 先尝试读取 server 包的 package.json(编译后在 dist 目录,需要向上两级)
20
+ packageJsonPath = path.join(__dirname, '..', '..', 'package.json');
21
+ if (fs.existsSync(packageJsonPath)) {
22
+ pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
23
+ }
24
+ else {
25
+ // 如果不存在,尝试读取项目根目录的 package.json
26
+ const rootPath = path.join(__dirname, '..', '..', '..', 'package.json');
27
+ if (fs.existsSync(rootPath)) {
28
+ packageJsonPath = rootPath;
29
+ pkg = JSON.parse(fs.readFileSync(rootPath, 'utf-8'));
30
+ }
31
+ else {
32
+ // 最后尝试当前工作目录
33
+ const cwdPath = path.join(process.cwd(), 'package.json');
34
+ if (fs.existsSync(cwdPath)) {
35
+ packageJsonPath = cwdPath;
36
+ pkg = JSON.parse(fs.readFileSync(cwdPath, 'utf-8'));
37
+ }
38
+ else {
39
+ throw new Error(`无法找到 package.json,尝试的路径: ${packageJsonPath}, ${rootPath}, ${cwdPath}`);
40
+ }
41
+ }
42
+ }
43
+ // 验证包信息
44
+ if (!pkg.name || !pkg.version) {
45
+ throw new Error(`package.json 缺少必要字段: name=${pkg.name}, version=${pkg.version}`);
46
+ }
47
+ }
48
+ catch (error) {
49
+ throw new Error(`无法读取 package.json: ${error.message}`);
50
+ }
51
+ export const updateRouter = new Hono();
52
+ /**
53
+ * 获取当前版本(只需要认证,不需要管理员权限)
54
+ */
55
+ updateRouter.get('/version', authMiddleware, async (c) => {
56
+ try {
57
+ return c.json({
58
+ success: true,
59
+ version: pkg.version,
60
+ name: pkg.name,
61
+ });
62
+ }
63
+ catch (error) {
64
+ return c.json({
65
+ success: false,
66
+ error: error.message || '获取版本失败',
67
+ }, 500);
68
+ }
69
+ });
70
+ // 其他更新路由需要管理员权限
71
+ updateRouter.use('/check', authMiddleware);
72
+ updateRouter.use('/check', requireAdmin());
73
+ updateRouter.use('/execute', authMiddleware);
74
+ updateRouter.use('/execute', requireAdmin());
75
+ /**
76
+ * 检查更新
77
+ */
78
+ updateRouter.get('/check', async (c) => {
79
+ try {
80
+ const notifier = updateNotifier({
81
+ pkg,
82
+ updateCheckInterval: 0, // 强制检查
83
+ });
84
+ // update-notifier v7+ 需要等待检查完成
85
+ // 检查更新是异步的,需要等待完成
86
+ // 尝试多种方法等待检查完成
87
+ if (typeof notifier.check === 'function') {
88
+ await notifier.check();
89
+ }
90
+ else if (typeof notifier.fetchInfo === 'function') {
91
+ await notifier.fetchInfo();
92
+ }
93
+ else {
94
+ // 轮询检查 update 属性,最多等待 5 秒
95
+ const maxWait = 5000;
96
+ const interval = 100;
97
+ let waited = 0;
98
+ while (waited < maxWait && !notifier.update) {
99
+ await new Promise(resolve => setTimeout(resolve, interval));
100
+ waited += interval;
101
+ }
102
+ }
103
+ if (notifier.update) {
104
+ const { current, latest, type } = notifier.update;
105
+ return c.json({
106
+ success: true,
107
+ hasUpdate: true,
108
+ currentVersion: current,
109
+ latestVersion: latest,
110
+ updateType: type,
111
+ });
112
+ }
113
+ else {
114
+ return c.json({
115
+ success: true,
116
+ hasUpdate: false,
117
+ currentVersion: pkg.version,
118
+ latestVersion: pkg.version,
119
+ });
120
+ }
121
+ }
122
+ catch (error) {
123
+ return c.json({
124
+ success: false,
125
+ error: error.message || '检查更新失败',
126
+ }, 500);
127
+ }
128
+ });
129
+ /**
130
+ * 执行更新并重启
131
+ */
132
+ updateRouter.post('/execute', async (c) => {
133
+ try {
134
+ // 检查是否有更新
135
+ const notifier = updateNotifier({
136
+ pkg,
137
+ updateCheckInterval: 0,
138
+ });
139
+ // update-notifier v7+ 需要等待检查完成
140
+ // 检查更新是异步的,需要等待完成
141
+ // 尝试多种方法等待检查完成
142
+ if (typeof notifier.check === 'function') {
143
+ await notifier.check();
144
+ }
145
+ else if (typeof notifier.fetchInfo === 'function') {
146
+ await notifier.fetchInfo();
147
+ }
148
+ else {
149
+ // 轮询检查 update 属性,最多等待 5 秒
150
+ const maxWait = 5000;
151
+ const interval = 100;
152
+ let waited = 0;
153
+ while (waited < maxWait && !notifier.update) {
154
+ await new Promise(resolve => setTimeout(resolve, interval));
155
+ waited += interval;
156
+ }
157
+ }
158
+ if (!notifier.update) {
159
+ return c.json({
160
+ success: false,
161
+ error: '没有可用的更新',
162
+ }, 400);
163
+ }
164
+ const { latest } = notifier.update;
165
+ // 执行更新
166
+ // 注意:这里需要根据安装方式选择更新命令
167
+ // 由于是在运行时更新,我们需要使用 npm/pnpm 来更新
168
+ const isGlobal = await isGloballyInstalled();
169
+ if (isGlobal) {
170
+ // 全局安装:使用 npm install -g
171
+ execSync(`npm install -g ${pkg.name}@latest`, {
172
+ stdio: 'pipe', // 改为 pipe,避免在 API 响应中输出
173
+ encoding: 'utf-8',
174
+ });
175
+ }
176
+ else {
177
+ // 本地安装:尝试使用 pnpm 或 npm
178
+ const projectRoot = path.dirname(packageJsonPath);
179
+ let updateSuccess = false;
180
+ // 先尝试使用 pnpm(如果项目使用 pnpm)
181
+ try {
182
+ execSync(`pnpm update ${pkg.name}@latest`, {
183
+ stdio: 'pipe',
184
+ encoding: 'utf-8',
185
+ cwd: projectRoot,
186
+ });
187
+ updateSuccess = true;
188
+ }
189
+ catch (pnpmError) {
190
+ // pnpm 失败,尝试 npm
191
+ try {
192
+ execSync(`npm install ${pkg.name}@latest`, {
193
+ stdio: 'pipe',
194
+ encoding: 'utf-8',
195
+ cwd: projectRoot,
196
+ });
197
+ updateSuccess = true;
198
+ }
199
+ catch (npmError) {
200
+ // 如果都失败,抛出错误
201
+ throw new Error(`更新失败: pnpm 和 npm 都失败了`);
202
+ }
203
+ }
204
+ }
205
+ // 更新完成后,重启守护进程(如果正在运行)
206
+ try {
207
+ await restartDaemon();
208
+ }
209
+ catch (error) {
210
+ // 如果重启失败,返回警告但不失败
211
+ console.warn('重启守护进程失败:', error.message);
212
+ return c.json({
213
+ success: true,
214
+ message: '更新成功,但重启失败,请手动重启服务',
215
+ latestVersion: latest,
216
+ restartFailed: true,
217
+ });
218
+ }
219
+ return c.json({
220
+ success: true,
221
+ message: '更新成功并已重启服务',
222
+ latestVersion: latest,
223
+ });
224
+ }
225
+ catch (error) {
226
+ return c.json({
227
+ success: false,
228
+ error: error.message || '更新失败',
229
+ }, 500);
230
+ }
231
+ });
232
+ /**
233
+ * 检查包是否全局安装
234
+ */
235
+ async function isGloballyInstalled() {
236
+ try {
237
+ const currentPath = process.argv[1] || __filename;
238
+ const globalPaths = [
239
+ '/usr/local/bin',
240
+ '/usr/bin',
241
+ process.env.HOME + '/.npm-global/bin',
242
+ process.env.APPDATA + '/npm',
243
+ process.env.PROGRAMFILES + '/nodejs',
244
+ ];
245
+ for (const globalPath of globalPaths) {
246
+ if (globalPath && currentPath.includes(globalPath)) {
247
+ return true;
248
+ }
249
+ }
250
+ try {
251
+ const npmGlobalPrefix = execSync('npm config get prefix', {
252
+ encoding: 'utf-8',
253
+ stdio: 'pipe',
254
+ }).trim();
255
+ if (currentPath.includes(npmGlobalPrefix)) {
256
+ return true;
257
+ }
258
+ }
259
+ catch (error) {
260
+ // 忽略错误
261
+ }
262
+ return false;
263
+ }
264
+ catch (error) {
265
+ // 默认假设是全局安装
266
+ return true;
267
+ }
268
+ }
269
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/api/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AA8BA;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAiBlC;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAmEhD"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAwCA;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAiBlC;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAqFhD"}
package/dist/update.js CHANGED
@@ -11,21 +11,31 @@ import { getPidFile } from './daemon.js';
11
11
  const __filename = fileURLToPath(import.meta.url);
12
12
  const __dirname = path.dirname(__filename);
13
13
  // 读取 package.json
14
+ // 注意:__dirname 在编译后是 dist 目录,所以需要向上两级到达 packages/server
14
15
  const packageJsonPath = path.join(__dirname, '..', 'package.json');
15
16
  let pkg;
16
17
  try {
17
- pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
18
- }
19
- catch (error) {
20
- // 如果读取失败,尝试从当前目录读取
21
- const altPath = path.join(process.cwd(), 'package.json');
22
- if (fs.existsSync(altPath)) {
23
- pkg = JSON.parse(fs.readFileSync(altPath, 'utf-8'));
18
+ if (fs.existsSync(packageJsonPath)) {
19
+ pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
24
20
  }
25
21
  else {
26
- throw new Error('无法读取 package.json');
22
+ // 如果读取失败,尝试从当前目录读取
23
+ const altPath = path.join(process.cwd(), 'package.json');
24
+ if (fs.existsSync(altPath)) {
25
+ pkg = JSON.parse(fs.readFileSync(altPath, 'utf-8'));
26
+ }
27
+ else {
28
+ throw new Error(`无法读取 package.json,尝试的路径: ${packageJsonPath}, ${altPath}`);
29
+ }
30
+ }
31
+ // 验证包信息
32
+ if (!pkg.name || !pkg.version) {
33
+ throw new Error(`package.json 缺少必要字段: name=${pkg.name}, version=${pkg.version}`);
27
34
  }
28
35
  }
36
+ catch (error) {
37
+ throw new Error(`读取 package.json 失败: ${error.message}`);
38
+ }
29
39
  /**
30
40
  * 检查更新并提示用户
31
41
  */
@@ -57,6 +67,25 @@ export async function selfUpdate() {
57
67
  pkg,
58
68
  updateCheckInterval: 0, // 强制检查
59
69
  });
70
+ // update-notifier v7+ 需要等待检查完成
71
+ // 检查更新是异步的,需要等待完成
72
+ // 尝试多种方法等待检查完成
73
+ if (typeof notifier.check === 'function') {
74
+ await notifier.check();
75
+ }
76
+ else if (typeof notifier.fetchInfo === 'function') {
77
+ await notifier.fetchInfo();
78
+ }
79
+ else {
80
+ // 轮询检查 update 属性,最多等待 5 秒
81
+ const maxWait = 5000;
82
+ const interval = 100;
83
+ let waited = 0;
84
+ while (waited < maxWait && !notifier.update) {
85
+ await new Promise(resolve => setTimeout(resolve, interval));
86
+ waited += interval;
87
+ }
88
+ }
60
89
  if (!notifier.update) {
61
90
  console.log(`✅ 已是最新版本: ${pkg.version}`);
62
91
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import{q as e,c0 as a,bU as o}from"./vendor-DpXl860f.js";import{_ as t}from"./_plugin-vue_export-helper-DlAUqK2U.js";const s={class:"blank-view"},n=e({__name:"Blank",setup(_){return(c,r)=>(o(),a("div",s))}}),m=t(n,[["__scopeId","data-v-1be224a2"]]);export{m as default};
@@ -0,0 +1 @@
1
+ import{a as N}from"./index-CmiEbWrJ.js";import{u as S,a as j,C as H,I as P}from"./InitScriptEditor-BFTWTD26.js";import{u as T,B as V,o as E,p as I,s as h,g as D,k as L,l as k}from"./naive-ui-BwyHI4J3.js";import{q as W,r as d,s as q,o as G,c0 as v,c1 as e,bW as s,bS as x,c5 as b,bV as o,bs as a,c2 as O,c7 as _,bU as r,l as A}from"./vendor-DpXl860f.js";import{_ as F}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./monaco-editor-BXWd1EVR.js";const J={class:"configs-page"},K={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=W({__name:"Configs",setup(ve){const u=T(),p=S(),i=d(null),f=d(!1),y=d([]),g=d(!1),w=d("components"),l=q(()=>p.currentConfig),C=d([]);async function M(){try{const n=await N.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 m(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 G(()=>{M()}),(n,t)=>(r(),v("div",J,[(r(),v("svg",K,[...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(),x(a(V),{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]=A(" 编辑配置 ",-1))]),_:1})):b("",!0)]),s(a(E),{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(h),{description:"暂无用户"})]),_:1},8,["value","options"])]),s(a(I),{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]=O('<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,_(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,_(l.value.customTools.length),1),t[10]||(t[10]=e("div",{class:"stat-label"},"自定义工具",-1))])])])):i.value?(r(),x(a(h),{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(),x(a(h),{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(D),{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(L),{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(k),{name:"components",tab:"MCP 组件"},{default:o(()=>[e("div",ie,[s(j,{config:l.value,onUpdate:m},null,8,["config"])])]),_:1}),s(a(k),{name:"tools",tab:"自定义工具"},{default:o(()=>[e("div",re,[s(H,{config:l.value,onUpdate:m},null,8,["config"])])]),_:1}),s(a(k),{name:"init",tab:"初始化脚本"},{default:o(()=>[e("div",de,[s(P,{config:l.value,onUpdate:m},null,8,["config"])])]),_:1})]),_:1},8,["value"])])):b("",!0)]),_:1},8,["show"])]))}}),he=F(ce,[["__scopeId","data-v-e297e9f7"]]);export{he as default};