@geminilight/mindos 0.6.40 → 0.6.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_standalone/.mindos-build-version +1 -1
- package/_standalone/.next/BUILD_ID +1 -1
- package/_standalone/.next/app-path-routes-manifest.json +18 -18
- package/_standalone/.next/build-manifest.json +3 -3
- package/_standalone/.next/cache/.previewinfo +1 -1
- package/_standalone/.next/cache/.rscinfo +1 -1
- package/_standalone/.next/cache/config.json +3 -3
- package/_standalone/.next/prerender-manifest.json +3 -3
- package/_standalone/.next/react-loadable-manifest.json +5 -1
- package/_standalone/.next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/_global-error.html +2 -2
- package/_standalone/.next/server/app/_global-error.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/_standalone/.next/server/app/_not-found/page.js +1 -1
- package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/agents/[agentKey]/page.js +1 -1
- package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/agents/page.js +2 -2
- package/_standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/ask/route.js +1 -1
- package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/backlinks/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/file/import/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/file/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/init/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/agents/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/install/route.js +1 -1
- package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/install-skill/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/status/route.js +1 -1
- package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/monitoring/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/recent-files/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/search/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/changes/page.js +1 -1
- package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/echo/[segment]/page.js +1 -1
- package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/echo/page.js +1 -1
- package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/explore/page.js +1 -1
- package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/help/page.js +2 -2
- package/_standalone/.next/server/app/help/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/login/page.js +1 -1
- package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/page.js +2 -2
- package/_standalone/.next/server/app/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/setup/page.js +2 -2
- package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/trash/page.js +3 -3
- package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/view/[...path]/page.js +3 -3
- package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app-paths-manifest.json +18 -18
- package/_standalone/.next/server/chunks/1550.js +1 -1
- package/_standalone/.next/server/chunks/2190.js +11 -0
- package/_standalone/.next/server/chunks/{6365.js → 2536.js} +2 -2
- package/_standalone/.next/server/chunks/5648.js +2 -0
- package/_standalone/.next/server/chunks/8388.js +1 -1
- package/_standalone/.next/server/chunks/953.js +1 -1
- package/_standalone/.next/server/chunks/9539.js +219 -0
- package/_standalone/.next/server/middleware-build-manifest.js +1 -1
- package/_standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/_standalone/.next/server/next-font-manifest.js +1 -1
- package/_standalone/.next/server/next-font-manifest.json +1 -1
- package/_standalone/.next/server/pages/500.html +2 -2
- package/_standalone/.next/server/server-reference-manifest.js +1 -1
- package/_standalone/.next/server/server-reference-manifest.json +1 -1
- package/_standalone/.next/static/chunks/1053-b70535785cc5aaee.js +29 -0
- package/_standalone/.next/static/chunks/{8663-de911d2d395622be.js → 1880-c2a9e76201841c86.js} +1 -1
- package/_standalone/.next/static/chunks/3637.0541ac2d0ea7de1f.js +1 -0
- package/_standalone/.next/static/chunks/4563-b2a2ce80aff845af.js +6 -0
- package/_standalone/.next/static/chunks/6981-3d7dcac2d12a5670.js +1 -0
- package/_standalone/.next/static/chunks/7144-5febf62f1a79fe64.js +1 -0
- package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-773071a99c4daac2.js +1 -0
- package/_standalone/.next/static/chunks/app/agents/page-6102a884b2cb3cfe.js +5 -0
- package/_standalone/.next/static/chunks/app/help/page-2325d25b6846ca07.js +1 -0
- package/_standalone/.next/static/chunks/app/{layout-9378c1c8d3e5761b.js → layout-42cdbce19f404567.js} +34 -34
- package/_standalone/.next/static/chunks/app/{page-9bae420fbbdc5fff.js → page-8c9643b649e01735.js} +1 -1
- package/_standalone/.next/static/chunks/app/setup/page-d158b8cb533feb1e.js +1 -0
- package/_standalone/.next/static/chunks/app/trash/{page-b61ef2d5cd4f8d73.js → page-e9ab74ffeb96af41.js} +1 -1
- package/_standalone/.next/static/chunks/app/view/[...path]/page-764a69a1c8bd4eef.js +12 -0
- package/_standalone/.next/static/chunks/{webpack-c28c55d0a6021a6b.js → webpack-7b276daaa930d480.js} +1 -1
- package/_standalone/.next/static/css/bc9179074eaf65ae.css +1 -0
- package/_standalone/.next/trace +63 -63
- package/_standalone/__tests__/api/mcp-install.test.ts +23 -0
- package/_standalone/__tests__/cli/agent-routing.test.ts +232 -0
- package/_standalone/__tests__/cli/file-subcommands.test.ts +379 -0
- package/_standalone/__tests__/core/tools.test.ts +3 -6
- package/_standalone/components/FileTree.tsx +3 -2
- package/_standalone/components/MarkdownView.tsx +30 -15
- package/_standalone/components/RightAskPanel.tsx +36 -6
- package/_standalone/components/Sidebar.tsx +3 -3
- package/_standalone/components/agents/AgentsMcpSection.tsx +3 -0
- package/_standalone/components/settings/McpAgentInstall.tsx +94 -27
- package/_standalone/components/settings/McpSkillsSection.tsx +1 -1
- package/_standalone/components/settings/McpTab.tsx +484 -340
- package/_standalone/components/settings/SettingsContent.tsx +12 -6
- package/_standalone/components/settings/types.ts +3 -0
- package/_standalone/components/setup/StepAgents.tsx +113 -47
- package/_standalone/components/setup/StepReview.tsx +14 -27
- package/_standalone/components/setup/types.ts +6 -0
- package/_standalone/data/skills/mindos/SKILL.md +92 -92
- package/_standalone/data/skills/mindos/references/write-supplement.md +119 -0
- package/_standalone/data/skills/mindos-zh/SKILL.md +100 -104
- package/_standalone/data/skills/mindos-zh/references/write-supplement.md +119 -0
- package/_standalone/lib/i18n/modules/features.ts +4 -4
- package/_standalone/lib/i18n/modules/knowledge.ts +4 -0
- package/_standalone/lib/i18n/modules/onboarding.ts +40 -30
- package/_standalone/lib/i18n/modules/settings.ts +78 -6
- package/_standalone/lib/mcp-snippets.ts +5 -1
- package/_standalone/tsconfig.tsbuildinfo +1 -1
- package/app/app/api/ask/route.ts +3 -2
- package/app/app/api/mcp/install/route.ts +2 -1
- package/app/app/api/mcp/status/route.ts +14 -6
- package/app/app/view/[...path]/ViewPageClient.tsx +12 -27
- package/app/components/FileTree.tsx +3 -2
- package/app/components/MarkdownView.tsx +30 -15
- package/app/components/RightAskPanel.tsx +36 -6
- package/app/components/Sidebar.tsx +3 -3
- package/app/components/agents/AgentsMcpSection.tsx +3 -0
- package/app/components/help/HelpContent.tsx +1 -0
- package/app/components/settings/McpAgentInstall.tsx +94 -27
- package/app/components/settings/McpSkillsSection.tsx +1 -1
- package/app/components/settings/McpTab.tsx +484 -340
- package/app/components/settings/SettingsContent.tsx +12 -6
- package/app/components/settings/types.ts +3 -0
- package/app/components/setup/StepAgents.tsx +113 -47
- package/app/components/setup/StepReview.tsx +14 -27
- package/app/components/setup/index.tsx +12 -11
- package/app/components/setup/types.ts +6 -0
- package/app/data/skills/mindos/SKILL.md +92 -92
- package/app/data/skills/mindos/references/write-supplement.md +119 -0
- package/app/data/skills/mindos-zh/SKILL.md +100 -104
- package/app/data/skills/mindos-zh/references/write-supplement.md +119 -0
- package/app/lib/fs.ts +0 -6
- package/app/lib/i18n/modules/features.ts +4 -4
- package/app/lib/i18n/modules/knowledge.ts +4 -0
- package/app/lib/i18n/modules/onboarding.ts +40 -30
- package/app/lib/i18n/modules/settings.ts +78 -6
- package/app/lib/mcp-agents.ts +1 -2
- package/app/lib/mcp-snippets.ts +5 -1
- package/app/lib/renderers/index.ts +2 -1
- package/bin/cli.js +168 -1404
- package/bin/commands/agent.js +156 -20
- package/bin/commands/api.js +14 -11
- package/bin/commands/ask.js +79 -68
- package/bin/commands/build.js +26 -0
- package/bin/commands/config.js +170 -0
- package/bin/commands/dev.js +58 -0
- package/bin/commands/doctor.js +205 -0
- package/bin/commands/file.js +551 -36
- package/bin/commands/gateway.js +42 -0
- package/bin/commands/init-skills.js +56 -0
- package/bin/commands/logs.js +32 -0
- package/bin/commands/mcp-cmd.js +57 -0
- package/bin/commands/onboard.js +25 -0
- package/bin/commands/open.js +41 -0
- package/bin/commands/restart.js +48 -0
- package/bin/commands/search.js +16 -14
- package/bin/commands/space.js +96 -25
- package/bin/commands/start.js +262 -0
- package/bin/commands/status.js +2 -2
- package/bin/commands/stop.js +14 -0
- package/bin/commands/sync-cmd.js +134 -0
- package/bin/commands/token.js +98 -0
- package/bin/commands/uninstall.js +154 -0
- package/bin/commands/update.js +286 -0
- package/bin/lib/build.js +1 -1
- package/bin/lib/colors.js +8 -7
- package/bin/lib/command.js +37 -96
- package/bin/lib/config.js +5 -0
- package/bin/lib/csv.js +19 -0
- package/bin/lib/jsonc.js +12 -0
- package/bin/lib/markdown.js +69 -0
- package/bin/lib/mcp-agents.js +1 -6
- package/bin/lib/mcp-build.js +1 -1
- package/bin/lib/mcp-install.js +2 -1
- package/bin/lib/one-shot.js +88 -0
- package/bin/lib/path-expand.js +9 -0
- package/bin/lib/remote.js +65 -0
- package/bin/lib/repl.js +167 -0
- package/bin/lib/{utils.js → shell.js} +10 -26
- package/bin/lib/skill-check.js +1 -1
- package/bin/lib/sse-stream.js +167 -0
- package/package.json +2 -2
- package/scripts/setup.js +182 -120
- package/skills/mindos/SKILL.md +92 -92
- package/skills/mindos-zh/SKILL.md +100 -104
- package/_standalone/.next/server/chunks/1955.js +0 -11
- package/_standalone/.next/server/chunks/3680.js +0 -1
- package/_standalone/.next/server/chunks/4497.js +0 -219
- package/_standalone/.next/server/chunks/5560.js +0 -2
- package/_standalone/.next/static/chunks/1053-0adaccc98a752a58.js +0 -29
- package/_standalone/.next/static/chunks/3637.f9a42cca59fd5bb5.js +0 -1
- package/_standalone/.next/static/chunks/4563-c2afaeacb241d1d0.js +0 -6
- package/_standalone/.next/static/chunks/6090-c98268ca726a68d3.js +0 -1
- package/_standalone/.next/static/chunks/9371-575600301da5d6bb.js +0 -1
- package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-3e08abb495ecd5fd.js +0 -1
- package/_standalone/.next/static/chunks/app/agents/page-e7e0f87ad3d765ac.js +0 -5
- package/_standalone/.next/static/chunks/app/help/page-3d0e1ceaa4abc243.js +0 -1
- package/_standalone/.next/static/chunks/app/setup/page-99ed3d1bb6b8f4ef.js +0 -1
- package/_standalone/.next/static/chunks/app/view/[...path]/page-44fa78cbea613a78.js +0 -12
- package/_standalone/.next/static/css/d300701f384db50d.css +0 -1
- package/_standalone/components/renderers/agent-inspector/manifest.ts +0 -16
- /package/_standalone/.next/static/{rZLs1krFuduixvcVNe6q3 → Ij3PFh-a0zi5K_ANoSAW0}/_buildManifest.js +0 -0
- /package/_standalone/.next/static/{rZLs1krFuduixvcVNe6q3 → Ij3PFh-a0zi5K_ANoSAW0}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2114],{439:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]])},3926:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]])},13545:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},15573:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]])},33210:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},44478:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},45511:(e,t,s)=>{"use strict";s.d(t,{default:()=>V});var a=s(95155),r=s(98500),l=s.n(r),n=s(12115),i=s(80723),d=s(15573),o=s(68459),c=s(53961),u=s(61878),x=s(92451),m=s(73035),p=s(84755),h=s(93219),g=s(6296);let f=(0,s(90425).A)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);var b=s(44478),v=s(439),j=s(84980),y=s(3926),k=s(93631),N=s(10762),w=s(97810),A=s(12651),S=s(13545),C=s(66088),M=s(91053),z=s(4235),F=s(91337),T=s(70617),R=s(2857),P=s(22356),$=s(7834),E=s(13845),O=s(3590),D=s(39498),L=s(35550);function V({agentKey:e}){let{t}=(0,M.Y)(),s=t.agentsContent,r=t.panels.agents,h=(0,T.kr)(),g=(0,R.V)(),f=(0,n.useMemo)(()=>h.agents.find(t=>t.key===e),[h.agents,e]),[b,v]=(0,n.useState)(""),[j,y]=(0,n.useState)("all"),[k,N]=(0,n.useState)(null),[w,A]=(0,n.useState)(null),[S,C]=(0,n.useState)(""),[F,V]=(0,n.useState)(null),[q,K]=(0,n.useState)(!1),[W,B]=(0,n.useState)(!1),[G,Q]=(0,n.useState)(null),[X,Z]=(0,n.useState)(null),[ee,et]=(0,n.useState)(null),[es,ea]=(0,n.useState)(null),[er,el]=(0,n.useState)(null),[en,ei]=(0,n.useState)(null),ed=(0,n.useMemo)(()=>(0,O.qC)(h.skills,{query:b,source:j}),[h.skills,b,j]),eo=(0,n.useMemo)(()=>({total:h.skills.length,enabled:h.skills.filter(e=>e.enabled).length,builtin:h.skills.filter(e=>"builtin"===e.source).length,user:h.skills.filter(e=>"user"===e.source).length}),[h.skills]),ec=(0,n.useMemo)(()=>{let e=(0,O.HL)(h.agents),t=new Map;for(let s of e)t.set(s.serverName,s.agents);return t},[h.agents]),eu=(0,n.useMemo)(()=>{let e=(0,O.x3)(h.agents),t=new Map;for(let s of e)t.set(s.skillName,s.agents);return t},[h.agents]),ex="mindos"===e,em=f?(0,O.yv)(f):"notFound",ep=f?.scope==="project"?"project":"global",eh=f?.transport==="http"?"http":"stdio",eg=(0,n.useMemo)(()=>f?(0,E.$k)(f,h.status,eh):{snippet:"",path:""},[f,h.status,eh]),ef=(0,n.useMemo)(()=>new Set(h.skills.map(e=>e.name)),[h.skills]),eb=(0,n.useMemo)(()=>(f?.installedSkillNames??[]).filter(e=>!ef.has(e)),[f?.installedSkillNames,ef]),ev=f?.configuredMcpServers??[],ej=(0,n.useCallback)(async(e,t)=>{N(e),V(null);try{await h.toggleSkill(e,t),await h.refresh()}finally{N(null)}},[h]),ey=(0,n.useCallback)(async e=>{V(null),N(e);try{let t=await (0,P.n)("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"read",name:e})});A(e),C(t.content)}catch(e){V(e instanceof Error?e.message:s.detail.skillReadFailed)}finally{N(null)}},[s.detail.skillReadFailed]),ek=(0,n.useCallback)(async()=>{if(w){K(!0),V(null);try{await (0,P.n)("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"update",name:w,content:S})}),A(null),C(""),window.dispatchEvent(new Event("mindos:skills-changed")),await h.refresh()}catch(e){V(e instanceof Error?e.message:s.detail.skillSaveFailed)}finally{K(!1)}}},[w,S,s.detail.skillSaveFailed,h]),eN=(0,n.useCallback)(async e=>{Z(null),N(e);try{await (0,P.n)("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"delete",name:e})}),et(s.detail.skillDeleteSuccess),window.dispatchEvent(new Event("mindos:skills-changed")),await h.refresh()}catch{et(s.detail.skillDeleteFailed)}finally{N(null),setTimeout(()=>et(null),3e3)}},[s.detail.skillDeleteSuccess,s.detail.skillDeleteFailed,h]),ew=(0,n.useCallback)(async()=>{await (0,$.l)(eg.snippet)&&z.oR.copy()},[eg.snippet]),eA=(0,n.useCallback)(async(e,t)=>{if(f){B(!0),Q(s.detail.mcpApplying);try{let a=await h.installAgent(f.key,{scope:e,transport:t});await h.refresh(),Q(a?s.detail.mcpApplySuccess:s.detail.mcpApplyFailed)}finally{B(!1)}}},[s.detail.mcpApplying,s.detail.mcpApplySuccess,s.detail.mcpApplyFailed,h,f]),eS=(0,n.useCallback)(async e=>{await (0,P.n)("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"delete",name:e})}),window.dispatchEvent(new Event("mindos:skills-changed")),await h.refresh()},[h]),eC=(0,n.useCallback)(()=>{ea(null),el(s.detail.mcpServerHint),setTimeout(()=>el(null),4e3)},[s.detail.mcpServerHint]);if(!f){let t=h.agents.filter(t=>t.key!==e&&"connected"===(0,O.yv)(t)).slice(0,3);return(0,a.jsxs)("div",{className:"content-width px-4 md:px-6 py-8 md:py-10",children:[(0,a.jsxs)(l(),{href:"/agents",className:"inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground mb-4",children:[(0,a.jsx)(i.A,{size:14}),s.backToOverview]}),(0,a.jsxs)("div",{className:"rounded-lg border border-border bg-card p-6 space-y-4",children:[(0,a.jsx)("p",{className:"text-sm text-foreground font-medium",children:s.detailNotFound}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:s.detailNotFoundHint}),t.length>0&&(0,a.jsxs)("div",{className:"pt-2 border-t border-border",children:[(0,a.jsx)("p",{className:"text-xs text-muted-foreground mb-2",children:s.detailNotFoundSuggestion}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:t.map(e=>(0,a.jsx)(l(),{href:`/agents/${encodeURIComponent(e.key)}`,className:"inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-medium bg-muted text-foreground hover:bg-muted/80 transition-colors",children:e.name},e.key))})]})]})]})}return(0,a.jsxs)("div",{className:"content-width px-4 md:px-6 py-8 md:py-10 space-y-4",children:[(0,a.jsxs)(l(),{href:"/agents",className:"inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground",children:[(0,a.jsx)(i.A,{size:14}),s.backToOverview]}),(0,a.jsxs)("section",{className:"rounded-xl border border-border bg-card overflow-hidden",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3.5 px-5 py-4",children:[(0,a.jsx)(D.lx,{name:f.name,status:em,size:"md"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold tracking-tight font-display text-foreground truncate",children:f.name}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-0.5 mt-0.5 text-2xs text-muted-foreground/60",children:[(0,a.jsx)("span",{className:`font-medium px-1.5 py-px rounded-full ${"connected"===em?"bg-muted text-muted-foreground":"detected"===em?"bg-[var(--amber-subtle)] text-[var(--amber-text)]":"bg-error/10 text-error"}`,children:em}),(0,a.jsx)("span",{className:"font-mono",children:f.transport??f.preferredTransport}),(0,a.jsx)("span",{className:"text-muted-foreground/25","aria-hidden":"true",children:"\xb7"}),(0,a.jsx)("span",{children:f.skillMode??s.na})]})]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-2xs text-muted-foreground/50 px-5 py-2 border-t border-border/40",children:[(0,a.jsxs)("span",{children:[f.format," ",(0,a.jsx)("span",{className:"text-muted-foreground/30",children:"\xb7"})," ",I(f.runtimeLastActivityAt)]}),(0,a.jsxs)("span",{className:"tabular-nums",children:[ev.length," MCP ",(0,a.jsx)("span",{className:"text-muted-foreground/30",children:"\xb7"})," ",eb.length," skills"]})]})]}),(0,a.jsx)(Y,{}),(0,a.jsxs)("section",{className:"rounded-xl border border-border bg-card p-4 space-y-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,a.jsxs)("h2",{className:"text-xs font-semibold text-foreground flex items-center gap-2 shrink-0",children:[(0,a.jsx)(d.A,{size:12,className:"text-muted-foreground/50"}),s.detail.mcpManagement]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[!ex&&(0,a.jsx)(D.rA,{onClick:()=>void ew(),disabled:!1,busy:!1,label:s.detail.mcpCopySnippet}),(0,a.jsx)(D.rA,{onClick:()=>void h.refresh(),disabled:!1,busy:!1,label:s.detail.mcpRefresh}),!ex&&(0,a.jsx)(D.rA,{onClick:()=>void eA(ep,eh),disabled:W,busy:W,label:s.detail.mcpReconnect})]})]}),G&&(0,a.jsx)("p",{className:"text-2xs text-muted-foreground animate-in fade-in duration-200",children:G}),(0,a.jsx)("div",{className:"flex flex-wrap gap-x-6 gap-y-1 py-2 border-y border-border/30",children:ex?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(H,{label:"Status",value:h.status?.running?"Running":"Stopped"}),(0,a.jsx)(H,{label:"Endpoint",value:h.status?.endpoint??s.na}),(0,a.jsx)(H,{label:"Tools",value:h.status?.toolCount!=null?String(h.status.toolCount):s.na})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(H,{label:s.detail.mcpInstalled,value:f.installed?s.detail.yes:s.detail.no}),(0,a.jsx)(H,{label:s.detail.mcpScope,value:f.scope??s.na}),(0,a.jsx)(H,{label:s.detail.mcpConfigPath,value:f.configPath??s.na})]})}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("p",{className:"text-2xs font-medium text-muted-foreground/60 uppercase tracking-wider",children:s.detail.configuredMcpServers}),(0,a.jsx)("span",{className:"text-2xs text-muted-foreground/40 tabular-nums",children:ev.length})]}),er&&(0,a.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-md border border-border bg-muted/50 px-3 py-2 text-xs text-muted-foreground animate-in fade-in duration-200",children:er}),0===ev.length?(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/50",children:s.detail.configuredMcpServersEmpty}):(0,a.jsx)("div",{className:"space-y-1 max-h-[240px] overflow-y-auto",children:ev.map(e=>{let t=(ec.get(e)??[]).filter(e=>e!==f.name);return(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-md px-2 py-1.5 group/mcp hover:bg-muted/30 transition-colors duration-100",children:[(0,a.jsx)(d.A,{size:11,className:"text-muted-foreground/40 shrink-0"}),(0,a.jsx)("span",{className:"text-xs text-foreground flex-1 min-w-0 truncate",children:e}),t.length>0&&(0,a.jsxs)("div",{className:"flex items-center gap-0.5",children:[t.slice(0,3).map(e=>(0,a.jsx)(D.lx,{name:e,size:"sm"},e)),t.length>3&&(0,a.jsxs)("span",{className:"text-2xs text-muted-foreground/50",children:["+",t.length-3]})]}),(0,a.jsx)("button",{type:"button",onClick:()=>ea(e),className:"text-muted-foreground/40 hover:text-destructive cursor-pointer opacity-0 group-hover/mcp:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded p-0.5 transition-all duration-150","aria-label":`${s.detail.mcpServerRemove} ${e}`,children:(0,a.jsx)(o.A,{size:11})})]},e)})})]})]}),(0,a.jsxs)("section",{className:"rounded-xl border border-border bg-card p-4 space-y-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,a.jsxs)("h2",{className:"text-xs font-semibold text-foreground flex items-center gap-2 shrink-0",children:[(0,a.jsx)(c.A,{size:12,className:"text-muted-foreground/50"}),s.detail.skillAssignments]}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-2xs text-muted-foreground/50 tabular-nums",children:[(0,a.jsxs)("span",{children:[eo.enabled,"/",eo.total," enabled"]}),(0,a.jsx)("span",{className:"text-muted-foreground/25",children:"\xb7"}),(0,a.jsxs)("span",{children:[eb.length," native"]})]})]}),(0,a.jsxs)("div",{className:"flex flex-col md:flex-row gap-2",children:[(0,a.jsxs)("label",{className:"relative flex-1",children:[(0,a.jsx)(u.A,{size:14,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"}),(0,a.jsx)("input",{value:b,onChange:e=>v(e.target.value),placeholder:s.detail.skillsSearchPlaceholder,className:"w-full h-9 rounded-md border border-border bg-background pl-8 pr-3 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors duration-150"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-0.5 rounded-md border border-border p-0.5 bg-background",children:[(0,a.jsx)(D.KF,{active:"all"===j,label:s.detail.skillsFilterAll,onClick:()=>y("all")}),(0,a.jsx)(D.KF,{active:"builtin"===j,label:s.detail.skillsFilterBuiltin,onClick:()=>y("builtin")}),(0,a.jsx)(D.KF,{active:"user"===j,label:s.detail.skillsFilterUser,onClick:()=>y("user")})]})]}),ee&&(0,a.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-md border border-border bg-muted/50 px-3 py-2 text-xs text-muted-foreground animate-in fade-in duration-200",children:ee}),ed.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("p",{className:"text-2xs font-medium text-muted-foreground uppercase tracking-wider mb-1.5",children:["MindOS Skills ",(0,a.jsxs)("span",{className:"tabular-nums",children:["(",ed.filter(e=>e.enabled).length,"/",ed.length,")"]})]}),(0,a.jsx)("ul",{className:"space-y-0.5",children:ed.map(e=>{let t=w===e.name;return(0,a.jsxs)("li",{className:"rounded-md hover:bg-muted/30 transition-colors duration-100",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 py-1.5 px-1.5 group/skill",children:[(0,a.jsx)(c.A,{size:13,className:`shrink-0 ${e.enabled?"text-[var(--amber)]":"text-muted-foreground/50"}`,"aria-hidden":"true"}),(0,a.jsx)("button",{type:"button",onClick:()=>ei(e.name),className:"text-xs text-foreground flex-1 min-w-0 truncate hover:text-[var(--amber)] cursor-pointer transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded text-left",children:e.name}),(0,a.jsx)("span",{className:`text-2xs px-1.5 py-0.5 rounded shrink-0 ${"builtin"===e.source?"bg-muted text-muted-foreground":"bg-[var(--amber-dim)] text-[var(--amber-text)]"}`,children:"builtin"===e.source?s.detail.skillsSourceBuiltin:s.detail.skillsSourceUser}),(0,a.jsxs)("div",{className:"flex items-center gap-1 shrink-0 md:opacity-0 md:group-hover/skill:opacity-100 md:focus-within:opacity-100 transition-opacity duration-150",children:[(0,a.jsx)(D.rA,{onClick:()=>void ej(e.name,!e.enabled),disabled:k===e.name,busy:k===e.name,label:e.enabled?s.detail.skillDisable:s.detail.skillEnable}),e.editable&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(D.rA,{onClick:()=>void ey(e.name),disabled:k===e.name||q,busy:!1,label:s.detail.skillEdit}),(0,a.jsx)("button",{type:"button",onClick:()=>Z(e.name),disabled:k===e.name,className:"inline-flex items-center justify-center min-h-[28px] px-1.5 rounded-md text-muted-foreground hover:text-destructive cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-50 disabled:cursor-not-allowed transition-colors duration-150","aria-label":`${s.detail.skillDelete} ${e.name}`,children:(0,a.jsx)(o.A,{size:13})})]})]})]}),t&&(0,a.jsxs)("div",{className:"px-3 pb-3 pt-0 space-y-2",children:[(0,a.jsx)("textarea",{value:S,onChange:e=>C(e.target.value),className:"mt-2 w-full h-40 rounded-md border border-border bg-background px-3 py-2 text-xs font-mono text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring resize-y"}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(D.rA,{onClick:()=>void ek(),disabled:q,busy:q,label:s.detail.skillSave,variant:"primary"}),(0,a.jsx)(D.rA,{onClick:()=>A(null),disabled:!1,busy:!1,label:s.detail.skillCancel})]})]})]},e.name)})})]}),0===ed.length&&0===eb.length&&(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:s.detail.noSkills}),eb.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("p",{className:"text-2xs font-medium text-muted-foreground uppercase tracking-wider mb-1.5",children:[s.detail.nativeInstalledSkills," ",(0,a.jsxs)("span",{className:"tabular-nums",children:["(",eb.length,")"]})]}),(0,a.jsx)("div",{className:"space-y-0.5 max-h-[280px] overflow-y-auto",children:eb.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>ei(e),className:"w-full flex items-center gap-2 py-1.5 px-1.5 rounded-md hover:bg-muted/30 transition-colors duration-100 cursor-pointer text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,a.jsx)(c.A,{size:13,className:"shrink-0 text-muted-foreground/50","aria-hidden":"true"}),(0,a.jsx)("span",{className:"text-xs text-foreground flex-1 min-w-0 truncate hover:text-[var(--amber)] transition-colors duration-150",children:e})]},e))})]}),F&&(0,a.jsx)("p",{className:"text-xs text-error",children:F})]}),(0,a.jsxs)("section",{className:"rounded-xl border border-border bg-card p-4 space-y-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,a.jsxs)("h2",{className:"text-xs font-semibold text-foreground flex items-center gap-2 shrink-0",children:[(0,a.jsx)(x.A,{size:12,className:"text-muted-foreground/50"}),r.a2aCapabilities]}),(0,a.jsx)("span",{className:`text-2xs px-1.5 py-0.5 rounded font-medium shrink-0 ${"connected"===em?"bg-[var(--success)]/15 text-[var(--success)]":"bg-muted text-muted-foreground/60"}`,children:"connected"===em?r.a2aConnected:r.a2aUnavailable})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-x-6 gap-y-1 py-2 border-y border-border/30",children:[(0,a.jsx)(H,{label:r.a2aStatus,value:"connected"===em?r.a2aConnected:r.a2aUnavailable}),(0,a.jsx)(H,{label:s.detail.transport,value:f.transport??f.preferredTransport}),g.agents.length>0&&(0,a.jsx)(H,{label:"Remote agents",value:String(g.agents.length)})]}),g.agents.length>0?(0,a.jsx)("div",{className:"space-y-1",children:g.agents.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-2.5 rounded-md px-2 py-1.5 hover:bg-muted/30 transition-colors duration-100",children:[(0,a.jsx)("div",{className:"w-6 h-6 rounded-md bg-muted/40 flex items-center justify-center shrink-0",children:(0,a.jsx)(x.A,{size:11,className:"text-muted-foreground/60"})}),(0,a.jsx)("span",{className:"text-xs text-foreground flex-1 min-w-0 truncate",children:e.card.name}),e.reachable?(0,a.jsx)(m.A,{size:11,className:"text-[var(--success)] shrink-0"}):(0,a.jsx)(p.A,{size:11,className:"text-muted-foreground/50 shrink-0"}),(0,a.jsxs)("span",{className:"text-2xs text-muted-foreground/50 tabular-nums shrink-0",children:[e.card.skills.length," skills"]})]},e.id))}):(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/50",children:r.a2aNoRemoteHint})]}),(0,a.jsx)(U,{agent:f,status:em,isMindOS:ex,mcpStatus:h.status}),(0,a.jsx)(_,{agent:f,isMindOS:ex}),(0,a.jsx)(J,{agent:f}),(0,a.jsx)(D.TM,{open:null!==X,title:s.detail.skillDelete,message:X?s.detail.skillDeleteConfirm(X):"",confirmLabel:s.detail.skillDelete,cancelLabel:s.detail.skillCancel,onConfirm:()=>X&&void eN(X),onCancel:()=>Z(null),variant:"destructive"}),(0,a.jsx)(D.TM,{open:null!==es,title:s.detail.mcpServerRemove,message:es?s.detail.mcpServerRemoveConfirm(es):"",confirmLabel:s.detail.mcpServerRemove,cancelLabel:s.detail.skillCancel,onConfirm:eC,onCancel:()=>ea(null),variant:"destructive"}),(0,a.jsx)(L.A,{open:null!==en,skillName:en,skill:en?h.skills.find(e=>e.name===en)??null:null,agentNames:en?eu.get(en)??[]:[],isNative:!!en&&!h.skills.some(e=>e.name===en),nativeSourcePath:f?.installedSkillSourcePath,copy:s.skills.skillPopover,onClose:()=>ei(null),onToggle:h.toggleSkill,onDelete:eS,onRefresh:h.refresh})]})}function H({label:e,value:t}){return(0,a.jsxs)("div",{className:"flex items-baseline gap-2 px-0.5 min-w-0",children:[(0,a.jsx)("span",{className:"text-2xs text-muted-foreground/50 uppercase tracking-wider shrink-0 min-w-[60px]",children:e}),(0,a.jsx)("span",{className:"text-xs text-foreground/80 font-mono truncate min-w-0",children:t})]})}function I(e){if(!e)return"—";try{let t=Date.now()-new Date(e).getTime();if(t<0)return"just now";let s=Math.floor(t/6e4);if(s<1)return"just now";if(s<60)return`${s}m ago`;let a=Math.floor(s/60);if(a<24)return`${a}h ago`;let r=Math.floor(a/24);return`${r}d ago`}catch{return e}}function U({agent:e,status:t,isMindOS:s,mcpStatus:r}){let{t:l}=(0,M.Y)(),i=l.agentsContent.detail,[d,o]=(0,n.useState)("idle"),[c,u]=(0,n.useState)(0),x=(0,n.useCallback)(async()=>{o("pinging");let e=performance.now();try{let t=await fetch("/api/mcp/status",{method:"GET",signal:AbortSignal.timeout(5e3)}),s=Math.round(performance.now()-e);u(s),o(t.ok?"ok":"fail")}catch{o("fail")}},[]);return(0,a.jsxs)("section",{className:"rounded-xl border border-border bg-card p-4 space-y-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,a.jsxs)("h2",{className:"text-xs font-semibold text-foreground flex items-center gap-2 shrink-0",children:[(0,a.jsx)(h.A,{size:12,className:"text-muted-foreground/50"}),i.runtimeDiagTitle]}),(0,a.jsx)("button",{type:"button",onClick:()=>void x(),disabled:"pinging"===d,className:"inline-flex items-center gap-1 px-2.5 py-1 text-2xs font-medium rounded-md border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:"pinging"===d?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.A,{size:10,className:"animate-spin"})," ",i.runtimePinging]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(m.A,{size:10})," ",i.runtimePing]})})]}),"ok"===d&&(0,a.jsx)("div",{role:"status",className:"rounded-md bg-[var(--success)]/10 border border-[var(--success)]/20 px-3 py-1.5 text-2xs text-[var(--success)] font-medium animate-in fade-in duration-200",children:i.runtimePingOk(c)}),"fail"===d&&(0,a.jsx)("div",{role:"status",className:"rounded-md bg-error/10 border border-error/20 px-3 py-1.5 text-2xs text-error font-medium animate-in fade-in duration-200",children:i.runtimePingFail}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-x-6 gap-y-1 py-2 border-y border-border/30",children:[(0,a.jsx)(H,{label:i.status,value:t}),(0,a.jsx)(H,{label:i.transport,value:e.transport??e.preferredTransport}),s&&r&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(H,{label:i.runtimeVersion,value:r.endpoint}),(0,a.jsx)(H,{label:i.port,value:String(r.port)})]}),(0,a.jsx)(H,{label:i.lastActivityAt,value:I(e.runtimeLastActivityAt)}),void 0!==e.runtimeConversationSignal&&(0,a.jsx)(H,{label:i.conversationSignal,value:e.runtimeConversationSignal?"Active":"Inactive"}),void 0!==e.runtimeUsageSignal&&(0,a.jsx)(H,{label:i.usageSignal,value:e.runtimeUsageSignal?"Active":"Inactive"})]}),!e.runtimeLastActivityAt&&"idle"===d&&(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/50",children:i.runtimeNoData})]})}function _({agent:e,isMindOS:t}){let{t:s}=(0,M.Y)(),r=s.agentsContent.detail,l=e.scope??(e.hasProjectScope?"project":e.hasGlobalScope?"global":"—");e.hiddenRootPresent;let n=[{label:r.envFileAccess,allowed:!0},{label:r.envNetworkAccess,allowed:"http"===e.transport||t},{label:r.envWriteAccess,allowed:!0},{label:r.envReadOnly,allowed:!1}];return(0,a.jsxs)("section",{className:"rounded-xl border border-border bg-card p-4 space-y-3",children:[(0,a.jsxs)("h2",{className:"text-xs font-semibold text-foreground flex items-center gap-2 shrink-0",children:[(0,a.jsx)(f,{size:12,className:"text-muted-foreground/50"}),r.envPermTitle]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-x-6 gap-y-1 py-2 border-y border-border/30",children:[(0,a.jsx)(H,{label:r.envScope,value:l}),(0,a.jsx)(H,{label:r.format,value:e.format}),e.hiddenRootPath&&(0,a.jsx)(H,{label:r.hiddenRoot,value:e.hiddenRootPath}),(0,a.jsx)(H,{label:r.skillMode,value:e.skillMode??"—"})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("p",{className:"text-2xs font-medium text-muted-foreground/60 uppercase tracking-wider mb-1.5",children:r.envVars}),e.configuredMcpServers&&e.configuredMcpServers.length>0?(0,a.jsx)("p",{className:"text-2xs text-muted-foreground",children:r.envVarsCount(e.configuredMcpServers.length)}):(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/50",children:r.envVarsEmpty})]}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)("p",{className:"text-2xs font-medium text-muted-foreground/60 uppercase tracking-wider",children:"Permissions"}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-1.5",children:n.map(({label:e,allowed:t})=>(0,a.jsxs)("div",{className:"flex items-center gap-1.5 rounded-md px-2 py-1.5 bg-muted/20",children:[t?(0,a.jsx)(b.A,{size:12,className:"text-[var(--success)] shrink-0"}):(0,a.jsx)(v.A,{size:12,className:"text-muted-foreground/40 shrink-0"}),(0,a.jsx)("span",{className:"text-2xs text-foreground/80",children:e}),(0,a.jsx)("span",{className:`ml-auto text-2xs font-medium ${t?"text-[var(--success)]":"text-muted-foreground/50"}`,children:t?r.envAllowed:r.envRestricted})]},e))})]})]})}function q(e){return/search/.test(e)?"search":/read|list|get/.test(e)?"read":/create|batch_create/.test(e)?"create":/delete/.test(e)?"delete":/write|update|insert|append|edit|rename|move/.test(e)?"write":"other"}let K={read:{icon:j.A,color:"text-blue-400"},write:{icon:y.A,color:"text-[var(--amber)]"},create:{icon:k.A,color:"text-[var(--success)]"},delete:{icon:o.A,color:"text-[var(--error)]"},search:{icon:u.A,color:"text-purple-400"},other:{icon:N.A,color:"text-muted-foreground"}};function Y(){let{t:e}=(0,M.Y)(),t=e.agentsContent?.detail,[s,r]=(0,n.useState)([]),[i,d]=(0,n.useState)(!0),[o,c]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=!1,t=()=>{fetch("/api/agent-activity?limit=50").then(e=>e.json()).then(t=>{e||r(t.events??[])}).catch(()=>{}).finally(()=>{e||d(!1)})};t();let s=()=>{"visible"===document.visibilityState&&t()};return document.addEventListener("visibilitychange",s),()=>{e=!0,document.removeEventListener("visibilitychange",s)}},[]);let u=(0,n.useMemo)(()=>{if(0===s.length)return null;let e=s.filter(e=>"read"===q(e.tool)).length,t=s.filter(e=>["write","create","delete"].includes(q(e.tool))).length,a=s.filter(e=>"error"===e.result).length,r=s.filter(e=>"number"==typeof e.durationMs).map(e=>e.durationMs),l=r.length>0?Math.round(r.reduce((e,t)=>e+t,0)/r.length):null,n=new Set;for(let e of s){let t=e.params.path;"string"==typeof t&&n.add(t)}let i=s.length>0?Math.round(a/s.length*100):0;return{total:s.length,reads:e,writes:t,errors:a,errorRate:i,avgMs:l,filesCount:n.size}},[s]),x=(0,n.useMemo)(()=>{let e=s.filter(e=>{let t=q(e.tool);return"write"===t||"create"===t||"delete"===t});return e.length>=3?e:s},[s]),m=o?x:x.slice(0,5),p=x.length-5;return i?(0,a.jsx)("section",{className:"rounded-xl border border-border bg-card p-4",children:(0,a.jsx)("div",{className:"flex justify-center py-6",children:(0,a.jsx)(g.A,{size:16,className:"animate-spin text-muted-foreground"})})}):0===s.length?(0,a.jsxs)("section",{className:"rounded-xl border border-border bg-card p-4 space-y-3",children:[(0,a.jsxs)("h2",{className:"text-xs font-semibold text-foreground flex items-center gap-2 shrink-0",children:[(0,a.jsx)(w.A,{size:12,className:"text-muted-foreground/50"}),t?.knowledgeInteraction??"Knowledge Interaction"]}),(0,a.jsxs)("div",{className:"rounded-lg border border-dashed border-border/50 bg-muted/10 px-4 py-6 text-center",children:[(0,a.jsx)(w.A,{size:20,className:"text-muted-foreground/30 mx-auto mb-2"}),(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/50",children:t?.knowledgeNoData??"No interactions yet. Agents will show activity here once they start working with your knowledge base."})]})]}):(0,a.jsxs)("section",{className:"rounded-xl border border-border bg-card overflow-hidden",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-4 pt-4 pb-2",children:[(0,a.jsxs)("h2",{className:"text-xs font-semibold text-foreground flex items-center gap-2 shrink-0",children:[(0,a.jsx)(w.A,{size:12,className:"text-muted-foreground/50"}),t?.knowledgeInteraction??"Knowledge Interaction"]}),(0,a.jsxs)(l(),{href:`/view/${(0,F.O0)(".mindos/agent-audit-log.json")}`,className:"text-2xs font-medium text-[var(--amber)] hover:opacity-80 transition-opacity font-display",children:[t?.viewFullLog??"View log"," →"]})]}),u&&(0,a.jsxs)("div",{className:"flex items-center gap-px mx-4 mb-3 rounded-lg overflow-hidden border border-border/40",children:[(0,a.jsxs)("div",{className:"flex-1 px-3 py-2 bg-muted/20",children:[(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/50 leading-none mb-1",children:t?.statTotalCalls??"Calls"}),(0,a.jsx)("p",{className:"text-sm font-semibold text-foreground font-mono tabular-nums leading-none",children:u.total})]}),(0,a.jsxs)("div",{className:"flex-1 px-3 py-2 bg-muted/20 border-l border-border/30",children:[(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/50 leading-none mb-1",children:t?.statFilesTouched??"Files"}),(0,a.jsx)("p",{className:"text-sm font-semibold text-foreground font-mono tabular-nums leading-none",children:u.filesCount})]}),(0,a.jsxs)("div",{className:"flex-1 px-3 py-2 bg-muted/20 border-l border-border/30",children:[(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/50 leading-none mb-1",children:t?.statReadWrite??"R / W"}),(0,a.jsxs)("p",{className:"text-sm font-semibold text-foreground font-mono tabular-nums leading-none",children:[(0,a.jsx)("span",{className:"text-blue-400",children:u.reads}),(0,a.jsx)("span",{className:"text-muted-foreground/30 mx-0.5",children:"/"}),(0,a.jsx)("span",{className:"text-[var(--amber)]",children:u.writes})]})]}),(0,a.jsxs)("div",{className:"flex-1 px-3 py-2 bg-muted/20 border-l border-border/30",children:[(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/50 leading-none mb-1",children:t?.statHealth??"Health"}),(0,a.jsx)("p",{className:"text-sm font-semibold font-mono tabular-nums leading-none",children:u.errors>0?(0,a.jsxs)("span",{className:"text-[var(--error)]",children:[u.errorRate,"% err"]}):(0,a.jsx)("span",{className:"text-[var(--success)]",children:"100%"})})]})]}),(0,a.jsxs)("div",{className:"border-t border-border/40",children:[(0,a.jsx)("div",{className:"px-4 py-2 flex items-center justify-between",children:(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/40 uppercase tracking-wider font-display",children:t?.recentOps??"Recent operations"})}),m.map((e,t)=>{let{icon:s,color:r}=K[q(e.tool)],n="string"==typeof e.params.path?e.params.path:null,i=e.tool.replace(/^mindos_/,"");return(0,a.jsxs)("div",{className:"flex items-center gap-3 px-4 py-2 border-t border-border/20 hover:bg-muted/20 transition-colors",children:[(0,a.jsx)("div",{className:"w-5 h-5 rounded-md bg-muted/40 flex items-center justify-center shrink-0",children:(0,a.jsx)(s,{size:11,className:r})}),(0,a.jsx)("span",{className:"text-xs font-medium text-foreground/80 font-mono shrink-0 min-w-[90px]",children:i}),n?(0,a.jsx)(l(),{href:`/view/${(0,F.O0)(n)}`,className:"text-xs text-muted-foreground hover:text-[var(--amber)] truncate min-w-0 flex-1 font-mono transition-colors",title:n,children:n}):(0,a.jsx)("span",{className:"flex-1"}),"ok"===e.result?(0,a.jsx)(A.A,{size:10,className:"shrink-0 text-[var(--success)]/40"}):(0,a.jsx)(S.A,{size:10,className:"shrink-0 text-[var(--error)]/60"}),(0,a.jsx)("span",{className:"text-2xs text-muted-foreground/30 tabular-nums shrink-0 font-mono w-[28px] text-right",title:e.ts,children:function(e){let t=Date.now()-new Date(e).getTime(),s=Math.floor(t/6e4);if(s<1)return"<1m";if(s<60)return`${s}m`;let a=Math.floor(t/36e5);return a<24?`${a}h`:`${Math.floor(t/864e5)}d`}(e.ts)})]},e.id??t)})]}),p>0&&(0,a.jsx)("div",{className:"px-4 py-2 border-t border-border/20",children:(0,a.jsxs)("button",{onClick:()=>c(e=>!e),className:"flex items-center gap-1.5 text-xs font-medium text-[var(--amber)] hover:opacity-80 transition-opacity cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded",children:[(0,a.jsx)(C.A,{size:12,className:`transition-transform duration-200 ${o?"rotate-180":""}`}),(0,a.jsx)("span",{children:o?t?.showLess??"Show less":`${p} more`})]})})]})}function J({agent:e}){let{t}=(0,M.Y)(),s=t.agentsContent.detail,r=!!e.runtimeLastActivityAt;return(0,a.jsxs)("section",{className:"rounded-xl border border-border bg-card p-4 space-y-3",children:[(0,a.jsxs)("h2",{className:"text-xs font-semibold text-foreground flex items-center gap-2 shrink-0",children:[(0,a.jsx)(h.A,{size:12,className:"text-muted-foreground/50"}),s.activityTitle]}),r?(0,a.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-3",children:[(0,a.jsx)(W,{label:s.activityLastInvocation,value:I(e.runtimeLastActivityAt)}),(0,a.jsx)(W,{label:s.activityTotal,value:e.runtimeConversationSignal?"Active":"—"}),(0,a.jsx)(W,{label:s.activityLast7d,value:e.runtimeUsageSignal?"Active":"—"})]}):(0,a.jsxs)("div",{className:"rounded-lg border border-dashed border-border/50 bg-muted/10 px-4 py-6 text-center",children:[(0,a.jsx)(h.A,{size:20,className:"text-muted-foreground/30 mx-auto mb-2"}),(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/50",children:s.activityNoData})]})]})}function W({label:e,value:t}){return(0,a.jsxs)("div",{className:"rounded-lg border border-border/40 bg-muted/10 px-3 py-2.5",children:[(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/50 uppercase tracking-wider mb-0.5",children:e}),(0,a.jsx)("p",{className:"text-sm font-medium text-foreground font-mono tabular-nums",children:t})]})}},51914:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},53961:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},61878:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},67635:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},68459:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},74009:(e,t,s)=>{Promise.resolve().then(s.bind(s,45511))},80723:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},84755:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("wifi-off",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},84980:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]])},92451:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},93631:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("file-plus",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]])},97810:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(90425).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])}},e=>{e.O(0,[6926,9602,1053,4563,8663,8441,3794,7358],()=>e(e.s=74009)),_N_E=e.O()}]);
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7165],{2431:(e,t,s)=>{"use strict";s.d(t,{z:()=>a});var r=s(12115);let n="mindos:acp-detection";function a(){let e=(0,r.useRef)(function(){try{let e=sessionStorage.getItem(n);if(!e)return null;let t=JSON.parse(e);if("number"!=typeof t.ts||Date.now()-t.ts>18e5)return null;return t}catch{return null}}()),[t,s]=(0,r.useState)(e.current?.installed??[]),[a,l]=(0,r.useState)(e.current?.notInstalled??[]),[i,o]=(0,r.useState)(!e.current),[d,c]=(0,r.useState)(null),[u,m]=(0,r.useState)(0),x=(0,r.useRef)(!1),g=(0,r.useRef)(!1),p=(0,r.useCallback)(()=>{try{sessionStorage.removeItem(n)}catch{}e.current=null,g.current=!0,m(e=>e+1)},[]);return(0,r.useEffect)(()=>{let r=g.current;if(g.current=!1,e.current&&Date.now()-e.current.ts<18e5&&0===u||x.current)return;x.current=!0;let i=t.length>0||a.length>0;i||o(!0),c(null);let d=!1;return fetch(`/api/acp/detect${r?"?force=1":""}`).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()}).then(t=>{if(d)return;let r=t.installed??[],a=t.notInstalled??[];try{sessionStorage.setItem(n,JSON.stringify({installed:r,notInstalled:a,ts:Date.now()}))}catch{}e.current={installed:r,notInstalled:a,ts:Date.now()},s(r),l(a)}).catch(e=>{!d&&(i||c(e.message))}).finally(()=>{x.current=!1,d||o(!1)}),()=>{d=!0}},[u]),{installedAgents:t,notInstalledAgents:a,loading:i,error:d,refresh:p}}},6496:(e,t,s)=>{"use strict";s.d(t,{A:()=>p});var r=s(95155),n=s(12115),a=s(98500),l=s.n(a),i=s(93219),o=s(21628),d=s(12651),c=s(13545),u=s(66088),m=s(91337),x=s(91053),g=s(42833);function p(){let{t:e,locale:t}=(0,x.Y)(),[s,a]=(0,n.useState)([]),[p,b]=(0,n.useState)(!0),[h,f]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=!1,t=()=>{fetch("/api/agent-activity?limit=20").then(e=>e.json()).then(t=>{e||a(t.events??[])}).catch(()=>{}).finally(()=>{e||b(!1)})};t();let s=()=>{"visible"===document.visibilityState&&t()};return document.addEventListener("visibilitychange",s),()=>{e=!0,document.removeEventListener("visibilitychange",s)}},[]);let v=(0,n.useMemo)(()=>{let e=s.filter(e=>{let t=(0,g.wT)(e.tool);return"write"===t||"create"===t||"delete"===t});return e.length>=3?e:s},[s]),j=h?v:v.slice(0,5),y=v.length-5;if(p)return(0,r.jsxs)("section",{className:"animate-pulse","aria-label":"Recent Activity",children:[(0,r.jsx)("div",{className:"h-4 w-36 bg-muted rounded mb-3"}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("div",{className:"h-10 bg-muted/50 rounded-lg"}),(0,r.jsx)("div",{className:"h-10 bg-muted/50 rounded-lg"})]})]});if(0===s.length)return null;let N=e.agentsContent?.overview;return(0,r.jsxs)("section",{"aria-label":"Recent Activity",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,r.jsx)("span",{className:"text-[var(--amber)]",children:(0,r.jsx)(i.A,{size:13})}),(0,r.jsx)("h2",{className:"text-sm font-semibold font-display text-foreground",children:N?.recentActivity??"Recent Activity"}),(0,r.jsx)("div",{className:"ml-auto",children:(0,r.jsxs)(l(),{href:"/agents?tab=activity",className:"flex items-center gap-1.5 text-xs font-medium text-[var(--amber)] hover:opacity-80 transition-colors font-display",children:[(0,r.jsx)(o.A,{size:12}),(0,r.jsx)("span",{children:N?.viewAll??"View all"})]})})]}),(0,r.jsx)("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:j.map((e,s)=>{let n=(0,g.wT)(e.tool),a=(0,g.oK)(e.params);return(0,r.jsxs)("div",{className:`flex items-center gap-3 px-3.5 py-2.5 ${s>0?"border-t border-border/30":""} hover:bg-muted/30 transition-colors`,children:[(0,r.jsx)(g.g,{kind:n,locale:t,size:"sm"}),a?(0,r.jsx)(l(),{href:`/view/${(0,m.O0)(a)}`,className:"text-xs text-[var(--amber)]/80 hover:text-[var(--amber)] truncate min-w-0 flex-1 font-display transition-colors",title:a,children:a}):(0,r.jsx)("span",{className:"flex-1"}),e.agentName&&(0,r.jsx)("span",{className:"text-[0.6rem] font-medium text-muted-foreground/70 bg-muted/60 px-1.5 py-0.5 rounded-full shrink-0 font-display",title:e.agentName,children:e.agentName.length>20?e.agentName.slice(0,20)+"...":e.agentName}),"ok"===e.result?(0,r.jsx)(d.A,{size:11,className:"shrink-0 text-[var(--success)]/60"}):(0,r.jsx)(c.A,{size:11,className:"shrink-0 text-[var(--error)]/60"}),(0,r.jsx)("span",{className:"text-2xs text-muted-foreground/40 tabular-nums shrink-0 font-display",title:e.ts,children:(0,g.MZ)(e.ts)})]},e.id??s)})}),y>0&&(0,r.jsxs)("button",{onClick:()=>f(e=>!e),className:"flex items-center gap-1.5 mt-2 text-xs font-medium text-[var(--amber)] hover:opacity-80 transition-opacity cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded",children:[(0,r.jsx)(u.A,{size:12,className:`transition-transform duration-200 ${h?"rotate-180":""}`}),(0,r.jsx)("span",{children:h?N?.showLess??"Show less":`${y} more`})]})]})}},27318:(e,t,s)=>{"use strict";s.d(t,{KT:()=>c,NH:()=>d});var r=s(12115);let n={open:!1,initialMessage:"",source:"user",acpAgent:null},a=new Set;function l(){a.forEach(e=>e())}function i(e){return a.add(e),()=>{a.delete(e)}}function o(){return n}function d(e="",t="user",s=null){n={open:!0,initialMessage:e,source:t,acpAgent:s},l()}function c(){let e=(0,r.useSyncExternalStore)(i,o,o);return{open:e.open,initialMessage:e.initialMessage,source:e.source,acpAgent:e.acpAgent,openWith:(0,r.useCallback)((e,t="user",s=null)=>d(e,t,s),[]),close:(0,r.useCallback)(()=>void(n={open:!1,initialMessage:"",source:"user",acpAgent:null},l()),[])}}},42833:(e,t,s)=>{"use strict";s.d(t,{$2:()=>g,CF:()=>u,MZ:()=>p,g:()=>h,hf:()=>x,oK:()=>b,wT:()=>c,zR:()=>m});var r=s(95155),n=s(84980),a=s(3926),l=s(93631),i=s(68459),o=s(61878),d=s(10762);function c(e){return/search/.test(e)?"search":/read|list|get/.test(e)?"read":/create/.test(e)?"create":/delete/.test(e)?"delete":/write|update|insert|append/.test(e)?"write":"other"}let u={en:{read:"Read",write:"Write",create:"Create",delete:"Delete",search:"Search",other:"Other"},zh:{read:"读取",write:"写入",create:"创建",delete:"删除",search:"搜索",other:"其他"}},m={read:{bg:"rgba(138,180,216,0.10)",text:"#8ab4d8",border:"rgba(138,180,216,0.25)"},write:{bg:"rgba(200,135,58,0.10)",text:"var(--amber)",border:"rgba(200,135,58,0.25)"},create:{bg:"rgba(122,173,128,0.10)",text:"var(--success)",border:"rgba(122,173,128,0.25)"},delete:{bg:"rgba(200,80,80,0.10)",text:"var(--error)",border:"rgba(200,80,80,0.25)"},search:{bg:"rgba(200,160,216,0.10)",text:"#c8a0d8",border:"rgba(200,160,216,0.25)"},other:{bg:"var(--muted)",text:"var(--muted-foreground)",border:"var(--border)"}};function x({kind:e,size:t=13}){return"read"===e?(0,r.jsx)(n.A,{size:t}):"write"===e?(0,r.jsx)(a.A,{size:t}):"create"===e?(0,r.jsx)(l.A,{size:t}):"delete"===e?(0,r.jsx)(i.A,{size:t}):"search"===e?(0,r.jsx)(o.A,{size:t}):(0,r.jsx)(d.A,{size:t})}function g(e){try{return new Date(e).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return e}}function p(e){let t=Date.now()-new Date(e).getTime(),s=Math.floor(t/6e4),r=Math.floor(t/36e5),n=Math.floor(t/864e5);return s<1?"<1m":s<60?`${s}m`:r<24?`${r}h`:`${n}d`}function b(e){return"string"==typeof e.path?e.path:null}function h({kind:e,locale:t,size:s="md"}){let n=m[e],a=u[t?.startsWith("zh")?"zh":"en"][e];return(0,r.jsxs)("span",{className:"font-display",style:{display:"inline-flex",alignItems:"center",gap:3,padding:"sm"===s?"1px 6px":"2px 8px",borderRadius:999,fontSize:"sm"===s?"0.6rem":"0.68rem",fontWeight:600,background:n.bg,color:n.text,border:`1px solid ${n.border}`,flexShrink:0,whiteSpace:"nowrap"},children:[(0,r.jsx)(x,{kind:e,size:"sm"===s?9:10}),a]})}},64435:(e,t,s)=>{"use strict";s.d(t,{default:()=>eF});var r=s(95155),n=s(12115),a=s(4235),l=s(91053),i=s(70617),o=s(2857),d=s(7834),c=s(13845),u=s(3590),m=s(98500),x=s.n(m),g=s(53961),p=s(90425);let b=(0,p.A)("cable",[["path",{d:"M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z",key:"trhst0"}],["path",{d:"M17 21v-2",key:"ds4u3f"}],["path",{d:"M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10",key:"1mo9zo"}],["path",{d:"M21 21v-2",key:"eo0ou"}],["path",{d:"M3 5V3",key:"1k5hjh"}],["path",{d:"M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z",key:"1dd30t"}],["path",{d:"M7 5V3",key:"1t1388"}]]);var h=s(41585),f=s(15573),v=s(92451),j=s(66088),y=s(21628),N=s(91337),k=s(39498),w=s(6496);function S({copy:e,buckets:t,riskQueue:s,mcpRunning:a,mcpPort:l,mcpToolCount:i,enabledSkillCount:o,allAgents:d,pulseCopy:c,a2aCount:u}){s.length;let[m,x]=(0,n.useState)(!1),p=(0,n.useMemo)(()=>[...d].filter(e=>e.present).sort((e,t)=>!e.installed-!t.installed||e.name.localeCompare(t.name)),[d]);return(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsx)("section",{className:"rounded-xl border border-border bg-gradient-to-b from-card to-card/80 overflow-hidden","aria-label":c.connected,children:(0,r.jsxs)("div",{className:"flex divide-x divide-border/50 [&>*]:flex-1",children:[(0,r.jsx)(C,{icon:(0,r.jsx)(g.A,{size:14,"aria-hidden":"true"}),label:c.connected,value:t.connected.length,total:p.length,tone:"ok"}),(0,r.jsx)(C,{icon:(0,r.jsx)(b,{size:14,"aria-hidden":"true"}),label:c.detected,value:t.detected.length,tone:t.detected.length>0?"warn":"muted"}),t.notFound.length>0&&(0,r.jsx)(C,{icon:(0,r.jsx)(h.A,{size:14,"aria-hidden":"true"}),label:c.notFound,value:t.notFound.length,tone:"muted"}),(0,r.jsx)(C,{icon:(0,r.jsx)(g.A,{size:14,"aria-hidden":"true"}),label:c.enabledSkills,value:o,tone:"ok"}),(0,r.jsx)(C,{icon:(0,r.jsx)(f.A,{size:14,"aria-hidden":"true"}),label:e.pulseMcp,value:a?`:${l}`:"—",tone:a?"ok":"warn"}),null!=u&&(0,r.jsx)(C,{icon:(0,r.jsx)(v.A,{size:14,"aria-hidden":"true"}),label:e.a2aLabel??"A2A",value:u,tone:u>0?"ok":"muted"})]})}),(0,r.jsxs)("nav",{className:"grid grid-cols-1 md:grid-cols-2 gap-3","aria-label":"Quick navigation",children:[(0,r.jsx)(A,{href:"/agents?tab=mcp",icon:(0,r.jsx)(f.A,{size:18,"aria-hidden":"true"}),title:"MCP",stat:a?e.toolsUnit(i):e.mcpOffline,statTone:a?"ok":"warn",description:e.nextActionHint}),(0,r.jsx)(A,{href:"/agents?tab=skills",icon:(0,r.jsx)(g.A,{size:18,"aria-hidden":"true"}),title:"Skills",stat:e.enabledUnit(o),statTone:"ok",description:`${c.enabledSkills}: ${o}`})]}),s.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("button",{type:"button",onClick:()=>x(!m),className:"inline-flex items-center gap-1.5 rounded-full border border-amber-500/25 bg-amber-500/[0.06] px-3 py-1.5 text-sm font-medium text-[var(--amber)] transition-colors duration-150 hover:bg-amber-500/[0.12] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-expanded":m,children:[(0,r.jsx)(h.A,{size:13,className:"shrink-0","aria-hidden":"true"}),e.riskQueue,(0,r.jsx)("span",{className:"tabular-nums text-2xs bg-[var(--amber-dim)] px-1.5 py-0.5 rounded-full select-none",children:s.length}),(0,r.jsx)(j.A,{size:13,className:(0,N.cn)("shrink-0 transition-transform duration-200",m&&"rotate-180"),"aria-hidden":"true"})]}),(0,r.jsx)("div",{className:(0,N.cn)("grid transition-[grid-template-rows] duration-250 ease-out",m?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:(0,r.jsx)("div",{className:"overflow-hidden",...!m&&{inert:!0},children:(0,r.jsx)("ul",{className:"mt-3 space-y-2",role:"list",children:s.map((t,s)=>(0,r.jsxs)("li",{className:`flex items-center gap-3 px-3 py-2.5 rounded-lg border text-sm ${"error"===t.severity?"border-destructive/20 bg-destructive/[0.03]":"border-amber-500/15 bg-background"}`,style:{animationDelay:`${50*s}ms`},children:[(0,r.jsx)("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${"error"===t.severity?"bg-destructive":"bg-[var(--amber)]"}`,"aria-hidden":"true"}),(0,r.jsx)("span",{className:"text-foreground flex-1 min-w-0",children:t.title}),(0,r.jsx)("span",{className:`text-2xs px-1.5 py-0.5 rounded font-medium shrink-0 select-none ${"error"===t.severity?"bg-destructive/10 text-destructive":"bg-[var(--amber-dim)] text-[var(--amber-text)]"}`,children:"error"===t.severity?e.riskLevelError:e.riskLevelWarn})]},t.id))})})})]}),(0,r.jsx)(w.A,{}),p.length>0?(0,r.jsxs)("section",{"aria-label":e.usagePulse,children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,r.jsx)("h2",{className:"text-sm font-medium text-foreground",children:e.usagePulse}),(0,r.jsx)("span",{className:"text-2xs text-muted-foreground tabular-nums select-none",children:e.agentCount(p.length)})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:p.map((t,s)=>(0,r.jsx)(z,{agent:t,copy:e,index:s},t.key))})]}):(0,r.jsxs)("section",{className:"rounded-xl border border-dashed border-border/60 bg-gradient-to-b from-card/80 to-card/40 p-12 text-center","aria-label":e.usagePulse,children:[(0,r.jsx)("div",{className:"w-14 h-14 rounded-2xl bg-muted/40 flex items-center justify-center mx-auto mb-4",children:(0,r.jsx)(b,{size:22,className:"text-muted-foreground/50","aria-hidden":"true"})}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground/70 leading-relaxed max-w-xs mx-auto",children:e.nextActionHint})]})]})}function C({icon:e,label:t,value:s,total:n,tone:a}){return(0,r.jsxs)("div",{className:`px-3 py-4 text-center ${"ok"===a?"hover:bg-muted/20":"warn"===a?"hover:bg-[var(--amber)]/[0.04]":"hover:bg-muted/20"} transition-colors duration-150 group/stat`,role:"group","aria-label":`${t}: ${s}${void 0!==n?`/${n}`:""}`,children:[(0,r.jsx)("div",{className:`flex items-center justify-center gap-1.5 mb-2 ${"ok"===a?"text-[var(--success)]/70":"warn"===a?"text-[var(--amber)]/70":"text-muted-foreground/40"} group-hover/stat:opacity-100 transition-all duration-150`,children:e}),(0,r.jsxs)("p",{className:`text-xl font-semibold tabular-nums leading-none mb-1.5 ${"ok"===a?"text-foreground":"warn"===a?"text-amber-600 dark:text-amber-400":"text-muted-foreground"}`,children:[s,void 0!==n&&(0,r.jsxs)("span",{className:"text-xs font-normal text-muted-foreground ml-0.5",children:["/",n]})]}),(0,r.jsx)("span",{className:"text-2xs text-muted-foreground/70 truncate block",children:t})]})}function A({href:e,icon:t,title:s,stat:n,statTone:a,description:l}){return(0,r.jsxs)(x(),{href:e,className:"group rounded-xl border border-border bg-card p-4 flex items-start gap-3.5 hover:border-[var(--amber)]/30 hover:shadow-[0_2px_12px_rgba(0,0,0,0.04)] active:scale-[0.99] transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,r.jsx)("div",{className:"shrink-0 w-10 h-10 rounded-xl bg-muted/50 flex items-center justify-center text-muted-foreground/70 group-hover:text-[var(--amber)] group-hover:bg-[var(--amber)]/[0.08] transition-all duration-200",children:t}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,r.jsx)("span",{className:"text-sm font-semibold text-foreground",children:s}),(0,r.jsx)("span",{className:`text-2xs px-2 py-0.5 rounded-full font-medium select-none ${"ok"===a?"bg-muted text-muted-foreground":"bg-[var(--amber-dim)] text-[var(--amber-text)]"}`,children:n})]}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground/70 leading-relaxed line-clamp-2",children:l})]}),(0,r.jsx)(y.A,{size:14,className:"shrink-0 mt-1.5 text-muted-foreground/20 group-hover:text-[var(--amber)] group-hover:translate-x-0.5 transition-all duration-200","aria-hidden":"true"})]})}function z({agent:e,copy:t,index:s}){let n=(0,u.yv)(e),a=e.configuredMcpServerCount??e.configuredMcpServers?.length??0,l=e.installedSkillCount??e.installedSkillNames?.length??0,i=e.runtimeConversationSignal||e.runtimeUsageSignal,o="connected"===n?t.connected:"detected"===n?t.detected:t.notFound,d="connected"===n?"bg-muted text-muted-foreground":"detected"===n?"bg-[var(--amber-dim)] text-[var(--amber-text)]":"bg-error/10 text-error";return(0,r.jsxs)(x(),{href:`/agents/${encodeURIComponent(e.key)}`,className:`group rounded-xl border border-border bg-card p-3.5
|
|
2
|
-
hover:border-[var(--amber)]/30 hover:shadow-[0_2px_8px_rgba(0,0,0,0.04)]
|
|
3
|
-
active:scale-[0.98]
|
|
4
|
-
transition-all duration-150
|
|
5
|
-
focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 mb-3",children:[(0,r.jsx)(k.lx,{name:e.name,status:n,size:"sm"}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-foreground block truncate group-hover:text-[var(--amber)] transition-colors duration-150",children:e.name}),e.transport&&"connected"===n&&(0,r.jsx)("span",{className:"text-2xs text-muted-foreground/60 font-mono",children:e.transport})]}),(0,r.jsx)("span",{className:`text-2xs px-2 py-0.5 rounded-full font-medium shrink-0 select-none ${d}`,children:o})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1 pt-2.5 border-t border-border/40",children:[(0,r.jsx)(M,{icon:(0,r.jsx)(f.A,{size:11,"aria-hidden":"true"}),value:a,label:t.colMcp}),(0,r.jsx)(M,{icon:(0,r.jsx)(g.A,{size:11,"aria-hidden":"true"}),value:l,label:t.colSkills}),(0,r.jsx)("span",{className:"flex-1 min-w-[4px]"}),i&&(0,r.jsxs)("span",{className:"flex items-center gap-1 text-[var(--success)]",title:t.runtimeActive,children:[(0,r.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--success)] animate-pulse","aria-hidden":"true"}),(0,r.jsx)("span",{className:"text-2xs font-medium",children:t.runtimeActive})]})]})]})}function M({icon:e,value:t,label:s}){return(0,r.jsxs)("span",{className:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded-md ${t>0?"bg-muted/40":""}`,title:s,"aria-label":`${s}: ${t}`,children:[(0,r.jsx)("span",{className:t>0?"text-muted-foreground":"text-muted-foreground/30",children:e}),(0,r.jsx)("span",{className:`tabular-nums text-xs ${t>0?"text-foreground font-medium":"text-muted-foreground/40"}`,children:t})]})}var T=s(91958),F=s(61878);function $({copy:e,mcp:t,buckets:s,copyState:a,onCopySnippet:l}){let[i,o]=(0,n.useState)("byServer"),[d,c]=(0,n.useState)(""),[m,x]=(0,n.useState)("all"),[g,p]=(0,n.useState)("all"),[b,h]=(0,n.useState)(null),[v,j]=(0,n.useState)(null),y=(0,n.useMemo)(()=>(0,u.gJ)(t.agents),[t.agents]),N=(0,n.useMemo)(()=>(0,u.gJ)((0,u.fH)(t.agents,{query:d,status:m,transport:g})),[t.agents,d,m,g]),w=(0,n.useMemo)(()=>(0,u.HL)(t.agents),[t.agents]),S=(0,n.useMemo)(()=>{let e=d.trim().toLowerCase();return e?w.filter(t=>t.serverName.toLowerCase().includes(e)):w},[w,d]);async function C(e){h(`reconnect:${e.key}`);try{let s="project"===e.scope?"project":"global",r="http"===e.transport?"http":"stdio";await t.installAgent(e.key,{scope:s,transport:r}),await t.refresh()}catch(e){console.error("[mcp] reconnect failed",e)}finally{h(null)}}async function A(e){h(`install:${e}`);try{await t.installAgent(e,{scope:"global",transport:"stdio"}),await t.refresh()}catch(e){console.error("[mcp] install mindos failed",e)}finally{h(null)}}async function z(){if(null!==b||0===N.length)return;h("bulk"),j(e.bulkRunning);let s=[];for(let e of N){let r="project"===e.scope?"project":"global",n="http"===e.transport?"http":"stdio",a=await t.installAgent(e.key,{scope:r,transport:n});s.push({agentKey:e.key,ok:a})}await t.refresh();let r=(0,u.xJ)(s);j(e.bulkSummary(r.succeeded,r.failed)),h(null)}let M="refresh"===b;return(0,r.jsxs)("section",{className:"space-y-4 overflow-hidden","aria-label":e.title,children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsxs)("h2",{className:"text-sm font-semibold text-foreground flex items-center gap-2",children:[(0,r.jsx)("div",{className:"w-6 h-6 rounded-md bg-muted/50 flex items-center justify-center",children:(0,r.jsx)(f.A,{size:13,className:"text-muted-foreground/70","aria-hidden":"true"})}),e.title]}),(0,r.jsxs)("button",{type:"button",onClick:()=>{h("refresh"),t.refresh().finally(()=>h(null))},disabled:M,"aria-label":e.refresh,className:"inline-flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-md px-1.5 py-1 hover:bg-muted disabled:opacity-50 transition-colors duration-150",children:[(0,r.jsx)(T.A,{size:13,className:M?"animate-spin":""}),e.refresh]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-border p-0.5 bg-background",role:"tablist","aria-label":e.title,children:[(0,r.jsx)(k.KF,{active:"byServer"===i,label:e.tabs.byServer,onClick:()=>o("byServer")}),(0,r.jsx)(k.KF,{active:"byAgent"===i,label:e.tabs.byAgent,onClick:()=>o("byAgent")})]})]}),(0,r.jsxs)("div",{className:"rounded-xl border border-border/60 bg-gradient-to-r from-card to-card/80 p-3.5",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-2 text-xs",children:[(0,r.jsx)(k.md,{tone:"ok",label:e.filters.connected,count:s.connected.length}),(0,r.jsx)(k.md,{tone:"warn",label:e.filters.detected,count:s.detected.length}),s.notFound.length>0&&(0,r.jsx)(k.md,{tone:"neutral",label:e.filters.notFound,count:s.notFound.length}),(0,r.jsx)("span",{className:"text-muted-foreground/40","aria-hidden":"true",children:"|"}),(0,r.jsx)(k.md,{tone:t.status?.running?"ok":"neutral",label:e.mcpServerLabel,count:+!!t.status?.running})]}),!t.status?.running&&(0,r.jsx)("div",{className:"mt-2 pt-2 border-t border-border/60",role:"alert",children:(0,r.jsxs)("p",{className:"text-xs text-destructive flex items-center gap-1.5",children:[(0,r.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-destructive shrink-0","aria-hidden":"true"}),e.riskMcpStopped]})})]}),(0,r.jsx)(k.DO,{value:d,onChange:c,placeholder:"byAgent"===i?e.searchPlaceholder:e.searchServersPlaceholder,ariaLabel:e.searchPlaceholder,icon:F.A}),"byAgent"===i?(0,r.jsx)(D,{copy:e,agents:N,busyAction:b,copyState:a,bulkMessage:v,statusFilter:m,transportFilter:g,onStatusFilter:x,onTransportFilter:p,onCopySnippet:l,onReconnect:C,onInstallMindos:A,onBulkReconnect:z}):(0,r.jsx)(R,{copy:e,servers:S,allAgents:y,busyAction:b,onInstallMindos:A,onReconnect:C})]})}function D({copy:e,agents:t,busyAction:s,copyState:n,bulkMessage:a,statusFilter:l,transportFilter:i,onStatusFilter:o,onTransportFilter:d,onCopySnippet:c,onReconnect:m,onInstallMindos:g,onBulkReconnect:p}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,r.jsxs)("div",{role:"group","aria-label":e.table.status,className:"flex items-center gap-0.5 rounded-md border border-border p-0.5 bg-background",children:[(0,r.jsx)(k.KF,{active:"all"===l,label:e.filters.all,onClick:()=>o("all")}),(0,r.jsx)(k.KF,{active:"connected"===l,label:e.filters.connected,onClick:()=>o("connected")}),(0,r.jsx)(k.KF,{active:"detected"===l,label:e.filters.detected,onClick:()=>o("detected")}),(0,r.jsx)(k.KF,{active:"notFound"===l,label:e.filters.notFound,onClick:()=>o("notFound")})]}),(0,r.jsxs)("div",{role:"group","aria-label":e.table.transport,className:"flex items-center gap-0.5 rounded-md border border-border p-0.5 bg-background",children:[(0,r.jsx)(k.KF,{active:"all"===i,label:e.transportFilters.all,onClick:()=>d("all")}),(0,r.jsx)(k.KF,{active:"stdio"===i,label:e.transportFilters.stdio,onClick:()=>d("stdio")}),(0,r.jsx)(k.KF,{active:"http"===i,label:e.transportFilters.http,onClick:()=>d("http")}),(0,r.jsx)(k.KF,{active:"other"===i,label:e.transportFilters.other,onClick:()=>d("other")})]})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(k.rA,{onClick:()=>void p(),disabled:null!==s||0===t.length,busy:"bulk"===s,label:e.bulkReconnectFiltered}),(0,r.jsx)("span",{className:"text-2xs text-muted-foreground tabular-nums",children:e.resultCount(t.length)}),(0,r.jsx)(k.Mv,{message:a})]}),0===t.length?(0,r.jsx)(k.pp,{message:e.emptyState}):(0,r.jsx)("div",{className:"space-y-2",children:t.map(t=>{let a=(0,u.yv)(t),l=t.configuredMcpServers??[],i=(t.installedSkillNames??[]).length;return(0,r.jsxs)("div",{className:`rounded-xl border bg-card group hover:shadow-[0_2px_8px_rgba(0,0,0,0.04)] transition-all duration-150 ${"detected"===a?"border-l-2 border-l-[var(--amber)] border-border":"notFound"===a?"border-l-2 border-l-error border-border":"border-border"}`,children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 p-3",children:[(0,r.jsx)(k.lx,{name:t.name,status:a}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(x(),{href:`/agents/${encodeURIComponent(t.key)}`,className:"text-sm font-medium text-foreground hover:underline cursor-pointer truncate",children:t.name}),(0,r.jsx)("span",{className:"text-2xs text-muted-foreground font-mono shrink-0",children:t.transport??t.preferredTransport}),(0,r.jsx)("span",{className:`text-2xs px-1.5 py-0.5 rounded shrink-0 ${"connected"===a?"bg-muted text-muted-foreground":"detected"===a?"bg-[var(--amber-dim)] text-[var(--amber-text)]":"bg-error/10 text-error"}`,children:e.status[a]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2 mt-0.5 text-2xs text-muted-foreground",children:[(0,r.jsxs)("span",{className:"tabular-nums",children:[l.length," MCP"]}),(0,r.jsx)("span",{"aria-hidden":"true",children:"\xb7"}),(0,r.jsxs)("span",{className:"tabular-nums",children:[i," skills"]})]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0 md:opacity-0 md:group-hover:opacity-100 md:focus-within:opacity-100 transition-opacity duration-150",children:[(0,r.jsx)(k.rA,{onClick:()=>void c(t.key),disabled:!1,busy:!1,label:n===t.key?e.actions.copied:e.actions.copySnippet}),t.installed?(0,r.jsx)(k.rA,{onClick:()=>void m(t),disabled:null!==s,busy:s===`reconnect:${t.key}`,label:e.actions.reconnect}):(0,r.jsx)(k.rA,{onClick:()=>void g(t.key),disabled:null!==s,busy:s===`install:${t.key}`,label:e.installMindos,variant:"primary"})]})]}),l.length>0&&(0,r.jsx)("div",{className:"flex flex-wrap gap-1 px-3 pb-3 ml-12",children:l.map(e=>(0,r.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-muted/40 border border-border/30 px-2.5 py-0.5 text-2xs text-muted-foreground hover:bg-muted/60 transition-colors duration-100",children:[(0,r.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--amber)]","aria-hidden":"true"}),e]},e))})]},t.key)})})]})}function R({copy:e,servers:t,allAgents:s,busyAction:a,onInstallMindos:l,onReconnect:i}){let[o,d]=(0,n.useState)(null),[c,m]=(0,n.useState)(null),[g,p]=(0,n.useState)(null),[b,h]=(0,n.useState)(null),[v,j]=(0,n.useState)({}),y=(0,n.useCallback)(async(e,t)=>{d(null),await l(e)},[l]),N=(0,n.useCallback)(()=>{m(null),p(e.manualRemoveHint),setTimeout(()=>p(null),4e3)},[e.manualRemoveHint]),w=(0,n.useCallback)(async(t,s)=>{h(t),j(s=>({...s,[t]:e.reconnectAllRunning}));let r=0,n=0;for(let e of s)try{await i(e),r++}catch{n++}j(s=>({...s,[t]:e.reconnectAllDone(r,n)})),h(null),setTimeout(()=>j(e=>{let s={...e};return delete s[t],s}),4e3)},[e,i]);return 0===t.length?(0,r.jsx)(k.pp,{message:e.crossAgentServersEmpty}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)("p",{className:"text-2xs text-muted-foreground tabular-nums",children:e.resultCount(t.length)}),g&&(0,r.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-md border border-border bg-muted/50 px-3 py-2 text-xs text-muted-foreground animate-in fade-in duration-200",children:g}),t.map(t=>{let n=t.agents.map(e=>s.find(t=>t.name===e)).filter(Boolean),l=t.agents.filter(e=>!n.some(t=>t.name===e)),i=s.filter(e=>!t.agents.includes(e.name)),c=n.filter(e=>"connected"===(0,u.yv)(e)).length,g=n.filter(e=>"detected"===(0,u.yv)(e)).length,p=n.length-c-g+l.length;return(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 hover:shadow-[0_2px_8px_rgba(0,0,0,0.04)] transition-all duration-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 min-w-0",children:[(0,r.jsx)("div",{className:"w-7 h-7 rounded-lg bg-[var(--amber)]/[0.08] flex items-center justify-center shrink-0",children:(0,r.jsx)(f.A,{size:13,className:"text-[var(--amber)]","aria-hidden":"true"})}),(0,r.jsx)("span",{className:"text-sm font-semibold text-foreground truncate",children:t.serverName})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[n.length>0&&(0,r.jsx)(k.rA,{onClick:()=>void w(t.serverName,n),disabled:null!==b||null!==a,busy:b===t.serverName,label:e.reconnectAllInServer,busyLabel:e.reconnectAllRunning}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)(k.ZC,{onClick:()=>d(o===t.serverName?null:t.serverName),label:e.addAgent,size:"sm"}),(0,r.jsx)(k.BK,{open:o===t.serverName,agents:i.map(e=>({key:e.key,name:e.name})),emptyLabel:e.noAvailableAgents,onSelect:e=>void y(e,t.serverName),onClose:()=>d(null)})]})]})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 text-2xs text-muted-foreground mb-3",children:[(0,r.jsx)("span",{className:"tabular-nums",children:e.serverAgentCount(t.agents.length)}),c>0&&(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--success)]","aria-hidden":"true"}),c]}),g>0&&(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--amber)]","aria-hidden":"true"}),g]}),p>0&&(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-muted-foreground","aria-hidden":"true"}),p]})]}),v[t.serverName]&&(0,r.jsx)("p",{role:"status",className:"text-2xs text-muted-foreground mb-2 animate-in fade-in duration-200",children:v[t.serverName]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[n.map(e=>{let s=(0,u.yv)(e);return(0,r.jsx)(x(),{href:`/agents/${encodeURIComponent(e.key)}`,className:"cursor-pointer",children:(0,r.jsx)(k.lx,{name:e.name,status:s,onRemove:()=>m({agentName:e.name,serverName:t.serverName})})},e.key)}),l.map(e=>(0,r.jsx)(k.lx,{name:e,status:"notFound"},e))]})]},t.serverName)})]}),(0,r.jsx)(k.TM,{open:null!==c,title:e.confirmRemoveTitle,message:c?e.confirmRemoveMessage(c.agentName,c.serverName):"",confirmLabel:e.removeFromServer,cancelLabel:e.cancel,onConfirm:N,onCancel:()=>m(null),variant:"destructive"})]})}var E=s(14871),L=s(68459),K=s(21362),P=s(20171),I=s(22356),O=s(35550);function H({copy:e,mcp:t,buckets:s}){let[a,l]=(0,n.useState)("bySkill"),[i,o]=(0,n.useState)(""),[d,c]=(0,n.useState)("all"),[m,x]=(0,n.useState)("all"),[p,b]=(0,n.useState)("all"),[h,f]=(0,n.useState)(!1),[v,j]=(0,n.useState)(null),[y,N]=(0,n.useState)(null),w=(0,n.useMemo)(()=>(0,u.x3)(t.agents),[t.agents]),S=(0,n.useMemo)(()=>(0,u.gJ)(t.agents),[t.agents]),C=(0,n.useMemo)(()=>(0,u.ag)(t.skills,w),[t.skills,w]),A=(0,n.useMemo)(()=>t.skills.filter(e=>e.enabled).length,[t.skills]),z=(0,n.useMemo)(()=>t.skills.filter(e=>!e.enabled).length,[t.skills]),M=(0,n.useMemo)(()=>(0,u.IK)(t.skills).size,[t.skills]),T=(0,n.useMemo)(()=>C.filter(e=>"native"===e.kind).length,[C]),$=(0,n.useMemo)(()=>(0,u.Ri)(C,{query:i,source:d,status:m,capability:p}),[C,i,d,m,p]),D=(0,n.useMemo)(()=>(0,u.GU)($),[$]),R=(0,n.useMemo)(()=>["research","coding","docs","ops","memory"].map(t=>({key:t,label:e.groupLabels[t]})),[e.groupLabels]),E=(0,n.useMemo)(()=>y?C.find(e=>e.name===y)??null:null,[y,C]),L=(0,n.useMemo)(()=>y?t.skills.find(e=>e.name===y)??null:null,[y,t.skills]),K=(0,n.useCallback)(async e=>{await (0,I.n)("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"delete",name:e})}),window.dispatchEvent(new Event("mindos:skills-changed")),await t.refresh()},[t]),P=async s=>{if(h)return;let r=(0,u.G9)($,s);if(0===r.length)return void j(e.bulkNoChanges);f(!0),j(e.bulkRunning);let n=[];for(let e of r){let r=await t.toggleSkill(e,s);n.push({skillName:e,ok:r})}let a=(0,u.xR)(n);j(0===a.failed?e.bulkAllSucceeded(a.succeeded):e.bulkPartialFailed(a.succeeded,a.failed)),f(!1)};return(0,r.jsxs)("section",{className:"space-y-4 overflow-hidden","aria-label":e.title,children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsxs)("h2",{className:"text-sm font-semibold text-foreground flex items-center gap-2",children:[(0,r.jsx)("div",{className:"w-6 h-6 rounded-md bg-muted/50 flex items-center justify-center",children:(0,r.jsx)(g.A,{size:13,className:"text-muted-foreground/70","aria-hidden":"true"})}),e.title]}),(0,r.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-border p-0.5 bg-background",role:"tablist","aria-label":e.title,children:[(0,r.jsx)(k.KF,{active:"bySkill"===a,label:e.tabs.bySkill,onClick:()=>l("bySkill")}),(0,r.jsx)(k.KF,{active:"byAgent"===a,label:e.tabs.byAgent,onClick:()=>l("byAgent")})]})]}),(0,r.jsx)("div",{className:"rounded-xl border border-border/60 bg-gradient-to-r from-card to-card/80 p-3.5",children:(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-2 text-xs",children:[(0,r.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[(0,r.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--success)]","aria-hidden":"true"}),e.summaryEnabled(A)]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[(0,r.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-muted-foreground","aria-hidden":"true"}),e.summaryDisabled(z)]}),M>0&&(0,r.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[var(--amber)]",children:[(0,r.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--amber)]","aria-hidden":"true"}),e.summaryAttention(M)]}),T>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"text-muted-foreground/40","aria-hidden":"true",children:"|"}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[(0,r.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--amber)]","aria-hidden":"true"}),e.summaryNative(T)]})]})]})}),(0,r.jsx)(k.DO,{value:i,onChange:o,placeholder:e.searchPlaceholder,ariaLabel:e.searchPlaceholder,icon:F.A}),"bySkill"===a?(0,r.jsx)(_,{copy:e,filtered:$,grouped:D,allAgents:S,source:d,status:m,capability:p,capabilityOptions:R,bulkRunning:h,bulkMessage:v,onSourceChange:c,onStatusChange:x,onCapabilityChange:b,onBulkToggle:P,onToggleSkill:t.toggleSkill,onRefresh:t.refresh,onOpenDetail:N}):(0,r.jsx)(J,{copy:e,agents:S,skills:t.skills,crossAgentSkills:w,query:i,onToggleSkill:t.toggleSkill,onOpenDetail:N}),(0,r.jsx)(O.A,{open:null!==y,skillName:y,skill:L,agentNames:E?.agents??[],isNative:E?.kind==="native",nativeSourcePath:E?.kind==="native"&&E.agents.length>0?t.agents.find(e=>e.name===E.agents[0])?.installedSkillSourcePath:void 0,copy:e.skillPopover,onClose:()=>N(null),onToggle:t.toggleSkill,onDelete:K,onRefresh:t.refresh,allAgentNames:t.agents.filter(e=>e.present&&e.installed).map(e=>e.name)})]})}function _({copy:e,filtered:t,grouped:s,allAgents:a,source:l,status:i,capability:o,capabilityOptions:d,bulkRunning:c,bulkMessage:u,onSourceChange:m,onStatusChange:x,onCapabilityChange:g,onBulkToggle:p,onToggleSkill:b,onRefresh:h,onOpenDetail:f}){let[v,j]=(0,n.useState)(null),[y,N]=(0,n.useState)(null),[w,S]=(0,n.useState)(null),[C,A]=(0,n.useState)(null),[z,M]=(0,n.useState)(null),T=(0,n.useCallback)(()=>{j(null),A(e.manualSkillHint),setTimeout(()=>A(null),4e3)},[e.manualSkillHint]),F=(0,n.useCallback)(async t=>{N(null),M(t);try{await (0,I.n)("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"delete",name:t})}),A(e.skillDeleted),window.dispatchEvent(new Event("mindos:skills-changed")),await h()}catch{A(e.skillDeleteFailed)}finally{M(null),setTimeout(()=>A(null),3e3)}},[e.skillDeleted,e.skillDeleteFailed,h]),$=(0,n.useMemo)(()=>{let e=[];for(let[t,r]of Object.entries(s)){if(0===r.length)continue;let s=[...r].sort((e,t)=>e.kind!==t.kind?"mindos"===e.kind?-1:1:e.enabled!==t.enabled?e.enabled?-1:1:e.name.localeCompare(t.name));e.push([t,s])}return e},[s]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,r.jsxs)("div",{role:"group","aria-label":"Source",className:"flex items-center gap-0.5 rounded-md border border-border p-0.5 bg-background",children:[(0,r.jsx)(k.KF,{active:"all"===l,label:e.sourceAll,onClick:()=>m("all")}),(0,r.jsx)(k.KF,{active:"builtin"===l,label:e.sourceBuiltin,onClick:()=>m("builtin")}),(0,r.jsx)(k.KF,{active:"user"===l,label:e.sourceUser,onClick:()=>m("user")}),(0,r.jsx)(k.KF,{active:"native"===l,label:e.sourceNative,onClick:()=>m("native")})]}),(0,r.jsxs)("div",{role:"group","aria-label":"Status",className:"flex items-center gap-0.5 rounded-md border border-border p-0.5 bg-background",children:[(0,r.jsx)(k.KF,{active:"all"===i,label:e.statusAll,onClick:()=>x("all")}),(0,r.jsx)(k.KF,{active:"enabled"===i,label:e.statusEnabled,onClick:()=>x("enabled")}),(0,r.jsx)(k.KF,{active:"disabled"===i,label:e.statusDisabled,onClick:()=>x("disabled")}),(0,r.jsx)(k.KF,{active:"attention"===i,label:e.statusAttention,onClick:()=>x("attention")})]}),(0,r.jsxs)("div",{role:"group","aria-label":"Capability",className:"flex items-center gap-0.5 rounded-md border border-border p-0.5 bg-background",children:[(0,r.jsx)(k.KF,{active:"all"===o,label:e.capabilityAll,onClick:()=>g("all")}),d.map(e=>(0,r.jsx)(k.KF,{active:o===e.key,label:e.label,onClick:()=>g(e.key)},e.key))]})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(k.rA,{onClick:()=>void p(!0),disabled:c,busy:c,label:e.bulkEnableFiltered}),(0,r.jsx)(k.rA,{onClick:()=>void p(!1),disabled:c,busy:!1,label:e.bulkDisableFiltered}),(0,r.jsx)("span",{className:"text-2xs text-muted-foreground tabular-nums",children:e.resultCount(t.length)}),(0,r.jsx)(k.Mv,{message:u})]}),C&&(0,r.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-md border border-border bg-muted/50 px-3 py-2 text-xs text-muted-foreground animate-in fade-in duration-200",children:C}),0===$.length?(0,r.jsx)(k.pp,{message:e.noSkillsMatchFilter}):(0,r.jsx)(B,{sortedGrouped:$,allAgents:a,copy:e,pickerSkill:w,deleteBusy:z,onOpenDetail:f,onToggleSkill:b,setPickerSkill:S,setHintMessage:A,setConfirmSkillDelete:N,setConfirmAgentRemove:j}),(0,r.jsx)(k.TM,{open:null!==v,title:e.confirmRemoveAgentTitle,message:v?e.confirmRemoveAgentMessage(v.agentName,v.skillName):"",confirmLabel:e.removeAgentFromSkill,cancelLabel:e.cancelSkillAction,onConfirm:T,onCancel:()=>j(null),variant:"destructive"}),(0,r.jsx)(k.TM,{open:null!==y,title:e.confirmDeleteSkillTitle,message:y?e.confirmDeleteSkillMessage(y):"",confirmLabel:e.skillDeleteAction,cancelLabel:e.cancelSkillAction,onConfirm:()=>y&&void F(y),onCancel:()=>N(null),variant:"destructive"})]})}function B({sortedGrouped:e,allAgents:t,copy:s,pickerSkill:a,deleteBusy:l,onOpenDetail:i,onToggleSkill:o,setPickerSkill:d,setHintMessage:c,setConfirmSkillDelete:u,setConfirmAgentRemove:m}){let x=(0,n.useRef)(null),p=(0,n.useMemo)(()=>{let t=[];for(let[s,r]of e)t.push({type:"header",groupKey:s,count:r.length}),r.forEach((e,s)=>{t.push({type:"card",skill:e,isLast:s===r.length-1})});return t},[e]),b=(0,n.useCallback)((e,n)=>{if("header"===n.type)return(0,r.jsxs)("div",{className:"flex items-center gap-2 pt-3 pb-2.5",children:[(0,r.jsx)("span",{className:"w-1 h-4 rounded-full bg-[var(--amber)]/40","aria-hidden":"true"}),(0,r.jsx)("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider",children:s.groupLabels[n.groupKey]}),(0,r.jsxs)("span",{className:"text-2xs tabular-nums text-muted-foreground/50 font-medium",children:["(",n.count,")"]})]});let{skill:x}=n,p=t.filter(e=>!x.agents.includes(e.name)).map(e=>({key:e.key,name:e.name})),b="mindos"===x.kind&&"user"===x.source;return(0,r.jsx)("div",{className:n.isLast?"pb-0":"pb-3",children:(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 hover:shadow-[0_2px_8px_rgba(0,0,0,0.04)] transition-all duration-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,r.jsx)(g.A,{size:14,className:`shrink-0 ${x.enabled?"text-[var(--amber)]":"text-muted-foreground/50"}`,"aria-hidden":"true"}),(0,r.jsx)("button",{type:"button",onClick:()=>i(x.name),className:"text-sm font-medium text-foreground truncate hover:text-[var(--amber)] cursor-pointer transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded text-left",children:x.name}),(0,r.jsx)("span",{className:`text-2xs shrink-0 px-1.5 py-0.5 rounded ${"native"===x.kind||"builtin"===x.source?"bg-muted text-muted-foreground":"bg-[var(--amber-dim)] text-[var(--amber-text)]"}`,children:"native"===x.kind?s.sourceNative:"builtin"===x.source?s.sourceBuiltin:s.sourceUser})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[b&&(0,r.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),u(x.name)},disabled:l===x.name,className:"text-muted-foreground hover:text-destructive cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded p-1 disabled:opacity-50 transition-colors duration-150","aria-label":`${s.skillDeleteAction} ${x.name}`,children:(0,r.jsx)(L.A,{size:14})}),"mindos"===x.kind?(0,r.jsx)(P.lM,{size:"sm",checked:x.enabled,onChange:e=>void o(x.name,e)}):(0,r.jsx)("span",{className:"text-2xs text-muted-foreground/60 select-none","aria-label":"read-only",children:"—"}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)(k.ZC,{onClick:()=>d(a===x.name?null:x.name),label:s.addAgentToSkill,size:"sm"}),(0,r.jsx)(k.BK,{open:a===x.name,agents:p,emptyLabel:s.noAvailableAgentsForSkill,onSelect:()=>{d(null),c(s.manualSkillHint),setTimeout(()=>c(null),4e3)},onClose:()=>d(null)})]})]})]}),(0,r.jsx)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 text-2xs text-muted-foreground mb-3",children:(0,r.jsx)("span",{className:"tabular-nums",children:s.skillAgentCount(x.agents.length)})}),(0,r.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:x.agents.map(e=>(0,r.jsx)(k.lx,{name:e,onRemove:()=>m({agentName:e,skillName:x.name})},e))})]})})},[t,s,a,l,i,o,d,c,u,m]);return(0,r.jsx)(E.aY,{ref:x,style:{height:"calc(100vh - 340px)",minHeight:200},data:p,itemContent:b,overscan:200,increaseViewportBy:{top:100,bottom:100}})}function J({copy:e,agents:t,skills:s,crossAgentSkills:a,query:l,onToggleSkill:i,onOpenDetail:o}){let d=l.trim().toLowerCase(),c=(0,n.useMemo)(()=>d?t.filter(e=>!!`${e.name} ${e.key}`.toLowerCase().includes(d)||(e.installedSkillNames??[]).some(e=>e.toLowerCase().includes(d))):t,[t,d]),m=(0,n.useMemo)(()=>d?s.filter(e=>e.name.toLowerCase().includes(d)||e.description.toLowerCase().includes(d)):s,[s,d]);return 0===c.length?(0,r.jsx)(k.pp,{message:e.noAgentsYet}):(0,r.jsx)("div",{className:"space-y-3",children:c.map(t=>{let s=(0,u.yv)(t),n=(t.installedSkillNames??[]).sort(),a=t.configuredMcpServers??[],l=(t.present?m:[]).slice().sort((e,t)=>e.enabled!==t.enabled?e.enabled?-1:1:e.name.localeCompare(t.name)),d=n.length+l.length;return(0,r.jsx)(U,{agentKey:t.key,name:t.name,status:s,skillMode:t.skillMode,mcpCount:a.length,totalSkills:d,nativeSkills:n,mindosSkills:l,copy:e,onToggleSkill:i,onOpenDetail:o},t.key)})})}function U({agentKey:e,name:t,status:s,skillMode:a,mcpCount:l,totalSkills:i,nativeSkills:o,mindosSkills:d,copy:c,onToggleSkill:m,onOpenDetail:p}){let[b,h]=(0,n.useState)(!1),f=o.length>6,v=b?o:o.slice(0,6);return(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-card hover:shadow-[0_2px_8px_rgba(0,0,0,0.04)] transition-all duration-200 overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 p-4 pb-0",children:[(0,r.jsx)(k.lx,{name:t,status:s}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(x(),{href:`/agents/${encodeURIComponent(e)}`,className:"text-sm font-medium text-foreground hover:underline cursor-pointer truncate",children:t}),a&&(0,r.jsx)("span",{className:`text-2xs px-1.5 py-0.5 rounded shrink-0 ${"universal"===a?"bg-muted text-muted-foreground":"additional"===a?"bg-[var(--amber-dim)] text-[var(--amber-text)]":"bg-muted text-muted-foreground"}`,children:a})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2 mt-0.5 text-2xs text-muted-foreground",children:[(0,r.jsx)("span",{className:"tabular-nums",children:c.quickStatsMcp(l)}),(0,r.jsx)("span",{"aria-hidden":"true",children:"\xb7"}),(0,r.jsx)("span",{className:"tabular-nums",children:c.quickStatsSkills(i)})]})]})]}),(0,r.jsxs)("div",{className:"p-4 pt-3 space-y-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsxs)("p",{className:"text-2xs font-medium text-muted-foreground uppercase tracking-wider",children:[c.agentNativeSkills," ",(0,r.jsxs)("span",{className:"tabular-nums",children:["(",o.length,")"]})]}),f&&(0,r.jsx)("button",{type:"button",onClick:()=>h(!b),className:"text-2xs text-muted-foreground hover:text-foreground cursor-pointer flex items-center gap-0.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded transition-colors duration-150",children:b?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(j.A,{size:12}),c.collapseNative]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(K.A,{size:12}),c.showAllNative(o.length)]})})]}),0===o.length?(0,r.jsx)("p",{className:"text-2xs text-muted-foreground/60",children:"—"}):(0,r.jsxs)("div",{className:"space-y-0.5 max-h-[200px] overflow-y-auto",children:[v.map(e=>(0,r.jsxs)("button",{type:"button",onClick:()=>p(e),className:"w-full flex items-center gap-1.5 py-1 min-h-[28px] hover:bg-muted/30 -mx-1.5 px-1.5 rounded transition-colors duration-100 cursor-pointer text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,r.jsx)(g.A,{size:12,className:"shrink-0 text-muted-foreground/50","aria-hidden":"true"}),(0,r.jsx)("span",{className:"text-xs text-foreground truncate hover:text-[var(--amber)] transition-colors duration-150",children:e})]},e)),!b&&o.length>6&&(0,r.jsxs)("button",{type:"button",onClick:()=>h(!0),className:"w-full text-left text-2xs text-muted-foreground hover:text-foreground py-1 px-1.5 -mx-1.5 cursor-pointer transition-colors duration-150",children:["+",o.length-6]})]})]}),d.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("p",{className:"text-2xs font-medium text-muted-foreground uppercase tracking-wider mb-1.5",children:[c.agentMindosSkills," ",(0,r.jsxs)("span",{className:"tabular-nums",children:["(",d.filter(e=>e.enabled).length,"/",d.length,")"]})]}),(0,r.jsx)("div",{className:"space-y-0.5 max-h-[240px] overflow-y-auto",children:d.map(e=>(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2 py-1 min-h-[32px] hover:bg-muted/30 -mx-1.5 px-1.5 rounded transition-colors duration-100",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[(0,r.jsx)(g.A,{size:12,className:`shrink-0 ${e.enabled?"text-[var(--amber)]":"text-muted-foreground/50"}`,"aria-hidden":"true"}),(0,r.jsx)("button",{type:"button",onClick:()=>p(e.name),className:"text-xs text-foreground truncate hover:text-[var(--amber)] cursor-pointer transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded text-left",children:e.name}),(0,r.jsx)("span",{className:"text-2xs text-muted-foreground shrink-0",children:c.groupLabels[(0,u.$2)(e)]})]}),(0,r.jsx)(P.lM,{size:"sm",checked:e.enabled,onChange:t=>void m(e.name,t)})]},e.name))})]})]})]})}let W=(0,p.A)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);var Y=s(33591),V=s(32967),Q=s(96035),G=s(6296),Z=s(1164),q=s(9199),X=s(94514),ee=s(55243),et=s(6962),es=s(84980),er=s(73035),en=s(84755);let ea="mindos:acp-registry";function el(){let e=(0,n.useRef)(function(){try{let e=sessionStorage.getItem(ea);if(!e)return null;let t=JSON.parse(e);if(!Array.isArray(t.agents)||"number"!=typeof t.ts||Date.now()-t.ts>18e5)return null;return t}catch{return null}}()),[t,s]=(0,n.useState)(e.current?.agents??[]),[r,a]=(0,n.useState)(!e.current),[l,i]=(0,n.useState)(null),[o,d]=(0,n.useState)(0),c=(0,n.useRef)(!1),u=(0,n.useCallback)(()=>{d(e=>e+1)},[]);return(0,n.useEffect)(()=>{if(e.current&&Date.now()-e.current.ts<6e5&&0===o||c.current)return;c.current=!0;let r=t.length>0;r||a(!0),i(null);let n=!1;return fetch("/api/acp/registry").then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()}).then(t=>{if(n)return;let r=t.registry?.agents??[];try{sessionStorage.setItem(ea,JSON.stringify({agents:r,ts:Date.now()}))}catch{}e.current={agents:r,ts:Date.now()},s(r)}).catch(e=>{!n&&(r||i(e.message))}).finally(()=>{c.current=!1,n||a(!1)}),()=>{n=!0}},[o]),{agents:t,loading:r,error:l,retry:u}}var ei=s(2431),eo=s(27318),ed=s(66709);function ec({agents:e,discovering:t,error:s,onDiscover:a,onRemove:i}){let{t:o}=(0,l.Y)(),d=o.panels.agents,[c,u]=(0,n.useState)(!1),{delegations:m}=function(e){let[t,s]=(0,n.useState)([]),[r,a]=(0,n.useState)(!1),l=(0,n.useRef)(!0),i=(0,n.useCallback)(async()=>{a(!0);try{let e=await fetch("/api/a2a/delegations");if(!e.ok)return;let t=await e.json();l.current&&s(t.delegations??[])}catch{}finally{l.current&&a(!1)}},[]);return(0,n.useEffect)(()=>(l.current=!0,()=>{l.current=!1}),[]),(0,n.useEffect)(()=>{if(!e)return;i();let t=setInterval(i,5e3);return()=>clearInterval(t)},[e,i]),{delegations:t,loading:r,refresh:i}}(!0),x=el(),g=0===e.length&&!x.loading&&0===x.agents.length;return(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-sm font-medium text-foreground",children:d.a2aTabTitle}),(0,r.jsxs)("button",{type:"button",onClick:()=>u(!0),className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-lg bg-foreground text-background hover:bg-foreground/90 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,r.jsx)(v.A,{size:12}),d.a2aDiscover]})]}),g?(0,r.jsx)(eu,{onDiscover:()=>u(!0),onBrowseRegistry:x.retry}):(0,r.jsxs)(r.Fragment,{children:[0===e.length?(0,r.jsxs)("div",{className:"rounded-xl border border-dashed border-border/60 bg-gradient-to-b from-card/80 to-card/40 p-8 text-center",children:[(0,r.jsx)("div",{className:"w-12 h-12 rounded-2xl bg-muted/40 flex items-center justify-center mx-auto mb-3",children:(0,r.jsx)(v.A,{size:20,className:"text-muted-foreground/50","aria-hidden":"true"})}),(0,r.jsx)("p",{className:"text-sm font-medium text-muted-foreground mb-1",children:d.a2aTabEmpty}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground/70 leading-relaxed max-w-xs mx-auto",children:d.a2aTabEmptyHint})]}):(0,r.jsx)("div",{className:"space-y-2",children:e.map(e=>(0,r.jsx)(ej,{agent:e,onRemove:i,removeCopy:d.a2aRemoveAgent,skillsCopy:d.a2aSkills},e.id))}),(0,r.jsx)(ex,{}),(0,r.jsx)(eh,{delegations:m})]}),(0,r.jsx)(ed.A,{open:c,onClose:()=>u(!1),onDiscover:a,discovering:t,error:s})]})}function eu({onDiscover:e,onBrowseRegistry:t}){let{t:s}=(0,l.Y)(),n=s.panels.agents;return(0,r.jsxs)("div",{className:"rounded-xl border border-dashed border-border/60 bg-gradient-to-b from-card/80 to-card/40 p-12 text-center",children:[(0,r.jsx)("div",{className:"w-14 h-14 rounded-2xl bg-muted/40 flex items-center justify-center mx-auto mb-4",children:(0,r.jsx)(W,{size:22,className:"text-muted-foreground/50","aria-hidden":"true"})}),(0,r.jsx)("p",{className:"text-sm font-medium text-foreground mb-1",children:n.networkEmptyTitle}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground/70 leading-relaxed max-w-sm mx-auto mb-5",children:n.networkEmptyDesc}),(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2.5",children:[(0,r.jsxs)("button",{type:"button",onClick:e,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-lg bg-foreground text-background hover:bg-foreground/90 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,r.jsx)(v.A,{size:12}),n.networkDiscoverBtn]}),(0,r.jsxs)("button",{type:"button",onClick:t,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-lg border border-border text-foreground hover:bg-muted transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,r.jsx)(W,{size:12}),n.networkBrowseBtn]})]})]})}let em=[{labelKey:"acpQuickReview",icon:Y.A,promptSuffix:"review the code in this project"},{labelKey:"acpQuickFix",icon:V.A,promptSuffix:"find and fix bugs in this project"},{labelKey:"acpQuickExplain",icon:Q.A,promptSuffix:"explain the structure of this project"}];function ex(){let{t:e}=(0,l.Y)(),t=e.panels.agents,s=el(),a=(0,ei.z)(),i=function(){let[e,t]=(0,n.useState)({}),[s,r]=(0,n.useState)(!0),[a,l]=(0,n.useState)(!1),[i,o]=(0,n.useState)(null),[d,c]=(0,n.useState)(0),u=(0,n.useCallback)(()=>c(e=>e+1),[]);return(0,n.useEffect)(()=>{let e=!1;return r(!0),o(null),fetch("/api/acp/config").then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()}).then(s=>{e||t(s.agents??{})}).catch(t=>{e||o(t.message)}).finally(()=>{e||r(!1)}),()=>{e=!0}},[d]),{configs:e,loading:s,saving:a,error:i,save:(0,n.useCallback)(async(e,s)=>{l(!0),o(null);try{let r=await fetch("/api/acp/config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:e,config:s})});if(!r.ok)throw Error(`HTTP ${r.status}`);let n=await r.json();return t(n.agents??{}),!0}catch(e){return o(e.message),!1}finally{l(!1)}},[]),reset:(0,n.useCallback)(async e=>{l(!0),o(null);try{let s=await fetch("/api/acp/config",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:e})});if(!s.ok)throw Error(`HTTP ${s.status}`);let r=await s.json();return t(r.agents??{}),!0}catch(e){return o(e.message),!1}finally{l(!1)}},[]),refresh:u}}();if(s.loading)return(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("h3",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:t.acpSectionTitle}),(0,r.jsxs)("div",{className:"flex items-center justify-center py-6 gap-2",children:[(0,r.jsx)(G.A,{size:14,className:"animate-spin text-muted-foreground"}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:t.acpLoading})]})]});if(s.error)return(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("h3",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:t.acpSectionTitle}),(0,r.jsxs)("div",{className:"rounded-lg border border-border/60 bg-card/80 p-4 text-center",children:[(0,r.jsx)("p",{className:"text-xs text-muted-foreground mb-2",children:t.acpLoadFailed}),(0,r.jsx)("button",{type:"button",onClick:s.retry,className:"text-xs font-medium text-foreground hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm",children:t.acpRetry})]})]});if(0===s.agents.length)return null;let o=[],d=[];for(let e of s.agents){let t=a.installedAgents.find(t=>t.id===e.id);if(t)o.push({agent:e,info:t});else{let t=a.notInstalledAgents.find(t=>t.id===e.id);d.push({agent:e,installCmd:t?.installCmd??null,packageName:t?.packageName??e.packageName??null})}}return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h3",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:t.acpSectionTitle}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>a.refresh(),disabled:a.loading,className:"inline-flex items-center gap-1 px-2 py-1 text-2xs font-medium rounded-md border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-50",children:[(0,r.jsx)(T.A,{size:10,className:a.loading?"animate-spin":""}),t.acpScan]}),(0,r.jsx)("span",{className:"text-2xs text-muted-foreground/60",children:t.acpSectionDesc(s.agents.length)})]})]}),o.length>0&&(0,r.jsx)("div",{className:"space-y-2",children:o.map(({agent:e,info:t})=>(0,r.jsx)(ep,{agent:e,installed:t,installCmd:null,packageName:null,detectionDone:!a.loading,onInstalled:a.refresh,acpConfig:i},e.id))}),d.length>0&&(0,r.jsx)("div",{className:"space-y-1",children:d.map(({agent:e,installCmd:t,packageName:s})=>(0,r.jsx)(eb,{agent:e,installCmd:t,packageName:s,detectionDone:!a.loading,onInstalled:a.refresh},e.id))})]})}let eg={npx:"bg-[var(--amber)]/15 text-[var(--amber)]",binary:"bg-muted text-muted-foreground",uvx:"bg-[var(--success)]/15 text-[var(--success)]",stdio:"bg-muted text-muted-foreground"};function ep({agent:e,installed:t,detectionDone:s,acpConfig:a}){let{t:i}=(0,l.Y)(),o=i.panels.agents,[d,c]=(0,n.useState)(!1),[u,m]=(0,n.useState)(""),[x,p]=(0,n.useState)(""),[b,h]=(0,n.useState)("idle"),f={npx:o.acpTransportNpx,binary:o.acpTransportBinary,uvx:o.acpTransportUvx,stdio:o.acpTransportStdio},v=!!t,j=t?.resolvedCommand,y=j?.source==="user-override"?o.acpConfigSourceUser:j?.source==="descriptor"?o.acpConfigSourceBuiltin:o.acpConfigSourceRegistry,N=(0,n.useCallback)(()=>{!d&&j&&(m(j.cmd),p(j.args.join(" "))),c(e=>!e),h("idle")},[d,j]),k=(0,n.useCallback)(async()=>{let t=x.trim()?x.trim().split(/\s+/):[];await a.save(e.id,{command:u.trim()||void 0,args:t.length>0?t:void 0})&&(h("saved"),setTimeout(()=>h("idle"),2e3))},[a,e.id,u,x]),w=(0,n.useCallback)(async()=>{await a.reset(e.id),h("idle"),c(!1)},[a,e.id]);return(0,r.jsxs)("div",{className:"rounded-xl border border-[var(--amber)]/20 bg-card p-3 hover:border-[var(--amber)]/40 transition-all duration-150",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)("div",{className:"w-8 h-8 rounded-lg bg-[var(--amber)]/10 flex items-center justify-center shrink-0",children:(0,r.jsx)(W,{size:14,className:"text-[var(--amber)]"})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-foreground truncate",children:e.name}),e.version&&(0,r.jsxs)("span",{className:"text-2xs text-muted-foreground/60 shrink-0",children:["v",e.version]})]}),e.description&&(0,r.jsx)("p",{className:"text-2xs text-muted-foreground truncate",children:e.description})]}),(0,r.jsx)("span",{className:`text-2xs px-1.5 py-0.5 rounded font-medium shrink-0 ${eg[e.transport]??eg.stdio}`,children:f[e.transport]??e.transport}),s&&(0,r.jsx)("span",{className:"text-2xs px-1.5 py-0.5 rounded font-medium shrink-0 bg-[var(--success)]/15 text-[var(--success)]",children:o.acpReady}),(0,r.jsx)("button",{type:"button",onClick:N,className:"p-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",title:o.acpConfigToggle,"aria-expanded":d,children:(0,r.jsx)(Z.A,{size:13})}),(0,r.jsxs)("button",{type:"button",onClick:()=>{(0,eo.NH)("","user",{id:e.id,name:e.name})},className:"inline-flex items-center gap-1 px-2.5 py-1 text-2xs font-medium rounded-md border border-[var(--amber)] text-[var(--amber)] hover:bg-[var(--amber)]/10 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring cursor-pointer",children:[(0,r.jsx)(g.A,{size:10}),o.acpUseAgent]})]}),d&&j&&(0,r.jsxs)("div",{className:"mt-2.5 pt-2.5 border-t border-border/40 space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("label",{className:"text-2xs text-muted-foreground w-12 shrink-0",children:o.acpConfigCommand}),(0,r.jsx)("input",{type:"text",value:u,onChange:e=>{m(e.target.value),h("idle")},className:"flex-1 rounded-md border border-border bg-background text-foreground text-xs font-mono px-2 py-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",placeholder:j.cmd})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("label",{className:"text-2xs text-muted-foreground w-12 shrink-0",children:o.acpConfigArgs}),(0,r.jsx)("input",{type:"text",value:x,onChange:e=>{p(e.target.value),h("idle")},className:"flex-1 rounded-md border border-border bg-background text-foreground text-xs font-mono px-2 py-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",placeholder:j.args.join(" ")})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2 text-2xs text-muted-foreground",children:[(0,r.jsxs)("span",{children:[o.acpConfigSource,":"]}),(0,r.jsx)("span",{className:`px-1.5 py-0.5 rounded font-medium ${"user-override"===j.source?"bg-[var(--amber)]/15 text-[var(--amber)]":"bg-muted text-muted-foreground"}`,children:y}),(0,r.jsx)("span",{className:"text-muted-foreground/50",children:"|"}),(0,r.jsxs)("span",{children:[o.acpConfigPath,": ",(0,r.jsx)("span",{className:"font-mono",children:t?.binaryPath})]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-1",children:[a.configs[e.id]&&(0,r.jsxs)("button",{type:"button",onClick:w,className:"inline-flex items-center gap-1 px-2 py-1 text-2xs font-medium rounded-md border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,r.jsx)(q.A,{size:10}),o.acpConfigReset]}),(0,r.jsx)("button",{type:"button",onClick:k,disabled:a.saving,className:"inline-flex items-center gap-1 px-2.5 py-1 text-2xs font-medium rounded-md bg-[var(--amber)] text-[var(--amber-foreground)] hover:bg-[var(--amber)]/90 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-50",children:"saved"===b?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(X.A,{size:10})," ",o.acpConfigSaved]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(ee.A,{size:10})," ",o.acpConfigSave]})})]})]}),v&&!d&&(0,r.jsx)("div",{className:"mt-2.5 pt-2 border-t border-border/40 flex items-center gap-1.5 flex-wrap",children:em.map(t=>{let s=t.icon;return(0,r.jsxs)("button",{type:"button",onClick:()=>{(0,eo.NH)(t.promptSuffix,"user",{id:e.id,name:e.name})},className:"inline-flex items-center gap-1 px-2 py-0.5 text-2xs font-medium rounded-md bg-muted/60 text-muted-foreground hover:bg-muted hover:text-foreground border border-border/50 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,r.jsx)(s,{size:10}),o[t.labelKey]]},t.labelKey)})})]})}function eb({agent:e,installCmd:t,packageName:s,detectionDone:a,onInstalled:i}){let{t:o}=(0,l.Y)(),d=o.panels.agents,[c,u]=(0,n.useState)("idle"),m=async()=>{if(s&&"installing"!==c){u("installing");try{if(!(await fetch("/api/acp/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:e.id,packageName:s})})).ok)return void u("error");await new Promise(e=>setTimeout(e,8e3)),i(),u("done")}catch{u("error")}}};return(0,r.jsx)("div",{className:"group rounded-lg border border-border/60 bg-card/60 px-3 py-2 hover:border-border transition-all duration-150",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("div",{className:"w-6 h-6 rounded-md bg-muted/40 flex items-center justify-center shrink-0",children:(0,r.jsx)(W,{size:11,className:"text-muted-foreground/60"})}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:e.name})}),a&&(0,r.jsx)("span",{className:"text-2xs px-1.5 py-0.5 rounded font-medium shrink-0 bg-muted text-muted-foreground/60",children:d.acpNotInstalled}),a&&s&&(0,r.jsx)("button",{type:"button",disabled:"installing"===c,onClick:m,className:"inline-flex items-center gap-1 px-2 py-0.5 text-2xs font-medium rounded-md border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-50",title:t?d.acpInstallHint(t):void 0,children:"installing"===c?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(G.A,{size:10,className:"animate-spin"})," ",d.acpInstalling]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(et.A,{size:10})," ",d.acpInstall]})})]})})}function eh({delegations:e}){let{t}=(0,l.Y)(),s=t.panels.agents;return(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("h3",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:s.a2aDelegations}),0===e.length?(0,r.jsx)("p",{className:"text-xs text-muted-foreground/70 py-3",children:s.a2aDelegationsEmpty}):(0,r.jsx)("div",{className:"space-y-1.5",children:e.map(e=>(0,r.jsx)(ev,{record:e},e.id))})]})}let ef={pending:"bg-muted text-muted-foreground",completed:"bg-[var(--success)]/15 text-[var(--success)]",failed:"bg-[var(--error)]/15 text-[var(--error)]"};function ev({record:e}){let{t}=(0,l.Y)(),s=t.panels.agents,n={pending:s.a2aDelegationPending,completed:s.a2aDelegationCompleted,failed:s.a2aDelegationFailed},a=e.completedAt?function(e,t){let s=t.getTime()-e.getTime();if(s<1e3)return`${s}ms`;let r=Math.round(s/1e3);if(r<60)return`${r}s`;let n=Math.floor(r/60),a=r%60;return a>0?`${n}m ${a}s`:`${n}m`}(new Date(e.startedAt),new Date(e.completedAt)):null;return(0,r.jsxs)("div",{className:"rounded-lg border border-border/60 bg-card/80 px-3 py-2.5 flex items-center gap-2.5",children:[(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("p",{className:"text-xs font-medium text-foreground truncate",children:e.agentName}),(0,r.jsx)("p",{className:"text-2xs text-muted-foreground truncate",title:e.message,children:e.message.length>60?e.message.slice(0,60)+"...":e.message})]}),(0,r.jsx)("span",{className:`text-2xs px-1.5 py-0.5 rounded font-medium shrink-0 ${ef[e.status]}`,children:n[e.status]}),a&&(0,r.jsxs)("span",{className:"text-2xs text-muted-foreground/60 shrink-0 flex items-center gap-0.5",children:[(0,r.jsx)(es.A,{size:10,"aria-hidden":"true"}),a]})]})}function ej({agent:e,onRemove:t,removeCopy:s,skillsCopy:n}){let a=e.reachable?er.A:en.A,l=e.reachable?"text-[var(--success)]":"text-muted-foreground/50";return(0,r.jsxs)("div",{className:"group rounded-xl border border-border bg-card p-3.5 hover:border-[var(--amber)]/30 transition-all duration-150",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)("div",{className:"w-8 h-8 rounded-lg bg-muted/50 flex items-center justify-center shrink-0",children:(0,r.jsx)(v.A,{size:14,className:"text-muted-foreground"})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-foreground truncate",children:e.card.name}),(0,r.jsx)("p",{className:"text-2xs text-muted-foreground truncate",children:e.card.description})]}),(0,r.jsx)(a,{size:13,className:l,"aria-hidden":"true"}),(0,r.jsx)("button",{type:"button",onClick:()=>t(e.id),className:"p-1.5 rounded-md text-muted-foreground/50 hover:text-error hover:bg-error/10 transition-colors opacity-0 group-hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:opacity-100","aria-label":s,title:s,children:(0,r.jsx)(L.A,{size:12})})]}),e.card.skills.length>0&&(0,r.jsxs)("div",{className:"mt-2.5 pt-2 border-t border-border/40 flex items-center gap-1.5",children:[(0,r.jsx)(g.A,{size:11,className:"text-muted-foreground/60 shrink-0","aria-hidden":"true"}),(0,r.jsxs)("span",{className:"text-2xs text-muted-foreground",children:[n,": ",e.card.skills.length]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-1 ml-1",children:[e.card.skills.slice(0,3).map(e=>(0,r.jsx)("span",{className:"text-2xs px-1.5 py-0.5 rounded bg-muted/80 text-muted-foreground border border-border/50",title:e.description,children:e.name},e.id)),e.card.skills.length>3&&(0,r.jsxs)("span",{className:"text-2xs text-muted-foreground/60",children:["+",e.card.skills.length-3]})]})]})]})}var ey=s(50538);function eN(){let[e,t]=(0,n.useState)([]),[s,a]=(0,n.useState)(!0),[l,i]=(0,n.useState)(null),o=(0,n.useCallback)(async()=>{try{a(!0);let e=await fetch("/api/acp/session");if(!e.ok)throw Error(`Failed to fetch sessions: ${e.status}`);let s=await e.json();t(s.sessions??[]),i(null)}catch(e){i(e.message)}finally{a(!1)}},[]);(0,n.useEffect)(()=>{o();let e=()=>{"visible"===document.visibilityState&&o()};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[o]);let d=(0,n.useCallback)(async e=>{try{await fetch("/api/acp/session",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e})}),t(t=>t.filter(t=>t.id!==e))}catch(e){console.error("Failed to close session:",e)}},[]);return s?(0,r.jsx)("div",{className:"space-y-3 animate-pulse",children:Array.from({length:3}).map((e,t)=>(0,r.jsx)("div",{className:"rounded-lg border border-border bg-card p-4",children:(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"w-8 h-8 rounded-full bg-muted"}),(0,r.jsxs)("div",{className:"flex-1 space-y-2",children:[(0,r.jsx)("div",{className:"h-4 w-32 bg-muted rounded"}),(0,r.jsx)("div",{className:"h-3 w-48 bg-muted rounded"})]})]})},t))}):l?(0,r.jsxs)("div",{className:"rounded-lg border border-border bg-card p-6 text-center",children:[(0,r.jsx)("p",{className:"text-sm text-muted-foreground mb-3",children:l}),(0,r.jsx)("button",{onClick:o,className:"text-sm text-[var(--amber)] hover:underline",children:"Retry"})]}):0===e.length?(0,r.jsxs)("div",{className:"rounded-lg border border-border bg-card p-8 text-center",children:[(0,r.jsx)(ey.A,{size:32,className:"mx-auto mb-3 text-muted-foreground/40"}),(0,r.jsx)("p",{className:"text-sm font-medium text-foreground mb-1",children:"No active sessions"}),(0,r.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Sessions appear here when you chat with ACP agents.",(0,r.jsx)("br",{}),"Select an agent from the Network tab and send a message to start."]})]}):(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,r.jsxs)("p",{className:"text-xs text-muted-foreground font-medium uppercase tracking-wider",children:["Active Sessions (",e.length,")"]}),(0,r.jsx)("button",{onClick:o,className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Refresh"})]}),e.map(e=>{var t;let s;return(0,r.jsx)("div",{className:"group rounded-lg border border-border bg-card hover:border-[var(--amber)]/30 transition-colors p-3.5",children:(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,r.jsx)("span",{className:`inline-block w-2 h-2 rounded-full ${"active"===e.state?"bg-[var(--success)]":"error"===e.state?"bg-[var(--error)]":"bg-muted-foreground/40"}`}),(0,r.jsx)("span",{className:"text-sm font-medium text-foreground truncate",children:e.agentId}),(0,r.jsx)("span",{className:"text-2xs text-muted-foreground/60 px-1.5 py-0.5 rounded bg-muted/40",children:e.state})]}),e.cwd&&(0,r.jsx)("p",{className:"text-xs text-muted-foreground truncate font-mono",children:e.cwd}),(0,r.jsx)("p",{className:"text-2xs text-muted-foreground/60 mt-1",children:(t=e.lastActivityAt,(s=Date.now()-new Date(t).getTime())<6e4?"just now":s<36e5?`${Math.floor(s/6e4)}m ago`:s<864e5?`${Math.floor(s/36e5)}h ago`:`${Math.floor(s/864e5)}d ago`)})]}),(0,r.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,r.jsx)("button",{onClick:()=>d(e.id),className:"p-1.5 rounded-md hover:bg-muted/60 text-muted-foreground hover:text-[var(--error)] transition-colors",title:"Close session",children:(0,r.jsx)(L.A,{size:14})})})]})},e.id)})]})}var ek=s(73321),ew=s(12651),eS=s(13545),eC=s(10762),eA=s(42833);function ez({op:e,copy:t}){let s=(0,ek.useRouter)(),{locale:a}=(0,l.Y)(),[i,o]=(0,n.useState)(!1),d=(0,eA.wT)(e.tool);eA.zR[d];let c=(0,eA.oK)(e.params);return(0,r.jsxs)("div",{style:{background:"var(--card)",border:"1px solid var(--border)",borderRadius:10,overflow:"hidden",marginBottom:8},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 14px",cursor:"pointer",userSelect:"none"},onClick:()=>o(e=>!e),children:[(0,r.jsx)(eA.g,{kind:d,locale:a}),c&&(0,r.jsx)("span",{style:{fontSize:"0.72rem",color:"var(--amber)",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",cursor:"pointer"},onClick:e=>{e.stopPropagation(),s.push("/view/"+c.split("/").map(encodeURIComponent).join("/"))},title:c,className:"font-display",children:c}),(0,r.jsxs)("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8,flexShrink:0},children:[e.agentName&&(0,r.jsx)("span",{className:"font-display",style:{fontSize:"0.62rem",fontWeight:500,padding:"1px 6px",borderRadius:999,background:"var(--muted)",color:"var(--muted-foreground)",whiteSpace:"nowrap",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis"},title:e.agentName,children:e.agentName.length>30?e.agentName.slice(0,30)+"...":e.agentName}),"ok"===e.result?(0,r.jsx)(ew.A,{size:13,style:{color:"var(--success)"}}):(0,r.jsx)(eS.A,{size:13,style:{color:"var(--error)"}}),(0,r.jsx)("span",{className:"font-display",style:{fontSize:"0.68rem",color:"var(--muted-foreground)",opacity:.6},title:(0,eA.$2)(e.ts),children:(0,eA.MZ)(e.ts)}),(0,r.jsx)(j.A,{size:12,style:{color:"var(--muted-foreground)",transform:i?"rotate(180deg)":"none",transition:"transform .15s"}})]})]}),i&&(0,r.jsxs)("div",{style:{borderTop:"1px solid var(--border)",padding:"10px 14px",background:"var(--background)"},children:[(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4,marginBottom:8*!!e.message},children:Object.entries(e.params).map(([e,t])=>(0,r.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"flex-start"},children:[(0,r.jsx)("span",{className:"font-display",style:{fontSize:"0.68rem",color:"var(--muted-foreground)",opacity:.7,flexShrink:0,minWidth:80},children:e}),(0,r.jsx)("span",{className:"font-display",style:{fontSize:"0.72rem",color:"var(--foreground)",wordBreak:"break-all",lineHeight:1.5},children:function(e,t=120){let s="string"==typeof e?e:JSON.stringify(e);return s.length>t?s.slice(0,t)+"…":s}(t)})]},e))}),e.message&&(0,r.jsx)("div",{className:"font-display",style:{marginTop:6,padding:"5px 9px",borderRadius:5,fontSize:"0.72rem",background:"error"===e.result?"rgba(200,80,80,0.08)":"rgba(122,173,128,0.08)",color:"error"===e.result?"var(--error)":"var(--success)",border:`1px solid ${"error"===e.result?"rgba(200,80,80,0.2)":"rgba(122,173,128,0.2)"}`},children:e.message}),e.agentName&&(0,r.jsxs)("div",{className:"font-display",style:{marginTop:6,fontSize:"0.68rem",color:"var(--muted-foreground)"},children:[t?.agentLabel??"Agent",": ",(0,r.jsx)("span",{style:{color:"var(--foreground)",fontWeight:500},children:e.agentName})]}),(0,r.jsx)("div",{className:"font-display",style:{marginTop:6,fontSize:"0.65rem",color:"var(--muted-foreground)",opacity:.5},children:(0,eA.$2)(e.ts)})]})]})}let eM=["all","write","create","delete","read","search"];function eT(){let{t:e,locale:t}=(0,l.Y)(),[s,a]=(0,n.useState)([]),[i,o]=(0,n.useState)(!0),[d,c]=(0,n.useState)("all");(0,n.useEffect)(()=>{let e=!1,t=()=>{fetch("/api/agent-activity?limit=200").then(e=>e.json()).then(t=>{e||a(t.events??[])}).catch(()=>{}).finally(()=>{e||o(!1)})};t();let s=()=>{"visible"===document.visibilityState&&t()};return document.addEventListener("visibilitychange",s),()=>{e=!0,document.removeEventListener("visibilitychange",s)}},[]);let u=(0,n.useMemo)(()=>"all"===d?s:s.filter(e=>(0,eA.wT)(e.tool)===d),[s,d]),m=(0,n.useMemo)(()=>{let e={all:s.length};for(let t of s){let s=(0,eA.wT)(t.tool);e[s]=(e[s]??0)+1}return e},[s]),x=e.agentsContent?.activity;return i?(0,r.jsx)("div",{className:"flex items-center justify-center py-16 text-muted-foreground/50",children:(0,r.jsx)("div",{className:"animate-pulse text-sm font-display",children:x?.loading??"Loading activity..."})}):0===s.length?(0,r.jsxs)("div",{className:"font-display",style:{padding:"3rem 1rem",textAlign:"center",color:"var(--muted-foreground)",fontSize:12},children:[(0,r.jsx)(eC.A,{size:28,style:{margin:"0 auto 10px",opacity:.3}}),(0,r.jsx)("p",{children:x?.empty??"No agent operations logged yet."}),(0,r.jsx)("p",{style:{marginTop:6,opacity:.6,fontSize:11},children:x?.emptyHint??"Operations from connected agents will appear here."})]}):(0,r.jsxs)("div",{style:{maxWidth:760,margin:"0 auto",padding:"1.5rem 1rem"},children:[(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:"1.2rem",flexWrap:"wrap"},children:eM.map(e=>{let s=m[e]??0;if("all"!==e&&!s)return null;let n="all"!==e?eA.zR[e]:void 0,a=d===e;return(0,r.jsxs)("button",{onClick:()=>c(e),className:"font-display",style:{display:"inline-flex",alignItems:"center",gap:4,padding:"3px 10px",borderRadius:999,fontSize:"0.7rem",cursor:"pointer",border:"none",background:a?n?.bg??"var(--accent)":"var(--muted)",color:a?n?.text??"var(--foreground)":"var(--muted-foreground)",outline:a?`1px solid ${n?.border??"var(--border)"}`:"none",transition:"all .1s"},children:["all"!==e&&(0,r.jsx)(eA.hf,{kind:e,size:10}),"all"===e?t?.startsWith("zh")?"全部":"All":eA.CF[t?.startsWith("zh")?"zh":"en"][e]," ",(0,r.jsxs)("span",{style:{opacity:.6},children:["(",s,")"]})]},e)})}),(0,r.jsx)("div",{children:u.map((e,t)=>(0,r.jsx)(ez,{op:e,copy:x},e.id??t))})]})}function eF({tab:e}){let{t}=(0,l.Y)(),s=t.agentsContent,m=(0,i.kr)(),x=(0,o.V)(),g=(0,n.useMemo)(()=>"activity"===e?{title:s.navActivity??"Activity",subtitle:s.activitySubtitle??"Agent operations audit log."}:"sessions"===e?{title:"Sessions",subtitle:"Active ACP agent sessions."}:"a2a"===e?{title:s.navNetwork,subtitle:s.a2aTabEmptyHint}:"skills"===e?{title:s.navSkills,subtitle:s.skills.capabilityGroups}:"mcp"===e?{title:s.navMcp,subtitle:s.mcp.connectionGraph}:{title:s.title,subtitle:s.subtitle},[s,e]),p=(0,n.useMemo)(()=>(0,u.$t)(m.agents),[m.agents]),b=(0,n.useMemo)(()=>(0,u.zK)({mcpRunning:!!m.status?.running,detectedCount:p.detected.length,notFoundCount:p.notFound.length,allSkillsDisabled:m.skills.length>0&&m.skills.every(e=>!e.enabled),copy:s.overview}),[m.skills,m.status?.running,p.detected.length,p.notFound.length,s.overview]),h=(0,n.useMemo)(()=>m.skills.filter(e=>e.enabled).length,[m.skills]),f=async e=>{let t=m.agents.find(t=>t.key===e);if(!t)return;let s=(0,c.$k)(t,m.status,t.preferredTransport);await (0,d.l)(s.snippet)&&a.oR.copy()};return(0,r.jsxs)("div",{className:"content-width px-4 md:px-6 py-8 md:py-10",children:[(0,r.jsxs)("header",{className:"mb-6",children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold tracking-tight font-display text-foreground",children:g.title}),(0,r.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:g.subtitle})]}),m.loading&&"overview"===e&&(0,r.jsx)(e$,{}),!m.loading&&"overview"===e&&(0,r.jsx)(S,{copy:s.overview,buckets:p,riskQueue:b,mcpRunning:!!m.status?.running,mcpPort:m.status?.port??null,mcpToolCount:m.status?.toolCount??0,enabledSkillCount:h,allAgents:m.agents,pulseCopy:s.workspacePulse,a2aCount:x.agents.length}),"mcp"===e&&(0,r.jsx)($,{copy:{...s.mcp,status:s.status},mcp:m,buckets:p,copyState:null,onCopySnippet:f}),"skills"===e&&(0,r.jsx)(H,{copy:s.skills,mcp:m,buckets:p}),"a2a"===e&&(0,r.jsx)(ec,{agents:x.agents,discovering:x.discovering,error:x.error,onDiscover:x.discover,onRemove:x.remove}),"sessions"===e&&(0,r.jsx)(eN,{}),"activity"===e&&(0,r.jsx)(eT,{})]})}function e$(){return(0,r.jsxs)("div",{className:"space-y-5 animate-pulse","aria-busy":"true","aria-label":"Loading",children:[(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-card overflow-hidden",children:[(0,r.jsx)("div",{className:"px-4 py-2.5 border-b border-border bg-muted/10",children:(0,r.jsx)("div",{className:"h-4 w-32 bg-muted rounded"})}),(0,r.jsx)("div",{className:"grid grid-cols-3 md:grid-cols-6 divide-x divide-border",children:Array.from({length:6}).map((e,t)=>(0,r.jsxs)("div",{className:"px-3 py-3.5 flex flex-col items-center gap-2",children:[(0,r.jsx)("div",{className:"h-3 w-16 bg-muted rounded"}),(0,r.jsx)("div",{className:"h-5 w-8 bg-muted rounded"})]},t))})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:Array.from({length:2}).map((e,t)=>(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 flex items-start gap-3.5",children:[(0,r.jsx)("div",{className:"w-10 h-10 rounded-lg bg-muted"}),(0,r.jsxs)("div",{className:"flex-1 space-y-2",children:[(0,r.jsx)("div",{className:"h-4 w-20 bg-muted rounded"}),(0,r.jsx)("div",{className:"h-3 w-full bg-muted rounded"})]})]},t))}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,r.jsx)("div",{className:"h-4 w-24 bg-muted rounded"}),(0,r.jsx)("div",{className:"h-3 w-16 bg-muted rounded"})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:Array.from({length:6}).map((e,t)=>(0,r.jsxs)("div",{className:"rounded-xl border border-border bg-card p-3.5",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 mb-3",children:[(0,r.jsx)("div",{className:"w-7 h-7 rounded-full bg-muted"}),(0,r.jsx)("div",{className:"flex-1 h-4 bg-muted rounded"}),(0,r.jsx)("div",{className:"h-4 w-16 bg-muted rounded"})]}),(0,r.jsx)("div",{className:"h-3 w-2/3 bg-muted rounded"})]},t))})]})]})}},64616:(e,t,s)=>{Promise.resolve().then(s.bind(s,64435))},66709:(e,t,s)=>{"use strict";s.d(t,{A:()=>u});var r=s(95155),n=s(12115),a=s(92451),l=s(33210),i=s(6296),o=s(13545),d=s(12651),c=s(91053);function u({open:e,onClose:t,onDiscover:s,discovering:u,error:m}){let{t:x}=(0,c.Y)(),g=x.panels.agents,[p,b]=(0,n.useState)(""),[h,f]=(0,n.useState)(null);if(!e)return null;let v=async()=>{if(!p.trim()||u)return;f(null);let e=await s(p.trim());e&&f(e)},j=()=>{b(""),f(null),t()};return(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40",onClick:j,children:(0,r.jsxs)("div",{className:"bg-popover border border-border rounded-xl shadow-lg w-full max-w-md mx-4 p-5",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":g.a2aDiscover,children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,r.jsxs)("h3",{className:"text-sm font-semibold text-foreground flex items-center gap-2",children:[(0,r.jsx)(a.A,{size:15,className:"text-muted-foreground"}),g.a2aDiscover]}),(0,r.jsx)("button",{type:"button",onClick:j,className:"p-1 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":"Close",children:(0,r.jsx)(l.A,{size:14})})]}),(0,r.jsx)("p",{className:"text-2xs text-muted-foreground mb-3",children:g.a2aDiscoverHint}),(0,r.jsxs)("div",{className:"flex gap-2 mb-4",children:[(0,r.jsx)("input",{type:"url",value:p,onChange:e=>b(e.target.value),onKeyDown:e=>{"Enter"===e.key&&v(),"Escape"===e.key&&t()},placeholder:g.a2aDiscoverPlaceholder,disabled:u,className:"flex-1 px-3 py-2 text-xs rounded-lg border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50",autoFocus:!0}),(0,r.jsxs)("button",{type:"button",onClick:v,disabled:u||!p.trim(),className:"px-3 py-2 text-xs font-medium rounded-lg bg-foreground text-background hover:bg-foreground/90 disabled:opacity-50 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring flex items-center gap-1.5 shrink-0",children:[u&&(0,r.jsx)(i.A,{size:12,className:"animate-spin"}),u?g.a2aDiscovering:g.a2aDiscover]})]}),m&&!h&&(0,r.jsx)("div",{className:"rounded-lg border border-error/30 bg-error/5 px-3 py-2.5 mb-3",children:(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(o.A,{size:14,className:"text-error mt-0.5 shrink-0"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-xs font-medium text-error",children:g.a2aDiscoverFailed}),(0,r.jsx)("p",{className:"text-2xs text-muted-foreground mt-0.5",children:g.a2aDiscoverFailedHint})]})]})}),h&&(0,r.jsx)("div",{className:"rounded-lg border border-success/30 bg-success/5 px-3 py-2.5",children:(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(d.A,{size:14,className:"text-success mt-0.5 shrink-0"}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-xs font-medium text-success mb-1.5",children:g.a2aDiscoverSuccess}),(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsxs)("p",{className:"text-xs font-medium text-foreground truncate",title:h.card.name,children:[h.card.name,(0,r.jsxs)("span",{className:"text-2xs text-muted-foreground ml-1.5",children:["v",h.card.version]})]}),(0,r.jsx)("p",{className:"text-2xs text-muted-foreground truncate",title:h.card.description,children:h.card.description}),h.card.skills.length>0&&(0,r.jsxs)("div",{className:"mt-1.5",children:[(0,r.jsxs)("p",{className:"text-2xs text-muted-foreground mb-1",children:[g.a2aSkills,":"]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:h.card.skills.map(e=>(0,r.jsx)("span",{className:"text-2xs px-1.5 py-0.5 rounded bg-muted/80 text-muted-foreground border border-border/50",title:e.description,children:e.name},e.id))})]}),(0,r.jsxs)("p",{className:"text-2xs text-muted-foreground mt-1 truncate",title:h.endpoint,children:[g.a2aEndpoint,": ",h.endpoint]})]})]})]})})]})})}}},e=>{e.O(0,[6926,9602,9371,1053,4563,8663,8441,3794,7358],()=>e(e.s=64616)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[728],{1934:(e,t,s)=>{"use strict";s.d(t,{v:()=>l});var r=s(12115);let a=e=>{let t,s=new Set,r=(e,r)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=r?r:"object"!=typeof a||null===a)?a:Object.assign({},t,a),s.forEach(s=>s(t,e))}},a=()=>t,i={setState:r,getState:a,getInitialState:()=>l,subscribe:e=>(s.add(e),()=>s.delete(e))},l=t=e(r,a,i);return i},i=e=>{let t=e?a(e):a,s=e=>(function(e,t=e=>e){let s=r.useSyncExternalStore(e.subscribe,r.useCallback(()=>t(e.getState()),[e,t]),r.useCallback(()=>t(e.getInitialState()),[e,t]));return r.useDebugValue(s),s})(t,e);return Object.assign(s,t),s},l=e=>e?i(e):i},4235:(e,t,s)=>{"use strict";s.d(t,{B1:()=>n,X8:()=>d,dV:()=>c,oR:()=>u});let r=[],a=[],i=0;function l(){for(let e of a)e()}function n(e){return a=[...a,e],()=>{a=a.filter(t=>t!==e)}}function c(){return r}function d(e){r=r.filter(t=>t.id!==e),l()}function o(e){let t=`toast-${++i}`,s={id:t,message:e.message,type:e.type??"info",duration:e.duration??2e3,action:e.action};r=[...r,s].slice(-3),l(),s.duration>0&&setTimeout(()=>d(t),s.duration)}function u(e,t){o({message:e,...t})}u.success=(e,t)=>o({message:e,type:"success",duration:t}),u.undo=(e,t,s)=>o({message:e,type:"info",duration:s?.duration??5e3,action:{label:s?.label??"Undo",onClick:t}}),u.error=(e,t)=>o({message:e,type:"error",duration:t}),u.copy=(e="Copied")=>o({message:e,type:"success",duration:1500})},7834:(e,t,s)=>{"use strict";async function r(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}try{let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();let s=document.execCommand("copy");return document.body.removeChild(t),s}catch{return!1}}s.d(t,{l:()=>r})},8249:(e,t,s)=>{"use strict";s.d(t,{default:()=>v});var r=s(95155),a=s(12115),i=s(66088),l=s(94514),n=s(67635),c=s(97810),d=s(90718),o=s(65266),u=s(49619);let m=(0,s(90425).A)("keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]);var x=s(94961),p=s(91053),h=s(7834),f=s(4235);function b({id:e,icon:t,title:s,defaultOpen:l=!1,children:n}){let[c,d]=(0,a.useState)(l);return(0,r.jsxs)("div",{id:e,className:"bg-card border border-border rounded-lg overflow-hidden scroll-mt-4",children:[(0,r.jsxs)("button",{onClick:()=>d(e=>!e),className:"w-full flex items-center gap-3 px-5 py-4 text-left hover:bg-muted/50 transition-colors focus-visible:ring-2 focus-visible:ring-ring","aria-expanded":c,children:[(0,r.jsx)("span",{className:"text-[var(--amber)]",children:t}),(0,r.jsx)("span",{className:"text-base font-medium font-display text-foreground flex-1",children:s}),(0,r.jsx)(i.A,{size:16,className:`text-muted-foreground transition-transform duration-200 ${c?"rotate-180":""}`})]}),c&&(0,r.jsx)("div",{className:"px-5 pb-5 pt-0",children:(0,r.jsx)("div",{className:"border-t border-border pt-4",children:n})})]})}function y({step:e,title:t,desc:s}){return(0,r.jsxs)("div",{className:"flex gap-4 items-start",children:[(0,r.jsx)("div",{className:"shrink-0 w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold font-mono bg-[var(--amber-dim)] text-[var(--amber)]",children:e}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-foreground",children:t}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground mt-0.5",children:s})]})]})}function g({text:e,copyLabel:t}){let[s,i]=(0,a.useState)(!1),c=(0,a.useCallback)(()=>{let t=e.replace(/^["“]|["”]$/g,"");(0,h.l)(t).then(e=>{e&&(i(!0),setTimeout(()=>i(!1),1500),f.oR.copy())})},[e]);return(0,r.jsxs)("div",{className:"group/prompt mt-2 flex items-start gap-2 bg-background border border-border rounded-md px-3 py-2",children:[(0,r.jsx)("p",{className:"flex-1 text-xs font-mono leading-relaxed text-[var(--amber)]",children:e}),(0,r.jsx)("button",{onClick:c,className:"shrink-0 p-1 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors opacity-0 group-hover/prompt:opacity-100 focus-visible:opacity-100","aria-label":t,title:t,children:s?(0,r.jsx)(l.A,{size:13,className:"text-success"}):(0,r.jsx)(n.A,{size:13})})]})}function k({q:e,a:t}){let[s,l]=(0,a.useState)(!1);return(0,r.jsxs)("div",{className:"border-b border-border last:border-b-0",children:[(0,r.jsxs)("button",{onClick:()=>l(e=>!e),className:"w-full flex items-center justify-between py-3 text-left focus-visible:ring-2 focus-visible:ring-ring","aria-expanded":s,children:[(0,r.jsx)("span",{className:"text-sm font-medium text-foreground pr-4",children:e}),(0,r.jsx)(i.A,{size:14,className:`shrink-0 text-muted-foreground transition-transform duration-200 ${s?"rotate-180":""}`})]}),s&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground pb-3 leading-relaxed",children:t})]})}function j({keys:e,label:t}){return(0,r.jsxs)("div",{className:"flex items-center justify-between py-1.5",children:[(0,r.jsx)("span",{className:"text-sm text-foreground",children:t}),(0,r.jsx)("div",{className:"flex items-center gap-1",children:e.split(" ").map((e,t)=>(0,r.jsx)("kbd",{className:"px-1.5 py-0.5 text-xs rounded border border-border bg-muted text-muted-foreground font-mono min-w-[24px] text-center",children:e},t))})]})}function v(){let{t:e}=(0,p.Y)(),t=e.help,[s,i]=(0,a.useState)("⌘");(0,a.useEffect)(()=>{i(/Mac|iPhone|iPad/.test(navigator.userAgent)?"⌘":"Ctrl")},[]);let l=(0,a.useMemo)(()=>[{keys:`${s} K`,label:t.shortcuts.search},{keys:`${s} /`,label:t.shortcuts.askAI},{keys:`${s} ,`,label:t.shortcuts.settings},{keys:`${s} ?`,label:t.shortcuts.shortcutPanel},{keys:"E",label:t.shortcuts.editFile},{keys:`${s} S`,label:t.shortcuts.save},{keys:"Esc",label:t.shortcuts.closePanel},{keys:"@",label:t.shortcuts.attachFile}],[s,t.shortcuts]),n=(0,a.useMemo)(()=>[{id:"what-is",label:t.whatIs.title},{id:"concepts",label:t.concepts.title},{id:"quick-start",label:t.quickStart.title},{id:"agent-usage",label:t.agentUsage.title},{id:"shortcuts",label:t.shortcutsTitle},{id:"faq",label:t.faq.title}],[t]),[h,f]=(0,a.useState)("");return(0,a.useEffect)(()=>{let e=n.map(e=>e.id),t=new IntersectionObserver(e=>{for(let t of e)if(t.isIntersecting){f(t.target.id);break}},{rootMargin:"-10% 0px -80% 0px",threshold:0}),s=setTimeout(()=>{for(let s of e){let e=document.getElementById(s);e&&t.observe(e)}},100);return()=>{clearTimeout(s),t.disconnect()}},[n]),(0,r.jsxs)("div",{className:"flex justify-center gap-8 px-4 md:px-6 py-8 md:py-12",children:[(0,r.jsxs)("div",{className:"min-w-0 w-full",style:{maxWidth:"var(--content-width-override, var(--content-width, 780px))"},children:[(0,r.jsxs)("div",{className:"mb-8",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,r.jsx)("div",{className:"w-1 h-6 rounded-full bg-[var(--amber)]"}),(0,r.jsx)("h1",{className:"text-2xl font-bold font-display text-foreground",children:t.title})]}),(0,r.jsx)("p",{className:"text-muted-foreground text-sm ml-3 mt-1",children:t.subtitle})]}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(b,{id:"what-is",icon:(0,r.jsx)(c.A,{size:18}),title:t.whatIs.title,defaultOpen:!0,children:(0,r.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t.whatIs.body})}),(0,r.jsx)(b,{id:"concepts",icon:(0,r.jsx)(d.A,{size:18}),title:t.concepts.title,defaultOpen:!0,children:(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium text-foreground",children:t.concepts.spaceTitle}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground mt-0.5",children:t.concepts.spaceDesc})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium text-foreground",children:t.concepts.instructionTitle}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground mt-0.5",children:t.concepts.instructionDesc})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium text-foreground",children:t.concepts.skillTitle}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground mt-0.5",children:t.concepts.skillDesc})]})]})}),(0,r.jsx)(b,{id:"quick-start",icon:(0,r.jsx)(o.A,{size:18}),title:t.quickStart.title,defaultOpen:!0,children:(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)(y,{step:1,title:t.quickStart.step1Title,desc:t.quickStart.step1Desc}),(0,r.jsx)(y,{step:2,title:t.quickStart.step2Title,desc:t.quickStart.step2Desc}),(0,r.jsx)(y,{step:3,title:t.quickStart.step3Title,desc:t.quickStart.step3Desc})]})}),(0,r.jsxs)(b,{id:"agent-usage",icon:(0,r.jsx)(u.A,{size:18}),title:t.agentUsage.title,defaultOpen:!0,children:[(0,r.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:t.agentUsage.intro}),(0,r.jsx)("div",{className:"space-y-3",children:t.agentUsage.scenarios.map((e,s)=>{let a=e.prompt.split("\n");return(0,r.jsxs)("div",{className:"bg-muted/50 rounded-md px-4 py-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"text-base leading-none",role:"img",suppressHydrationWarning:!0,children:e.emoji}),(0,r.jsx)("p",{className:"text-sm font-medium text-foreground",children:e.title})]}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:e.desc}),a.map((e,s)=>(0,r.jsx)(g,{text:e,copyLabel:t.agentUsage.copy},s))]},s)})}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground mt-4",children:t.agentUsage.hint})]}),(0,r.jsx)(b,{id:"shortcuts",icon:(0,r.jsx)(m,{size:18}),title:t.shortcutsTitle,children:(0,r.jsx)("div",{className:"space-y-0",children:l.map(e=>(0,r.jsx)(j,{keys:e.keys,label:e.label},e.keys))})}),(0,r.jsx)(b,{id:"faq",icon:(0,r.jsx)(x.A,{size:18}),title:t.faq.title,children:(0,r.jsx)("div",{children:t.faq.items.map((e,t)=>(0,r.jsx)(k,{q:e.q,a:e.a},t))})})]})]}),(0,r.jsx)("nav",{className:"hidden xl:block shrink-0 w-40","aria-label":"Table of contents",children:(0,r.jsx)("div",{className:"sticky top-24",children:(0,r.jsx)("ul",{className:"space-y-1 border-l border-border pl-3",children:n.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)("a",{href:`#${e.id}`,onClick:t=>{t.preventDefault(),document.getElementById(e.id)?.scrollIntoView({behavior:"smooth"})},className:`block text-xs py-1 transition-colors ${h===e.id?"text-[var(--amber)] font-medium border-l-2 border-[var(--amber)] -ml-[13px] pl-[11px]":"text-muted-foreground hover:text-foreground"}`,children:e.label})},e.id))})})})]})}},43703:(e,t,s)=>{Promise.resolve().then(s.bind(s,8249))},49619:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(90425).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},65266:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(90425).A)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]])},66088:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(90425).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},67635:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(90425).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},90425:(e,t,s)=>{"use strict";s.d(t,{A:()=>c});var r=s(12115);let a=(...e)=>e.filter((e,t,s)=>!!e&&""!==e.trim()&&s.indexOf(e)===t).join(" ").trim(),i=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,s)=>s?s.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let n=(0,r.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:s=2,absoluteStrokeWidth:i,className:n="",children:c,iconNode:d,...o},u)=>(0,r.createElement)("svg",{ref:u,...l,width:t,height:t,stroke:e,strokeWidth:i?24*Number(s)/Number(t):s,className:a("lucide",n),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(o)&&{"aria-hidden":"true"},...o},[...d.map(([e,t])=>(0,r.createElement)(e,t)),...Array.isArray(c)?c:[c]])),c=(e,t)=>{let s=(0,r.forwardRef)(({className:s,...l},c)=>(0,r.createElement)(n,{ref:c,iconNode:t,className:a(`lucide-${i(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,s),...l}));return s.displayName=i(e),s}},90718:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(90425).A)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]])},94514:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(90425).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},94961:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(90425).A)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},97810:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(90425).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])}},e=>{e.O(0,[1053,8441,3794,7358],()=>e(e.s=43703)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[620],{439:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]])},1934:(e,t,r)=>{"use strict";r.d(t,{v:()=>n});var s=r(12115);let a=e=>{let t,r=new Set,s=(e,s)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=s?s:"object"!=typeof a||null===a)?a:Object.assign({},t,a),r.forEach(r=>r(t,e))}},a=()=>t,o={setState:s,getState:a,getInitialState:()=>n,subscribe:e=>(r.add(e),()=>r.delete(e))},n=t=e(s,a,o);return o},o=e=>{let t=e?a(e):a,r=e=>(function(e,t=e=>e){let r=s.useSyncExternalStore(e.subscribe,s.useCallback(()=>t(e.getState()),[e,t]),s.useCallback(()=>t(e.getInitialState()),[e,t]));return s.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},n=e=>e?o(e):o},4235:(e,t,r)=>{"use strict";r.d(t,{B1:()=>l,X8:()=>d,dV:()=>i,oR:()=>u});let s=[],a=[],o=0;function n(){for(let e of a)e()}function l(e){return a=[...a,e],()=>{a=a.filter(t=>t!==e)}}function i(){return s}function d(e){s=s.filter(t=>t.id!==e),n()}function c(e){let t=`toast-${++o}`,r={id:t,message:e.message,type:e.type??"info",duration:e.duration??2e3,action:e.action};s=[...s,r].slice(-3),n(),r.duration>0&&setTimeout(()=>d(t),r.duration)}function u(e,t){c({message:e,...t})}u.success=(e,t)=>c({message:e,type:"success",duration:t}),u.undo=(e,t,r)=>c({message:e,type:"info",duration:r?.duration??5e3,action:{label:r?.label??"Undo",onClick:t}}),u.error=(e,t)=>c({message:e,type:"error",duration:t}),u.copy=(e="Copied")=>c({message:e,type:"success",duration:1500})},6296:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},7834:(e,t,r)=>{"use strict";async function s(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}try{let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();let r=document.execCommand("copy");return document.body.removeChild(t),r}catch{return!1}}r.d(t,{l:()=>s})},13545:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},15721:(e,t,r)=>{Promise.resolve().then(r.bind(r,22952))},20171:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>p,Bt:()=>c,D0:()=>l,L7:()=>x,jn:()=>m,l6:()=>d,lM:()=>u,pM:()=>h,pd:()=>i});var s=r(95155),a=r(12115),o=r(66088),n=r(94514);function l({label:e,hint:t,children:r}){return(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm text-foreground font-medium",children:e}),r,t&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:t})]})}function i({className:e="",...t}){return(0,s.jsx)("input",{...t,className:`w-full px-3 py-2 text-sm bg-background border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:opacity-50 ${e}`})}function d({value:e,onChange:t,children:r,className:l="",disabled:i}){let d=(0,a.useId)(),[c,u]=(0,a.useState)(!1),[p,m]=(0,a.useState)(-1),x=(0,a.useRef)(null),h=(0,a.useRef)(null),g=(0,a.useMemo)(()=>a.Children.toArray(r).filter(e=>a.isValidElement(e)&&"option"===e.type).map(e=>({value:String(e.props.value??""),label:String(e.props.children??e.props.value??"")})),[r]),f=g.findIndex(t=>t.value===e),b=g[f]?.label??"";(0,a.useEffect)(()=>{if(!c)return;let e=e=>{x.current&&!x.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[c]),(0,a.useEffect)(()=>{if(c&&h.current&&p>=0){let e=h.current.children[p];e?.scrollIntoView({block:"nearest"})}},[c,p]);let v=(0,a.useCallback)(e=>{e>=0&&e<g.length&&(t?.({target:{value:g[e].value}}),u(!1))},[g,t]),y=(0,a.useCallback)(e=>{if(!c){["Enter"," ","ArrowDown","ArrowUp"].includes(e.key)&&(e.preventDefault(),u(!0),m(f>=0?f:0));return}switch(e.key){case"ArrowDown":e.preventDefault(),m(e=>Math.min(e+1,g.length-1));break;case"ArrowUp":e.preventDefault(),m(e=>Math.max(e-1,0));break;case"Enter":case" ":e.preventDefault(),v(p);break;case"Escape":e.preventDefault(),u(!1);break;case"Tab":u(!1)}},[c,g.length,f,p,v]);return(0,s.jsxs)("div",{ref:x,className:`relative ${l}`,children:[(0,s.jsxs)("button",{type:"button",disabled:i,onClick:()=>{u(e=>!e),m(f>=0?f:0)},onKeyDown:y,"aria-haspopup":"listbox","aria-expanded":c,className:"w-full px-3 py-2 text-sm bg-background border border-border rounded-lg text-foreground text-left flex items-center justify-between gap-2 outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,s.jsx)("span",{className:`truncate ${b?"":"text-muted-foreground"}`,children:b||"—"}),(0,s.jsx)(o.A,{size:14,className:`shrink-0 text-muted-foreground transition-transform duration-150 ${c?"rotate-180":""}`})]}),c&&(0,s.jsx)("div",{ref:h,role:"listbox","aria-activedescendant":p>=0?`${d}-opt-${p}`:void 0,className:"absolute z-20 w-full mt-1 py-1 border border-border rounded-lg bg-card shadow-lg max-h-60 overflow-auto animate-in fade-in-0 zoom-in-95 duration-100",children:g.map((t,r)=>{let a=t.value===e,o=r===p;return(0,s.jsxs)("button",{id:`${d}-opt-${r}`,role:"option","aria-selected":a,type:"button",onMouseDown:e=>{e.preventDefault(),v(r)},onMouseEnter:()=>m(r),className:`w-full px-3 py-1.5 text-sm text-left flex items-center gap-2 transition-colors ${o?"bg-accent text-accent-foreground":"text-foreground"}`,children:[(0,s.jsx)(n.A,{size:14,className:`shrink-0 ${a?"text-[var(--amber)]":"invisible"}`}),(0,s.jsx)("span",{className:"truncate",children:t.label})]},t.value)})})]})}function c({overridden:e}){return e?(0,s.jsx)("span",{className:"text-2xs px-1.5 py-0.5 rounded bg-[var(--amber-subtle)] text-[var(--amber-text)] font-mono ml-1.5",children:"env"}):null}function u({checked:e,onChange:t,size:r="md",disabled:a,title:o,onClick:n}){let l="sm"===r;return(0,s.jsx)("button",{type:"button",role:"switch","aria-checked":e,disabled:a,title:o,onClick:n??(()=>t?.(!e)),className:`relative inline-flex shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-60 ${l?"h-4 w-7":"h-5 w-9"} ${e?"bg-[var(--amber)]":"bg-muted"}`,children:(0,s.jsx)("span",{className:`pointer-events-none inline-block rounded-full bg-white shadow-sm transition-transform ${l?"h-3 w-3":"h-4 w-4"} ${e?l?"translate-x-3":"translate-x-4":"translate-x-0"}`})})}function p({value:e,onChange:t,placeholder:r,disabled:a}){let o="***set***"===e;return(0,s.jsx)("input",{type:"password",value:o?"••••••••••••••••":e,onChange:e=>t(e.target.value),placeholder:r??"sk-...",disabled:a,className:"w-full px-3 py-2 text-sm bg-background border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:opacity-50",onFocus:()=>{o&&t("")}})}function m({children:e,disabled:t,onClick:r,type:a="button",className:o="",...n}){return(0,s.jsx)("button",{type:a,onClick:r,disabled:t,className:`px-4 py-2 text-sm font-medium rounded-lg bg-[var(--amber)] text-[var(--amber-foreground)] transition-colors disabled:opacity-40 disabled:cursor-not-allowed ${o}`,...n,children:e})}function x({icon:e,title:t,description:r,badge:a,children:o,className:n=""}){return(0,s.jsxs)("div",{className:`rounded-xl border border-border/50 bg-card/50 p-5 ${n}`,children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 mb-4",children:[(0,s.jsx)("div",{className:"w-8 h-8 rounded-lg bg-muted/50 flex items-center justify-center shrink-0 mt-0.5",children:(0,s.jsx)("span",{className:"text-muted-foreground",children:e})}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:t}),a]}),r&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed",children:r})]})]}),(0,s.jsx)("div",{className:"space-y-4 pl-11",children:o})]})}function h({label:e,hint:t,children:r}){return(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("div",{className:"text-sm text-foreground",children:e}),t&&(0,s.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:t})]}),(0,s.jsx)("div",{className:"shrink-0",children:r})]})}},21362:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},22164:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},22952:(e,t,r)=>{"use strict";r.d(t,{default:()=>Z});var s=r(95155),a=r(12115),o=r(86901),n=r(41641),l=r(21362),i=r(6296),d=r(91053),c=r(7834),u=r(4235),p=r(47376),m=r(92451),x=r(97810),h=r(48368);let g=[{id:"en",icon:(0,s.jsx)(m.A,{size:18}),dirs:["Profile/","Connections/","Notes/","Workflows/","Resources/","Projects/"]},{id:"zh",icon:(0,s.jsx)(x.A,{size:18}),dirs:["画像/","关系/","笔记/","流程/","资源/","项目/"]},{id:"empty",icon:(0,s.jsx)(h.A,{size:18}),dirs:["README.md","CONFIG.json","INSTRUCTION.md"]}];var f=r(13545),b=r(20171);function v({state:e,update:t,t:r,homeDir:o}){let n=r.setup,[l,i]=(0,a.useState)(!1),d=o.includes("\\")?"\\":"/",c="~"!==o?[o,"MindOS","mind"].join(d):n.kbPathDefault,[u,p]=(0,a.useState)(null),[m,x]=(0,a.useState)([]),[h,v]=(0,a.useState)(!1),[y,k]=(0,a.useState)(-1),[j,N]=(0,a.useState)(!1),w=(0,a.useRef)(null),A=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(A.current){A.current=!1;return}if(!e.mindRoot.trim())return void x([]);let t=setTimeout(()=>{let t=function(e){if(!e.trim())return"";let t=e.trim();if(t.endsWith("/")||t.endsWith("\\"))return t;let r=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return r>=0?t.slice(0,r+1):""}(e.mindRoot)||o;fetch("/api/setup/ls",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})}).then(e=>e.json()).then(r=>{if(!r.dirs?.length)return void x([]);let s=t.endsWith("/")||t.endsWith("\\"),a=t.includes("\\")?"\\":"/",o=s?t:t+a,n=e.mindRoot.trim(),l=r.dirs.map(e=>o+e),i=n.endsWith("/")||n.endsWith("\\")?l:l.filter(e=>e.startsWith(n));x(i.slice(0,20)),v(i.length>0),k(-1)}).catch(e=>{console.warn("[SetupWizard] autocomplete fetch failed:",e),x([])})},300);return()=>clearTimeout(t)},[e.mindRoot,o]),(0,a.useEffect)(()=>{if(!e.mindRoot.trim())return void p(null);let r=setTimeout(()=>{fetch("/api/setup/check-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e.mindRoot})}).then(e=>e.json()).then(e=>{p(e),N(!1),e?.exists&&!e.empty&&t("template","")}).catch(e=>{console.warn("[SetupWizard] check-path failed:",e),p(null)})},600);return()=>clearTimeout(r)},[e.mindRoot,t]);let S=()=>{x([]),v(!1),k(-1)},C=e=>{A.current=!0,t("mindRoot",e),S(),w.current?.focus()};return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)(b.D0,{label:n.kbPath,hint:n.kbPathHint,children:[(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)("input",{ref:w,value:e.mindRoot,onChange:e=>{t("mindRoot",e.target.value),v(!0)},onKeyDown:e=>{h&&0!==m.length&&("ArrowDown"===e.key?(e.preventDefault(),k(e=>Math.min(e+1,m.length-1))):"ArrowUp"===e.key?(e.preventDefault(),k(e=>Math.max(e-1,-1))):"Enter"===e.key&&y>=0?(e.preventDefault(),C(m[y])):"Escape"===e.key&&v(!1))},onBlur:()=>setTimeout(()=>S(),150),onFocus:()=>m.length>0&&v(!0),placeholder:c,className:"w-full px-3 py-2 text-sm rounded-lg border outline-none transition-colors focus-visible:ring-1 focus-visible:ring-ring",style:{background:"var(--input, var(--card))",borderColor:"var(--border)",color:"var(--foreground)"}}),h&&m.length>0&&(0,s.jsx)("div",{role:"listbox",className:"absolute z-50 left-0 right-0 top-full mt-1 rounded-lg border overflow-auto",style:{background:"var(--card)",borderColor:"var(--border)",boxShadow:"0 4px 16px rgba(0,0,0,0.12)",maxHeight:"220px"},children:m.map((e,t)=>(0,s.jsx)("button",{type:"button",role:"option","aria-selected":t===y,onMouseDown:()=>C(e),className:"w-full text-left px-3 py-2 text-sm font-mono transition-colors",style:{background:t===y?"var(--muted)":"transparent",color:"var(--foreground)",borderTop:t>0?"1px solid var(--border)":void 0},children:e},e))})]}),e.mindRoot!==c&&c!==n.kbPathDefault&&(0,s.jsx)("button",{type:"button",onClick:()=>t("mindRoot",c),className:"mt-1.5 px-2.5 py-1 text-xs rounded-md border transition-colors hover:bg-muted/50",style:{borderColor:"var(--amber)",color:"var(--amber)"},children:n.kbPathUseDefault(c)})]}),u&&u.exists&&!u.empty&&!j?(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-sm text-foreground font-medium mb-3 block",children:n.template}),(0,s.jsxs)("div",{className:"rounded-lg border p-3 text-sm",style:{borderColor:"var(--amber)",background:"color-mix(in srgb, var(--amber) 6%, transparent)"},children:[(0,s.jsx)("p",{style:{color:"var(--amber)"},children:n.kbPathHasFiles(u.count)}),(0,s.jsxs)("div",{className:"flex gap-2 mt-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>t("template",""),className:"px-2.5 py-1 text-xs rounded-md border transition-colors",style:{borderColor:"var(--amber)",color:""===e.template?"var(--background)":"var(--amber)",background:""===e.template?"var(--amber)":"transparent"},children:""===e.template?(0,s.jsxs)(s.Fragment,{children:[n.kbTemplateSkip," ✓"]}):n.kbTemplateSkip}),(0,s.jsx)("button",{type:"button",onClick:()=>N(!0),className:"px-2.5 py-1 text-xs rounded-md border transition-colors hover:bg-muted/50",style:{borderColor:"var(--border)",color:"var(--muted-foreground)"},children:n.kbTemplateMerge})]})]})]}):(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-sm text-foreground font-medium mb-3 block",children:n.template}),(0,s.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3",children:g.map(a=>(0,s.jsxs)("button",{onClick:()=>t("template",a.id),className:"flex flex-col items-start gap-2 p-4 rounded-xl border text-left transition-all duration-150",style:{background:e.template===a.id?"var(--amber-dim)":"var(--card)",borderColor:e.template===a.id?"var(--amber)":"var(--border)"},children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{style:{color:"var(--amber)"},children:a.icon}),(0,s.jsx)("span",{className:"text-sm font-medium",style:{color:"var(--foreground)"},children:r.onboarding.templates[a.id].title})]}),(0,s.jsx)("div",{className:"w-full rounded-lg px-2.5 py-1.5 text-xs leading-relaxed font-display",style:{background:"var(--muted)",color:"var(--muted-foreground)"},children:a.dirs.map(e=>(0,s.jsx)("div",{children:e},e))})]},a.id))})]}),(0,s.jsx)("div",{className:"pt-2 mt-2",style:{borderTop:"1px solid var(--border)"},children:(0,s.jsxs)(b.D0,{label:(0,s.jsxs)(s.Fragment,{children:[n.webPassword," ",(0,s.jsx)("span",{style:{color:"var(--error)"},children:"*"})]}),hint:n.webPasswordHint,children:[(0,s.jsx)("input",{type:"password",value:e.webPassword,onChange:e=>{t("webPassword",e.target.value),i(!0)},onBlur:()=>i(!0),placeholder:"••••••••",className:"w-full px-3 py-2 text-sm rounded-lg border outline-none transition-colors focus-visible:ring-1 focus-visible:ring-ring",style:{background:"var(--input, var(--card))",borderColor:l&&!e.webPassword.trim()?"var(--error)":"var(--border)",color:"var(--foreground)"}}),l&&!e.webPassword.trim()&&(0,s.jsxs)("p",{className:"text-xs flex items-center gap-1 mt-1",style:{color:"var(--error)"},children:[(0,s.jsx)(f.A,{size:11})," ",n.webPasswordRequired]})]})})]})}var y=r(22164),k=r(66088),j=r(67635),N=r(51842),w=r(41585),A=r(12651),S=r(68822);function C({label:e,hint:t,value:r,onChange:o,status:n,onCheckPort:l,s:d}){let c=(0,a.useRef)(void 0);return(0,a.useEffect)(()=>()=>clearTimeout(c.current),[]),(0,s.jsx)(b.D0,{label:e,hint:t,children:(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(b.pd,{type:"number",min:1024,max:65535,value:r,onChange:e=>{let t=parseInt(e.target.value,10)||r;o(t),clearTimeout(c.current),t>=1024&&t<=65535&&(c.current=setTimeout(()=>l(t),500))},onBlur:()=>{clearTimeout(c.current),l(r)}}),n.checking&&(0,s.jsxs)("p",{className:"text-xs flex items-center gap-1",role:"status",style:{color:"var(--muted-foreground)"},children:[(0,s.jsx)(i.A,{size:11,className:"animate-spin"})," ",d.portChecking]}),!n.checking&&!1===n.available&&(0,s.jsxs)("div",{className:"flex items-center gap-2",role:"alert",children:[(0,s.jsxs)("p",{className:"text-xs flex items-center gap-1",style:{color:"var(--amber)"},children:[(0,s.jsx)(w.A,{size:11})," ",d.portInUse(r)]}),null!==n.suggestion&&(0,s.jsx)("button",{type:"button",onClick:()=>{o(n.suggestion),setTimeout(()=>l(n.suggestion),0)},className:"text-xs px-2 py-0.5 rounded border transition-colors",style:{borderColor:"var(--amber)",color:"var(--amber)"},children:d.portSuggest(n.suggestion)})]}),!n.checking&&!0===n.available&&(0,s.jsxs)("p",{className:"text-xs flex items-center gap-1",style:{color:"var(--success)"},children:[(0,s.jsx)(A.A,{size:11})," ",n.isSelf?d.portSelf:d.portAvailable]})]})})}function T({state:e,update:t,webPortStatus:r,mcpPortStatus:a,setWebPortStatus:o,setMcpPortStatus:n,checkPort:l,portConflict:i,s:d}){return(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsx)(C,{label:d.webPort,hint:d.portHint,value:e.webPort,onChange:e=>{t("webPort",e),o({checking:!1,available:null,isSelf:!1,suggestion:null})},status:r,onCheckPort:e=>l(e,"web"),s:d}),(0,s.jsx)(C,{label:d.mcpPort,hint:d.portHint,value:e.mcpPort,onChange:e=>{t("mcpPort",e),n({checking:!1,available:null,isSelf:!1,suggestion:null})},status:a,onCheckPort:e=>l(e,"mcp"),s:d}),i&&(0,s.jsxs)("p",{className:"text-xs flex items-center gap-1.5",role:"alert",style:{color:"var(--amber)"},children:[(0,s.jsx)(w.A,{size:12})," ",d.portConflict]}),!i&&(null===r.available||null===a.available)&&!r.checking&&!a.checking&&(0,s.jsx)("p",{className:"text-xs",style:{color:"var(--muted-foreground)"},children:d.portVerifyHint}),(0,s.jsxs)("p",{className:"text-xs flex items-center gap-1.5",style:{color:"var(--muted-foreground)"},children:[(0,s.jsx)(S.A,{size:12})," ",d.portRestartWarning]})]})}function P({state:e,update:t,s:r,onCopyToken:o,webPortStatus:n,mcpPortStatus:i,setWebPortStatus:c,setMcpPortStatus:u,checkPort:m,portConflict:x}){let{locale:h}=(0,d.Y)(),[g,f]=(0,a.useState)(!1);(0,a.useEffect)(()=>{!g&&(!1===n.available||!1===i.available||x)&&f(!0)},[n.available,i.available,x,g]);let v="skip"!==e.provider&&(0,p.rl)(e.provider)?e.provider:null,w=v?p.T_[v]:null,A=v?e.providerConfigs[v]??{apiKey:"",model:w?.defaultModel??""}:null,S=r=>{if(!v)return;let s=e.providerConfigs[v]??{apiKey:"",model:w?.defaultModel??""};t("providerConfigs",{...e.providerConfigs,[v]:{...s,...r}})},C=new Set(Object.entries(e.providerConfigs).filter(([e,t])=>t&&(t.apiKey||t.apiKeyMask)||p.T_[e]?.apiKeyFallback).map(([e])=>e));return(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsx)(N.A,{value:e.provider,onChange:e=>t("provider",e),showSkip:!0,configuredProviders:C}),v&&w&&A&&(0,s.jsxs)("div",{className:"space-y-4 pt-2",children:[(0,s.jsxs)(b.D0,{label:r.apiKey,children:[(0,s.jsx)(b.Ak,{value:A.apiKey,onChange:e=>S({apiKey:e}),placeholder:A.apiKeyMask||`${(0,p.Ux)(v)??"API Key"}...`}),A.apiKeyMask&&!A.apiKey&&(0,s.jsx)("p",{className:"text-xs mt-1",style:{color:"var(--muted-foreground)"},children:r.apiKeyExisting??"Existing key configured. Leave blank to keep it."}),w.signupUrl&&!A.apiKey&&!A.apiKeyMask&&(0,s.jsxs)("a",{href:w.signupUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-xs mt-1.5 hover:underline",style:{color:"var(--amber)"},children:[(0,s.jsx)(y.A,{size:10}),w.apiKeyFallback?"zh"===h?`下载 ${w.nameZh}`:`Download ${w.name}`:"zh"===h?`获取 ${w.nameZh} API Key`:`Get ${w.name} API Key`]})]}),w.supportsBaseUrl&&(0,s.jsx)(b.D0,{label:r.baseUrl,hint:r.baseUrlHint,children:(0,s.jsx)(b.pd,{value:A.baseUrl??"",onChange:e=>S({baseUrl:e.target.value}),placeholder:w.fixedBaseUrl||(0,p.Ot)(v)||"https://api.openai.com/v1"})}),(0,s.jsx)(b.D0,{label:r.model,children:(0,s.jsx)(b.pd,{value:A.model,onChange:e=>S({model:e.target.value}),placeholder:w.defaultModel})})]}),(0,s.jsxs)("div",{className:"pt-3 mt-1",style:{borderTop:"1px solid var(--border)"},children:[(0,s.jsxs)("button",{type:"button",onClick:()=>f(!g),className:"flex items-center gap-1.5 text-xs font-medium",style:{color:"var(--muted-foreground)"},children:[g?(0,s.jsx)(k.A,{size:12}):(0,s.jsx)(l.A,{size:12}),r.advancedPorts]}),g&&(0,s.jsxs)("div",{className:"mt-3 space-y-5",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsxs)("p",{className:"text-xs font-medium",style:{color:"var(--foreground)"},children:["\uD83D\uDD11 ",r.tokenSectionTitle]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("code",{className:"flex-1 truncate text-xs font-mono px-3 py-2 rounded-lg",style:{background:"var(--muted)",color:"var(--foreground)"},children:e.authToken}),(0,s.jsxs)("button",{type:"button",onClick:o,className:"flex items-center gap-1 px-2.5 py-2 text-xs rounded-lg border transition-colors hover:bg-muted shrink-0",style:{borderColor:"var(--border)",color:"var(--foreground)"},children:[(0,s.jsx)(j.A,{size:12})," ",r.copyToken]})]}),(0,s.jsx)("p",{className:"text-xs",style:{color:"var(--muted-foreground)"},children:r.tokenSectionHint})]}),(0,s.jsx)(T,{state:e,update:t,webPortStatus:n,mcpPortStatus:i,setWebPortStatus:c,setMcpPortStatus:u,checkPort:m,portConflict:x,s:r})]})]})]})}var M=r(62791),z=r(90718);function E({agents:e,agentsLoading:t,selectedAgents:r,setSelectedAgents:o,agentTransport:n,setAgentTransport:l,agentScope:d,setAgentScope:c,agentStatuses:u,s:p,settingsMcp:m,template:x}){let[h,g]=(0,a.useState)(!1),[f,v]=(0,a.useState)(!1),{detected:y,other:j}=(0,a.useMemo)(()=>({detected:e.filter(e=>e.installed||e.present),other:e.filter(e=>!e.installed&&!e.present)}),[e]),N=(e,t)=>(0,s.jsxs)("label",{className:"flex items-center gap-3 px-4 py-3 cursor-pointer hover:bg-muted/50 transition-colors",style:{background:t%2==0?"var(--card)":"transparent",borderTop:t>0?"1px solid var(--border)":void 0},children:[(0,s.jsx)("input",{type:"checkbox",checked:r.has(e.key),onChange:()=>{var t;return t=e.key,void o(e=>{let r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r})},className:"form-check",disabled:u[e.key]?.state==="installing"}),(0,s.jsx)("span",{className:"text-sm flex-1",style:{color:"var(--foreground)"},children:e.name}),(0,s.jsx)("span",{className:"text-2xs px-1.5 py-0.5 rounded font-mono",style:{background:"color-mix(in srgb, var(--muted-foreground) 8%, transparent)",color:"var(--muted-foreground)"},children:"auto"===n?e.preferredTransport:n}),((e,t)=>{let r=u[e];if(r){if("installing"===r.state)return(0,s.jsxs)("span",{className:"flex items-center gap-1 text-xs",style:{color:"var(--muted-foreground)"},children:[(0,s.jsx)(i.A,{size:10,className:"animate-spin"})," ",p.agentInstalling]});if("ok"===r.state)return(0,s.jsxs)("span",{className:"flex items-center gap-1 text-xs px-1.5 py-0.5 rounded",style:{background:"color-mix(in srgb, var(--success) 12%, transparent)",color:"var(--success)"},children:[(0,s.jsx)(A.A,{size:10})," ",p.agentStatusOk]});if("error"===r.state)return(0,s.jsxs)("span",{className:"flex items-center gap-1 text-xs px-1.5 py-0.5 rounded",style:{background:"color-mix(in srgb, var(--error) 10%, transparent)",color:"var(--error)"},children:[(0,s.jsx)(M.A,{size:10})," ",p.agentStatusError,r.message&&(0,s.jsxs)("span",{className:"ml-1 text-2xs",children:["(",r.message,")"]})]})}return t.installed?(0,s.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded",style:{background:"color-mix(in srgb, var(--success) 12%, transparent)",color:"var(--success)"},children:m.installed}):t.present?(0,s.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded",style:{background:"var(--amber-dim)",color:"var(--amber)"},children:p.agentDetected}):(0,s.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded",style:{background:"color-mix(in srgb, var(--muted-foreground) 10%, transparent)",color:"var(--muted-foreground)"},children:p.agentNotFound})})(e.key,e)]},e.key);return(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsx)("p",{className:"text-sm",style:{color:"var(--muted-foreground)"},children:p.agentToolsHint}),t?(0,s.jsxs)("div",{className:"flex items-center gap-2 py-4",style:{color:"var(--muted-foreground)"},children:[(0,s.jsx)(i.A,{size:14,className:"animate-spin"}),(0,s.jsx)("span",{className:"text-sm",children:p.agentToolsLoading})]}):0===e.length?(0,s.jsx)("p",{className:"text-sm py-4 text-center",style:{color:"var(--muted-foreground)"},children:p.agentToolsEmpty}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-4 text-2xs",style:{color:"var(--muted-foreground)"},children:[(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)("span",{className:"inline-block w-1.5 h-1.5 rounded-full",style:{background:"var(--success)"}}),p.badgeInstalled]}),(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)("span",{className:"inline-block w-1.5 h-1.5 rounded-full",style:{background:"var(--amber)"}}),p.badgeDetected]}),(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)("span",{className:"inline-block w-1.5 h-1.5 rounded-full",style:{background:"var(--muted-foreground)"}}),p.badgeNotFound]})]}),y.length>0?(0,s.jsx)("div",{className:"rounded-xl border overflow-hidden",style:{borderColor:"var(--border)"},children:y.map((e,t)=>N(e,t))}):(0,s.jsx)("p",{className:"text-xs py-2",style:{color:"var(--muted-foreground)"},children:p.agentNoneDetected}),j.length>0&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("button",{type:"button",onClick:()=>g(!h),"aria-expanded":h,className:"flex items-center gap-1.5 text-xs py-1.5 transition-colors",style:{color:"var(--muted-foreground)"},children:[(0,s.jsx)(k.A,{size:12,className:`transition-transform ${h?"rotate-180":""}`}),p.agentShowMore(j.length)]}),h&&(0,s.jsx)("div",{className:"rounded-xl border overflow-hidden mt-1",style:{borderColor:"var(--border)"},children:j.map((e,t)=>N(e,t))})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("p",{className:"text-xs",style:{color:"var(--muted-foreground)"},children:p.skillWhat}),(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg text-xs",style:{background:"color-mix(in srgb, var(--muted-foreground) 6%, transparent)",color:"var(--muted-foreground)"},children:[(0,s.jsx)(z.A,{size:13,className:"shrink-0"}),(0,s.jsx)("span",{children:p.skillAutoHint("zh"===x?"mindos-zh":"mindos")})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("button",{type:"button",onClick:()=>v(!f),"aria-expanded":f,className:"flex items-center gap-1.5 text-xs py-1.5 transition-colors",style:{color:"var(--muted-foreground)"},children:[(0,s.jsx)(k.A,{size:12,className:`transition-transform ${f?"rotate-180":""}`}),p.agentAdvanced]}),f&&(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-4 mt-2",children:[(0,s.jsx)(b.D0,{label:p.agentTransport,children:(0,s.jsxs)(b.l6,{value:n,onChange:e=>l(e.target.value),children:[(0,s.jsx)("option",{value:"auto",children:p.agentTransportAuto}),(0,s.jsx)("option",{value:"stdio",children:m.transportStdio}),(0,s.jsx)("option",{value:"http",children:m.transportHttp})]})}),(0,s.jsx)(b.D0,{label:p.agentScope,children:(0,s.jsxs)(b.l6,{value:d,onChange:e=>c(e.target.value),children:[(0,s.jsx)("option",{value:"global",children:p.agentScopeGlobal}),(0,s.jsx)("option",{value:"project",children:p.agentScopeProject})]})})]})]}),(0,s.jsxs)("div",{className:"flex gap-2 mt-1",children:[(0,s.jsx)("button",{type:"button",onClick:()=>o(new Set(e.filter(e=>e.installed||e.present).map(e=>e.key))),className:"text-xs px-2.5 py-1 rounded-md border transition-colors hover:bg-muted/50",style:{borderColor:"var(--amber)",color:"var(--amber)"},children:p.agentSelectDetected}),(0,s.jsx)("button",{type:"button",onClick:()=>o(new Set),className:"text-xs px-2.5 py-1 rounded-md border transition-colors hover:bg-muted/50",style:{borderColor:"var(--border)",color:"var(--muted-foreground)"},children:p.agentSkipLater})]})]})]})}var O=r(42129),I=r(68806),U=r(439),R=r(94514);function K({s:e}){return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"p-3 rounded-lg text-sm flex items-center gap-2",style:{background:"color-mix(in srgb, var(--amber) 10%, transparent)",color:"var(--amber)"},children:[(0,s.jsx)(w.A,{size:14})," ",e.restartRequired]}),(0,s.jsxs)("p",{className:"text-xs",style:{color:"var(--muted-foreground)"},children:[e.restartManual," ",(0,s.jsx)("code",{className:"font-mono",children:"mindos start"})]})]})}function D({s:e,newPort:t}){let[r,o]=(0,a.useState)(!1),[n,l]=(0,a.useState)(!1),d=(0,a.useRef)(void 0);(0,a.useEffect)(()=>()=>{clearInterval(d.current)},[]);let c=async()=>{o(!0);try{await fetch("/api/restart",{method:"POST"}),l(!0);let e=()=>{window.location.href=`http://localhost:${t}/?welcome=1`},r=0;clearInterval(d.current),d.current=setInterval(async()=>{r++;try{if((await fetch(`http://localhost:${t}/api/health`)).status<500){clearInterval(d.current),e();return}}catch{}r>=10&&(clearInterval(d.current),e())},800)}catch(e){console.warn("[SetupWizard] restart request failed:",e),o(!1)}};return n?(0,s.jsxs)("span",{className:"flex items-center gap-1.5 px-5 py-2 text-sm font-medium rounded-lg",style:{background:"color-mix(in srgb, var(--success) 15%, transparent)",color:"var(--success)"},children:[(0,s.jsx)(A.A,{size:14})," ",e.restartDone]}):(0,s.jsxs)("button",{type:"button",onClick:c,disabled:r,className:"flex items-center gap-1.5 px-5 py-2 text-sm font-medium rounded-lg transition-colors disabled:opacity-50",style:{background:"var(--amber)",color:"var(--amber-foreground)"},children:[r?(0,s.jsx)(i.A,{size:13,className:"animate-spin"}):null,r?e.restarting:e.restartNow]})}function $({state:e,selectedAgents:t,agentStatuses:r,onRetryAgent:a,error:o,needsRestart:n,s:l,skillInstallResult:d,setupPhase:c}){let u=Object.entries(r).filter(([,e])=>"error"===e.state),p=[[l.kbPath,e.mindRoot],[l.webPort,`${e.webPort} / ${e.mcpPort}`],[l.agentToolsTitle,t.size>0?l.agentCountSummary(t.size):"—"]],m=[{key:"saving",label:l.phaseSaving},{key:"agents",label:l.phaseAgents},{key:"skill",label:l.phaseSkill},{key:"done",label:l.phaseDone}],x=["saving","agents","skill","done"],h=x.indexOf(c);return(0,s.jsxs)("div",{className:"space-y-5",children:["done"!==c&&(0,s.jsx)("div",{className:"rounded-xl border overflow-hidden",style:{borderColor:"var(--border)"},children:p.map(([e,t],r)=>(0,s.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 text-sm",style:{background:r%2==0?"var(--card)":"transparent",borderTop:r>0?"1px solid var(--border)":void 0},children:[(0,s.jsx)("span",{style:{color:"var(--muted-foreground)"},children:e}),(0,s.jsx)("span",{className:"font-mono text-xs truncate ml-4",style:{color:"var(--foreground)"},children:t})]},r))}),"review"===c&&(0,s.jsx)("p",{className:"text-sm",style:{color:"var(--muted-foreground)"},children:l.reviewHint}),"review"!==c&&"done"!==c&&(0,s.jsx)("div",{className:"space-y-2 py-2",children:m.map(({key:e,label:t},r)=>{let a=x.indexOf(e),o=h>a,n=c===e;return(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"w-5 h-5 rounded-full flex items-center justify-center shrink-0 text-2xs",style:{background:o?"color-mix(in srgb, var(--success) 15%, transparent)":n?"color-mix(in srgb, var(--amber) 15%, transparent)":"var(--muted)",color:o?"var(--success)":n?"var(--amber)":"var(--muted-foreground)"},children:o?(0,s.jsx)(A.A,{size:12}):n?(0,s.jsx)(i.A,{size:12,className:"animate-spin"}):r+1}),(0,s.jsx)("span",{className:"text-sm",style:{color:o?"var(--success)":n?"var(--foreground)":"var(--muted-foreground)",fontWeight:n?500:400,opacity:h<a?.5:1},children:t})]},e)})}),u.length>0&&"done"===c&&(0,s.jsxs)("div",{className:"p-3 rounded-lg space-y-2",style:{background:"color-mix(in srgb, var(--error) 8%, transparent)"},children:[(0,s.jsx)("p",{className:"text-xs font-medium",style:{color:"var(--error)"},children:l.agentFailedCount(u.length)}),u.map(([e,t])=>(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsxs)("span",{className:"text-xs flex items-center gap-1",style:{color:"var(--error)"},children:[(0,s.jsx)(M.A,{size:11})," ",e,t.message?` — ${t.message}`:""]}),(0,s.jsx)("button",{type:"button",onClick:()=>a(e),className:"text-xs px-2 py-0.5 rounded border transition-colors",style:{borderColor:"var(--error)",color:"var(--error)"},children:l.retryAgent})]},e)),(0,s.jsx)("p",{className:"text-xs",style:{color:"var(--muted-foreground)"},children:l.agentFailureNote})]}),d&&"done"===c&&(0,s.jsx)("div",{className:"flex items-center gap-2 text-xs px-3 py-2 rounded-lg",style:{background:d.ok?"color-mix(in srgb, var(--success) 6%, transparent)":"color-mix(in srgb, var(--error) 6%, transparent)"},children:d.ok?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(A.A,{size:11,className:"text-success shrink-0"}),(0,s.jsxs)("span",{style:{color:"var(--foreground)"},children:[l.skillInstalled," — ",d.skill]})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(M.A,{size:11,className:"text-error shrink-0"}),(0,s.jsxs)("span",{style:{color:"var(--error)"},children:[l.skillFailed,d.error?`: ${d.error}`:""]})]})}),o&&(0,s.jsxs)("div",{className:"p-3 rounded-lg text-sm text-error",style:{background:"color-mix(in srgb, var(--error) 10%, transparent)"},children:[l.completeFailed,": ",o]}),"done"===c&&(0,s.jsx)(_,{state:e,selectedAgents:t,agentStatuses:r,needsRestart:n,s:l})]})}function _({state:e,selectedAgents:t,agentStatuses:r,needsRestart:o,s:n}){let[l,i]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(!l)return;let e=setTimeout(()=>i(!1),2e3);return()=>clearTimeout(e)},[l]);let m=(0,a.useCallback)(async()=>{!e.authToken||await (0,c.l)(e.authToken)&&(i(!0),u.oR.copy())},[e.authToken]),{locale:x}=(0,d.Y)(),h=!!e.mindRoot,g="skip"!==e.provider,f=Object.values(r).filter(e=>"ok"===e.state).length,b=f>0,v=!!e.authToken,y="",k="";if(g&&(0,p.rl)(e.provider)){let t=p.T_[e.provider];y="zh"===x?t.nameZh:t.name;let r=e.providerConfigs[e.provider];k=r?.model||t.defaultModel}let N=[{ok:h,icon:(0,s.jsx)(O.A,{size:14}),title:n.healthKb??"Knowledge Base",detail:h?e.mindRoot:n.healthKbNone??"Not configured"},{ok:g,icon:(0,s.jsx)(z.A,{size:14}),title:n.healthAi??"AI Provider",detail:g?`${y} (${k||"default"})`:n.healthAiNone??"Not configured — AI features disabled",action:g?void 0:n.healthAiAction??"Add an API key in Settings → AI."},{ok:b,icon:(0,s.jsx)(I.A,{size:14}),title:n.healthAgents??"Agent Tools",detail:b?n.healthAgentsOk?.(f)??`${f} agent(s) configured`:t.size>0?n.healthAgentsPartial??"Configuration in progress...":n.healthAgentsNone??"No agents configured",action:b?void 0:n.healthAgentsAction??"You can add agents later in Settings → MCP."}];return(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsx)("div",{className:"rounded-xl border overflow-hidden",style:{borderColor:"var(--border)"},children:N.map(({ok:e,icon:t,title:r,detail:a,action:o},n)=>(0,s.jsxs)("div",{className:"flex items-start gap-3 px-4 py-3",style:{background:n%2==0?"var(--card)":"transparent",borderTop:n>0?"1px solid var(--border)":void 0},children:[(0,s.jsx)("div",{className:"w-5 h-5 rounded-full flex items-center justify-center shrink-0 mt-0.5",style:{background:e?"color-mix(in srgb, var(--success) 15%, transparent)":"color-mix(in srgb, var(--amber) 15%, transparent)",color:e?"var(--success)":"var(--amber)"},children:e?(0,s.jsx)(A.A,{size:12}):(0,s.jsx)(w.A,{size:10})}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-sm font-medium",style:{color:"var(--foreground)"},children:[t," ",r]}),(0,s.jsx)("p",{className:"text-xs mt-0.5 break-words",style:{color:e?"var(--muted-foreground)":"var(--amber-text)"},children:a}),o&&(0,s.jsx)("p",{className:"text-xs mt-0.5",style:{color:"var(--muted-foreground)"},children:o})]})]},n))}),v&&(0,s.jsxs)("div",{className:"rounded-xl border p-4 space-y-2",style:{borderColor:"var(--border)",background:"var(--card)"},children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-medium uppercase tracking-wider",style:{color:"var(--muted-foreground)"},children:[(0,s.jsx)(U.A,{size:11}),n.healthTokenTitle??"MCP Auth Token"]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"flex-1 flex items-center px-3 py-2 rounded-lg min-h-[38px]",style:{background:"var(--muted)",border:"1px solid var(--border)"},children:(0,s.jsx)("code",{className:"flex-1 text-xs font-mono break-all select-all leading-relaxed",style:{color:"var(--foreground)"},children:e.authToken})}),(0,s.jsx)("button",{type:"button",onClick:m,className:"shrink-0 p-2 rounded-lg border transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1",style:{borderColor:l?"color-mix(in srgb, var(--success) 50%, transparent)":"var(--border)",background:l?"color-mix(in srgb, var(--success) 10%, transparent)":"transparent",color:l?"var(--success)":"var(--muted-foreground)"},title:n.healthTokenCopy??"Copy token",children:l?(0,s.jsx)(R.A,{size:14}):(0,s.jsx)(j.A,{size:14})})]}),(0,s.jsx)("p",{className:"text-xs",style:{color:"var(--muted-foreground)"},children:n.healthTokenHint??"Use this token when connecting AI agents. Also available in Settings → MCP."})]}),o&&(0,s.jsx)(K,{s:n})]})}function B({step:e,setStep:t,stepTitles:r,disabled:a,numberedSteps:o}){let{t:n}=(0,d.Y)(),l=o??r.length,i=r.slice(0,l),c=e>=l;return(0,s.jsx)("div",{className:"flex items-center gap-2 mb-8",role:"navigation","aria-label":"Setup steps",children:i.map((r,o)=>(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[o>0&&(0,s.jsx)("div",{className:"w-8 h-px",style:{background:o<=e||c?"var(--amber)":"var(--border)"}}),(0,s.jsxs)("button",{onClick:()=>t(o),"aria-current":o===e?"step":void 0,"aria-label":r,className:"flex flex-col items-center gap-1 p-1 -m-1 disabled:cursor-not-allowed disabled:opacity-60",disabled:a||o>e,title:a||o>e?n.hints.cannotJumpForward:void 0,children:[(0,s.jsx)("div",{className:"w-6 h-6 rounded-full text-xs font-medium flex items-center justify-center transition-colors",style:{background:o<e||c||o===e?"var(--amber)":"var(--muted)",color:o<=e||c?"var(--amber-foreground)":"var(--muted-foreground)",opacity:o<=e||c?1:.5},children:o<e||c?(0,s.jsx)(A.A,{size:14}):o+1}),(0,s.jsx)("span",{className:"text-[10px] leading-tight hidden sm:inline max-w-[4rem] text-center truncate",style:{color:o!==e||c?"var(--muted-foreground)":"var(--foreground)",opacity:o<=e||c?1:.5},children:r})]})]},o))})}function L(e,t,r,s){let a=t.find(t=>t.key===e);return{key:e,scope:s,transport:"auto"===r?a?.preferredTransport||"stdio":r}}function F(e){return{state:"ok"===e.status?"ok":"error",message:e.message,transport:e.transport,verified:e.verified,verifyError:e.verifyError}}async function H(e){let t={};if("skip"!==e.provider)for(let[r,s]of Object.entries(e.providerConfigs))s&&(t[r]={apiKey:s.apiKey,model:s.model,...s.baseUrl?{baseUrl:s.baseUrl}:{}});let r={mindRoot:e.mindRoot,template:e.template||void 0,port:e.webPort,mcpPort:e.mcpPort,authToken:e.authToken,webPassword:e.webPassword,ai:"skip"===e.provider?void 0:{provider:e.provider,providers:t}},s=await fetch("/api/setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),a=await s.json();if(!s.ok)throw Error(a.error||`HTTP ${s.status}`);return!!a.needsRestart}async function W(e,t,r,s,a,o){let n=e.map(e=>L(e,t,r,s)),l=await fetch("/api/mcp/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agents:n,transport:r,url:`http://localhost:${a}/mcp`,token:o||void 0})}),i=await l.json(),d={};if(i.results)for(let e of i.results)d[e.agent]=F(e);return d}function Z(){let{t:e}=(0,d.Y)(),t=e.setup,[r,m]=(0,a.useState)(0),[x,h]=(0,a.useState)({mindRoot:"~/MindOS/mind",template:"en",provider:"anthropic",providerConfigs:{anthropic:{apiKey:"",model:"claude-sonnet-4-6"},openai:{apiKey:"",model:"gpt-5.4",baseUrl:""}},webPort:3456,mcpPort:8781,authToken:"",webPassword:""}),[g,f]=(0,a.useState)("~"),[b,y]=(0,a.useState)(!1),[k,j]=(0,a.useState)(!1),[N,w]=(0,a.useState)(""),[A,S]=(0,a.useState)(!1),[C,T]=(0,a.useState)({checking:!1,available:null,isSelf:!1,suggestion:null}),[M,z]=(0,a.useState)({checking:!1,available:null,isSelf:!1,suggestion:null}),[O,I]=(0,a.useState)([]),[U,R]=(0,a.useState)(!1),[K,_]=(0,a.useState)(!1),[Z,Y]=(0,a.useState)(new Set),[q,G]=(0,a.useState)("auto"),[V,J]=(0,a.useState)("global"),[Q,X]=(0,a.useState)({}),[ee,et]=(0,a.useState)(null),[er,es]=(0,a.useState)("review");(0,a.useEffect)(()=>{fetch("/api/setup").then(e=>e.json()).then(e=>{e.homeDir&&f(e.homeDir),h(t=>{let r={...t.providerConfigs};if(e.providerConfigs&&"object"==typeof e.providerConfigs)for(let[t,s]of Object.entries(e.providerConfigs))(0,p.rl)(t)&&s&&(r[t]={apiKey:r[t]?.apiKey??"",model:s.model||p.T_[t].defaultModel,baseUrl:s.baseUrl??"",apiKeyMask:s.apiKeyMask||""});let s=e.provider&&(0,p.rl)(e.provider)?e.provider:t.provider;return{...t,mindRoot:e.mindRoot||t.mindRoot,webPort:"number"==typeof e.port?e.port:t.webPort,mcpPort:"number"==typeof e.mcpPort?e.mcpPort:t.mcpPort,authToken:e.authToken||t.authToken,webPassword:e.webPassword||t.webPassword,provider:s,providerConfigs:r}}),e.authToken||fetch("/api/setup/generate-token",{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}).then(e=>e.json()).then(e=>{e.token&&h(t=>({...t,authToken:e.token}))}).catch(e=>console.warn("[SetupWizard] Token generation failed:",e))}).catch(e=>{console.warn("[SetupWizard] Failed to load config, generating token as fallback:",e),fetch("/api/setup/generate-token",{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}).then(e=>e.json()).then(e=>{e.token&&h(t=>({...t,authToken:e.token}))}).catch(e=>console.warn("[SetupWizard] Fallback token generation also failed:",e))})},[]),(0,a.useEffect)(()=>{1===r&&(en(x.webPort,"web"),en(x.mcpPort,"mcp"))},[r]),(0,a.useEffect)(()=>{2!==r||K||U||(R(!0),fetch("/api/mcp/agents").then(e=>e.json()).then(e=>{e.agents&&(I(e.agents),Y(new Set(e.agents.filter(e=>e.installed||e.present).map(e=>e.key)))),_(!0)}).catch(e=>{console.warn("[SetupWizard] Failed to load agents:",e),_(!0)}).finally(()=>R(!1)))},[r,K,U]);let ea=(0,a.useCallback)((e,t)=>{h(r=>({...r,[e]:t}))},[]);(0,a.useCallback)(async e=>{try{let t=await fetch("/api/setup/generate-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({seed:e||void 0})}),r=await t.json();r.token&&h(e=>({...e,authToken:r.token}))}catch(e){console.warn("[SetupWizard] generateToken failed:",e)}},[]);let eo=(0,a.useCallback)(()=>{(0,c.l)(x.authToken).then(e=>{e&&u.oR.copy()})},[x.authToken]),en=(0,a.useCallback)(async(e,t)=>{if(e<1024||e>65535)return;let r="web"===t?T:z;r({checking:!0,available:null,isSelf:!1,suggestion:null});try{let t=await fetch("/api/setup/check-port",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({port:e})}),s=await t.json();r({checking:!1,available:s.available??null,isSelf:!!s.isSelf,suggestion:s.suggestion??null})}catch(e){console.warn("[SetupWizard] checkPort failed:",e),r({checking:!1,available:null,isSelf:!1,suggestion:null})}},[]),el=x.webPort===x.mcpPort,ei=async()=>{y(!0),w("");let e=Array.from(Z),t=x;if(!x.authToken)try{let e=await fetch("/api/setup/generate-token",{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}),r=await e.json();r.token&&(t={...x,authToken:r.token},h(t))}catch{}es("saving");try{await H(t)&&S(!0)}catch(e){w(e instanceof Error?e.message:String(e)),es("review"),y(!1);return}if(es("agents"),e.length>0){let r={};for(let t of e)r[t]={state:"installing"};X(r);try{let r=await W(e,O,q,V,t.mcpPort,t.authToken);X(r)}catch(r){console.warn("[SetupWizard] agent batch install failed:",r);let t={};for(let r of e)t[r]={state:"error"};X(t)}}y(!1),j(!0),es("done")},ed=(0,a.useCallback)(async e=>{X(t=>({...t,[e]:{state:"installing"}}));try{let t=L(e,O,q,V),r=await fetch("/api/mcp/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agents:[t],transport:q,url:`http://localhost:${x.mcpPort}/mcp`,token:x.authToken||void 0})}),s=await r.json();if(s.results?.[0]){let t=s.results[0];X(r=>({...r,[e]:F(t)}))}}catch(t){console.warn("[SetupWizard] retryAgent failed:",t),X(t=>({...t,[e]:{state:"error"}}))}},[O,V,q,x.mcpPort,x.authToken]);return(0,s.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center overflow-y-auto",role:"dialog","aria-modal":"true","aria-labelledby":"setup-title",style:{background:"var(--background)"},children:(0,s.jsxs)("div",{className:"w-full max-w-xl mx-auto px-6 py-12",children:[(0,s.jsx)("div",{className:"text-center mb-8",children:(0,s.jsxs)("div",{className:"inline-flex items-center gap-2 mb-2",children:[(0,s.jsx)(o.A,{size:18,style:{color:"var(--amber)"}}),(0,s.jsx)("h1",{id:"setup-title",className:"text-2xl font-semibold tracking-tight font-display",style:{color:"var(--foreground)"},children:"MindOS"})]})}),(0,s.jsx)("div",{className:"flex justify-center",children:(0,s.jsx)(B,{step:r,setStep:m,stepTitles:t.stepTitles,disabled:b||k,numberedSteps:3})}),(0,s.jsx)("h2",{className:"text-lg font-semibold mb-5",style:{color:"var(--foreground)"},children:3===r?`✓ ${t.stepTitles[r]}`:t.stepTitles[r]}),0===r&&(0,s.jsx)(v,{state:x,update:ea,t:e,homeDir:g}),1===r&&(0,s.jsx)(P,{state:x,update:ea,s:t,onCopyToken:eo,webPortStatus:C,mcpPortStatus:M,setWebPortStatus:T,setMcpPortStatus:z,checkPort:en,portConflict:el}),2===r&&(0,s.jsx)(E,{agents:O,agentsLoading:U,selectedAgents:Z,setSelectedAgents:Y,agentTransport:q,setAgentTransport:G,agentScope:V,setAgentScope:J,agentStatuses:Q,s:t,settingsMcp:e.settings.mcp,template:x.template}),3===r&&(0,s.jsx)($,{state:x,selectedAgents:Z,agentStatuses:Q,onRetryAgent:ed,error:N,needsRestart:A,s:t,skillInstallResult:ee,setupPhase:er}),(0,s.jsxs)("div",{className:"flex items-center justify-between mt-8 pt-6",style:{borderTop:"1px solid var(--border)"},children:[(0,s.jsxs)("button",{onClick:()=>m(r-1),disabled:0===r||b||k,className:"flex items-center gap-1 px-4 py-2 text-sm rounded-lg border border-border hover:bg-muted transition-colors disabled:opacity-30 disabled:cursor-not-allowed",style:{color:"var(--foreground)"},children:[(0,s.jsx)(n.A,{size:14})," ",t.back]}),r<3?(0,s.jsxs)("button",{onClick:()=>m(r+1),disabled:!(0===r?x.mindRoot.trim().length>0&&x.webPassword.trim().length>0:(1!==r||!el&&!C.checking&&!M.checking&&!1!==C.available&&!1!==M.available)&&!0),className:"flex items-center gap-1 px-4 py-2 text-sm rounded-lg transition-colors disabled:opacity-30 disabled:cursor-not-allowed",style:{background:"var(--amber)",color:"var(--amber-foreground)"},children:[t.next," ",(0,s.jsx)(l.A,{size:14})]}):k?A?(0,s.jsx)(D,{s:t,newPort:x.webPort}):(0,s.jsxs)("a",{href:"/?welcome=1",className:"flex items-center gap-1.5 px-5 py-2 text-sm font-medium rounded-lg transition-colors hover:opacity-90 focus-visible:ring-2 focus-visible:ring-ring",style:{background:"var(--amber)",color:"var(--amber-foreground)"},children:[t.healthGoHome??"Go to MindOS"," →"]}):(0,s.jsxs)("button",{onClick:ei,disabled:b,className:"flex items-center gap-1 px-5 py-2 text-sm font-medium rounded-lg transition-colors disabled:opacity-50",style:{background:"var(--amber)",color:"var(--amber-foreground)"},children:[b&&(0,s.jsx)(i.A,{size:14,className:"animate-spin"}),b?t.completing:t.complete]})]})]})})}},30125:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("skip-forward",[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]])},41585:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},41641:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},42129:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])},47376:(e,t,r)=>{"use strict";r.d(t,{Ot:()=>u,T_:()=>a,Ux:()=>c,bf:()=>l,jt:()=>o,rl:()=>n});var s=r(20699);r(87358);let a={anthropic:{id:"anthropic",name:"Anthropic",nameZh:"Anthropic",defaultModel:"claude-sonnet-4-6",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://console.anthropic.com/settings/keys",category:"primary"},openai:{id:"openai",name:"OpenAI",nameZh:"OpenAI",defaultModel:"gpt-5.4",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://platform.openai.com/api-keys",category:"primary"},google:{id:"google",name:"Google Gemini",nameZh:"Google Gemini",defaultModel:"gemini-2.5-flash",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,signupUrl:"https://aistudio.google.com/apikey",category:"primary"},groq:{id:"groq",name:"Groq",nameZh:"Groq",defaultModel:"llama-3.3-70b-versatile",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://console.groq.com/keys",category:"more"},xai:{id:"xai",name:"xAI (Grok)",nameZh:"xAI (Grok)",defaultModel:"grok-3",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},openrouter:{id:"openrouter",name:"OpenRouter",nameZh:"OpenRouter",defaultModel:"anthropic/claude-sonnet-4",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},mistral:{id:"mistral",name:"Mistral",nameZh:"Mistral",defaultModel:"mistral-large-latest",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},deepseek:{id:"deepseek",name:"DeepSeek",nameZh:"DeepSeek",defaultModel:"deepseek-chat",piProviderOverride:"openai",fixedBaseUrl:"https://api.deepseek.com/v1",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://platform.deepseek.com/api_keys",category:"more"},zai:{id:"zai",name:"ZhipuAI (GLM)",nameZh:"智谱 AI (GLM)",defaultModel:"glm-4-plus",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},"kimi-coding":{id:"kimi-coding",name:"Kimi Coding",nameZh:"Kimi Coding (月之暗面)",defaultModel:"kimi-k2-thinking",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},cerebras:{id:"cerebras",name:"Cerebras",nameZh:"Cerebras",defaultModel:"llama-4-scout-17b-16e",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},minimax:{id:"minimax",name:"MiniMax",nameZh:"MiniMax",defaultModel:"MiniMax-M1",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!1,category:"more"},huggingface:{id:"huggingface",name:"Hugging Face",nameZh:"Hugging Face",defaultModel:"Qwen/Qwen3-235B-A22B-Thinking-2507",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},ollama:{id:"ollama",name:"Ollama",nameZh:"Ollama (本地)",defaultModel:"llama3.2",piProviderOverride:"openai",fixedBaseUrl:"http://localhost:11434/v1",apiKeyFallback:"ollama",supportsBaseUrl:!0,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://ollama.com/download",category:"more"}},o=Object.keys(a);function n(e){return e in a}function l(){let e=[],t=[];for(let r of o)"primary"===a[r].category?e.push(r):t.push(r);return t.sort((e,t)=>a[e].name.localeCompare(a[t].name)),{primary:e,more:t}}function i(e){return a[e].piProviderOverride??e}let d={deepseek:"DEEPSEEK_API_KEY"};function c(e){return d[e]?d[e]:p[i(e)]}function u(e){let t=a[e];if(t.fixedBaseUrl)return t.fixedBaseUrl;try{let t=(0,s.zr)(i(e));return t[0]?.baseUrl??""}catch{return""}}let p={anthropic:"ANTHROPIC_API_KEY",openai:"OPENAI_API_KEY","azure-openai-responses":"AZURE_OPENAI_API_KEY",google:"GEMINI_API_KEY",groq:"GROQ_API_KEY",cerebras:"CEREBRAS_API_KEY",xai:"XAI_API_KEY",openrouter:"OPENROUTER_API_KEY",zai:"ZAI_API_KEY",mistral:"MISTRAL_API_KEY",minimax:"MINIMAX_API_KEY",huggingface:"HF_TOKEN","kimi-coding":"KIMI_API_KEY"}},48368:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},51842:(e,t,r)=>{"use strict";r.d(t,{A:()=>c});var s=r(95155),a=r(12115),o=r(12651),n=r(66088),l=r(30125),i=r(47376),d=r(91053);function c({value:e,onChange:t,showSkip:r=!1,compact:c=!1,configuredProviders:u}){let{locale:p}=(0,d.Y)(),[m,x]=(0,a.useState)(!1),h=(0,i.bf)(),g=r=>{let a=i.T_[r],n="zh"===p?a.nameZh:a.name,l=e===r,d=u?.has(r);return c?(0,s.jsxs)("button",{type:"button",onClick:()=>t(r),className:`flex items-center gap-2 px-3 py-2 rounded-lg border text-left transition-all text-sm ${l?"border-[var(--amber)] bg-[var(--amber-subtle)] shadow-sm":"border-border/50 hover:border-border hover:bg-muted/30"}`,children:[(0,s.jsx)("span",{className:`font-medium ${l?"text-foreground":"text-muted-foreground"}`,children:n}),d&&!l&&(0,s.jsx)(o.A,{size:12,className:"text-success ml-auto shrink-0"}),l&&(0,s.jsx)(o.A,{size:14,className:"ml-auto shrink-0",style:{color:"var(--amber)"}})]},r):(0,s.jsxs)("button",{type:"button",onClick:()=>t(r),className:"flex items-start gap-3 p-4 rounded-xl border text-left transition-all duration-150",style:{background:l?"var(--amber-dim)":"var(--card)",borderColor:l?"var(--amber)":"var(--border)"},children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("p",{className:"text-sm font-medium",style:{color:"var(--foreground)"},children:n}),(0,s.jsx)("p",{className:"text-xs mt-0.5",style:{color:"var(--muted-foreground)"},children:a.defaultModel})]}),d&&!l&&(0,s.jsx)(o.A,{size:14,className:"text-success shrink-0 mt-0.5"}),l&&(0,s.jsx)(o.A,{size:16,className:"shrink-0 mt-0.5",style:{color:"var(--amber)"}})]},r)},{primary:f,more:b}=h;return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("div",{className:c?"flex flex-wrap gap-2":"grid grid-cols-1 gap-2",children:f.map(g)}),b.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("button",{type:"button",onClick:()=>x(!m),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors py-1",children:[(0,s.jsx)(n.A,{size:12,className:`transition-transform ${m?"rotate-180":""}`}),m?"zh"===p?"收起":"Show less":"zh"===p?`更多 (${b.length})`:`More providers (${b.length})`]}),m&&(0,s.jsx)("div",{className:c?"flex flex-wrap gap-2":"grid grid-cols-1 gap-2",children:b.map(g)})]}),r&&(0,s.jsxs)("button",{type:"button",onClick:()=>t("skip"),className:"flex items-center gap-2 px-3 py-2 rounded-lg border text-left transition-all text-sm w-full mt-1",style:{background:"skip"===e?"var(--amber-dim)":"var(--card)",borderColor:"skip"===e?"var(--amber)":"var(--border)"},children:[(0,s.jsx)(l.A,{size:14,className:"shrink-0",style:{color:"skip"===e?"var(--amber)":"var(--muted-foreground)"}}),(0,s.jsx)("span",{className:`font-medium ${"skip"===e?"text-foreground":"text-muted-foreground"}`,children:"zh"===p?"暂时跳过":"Skip for now"}),"skip"===e&&(0,s.jsx)(o.A,{size:14,className:"ml-auto shrink-0",style:{color:"var(--amber)"}})]})]})}},60392:e=>{function t(e){return Promise.resolve().then(()=>{var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=60392,e.exports=t},62791:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},66088:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},67635:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},68806:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]])},68822:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},84825:e=>{function t(e){return Promise.resolve().then(()=>{var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=84825,e.exports=t},90425:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var s=r(12115);let a=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),o=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let l=(0,s.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:o,className:l="",children:i,iconNode:d,...c},u)=>(0,s.createElement)("svg",{ref:u,...n,width:t,height:t,stroke:e,strokeWidth:o?24*Number(r)/Number(t):r,className:a("lucide",l),...!i&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...d.map(([e,t])=>(0,s.createElement)(e,t)),...Array.isArray(i)?i:[i]])),i=(e,t)=>{let r=(0,s.forwardRef)(({className:r,...n},i)=>(0,s.createElement)(l,{ref:i,iconNode:t,className:a(`lucide-${o(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,r),...n}));return r.displayName=o(e),r}},92451:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},94514:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},97810:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])}},e=>{e.O(0,[4913,7266,1053,8441,3794,7358],()=>e(e.s=15721)),_N_E=e.O()}]);
|