@auto-ai/agent 2.1.120 → 2.1.122

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 (85) hide show
  1. package/.env.example +2 -1
  2. package/dist/404/index.html +1 -1
  3. package/dist/404.html +1 -1
  4. package/dist/_next/static/chunks/19aa69c07b3642d5.js +1 -0
  5. package/dist/_next/static/chunks/24459c7365a2b28b.js +1 -0
  6. package/dist/_next/static/chunks/{d3e2070a86378cfb.js → 33eeef286c328da0.js} +1 -1
  7. package/dist/_next/static/chunks/3407244006d6a98a.js +1 -0
  8. package/dist/_next/static/chunks/566e152e480b267a.js +1 -0
  9. package/dist/_next/static/chunks/6ad4268160f361a6.js +1 -0
  10. package/dist/_next/static/chunks/{d9a278a2a26e8ee5.js → 6f9a48a7f83e669a.js} +1 -1
  11. package/dist/_next/static/chunks/7658b5b9c2865eb1.js +1 -0
  12. package/dist/_next/static/chunks/7a5fd448b280dd64.js +1 -0
  13. package/dist/_next/static/chunks/{fa677aa06f1c0539.js → 98f0c5604e839ba2.js} +1 -1
  14. package/dist/_next/static/chunks/a38eccf0bb5ca1e9.js +1 -0
  15. package/dist/_next/static/chunks/b29a354245bfc377.css +1 -0
  16. package/dist/_next/static/chunks/b76778c5811ef7a1.js +1 -0
  17. package/dist/_next/static/chunks/c2bed9d5fa7be4bd.js +1 -0
  18. package/dist/_next/static/chunks/c5a4977aae6a008c.js +1 -0
  19. package/dist/_next/static/chunks/e7bd145455a541af.css +4 -0
  20. package/dist/_next/static/chunks/f2bb685629307d4d.js +1 -0
  21. package/dist/_next/static/chunks/f7e71ce1c236f806.js +1 -0
  22. package/dist/_next/static/chunks/{67acc15b8a448e1a.js → fc4be3bcf72559a0.js} +1 -1
  23. package/dist/index.html +1 -1
  24. package/dist/index.txt +16 -16
  25. package/dist/manage/about/index.html +2 -2
  26. package/dist/manage/about/index.txt +19 -19
  27. package/dist/manage/add-account/basic/index.html +2 -2
  28. package/dist/manage/add-account/basic/index.txt +23 -22
  29. package/dist/manage/add-account/index.html +2 -2
  30. package/dist/manage/add-account/index.txt +22 -23
  31. package/dist/manage/agent-teams/index.html +2 -2
  32. package/dist/manage/agent-teams/index.txt +21 -21
  33. package/dist/manage/env/index.html +2 -2
  34. package/dist/manage/env/index.txt +21 -21
  35. package/dist/manage/general/index.html +2 -2
  36. package/dist/manage/general/index.txt +19 -19
  37. package/dist/manage/index.html +1 -1
  38. package/dist/manage/index.txt +16 -16
  39. package/dist/manage/mcp/index.html +2 -2
  40. package/dist/manage/mcp/index.txt +21 -21
  41. package/dist/manage/permissions/index.html +2 -2
  42. package/dist/manage/permissions/index.txt +19 -19
  43. package/dist/manage/skills/index.html +2 -2
  44. package/dist/manage/skills/index.txt +21 -21
  45. package/dist/manage/task/index.html +2 -2
  46. package/dist/manage/task/index.txt +19 -19
  47. package/dist/manage/teams/index.html +2 -2
  48. package/dist/manage/teams/index.txt +19 -19
  49. package/dist/manage/tools/index.html +2 -2
  50. package/dist/manage/tools/index.txt +21 -21
  51. package/dist/ws-test.html +129 -191
  52. package/mcps-runtime/claude-geelib-channel/.mcp.json +18 -0
  53. package/mcps-runtime/claude-geelib-channel/server/boot.mjs +32 -0
  54. package/mcps-runtime/claude-geelib-channel/server/geelib-api.mjs +192 -0
  55. package/mcps-runtime/claude-geelib-channel/server/geelib-auth.mjs +147 -0
  56. package/mcps-runtime/claude-geelib-channel/server/geelib-client.mjs +63 -0
  57. package/mcps-runtime/claude-geelib-channel/server/index.mjs +451 -0
  58. package/mcps-runtime/claude-geelib-channel/server/poll.mjs +457 -0
  59. package/mcps-runtime/claude-geelib-channel/server/state.mjs +216 -0
  60. package/package.json +6 -6
  61. package/tools-runtime/code-tool/index.cjs +1 -0
  62. package/tools-runtime/code-tool/src/index.ts +7 -1
  63. package/tools-runtime/git-tool/index.cjs +69 -5
  64. package/tools-runtime/git-tool/src/workspace.ts +101 -4
  65. package/tools-runtime/git-tool/src/wsInit.ts +26 -3
  66. package/dist/_next/static/chunks/249606605eed1993.js +0 -1
  67. package/dist/_next/static/chunks/424d3f3f176d43d7.js +0 -1
  68. package/dist/_next/static/chunks/4302af16b34bf750.js +0 -1
  69. package/dist/_next/static/chunks/4a073924e062c459.css +0 -1
  70. package/dist/_next/static/chunks/6209b42cbfcf288a.js +0 -1
  71. package/dist/_next/static/chunks/83bf6e4bc0aad48b.css +0 -4
  72. package/dist/_next/static/chunks/8b34d657c6bbb8df.js +0 -1
  73. package/dist/_next/static/chunks/904ad158fd721117.js +0 -1
  74. package/dist/_next/static/chunks/99063f8d79783308.js +0 -1
  75. package/dist/_next/static/chunks/9cd912a1967f10df.js +0 -1
  76. package/dist/_next/static/chunks/c52dcbe269bb02d0.js +0 -1
  77. package/dist/_next/static/chunks/d01957b1055b357a.js +0 -1
  78. package/dist/_next/static/chunks/dacc94cf10289334.js +0 -1
  79. package/dist/_next/static/chunks/fff9d250e482f00e.js +0 -1
  80. package/skills-runtime/geelib/SKILL.md +0 -229
  81. package/skills-runtime/geelib/geelib-poller-state.json +0 -17
  82. package/skills-runtime/geelib/geelib.mjs +0 -762
  83. /package/dist/_next/static/{fg4nA8liSSLEgWV4WTZDt → pVB1xZbEW09ksdJlV12Zn}/_buildManifest.js +0 -0
  84. /package/dist/_next/static/{fg4nA8liSSLEgWV4WTZDt → pVB1xZbEW09ksdJlV12Zn}/_clientMiddlewareManifest.json +0 -0
  85. /package/dist/_next/static/{fg4nA8liSSLEgWV4WTZDt → pVB1xZbEW09ksdJlV12Zn}/_ssgManifest.js +0 -0
@@ -13,7 +13,13 @@ import { configure, requireCodeWorkDir, resetConfigure, getCachedConfigure } fro
13
13
  import { buildCodeToolSessionAppend } from './sessionAppend.js'
14
14
  import { initWsSession } from './wsInit.js'
15
15
 
16
- export { configure, resetConfigure, initWsSession, buildCodeToolSessionAppend }
16
+ export {
17
+ configure,
18
+ resetConfigure,
19
+ initWsSession,
20
+ buildCodeToolSessionAppend,
21
+ buildCodeToolSessionAppend as buildSessionAppend,
22
+ }
17
23
  export { resolveCodeWorkDir } from './workspace.js'
18
24
  export type { CodeToolConfigureHooks } from './hooks.js'
19
25
  export { isEnabledInAgentConfig } from './agentConfig.js'
@@ -14380,6 +14380,8 @@ var import_promises = require("node:fs/promises");
14380
14380
  var import_node_path = require("node:path");
14381
14381
  var GIT_REPO_SUBDIR = "repo";
14382
14382
  var DEFAULT_GIT_TIMEOUT_MS = 120 * 1000;
14383
+ var DEFAULT_GIT_PROBE_TIMEOUT_MS = 15 * 1000;
14384
+ var GIT_SSH_BATCH_MODE = "core.sshCommand=ssh -o BatchMode=yes -o StrictHostKeyChecking=yes";
14383
14385
  var GIT_NO_PROMPT_ENV = {
14384
14386
  GIT_TERMINAL_PROMPT: "0",
14385
14387
  GIT_ASKPASS: ""
@@ -14394,6 +14396,16 @@ function getGitTimeoutMs() {
14394
14396
  }
14395
14397
  return DEFAULT_GIT_TIMEOUT_MS;
14396
14398
  }
14399
+ function getGitProbeTimeoutMs() {
14400
+ const envValue = process.env.CLAUDE_CODE_PLUGIN_GIT_PROBE_TIMEOUT_MS;
14401
+ if (envValue) {
14402
+ const parsed = parseInt(envValue, 10);
14403
+ if (!Number.isNaN(parsed) && parsed > 0) {
14404
+ return parsed;
14405
+ }
14406
+ }
14407
+ return DEFAULT_GIT_PROBE_TIMEOUT_MS;
14408
+ }
14397
14409
  function redactUrlCredentials(urlString) {
14398
14410
  try {
14399
14411
  const parsed = new URL(urlString);
@@ -14461,6 +14473,7 @@ async function pathExists(path) {
14461
14473
  }
14462
14474
  }
14463
14475
  function execGit(args, options) {
14476
+ const timeoutMs = options.timeoutMs ?? getGitTimeoutMs();
14464
14477
  return new Promise((resolve, reject) => {
14465
14478
  const proc = import_node_child_process.spawn("git", args, {
14466
14479
  cwd: options.cwd,
@@ -14471,8 +14484,8 @@ function execGit(args, options) {
14471
14484
  let stderr = "";
14472
14485
  const timer = setTimeout(() => {
14473
14486
  proc.kill("SIGKILL");
14474
- reject(new Error(`git ${args.join(" ")} timed out`));
14475
- }, getGitTimeoutMs());
14487
+ reject(new Error(`git ${args.join(" ")} timed out after ${timeoutMs}ms`));
14488
+ }, timeoutMs);
14476
14489
  proc.stdout.on("data", (c) => stdout += String(c));
14477
14490
  proc.stderr.on("data", (c) => stderr += String(c));
14478
14491
  proc.on("error", (err) => {
@@ -14496,10 +14509,44 @@ async function isGitWorkTree(dir, gitEnv) {
14496
14509
  });
14497
14510
  return result.code === 0 && result.stdout.trim() === "true";
14498
14511
  }
14512
+ function classifyGitRemoteFailure(stderr) {
14513
+ const s = stderr.toLowerCase();
14514
+ if (/authentication failed/.test(s) || /invalid credentials/.test(s) || /\b401\b/.test(s) || /\b403\b/.test(s) || /access denied/.test(s) || /permission denied/.test(s) || /could not read username/.test(s) || /authorization failed/.test(s) || /terminal prompts disabled/.test(s)) {
14515
+ return "auth";
14516
+ }
14517
+ if (/timed out/.test(s) || /connection refused/.test(s) || /could not resolve/.test(s) || /network is unreachable/.test(s) || /no route to host/.test(s) || /unable to access/.test(s) || /failed to connect/.test(s) || /name or service not known/.test(s) || /couldn't connect to host/.test(s)) {
14518
+ return "network";
14519
+ }
14520
+ return "unknown";
14521
+ }
14522
+ async function probeGitRemote(params) {
14523
+ console.warn(`[git-tool] probe remote url=${redactUrlCredentials(params.url)}`);
14524
+ const args = ["-c", GIT_SSH_BATCH_MODE, "ls-remote", "--heads", params.url];
14525
+ let result;
14526
+ try {
14527
+ result = await execGit(args, {
14528
+ env: params.gitEnv,
14529
+ timeoutMs: getGitProbeTimeoutMs()
14530
+ });
14531
+ } catch (e) {
14532
+ const msg = e instanceof Error ? e.message : String(e);
14533
+ if (/timed out/i.test(msg)) {
14534
+ throw new Error(`Git 远程探测超时(${getGitProbeTimeoutMs()}ms): url=${redactUrlCredentials(params.url)}`);
14535
+ }
14536
+ throw e;
14537
+ }
14538
+ if (result.code !== 0) {
14539
+ const stderr = redactUrlCredentials(result.stderr);
14540
+ const kind = classifyGitRemoteFailure(stderr);
14541
+ const prefix = kind === "auth" ? "Git 远程认证失败" : kind === "network" ? "Git 远程不可达" : "Git 远程探测失败";
14542
+ throw new Error(`${prefix}: url=${redactUrlCredentials(params.url)} exit=${result.code}
14543
+ ${stderr}`.trim());
14544
+ }
14545
+ }
14499
14546
  async function wsGitClone(params) {
14500
14547
  const args = [
14501
14548
  "-c",
14502
- "core.sshCommand=ssh -o BatchMode=yes -o StrictHostKeyChecking=yes",
14549
+ GIT_SSH_BATCH_MODE,
14503
14550
  "clone",
14504
14551
  "--depth",
14505
14552
  "1",
@@ -14533,6 +14580,7 @@ async function prepareForAgent(params) {
14533
14580
  const gitEnv = buildGitCredentialEnv(creds);
14534
14581
  if (repoUrl) {
14535
14582
  const cloneUrl = withHttpsCredentials(repoUrl, creds);
14583
+ await probeGitRemote({ url: cloneUrl, gitEnv });
14536
14584
  const repoExists = await pathExists(gitWorkDir);
14537
14585
  if (!repoExists) {
14538
14586
  await wsGitClone({
@@ -14568,9 +14616,25 @@ function ensureConfigured() {
14568
14616
  async function initWsSession(ctx) {
14569
14617
  if (!isEnabledInAgentConfig(ctx.agent)) {
14570
14618
  resetConfigure();
14571
- return;
14619
+ return { state: "skipped", reason: "GitTool disabled in agent config" };
14620
+ }
14621
+ try {
14622
+ const result = await prepareForAgent({ operWorkspaceDir: ctx.operWorkspaceDir });
14623
+ if (result === "skipped") {
14624
+ resetConfigure();
14625
+ return {
14626
+ state: "skipped",
14627
+ reason: "git work directory not ready (configure WS_GIT_REPO_URL or existing repo)"
14628
+ };
14629
+ }
14630
+ return { state: "ready" };
14631
+ } catch (e) {
14632
+ resetConfigure();
14633
+ return {
14634
+ state: "failed",
14635
+ error: e instanceof Error ? e.message : String(e)
14636
+ };
14572
14637
  }
14573
- await prepareForAgent({ operWorkspaceDir: ctx.operWorkspaceDir });
14574
14638
  }
14575
14639
 
14576
14640
  // src/index.ts
@@ -10,6 +10,11 @@ import { configure, getCachedConfigure, resetConfigure } from './hooks.js'
10
10
 
11
11
  const GIT_REPO_SUBDIR = 'repo'
12
12
  const DEFAULT_GIT_TIMEOUT_MS = 120 * 1000
13
+ /** session init 远程探测超时,短于 clone/pull,避免地址不通时长时间阻塞 */
14
+ const DEFAULT_GIT_PROBE_TIMEOUT_MS = 15 * 1000
15
+
16
+ const GIT_SSH_BATCH_MODE =
17
+ 'core.sshCommand=ssh -o BatchMode=yes -o StrictHostKeyChecking=yes'
13
18
 
14
19
  const GIT_NO_PROMPT_ENV: Record<string, string> = {
15
20
  GIT_TERMINAL_PROMPT: '0',
@@ -34,6 +39,18 @@ function getGitTimeoutMs(): number {
34
39
  return DEFAULT_GIT_TIMEOUT_MS
35
40
  }
36
41
 
42
+ /** 远程 ls-remote 探测超时(可用 CLAUDE_CODE_PLUGIN_GIT_PROBE_TIMEOUT_MS 覆盖) */
43
+ function getGitProbeTimeoutMs(): number {
44
+ const envValue = process.env.CLAUDE_CODE_PLUGIN_GIT_PROBE_TIMEOUT_MS
45
+ if (envValue) {
46
+ const parsed = parseInt(envValue, 10)
47
+ if (!Number.isNaN(parsed) && parsed > 0) {
48
+ return parsed
49
+ }
50
+ }
51
+ return DEFAULT_GIT_PROBE_TIMEOUT_MS
52
+ }
53
+
37
54
  /** 日志脱敏:隐藏 http(s) URL 中的 user:pass */
38
55
  export function redactUrlCredentials(urlString: string): string {
39
56
  try {
@@ -134,8 +151,13 @@ type GitExecResult = {
134
151
  /** 在指定 cwd 执行 git 子进程 */
135
152
  function execGit(
136
153
  args: string[],
137
- options: { cwd?: string; env?: Record<string, string> },
154
+ options: {
155
+ cwd?: string
156
+ env?: Record<string, string>
157
+ timeoutMs?: number
158
+ },
138
159
  ): Promise<GitExecResult> {
160
+ const timeoutMs = options.timeoutMs ?? getGitTimeoutMs()
139
161
  return new Promise((resolve, reject) => {
140
162
  const proc = spawn('git', args, {
141
163
  cwd: options.cwd,
@@ -146,8 +168,8 @@ function execGit(
146
168
  let stderr = ''
147
169
  const timer = setTimeout(() => {
148
170
  proc.kill('SIGKILL')
149
- reject(new Error(`git ${args.join(' ')} timed out`))
150
- }, getGitTimeoutMs())
171
+ reject(new Error(`git ${args.join(' ')} timed out after ${timeoutMs}ms`))
172
+ }, timeoutMs)
151
173
  proc.stdout.on('data', c => (stdout += String(c)))
152
174
  proc.stderr.on('data', c => (stderr += String(c)))
153
175
  proc.on('error', err => {
@@ -177,6 +199,80 @@ async function isGitWorkTree(
177
199
  return result.code === 0 && result.stdout.trim() === 'true'
178
200
  }
179
201
 
202
+ /** 根据 git stderr 区分认证失败与网络不可达,便于 init 快速失败 */
203
+ function classifyGitRemoteFailure(stderr: string): 'auth' | 'network' | 'unknown' {
204
+ const s = stderr.toLowerCase()
205
+ if (
206
+ /authentication failed/.test(s) ||
207
+ /invalid credentials/.test(s) ||
208
+ /\b401\b/.test(s) ||
209
+ /\b403\b/.test(s) ||
210
+ /access denied/.test(s) ||
211
+ /permission denied/.test(s) ||
212
+ /could not read username/.test(s) ||
213
+ /authorization failed/.test(s) ||
214
+ /terminal prompts disabled/.test(s)
215
+ ) {
216
+ return 'auth'
217
+ }
218
+ if (
219
+ /timed out/.test(s) ||
220
+ /connection refused/.test(s) ||
221
+ /could not resolve/.test(s) ||
222
+ /network is unreachable/.test(s) ||
223
+ /no route to host/.test(s) ||
224
+ /unable to access/.test(s) ||
225
+ /failed to connect/.test(s) ||
226
+ /name or service not known/.test(s) ||
227
+ /couldn't connect to host/.test(s)
228
+ ) {
229
+ return 'network'
230
+ }
231
+ return 'unknown'
232
+ }
233
+
234
+ /**
235
+ * clone/pull 前用 ls-remote 探测远程可达性与凭据。
236
+ * 仅发起轻量握手,避免 session init 在不可达地址上挂到 clone 超时。
237
+ */
238
+ async function probeGitRemote(params: {
239
+ url: string
240
+ gitEnv: Record<string, string>
241
+ }): Promise<void> {
242
+ console.warn(
243
+ `[git-tool] probe remote url=${redactUrlCredentials(params.url)}`,
244
+ )
245
+ const args = ['-c', GIT_SSH_BATCH_MODE, 'ls-remote', '--heads', params.url]
246
+ let result: GitExecResult
247
+ try {
248
+ result = await execGit(args, {
249
+ env: params.gitEnv,
250
+ timeoutMs: getGitProbeTimeoutMs(),
251
+ })
252
+ } catch (e: unknown) {
253
+ const msg = e instanceof Error ? e.message : String(e)
254
+ if (/timed out/i.test(msg)) {
255
+ throw new Error(
256
+ `Git 远程探测超时(${getGitProbeTimeoutMs()}ms): url=${redactUrlCredentials(params.url)}`,
257
+ )
258
+ }
259
+ throw e
260
+ }
261
+ if (result.code !== 0) {
262
+ const stderr = redactUrlCredentials(result.stderr)
263
+ const kind = classifyGitRemoteFailure(stderr)
264
+ const prefix =
265
+ kind === 'auth'
266
+ ? 'Git 远程认证失败'
267
+ : kind === 'network'
268
+ ? 'Git 远程不可达'
269
+ : 'Git 远程探测失败'
270
+ throw new Error(
271
+ `${prefix}: url=${redactUrlCredentials(params.url)} exit=${result.code}\n${stderr}`.trim(),
272
+ )
273
+ }
274
+ }
275
+
180
276
  /** git clone 到目标目录(浅克隆) */
181
277
  async function wsGitClone(params: {
182
278
  url: string
@@ -185,7 +281,7 @@ async function wsGitClone(params: {
185
281
  }): Promise<void> {
186
282
  const args = [
187
283
  '-c',
188
- 'core.sshCommand=ssh -o BatchMode=yes -o StrictHostKeyChecking=yes',
284
+ GIT_SSH_BATCH_MODE,
189
285
  'clone',
190
286
  '--depth',
191
287
  '1',
@@ -238,6 +334,7 @@ export async function prepareForAgent(params: {
238
334
 
239
335
  if (repoUrl) {
240
336
  const cloneUrl = withHttpsCredentials(repoUrl, creds)
337
+ await probeGitRemote({ url: cloneUrl, gitEnv })
241
338
  const repoExists = await pathExists(gitWorkDir)
242
339
  if (!repoExists) {
243
340
  await wsGitClone({
@@ -15,11 +15,34 @@ export type GitToolWsInitContext = {
15
15
  }
16
16
  }
17
17
 
18
+ export type GitToolWsInitResult =
19
+ | { state: 'ready' }
20
+ | { state: 'skipped'; reason?: string }
21
+ | { state: 'failed'; error: string }
22
+
18
23
  /** WS init:按 agent 白名单与环境变量准备 git 工作区 */
19
- export async function initWsSession(ctx: GitToolWsInitContext): Promise<void> {
24
+ export async function initWsSession(
25
+ ctx: GitToolWsInitContext,
26
+ ): Promise<GitToolWsInitResult> {
20
27
  if (!isEnabledInAgentConfig(ctx.agent)) {
21
28
  resetConfigure()
22
- return
29
+ return { state: 'skipped', reason: 'GitTool disabled in agent config' }
30
+ }
31
+ try {
32
+ const result = await prepareForAgent({ operWorkspaceDir: ctx.operWorkspaceDir })
33
+ if (result === 'skipped') {
34
+ resetConfigure()
35
+ return {
36
+ state: 'skipped',
37
+ reason: 'git work directory not ready (configure WS_GIT_REPO_URL or existing repo)',
38
+ }
39
+ }
40
+ return { state: 'ready' }
41
+ } catch (e: unknown) {
42
+ resetConfigure()
43
+ return {
44
+ state: 'failed',
45
+ error: e instanceof Error ? e.message : String(e),
46
+ }
23
47
  }
24
- await prepareForAgent({ operWorkspaceDir: ctx.operWorkspaceDir })
25
48
  }
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,65934,68834,75675,24270,e=>{"use strict";e.s(["useAppStore",()=>g],65934),e.s(["create",()=>s],68834);var t=e.i(71645);let r=e=>{let t,r=new Set,n=(e,n)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=n?n:"object"!=typeof o||null===o)?o:Object.assign({},t,o),r.forEach(r=>r(t,e))}},o=()=>t,s={setState:n,getState:o,getInitialState:()=>a,subscribe:e=>(r.add(e),()=>r.delete(e))},a=t=e(n,o,s);return s},n=e=>e,o=e=>{let o=(e=>e?r(e):r)(e),s=e=>(function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n,o=t.default.useSyncExternalStore(e.subscribe,t.default.useCallback(()=>r(e.getState()),[e,r]),t.default.useCallback(()=>r(e.getInitialState()),[e,r]));return t.default.useDebugValue(o),o})(o,e);return Object.assign(s,o),s},s=e=>e?o(e):o;e.s(["DEFAULT_AGENT_CONFIG",()=>a,"createAgentConfigSlice",()=>l],75675);let a={tools:[],disallowedTools:[],mcpServers:[],skills:[],model:"",agentTeams:[],rules:[],env:{},effort:void 0,background:!1,isolation:"",whentouse:""};function i(){return{...a,tools:[...a.tools],disallowedTools:[...a.disallowedTools],mcpServers:[...a.mcpServers],skills:[...a.skills],agentTeams:[...a.agentTeams],rules:[...a.rules],env:{...a.env}}}let l=e=>({agentConfig:i(),setAgentConfig:t=>e({agentConfig:t}),resetAgentConfig:()=>e({agentConfig:i()}),patchAgentConfig:t=>e(e=>({agentConfig:{...e.agentConfig,...t}}))});function c(e,t){return{message:e,sourceAgent:"main",ts:"",arrivalSeq:t}}let u={phase:"idle",retryAttempt:0,maxRetries:0,retryInMs:0,retryUntilTs:0};function d(e){if(!e||"object"!=typeof e)return;let t=e.skill;return"string"==typeof t&&t.trim()?t.trim():void 0}e.s(["createPermissionSlice",()=>m,"findMatchingPermissionRequest",()=>f,"toolContainerGroupHasPendingPermission",()=>p],24270);let m=e=>({permissionQueue:[],enqueuePermissionRequest:t=>e(e=>{var r;return e.permissionQueue.some(e=>e.requestId===t.requestId)?e:{permissionQueue:[...e.permissionQueue,{...t,skillName:null!=(r=t.skillName)?r:d(t.input),confirmState:"pending"}]}}),setPermissionConfirmState:(t,r)=>e(e=>({permissionQueue:e.permissionQueue.map(e=>e.requestId===t?{...e,confirmState:r}:e)})),dequeuePermissionRequest:t=>e(e=>({permissionQueue:e.permissionQueue.filter(e=>e.requestId!==t)})),clearPermissionQueue:()=>e({permissionQueue:[]})});function f(e,t){var r;let n=e.filter(e=>"pending"===e.confirmState);if(0===n.length)return null;let o=d(t.input),s=t.toolName.trim().toLowerCase();for(let e of n)if(o&&e.skillName&&e.skillName===o||e.toolName.trim().toLowerCase()===s&&(!o||!e.skillName))return e;return null!=(r=n[0])?r:null}function p(e,t){let r=t.filter(e=>"pending"===e.confirmState);if(0===r.length)return!1;for(let t of e.tools)if("pending"===t.status&&f(r,t))return!0;return!1}let g=s()(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return{...(e=>({wsUrl:"",apiBase:"",sessionId:"",agentId:"qihoo",sessionViewMode:"draft",pendingHistoryRefresh:!1,setWsUrl:t=>e({wsUrl:t}),setApiBase:t=>e({apiBase:t}),setSessionId:t=>e({sessionId:t}),setAgentId:t=>e({agentId:t}),setSessionViewMode:t=>e({sessionViewMode:t}),setPendingHistoryRefresh:t=>e({pendingHistoryRefresh:t}),selectSession:(t,r)=>e({sessionId:t,sessionViewMode:r,pendingHistoryRefresh:!1}),startDraftSession:()=>e({sessionId:"",sessionViewMode:"draft",pendingHistoryRefresh:!1})}))(...t),...(e=>({bridgeReady:!1,wsConnected:!1,statusText:"未连接",statusClass:"",apiErrorState:{...u},setBridgeReady:t=>e({bridgeReady:t}),setWsConnected:t=>e({wsConnected:t}),setStatus:function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e({statusText:t,statusClass:r})},setApiErrorState:t=>e({apiErrorState:t}),resetApiErrorState:()=>e({apiErrorState:{...u}}),markConnecting:()=>e({wsConnected:!1,bridgeReady:!1,statusText:"正在连接…",statusClass:""}),markConnected:()=>e({wsConnected:!0,statusText:"已连接,等待 worker ready…",statusClass:""}),markReady:()=>e({bridgeReady:!0,statusText:"已就绪",statusClass:"ready"}),markDisconnected:()=>e({wsConnected:!1,bridgeReady:!1,statusText:"已断开",statusClass:""}),markConnectionError:t=>e({statusText:t,statusClass:"err"})}))(...t),...(e=>({lastSessions:[],sessionsMeta:"加载中…",brandAgent:"agent",brand:"Claude Code测试平台",currentWorkspaceAgent:null,setLastSessions:(t,r)=>e({lastSessions:t,sessionsMeta:r}),setSessionsMeta:t=>e({sessionsMeta:t}),resetSessions:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"加载中…";return e({lastSessions:[],sessionsMeta:t})},setBrandAgent:t=>e({brandAgent:t}),setBrand:t=>e({brand:t}),setCurrentWorkspaceAgent:t=>e({currentWorkspaceAgent:t})}))(...t),...m(...t),...((e,t)=>({assistantGenerating:!1,streamBuffer:"",messagesByRun:{},sourceAgentMessages:[],turnTerminalData:null,runLifecycleData:null,queryPhase:"",setAssistantGenerating:t=>e({assistantGenerating:t}),setStreamBuffer:t=>e({streamBuffer:t}),resetChat:()=>{t().clearPermissionQueue(),e({messagesByRun:{},sourceAgentMessages:[],assistantGenerating:!1,streamBuffer:"",turnTerminalData:null,runLifecycleData:null,queryPhase:""})},applyMessageDelta:t=>e(e=>({messagesByRun:function(e,t){var r;let n=[...null!=(r=e.main)?r:[]],o=n.reduce((e,t)=>Math.max(e,t.arrivalSeq||0),0)+1;switch(t.action){case"message_added":void 0!==t.index&&t.index>=0?n.splice(t.index,0,c(t.message,o)):n.push(c(t.message,o));break;case"message_updated":if(void 0!==t.index&&t.index>=0){let e=n[t.index];n[t.index]=e?{...e,message:t.message}:c(t.message,o)}break;case"message_removed":void 0!==t.index&&t.index>=0&&n.splice(t.index,1)}return{...e,main:n}}(e.messagesByRun,t)})),setMessages:t=>e(e=>({messagesByRun:{...e.messagesByRun,main:t.map((e,t)=>c(e,t+1))},assistantGenerating:!1})),applyRunMessageDelta:t=>e(e=>(function(e,t){let r=(t.runId||"main").trim()||"main",n=[...e.messagesByRun[r]||[]],o={message:t.message,sourceAgent:t.sourceAgent||("main"===r?"main":"unknown-agent"),ts:t.ts||"",arrivalSeq:t.arrivalSeq};switch(t.action){case"message_added":void 0!==t.index&&t.index>=0?t.index>=n.length?n.push(o):n.splice(t.index,0,o):n.push(o);break;case"message_updated":case"tool_call":case"tool_result":case"message_completed":void 0!==t.index&&t.index>=0&&(t.index>=n.length?n.push(o):n[t.index]=o);break;case"message_removed":void 0!==t.index&&t.index>=0&&t.index<n.length&&n.splice(t.index,1)}return{messagesByRun:{...e.messagesByRun,[r]:n},assistantGenerating:!(void 0!==t.message&&function(e){if(!e||"object"!=typeof e)return!1;if("assistant"===e.type)return!0;let t=e.message;return!!t&&"object"==typeof t&&"assistant"===t.role||!1}(t.message))&&e.assistantGenerating}})({messagesByRun:e.messagesByRun,assistantGenerating:e.assistantGenerating},t)),appendSourceAgentMessage:t=>e(e=>({sourceAgentMessages:[...e.sourceAgentMessages,t]})),setTurnTerminalData:t=>e({turnTerminalData:t}),setRunLifecycleData:t=>e({runLifecycleData:t}),setQueryPhase:t=>e({queryPhase:t})}))(...t),...l(...t),...(e=>({rawLog:"",appendLog:(t,r)=>e(e=>{let n=new Date().toISOString().slice(11,23),o="[".concat(n,"] ").concat(t," ")+("string"==typeof r?r:JSON.stringify(r,null,0)),s="".concat(e.rawLog).concat(o,"\n");return{rawLog:s.length>2e5?s.slice(-2e5):s}}),clearLog:()=>e({rawLog:""})}))(...t)}})},36845,e=>{"use strict";e.s(["buildAgentApiUrl",()=>T,"buildAgentItemUrl",()=>P,"buildAgentTeamMemberUrl",()=>z,"buildAgentTeamMembersUrl",()=>L,"buildAgentTeamsListUrl",()=>U,"buildAgentsListUrl",()=>C,"buildCloudSkillCatalogUrl",()=>S,"buildCloudSkillInstallUrl",()=>R,"buildMcpRuntimeDeleteUrl",()=>q,"buildMcpRuntimeExportUrl",()=>O,"buildMcpRuntimeFilesUrl",()=>B,"buildMcpRuntimeImportUrl",()=>G,"buildMcpServersListUrl",()=>A,"buildModelsApiUrl",()=>I,"buildRemoteMcpJsonUrl",()=>H,"buildScheduleDeleteUrl",()=>V,"buildSchedulesUrl",()=>Q,"buildSessionDeleteUrl",()=>g,"buildSessionOverridesUrl",()=>b,"buildSessionReplayUrl",()=>h,"buildSessionsListUrl",()=>p,"buildSkillsRuntimeDeleteUrl",()=>w,"buildSkillsRuntimeExportUrl",()=>x,"buildSkillsRuntimeImportUrl",()=>k,"buildSystemEnvApiUrl",()=>E,"buildSystemMcpJsonApiUrl",()=>j,"buildToolsListUrl",()=>v,"buildToolsRuntimeDeleteUrl",()=>M,"buildToolsRuntimeExportUrl",()=>_,"buildToolsRuntimeFilesUrl",()=>N,"buildToolsRuntimeImportUrl",()=>D,"buildWorkspaceFileDownloadUrl",()=>$,"buildWorkspaceFilesListUrl",()=>W,"buildWsUrlWithQuery",()=>F,"defaultWsUrl",()=>m,"getSkillsList",()=>y]);var t,r,n,o=e.i(47167);let s=void 0!==o.default&&(null==(t=(null==(r=o.default.env.NEXT_PUBLIC_BRIDGE_ORIGIN)?void 0:r.trim())||(null==(n=o.default.env.BACKEND_PROXY_TARGET)?void 0:n.trim()))?void 0:t.replace(/\/+$/,""))||"http://10.224.148.221:8765";function a(){try{return new URL(s).origin}catch(e){return"http://10.224.148.221:8765"}}function i(){let e="1".trim().toLowerCase();return"1"===e||"true"===e||"yes"===e}function l(){var e;let t=null==(e=o.default.env.NEXT_PUBLIC_BRIDGE_ORIGIN)?void 0:e.trim();if(!t)return null;try{return new URL(t).origin}catch(e){return null}}function c(e){let t=new URL(e),r="https:"===t.protocol?"wss:":"ws:";return"".concat(r,"//").concat(t.host,"/ws")}let u=c(a()),d=new Set(["3000","3001","5173","5174","4173","5500","5501","8080","9527","9333"]);function m(){let e=l();if(i()){let e="https:"===window.location.protocol?"wss:":"ws:";return"".concat(e,"//").concat(window.location.host,"/ws")}if(e)return c(e);let{protocol:t,hostname:r,port:n}=window.location;if("http:"===t||"https:"===t){let e=String(n||("https:"===t?"443":"80"));return d.has(e)?u:"".concat("https:"===t?"wss:":"ws:","//").concat(r,":").concat(e,"/ws")}return u}function f(e,t){let r=t.trim().replace(/\/+$/,"");if(r)try{return new URL(r).origin}catch(e){}if(i())return window.location.origin;let n=l();if(n)return n;try{let t=e.trim().replace(/^ws:/i,"http:").replace(/^wss:/i,"https:");return new URL(t).origin}catch(e){}{let{protocol:e,hostname:t,port:r}=window.location;if("http:"===e||"https:"===e)return"".concat(e,"//").concat(t).concat(r?":".concat(r):"")}return a()}function p(e,t,r){let n=new URL("/api/sessions","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function g(e,t,r,n){let o=new URL("/api/sessions","".concat(f(e,t),"/"));return o.searchParams.set("sessionId",n),o.searchParams.set("agent",r),o.toString()}function b(e,t,r,n){let o=new URL("/api/sessions/overrides","".concat(f(e,t),"/"));return o.searchParams.set("agent",r),o.searchParams.set("sessionId",n),o.toString()}function h(e,t,r,n){let o=new URL("/api/sessions/replay","".concat(f(e,t),"/"));return o.searchParams.set("agent",r),o.searchParams.set("sessionId",n),o.toString()}function v(e,t,r){let n=new URL("/api/tools","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function y(e,t,r){let n=new URL("/api/skills","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function w(e,t,r,n){let o=new URL("/api/skills/runtime-file","".concat(f(e,t),"/"));return o.searchParams.set("agent",r),o.searchParams.set("file",n),o.toString()}function x(e,t,r,n){let o=new URL("/api/skills/runtime-export","".concat(f(e,t),"/"));return o.searchParams.set("agent",r),o.searchParams.set("file",n),o.toString()}function k(e,t,r){let n=new URL("/api/skills/runtime-import","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function S(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:10,a=new URL("/api/skills/cloud-catalog","".concat(f(e,t),"/"));return a.searchParams.set("agent",r),n.trim()&&a.searchParams.set("q",n.trim()),a.searchParams.set("page",String(o<1?1:o)),a.searchParams.set("pageSize",String(s<1?10:s)),a.toString()}function R(e,t,r){let n=new URL("/api/skills/cloud-install","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function A(e,t,r){let n=new URL("/api/mcp-servers","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function U(e,t,r){let n=new URL("/api/agent-teams","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function C(e,t){return new URL("/api/agents","".concat(f(e,t),"/")).toString()}function P(e,t,r){return new URL("/api/agents/".concat(encodeURIComponent(String(r||"").trim())),"".concat(f(e,t),"/")).toString()}function T(e,t,r){let n=new URL("/api/agents/".concat(encodeURIComponent(r)),"".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function L(e,t,r){return new URL("/api/agents/".concat(encodeURIComponent(String(r||"").trim()),"/team-members"),"".concat(f(e,t),"/")).toString()}function z(e,t,r,n){return new URL("/api/agents/".concat(encodeURIComponent(String(r||"").trim()),"/team-members/").concat(encodeURIComponent(String(n||"").trim())),"".concat(f(e,t),"/")).toString()}function j(e,t,r){let n=new URL("/api/system/mcp-json","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function E(e,t,r){let n=new URL("/api/system/env","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function I(e,t,r){let n=new URL("/api/models","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function N(e,t,r){let n=new URL("/api/tools/runtime-files","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function _(e,t,r,n){let o=new URL("/api/tools/runtime-export","".concat(f(e,t),"/"));return o.searchParams.set("agent",r),o.searchParams.set("file",n),o.toString()}function D(e,t,r){let n=new URL("/api/tools/runtime-import","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function M(e,t,r,n){let o=new URL("/api/tools/runtime-file","".concat(f(e,t),"/"));return o.searchParams.set("agent",r),o.searchParams.set("file",n),o.toString()}function B(e,t,r){let n=new URL("/api/mcp/runtime-files","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function O(e,t,r,n){let o=new URL("/api/mcp/runtime-export","".concat(f(e,t),"/"));return o.searchParams.set("agent",r),o.searchParams.set("file",n),o.toString()}function G(e,t,r){let n=new URL("/api/mcp/runtime-import","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function q(e,t,r,n){let o=new URL("/api/mcp/runtime-file","".concat(f(e,t),"/"));return o.searchParams.set("agent",r),o.searchParams.set("file",n),o.toString()}function H(e,t,r){let n=new URL("/api/mcp/remote-json","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function W(e,t,r,n){let o=new URL("/api/workspace/files","".concat(f(e,t),"/"));return o.searchParams.set("agent",r),o.searchParams.set("sessionId",n),o.toString()}function $(e,t,r,n){let o=new URL("/api/workspace/file","".concat(f(e,t),"/"));return o.searchParams.set("agent",r),o.searchParams.set("path",n.replace(/\\/g,"/")),o.toString()}function Q(e,t,r){let n=new URL("/api/schedules","".concat(f(e,t),"/"));return n.searchParams.set("agent",r),n.toString()}function V(e,t,r,n){let o=new URL("/api/schedules","".concat(f(e,t),"/"));return o.searchParams.set("agent",r),o.searchParams.set("id",n),o.toString()}function F(e,t,r){let n,o=e.trim().replace(/\/+$/,"");o||(o=m());try{n=new URL(o)}catch(e){n=new URL(u)}return n.searchParams.delete("sessionId"),n.searchParams.delete("agent"),t.trim()&&n.searchParams.set("sessionId",t.trim()),n.searchParams.set("agent",r),n.toString()}},99749,e=>{"use strict";function t(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}e.s(["_",()=>t])},29250,e=>{"use strict";e.s(["ApiError",()=>n,"bridgeFetch",()=>s,"del",()=>c,"get",()=>a,"patch",()=>l,"post",()=>i],29250);var t=e.i(99749);let r={accessToken:null};class n extends Error{constructor(e,r,n,o){super(e),(0,t._)(this,"status",void 0),(0,t._)(this,"body",void 0),(0,t._)(this,"response",void 0),this.status=r,this.body=n,this.response=o,this.name="ApiError"}}async function o(e){let t=await e.text();if(!t)return null;try{return JSON.parse(t)}catch(e){return t}}async function s(e,t){var s,a,i;let l,c,{json:u,timeout:d=3e4,raw:m=!1,body:f,...p}=null!=t?t:{},g=new Headers(null!=(s=p.headers)?s:void 0);g.has("Accept")||g.set("Accept","application/json, text/plain, */*"),void 0===u||g.has("Content-Type")||g.set("Content-Type","application/json; charset=utf-8");let b=r.accessToken;b&&!g.has("Authorization")&&g.set("Authorization","Bearer ".concat(b));let h=void 0!==u?JSON.stringify(u):f,v=null!=(a=p.signal)?a:void 0;if(!v){let e=new AbortController;v=e.signal,l=setTimeout(()=>e.abort(),d)}try{c=await fetch(e,{...p,headers:g,body:h,credentials:null!=(i=p.credentials)?i:"same-origin",signal:v})}finally{void 0!==l&&clearTimeout(l)}if(m)return c;let y=await o(c);if(!c.ok)throw new n(function(e,t){if(e&&"object"==typeof e){if("string"==typeof e.message&&e.message.trim())return e.message;if("string"==typeof e.error&&e.error.trim())return e.error}return t||"请求失败"}(y,c.statusText),c.status,y,c);return y}async function a(e,t){return s(e,{...t,method:"GET"})}async function i(e,t,r){let{type:n="json",...o}=null!=r?r:{};return"file"===n?s(e,{...o,method:"POST",body:t}):"form"===n?s(e,{...o,method:"POST",body:new URLSearchParams(t)}):s(e,{...o,method:"POST",json:t})}async function l(e,t,r){return s(e,{...r,method:"PATCH",json:t})}async function c(e,t){return s(e,{...t,method:"DELETE"})}},75157,7670,e=>{"use strict";function t(){for(var e,t,r=0,n="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=function e(t){var r,n,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t)if(Array.isArray(t)){var s=t.length;for(r=0;r<s;r++)t[r]&&(n=e(t[r]))&&(o&&(o+=" "),o+=n)}else for(n in t)t[n]&&(o&&(o+=" "),o+=n);return o}(e))&&(n&&(n+=" "),n+=t);return n}e.s(["cn",()=>ef],75157),e.s(["clsx",()=>t],7670);let r=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Map,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2?arguments[2]:void 0;return{nextPart:e,validators:t,classGroupId:r}},n=[],o=(e,t,r)=>{if(0==e.length-t)return r.classGroupId;let n=e[t],s=r.nextPart.get(n);if(s){let r=o(e,t+1,s);if(r)return r}let a=r.validators;if(null===a)return;let i=0===t?e.join("-"):e.slice(t).join("-"),l=a.length;for(let e=0;e<l;e++){let t=a[e];if(t.validator(i))return t.classGroupId}},s=(e,t)=>{let n=r();for(let r in e)a(e[r],n,r,t);return n},a=(e,t,r,n)=>{let o=e.length;for(let s=0;s<o;s++)i(e[s],t,r,n)},i=(e,t,r,n)=>"string"==typeof e?void l(e,t,r):"function"==typeof e?void c(e,t,r,n):void u(e,t,r,n),l=(e,t,r)=>{(""===e?t:d(t,e)).classGroupId=r},c=(e,t,r,n)=>{if(m(e))return void a(e(n),t,r,n);null===t.validators&&(t.validators=[]),t.validators.push({classGroupId:r,validator:e})},u=(e,t,r,n)=>{let o=Object.entries(e),s=o.length;for(let e=0;e<s;e++){let[s,i]=o[e];a(i,d(t,s),r,n)}},d=(e,t)=>{let n=e,o=t.split("-"),s=o.length;for(let e=0;e<s;e++){let t=o[e],s=n.nextPart.get(t);s||(s=r(),n.nextPart.set(t,s)),n=s}return n},m=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,f=[],p=(e,t,r,n,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:n,isExternal:o}),g=/\s+/,b=function(){let e,t;for(var r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];let s=0,a="";for(;s<n.length;)(e=n[s++])&&(t=h(e))&&(a&&(a+=" "),a+=t);return a},h=e=>{let t;if("string"==typeof e)return e;let r="";for(let n=0;n<e.length;n++)e[n]&&(t=h(e[n]))&&(r&&(r+=" "),r+=t);return r},v=[],y=e=>{let t=t=>t[e]||v;return t.isThemeGetter=!0,t},w=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,x=/^\((?:(\w[\w-]*):)?(.+)\)$/i,k=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,S=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,R=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,A=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,U=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,C=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,P=e=>k.test(e),T=e=>!!e&&!Number.isNaN(Number(e)),L=e=>!!e&&Number.isInteger(Number(e)),z=e=>e.endsWith("%")&&T(e.slice(0,-1)),j=e=>S.test(e),E=()=>!0,I=e=>R.test(e)&&!A.test(e),N=()=>!1,_=e=>U.test(e),D=e=>C.test(e),M=e=>!O(e)&&!F(e),B=e=>er(e,ea,N),O=e=>w.test(e),G=e=>er(e,ei,I),q=e=>er(e,el,T),H=e=>er(e,eu,E),W=e=>er(e,ec,N),$=e=>er(e,eo,N),Q=e=>er(e,es,D),V=e=>er(e,ed,_),F=e=>x.test(e),K=e=>en(e,ei),J=e=>en(e,ec),Y=e=>en(e,eo),X=e=>en(e,ea),Z=e=>en(e,es),ee=e=>en(e,ed,!0),et=e=>en(e,eu,!0),er=(e,t,r)=>{let n=w.exec(e);return!!n&&(n[1]?t(n[1]):r(n[2]))},en=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=x.exec(e);return!!n&&(n[1]?t(n[1]):r)},eo=e=>"position"===e||"percentage"===e,es=e=>"image"===e||"url"===e,ea=e=>"length"===e||"size"===e||"bg-size"===e,ei=e=>"length"===e,el=e=>"number"===e,ec=e=>"family-name"===e,eu=e=>"number"===e||"weight"===e,ed=e=>"shadow"===e;Symbol.toStringTag;let em=function(e){let t,r,a,i;for(var l=arguments.length,c=Array(l>1?l-1:0),u=1;u<l;u++)c[u-1]=arguments[u];let d=e=>{let n=r(e);if(n)return n;let o=((e,t)=>{let{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:o,sortModifiers:s}=t,a=[],i=e.trim().split(g),l="";for(let e=i.length-1;e>=0;e-=1){let t=i[e],{isExternal:c,modifiers:u,hasImportantModifier:d,baseClassName:m,maybePostfixModifierPosition:f}=r(t);if(c){l=t+(l.length>0?" "+l:l);continue}let p=!!f,g=n(p?m.substring(0,f):m);if(!g){if(!p||!(g=n(m))){l=t+(l.length>0?" "+l:l);continue}p=!1}let b=0===u.length?"":1===u.length?u[0]:s(u).join(":"),h=d?b+"!":b,v=h+g;if(a.indexOf(v)>-1)continue;a.push(v);let y=o(g,p);for(let e=0;e<y.length;++e){let t=y[e];a.push(h+t)}l=t+(l.length>0?" "+l:l)}return l})(e,t);return a(e,o),o};return i=l=>{let u;return r=(t={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=Object.create(null),n=Object.create(null),o=(o,s)=>{r[o]=s,++t>e&&(t=0,n=r,r=Object.create(null))};return{get(e){let t=r[e];return void 0!==t?t:void 0!==(t=n[e])?(o(e,t),t):void 0},set(e,t){e in r?r[e]=t:o(e,t)}}})((u=c.reduce((e,t)=>t(e),e())).cacheSize),parseClassName:(e=>{let{prefix:t,experimentalParseClassName:r}=e,n=e=>{let t,r=[],n=0,o=0,s=0,a=e.length;for(let i=0;i<a;i++){let a=e[i];if(0===n&&0===o){if(":"===a){r.push(e.slice(s,i)),s=i+1;continue}if("/"===a){t=i;continue}}"["===a?n++:"]"===a?n--:"("===a?o++:")"===a&&o--}let i=0===r.length?e:e.slice(s),l=i,c=!1;return i.endsWith("!")?(l=i.slice(0,-1),c=!0):i.startsWith("!")&&(l=i.slice(1),c=!0),p(r,c,l,t&&t>s?t-s:void 0)};if(t){let e=t+":",r=n;n=t=>t.startsWith(e)?r(t.slice(e.length)):p(f,!1,t,void 0,!0)}if(r){let e=n;n=t=>r({className:t,parseClassName:e})}return n})(u),sortModifiers:(e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,r)=>{t.set(e,1e6+r)}),e=>{let r=[],n=[];for(let o=0;o<e.length;o++){let s=e[o],a="["===s[0],i=t.has(s);a||i?(n.length>0&&(n.sort(),r.push(...n),n=[]),r.push(s)):n.push(s)}return n.length>0&&(n.sort(),r.push(...n)),r}})(u),...(e=>{let t=(e=>{let{theme:t,classGroups:r}=e;return s(r,t)})(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){let t;return -1===(t=e).slice(1,-1).indexOf(":")?void 0:(()=>{let e=t.slice(1,-1),r=e.indexOf(":"),n=e.slice(0,r);return n?"arbitrary.."+n:void 0})()}let r=e.split("-"),n=+(""===r[0]&&r.length>1);return o(r,n,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=a[e],o=r[e];return t?o?((e,t)=>{let r=Array(e.length+t.length);for(let t=0;t<e.length;t++)r[t]=e[t];for(let n=0;n<t.length;n++)r[e.length+n]=t[n];return r})(o,t):t:o||n}return r[e]||n}}})(u)}).cache.get,a=t.cache.set,i=d,d(l)},function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return i(b(...t))}}(()=>{let e=y("color"),t=y("font"),r=y("text"),n=y("font-weight"),o=y("tracking"),s=y("leading"),a=y("breakpoint"),i=y("container"),l=y("spacing"),c=y("radius"),u=y("shadow"),d=y("inset-shadow"),m=y("text-shadow"),f=y("drop-shadow"),p=y("blur"),g=y("perspective"),b=y("aspect"),h=y("ease"),v=y("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...x(),F,O],S=()=>["auto","hidden","clip","visible","scroll"],R=()=>["auto","contain","none"],A=()=>[F,O,l],U=()=>[P,"full","auto",...A()],C=()=>[L,"none","subgrid",F,O],I=()=>["auto",{span:["full",L,F,O]},L,F,O],N=()=>[L,"auto",F,O],_=()=>["auto","min","max","fr",F,O],D=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],er=()=>["start","end","center","stretch","center-safe","end-safe"],en=()=>["auto",...A()],eo=()=>[P,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...A()],es=()=>[P,"screen","full","dvw","lvw","svw","min","max","fit",...A()],ea=()=>[P,"screen","full","lh","dvh","lvh","svh","min","max","fit",...A()],ei=()=>[e,F,O],el=()=>[...x(),Y,$,{position:[F,O]}],ec=()=>["no-repeat",{repeat:["","x","y","space","round"]}],eu=()=>["auto","cover","contain",X,B,{size:[F,O]}],ed=()=>[z,K,G],em=()=>["","none","full",c,F,O],ef=()=>["",T,K,G],ep=()=>["solid","dashed","dotted","double"],eg=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eb=()=>[T,z,Y,$],eh=()=>["","none",p,F,O],ev=()=>["none",T,F,O],ey=()=>["none",T,F,O],ew=()=>[T,F,O],ex=()=>[P,"full",...A()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[j],breakpoint:[j],color:[E],container:[j],"drop-shadow":[j],ease:["in","out","in-out"],font:[M],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[j],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[j],shadow:[j],spacing:["px",T],text:[j],"text-shadow":[j],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",P,O,F,b]}],container:["container"],columns:[{columns:[T,O,F,i]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:k()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:U()}],"inset-x":[{"inset-x":U()}],"inset-y":[{"inset-y":U()}],start:[{"inset-s":U(),start:U()}],end:[{"inset-e":U(),end:U()}],"inset-bs":[{"inset-bs":U()}],"inset-be":[{"inset-be":U()}],top:[{top:U()}],right:[{right:U()}],bottom:[{bottom:U()}],left:[{left:U()}],visibility:["visible","invisible","collapse"],z:[{z:[L,"auto",F,O]}],basis:[{basis:[P,"full","auto",i,...A()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[T,P,"auto","initial","none",O]}],grow:[{grow:["",T,F,O]}],shrink:[{shrink:["",T,F,O]}],order:[{order:[L,"first","last","none",F,O]}],"grid-cols":[{"grid-cols":C()}],"col-start-end":[{col:I()}],"col-start":[{"col-start":N()}],"col-end":[{"col-end":N()}],"grid-rows":[{"grid-rows":C()}],"row-start-end":[{row:I()}],"row-start":[{"row-start":N()}],"row-end":[{"row-end":N()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":_()}],"auto-rows":[{"auto-rows":_()}],gap:[{gap:A()}],"gap-x":[{"gap-x":A()}],"gap-y":[{"gap-y":A()}],"justify-content":[{justify:[...D(),"normal"]}],"justify-items":[{"justify-items":[...er(),"normal"]}],"justify-self":[{"justify-self":["auto",...er()]}],"align-content":[{content:["normal",...D()]}],"align-items":[{items:[...er(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...er(),{baseline:["","last"]}]}],"place-content":[{"place-content":D()}],"place-items":[{"place-items":[...er(),"baseline"]}],"place-self":[{"place-self":["auto",...er()]}],p:[{p:A()}],px:[{px:A()}],py:[{py:A()}],ps:[{ps:A()}],pe:[{pe:A()}],pbs:[{pbs:A()}],pbe:[{pbe:A()}],pt:[{pt:A()}],pr:[{pr:A()}],pb:[{pb:A()}],pl:[{pl:A()}],m:[{m:en()}],mx:[{mx:en()}],my:[{my:en()}],ms:[{ms:en()}],me:[{me:en()}],mbs:[{mbs:en()}],mbe:[{mbe:en()}],mt:[{mt:en()}],mr:[{mr:en()}],mb:[{mb:en()}],ml:[{ml:en()}],"space-x":[{"space-x":A()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":A()}],"space-y-reverse":["space-y-reverse"],size:[{size:eo()}],"inline-size":[{inline:["auto",...es()]}],"min-inline-size":[{"min-inline":["auto",...es()]}],"max-inline-size":[{"max-inline":["none",...es()]}],"block-size":[{block:["auto",...ea()]}],"min-block-size":[{"min-block":["auto",...ea()]}],"max-block-size":[{"max-block":["none",...ea()]}],w:[{w:[i,"screen",...eo()]}],"min-w":[{"min-w":[i,"screen","none",...eo()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[a]},...eo()]}],h:[{h:["screen","lh",...eo()]}],"min-h":[{"min-h":["screen","lh","none",...eo()]}],"max-h":[{"max-h":["screen","lh",...eo()]}],"font-size":[{text:["base",r,K,G]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,et,H]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",z,O]}],"font-family":[{font:[J,W,t]}],"font-features":[{"font-features":[O]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,F,O]}],"line-clamp":[{"line-clamp":[T,"none",F,q]}],leading:[{leading:[s,...A()]}],"list-image":[{"list-image":["none",F,O]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",F,O]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ei()}],"text-color":[{text:ei()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ep(),"wavy"]}],"text-decoration-thickness":[{decoration:[T,"from-font","auto",F,G]}],"text-decoration-color":[{decoration:ei()}],"underline-offset":[{"underline-offset":[T,"auto",F,O]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:A()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",F,O]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",F,O]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:el()}],"bg-repeat":[{bg:ec()}],"bg-size":[{bg:eu()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},L,F,O],radial:["",F,O],conic:[L,F,O]},Z,Q]}],"bg-color":[{bg:ei()}],"gradient-from-pos":[{from:ed()}],"gradient-via-pos":[{via:ed()}],"gradient-to-pos":[{to:ed()}],"gradient-from":[{from:ei()}],"gradient-via":[{via:ei()}],"gradient-to":[{to:ei()}],rounded:[{rounded:em()}],"rounded-s":[{"rounded-s":em()}],"rounded-e":[{"rounded-e":em()}],"rounded-t":[{"rounded-t":em()}],"rounded-r":[{"rounded-r":em()}],"rounded-b":[{"rounded-b":em()}],"rounded-l":[{"rounded-l":em()}],"rounded-ss":[{"rounded-ss":em()}],"rounded-se":[{"rounded-se":em()}],"rounded-ee":[{"rounded-ee":em()}],"rounded-es":[{"rounded-es":em()}],"rounded-tl":[{"rounded-tl":em()}],"rounded-tr":[{"rounded-tr":em()}],"rounded-br":[{"rounded-br":em()}],"rounded-bl":[{"rounded-bl":em()}],"border-w":[{border:ef()}],"border-w-x":[{"border-x":ef()}],"border-w-y":[{"border-y":ef()}],"border-w-s":[{"border-s":ef()}],"border-w-e":[{"border-e":ef()}],"border-w-bs":[{"border-bs":ef()}],"border-w-be":[{"border-be":ef()}],"border-w-t":[{"border-t":ef()}],"border-w-r":[{"border-r":ef()}],"border-w-b":[{"border-b":ef()}],"border-w-l":[{"border-l":ef()}],"divide-x":[{"divide-x":ef()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ef()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ep(),"hidden","none"]}],"divide-style":[{divide:[...ep(),"hidden","none"]}],"border-color":[{border:ei()}],"border-color-x":[{"border-x":ei()}],"border-color-y":[{"border-y":ei()}],"border-color-s":[{"border-s":ei()}],"border-color-e":[{"border-e":ei()}],"border-color-bs":[{"border-bs":ei()}],"border-color-be":[{"border-be":ei()}],"border-color-t":[{"border-t":ei()}],"border-color-r":[{"border-r":ei()}],"border-color-b":[{"border-b":ei()}],"border-color-l":[{"border-l":ei()}],"divide-color":[{divide:ei()}],"outline-style":[{outline:[...ep(),"none","hidden"]}],"outline-offset":[{"outline-offset":[T,F,O]}],"outline-w":[{outline:["",T,K,G]}],"outline-color":[{outline:ei()}],shadow:[{shadow:["","none",u,ee,V]}],"shadow-color":[{shadow:ei()}],"inset-shadow":[{"inset-shadow":["none",d,ee,V]}],"inset-shadow-color":[{"inset-shadow":ei()}],"ring-w":[{ring:ef()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ei()}],"ring-offset-w":[{"ring-offset":[T,G]}],"ring-offset-color":[{"ring-offset":ei()}],"inset-ring-w":[{"inset-ring":ef()}],"inset-ring-color":[{"inset-ring":ei()}],"text-shadow":[{"text-shadow":["none",m,ee,V]}],"text-shadow-color":[{"text-shadow":ei()}],opacity:[{opacity:[T,F,O]}],"mix-blend":[{"mix-blend":[...eg(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":eg()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[T]}],"mask-image-linear-from-pos":[{"mask-linear-from":eb()}],"mask-image-linear-to-pos":[{"mask-linear-to":eb()}],"mask-image-linear-from-color":[{"mask-linear-from":ei()}],"mask-image-linear-to-color":[{"mask-linear-to":ei()}],"mask-image-t-from-pos":[{"mask-t-from":eb()}],"mask-image-t-to-pos":[{"mask-t-to":eb()}],"mask-image-t-from-color":[{"mask-t-from":ei()}],"mask-image-t-to-color":[{"mask-t-to":ei()}],"mask-image-r-from-pos":[{"mask-r-from":eb()}],"mask-image-r-to-pos":[{"mask-r-to":eb()}],"mask-image-r-from-color":[{"mask-r-from":ei()}],"mask-image-r-to-color":[{"mask-r-to":ei()}],"mask-image-b-from-pos":[{"mask-b-from":eb()}],"mask-image-b-to-pos":[{"mask-b-to":eb()}],"mask-image-b-from-color":[{"mask-b-from":ei()}],"mask-image-b-to-color":[{"mask-b-to":ei()}],"mask-image-l-from-pos":[{"mask-l-from":eb()}],"mask-image-l-to-pos":[{"mask-l-to":eb()}],"mask-image-l-from-color":[{"mask-l-from":ei()}],"mask-image-l-to-color":[{"mask-l-to":ei()}],"mask-image-x-from-pos":[{"mask-x-from":eb()}],"mask-image-x-to-pos":[{"mask-x-to":eb()}],"mask-image-x-from-color":[{"mask-x-from":ei()}],"mask-image-x-to-color":[{"mask-x-to":ei()}],"mask-image-y-from-pos":[{"mask-y-from":eb()}],"mask-image-y-to-pos":[{"mask-y-to":eb()}],"mask-image-y-from-color":[{"mask-y-from":ei()}],"mask-image-y-to-color":[{"mask-y-to":ei()}],"mask-image-radial":[{"mask-radial":[F,O]}],"mask-image-radial-from-pos":[{"mask-radial-from":eb()}],"mask-image-radial-to-pos":[{"mask-radial-to":eb()}],"mask-image-radial-from-color":[{"mask-radial-from":ei()}],"mask-image-radial-to-color":[{"mask-radial-to":ei()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[T]}],"mask-image-conic-from-pos":[{"mask-conic-from":eb()}],"mask-image-conic-to-pos":[{"mask-conic-to":eb()}],"mask-image-conic-from-color":[{"mask-conic-from":ei()}],"mask-image-conic-to-color":[{"mask-conic-to":ei()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:el()}],"mask-repeat":[{mask:ec()}],"mask-size":[{mask:eu()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",F,O]}],filter:[{filter:["","none",F,O]}],blur:[{blur:eh()}],brightness:[{brightness:[T,F,O]}],contrast:[{contrast:[T,F,O]}],"drop-shadow":[{"drop-shadow":["","none",f,ee,V]}],"drop-shadow-color":[{"drop-shadow":ei()}],grayscale:[{grayscale:["",T,F,O]}],"hue-rotate":[{"hue-rotate":[T,F,O]}],invert:[{invert:["",T,F,O]}],saturate:[{saturate:[T,F,O]}],sepia:[{sepia:["",T,F,O]}],"backdrop-filter":[{"backdrop-filter":["","none",F,O]}],"backdrop-blur":[{"backdrop-blur":eh()}],"backdrop-brightness":[{"backdrop-brightness":[T,F,O]}],"backdrop-contrast":[{"backdrop-contrast":[T,F,O]}],"backdrop-grayscale":[{"backdrop-grayscale":["",T,F,O]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[T,F,O]}],"backdrop-invert":[{"backdrop-invert":["",T,F,O]}],"backdrop-opacity":[{"backdrop-opacity":[T,F,O]}],"backdrop-saturate":[{"backdrop-saturate":[T,F,O]}],"backdrop-sepia":[{"backdrop-sepia":["",T,F,O]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":A()}],"border-spacing-x":[{"border-spacing-x":A()}],"border-spacing-y":[{"border-spacing-y":A()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",F,O]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[T,"initial",F,O]}],ease:[{ease:["linear","initial",h,F,O]}],delay:[{delay:[T,F,O]}],animate:[{animate:["none",v,F,O]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,F,O]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:ev()}],"rotate-x":[{"rotate-x":ev()}],"rotate-y":[{"rotate-y":ev()}],"rotate-z":[{"rotate-z":ev()}],scale:[{scale:ey()}],"scale-x":[{"scale-x":ey()}],"scale-y":[{"scale-y":ey()}],"scale-z":[{"scale-z":ey()}],"scale-3d":["scale-3d"],skew:[{skew:ew()}],"skew-x":[{"skew-x":ew()}],"skew-y":[{"skew-y":ew()}],transform:[{transform:[F,O,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ex()}],"translate-x":[{"translate-x":ex()}],"translate-y":[{"translate-y":ex()}],"translate-z":[{"translate-z":ex()}],"translate-none":["translate-none"],accent:[{accent:ei()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ei()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",F,O]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":A()}],"scroll-mx":[{"scroll-mx":A()}],"scroll-my":[{"scroll-my":A()}],"scroll-ms":[{"scroll-ms":A()}],"scroll-me":[{"scroll-me":A()}],"scroll-mbs":[{"scroll-mbs":A()}],"scroll-mbe":[{"scroll-mbe":A()}],"scroll-mt":[{"scroll-mt":A()}],"scroll-mr":[{"scroll-mr":A()}],"scroll-mb":[{"scroll-mb":A()}],"scroll-ml":[{"scroll-ml":A()}],"scroll-p":[{"scroll-p":A()}],"scroll-px":[{"scroll-px":A()}],"scroll-py":[{"scroll-py":A()}],"scroll-ps":[{"scroll-ps":A()}],"scroll-pe":[{"scroll-pe":A()}],"scroll-pbs":[{"scroll-pbs":A()}],"scroll-pbe":[{"scroll-pbe":A()}],"scroll-pt":[{"scroll-pt":A()}],"scroll-pr":[{"scroll-pr":A()}],"scroll-pb":[{"scroll-pb":A()}],"scroll-pl":[{"scroll-pl":A()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",F,O]}],fill:[{fill:["none",...ei()]}],"stroke-w":[{stroke:[T,K,G,q]}],stroke:[{stroke:["none",...ei()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function ef(){for(var e=arguments.length,r=Array(e),n=0;n<e;n++)r[n]=arguments[n];return em(t(r))}},19455,29315,30628,76477,977,19805,67805,54694,91730,26292,35423,17514,27601,25913,e=>{"use strict";let t;e.s(["Button",()=>ev,"buttonVariants",()=>eb],19455);var r=e.i(18050);e.i(47167);var n=e.i(71645);function o(){return"undefined"!=typeof window}function s(e){return l(e)?(e.nodeName||"").toLowerCase():"#document"}function a(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function i(e){var t;return null==(t=(l(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function l(e){return!!o()&&(e instanceof Node||e instanceof a(e).Node)}function c(e){return!!o()&&(e instanceof Element||e instanceof a(e).Element)}function u(e){return!!o()&&(e instanceof HTMLElement||e instanceof a(e).HTMLElement)}function d(e){return!!o()&&"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof a(e).ShadowRoot)}function m(e){let{overflow:t,overflowX:r,overflowY:n,display:o}=k(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&"inline"!==o&&"contents"!==o}function f(e){return/^(table|td|th)$/.test(s(e))}function p(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}e.s(["useButton",()=>J],91730),e.s(["getComputedStyle",()=>k,"getContainingBlock",()=>y,"getDocumentElement",()=>i,"getFrameElement",()=>A,"getNodeName",()=>s,"getNodeScroll",()=>S,"getOverflowAncestors",()=>function e(t,r,n){var o;void 0===r&&(r=[]),void 0===n&&(n=!0);let s=function e(t){let r=R(t);return x(r)?t.ownerDocument?t.ownerDocument.body:t.body:u(r)&&m(r)?r:e(r)}(t),i=s===(null==(o=t.ownerDocument)?void 0:o.body),l=a(s);if(!i)return r.concat(s,e(s,[],n));{let t=A(l);return r.concat(l,l.visualViewport||[],m(s)?s:[],t&&n?e(t):[])}},"getParentNode",()=>R,"getWindow",()=>a,"isContainingBlock",()=>v,"isElement",()=>c,"isHTMLElement",()=>u,"isLastTraversableNode",()=>x,"isNode",()=>l,"isOverflowElement",()=>m,"isShadowRoot",()=>d,"isTableElement",()=>f,"isTopLayer",()=>p,"isWebKit",()=>w],29315);let g=/transform|translate|scale|rotate|perspective|filter/,b=/paint|layout|strict|content/,h=e=>!!e&&"none"!==e;function v(e){let t=c(e)?k(e):e;return h(t.transform)||h(t.translate)||h(t.scale)||h(t.rotate)||h(t.perspective)||!w()&&(h(t.backdropFilter)||h(t.filter))||g.test(t.willChange||"")||b.test(t.contain||"")}function y(e){let t=R(e);for(;u(t)&&!x(t);){if(v(t))return t;if(p(t))break;t=R(t)}return null}function w(){return null==t&&(t="undefined"!=typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),t}function x(e){return/^(html|body|#document)$/.test(s(e))}function k(e){return a(e).getComputedStyle(e)}function S(e){return c(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function R(e){if("html"===s(e))return e;let t=e.assignedSlot||e.parentNode||d(e)&&e.host||i(e);return d(t)?t.host:t}function A(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}e.s(["useStableCallback",()=>L],76477),e.s(["useRefWithInit",()=>C],30628);let U={};function C(e,t){let r=n.useRef(U);return r.current===U&&(r.current=e(t)),r}let P=n["useInsertionEffect".concat(Math.random().toFixed(1)).slice(0,-3)],T=P&&P!==n.useLayoutEffect?P:e=>e();function L(e){let t=C(z).current;return t.next=e,T(t.effect),t.trampoline}function z(){let e={next:void 0,callback:j,trampoline:function(){for(var t,r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];return null==(t=e.callback)?void 0:t.call(e,...n)},effect:()=>{e.callback=e.next}};return e}function j(){}e.s(["useIsoLayoutEffect",()=>E],977);let E="undefined"!=typeof document?n.useLayoutEffect:()=>{};function I(e,t){return e&&!t?e:!e&&t?t:e||t?{...e,...t}:void 0}e.s(["makeEventPreventable",()=>W,"mergeClassNames",()=>$,"mergeProps",()=>_,"mergePropsN",()=>D],19805);let N={};function _(e,t,r,n,o){if(!r&&!n&&!o&&!e)return M(t);let s=M(e);return t&&(s=B(s,t)),r&&(s=B(s,r)),n&&(s=B(s,n)),o&&(s=B(s,o)),s}function D(e){if(0===e.length)return N;if(1===e.length)return M(e[0]);let t=M(e[0]);for(let r=1;r<e.length;r+=1)t=B(t,e[r]);return t}function M(e){return G(e)?{...q(e,N)}:function(e){let t={...e};for(let e in t){let r=t[e];O(e,r)&&(t[e]=H(r))}return t}(e)}function B(e,t){return G(t)?q(t,e):function(e,t){if(!t)return e;for(let r in t){let n=t[r];switch(r){case"style":e[r]=I(e.style,n);break;case"className":e[r]=$(e.className,n);break;default:O(r,n)?e[r]=function(e,t){return t?e?r=>{if(Q(r)){W(r);let n=t(r);return r.baseUIHandlerPrevented||null==e||e(r),n}let n=t(r);return null==e||e(r),n}:H(t):e}(e[r],n):e[r]=n}}return e}(e,t)}function O(e,t){let r=e.charCodeAt(0),n=e.charCodeAt(1),o=e.charCodeAt(2);return 111===r&&110===n&&o>=65&&o<=90&&("function"==typeof t||void 0===t)}function G(e){return"function"==typeof e}function q(e,t){return G(e)?e(t):null!=e?e:N}function H(e){return e?t=>(Q(t)&&W(t),e(t)):e}function W(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function $(e,t){return t?e?t+" "+e:t:e}function Q(e){return null!=e&&"object"==typeof e&&"nativeEvent"in e}e.s(["CompositeRootContext",()=>F,"useCompositeRootContext",()=>K],54694),e.s(["default",()=>V],67805);let V=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];let o=new URL("https://base-ui.com/production-error");return o.searchParams.set("code",e.toString()),r.forEach(e=>o.searchParams.append("args[]",e)),"".concat("Base UI"," error #").concat(e,"; visit ").concat(o," for the full message.")},F=n.createContext(void 0);function K(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=n.useContext(F);if(void 0===t&&!e)throw Error(V(16));return t}function J(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{disabled:t=!1,focusableWhenDisabled:r,tabIndex:o=0,native:s=!0,composite:a}=e,i=n.useRef(null),l=K(!0),c=null!=a?a:void 0!==l,{props:u}=function(e){let{focusableWhenDisabled:t,disabled:r,composite:o=!1,tabIndex:s=0,isNativeButton:a}=e,i=o&&!1!==t,l=o&&!1===t;return{props:n.useMemo(()=>{let e={onKeyDown(e){r&&t&&"Tab"!==e.key&&e.preventDefault()}};return o||(e.tabIndex=s,!a&&r&&(e.tabIndex=t?s:-1)),(a&&(t||i)||!a&&r)&&(e["aria-disabled"]=r),a&&(!t||l)&&(e.disabled=r),e},[o,r,t,i,l,a,s])}}({focusableWhenDisabled:r,disabled:t,composite:c,tabIndex:o,isNativeButton:s}),d=n.useCallback(()=>{let e=i.current;Y(e)&&c&&t&&void 0===u.disabled&&e.disabled&&(e.disabled=!1)},[t,u.disabled,c]);return E(d,[d]),{getButtonProps:n.useCallback(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onClick:r,onMouseDown:n,onKeyUp:o,onKeyDown:a,onPointerDown:i,...l}=e;return _({type:s?"button":void 0,onClick(e){if(t)return void e.preventDefault();null==r||r(e)},onMouseDown(e){t||null==n||n(e)},onKeyDown(e){var n;if(t||(W(e),null==a||a(e),e.baseUIHandlerPrevented))return;let o=e.target===e.currentTarget,i=e.currentTarget,l=Y(i),u=!s&&!!((null==(n=i)?void 0:n.tagName)==="A"&&(null==n?void 0:n.href)),d=o&&(s?l:!u),m="Enter"===e.key,f=" "===e.key,p=i.getAttribute("role"),g=(null==p?void 0:p.startsWith("menuitem"))||"option"===p||"gridcell"===p;if(o&&c&&f){if(e.defaultPrevented&&g)return;e.preventDefault(),u||s&&l?(i.click(),e.preventBaseUIHandler()):d&&(null==r||r(e),e.preventBaseUIHandler());return}d&&(!s&&(f||m)&&e.preventDefault(),!s&&m&&(null==r||r(e)))},onKeyUp(e){if(!t){if(W(e),null==o||o(e),e.target===e.currentTarget&&s&&c&&Y(e.currentTarget)&&" "===e.key)return void e.preventDefault();!e.baseUIHandlerPrevented&&(e.target!==e.currentTarget||s||c||" "!==e.key||null==r||r(e))}},onPointerDown(e){if(t)return void e.preventDefault();null==i||i(e)}},s?void 0:{role:"button"},u,l)},[t,u,c,s]),buttonRef:L(e=>{i.current=e,d()})}}function Y(e){return u(e)&&"BUTTON"===e.tagName}function X(e,t,r,n){var o,s,a,i,l;let c=C(ee).current;return o=c,s=e,a=t,i=r,l=n,(o.refs[0]!==s||o.refs[1]!==a||o.refs[2]!==i||o.refs[3]!==l)&&et(c,[e,t,r,n]),c.callback}function Z(e){var t,r;let n=C(ee).current;return t=n,r=e,(t.refs.length!==r.length||t.refs.some((e,t)=>e!==r[t]))&&et(n,e),n.callback}function ee(){return{callback:null,cleanup:null,refs:[]}}function et(e,t){if(e.refs=t,t.every(e=>null==e)){e.callback=null;return}e.callback=r=>{if(e.cleanup&&(e.cleanup(),e.cleanup=null),null!=r){let n=Array(t.length).fill(null);for(let e=0;e<t.length;e+=1){let o=t[e];if(null!=o)switch(typeof o){case"function":{let t=o(r);"function"==typeof t&&(n[e]=t);break}case"object":o.current=r}}e.cleanup=()=>{for(let e=0;e<t.length;e+=1){let r=t[e];if(null!=r)switch(typeof r){case"function":{let t=n[e];"function"==typeof t?t():r(null);break}case"object":r.current=null}}}}}}e.s(["useRenderElement",()=>el],27601),e.s(["useMergedRefs",()=>X,"useMergedRefsN",()=>Z],26292),e.s(["isReactVersionAtLeast",()=>en],35423);let er=parseInt(n.version,10);function en(e){return er>=e}function eo(e){var t;if(!n.isValidElement(e))return null;let r=e.props;return null!=(t=er>=19?null==r?void 0:r.ref:e.ref)?t:null}function es(){}e.s(["EMPTY_ARRAY",()=>ea,"EMPTY_OBJECT",()=>ei,"NOOP",()=>es],17514);let ea=Object.freeze([]),ei=Object.freeze({});function el(e,t){var r;let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=t.render,a=function(e){var t,r;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{className:o,style:s,render:a}=e,{state:i=ei,ref:l,props:c,stateAttributesMapping:u,enabled:d=!0}=n,m=d?"function"==typeof o?o(i):o:void 0,f=d?"function"==typeof s?s(i):s:void 0,p=d?function(e,t){let r={};for(let n in e){let o=e[n];if(null==t?void 0:t.hasOwnProperty(n)){let e=t[n](o);null!=e&&Object.assign(r,e);continue}!0===o?r["data-".concat(n.toLowerCase())]="":o&&(r["data-".concat(n.toLowerCase())]=o.toString())}return r}(i,u):ei,g=d&&c?Array.isArray(r=c)?D(r):_(void 0,r):void 0,b=d?null!=(t=I(p,g))?t:{}:ei;return("undefined"!=typeof document&&(d?Array.isArray(l)?b.ref=Z([b.ref,eo(a),...l]):b.ref=X(b.ref,eo(a),l):X(null,null)),d)?(void 0!==m&&(b.className=$(b.className,m)),void 0!==f&&(b.style=I(b.style,f)),b):ei}(t,o);return!1===o.enabled?null:function(e,t,r,o){if(t){if("function"==typeof t)return t(r,o);let e=_(r,t.props);e.ref=r.ref;let s=t;return(null==s?void 0:s.$$typeof)===ec&&(s=n.Children.toArray(t)[0]),n.cloneElement(s,e)}if(e&&"string"==typeof e){var s,a;return s=e,a=r,"button"===s?(0,n.createElement)("button",{type:"button",...a,key:a.key}):"img"===s?(0,n.createElement)("img",{alt:"",...a,key:a.key}):n.createElement(s,a)}throw Error(V(8))}(e,s,a,null!=(r=o.state)?r:ei)}let ec=Symbol.for("react.lazy"),eu=n.forwardRef(function(e,t){let{render:r,className:n,disabled:o=!1,focusableWhenDisabled:s=!1,nativeButton:a=!0,style:i,...l}=e,{getButtonProps:c,buttonRef:u}=J({disabled:o,focusableWhenDisabled:s,native:a});return el("button",e,{state:{disabled:o},ref:[t,u],props:[l,c]})});e.s(["cva",()=>ep],25913);var ed=e.i(7670);let em=e=>"boolean"==typeof e?"".concat(e):0===e?"0":e,ef=ed.clsx,ep=(e,t)=>r=>{var n;if((null==t?void 0:t.variants)==null)return ef(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:o,defaultVariants:s}=t,a=Object.keys(o).map(e=>{let t=null==r?void 0:r[e],n=null==s?void 0:s[e];if(null===t)return null;let a=em(t)||em(n);return o[e][a]}),i=r&&Object.entries(r).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return ef(e,a,null==t||null==(n=t.compoundVariants)?void 0:n.reduce((e,t)=>{let{class:r,className:n,...o}=t;return Object.entries(o).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...s,...i}[t]):({...s,...i})[t]===r})?[...e,r,n]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)};var eg=e.i(75157);let eb=ep("group/button inline-flex shrink-0 items-center justify-center rounded cursor-pointer !pl-[16px] !pr-[16px] [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:align-middle [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-[var(--ds-accent)] border-0 hover:bg-[var(--ds-accent-hover)]",outline:"!border !border-solid !border-[var(--ds-accent)] !rounded bg-[var(--surface-1)] hover:bg-[var(--surface-1)] hover:border-[var(--ds-accent-hover)] aria-expanded:bg-[var(--surface-1)] aria-expanded:border-[var(--ds-accent-hover)] dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary hover:bg-secondary/80 aria-expanded:bg-secondary",ghost:"hover:bg-muted aria-expanded:bg-muted dark:hover:bg-muted/50",destructive:"bg-destructive/10 hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"underline-offset-4 hover:underline",plain:"bg-transparent border-0","plain-outline":"bg-[var(--surface-1)] !border !border-solid !border-[var(--border-default)] !rounded hover:bg-[var(--surface-1)] hover:!border-[var(--ds-accent)]"},size:{default:"h-7 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 text-base",xs:"h-6 gap-1 rounded-[min(var(--radius-md),12px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),14px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8 pl-[0] pr-[0]","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}}),eh={default:"text-[var(--surface-1)] hover:text-[var(--surface-1)] [&_svg]:stroke-current [&_svg_path]:!fill-current",outline:"text-[var(--ds-accent)] hover:text-[var(--ds-accent-hover)] aria-expanded:text-[var(--ds-accent-hover)] [&_svg]:stroke-current [&_svg_path]:!fill-current",secondary:"text-secondary-foreground aria-expanded:text-secondary-foreground [&_svg]:stroke-current [&_svg_path]:!fill-current",ghost:"hover:text-foreground aria-expanded:text-foreground [&_svg]:stroke-current [&_svg_path]:!fill-current",destructive:"text-destructive [&_svg]:stroke-current [&_svg_path]:!fill-current",link:"text-primary [&_svg]:stroke-current [&_svg_path]:!fill-current",plain:"text-[var(--ds-text)] [&_svg]:stroke-current [&_svg_path]:!fill-current","plain-outline":"text-[var(--ds-text)] hover:text-[var(--ds-accent)] [&_svg]:stroke-current [&_svg_path]:!fill-current"};function ev(e){let{className:t,variant:n="default",size:o="default",...s}=e,a=null!=n?n:"default",i=null!=o?o:"default",l="icon"===i?void 0:eh[a];return(0,r.jsx)(eu,{"data-slot":"button","data-size":i,className:(0,eg.cn)(eb({variant:a,size:i}),l,t),...s})}},76639,e=>{"use strict";e.s(["Dialog",()=>l,"DialogBody",()=>p,"DialogClose",()=>g,"DialogContent",()=>u,"DialogDescription",()=>f,"DialogHeader",()=>d,"DialogTitle",()=>m]);var t=e.i(18050),r=e.i(71645),n=e.i(74080),o=e.i(75157),s=e.i(72064);let a=r.createContext(null);function i(){let e=r.useContext(a);if(!e)throw Error("Dialog components must be used inside <Dialog>.");return e}function l(e){let{open:r,onOpenChange:n,children:o}=e;return(0,t.jsx)(a.Provider,{value:{open:r,onOpenChange:n},children:o})}function c(e){let{children:t}=e;return"undefined"==typeof document?null:(0,n.createPortal)(t,document.body)}function u(e){let{className:n,children:s,"aria-labelledby":a}=e,{open:l,onOpenChange:u}=i();return(r.useEffect(()=>{if(!l)return;let e=e=>{"Escape"===e.key&&u(!1)},t=document.body.style.overflow;return document.body.style.overflow="hidden",window.addEventListener("keydown",e),()=>{document.body.style.overflow=t,window.removeEventListener("keydown",e)}},[l,u]),l)?(0,t.jsxs)(c,{children:[(0,t.jsx)("div",{className:"fixed inset-0 z-[10000] animate-[backdropIn_0.2s_ease-out] bg-black/45",onClick:()=>u(!1),"aria-hidden":!0}),(0,t.jsx)("div",{className:"fixed inset-0 z-[10000] flex items-center justify-center p-4",children:(0,t.jsx)("div",{role:"dialog","aria-modal":"true","aria-labelledby":a,className:(0,o.cn)("flex max-h-[92vh] w-full max-w-[760px] animate-[modalIn_0.2s_ease-out] flex-col overflow-hidden rounded-2xl border border-[var(--ds-border)] bg-[var(--ds-bg)] shadow-[var(--shadow-lg)]",n),onClick:e=>e.stopPropagation(),children:s})})]}):null}function d(e){let{className:r,...n}=e;return(0,t.jsx)("div",{className:(0,o.cn)("flex flex-shrink-0 items-center justify-between gap-3 border-b border-[var(--ds-border)] px-4 py-[.85rem]",r),...n})}function m(e){let{className:r,...n}=e;return(0,t.jsx)("h2",{className:(0,o.cn)("m-[.15rem_.35rem_0] text-base font-semibold text-[var(--ds-text)]",r),...n})}function f(e){let{className:r,...n}=e;return(0,t.jsx)("p",{className:(0,o.cn)("m-[.35rem_.35rem_0] text-sm text-[var(--ds-muted)]",r),...n})}function p(e){let{className:r,...n}=e;return(0,t.jsx)("div",{className:(0,o.cn)("min-h-0 flex-1 px-4 py-3",r),...n})}function g(e){let{className:r,...n}=e,{onOpenChange:a}=i();return(0,t.jsx)("button",{type:"button",className:(0,o.cn)("cursor-pointer rounded-md border-none bg-transparent px-2 pb-1 pt-2 hover:bg-[var(--ds-item-bg-hover)]",r),onClick:e=>{var t;null==(t=n.onClick)||t.call(n,e),e.defaultPrevented||a(!1)},...n,children:(0,t.jsx)(s.default,{name:"Close",className:"size-4"})})}},68499,e=>{"use strict";e.s(["confirmAlertDialog",()=>a]);var t=e.i(18050),r=e.i(88014),n=e.i(19455),o=e.i(76639);function s(e){let{options:r,onResolve:s}=e,{title:a,description:i="",confirmText:l="确认",cancelText:c="取消"}=r;return(0,t.jsx)(o.Dialog,{open:!0,onOpenChange:e=>!e&&s(!1),children:(0,t.jsxs)(o.DialogContent,{className:"min-h-0 max-w-[460px] overflow-hidden p-0",children:[(0,t.jsx)(o.DialogHeader,{className:"mb-0 border-b border-[var(--ds-border)] px-5 pb-3 pt-5",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{className:"m-0 text-lg font-semibold text-[var(--ds-text)]",children:a}),i?(0,t.jsx)(o.DialogDescription,{className:"m-0 mt-2 whitespace-pre-wrap text-base leading-5 text-[var(--ds-muted)]",children:i}):null]})}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 px-4 py-3",children:[(0,t.jsx)(n.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:()=>s(!1),children:c}),(0,t.jsx)(n.Button,{type:"button",size:"lg",onClick:()=>s(!0),children:l})]})]})})}function a(e){return"undefined"==typeof document?Promise.resolve(!1):new Promise(n=>{let o=document.createElement("div");document.body.appendChild(o);let a=(0,r.createRoot)(o),i=!1;a.render((0,t.jsx)(s,{options:e,onResolve:e=>{i||(i=!0,a.unmount(),o.remove(),n(e))}}))})}},52727,e=>{"use strict";e.s(["addTeamMember",()=>b,"createAgent",()=>f,"deleteAgentItem",()=>v,"findAgentInList",()=>d,"getAgentDetail",()=>m,"listAgents",()=>l,"listAgentsForManage",()=>c,"removeTeamMember",()=>h,"updateAgent",()=>p]);var t=e.i(29250),r=e.i(36845);function n(e){let t=null!=e.id?String(e.id).trim():"";if(!t)return null;let r="string"==typeof e.displayName&&e.displayName.trim()?e.displayName.trim():t;return{id:t,displayName:r}}function o(e){if("string"==typeof e.whentouse)return e.whentouse;let t=e.config;if(t&&"object"==typeof t&&!Array.isArray(t)){let e=t.whentouse;if("string"==typeof e)return e}return""}function s(e){let t=e.agentTeamMembers;if(!Array.isArray(t))return[];let r=[];for(let e of t){if(!e||"object"!=typeof e)continue;let t=null!=e.agentType?String(e.agentType).trim():"";t&&r.push({agentType:t,whentouse:"string"==typeof e.whentouse?e.whentouse:""})}return r}function a(e){let t=n(e);return t?{...t,whentouse:o(e),agentTeamMembers:s(e)}:null}function i(e,t){let r=e&&"object"==typeof e?e:{},n=r.env&&"object"==typeof r.env&&!Array.isArray(r.env)?Object.fromEntries(Object.entries(r.env).map(e=>{let[t,r]=e;return[t,null==r?"":String(r)]})):{},o={tools:Array.isArray(r.tools)?r.tools.map(String):[],disallowedTools:Array.isArray(r.disallowedTools)?r.disallowedTools.map(String):[],mcpServers:Array.isArray(r.mcpServers)?r.mcpServers.map(String):[],skills:Array.isArray(r.skills)?r.skills.map(String):[],agentTeams:Array.isArray(r.agentTeams)?r.agentTeams.map(String):[],rules:Array.isArray(r.rules)?r.rules.map(String):[],model:"string"==typeof r.model?r.model:"",background:!0===r.background,isolation:"string"==typeof r.isolation?r.isolation:"",whentouse:"string"==typeof t?t:"",env:n,effort:null};return("string"==typeof r.effort||"number"==typeof r.effort)&&(o.effort=r.effort),o}async function l(e,t){return(await u(e,t)).map(n).filter(e=>null!=e)}async function c(e,t){return(await u(e,t)).map(a).filter(e=>null!=e)}async function u(e,n){let o=(await (0,t.get)((0,r.buildAgentsListUrl)(e,n))).agents;return Array.isArray(o)?o.filter(e=>null!=e&&"object"==typeof e):[]}function d(e,t){var r;let n=t.trim();return n&&null!=(r=e.find(e=>e.id===n))?r:null}async function m(e,n,s){let a=s.trim(),i=(await (0,t.get)((0,r.buildAgentItemUrl)(e,n,a))).agent,l=i&&"string"==typeof i.prompt?i.prompt:"",c=(null==i?void 0:i.config)&&"object"==typeof i.config?i.config:null;return{id:a,prompt:l,whentouse:o({whentouse:null==i?void 0:i.whentouse,config:null==i?void 0:i.config}),config:c}}async function f(e,n,o){let s=o.id.trim();await (0,t.post)((0,r.buildAgentsListUrl)(e,n),{name:s,prompt:o.prompt});let a=await m(e,n,s);return await (0,t.patch)((0,r.buildAgentItemUrl)(e,n,s),{config:i(a.config,o.whentouse)}),s}async function p(e,n,o){let s=o.id.trim();if(!s)throw Error("缺少 agent id");return await (0,t.patch)((0,r.buildAgentItemUrl)(e,n,s),{prompt:o.prompt,config:i(o.baseConfig,o.whentouse)}),s}function g(e){return e&&"object"==typeof e?s(e):[]}async function b(e,n,o,s){let a=o.trim(),i=s.trim();if(!a)throw Error("缺少 leader id");if(!i)throw Error("缺少 agentType");return g((await (0,t.post)((0,r.buildAgentTeamMembersUrl)(e,n,a),{agentType:i})).agent)}async function h(e,n,o,s){let a=o.trim(),i=s.trim();if(!a)throw Error("缺少 leader id");if(!i)throw Error("缺少 agentType");return g((await (0,t.del)((0,r.buildAgentTeamMemberUrl)(e,n,a,i))).agent)}async function v(e,n,o){let s=o.trim();if(!s)throw Error("缺少 agent id");try{await (0,t.del)((0,r.buildAgentItemUrl)(e,n,s))}catch(o){if(o instanceof t.ApiError&&400===o.status&&String(o.message).includes("missing required query parameter: agent"))return void await (0,t.del)((0,r.buildAgentApiUrl)(e,n,s));throw o}}}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,53925,e=>{"use strict";e.s(["ResourceImportDialog",()=>u],53925);var t=e.i(18050),a=e.i(71645),r=e.i(72064),l=e.i(75157),s=e.i(19455);function i(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function n(e){let{uploadUrl:n,accept:o,disabled:c=!1,multiple:d=!1,maxFileSize:u=0x3200000,autoUpload:m=!1,method:p="POST",transport:f="xhr",fieldName:v="file",headers:b,extraFormData:x,autoRetryTimes:h=0,autoRetryDelayMs:g=800,selectionOnly:y=!1,className:w,emptyTitle:j="点击或拖拽文件到此处",emptyHint:C="支持上传文件",onFilesChange:N,onUploadSuccess:k,onUploadError:R,onValidationError:T}=e,S=a.useId(),M=a.useRef(null),E=a.useRef(new Map),A=a.useRef(new Map),O=a.useRef([]),[D,P]=a.useState(!1),[U,z]=a.useState([]),B=a.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);a.useEffect(()=>{O.current=U,null==N||N(U)},[U,N]),a.useEffect(()=>()=>{for(let e of E.current.values())e.abort();for(let e of A.current.values())e.abort();for(let e of O.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let L=a.useCallback((e,t)=>{z(a=>a.map(a=>a.id===e?{...a,...t}:a))},[]),I=a.useCallback(async(e,t)=>{let a=O.current.find(t=>t.id===e);if(!a||c)return;L(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let r=new FormData;if(x)for(let[e,t]of Object.entries(x))r.append(e,t);r.append(v,a.file);try{let t="";if("fetch"===f){let a=new AbortController;A.current.set(e,a);let l=await fetch(n,{method:p,headers:b,body:r,signal:a.signal}),s=await l.text();try{t=s?JSON.parse(s):""}catch(e){t=s}if(!l.ok)throw Error("上传失败:".concat(l.status," ").concat(l.statusText))}else t=await new Promise((t,a)=>{let l=new XMLHttpRequest;if(E.current.set(e,l),l.open(p,n,!0),b)for(let[e,t]of Object.entries(b))l.setRequestHeader(e,t);l.upload.onprogress=t=>{if(!t.lengthComputable)return;let a=Math.min(100,Math.round(t.loaded/t.total*100));L(e,{progress:a})},l.onerror=()=>a(Error("网络异常,上传失败")),l.onabort=()=>a(Error("__ABORTED__")),l.onload=()=>{l.status>=200&&l.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(l)):a(Error("上传失败:".concat(l.status," ").concat(l.statusText)))},l.send(r)});L(e,{status:"success",progress:100,error:""});let a=O.current.find(t=>t.id===e);a&&(null==k||k(a,t))}catch(l){let a=l instanceof Error?l.message:String(l);if("__ABORTED__"===a)return void L(e,{status:"selected",progress:0,error:""});if(t<h){L(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(h,")")}),await new Promise(e=>window.setTimeout(e,g)),await I(e,t+1);return}L(e,{status:"error",error:a});let r=O.current.find(t=>t.id===e);r&&(null==R||R(r,a))}finally{E.current.delete(e),A.current.delete(e)}},[g,h,c,x,v,b,p,R,k,f,L,n]),_=a.useCallback(e=>{I(e,0)},[I]),F=a.useCallback(e=>{var t,a;null==(t=E.current.get(e))||t.abort(),null==(a=A.current.get(e))||a.abort()},[]),V=a.useCallback(()=>{for(let e of O.current)("selected"===e.status||"error"===e.status)&&_(e.id)},[_]),H=a.useCallback(e=>{if(c||!e.length)return;let t=new Set(O.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),a=[];for(let r of e){let e="".concat(r.name,"::").concat(r.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let a=e.name.toLowerCase(),r=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?a.endsWith(e):e.endsWith("/*")?r.startsWith("".concat(e.slice(0,-1))):r===e)}(r,B)){null==T||T("文件类型不支持:".concat(r.name));continue}if(r.size>u){null==T||T("文件过大(最大 ".concat(i(u),"):").concat(r.name));continue}t.add(e),a.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:r,status:"selected",progress:0,error:"",retryCount:0,previewUrl:r.type.startsWith("image/")?URL.createObjectURL(r):""})}}if(!a.length)return;let r=d?[...O.current,...a]:[a[a.length-1]];if(!d)for(let e of O.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(z(r),m&&!y)for(let e of a)_(e.id)},[B,m,c,u,d,T,y,_]),J=a.useCallback(e=>{let t=e.target.files;t&&(H(Array.from(t)),e.target.value="")},[H]),K=a.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),P(!1),c||H(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[H,c]);return(0,t.jsxs)("div",{className:(0,l.cn)("flex min-h-0 w-full flex-col gap-3",w),children:[(0,t.jsx)("input",{ref:M,id:S,type:"file",hidden:!0,accept:o,multiple:d,disabled:c,onChange:J}),(0,t.jsxs)("label",{htmlFor:S,onDragOver:e=>{e.preventDefault(),c||P(!0)},onDragLeave:e=>{e.preventDefault(),P(!1)},onDrop:K,className:(0,l.cn)("flex min-h-[124px] cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-[var(--ds-border)] px-4 py-6 text-center transition-colors hover:border-[var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",D&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",c&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(r.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-base text-[var(--ds-text)]",children:j}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:C})]}),U.length?(0,t.jsx)("div",{className:"space-y-2",children:U.map(e=>(0,t.jsx)("div",{className:"rounded-md border border-[var(--ds-border)] p-2.5",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-base text-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:i(e.file.size)}),e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"mt-2 h-14 w-14 rounded object-cover"}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsx)("div",{className:"mt-2 h-1.5 w-full overflow-hidden rounded bg-[var(--ds-main-tint)]",children:(0,t.jsx)("div",{className:"h-full bg-[var(--ds-accent)] transition-all",style:{width:"".concat(e.progress,"%")}})}):null,"error"===e.status?(0,t.jsx)("div",{className:"mt-1 text-sm text-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),y?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(r.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(s.Button,{type:"button",size:"sm",variant:"outline",disabled:c,onClick:()=>_(e.id),children:["error"===e.status?(0,t.jsx)(r.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(s.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>F(e.id),children:[(0,t.jsx)(r.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!y&&!m&&U.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(s.Button,{type:"button",size:"sm",onClick:V,disabled:c,children:"上传"})}):null]})}var o=e.i(76639),c=e.i(13354),d=e.i(29250);function u(e){let{open:r,onOpenChange:l,title:i,description:u,uploadUrl:m,resetKey:p}=e,[f,v]=(0,a.useState)(!1),[b,x]=(0,a.useState)(null),h=(0,a.useCallback)(()=>{l(!1),x(null)},[l]),g=(0,a.useCallback)(async()=>{if(!b)return void c.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",b),v(!0);try{let t=await (0,d.bridgeFetch)(m,{method:"POST",body:e}),a=Number(t.imported||0),r=Number(t.overwritten||0),l=Array.isArray(t.rejected)?t.rejected.length:0;c.appToast.success("导入完成:导入 ".concat(a,",覆盖 ").concat(r)+(l>0?",拒绝 ".concat(l):"")),h()}catch(e){c.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{v(!1)}},[h,b,m]);return(0,t.jsx)(o.Dialog,{open:r,onOpenChange:e=>{l(e),e||x(null)},children:(0,t.jsxs)(o.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{children:i}),(0,t.jsx)(o.DialogDescription,{children:u})]}),(0,t.jsx)(o.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:h,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(n,{uploadUrl:m,accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:f,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,a;x(null!=(a=null==(t=e[0])?void 0:t.file)?a:null)},onValidationError:e=>{c.appToast.info(e)}},"".concat(r?"open":"closed","-").concat(null!=p?p:m)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(s.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:h,children:"取消"}),(0,t.jsx)(s.Button,{type:"button",size:"lg",variant:"default",disabled:f||null==b,onClick:()=>void g(),children:f?"导入中…":"确定"})]})]})]})})}},94197,e=>{"use strict";e.s(["IconTooltipButton",()=>n]);var t=e.i(18050),a=e.i(72064),r=e.i(19455),l=e.i(46798),s=e.i(75157);let i={muted:"text-[var(--ds-muted)] hover:text-[var(--ds-text)]",danger:"text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800"};function n(e){let{icon:n,label:o,ariaLabel:c,tone:d="muted",disabled:u,className:m,iconClassName:p,onClick:f}=e;return(0,t.jsx)(l.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)(l.Tooltip,{children:[(0,t.jsx)(l.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(r.Button,{type:"button",variant:"plain",size:"icon",className:(0,s.cn)("h-4 w-4",i[d],m),disabled:u,"aria-label":null!=c?c:o,onClick:f,children:(0,t.jsx)(a.default,{name:n,size:16,className:p})})}),(0,t.jsx)(l.TooltipContent,{side:"bottom",align:"center",className:"text-base",children:o})]})})}},56708,e=>{"use strict";e.s(["ManageChromeHeaderActions",()=>n,"ManageFeatureChrome",()=>i]);var t=e.i(18050),a=e.i(71645),r=e.i(74080),l=e.i(72064);let s=(0,a.createContext)(null);function i(e){let{title:r,description:i,children:n,showTitle:o=!0,headerIcon:c}=e,[d,u]=(0,a.useState)(null);return(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-[var(--space-4)] pb-[var(--space-4)]",children:[o?(0,t.jsxs)("div",{className:"manage-page-title-block flex items-center",children:[c&&(0,t.jsx)("div",{className:"mr-3 rounded-md bg-[var(--green-light)] px-4 py-3",children:(0,t.jsx)(l.default,{name:c,size:24,className:"text-[var(--green-dark)]",strokeWidth:1.5})}),(0,t.jsxs)("div",{className:"pt-3",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:r}),(0,t.jsx)("p",{className:"manage-page-desc",children:i})]})]}):null,(0,t.jsx)("div",{ref:u,className:"manage-page-header-actions self-start"})]}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col",children:(0,t.jsx)(s.Provider,{value:d,children:n})})]})}function n(e){let{children:t}=e,l=(0,a.useContext)(s);return(0,a.useSyncExternalStore)(()=>()=>{},()=>!0,()=>!1)&&l?(0,r.createPortal)(t,l):null}},92715,85413,e=>{"use strict";e.s(["AppTable",()=>m],92715);var t=e.i(18050);e.s(["Empty",()=>l],85413);var a=e.i(75157),r=e.i(72064);function l(e){let{text:l="暂无数据",className:s}=e;return(0,t.jsxs)("div",{className:(0,a.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-base text-[var(--ds-muted)]",s),role:"status","aria-live":"polite",children:[(0,t.jsx)(r.default,{name:"NoData",size:80,color:"var(--ds-muted)",className:"opacity-90"}),(0,t.jsx)("span",{children:l})]})}var s=e.i(71645);let i=s.forwardRef((e,r)=>{let{className:l,...s}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:r,className:(0,a.cn)("w-full caption-bottom border-collapse text-sm",l),...s})})});i.displayName="Table";let n=s.forwardRef((e,r)=>{let{className:l,...s}=e;return(0,t.jsx)("thead",{ref:r,className:(0,a.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",l),...s})});n.displayName="TableHeader";let o=s.forwardRef((e,r)=>{let{className:l,viewportFit:i=!0,viewportReserveBottom:n=16,viewportPaginationReserve:o=0,style:c,...d}=e,u=s.useRef(null),m=s.useCallback(e=>{u.current=e,"function"==typeof r?r(e):r&&(r.current=e)},[r]),[p,f]=s.useState(void 0);return s.useLayoutEffect(()=>{var e,t;if(!i)return void f(void 0);let a=()=>{var e,t;let a=u.current;if(!a)return;let r=a.getBoundingClientRect().top;f(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-r-(n+o))))};a();let r=new ResizeObserver(()=>{a()});try{r.observe(document.body)}catch(e){}return window.addEventListener("resize",a),null==(e=window.visualViewport)||e.addEventListener("resize",a),null==(t=window.visualViewport)||t.addEventListener("scroll",a),window.addEventListener("scroll",a,!0),()=>{var e,t;r.disconnect(),window.removeEventListener("resize",a),null==(e=window.visualViewport)||e.removeEventListener("resize",a),null==(t=window.visualViewport)||t.removeEventListener("scroll",a),window.removeEventListener("scroll",a,!0)}},[i,n,o]),(0,t.jsx)("tbody",{ref:m,className:(0,a.cn)("block overflow-y-auto [&_tr:last-child]:border-b-0 [&_tr:last-child_td]:border-b-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",l),style:i&&void 0!==p?{...c,maxHeight:p}:c,...d})});o.displayName="TableBody";let c=s.forwardRef((e,r)=>{let{className:l,hoverable:s=!0,...i}=e;return(0,t.jsx)("tr",{ref:r,className:(0,a.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",s&&"group/table-row",l),...i})});c.displayName="TableRow";let d=s.forwardRef((e,r)=>{let{className:l,...s}=e;return(0,t.jsx)("th",{ref:r,className:(0,a.cn)("h-10 border-b border-[var(--border-subtle)] bg-[var(--surface-2)] px-3 text-left align-middle text-[14px] font-medium !text-[var(--ds-text)] text-muted-foreground",l),...s})});d.displayName="TableHead";let u=s.forwardRef((e,r)=>{let{className:l,...s}=e;return(0,t.jsx)("td",{ref:r,className:(0,a.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle text-base transition-colors group-has-[td:hover]/table-row:!bg-[var(--ds-item-hover)]",l),...s})});function m(e){let{rows:r,columns:s,getRowKey:m,className:p,rowClassName:f,headerRowClassName:v,emptyText:b,emptyNode:x,bodyProps:h}=e;return(0,t.jsx)("div",{className:(0,a.cn)("overflow-hidden border border-[var(--ds-border)]",p),children:(0,t.jsxs)(i,{children:[(0,t.jsx)(n,{children:(0,t.jsx)(c,{className:(0,a.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",v),children:s.map(e=>(0,t.jsx)(d,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(o,{...h,children:r.length?r.map(e=>(0,t.jsx)(c,{className:"function"==typeof f?f(e):f,children:s.map(a=>(0,t.jsx)(u,{className:a.cellClassName,children:a.render(e)},a.key))},m(e))):(0,t.jsx)(c,{hoverable:!1,children:(0,t.jsx)(u,{colSpan:s.length,className:"py-6",children:null!=x?x:(0,t.jsx)(l,{text:b})})})})]})})}u.displayName="TableCell"},62427,e=>{"use strict";e.s(["deleteRuntimeMcp",()=>d,"deleteRuntimeSkill",()=>x,"deleteRuntimeTool",()=>c,"exportRuntimeMcpUrl",()=>m,"exportRuntimeSkillUrl",()=>h,"exportRuntimeToolUrl",()=>u,"importRuntimeMcp",()=>f,"importRuntimeTool",()=>p,"installCloudSkill",()=>y,"listAgentTeams",()=>i,"listCloudSkillCatalog",()=>g,"listMcpServers",()=>r,"listRuntimeMcpPackages",()=>o,"listRuntimeTools",()=>n,"listSkills",()=>s,"listTools",()=>l,"loadRemoteMcpJson",()=>v,"saveRemoteMcpJson",()=>b]);var t=e.i(29250),a=e.i(36845);async function r(e,r,l){let s=await (0,t.get)((0,a.buildMcpServersListUrl)(e,r,l));return{servers:Array.isArray(s.servers)?s.servers:[]}}async function l(e,r,l){let s=await (0,t.get)((0,a.buildToolsListUrl)(e,r,l));return{tools:Array.isArray(s.tools)?s.tools:[]}}async function s(e,r,l){let s=await (0,t.get)((0,a.getSkillsList)(e,r,l));return{skills:Array.isArray(s.skills)?s.skills:[]}}async function i(e,r,l){let s=await (0,t.get)((0,a.buildAgentTeamsListUrl)(e,r,l));return{teamAgentTypes:Array.isArray(s.teamAgentTypes)?s.teamAgentTypes:[],agentTeams:Array.isArray(s.agentTeams)?s.agentTeams:[]}}async function n(e,r,l){let s=await (0,t.get)((0,a.buildToolsRuntimeFilesUrl)(e,r,l));return{runtimeToolsDir:"string"==typeof s.runtimeToolsDir?s.runtimeToolsDir:"",items:Array.isArray(s.items)?s.items.filter(e=>!!(e&&e.id)):[]}}async function o(e,r,l){let s=await (0,t.get)((0,a.buildMcpRuntimeFilesUrl)(e,r,l));return{mcpRuntimeDir:"string"==typeof s.mcpRuntimeDir?s.mcpRuntimeDir:"",items:Array.isArray(s.items)?s.items.filter(e=>!!(e&&e.id)):[]}}async function c(e,r,l,s){return(0,t.del)((0,a.buildToolsRuntimeDeleteUrl)(e,r,l,s))}async function d(e,r,l,s){return(0,t.del)((0,a.buildMcpRuntimeDeleteUrl)(e,r,l,s))}function u(e,t,r,l){return(0,a.buildToolsRuntimeExportUrl)(e,t,r,l)}function m(e,t,r,l){return(0,a.buildMcpRuntimeExportUrl)(e,t,r,l)}async function p(e,r,l,s){let i=new FormData;return i.append("file",s),(0,t.post)((0,a.buildToolsRuntimeImportUrl)(e,r,l),i,{type:"file"})}async function f(e,r,l,s){let i=new FormData;return i.append("file",s),(0,t.post)((0,a.buildMcpRuntimeImportUrl)(e,r,l),i,{type:"file"})}async function v(e,r,l){return(0,t.get)((0,a.buildRemoteMcpJsonUrl)(e,r,l))}async function b(e,r,l,s){await (0,t.post)((0,a.buildRemoteMcpJsonUrl)(e,r,l),{content:s})}async function x(e,r,l,s){return(0,t.del)((0,a.buildSkillsRuntimeDeleteUrl)(e,r,l,s))}function h(e,t,r,l){return(0,a.buildSkillsRuntimeExportUrl)(e,t,r,l)}async function g(e,r,l,s,i,n){let o=await (0,t.get)((0,a.buildCloudSkillCatalogUrl)(e,r,l,s,i,n));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function y(e,r,l,s){await (0,t.post)((0,a.buildCloudSkillInstallUrl)(e,r,l),{id:s})}},94055,e=>{"use strict";e.s(["AccentSwitch",()=>U],94055);var t=e.i(18050);e.s(["Root",()=>E,"Thumb",()=>A],39606),e.s([],37751),e.i(37751),e.i(47167);var a=e.i(71645),r=e.i(94349),l=e.i(76477),s=e.i(26292),i=e.i(977),n=e.i(62372),o=e.i(17514),c=e.i(27601),d=e.i(19805),u=e.i(89879),m=e.i(91730),p=e.i(67805);let f=a.createContext(void 0),v=function(e){return e.disabled="data-disabled",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e}({}),b={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},x={disabled:!1,...b},h=function(e){return e.checked="data-checked",e.unchecked="data-unchecked",e.disabled="data-disabled",e.readonly="data-readonly",e.required="data-required",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e}({}),g={valid:e=>null===e?null:e?{[v.valid]:""}:{[v.invalid]:""},checked:e=>e?{[h.checked]:""}:{[h.unchecked]:""}},y=a.createContext({invalid:void 0,name:void 0,validityData:{state:{badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},errors:[],error:"",value:"",initialValue:null},setValidityData:o.NOOP,disabled:void 0,touched:b.touched,setTouched:o.NOOP,dirty:b.dirty,setDirty:o.NOOP,filled:b.filled,setFilled:o.NOOP,focused:b.focused,setFocused:o.NOOP,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:x,markedDirtyRef:{current:!1},registerFieldControl:o.NOOP,validation:{getValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.EMPTY_OBJECT;return e},getInputValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.EMPTY_OBJECT;return e},inputRef:{current:null},commit:async()=>{}}});function w(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=a.useContext(y);if(t.setValidityData===o.NOOP&&!e)throw Error((0,p.default)(28));return t}let j=a.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:o.NOOP,validationMode:"onSubmit",submitAttemptedRef:{current:!1}}),C=a.createContext({controlId:void 0,registerControlId:o.NOOP,labelId:void 0,setLabelId:o.NOOP,messageIds:[],setMessageIds:o.NOOP,getDescriptionProps:e=>e});function N(){return a.useContext(C)}var k=e.i(30628),R=e.i(29315),T=e.i(5963),S=e.i(3404),M=e.i(19904);let E=a.forwardRef(function(e,p){let{checked:v,className:b,defaultChecked:x,"aria-labelledby":h,form:y,id:C,inputRef:E,name:A,nativeButton:O=!1,onCheckedChange:D,readOnly:P=!1,required:U=!1,disabled:z=!1,render:B,uncheckedValue:L,value:I,style:_,...F}=e,{clearErrors:V}=a.useContext(j),{state:H,setTouched:J,setDirty:K,validityData:W,setFilled:q,setFocused:Y,shouldValidateOnChange:X,validationMode:G,disabled:Q,name:Z,validation:$}=w(),{labelId:ee}=N(),et=Q||z,ea=null!=Z?Z:A,er=(0,l.useStableCallback)(D),el=a.useRef(null),es=(0,s.useMergedRefs)(el,E,$.inputRef),ei=a.useRef(null),en=(0,u.useBaseUiId)(),eo=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{id:t,implicit:r=!1,controlRef:s}=e,{controlId:n,registerControlId:c}=N(),d=(0,u.useBaseUiId)(t),m=r?n:void 0,p=(0,k.useRefWithInit)(()=>Symbol("labelable-control")),f=a.useRef(!1),v=a.useRef(null!=t),b=(0,l.useStableCallback)(()=>{f.current&&c!==o.NOOP&&(f.current=!1,c(p.current,void 0))});return(0,i.useIsoLayoutEffect)(()=>{let e;if(c!==o.NOOP){if(r){let a=null==s?void 0:s.current;e=(0,R.isElement)(a)&&null!=a.closest("label")?null!=t?t:null:null!=m?m:d}else if(null!=t)v.current=!0,e=t;else{if(!v.current)return void b();e=d}if(void 0===e)return void b();f.current=!0,c(p.current,e)}},[t,s,m,c,r,d,p,b]),a.useEffect(()=>b,[b]),null!=n?n:d}({id:C,implicit:!1,controlRef:ei}),ec=O?void 0:eo,[ed,eu]=(0,r.useControlled)({controlled:v,default:!!x,name:"Switch",state:"checked"});!function(e,t){let{enabled:r=!0,getValue:l,id:s,value:n}=t,{registerFieldControl:o}=w(),c=a.useRef(null);c.current||(c.current=Symbol()),(0,i.useIsoLayoutEffect)(()=>{let t=c.current;if(t&&r)return o(t,{controlRef:e,getValue:l,id:s,value:n}),()=>{o(t,void 0)}},[e,r,l,s,o,n])}(ei,{id:en,value:ed}),(0,i.useIsoLayoutEffect)(()=>{el.current&&q(el.current.checked)},[el,q]),(0,M.useValueChanged)(ed,()=>{V(ea),K(ed!==W.initialValue),q(ed),X()?$.commit(ed):$.commit(ed,!0)});let{getButtonProps:em,buttonRef:ep}=(0,m.useButton)({disabled:et,native:O}),ef=function(e,t,r){var l;let s=!(arguments.length>3)||void 0===arguments[3]||arguments[3],n=arguments.length>4?arguments[4]:void 0,[o,c]=a.useState(),d=(0,u.useBaseUiId)(n?"".concat(n,"-label"):void 0),m=null!=(l=null!=e?e:t)?l:o;return(0,i.useIsoLayoutEffect)(()=>{let a=e||t||!s?void 0:function(e,t){let a=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let a=e.id;if(a){let t=e.nextElementSibling;if(t&&t.htmlFor===a)return t}let r=e.labels;return r&&r[0]}(e);if(a)return!a.id&&t&&(a.id=t),a.id||void 0}(r.current,d);o!==a&&c(a)}),m}(h,ee,el,!O,ec),ev=a.useMemo(()=>(0,d.mergeProps)({checked:ed,disabled:et,form:y,id:ec,name:ea,required:U,style:ea?n.visuallyHiddenInput:n.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:es,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(P)return void e.preventDefault();let t=e.currentTarget.checked,a=(0,T.createChangeEventDetails)(S.REASONS.none,e.nativeEvent);null==er||er(t,a),a.isCanceled||eu(t)},onFocus(){var e;null==(e=ei.current)||e.focus()}},$.getInputValidationProps,void 0!==I?{value:I}:o.EMPTY_OBJECT),[ed,et,y,es,ec,ea,er,P,U,eu,$,I]),eb=a.useMemo(()=>({...H,checked:ed,disabled:et,readOnly:P,required:U}),[H,ed,et,P,U]),ex=(0,c.useRenderElement)("span",e,{state:eb,ref:[p,ei,ep],props:[{id:O?eo:en,role:"switch","aria-checked":ed,"aria-readonly":P||void 0,"aria-required":U||void 0,"aria-labelledby":ef,onFocus(){et||Y(!0)},onBlur(){let e=el.current;e&&!et&&(J(!0),Y(!1),"onBlur"===G&&$.commit(e.checked))},onClick(e){var t;P||et||(e.preventDefault(),null==(t=el.current)||t.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},$.getValidationProps,F,em],stateAttributesMapping:g});return(0,t.jsxs)(f.Provider,{value:eb,children:[ex,!ed&&ea&&void 0!==L&&(0,t.jsx)("input",{type:"hidden",form:y,name:ea,value:L}),(0,t.jsx)("input",{...ev,suppressHydrationWarning:!0})]})}),A=a.forwardRef(function(e,t){let{render:r,className:l,style:s,...i}=e,{state:n}=w(),o=function(){let e=a.useContext(f);if(void 0===e)throw Error((0,p.default)(63));return e}(),d={...n,...o};return(0,c.useRenderElement)("span",e,{state:d,ref:t,stateAttributesMapping:g,props:i})});var O=e.i(39606),O=O,D=e.i(75157);function P(e){let{className:a,thumbClassName:r,...l}=e;return(0,t.jsx)(O.Root,{"data-slot":"switch",className:(0,D.cn)("shadow-xs focus-visible:ring-ring/50 dark:data-[unchecked]:bg-input/80 peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-input outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[checked]:bg-primary",a),...l,children:(0,t.jsx)(O.Thumb,{className:(0,D.cn)("pointer-events-none block size-4 rounded-full bg-background ring-0 transition-transform will-change-transform data-[checked]:translate-x-4 data-[unchecked]:translate-x-0.5 data-[checked]:bg-primary-foreground",r)})})}function U(e){let{className:a,thumbClassName:r,...l}=e;return(0,t.jsx)(P,{className:(0,D.cn)("focus-visible:border-[var(--ds-accent)]/50 focus-visible:ring-[var(--ds-accent)]/35 data-[checked]:border-[var(--ds-accent)] data-[checked]:bg-[var(--ds-accent)]",a),thumbClassName:(0,D.cn)("data-[checked]:bg-white",r),...l})}},55242,e=>{"use strict";e.s(["AppDialog",()=>s]);var t=e.i(18050),a=e.i(71645),r=e.i(76639),l=e.i(75157);function s(e){let{open:s,onOpenChange:i,title:n,children:o,footer:c,width:d="max-w-3xl",minHeight:u}=e,m=(0,a.useId)();return(0,t.jsx)(r.Dialog,{open:s,onOpenChange:i,children:(0,t.jsxs)(r.DialogContent,{"aria-labelledby":m,className:(0,l.cn)(d,u?"!min-h-[--min-h]":""),style:u?{"--min-h":u}:void 0,children:[(0,t.jsxs)(r.DialogHeader,{children:[(0,t.jsx)(r.DialogTitle,{id:m,children:n}),(0,t.jsx)(r.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(r.DialogBody,{className:"!px-4 !py-3",children:o}),c?(0,t.jsx)("div",{className:"flex flex-shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:c}):null]})})}},89530,e=>{"use strict";e.s(["McpManageView",()=>j],89530);var t=e.i(18050),a=e.i(71645),r=e.i(65934),l=e.i(87243),s=e.i(13354),i=e.i(50711),n=e.i(51419),o=e.i(55242),c=e.i(92715),d=e.i(19455),u=e.i(94055),m=e.i(94197);function p(e){let{items:a,saveBusy:r,onToggleStatus:l,className:s}=e,i=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.label||e.name},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.description||"-"},{key:"source",title:"来源",headerClassName:"text-base",cellClassName:"text-base",render:()=>"远程"},{key:"status",title:"状态",headerClassName:"text-base",cellClassName:"whitespace-nowrap py-2 align-middle",render:e=>l?(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2 text-base text-[var(--ds-text)]",children:(0,t.jsx)(u.AccentSwitch,{checked:!e.disabled,disabled:r,onCheckedChange:t=>{l(e.name,t)},"aria-label":"".concat(e.disabled?"启用":"禁用"," ").concat(e.name)})}):(0,t.jsx)("span",{className:"text-base text-[var(--ds-text)]",children:e.installed?"已安装":"未安装"})}];return(0,t.jsx)(c.AppTable,{rows:a,columns:i,getRowKey:e=>"mcp:".concat(e.name),className:s})}var f=e.i(36845),v=e.i(53925);function b(e){let{open:a,onOpenChange:r,wsUrl:l,apiBase:s,agent:i}=e;return(0,t.jsx)(v.ResourceImportDialog,{open:a,onOpenChange:r,title:"导入 MCP zip",description:"选择一个 zip 文件并导入到 mcp-runtime。",uploadUrl:(0,f.buildMcpRuntimeImportUrl)(l,s,i),resetKey:i})}var x=e.i(68499),h=e.i(72064),g=e.i(56708),y=e.i(62427);let w=[{value:"basic",label:"本地MCP"},{value:"installed",label:"远程MCP"}];function j(){let e=(0,r.useAppStore)(e=>e.wsUrl),f=(0,r.useAppStore)(e=>e.apiBase),v=(0,r.useAppStore)(e=>e.agentConfig),j=(0,r.useAppStore)(e=>e.setAgentConfig),{currentAgent:C,loadAgentConfig:N}=(0,l.useSession)(),k=(0,i.usePersistAgentConfigField)("mcpServers"),R=v.mcpServers,T=(0,a.useMemo)(()=>[...R].sort().join("\0"),[R]),[S,M]=(0,a.useState)([]),[E,A]=(0,a.useState)([]),[O,D]=(0,a.useState)(!1),[P,U]=(0,a.useState)(!1),[z,B]=(0,a.useState)("basic"),[L,I]=(0,a.useState)(!1),[_,F]=(0,a.useState)(!1),[V,H]=(0,a.useState)(""),[J,K]=(0,a.useState)(!1);(0,a.useEffect)(()=>{N()},[N]);let W=(0,a.useCallback)(async(e,t)=>{U(!0);try{await k(e,{silent:t})}finally{U(!1)}},[k]),q=(0,a.useCallback)(async()=>{M([]),D(!0);try{var t;let a=null!=(t=(await (0,y.listMcpServers)(e,f,C())).servers)?t:[];M(a.map(e=>{var t,a,r;return{...e,id:e.name,label:e.name+(e.disabled?"(已禁用)":""),description:null!=(a=null!=(t=e.description)?t:e.source)?a:"",source:null!=(r=e.source)?r:"",installed:!!e.installed}}))}catch(e){M([]),s.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{D(!1)}},[e,f,C]),Y=(0,a.useCallback)(async t=>{var a;let r=S.find(e=>e.id===t),l=null!=(a=null==r?void 0:r.source)?a:"";if("runtime"!==l&&"remote"!==l)return void s.appToast.error("基础MCP不可删除");if(await (0,x.confirmAlertDialog)({title:"确认删除 MCP?",description:"服务器名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{if("remote"===l){let a=await (0,y.loadRemoteMcpJson)(e,f,C()),r={};try{r=JSON.parse(String(a.content||"{}"))}catch(e){r={mcpServers:{}}}(!r.mcpServers||Array.isArray(r.mcpServers)||"object"!=typeof r.mcpServers)&&(r.mcpServers={}),delete r.mcpServers[t],await (0,y.saveRemoteMcpJson)(e,f,C(),JSON.stringify(r,null,2))}else await (0,y.deleteRuntimeMcp)(e,f,C(),t);let a=R.filter(e=>e!==t);A(e=>e.filter(e=>e!==t)),j({...v,mcpServers:a}),await W(a,!0),await q()}catch(e){s.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[S,e,f,C,R,v,j,W,q]);(0,a.useEffect)(()=>{("basic"===z||"installed"===z)&&q()},[z,q]),(0,a.useEffect)(()=>{("basic"===z||"installed"===z)&&A([...R])},[z,R,T]);let X=(0,a.useCallback)(async e=>{let t=[...new Set(e)].sort();j({...v,mcpServers:t}),await W(t,!0)},[v,j,W]),G=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...E,e])]:E.filter(t=>t!==e);A(a);try{await X(a)}catch(e){A(E),s.appToast.error("切换启用状态失败: ".concat(e))}},[E,X]),Q=(0,a.useMemo)(()=>S.filter(e=>"remote"!==e.source).slice().sort((e,t)=>e.id.localeCompare(t.id)),[S]),Z=(0,a.useMemo)(()=>S.filter(e=>"remote"===e.source).slice().sort((e,t)=>{let a=+!E.includes(e.id),r=+!E.includes(t.id);return a!==r?a-r:e.id.localeCompare(t.id)}).map(e=>({...e,name:e.id,label:e.label,description:e.description||"",installed:!0,source:e.source,disabled:!E.includes(e.id)})),[S,E]),$=(0,a.useCallback)(t=>{window.open((0,y.exportRuntimeMcpUrl)(e,f,C(),t),"_blank","noopener")},[e,f,C]),ee=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...E,e])]:E.filter(t=>t!==e);A(a);try{await X(a)}catch(e){A(E),s.appToast.error("切换启用状态失败: ".concat(e))}},[E,X]),et=(0,a.useCallback)(()=>{F(!0),H(""),get(buildRemoteMcpJsonUrl(e,f,C())).then(e=>{H("string"==typeof e.content?e.content:"")}).catch(e=>{s.appToast.error("加载 mcp.json 失败:".concat(e instanceof Error?e.message:String(e))),F(!1)})},[e,f,C]),ea=(0,a.useCallback)(async()=>{K(!0);try{await post(buildRemoteMcpJsonUrl(e,f,C()),{content:V}),s.appToast.success("已保存全局 mcp.json。"),F(!1)}catch(e){s.appToast.error("保存 mcp.json 失败:".concat(e instanceof Error?e.message:String(e)))}finally{K(!1)}},[e,f,C,V]),er=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.label},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"w-14 w-[112px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[112px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(u.AccentSwitch,{checked:E.includes(e.id),disabled:P,onCheckedChange:t=>{G(e.id,t)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] text-base text-[var(--ds-muted)]",cellClassName:"w-[128px]",render:e=>{var a;let r=null!=(a=e.source)?a:"",l="runtime"===r,s="runtime"===r||"remote"===r;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(m.IconTooltipButton,{icon:"Download",label:l?"导出":"仅 runtime MCP 支持导出",ariaLabel:"导出 ".concat(e.label),disabled:P||!l,onClick:()=>$(e.id)}),(0,t.jsx)(m.IconTooltipButton,{icon:"Trash2",label:s?"删除":"基础MCP不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label),disabled:P||!s,onClick:()=>{Y(e.id)},iconClassName:"text-red-500"})]})}}];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g.ManageChromeHeaderActions,{children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center",children:[(0,t.jsxs)(d.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:et,className:"mr-[12px]",children:[(0,t.jsx)(h.default,{name:"Edit",size:16,className:"align-middle"}),"编辑全局MCP"]}),(0,t.jsxs)(d.Button,{id:"btnAgentImportMcp",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>I(!0),children:[(0,t.jsx)(h.default,{name:"Import",size:16,className:"align-middle"}),"导入MCP"]})]})}),(0,t.jsxs)(n.AppTabs,{tabs:w,value:z,listVariant:"line",onChange:e=>B(e),children:[(0,t.jsx)(n.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0",children:O?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(c.AppTable,{rows:Q,columns:er,getRowKey:e=>e.id})})})}),(0,t.jsx)(n.AppTabsPanel,{value:"installed",children:(0,t.jsx)(p,{items:Z,saveBusy:P,onToggleStatus:ee})})]}),(0,t.jsx)(b,{open:L,onOpenChange:e=>{I(e),e||q()},wsUrl:e,apiBase:f,agent:C()}),(0,t.jsx)(o.AppDialog,{open:_,onOpenChange:F,title:"编辑全局MCP",width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:J,onClick:()=>F(!1),children:"取消"}),(0,t.jsx)(d.Button,{type:"button",size:"lg",disabled:J,onClick:()=>void ea(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 text-base leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:V,onChange:e=>H(e.target.value)})})]})}}]);