@geminilight/mindos 0.6.40 → 0.6.42
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 +17 -16
- 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/routes-manifest.json +6 -0
- 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/mcp/uninstall/route.js +1 -0
- package/_standalone/.next/server/app/api/mcp/uninstall/route.js.nft.json +1 -0
- package/_standalone/.next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -0
- 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.js +4 -4
- 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 +17 -16
- 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 → 3262.js} +2 -2
- package/_standalone/.next/server/chunks/5648.js +2 -0
- package/_standalone/.next/server/chunks/6539.js +1 -1
- 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/GB-YReQ58tsvCuwlzrkMZ/_buildManifest.js +1 -0
- package/_standalone/.next/static/chunks/1053-67f0ce444d1227e2.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/.well-known/agent-card.json/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/_global-error/page-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-773071a99c4daac2.js +1 -0
- package/_standalone/.next/static/chunks/app/agents/page-eac6c5f6650dbf62.js +5 -0
- package/_standalone/.next/static/chunks/app/api/a2a/agents/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/a2a/discover/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/a2a/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/config/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/detect/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/install/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/registry/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/acp/session/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/agent-activity/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/ask/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/ask-sessions/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/auth/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/backlinks/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/bootstrap/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/changes/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/export/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/extract-pdf/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/file/import/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/file/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/files/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/git/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/graph/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/health/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/inbox/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/init/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/agents/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/install/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/restart/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/status/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/mcp/uninstall/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/monitoring/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/recent-files/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/restart/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/search/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/settings/list-models/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/settings/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/settings/test-key/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/check-path/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/check-port/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/ls/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/setup/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/skills/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/sync/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/tree-version/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/uninstall/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/update/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/update-check/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/update-status/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/api/workflows/route-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/echo/page-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/help/page-2325d25b6846ca07.js +1 -0
- package/_standalone/.next/static/chunks/app/{layout-9378c1c8d3e5761b.js → layout-7cb442df92212140.js} +55 -55
- package/_standalone/.next/static/chunks/app/{page-9bae420fbbdc5fff.js → page-aaee2d9bd3d3eabb.js} +1 -1
- package/_standalone/.next/static/chunks/app/setup/page-6132ea7632e08a9b.js +1 -0
- package/_standalone/.next/static/chunks/app/trash/{page-b61ef2d5cd4f8d73.js → page-7b5cbf541c315db2.js} +1 -1
- package/_standalone/.next/static/chunks/app/view/[...path]/loading-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/app/view/[...path]/page-b72e4f88c8c48181.js +12 -0
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-84943536516b00b2.js +1 -0
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-84943536516b00b2.js +1 -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/.next/types/routes.d.ts +2 -1
- package/_standalone/.next/types/validator.ts +9 -0
- 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 +27 -5
- 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 +7 -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/panels.ts +6 -2
- 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 +15 -3
- package/app/app/api/mcp/status/route.ts +14 -6
- package/app/app/api/mcp/uninstall/route.ts +130 -0
- package/app/app/api/skills/route.ts +14 -1
- 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 +27 -5
- 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 +16 -14
- package/app/components/setup/types.ts +7 -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/panels.ts +6 -2
- 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/app/lib/settings.ts +32 -0
- 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 +272 -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 +116 -21
- package/bin/lib/sse-stream.js +167 -0
- package/package.json +2 -2
- package/scripts/setup.js +210 -120
- package/skills/mindos/SKILL.md +94 -95
- package/skills/mindos-zh/SKILL.md +103 -106
- 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/.well-known/agent-card.json/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/_global-error/page-400c3c09b1540c14.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/api/a2a/agents/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/a2a/discover/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/a2a/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/acp/config/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/acp/detect/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/acp/install/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/acp/registry/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/acp/session/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/agent-activity/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/ask/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/ask-sessions/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/auth/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/backlinks/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/bootstrap/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/changes/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/export/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/extract-pdf/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/file/import/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/file/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/files/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/git/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/graph/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/health/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/inbox/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/init/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/mcp/agents/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/mcp/install/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/mcp/restart/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/mcp/status/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/monitoring/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/recent-files/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/restart/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/search/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/settings/list-models/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/settings/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/settings/test-key/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/setup/check-path/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/setup/check-port/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/setup/ls/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/setup/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/skills/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/sync/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/tree-version/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/uninstall/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/update/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/update-check/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/update-status/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/api/workflows/route-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/echo/page-400c3c09b1540c14.js +0 -1
- 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]/loading-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/app/view/[...path]/page-44fa78cbea613a78.js +0 -12
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-400c3c09b1540c14.js +0 -1
- package/_standalone/.next/static/css/d300701f384db50d.css +0 -1
- package/_standalone/.next/static/rZLs1krFuduixvcVNe6q3/_buildManifest.js +0 -1
- package/_standalone/components/renderers/agent-inspector/manifest.ts +0 -16
- /package/_standalone/.next/static/{rZLs1krFuduixvcVNe6q3 → GB-YReQ58tsvCuwlzrkMZ}/_ssgManifest.js +0 -0
|
@@ -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()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,165,635,706,910,1124,1131,1165,1212,1288,2036,2287,2437,2522,2772,2920,2950,3390,3757,3896,3945,4048,4230,4503,4558,4888,4896,5177,5245,5411,5620,5684,5704,5931,6202,6306,6819,6828,6988,7330,7538,7581,7607,7646,7711,7822,7851,8167,8181,8232,8616,8641,9120,9188,9303,9491,9596,9725,9861,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3637,9508],{4235:(e,t,r)=>{"use strict";r.d(t,{B1:()=>i,X8:()=>d,dV:()=>l,oR:()=>u});let n=[],s=[],a=0;function o(){for(let e of s)e()}function i(e){return s=[...s,e],()=>{s=s.filter(t=>t!==e)}}function l(){return n}function d(e){n=n.filter(t=>t.id!==e),o()}function c(e){let t=`toast-${++a}`,r={id:t,message:e.message,type:e.type??"info",duration:e.duration??2e3,action:e.action};n=[...n,r].slice(-3),o(),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})},6962:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(90425).A)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]])},7834:(e,t,r)=>{"use strict";async function n(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:()=>n})},10377:(e,t,r)=>{"use strict";r.d(t,{Z:()=>h});var n=r(12115);let s="mindos-pinned-files",a="mindos:pins-changed";function o(){try{let e=localStorage.getItem(s);return e?JSON.parse(e):[]}catch{return[]}}function i(){return c}let l=[];function d(){return l}let c=[],u=!1;function m(){u||(c=o(),u=!0)}function x(e){m();let t=t=>{t.key===s&&(c=o(),e())},r=()=>{c=o(),e()};return window.addEventListener("storage",t),window.addEventListener(a,r),()=>{window.removeEventListener("storage",t),window.removeEventListener(a,r)}}function p(e){c=e;try{localStorage.setItem(s,JSON.stringify(e))}catch{}window.dispatchEvent(new Event(a))}function h(){m();let e=(0,n.useSyncExternalStore)(x,i,d),t=(0,n.useCallback)(t=>e.includes(t),[e]),r=(0,n.useCallback)(e=>{let t=o(),r=t.indexOf(e);r>=0?t.splice(r,1):t.unshift(e),p(t)},[]);return{pinnedFiles:e,isPinned:t,togglePin:r,reorderPins:(0,n.useCallback)(e=>{p(e)},[]),removePin:(0,n.useCallback)(e=>{p(o().filter(t=>t!==e))},[])}}},21362:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(90425).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},22356:(e,t,r)=>{"use strict";r.d(t,{h:()=>n,n:()=>s});class n extends Error{constructor(e,t,r){super(e),this.name="ApiError",this.status=t,this.code=r}}async function s(e,t={}){let r,a,o,{timeout:i=3e4,signal:l,...d}=t;if((i>0||l)&&(r=new AbortController),i>0&&r&&(a=setTimeout(()=>{r.abort(Error(`Request timed out after ${Math.round(i/1e3)}s`))},i)),l&&r)if(l.aborted)r.abort();else{let e=()=>r?.abort();l.addEventListener("abort",e,{once:!0}),o=()=>{l.removeEventListener("abort",e)}}let c=r?.signal??l;try{let t=await fetch(e,{...d,signal:c});if(!t.ok){let e,r=`Request failed (${t.status})`;try{let n=await t.json();n?.error?.code&&n?.error?.message?(r=n.error.message,e=n.error.code):n?.error&&(r="string"==typeof n.error?n.error:n.error.message??r)}catch{}throw new n(r,t.status,e)}return await t.json()}finally{a&&clearTimeout(a),o&&o()}}},33210:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(90425).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},34367:(e,t,r)=>{"use strict";r.d(t,{default:()=>D});var n=r(95155),s=r(12115),a=r(98500),o=r.n(a),i=r(38798),l=r(33078),d=r(48368),c=r(42129),u=r(997),m=r(97810),x=r(67635),p=r(41585),h=r(49387),f=r(89363),g=r(33210),b=r(93631),v=r(37595);let y=(0,r(90425).A)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);var j=r(44406),w=r(91337),k=r(82125),N=r(91053);async function C(e){try{await navigator.clipboard.writeText(e)}catch{}}function A({node:e}){return"directory"===e.type?(0,n.jsx)(i.A,{size:16,className:"text-yellow-400 shrink-0"}):".csv"===e.extension?(0,n.jsx)(l.A,{size:16,className:"text-success shrink-0"}):(0,n.jsx)(d.A,{size:16,className:"text-muted-foreground shrink-0"})}function E({node:e}){return"directory"===e.type?(0,n.jsx)(c.A,{size:28,className:"text-yellow-400"}):".csv"===e.extension?(0,n.jsx)(l.A,{size:28,className:"text-success"}):(0,n.jsx)(d.A,{size:28,className:"text-muted-foreground"})}let z="mindos-dir-view",S="show-hidden-files";function M(e){let t=t=>{t.key===S&&e()},r=()=>e();return window.addEventListener("storage",t),window.addEventListener("mindos:hidden-files-changed",r),()=>{window.removeEventListener("storage",t),window.removeEventListener("mindos:hidden-files-changed",r)}}function L(){return"true"===localStorage.getItem(S)}function R({icon:e,title:t,lines:r,viewAllHref:s,viewAllLabel:a}){return 0===r.length?null:(0,n.jsxs)("div",{className:"bg-muted/30 border border-border/40 rounded-lg px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5 mb-2",children:[e,(0,n.jsx)("span",{className:"text-sm font-medium text-muted-foreground",children:t})]}),(0,n.jsx)("div",{className:"space-y-1",children:r.map((e,t)=>(0,n.jsxs)("p",{className:"text-sm text-muted-foreground/80 leading-relaxed",suppressHydrationWarning:!0,children:["\xb7 ",e]},t))}),(0,n.jsx)("div",{className:"flex justify-end mt-2",children:(0,n.jsx)(o(),{href:s,className:"text-xs hover:underline transition-colors text-[var(--amber)]",children:a})})]})}function T({preview:e,dirPath:t}){let{t:r}=(0,N.Y)(),s=e.instructionLines.length>0,a=e.readmeLines.length>0;return s||a?(0,n.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 mb-6",children:[s&&(0,n.jsx)(R,{icon:(0,n.jsx)(u.A,{size:14,className:"text-muted-foreground shrink-0"}),title:r.fileTree.rules,lines:e.instructionLines,viewAllHref:`/view/${(0,w.O0)(`${t}/INSTRUCTION.md`)}`,viewAllLabel:r.fileTree.viewAll}),a&&(0,n.jsx)(R,{icon:(0,n.jsx)(m.A,{size:14,className:"text-muted-foreground shrink-0"}),title:r.fileTree.about,lines:e.readmeLines,viewAllHref:`/view/${(0,w.O0)(`${t}/README.md`)}`,viewAllLabel:r.fileTree.viewAll})]}):null}function $({x:e,y:t,path:r,label:a,onClose:o}){let i=(0,s.useRef)(null),{t:l}=(0,N.Y)();(0,s.useEffect)(()=>{let e=e=>{i.current&&!i.current.contains(e.target)&&o()},t=e=>{"Escape"===e.key&&o()};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[o]);let d=Math.min(e,window.innerWidth-200),c=Math.min(t,window.innerHeight-60);return(0,n.jsx)("div",{ref:i,className:"fixed z-50 min-w-[160px] bg-card border border-border rounded-lg shadow-lg py-1",style:{top:c,left:d},children:(0,n.jsxs)("button",{className:"w-full flex items-center gap-2 px-3 py-1.5 text-sm text-foreground hover:bg-muted transition-colors text-left",onClick:()=>{C(r),o()},children:[(0,n.jsx)(x.A,{size:14,className:"shrink-0"})," ",l.fileTree.copyPath]})})}function P({dirPath:e}){let{t}=(0,N.Y)(),r="mindos-space-uninit-dismissed:"+e,[a,i]=(0,s.useState)(!1);return((0,s.useEffect)(()=>{"1"===localStorage.getItem(r)&&i(!0)},[r]),a)?null:(0,n.jsx)("div",{className:"mb-4 rounded-lg border border-error/40 bg-error/5 px-4 py-3",children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)(p.A,{size:18,className:"text-error shrink-0 mt-0.5"}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("p",{className:"text-sm font-medium text-foreground",children:t.dirView.uninitTitle}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground mt-1 leading-relaxed",children:t.dirView.uninitDesc}),(0,n.jsxs)("div",{className:"flex items-center gap-3 mt-2.5",children:[(0,n.jsxs)(o(),{href:`/view/${(0,w.O0)(`${e}/README.md`)}`,className:"inline-flex items-center gap-1 text-xs text-[var(--amber)] hover:underline",children:[(0,n.jsx)(h.A,{size:12})," ",t.dirView.uninitEditReadme]}),(0,n.jsxs)(o(),{href:`/view/${(0,w.O0)(`${e}/INSTRUCTION.md`)}`,className:"inline-flex items-center gap-1 text-xs text-[var(--amber)] hover:underline",children:[(0,n.jsx)(h.A,{size:12})," ",t.dirView.uninitEditInstruction]}),(0,n.jsxs)(o(),{href:"/settings",className:"inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:[(0,n.jsx)(f.A,{size:12})," ",t.dirView.uninitSettings]})]})]}),(0,n.jsx)("button",{onClick:()=>{localStorage.setItem(r,"1"),i(!0)},className:"text-muted-foreground hover:text-foreground transition-colors p-0.5 shrink-0","aria-label":"Dismiss",children:(0,n.jsx)(g.A,{size:14})})]})})}function D({dirPath:e,entries:t,spacePreview:r}){let[a,i]=[(0,s.useSyncExternalStore)(e=>{let t=()=>e();return window.addEventListener("mindos-dir-view-change",t),()=>window.removeEventListener("mindos-dir-view-change",t)},()=>{let e=localStorage.getItem(z);return"list"===e||"grid"===e?e:"grid"},()=>"grid"),e=>{localStorage.setItem(z,e),window.dispatchEvent(new Event("mindos-dir-view-change"))}],l=(0,s.useSyncExternalStore)(M,L,()=>!1),{t:d}=(0,N.Y)(),u=e=>(0,w.KW)(e,d.home.relativeTime),[m,x]=(0,s.useState)(null),p=(0,s.useCallback)((e,t)=>{e.preventDefault(),e.stopPropagation(),x({x:e.clientX,y:e.clientY,path:t})},[]),h=(0,s.useMemo)(()=>l?t:t.filter(e=>"file"!==e.type||!k.C.has(e.name)),[t,l]),f=(0,s.useMemo)(()=>{let e=new Map;for(let t of h)e.set(t.path,function e(t){return"file"===t.type?1:(t.children||[]).reduce((t,r)=>t+e(r),0)}(t));return e},[h]);return(0,n.jsxs)("div",{className:"flex flex-col min-h-screen",children:[(0,n.jsx)("div",{className:"sticky top-[52px] md:top-0 z-20 border-b border-border px-4 md:px-6 py-2.5 bg-background",children:(0,n.jsxs)("div",{className:"max-w-[860px] mx-auto flex items-center justify-between gap-2",children:[(0,n.jsx)("div",{className:"min-w-0 flex-1",children:(0,n.jsx)(j.A,{filePath:e})}),(0,n.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,n.jsxs)(o(),{href:`/view/${(0,w.O0)(e?`${e}/Untitled.md`:"Untitled.md")}`,className:"flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-lg transition-colors text-muted-foreground hover:text-foreground hover:bg-muted",children:[(0,n.jsx)(b.A,{size:13}),(0,n.jsx)("span",{className:"hidden sm:inline",children:d.dirView.newFile})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1 p-1 bg-muted rounded-lg",children:[(0,n.jsx)("button",{onClick:()=>i("grid"),className:`p-1.5 rounded transition-colors ${"grid"===a?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,title:d.dirView.gridView,children:(0,n.jsx)(v.A,{size:14})}),(0,n.jsx)("button",{onClick:()=>i("list"),className:`p-1.5 rounded transition-colors ${"list"===a?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,title:d.dirView.listView,children:(0,n.jsx)(y,{size:14})})]})]})]})}),(0,n.jsx)("div",{className:"flex-1 px-4 md:px-6 py-6",children:(0,n.jsxs)("div",{className:"max-w-[860px] mx-auto",children:[r?.isTemplate&&(0,n.jsx)(P,{dirPath:e}),r&&!r.isTemplate&&(0,n.jsx)(T,{preview:r,dirPath:e}),0===h.length?(0,n.jsx)("p",{className:"text-muted-foreground text-sm",children:d.dirView.emptyFolder}):"grid"===a?(0,n.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 xl:grid-cols-5 gap-3",children:h.map(e=>(0,n.jsxs)(o(),{href:`/view/${(0,w.O0)(e.path)}`,onContextMenu:t=>p(t,e.path),className:"directory"===e.type?"flex flex-col items-center gap-1.5 p-3 rounded-xl border border-border bg-card hover:bg-accent hover:border-border/80 transition-all duration-100 text-center":"flex flex-col items-center gap-2 p-4 rounded-xl border border-border bg-card hover:bg-accent hover:border-border/80 transition-all duration-100 text-center",children:["directory"===e.type?(0,n.jsx)(c.A,{size:22,className:"text-yellow-400"}):(0,n.jsx)(E,{node:e}),(0,n.jsx)("span",{className:"text-xs text-foreground leading-snug line-clamp-2 w-full",title:e.name,suppressHydrationWarning:!0,children:e.name}),"directory"===e.type&&(0,n.jsx)("span",{className:"text-2xs text-muted-foreground",children:d.dirView.fileCount(f.get(e.path)??0)}),"file"===e.type&&e.mtime&&(0,n.jsx)("span",{className:"text-2xs text-muted-foreground font-display",suppressHydrationWarning:!0,children:u(e.mtime)})]},e.path))}):(0,n.jsx)("div",{className:"flex flex-col divide-y divide-border border border-border rounded-xl overflow-hidden",children:h.map(e=>(0,n.jsxs)(o(),{href:`/view/${(0,w.O0)(e.path)}`,onContextMenu:t=>p(t,e.path),className:"flex items-center gap-3 px-4 py-3 bg-card hover:bg-accent transition-colors duration-100",children:[(0,n.jsx)(A,{node:e}),(0,n.jsx)("span",{className:"flex-1 text-sm text-foreground truncate",title:e.name,suppressHydrationWarning:!0,children:e.name}),"directory"===e.type?(0,n.jsx)("span",{className:"text-xs text-muted-foreground shrink-0",children:d.dirView.fileCount(f.get(e.path)??0)}):e.mtime?(0,n.jsx)("span",{className:"text-xs text-muted-foreground shrink-0 tabular-nums font-display",suppressHydrationWarning:!0,children:u(e.mtime)}):null]},e.path))})]})}),m&&(0,n.jsx)($,{x:m.x,y:m.y,path:m.path,label:d.fileTree.copyPath,onClose:()=>x(null)})]})}},36506:(e,t,r)=>{"use strict";r.d(t,{default:()=>ef});var n=r(95155),s=r(12115),a=r(73321),o=r(80723),i=r(48368),l=r(90425);let d=(0,l.A)("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);var c=r(95057);let u=(0,l.A)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]),m=(0,l.A)("pen-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]);var x=r(33210),p=r(6296),h=r(55243),f=r(94290),g=r(6962),b=r(60285),v=r(67635),y=r(49387),j=r(68459),w=r(63637);function k({content:e}){let t=(0,s.useMemo)(()=>{try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},[e]);return(0,n.jsx)("pre",{className:"rounded-xl border border-border bg-card px-4 py-3 overflow-x-auto text-sm leading-relaxed font-display",children:(0,n.jsx)("code",{suppressHydrationWarning:!0,children:t})})}var N=r(59386),C=r.n(N),A=r(9921),E=r(66088),z=r(56563),S=r(51914);function M(e,t){return C().unparse([e,...t])}function L({value:e,editable:t,onCommit:r}){let[a,o]=(0,s.useState)(!1),[i,l]=(0,s.useState)(e),d=(0,s.useRef)(null);function c(){o(!1),i!==e&&r(i)}return((0,s.useEffect)(()=>{a&&d.current?.select()},[a]),a)?(0,n.jsx)("input",{ref:d,value:i,onChange:e=>l(e.target.value),onBlur:c,onKeyDown:t=>{"Enter"===t.key&&c(),"Escape"===t.key&&(l(e),o(!1))},className:"w-full bg-transparent outline-none text-sm",style:{color:"var(--foreground)",borderBottom:"1px solid var(--amber)",minWidth:60},onClick:e=>e.stopPropagation()}):(0,n.jsx)("div",{className:`truncate text-sm ${t?"cursor-text":""}`,style:{color:"var(--foreground)",minWidth:60},onClick:t?function(){t&&(l(e),o(!0))}:void 0,title:e,children:e||(0,n.jsx)("span",{style:{color:"var(--muted-foreground)",opacity:.4},children:"—"})})}function R({headers:e,onAdd:t,onCancel:r}){let[a,o]=(0,s.useState)(()=>Array(e.length).fill("")),i=(0,s.useRef)(null);return(0,n.jsxs)("tr",{style:{background:"color-mix(in srgb, var(--amber) 6%, transparent)",borderTop:"1px solid var(--amber)"},children:[e.map((e,s)=>(0,n.jsx)("td",{className:"px-3 py-2",style:{borderBottom:"1px solid var(--border)"},children:(0,n.jsx)("input",{ref:0===s?i:void 0,autoFocus:0===s,value:a[s],onChange:e=>{var t;return t=e.target.value,void o(e=>{let r=[...e];return r[s]=t,r})},onKeyDown:e=>{"Enter"===e.key&&t(a),"Escape"===e.key&&r()},placeholder:e,className:"w-full bg-transparent outline-none text-sm placeholder:opacity-30",style:{color:"var(--foreground)",borderBottom:"1px solid var(--border)"}})},s)),(0,n.jsx)("td",{className:"px-2 py-2",style:{borderBottom:"1px solid var(--border)"}})]})}function T({content:e,appendAction:t,saveAction:r}){let[a,o]=(0,s.useState)(e),[i,l]=(0,s.useState)(null),[d,c]=(0,s.useState)(null),[u,m]=(0,s.useState)(!1),[x,h]=(0,s.useState)(!1),f=(0,s.useMemo)(()=>C().parse(a,{skipEmptyLines:!0}).data,[a]),g=f[0]||[],b=f.slice(1),v=(0,s.useMemo)(()=>null===i||null===d?b:[...b].sort((e,t)=>{let r=e[i]??"",n=t[i]??"",s=parseFloat(r),a=parseFloat(n);return isNaN(s)||isNaN(a)?"asc"===d?r.localeCompare(n):n.localeCompare(r):"asc"===d?s-a:a-s}),[b,i,d]),y=(0,s.useCallback)(async(e,t,n)=>{if(!r)return;let s=M(g,b.map(r=>r===v[e]?r.map((e,r)=>r===t?n:e):r));o(s),h(!0);try{await r(s)}catch(e){console.error("[CsvView] Cell save failed:",e)}finally{h(!1)}},[r,b,v,g]),w=(0,s.useCallback)(async e=>{if(!r||x)return;let t=v[e],n=M(g,b.filter(e=>e!==t));o(n),h(!0);try{await r(n)}catch(e){console.error("[CsvView] Row delete failed:",e)}finally{h(!1)}},[r,b,v,g,x]),k=(0,s.useCallback)(async e=>{h(!0);try{if(t){let r=await t(e);o(r.newContent)}else if(r){let t=M(g,[...b,e]);o(t),await r(t)}m(!1)}catch(e){console.error("[CsvView] Add row failed:",e)}finally{h(!1)}},[t,r,g,b]),N=!!r||!!t;return 0===g.length?(0,n.jsx)("div",{className:"text-sm py-4",style:{color:"var(--muted-foreground)"},children:"Empty CSV file"}):(0,n.jsxs)("div",{className:"w-full rounded-xl overflow-hidden border",style:{borderColor:"var(--border)"},children:[(0,n.jsx)("div",{className:"overflow-x-auto",children:(0,n.jsxs)("table",{className:"min-w-full text-sm border-collapse",children:[(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{style:{background:"var(--muted)"},children:[g.map((e,t)=>(0,n.jsx)("th",{onClick:()=>(function(e){if(i!==e){l(e),c("asc");return}"asc"===d?c("desc"):(l(null),c(null))})(t),className:"px-4 py-2.5 text-left font-semibold cursor-pointer select-none whitespace-nowrap transition-colors hover:bg-accent",style:{color:"var(--foreground)",borderBottom:"1px solid var(--border)",fontSize:"0.75rem",letterSpacing:"0.04em",textTransform:"uppercase"},children:(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("span",{children:e}),i===t?"asc"===d?(0,n.jsx)(A.A,{size:11,style:{color:"var(--amber)"}}):(0,n.jsx)(E.A,{size:11,style:{color:"var(--amber)"}}):(0,n.jsx)(z.A,{size:11,style:{color:"var(--muted-foreground)",opacity:.4}})]})},t)),N&&(0,n.jsx)("th",{className:"w-8",style:{borderBottom:"1px solid var(--border)",background:"var(--muted)"}})]})}),(0,n.jsxs)("tbody",{children:[v.map((e,t)=>(0,n.jsxs)("tr",{className:"group transition-colors",style:{background:t%2==0?"var(--background)":"var(--card)"},onMouseEnter:e=>e.currentTarget.style.background="var(--muted)",onMouseLeave:e=>e.currentTarget.style.background=t%2==0?"var(--background)":"var(--card)",children:[g.map((s,a)=>(0,n.jsx)("td",{className:"px-4 py-2.5 max-w-xs",style:{borderBottom:"1px solid var(--border)"},children:(0,n.jsx)(L,{value:e[a]??"",editable:!!r,onCommit:e=>y(t,a,e)})},a)),N&&(0,n.jsx)("td",{className:"px-2 py-2",style:{borderBottom:"1px solid var(--border)"},children:r&&(0,n.jsx)("button",{onClick:()=>w(t),disabled:x,className:"opacity-0 group-hover:opacity-100 transition-opacity p-1 rounded hover:bg-destructive/10 disabled:opacity-30",style:{color:"var(--muted-foreground)"},title:x?"Saving...":"Delete row",children:(0,n.jsx)(j.A,{size:12})})})]},t)),u&&(0,n.jsx)(R,{headers:g,onAdd:k,onCancel:()=>m(!1)})]})]})}),(0,n.jsxs)("div",{className:"px-4 py-2 flex items-center justify-between",style:{background:"var(--muted)",borderTop:"1px solid var(--border)"},children:[(0,n.jsxs)("span",{className:"text-xs font-display flex items-center gap-1.5",style:{color:"var(--muted-foreground)"},children:[b.length," rows \xb7 ",g.length," cols",x&&(0,n.jsx)(p.A,{size:10,className:"animate-spin",style:{color:"var(--amber)"}})]}),N&&!u&&(0,n.jsxs)("button",{onClick:()=>m(!0),className:"flex items-center gap-1 text-xs px-2.5 py-1 rounded-md transition-colors font-display",style:{color:"var(--amber)",background:"var(--amber-dim)"},children:[(0,n.jsx)(S.A,{size:12}),"Add row"]}),u&&(0,n.jsx)("button",{onClick:()=>m(!1),className:"text-xs px-2.5 py-1 rounded-md transition-colors font-display",style:{color:"var(--muted-foreground)"},children:"Cancel"})]})]})}var $=r(98500),P=r.n($);let D=(0,l.A)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var I=r(91053),F=r(22356);function O({filePath:e}){let[t,r]=(0,s.useState)([]),[a,o]=(0,s.useState)(!0),{t:l}=(0,I.Y)();return((0,s.useEffect)(()=>{o(!0),(0,F.n)(`/api/backlinks?path=${encodeURIComponent(e)}`).then(e=>{r(Array.isArray(e)?e:[]),o(!1)}).catch(()=>{r([]),o(!1)})},[e]),a||0!==t.length)?(0,n.jsxs)("div",{className:"mt-12 pt-8 border-t border-border",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 mb-6 text-muted-foreground",children:[(0,n.jsx)(D,{size:16,className:"text-[var(--amber)]/70"}),(0,n.jsx)("h3",{className:"text-sm font-semibold tracking-wider uppercase font-display",children:l.common?.relatedFiles||"Related Files"}),(0,n.jsx)("span",{className:"text-xs bg-muted px-1.5 py-0.5 rounded-full font-mono",children:t.length})]}),(0,n.jsx)("div",{className:"grid gap-3",children:a?(0,n.jsx)("div",{className:"space-y-3",children:[1,2].map(e=>(0,n.jsx)("div",{className:"h-20 bg-muted/30 rounded-lg animate-pulse"},e))}):t.map(e=>(0,n.jsx)(P(),{href:`/view/${e.filePath.split("/").map(encodeURIComponent).join("/")}`,className:"group block p-4 rounded-xl border border-border/50 bg-card/30 hover:bg-muted/30 hover:border-[var(--amber)]/30 transition-all duration-200",children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)("div",{className:"mt-1 p-1.5 rounded-md bg-muted group-hover:bg-[var(--amber)]/10 transition-colors",children:(0,n.jsx)(i.A,{size:14,className:"text-muted-foreground group-hover:text-[var(--amber)]"})}),(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("div",{className:"font-medium text-sm text-foreground group-hover:text-[var(--amber)] transition-colors truncate mb-1",title:e.filePath,children:e.filePath}),(0,n.jsx)("div",{className:"text-xs text-muted-foreground line-clamp-2 leading-relaxed italic opacity-80 group-hover:opacity-100 transition-opacity",title:e.snippets[0]||"",children:e.snippets[0]||""})]})]})},e.filePath))})]}):null}var H=r(77148),V=r(44406),U=r(37206),W=r(8434);let B=(0,l.A)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var _=r(7915);let Y=(0,U.default)(()=>Promise.all([r.e(6079),r.e(8131),r.e(362)]).then(r.bind(r,90362)),{loadableGenerated:{webpack:()=>[90362]},ssr:!1,loading:()=>(0,n.jsx)("div",{className:"h-full w-full min-h-[400px] rounded-lg border border-border bg-background flex items-center justify-center",children:(0,n.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground text-sm",children:[(0,n.jsx)("div",{className:"w-4 h-4 border-2 border-border border-t-foreground rounded-full animate-spin"}),(0,n.jsx)("span",{children:"Loading editor..."})]})})}),K=(0,U.default)(()=>Promise.all([r.e(5004),r.e(277),r.e(1007),r.e(6087)]).then(r.bind(r,16087)),{loadableGenerated:{webpack:()=>[16087]},ssr:!1}),q=[{id:"wysiwyg",icon:(0,n.jsx)(y.A,{size:12}),label:"WYSIWYG"},{id:"split",icon:(0,n.jsx)(W.A,{size:12}),label:"Split"},{id:"source",icon:(0,n.jsx)(B,{size:12}),label:"Source"},{id:"preview",icon:(0,n.jsx)(_.A,{size:12}),label:"Preview"}];function G({value:e,onChange:t,viewMode:r,onViewModeChange:s}){return(0,n.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,n.jsx)("div",{className:"flex items-center gap-1 p-1 bg-muted rounded-lg self-start",children:q.map(e=>(0,n.jsxs)("button",{onClick:()=>s(e.id),className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded text-xs font-medium transition-colors font-display ${r===e.id?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:[e.icon,e.label]},e.id))}),(0,n.jsxs)("div",{className:"rounded-xl overflow-hidden border border-border flex",style:{height:"calc(100vh - 160px)"},children:["wysiwyg"===r&&(0,n.jsx)("div",{className:"w-full h-full overflow-hidden",children:(0,n.jsx)(K,{value:e,onChange:t})}),"split"===r&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"w-1/2 h-full overflow-auto border-r border-border",children:(0,n.jsx)(Y,{value:e,onChange:t,language:"markdown"})}),(0,n.jsx)("div",{className:"w-1/2 h-full overflow-auto bg-background",children:(0,n.jsx)("div",{className:"px-6 py-5",children:(0,n.jsx)(w.default,{content:e})})})]}),"source"===r&&(0,n.jsx)("div",{className:"w-full h-full overflow-auto",children:(0,n.jsx)(Y,{value:e,onChange:t,language:"markdown"})}),"preview"===r&&(0,n.jsx)("div",{className:"w-full h-full overflow-auto bg-background",children:(0,n.jsx)("div",{className:"px-6 py-5",children:(0,n.jsx)(w.default,{content:e})})})]})]})}var J=r(21362),Z=r(36306),X=r(91337);function Q({content:e}){let{t}=(0,I.Y)(),{headings:r,minLevel:a}=(0,s.useMemo)(()=>{let t=function(e){let t=new Z.A,r=e.split("\n"),n=[],s=!1;for(let e of r){if(/^(`{3,}|~{3,})/.test(e)){s=!s;continue}if(s)continue;let r=e.match(/^(#{1,4})\s+(.+)/);if(r){let e=r[1].length,s=r[2].trim(),a=t.slug(s);n.push({id:a,text:s,level:e})}}return n}(e);return{headings:t,minLevel:t.length>0?Math.min(...t.map(e=>e.level)):1}},[e]),[o,i]=(0,s.useState)(""),[l,d]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e=document.documentElement.style;return e.setProperty("--toc-width",l?"0px":"212px"),l?e.removeProperty("--toc-margin"):e.setProperty("--toc-margin","220px"),()=>{e.removeProperty("--toc-width"),e.removeProperty("--toc-margin")}},[l]);let c=(0,s.useRef)(null),u=(0,s.useRef)(null),m=(0,s.useRef)(new Map),x=(0,s.useCallback)(e=>{let t=m.current.get(e),r=u.current;if(!t||!r||!t.isConnected)return;let n=r.getBoundingClientRect(),s=t.getBoundingClientRect(),a=s.top<n.top+40,o=s.bottom>n.bottom-40;(a||o)&&t.scrollIntoView({block:"center",behavior:"auto"})},[]);return((0,s.useEffect)(()=>{if(0===r.length)return;let e=setTimeout(()=>{let e=r.map(e=>document.getElementById(e.id)).filter(Boolean);0!==e.length&&(c.current?.disconnect(),c.current=new IntersectionObserver(e=>{for(let t of e)if(t.isIntersecting){i(t.target.id),x(t.target.id);break}},{rootMargin:"-56px 0% -70% 0%",threshold:0}),e.forEach(e=>c.current?.observe(e)))},150);return()=>{clearTimeout(e),c.current?.disconnect()}},[r]),r.length<2)?null:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{onClick:()=>d(e=>!e),className:"hidden xl:flex fixed z-10 top-[50px] flex items-center justify-center w-5 h-8 rounded-l-md border border-r-0 border-border hover:bg-muted transition-colors",style:{right:`calc(var(--right-panel-width, 0px) + ${212*!l}px)`,background:"var(--background)",transition:"right 200ms ease-in-out"},title:l?t.view.tocExpand:t.view.tocCollapse,children:(0,n.jsx)(J.A,{size:11,className:"text-muted-foreground/60 transition-transform duration-200",style:{transform:l?"rotate(180deg)":"rotate(0deg)"}})}),(0,n.jsx)("aside",{className:"hidden xl:flex flex-col fixed z-10 overflow-hidden",style:{top:44,height:"calc(100vh - 44px)",width:212,right:"var(--right-panel-width, 0px)",transform:l?"translateX(212px)":"translateX(0)",transition:"transform 200ms ease-in-out, right 200ms ease-out"},children:(0,n.jsxs)("nav",{ref:u,"aria-label":t.view.tocTitle,className:"flex flex-col gap-0.5 overflow-y-auto min-h-0 flex-1 py-5 pl-2 pr-3 border-l border-border",style:{background:"var(--background)"},children:[(0,n.jsx)("p",{className:"text-2xs font-semibold uppercase tracking-wider px-2 mb-1 text-muted-foreground/50 shrink-0",children:t.view.tocTitle}),r.map((e,t)=>{let r=(e.level-a)*14,s=o===e.id,l=e.level>a;return(0,n.jsx)("a",{ref:t=>{t?m.current.set(e.id,t):m.current.delete(e.id)},href:`#${e.id}`,onClick:t=>((e,t)=>{e.preventDefault();let r=document.getElementById(t);if(!r)return;let n=r.getBoundingClientRect().top+window.scrollY-56;window.scrollTo({top:n,behavior:"smooth"}),i(t)})(t,e.id),className:(0,X.cn)("block text-xs py-1 rounded transition-colors duration-100 leading-snug shrink-0 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",s&&"font-medium"),style:{paddingLeft:`${8+r}px`,paddingRight:"8px",borderLeft:"2px solid",borderLeftColor:s?"var(--amber)":l?"var(--border)":"transparent",marginLeft:l?"7px":"0",...s?{color:"var(--amber)",background:"var(--amber-dim)"}:{color:"var(--muted-foreground)"}},title:e.text,children:(0,n.jsx)("span",{className:"line-clamp-2",suppressHydrationWarning:!0,children:e.text})},`${e.id}-${t}`)})]})})]})}let ee="findip-highlight",et="findip-active";function er({containerRef:e,onClose:t}){let{t:r}=(0,I.Y)(),[a,o]=(0,s.useState)(""),[i,l]=(0,s.useState)(0),d=(0,s.useRef)(null),c=(0,s.useRef)([]);(0,s.useEffect)(()=>{d.current?.focus()},[]);let u=(0,s.useCallback)(()=>{for(let e of c.current){let t=e.parentNode;t&&(t.replaceChild(document.createTextNode(e.textContent||""),e),t.normalize())}c.current=[]},[]);(0,s.useEffect)(()=>{u(),l(0);let t=e.current;if(!t||!a.trim())return;let r=a.toLowerCase(),n=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode:e=>e.parentElement?.closest("[data-find-in-page]")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),s=[];for(;n.nextNode();)s.push(n.currentNode);let o=[];for(let e of s){let t=e.textContent||"",n=t.toLowerCase(),s=0,a=[];for(;;){let e=n.indexOf(r,s);if(-1===e)break;a.push(e),s=e+r.length}if(0===a.length)continue;let i=e.parentNode;if(!i)continue;let l=document.createDocumentFragment(),d=0;for(let e of a){e>d&&l.appendChild(document.createTextNode(t.slice(d,e)));let n=document.createElement("mark");n.className=ee,n.textContent=t.slice(e,e+r.length),l.appendChild(n),o.push(n),d=e+r.length}d<t.length&&l.appendChild(document.createTextNode(t.slice(d))),i.replaceChild(l,e)}return c.current=o,l(+(o.length>0)),o.length>0&&(o[0].classList.add(et),o[0].scrollIntoView({block:"center",behavior:"smooth"})),()=>{}},[a,e,u]),(0,s.useEffect)(()=>()=>{u()},[u]);let m=c.current.length,p=(0,s.useCallback)(e=>{let t=c.current;if(0===t.length)return;for(let e of t)e.classList.remove(et);let r=((e-1)%t.length+t.length)%t.length;t[r].classList.add(et),t[r].scrollIntoView({block:"center",behavior:"smooth"}),l(r+1)},[]),h=(0,s.useCallback)(()=>p(i+1),[i,p]),f=(0,s.useCallback)(()=>p(i-1),[i,p]),g=(0,s.useCallback)(e=>{"Escape"===e.key?(e.preventDefault(),t()):"Enter"===e.key&&(e.preventDefault(),e.shiftKey?f():h())},[t,h,f]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("style",{children:`
|
|
2
|
-
mark.${ee} {
|
|
3
|
-
background: rgba(250, 204, 21, 0.3);
|
|
4
|
-
color: inherit;
|
|
5
|
-
border-radius: 2px;
|
|
6
|
-
padding: 0;
|
|
7
|
-
}
|
|
8
|
-
mark.${et} {
|
|
9
|
-
background: rgba(250, 204, 21, 0.7);
|
|
10
|
-
outline: 2px solid rgba(250, 204, 21, 0.5);
|
|
11
|
-
}
|
|
12
|
-
`}),(0,n.jsx)("div",{className:"sticky top-[96px] md:top-[44px] z-30 flex justify-end px-4 md:px-6 pointer-events-none","data-find-in-page":!0,children:(0,n.jsxs)("div",{className:"pointer-events-auto flex items-center gap-1.5 px-3 py-1.5 rounded-lg border border-border bg-card shadow-lg",children:[(0,n.jsx)("input",{ref:d,type:"text",value:a,onChange:e=>o(e.target.value),onKeyDown:g,placeholder:r.findInPage.placeholder,className:"w-[180px] sm:w-[220px] px-2 py-1 text-sm bg-transparent text-foreground placeholder:text-muted-foreground outline-none"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums shrink-0 min-w-[48px] text-center font-display",children:a.trim()?m>0?r.findInPage.matchCount(i,m):r.findInPage.noResults:""}),(0,n.jsx)("button",{onClick:f,disabled:0===m,className:"p-1 rounded text-muted-foreground hover:text-foreground disabled:opacity-30 transition-colors","aria-label":"Previous match",children:(0,n.jsx)(A.A,{size:14})}),(0,n.jsx)("button",{onClick:h,disabled:0===m,className:"p-1 rounded text-muted-foreground hover:text-foreground disabled:opacity-30 transition-colors","aria-label":"Next match",children:(0,n.jsx)(E.A,{size:14})}),(0,n.jsx)("button",{onClick:t,className:"p-1 rounded text-muted-foreground hover:text-foreground transition-colors","aria-label":"Close find",children:(0,n.jsx)(x.A,{size:14})})]})})]})}var en=r(46838),es=r(70620),ea=r(65214),eo=r(77673),ei=r(49896),el=r(4235),ed=r(39498),ec=r(97631),eu=r(10377);let em=(0,l.A)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var ex=r(92451),ep=r(94514);function eh({open:e,onClose:t,filePath:r,isDirectory:a,fileName:o}){let{t:l}=(0,I.Y)(),[d,c]=(0,s.useState)(a?"zip":"md"),[u,m]=(0,s.useState)("idle"),[h,f]=(0,s.useState)(""),b=(0,s.useRef)(null),v=(0,s.useCallback)(()=>{m("exporting"),f("");let e=new AbortController;b.current=e,fetch(`/api/export?path=${encodeURIComponent(r)}&format=${d}`,{signal:e.signal}).then(e=>{if(!e.ok){if((e.headers.get("content-type")??"").includes("json"))return e.json().then(e=>{throw Error(e.error||"Export failed")});throw Error(`Export failed (${e.status})`)}return e.blob().then(t=>({blob:t,res:e}))}).then(({blob:e,res:t})=>{let r=(t.headers.get("Content-Disposition")??"").match(/filename="?([^"]+)"?/),n=r?decodeURIComponent(r[1]):o,s=document.createElement("a");s.href=URL.createObjectURL(e),s.download=n,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(s.href),m("done"),el.oR.success(l.export?.downloaded??"Downloaded")}).catch(e=>{"AbortError"!==e.name&&(m("error"),f(e.message??"Export failed"))}).finally(()=>{b.current=null})},[r,d,o,l]),y=(0,s.useCallback)(()=>{b.current&&(b.current.abort(),b.current=null),m("idle"),f("")},[]),j=(0,s.useCallback)(()=>{m("idle"),f("")},[]),w=(0,s.useCallback)(()=>{b.current&&b.current.abort(),b.current=null,m("idle"),f(""),t()},[t]);if(!e)return null;let k=a?[{value:"zip",label:l.export?.formatZipMd??"Markdown ZIP",desc:l.export?.formatZipMdDesc??"All files in original format",icon:(0,n.jsx)(em,{size:14})},{value:"zip-html",label:l.export?.formatZipHtml??"HTML ZIP",desc:l.export?.formatZipHtmlDesc??"All files as webpages",icon:(0,n.jsx)(ex.A,{size:14})}]:[{value:"md",label:l.export?.formatMd??"Markdown (.md)",desc:l.export?.formatMdDesc??"Original format, editable",icon:(0,n.jsx)(i.A,{size:14})},{value:"html",label:l.export?.formatHtml??"HTML (.html)",desc:l.export?.formatHtmlDesc??"Static webpage, shareable",icon:(0,n.jsx)(ex.A,{size:14})}];return(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 backdrop-blur-sm",onClick:"exporting"===u?void 0:w,children:(0,n.jsxs)("div",{className:"bg-card border border-border rounded-xl shadow-xl max-w-md w-full mx-4 animate-in fade-in-0 zoom-in-95 duration-200",onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-border",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(g.A,{size:15,className:"text-[var(--amber)]"}),(0,n.jsx)("h3",{className:"text-sm font-semibold font-display",children:a?l.export?.exportSpace??"Export Space":l.export?.exportFile??"Export File"})]}),(0,n.jsx)("button",{onClick:w,className:"p-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring","aria-label":l.export?.cancel??"Close",children:(0,n.jsx)(x.A,{size:14})})]}),(0,n.jsx)("div",{className:"px-5 py-4",children:"done"===u?(0,n.jsxs)("div",{className:"text-center py-6",children:[(0,n.jsx)("div",{className:"w-10 h-10 rounded-full bg-success/10 flex items-center justify-center mx-auto mb-3",children:(0,n.jsx)(ep.A,{size:20,className:"text-success"})}),(0,n.jsx)("p",{className:"text-sm font-medium font-display",children:l.export?.done??"Export Complete"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:o})]}):"error"===u?(0,n.jsxs)("div",{className:"text-center py-6",children:[(0,n.jsx)("p",{className:"text-sm font-medium text-error",children:l.export?.error??"Export failed"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:h})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("p",{className:"text-xs text-muted-foreground mb-3 truncate",title:r,children:r}),(0,n.jsx)("p",{className:"text-xs font-medium font-display text-foreground mb-2",children:l.export?.chooseFormat??"Choose format"}),(0,n.jsx)("div",{className:"space-y-1.5",children:k.map(e=>(0,n.jsxs)("label",{className:`flex items-start gap-3 p-3 rounded-lg border cursor-pointer transition-all ${d===e.value?"border-[var(--amber)]/40 bg-[var(--amber-dim)]":"border-border hover:border-border/80 hover:bg-muted/30"} ${e.disabled?"opacity-40 cursor-not-allowed":""}`,children:[(0,n.jsx)("input",{type:"radio",name:"export-format",value:e.value,checked:d===e.value,onChange:()=>!e.disabled&&c(e.value),disabled:e.disabled,className:"sr-only"}),(0,n.jsx)("span",{className:`mt-0.5 ${d===e.value?"text-[var(--amber)]":"text-muted-foreground"}`,children:e.icon}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:e.label}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground block mt-0.5",children:e.desc})]})]},e.value))})]})}),(0,n.jsx)("div",{className:"flex items-center justify-end gap-2 px-5 py-3 border-t border-border",children:"done"===u?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{onClick:j,className:"px-3 py-1.5 rounded-md text-xs font-medium text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:l.export?.downloadAgain??"Download Again"}),(0,n.jsx)("button",{onClick:w,className:"px-3 py-1.5 rounded-md text-xs font-medium bg-[var(--amber-dim)] text-[var(--amber-text)] hover:opacity-80 transition-colors",children:l.export?.close??"Done"})]}):"error"===u?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{onClick:w,className:"px-3 py-1.5 rounded-md text-xs font-medium text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:l.export?.cancel??"Cancel"}),(0,n.jsx)("button",{onClick:j,className:"px-3 py-1.5 rounded-md text-xs font-medium bg-[var(--amber-dim)] text-[var(--amber-text)] hover:opacity-80 transition-colors",children:l.export?.retry??"Retry"})]}):"exporting"===u?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{onClick:y,className:"px-3 py-1.5 rounded-md text-xs font-medium text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:l.export?.cancel??"Cancel"}),(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-medium text-[var(--amber-text)] opacity-70",children:[(0,n.jsx)(p.A,{size:12,className:"animate-spin"})," ",l.export?.exporting??"Exporting..."]})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{onClick:w,className:"px-3 py-1.5 rounded-md text-xs font-medium text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:l.export?.cancel??"Cancel"}),(0,n.jsxs)("button",{onClick:v,className:"inline-flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-medium bg-[var(--amber-dim)] text-[var(--amber-text)] hover:opacity-80 transition-colors",children:[(0,n.jsx)(g.A,{size:12})," ",l.export?.exportButton??"Export"]})]})})]})})}function ef({filePath:e,content:t,extension:r,saveAction:l,appendRowAction:N,initialEditing:C=!1,isDraft:A=!1,draftDirectories:E=[],createDraftAction:z}){let{t:S}=(0,I.Y)(),{isPinned:M,togglePin:L}=(0,eu.Z)(),R=M(e),[$,P]=(0,s.useState)(!1),D=(0,s.useSyncExternalStore)(()=>()=>{},()=>!0,()=>!1),[F,U]=(0,H.Un)("_raw",e,!1),[W,B]=(0,H.Un)("_graphMode","_global",!1),_=(0,a.useRouter)(),[Y,K]=(0,s.useState)(C||""===t),[q,J]=(0,s.useState)(t),[Z,ee]=(0,s.useState)(t);(0,s.useEffect)(()=>{Y||ee(t)},[t,Y]);let[et,em]=(0,s.useTransition)(),[ex,ep]=(0,s.useState)(null),[ef,eg]=(0,s.useState)(!1),[eb,ev]=(0,s.useState)("wysiwyg"),[ey,ej]=(0,s.useState)(!1),ew=(0,s.useRef)(null),[ek,eN]=(0,s.useState)(!1),eC=(0,s.useRef)(null),eA=(0,s.useRef)(null),[eE,ez]=(0,s.useState)(!1),[eS,eM]=(0,s.useState)(!1),[eL,eR]=(0,s.useState)(""),[,eT]=(0,s.useTransition)(),e$=e.split("/").pop()||"Untitled.md",[eP,eD]=(0,s.useState)(A),[eI,eF]=(0,s.useState)(""),[eO,eH]=(0,s.useState)(e$);(0,s.useEffect)(()=>{if(!ek)return;let e=e=>{eC.current&&!eC.current.contains(e.target)&&eA.current&&!eA.current.contains(e.target)&&eN(!1)},t=e=>{"Escape"===e.key&&eN(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[ek]);let eV=(0,s.useCallback)(()=>{navigator.clipboard.writeText(e).catch(()=>{}),eN(!1)},[e]),eU=(0,s.useCallback)(()=>{eN(!1),eR(e.split("/").pop()??""),eM(!0)},[e]),eW=(0,s.useCallback)(()=>{let t=eL.trim();t&&t!==e.split("/").pop()?eT(async()=>{let r=await (0,ea.f)(e,t);eM(!1),r.success&&r.newPath&&(_.push(`/view/${(0,X.O0)(r.newPath)}`),_.refresh(),window.dispatchEvent(new Event("mindos:files-changed")))}):eM(!1)},[eL,e,_]),eB=(0,s.useCallback)(()=>{ez(!1);let t=e.split("/").pop()??e;em(async()=>{let r=await (0,eo.i)(e);if(r.success){if(r.trashId){let e=r.trashId;el.oR.undo(`${S.trash?.movedToTrash??"Deleted"} ${t}`,async()=>{let t=await (0,ei.Y)(e);t.success?(_.refresh(),window.dispatchEvent(new Event("mindos:files-changed"))):el.oR.error(t.error??"Undo failed")},{label:S.trash?.undo??"Undo"})}_.push("/"),_.refresh(),window.dispatchEvent(new Event("mindos:files-changed"))}})},[e,_,S]),e_=!!D&&F,eY=(0,s.useCallback)(()=>{U(e=>!e)},[U]),eK=(0,s.useCallback)(()=>{B(e=>!e)},[B]),eq=!!D&&W,eG=(0,en.YB)(e,r),eJ="md"===r&&eq?(0,en.YB)(e,r,"graph"):void 0,eZ=eJ||eG,eX="csv"===r,eQ=!Y&&!!eZ&&(!e_||!!eJ),e0=(0,s.useMemo)(()=>eZ?eZ.component?eZ.component:eZ.load?(0,s.lazy)(eZ.load):null:null,[eZ]),e1=(0,s.useCallback)(()=>{J(Z),K(!0),ep(null),eg(!1)},[Z]),e2=(0,s.useCallback)(()=>{A?_.push("/"):(K(!1),ep(null))},[A,_]),e5=(0,s.useCallback)(()=>{let e=eO.trim();if(!e)return void ep("Please enter a file name");if(/[/\\:*?"<>|]/.test(e)||e.includes(".."))return void ep("File name contains invalid characters");if(!z)return void ep("Draft save is not available");let t=e.endsWith(".md")||e.endsWith(".csv")?e:`${e}.md`,r=eI?`${eI}/${t}`:t;ep(null),em(async()=>{try{await z(r,q),ee(q),K(!1),eD(!1),eg(!0),setTimeout(()=>eg(!1),2500),_.push(`/view/${(0,X.O0)(r)}`),_.refresh()}catch(e){ep(e instanceof Error?e.message:"Failed to save")}})},[eO,z,eI,q,_]),e3=(0,s.useCallback)(()=>{if(eX){K(!1),eg(!0),setTimeout(()=>eg(!1),2500);return}A?eD(!0):(ep(null),em(async()=>{try{await l(q),ee(q),K(!1),eg(!0),setTimeout(()=>eg(!1),2500)}catch(e){ep(e instanceof Error?e.message:"Failed to save")}}))},[eX,A,l,q]),e4=(0,s.useCallback)(async e=>{await l(e),ee(e)},[l]);(0,s.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"s"===e.key&&(e.preventDefault(),Y&&e3()),(e.metaKey||e.ctrlKey)&&"f"===e.key&&!Y&&(e.preventDefault(),ej(!0)),"e"!==e.key||Y||document.activeElement?.tagName!=="BODY"||e1(),"Escape"===e.key&&Y&&e2()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[Y,e3,e1,e2]);let[e6,e8]=(0,s.useState)(!1),[e7,e9]=(0,s.useState)([]),te=(0,s.useRef)(t),tt=(0,s.useRef)(!1),tr=(0,s.useRef)(null),tn=(0,s.useRef)(null);return(0,s.useEffect)(()=>{if(!Y&&tt.current&&t!==te.current&&""!==te.current){tt.current=!1;let e=(0,ec.m)(te.current,t),r=[],n=1;for(let t of e)"insert"===t.type?(r.push(n),n++):"equal"===t.type&&n++;r.length>0&&(e9(r),tr.current&&clearTimeout(tr.current),tr.current=setTimeout(()=>e9([]),6e3),setTimeout(()=>{let e=document.querySelector("[data-highlight-line]");e&&e.scrollIntoView({block:"center",behavior:"smooth"})},100))}te.current=t},[t,Y]),(0,s.useEffect)(()=>{let e=null,t=()=>{Y||(e&&clearTimeout(e),e=setTimeout(()=>{tt.current=!0,_.refresh(),e8(!0),tn.current&&clearTimeout(tn.current),tn.current=setTimeout(()=>e8(!1),3e3)},300))};return window.addEventListener("mindos:files-changed",t),()=>{window.removeEventListener("mindos:files-changed",t),e&&clearTimeout(e)}},[Y,_]),(0,n.jsxs)("div",{className:"flex flex-col min-h-screen",children:[(0,n.jsx)("div",{className:"sticky top-[52px] md:top-0 z-20 border-b border-border px-4 md:px-6 py-2.5",style:{background:"var(--background)"},children:(0,n.jsxs)("div",{className:"content-width flex items-center justify-between gap-2",children:[(0,n.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[(0,n.jsx)("button",{onClick:()=>_.back(),className:"md:hidden p-1 -ml-1 rounded text-muted-foreground hover:text-foreground transition-colors shrink-0","aria-label":"Go back",children:(0,n.jsx)(o.A,{size:16})}),(0,n.jsx)(V.A,{filePath:e})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5 md:gap-2 shrink-0",children:[e6&&!Y&&(0,n.jsxs)("span",{className:"text-xs flex items-center gap-1.5 text-[var(--amber)] animate-in fade-in-0 duration-200",children:[(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--amber)]"}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"updated"})]}),ef&&(0,n.jsxs)("span",{className:"text-xs flex items-center gap-1.5 font-display",style:{color:"var(--success)"},children:[(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{background:"var(--success)"}}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"saved"})]}),ex&&(0,n.jsx)("span",{className:"text-xs text-error hidden sm:inline",children:ex}),"md"===r&&!Y&&!A&&(0,en.pl)("graph")&&(0,n.jsxs)("button",{onClick:eK,className:"flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-medium transition-colors font-display",style:{background:eq?"var(--amber)22":"var(--muted)",color:eq?"var(--amber)":"var(--muted-foreground)"},title:eq?"Switch to document view":"Switch to Wiki Graph",children:[eq?(0,n.jsx)(i.A,{size:13}):(0,n.jsx)(d,{size:13}),(0,n.jsx)("span",{className:"hidden sm:inline",children:eq?"Doc":"Graph"})]}),eG&&!Y&&!A&&!eJ&&(0,n.jsxs)("button",{onClick:eY,className:"flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-medium transition-colors font-display",style:{background:e_?"var(--amber)22":"var(--muted)",color:e_?"var(--amber)":"var(--muted-foreground)"},title:e_?`Switch to ${eG?.name}`:"View raw",children:[e_?(0,n.jsx)(c.A,{size:13}):(0,n.jsx)(u,{size:13}),(0,n.jsx)("span",{className:"hidden sm:inline",children:e_?eG.name:"Raw"})]}),!Y&&!eQ&&!A&&(0,n.jsxs)("button",{onClick:e1,className:"flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-medium transition-colors font-display",style:{background:"var(--muted)",color:"var(--muted-foreground)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--foreground)",e.currentTarget.style.background="var(--accent)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--muted-foreground)",e.currentTarget.style.background="var(--muted)"},children:[(0,n.jsx)(m,{size:13}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"Edit"})]}),Y&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{onClick:e2,disabled:et,className:"flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-medium transition-colors disabled:opacity-50 font-display",style:{background:"var(--muted)",color:"var(--muted-foreground)"},onMouseEnter:e=>{e.currentTarget.style.background="var(--accent)"},onMouseLeave:e=>{e.currentTarget.style.background="var(--muted)"},children:[(0,n.jsx)(x.A,{size:13}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"Cancel"})]}),(0,n.jsxs)("button",{onClick:A&&eP?e5:e3,disabled:et,className:"flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-medium disabled:opacity-50 font-display",style:{background:"var(--amber)",color:"var(--amber-foreground)"},children:[et?(0,n.jsx)(p.A,{size:13,className:"animate-spin"}):(0,n.jsx)(h.A,{size:13}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"Save"})]})]}),!A&&(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)("button",{type:"button",onClick:()=>L(e),className:"p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",title:R?S.fileTree.removeFromFavorites:S.fileTree.pinToFavorites,children:(0,n.jsx)(f.A,{size:16,className:R?"fill-[var(--amber)] text-[var(--amber)]":""})}),(0,n.jsx)("button",{type:"button",onClick:()=>P(!0),className:"p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",title:S.fileTree.export,children:(0,n.jsx)(g.A,{size:16})}),(0,n.jsx)("button",{ref:eC,type:"button",onClick:()=>eN(e=>!e),className:"p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",title:S.view?.more??"More",children:(0,n.jsx)(b.A,{size:16})}),ek&&(0,n.jsxs)("div",{ref:eA,className:"absolute right-0 top-full mt-1 z-50 min-w-[160px] rounded-lg border border-border bg-card shadow-lg py-1",children:[(0,n.jsxs)("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-foreground hover:bg-muted transition-colors text-left",onClick:eV,children:[(0,n.jsx)(v.A,{size:14,className:"shrink-0"})," ",S.view?.copyPath??S.fileTree?.copyPath??"Copy Path"]}),(0,n.jsxs)("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-foreground hover:bg-muted transition-colors text-left",onClick:eU,children:[(0,n.jsx)(y.A,{size:14,className:"shrink-0"})," ",S.view?.rename??"Rename"]}),(0,n.jsx)("div",{className:"my-1 border-t border-border/50"}),(0,n.jsxs)("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-error hover:bg-error/10 transition-colors text-left",onClick:()=>{eN(!1),ez(!0)},children:[(0,n.jsx)(j.A,{size:14,className:"shrink-0"})," ",S.view?.delete??"Delete"]})]})]})]})]})}),(0,n.jsx)("div",{className:"flex-1 px-4 md:px-6 py-6 md:py-8",children:Y?(0,n.jsxs)("div",{className:"content-width",children:[A&&eP&&(0,n.jsxs)("div",{className:"mb-3 rounded-lg border border-border bg-card p-3 flex flex-col gap-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:S.view?.saveDirectory??"Directory"}),(0,n.jsx)("div",{className:"mt-1",children:(0,n.jsx)(es.A,{dirPaths:E,value:eI,onChange:eF,rootLabel:S.home?.rootLevel??"Root"})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",children:S.view?.saveFileName??"File name"}),(0,n.jsx)("input",{value:eO,onChange:e=>eH(e.target.value),onKeyDown:e=>{"Enter"===e.key&&e5()},className:"mt-1 w-full px-2.5 py-1.5 text-sm bg-background border border-border rounded-lg text-foreground outline-none focus-visible:ring-1 focus-visible:ring-ring",placeholder:"Untitled.md"})]})]}),eX?(0,n.jsx)(T,{content:q,filePath:e,appendAction:N,saveAction:async e=>{await l(e),J(e),ee(e)}}):(0,n.jsx)(G,{value:q,onChange:J,viewMode:eb,onViewModeChange:ev})]}):eQ&&e0?(0,n.jsxs)("div",{ref:ew,className:"content-width",children:[ey&&(0,n.jsx)(er,{containerRef:ew,onClose:()=>ej(!1)}),(0,n.jsx)(s.Suspense,{fallback:(0,n.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,n.jsx)(p.A,{size:20,className:"animate-spin text-muted-foreground"})}),children:(0,n.jsx)(e0,{filePath:e,content:Z,extension:r,saveAction:e4})}),(0,n.jsx)(O,{filePath:e})]}):(0,n.jsxs)("div",{ref:ew,className:"content-width",children:[ey&&(0,n.jsx)(er,{containerRef:ew,onClose:()=>ej(!1)}),"csv"===r?(0,n.jsx)(T,{content:Z,filePath:e}):"json"===r?(0,n.jsx)(k,{content:Z}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(w.default,{content:Z,highlightLines:e7,onDismissHighlight:()=>e9([]),emptyPlaceholder:S.view?.emptyNote}),(0,n.jsx)(Q,{content:Z})]}),(0,n.jsx)(O,{filePath:e})]})}),eS&&(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/60 backdrop-blur-sm",children:(0,n.jsxs)("div",{className:"bg-card border border-border rounded-lg shadow-lg p-4 w-80",children:[(0,n.jsx)("h3",{className:"text-sm font-medium mb-2",children:"Rename"}),(0,n.jsx)("input",{autoFocus:!0,value:eL,onChange:e=>eR(e.target.value),onKeyDown:e=>{"Enter"===e.key&&eW(),"Escape"===e.key&&eM(!1)},className:"w-full bg-muted border border-border rounded-md px-3 py-1.5 text-sm text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"}),(0,n.jsxs)("div",{className:"flex justify-end gap-2 mt-3",children:[(0,n.jsx)("button",{onClick:()=>eM(!1),className:"px-3 py-1.5 rounded-md text-xs bg-muted text-muted-foreground hover:bg-accent transition-colors",children:S.view?.cancel??"Cancel"}),(0,n.jsx)("button",{onClick:eW,className:"px-3 py-1.5 rounded-md text-xs bg-[var(--amber)] text-[var(--amber-foreground)] transition-colors",children:S.view?.rename??"Rename"})]})]})}),(0,n.jsx)(ed.TM,{open:eE,title:S.view?.delete??"Delete",message:S.view?.deleteConfirm?.(e.split("/").pop()??"")??`Delete "${e.split("/").pop()}"?`,confirmLabel:S.view?.delete??"Delete",cancelLabel:S.view?.cancel??"Cancel",variant:"destructive",onCancel:()=>ez(!1),onConfirm:eB}),(0,n.jsx)(eh,{open:$,onClose:()=>P(!1),filePath:e,isDirectory:!1,fileName:e.split("/").pop()??e})]})}},39498:(e,t,r)=>{"use strict";r.d(t,{BK:()=>y,DO:()=>c,KF:()=>l,Mv:()=>m,TM:()=>v,ZC:()=>b,lx:()=>g,md:()=>d,pp:()=>x,rA:()=>u});var n=r(95155),s=r(33210),a=r(6296),o=r(51914),i=r(12115);function l({active:e,label:t,onClick:r}){return(0,n.jsx)("button",{type:"button",onClick:r,"aria-pressed":e,className:`relative px-2.5 min-h-[28px] rounded text-xs cursor-pointer transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ${e?"bg-[var(--amber-dim)] text-[var(--amber-text)] font-medium shadow-[0_1px_2px_rgba(200,135,58,0.08)]":"text-muted-foreground hover:text-foreground hover:bg-muted/60"}`,children:t})}function d({tone:e,label:t,count:r}){return(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[(0,n.jsx)("span",{className:`w-2 h-2 rounded-full ${"ok"===e?"bg-[var(--success)]":"warn"===e?"bg-[var(--amber)]":"bg-muted-foreground/60"}`,"aria-hidden":"true"}),(0,n.jsx)("span",{className:"text-xs",children:t}),(0,n.jsx)("span",{className:`tabular-nums font-medium ${"ok"===e?"text-foreground":"warn"===e?"text-[var(--amber)]":"text-muted-foreground"}`,children:r})]})}function c({value:e,onChange:t,placeholder:r,ariaLabel:a,icon:o}){return(0,n.jsxs)("label",{className:"relative block group/search",children:[(0,n.jsx)(o,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground/60 group-focus-within/search:text-[var(--amber)] pointer-events-none transition-colors duration-150"}),(0,n.jsx)("input",{value:e,onChange:e=>t(e.target.value),placeholder:r,"aria-label":a,className:"w-full h-9 rounded-lg border border-border bg-background pl-9 pr-8 text-sm text-foreground placeholder:text-muted-foreground/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--amber)]/30 focus-visible:border-[var(--amber)]/40 transition-all duration-150"}),e.length>0&&(0,n.jsx)("button",{type:"button",onClick:()=>t(""),"aria-label":"Clear search",className:"absolute right-2.5 top-1/2 -translate-y-1/2 p-0.5 rounded-full text-muted-foreground hover:text-foreground hover:bg-muted cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors duration-150",children:(0,n.jsx)(s.A,{size:13})})]})}function u({onClick:e,disabled:t,busy:r,label:s,busyLabel:o,variant:i="default"}){return(0,n.jsxs)("button",{type:"button",onClick:e,disabled:t,"aria-busy":r,className:`inline-flex items-center justify-center gap-1.5 text-2xs min-h-[28px] px-2.5 rounded-md 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 ${{default:"border border-border hover:bg-muted",primary:"bg-[var(--amber)] text-background hover:bg-[var(--amber)]/90"}[i]}`,children:[r&&(0,n.jsx)(a.A,{size:12,className:"animate-spin","aria-hidden":"true"}),r?o??s:s]})}function m({message:e}){return e?(0,n.jsx)("span",{role:"status","aria-live":"polite",className:"text-2xs text-muted-foreground animate-in fade-in duration-200",children:e}):null}function x({message:e,icon:t,className:r}){return(0,n.jsxs)("div",{className:`rounded-xl border border-dashed border-border/60 bg-gradient-to-b from-card/80 to-card/40 p-10 text-center ${r??""}`,children:[t&&(0,n.jsx)("div",{className:"w-10 h-10 rounded-full bg-muted/50 flex items-center justify-center mx-auto mb-3 text-muted-foreground/40",children:t}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground/70 leading-relaxed max-w-xs mx-auto",children:e})]})}let p=[["bg-rose-100/70 dark:bg-rose-900/30","border-rose-300/50 dark:border-rose-700/40","text-rose-600/80 dark:text-rose-400/80"],["bg-violet-100/70 dark:bg-violet-900/30","border-violet-300/50 dark:border-violet-700/40","text-violet-600/80 dark:text-violet-400/80"],["bg-emerald-100/70 dark:bg-emerald-900/30","border-emerald-300/50 dark:border-emerald-700/40","text-emerald-600/80 dark:text-emerald-400/80"],["bg-sky-100/70 dark:bg-sky-900/30","border-sky-300/50 dark:border-sky-700/40","text-sky-600/80 dark:text-sky-400/80"],["bg-amber-100/70 dark:bg-amber-900/30","border-amber-300/50 dark:border-amber-700/40","text-amber-700/80 dark:text-amber-400/80"],["bg-teal-100/70 dark:bg-teal-900/30","border-teal-300/50 dark:border-teal-700/40","text-teal-600/80 dark:text-teal-400/80"],["bg-pink-100/70 dark:bg-pink-900/30","border-pink-300/50 dark:border-pink-700/40","text-pink-600/80 dark:text-pink-400/80"],["bg-indigo-100/70 dark:bg-indigo-900/30","border-indigo-300/50 dark:border-indigo-700/40","text-indigo-600/80 dark:text-indigo-400/80"],["bg-lime-100/70 dark:bg-lime-900/30","border-lime-300/50 dark:border-lime-700/40","text-lime-700/80 dark:text-lime-400/80"],["bg-fuchsia-100/70 dark:bg-fuchsia-900/30","border-fuchsia-300/50 dark:border-fuchsia-700/40","text-fuchsia-600/80 dark:text-fuchsia-400/80"],["bg-cyan-100/70 dark:bg-cyan-900/30","border-cyan-300/50 dark:border-cyan-700/40","text-cyan-600/80 dark:text-cyan-400/80"],["bg-orange-100/70 dark:bg-orange-900/30","border-orange-300/50 dark:border-orange-700/40","text-orange-600/80 dark:text-orange-400/80"]];function h(e){let t=0;for(let r=0;r<e.length;r++)t=31*t+e.charCodeAt(r)|0;return Math.abs(t)}function f(e){let t=e.split(/[\s\-_]+/).filter(Boolean);return t.length>=2?(t[0][0]+t[1][0]).toUpperCase():e.slice(0,2).toUpperCase()}function g({name:e,status:t,size:r="md",onRemove:a,href:o}){let[i,l,d]=p[h(e)%p.length],c="connected"===t?"bg-[var(--success)]":"detected"===t?"bg-[var(--amber)]":"bg-muted-foreground";return(0,n.jsxs)("div",{className:"relative group/avatar",title:e,children:[(0,n.jsx)("div",{className:`${"sm"===r?"w-7 h-7 text-[10px]":"w-9 h-9 text-xs"} ${i} ${l} ${d} border rounded-full flex items-center justify-center font-semibold select-none`,children:f(e)}),t&&(0,n.jsx)("span",{className:`absolute -bottom-0.5 -right-0.5 w-2.5 h-2.5 rounded-full border-2 border-card ${c}`,"aria-hidden":"true"}),a&&(0,n.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),a()},className:"absolute -top-1 -right-1 w-4 h-4 rounded-full bg-destructive text-white flex items-center justify-center opacity-0 scale-75 group-hover/avatar:opacity-100 group-hover/avatar:scale-100 transition-all duration-150 cursor-pointer focus-visible:opacity-100 focus-visible:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":`Remove ${e}`,children:(0,n.jsx)(s.A,{size:9})})]})}function b({onClick:e,label:t,size:r="md"}){return(0,n.jsx)("button",{type:"button",onClick:e,title:t,"aria-label":t,className:`${"sm"===r?"w-7 h-7":"w-9 h-9"} rounded-full border-2 border-dashed border-border flex items-center justify-center text-muted-foreground hover:text-foreground hover:border-foreground/30 hover:bg-muted cursor-pointer transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,n.jsx)(o.A,{size:14})})}function v({open:e,title:t,message:r,confirmLabel:s,cancelLabel:a,onConfirm:o,onCancel:l,variant:d="destructive"}){let c=(0,i.useRef)(null);return((0,i.useEffect)(()=>{e&&c.current?.focus()},[e]),(0,i.useEffect)(()=>{if(e)return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t);function t(e){"Escape"===e.key&&l()}},[e,l]),e)?(0,n.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",role:"alertdialog","aria-modal":"true","aria-label":t,children:[(0,n.jsx)("div",{className:"absolute inset-0 overlay-backdrop",onClick:l,"aria-hidden":"true"}),(0,n.jsxs)("div",{className:"relative bg-card border border-border rounded-lg shadow-xl p-5 max-w-sm w-full mx-4 animate-in fade-in zoom-in-95 duration-200",children:[(0,n.jsx)("h3",{className:"text-sm font-medium text-foreground mb-1.5",children:t}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:r}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)("button",{ref:c,type:"button",onClick:l,className:"px-3 min-h-[32px] text-sm rounded-md border border-border hover:bg-muted cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors duration-150",children:a}),(0,n.jsx)("button",{type:"button",onClick:o,className:`px-3 min-h-[32px] text-sm rounded-md cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors duration-150 ${"destructive"===d?"bg-destructive text-destructive-foreground hover:bg-destructive/90":"bg-[var(--amber)] text-background hover:bg-[var(--amber)]/90"}`,children:s})]})]})]}):null}function y({open:e,agents:t,emptyLabel:r,onSelect:s,onClose:a}){let o=(0,i.useRef)(null);return((0,i.useEffect)(()=>{if(e)return document.addEventListener("mousedown",t),()=>document.removeEventListener("mousedown",t);function t(e){o.current&&!o.current.contains(e.target)&&a()}},[e,a]),(0,i.useEffect)(()=>{if(e)return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t);function t(e){"Escape"===e.key&&a()}},[e,a]),e)?(0,n.jsx)("div",{ref:o,className:"absolute right-0 top-full mt-1 z-30 w-56 rounded-lg border border-border bg-card shadow-lg animate-in fade-in slide-in-from-top-1 duration-150",children:0===t.length?(0,n.jsx)("p",{className:"px-3 py-2.5 text-xs text-muted-foreground",children:r}):(0,n.jsx)("div",{className:"py-1 max-h-48 overflow-y-auto",children:t.map(e=>(0,n.jsxs)("button",{type:"button",onClick:()=>s(e.key),className:"w-full text-left px-3 py-2 text-xs text-foreground hover:bg-muted cursor-pointer flex items-center gap-2 transition-colors duration-100",children:[(()=>{let[t,r,s]=p[h(e.name)%p.length];return(0,n.jsx)("div",{className:`w-6 h-6 rounded-full border ${t} ${r} ${s} flex items-center justify-center text-[9px] font-semibold shrink-0`,children:f(e.name)})})(),e.name]},e.key))})}):null}},41585:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(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"}]])},44406:(e,t,r)=>{"use strict";r.d(t,{A:()=>m});var n=r(95155),s=r(98500),a=r.n(s),o=r(33078),i=r(48368),l=r(38798),d=r(66614),c=r(21362);function u({name:e}){let t=e.includes(".")?e.slice(e.lastIndexOf(".")).toLowerCase():"";return".csv"===t?(0,n.jsx)(o.A,{size:13,className:"text-success shrink-0"}):t?(0,n.jsx)(i.A,{size:13,className:"text-muted-foreground shrink-0"}):(0,n.jsx)(l.A,{size:13,className:"text-yellow-400 shrink-0"})}function m({filePath:e}){let t=e.split("/");return(0,n.jsxs)("nav",{className:"flex items-center gap-1 text-xs text-muted-foreground flex-wrap font-display",children:[(0,n.jsx)(a(),{href:"/",className:"hover:text-foreground transition-colors",children:(0,n.jsx)(d.A,{size:14})}),t.map((e,r)=>{let s=r===t.length-1,o="/view/"+t.slice(0,r+1).map(encodeURIComponent).join("/");return(0,n.jsxs)("span",{className:"flex items-center gap-1",children:[(0,n.jsx)(c.A,{size:12,className:"text-muted-foreground/50"}),s?(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-foreground font-medium",children:[(0,n.jsx)(u,{name:e}),(0,n.jsx)("span",{suppressHydrationWarning:!0,children:e})]}):(0,n.jsx)(a(),{href:o,className:"px-2 py-0.5 rounded-md hover:bg-muted/50 transition-colors truncate max-w-[200px]",title:e,children:(0,n.jsx)("span",{suppressHydrationWarning:!0,children:e})})]},r)})]})}},46838:(e,t,r)=>{"use strict";r.d(t,{$7:()=>o,MZ:()=>c,TS:()=>l,UG:()=>a,YB:()=>d,pl:()=>i});let n=[],s=new Set;function a(){try{let e=localStorage.getItem("mindos-disabled-renderers");s=new Set(e?JSON.parse(e):[])}catch{s=new Set}}function o(e,t){let r=n.find(t=>t.id===e);r?.core||(t?s.delete(e):s.add(e),localStorage.setItem("mindos-disabled-renderers",JSON.stringify([...s])))}function i(e){let t=n.find(t=>t.id===e);return!!t?.core||!s.has(e)}function l(e){n.find(t=>t.id===e.id)||n.push(e)}function d(e,t,r){if(r){let e=n.find(e=>e.id===r);return e&&i(e.id)?e:void 0}return n.find(r=>i(r.id)&&r.match({filePath:e,extension:t}))}function c(){return n.filter(e=>!e.appBuiltinFeature)}},49896:(e,t,r)=>{"use strict";r.d(t,{Y:()=>s});var n=r(9339);let s=(0,n.createServerReference)("4035da3e19e420e4de34d0209c3c825bf0db6d71eb",n.callServer,void 0,n.findSourceMapURL,"undoDeleteAction")},51914:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(90425).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},55243:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(90425).A)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]])},56699:(e,t,r)=>{Promise.resolve().then(r.bind(r,36506)),Promise.resolve().then(r.bind(r,34367))},63637:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>b});var n=r(95155),s=r(66804),a=r(32957),o=r(98076),i=r(96182),l=r(16535),d=r(12115),c=r(94514),u=r(67635),m=r(33210),x=r(7834),p=r(4235);function h({code:e}){let[t,r]=(0,d.useState)(!1),s=(0,d.useCallback)(()=>{(0,x.l)(e).then(e=>{e&&(r(!0),setTimeout(()=>r(!1),2e3),p.oR.copy())})},[e]);return(0,n.jsx)("button",{onClick:s,className:" absolute top-2.5 right-2.5 p-1.5 rounded-md bg-muted hover:bg-accent text-muted-foreground hover:text-foreground transition-colors duration-100 opacity-0 group-hover:opacity-100 ",title:"Copy code",children:t?(0,n.jsx)(c.A,{size:13}):(0,n.jsx)(u.A,{size:13})})}function f(e){let t=({children:t,...r})=>(0,n.jsx)(e,{...r,suppressHydrationWarning:!0,children:t});return t.displayName=e,t}let g={h1:f("h1"),h2:f("h2"),h3:f("h3"),h4:f("h4"),h5:f("h5"),h6:f("h6"),code:({children:e,...t})=>(0,n.jsx)("code",{...t,suppressHydrationWarning:!0,children:e}),pre({children:e,...t}){let r="";return e&&"object"==typeof e&&"props"in e&&(r=function e(t){return"string"==typeof t?t:Array.isArray(t)?t.map(e).join(""):t&&"object"==typeof t&&"props"in t?e(t.props?.children):""}(e.props?.children)),(0,n.jsxs)("div",{className:"relative group",children:[(0,n.jsx)("pre",{...t,suppressHydrationWarning:!0,children:e}),(0,n.jsx)(h,{code:r})]})},li:({children:e,...t})=>(0,n.jsx)("li",{...t,suppressHydrationWarning:!0,children:e}),a({href:e,children:t,...r}){let s=e?.startsWith("http");return(0,n.jsx)("a",{href:e,target:s?"_blank":void 0,rel:s?"noopener noreferrer":void 0,...r,children:t})},img:({src:e,alt:t,...r})=>e?(0,n.jsx)("img",{src:e,alt:t??"",...r}):null};function b({content:e,highlightLines:t,onDismissHighlight:r,emptyPlaceholder:d}){let c=t&&t.length>0;return!e.trim()&&d?(0,n.jsx)("div",{className:"py-12 text-center text-sm text-muted-foreground/50",children:d}):(0,n.jsxs)("div",{children:[c&&(0,n.jsxs)("div",{className:"mb-4 flex items-center gap-2 rounded-md border px-3 py-2 text-xs animate-in fade-in-0 duration-300",style:{borderColor:"color-mix(in srgb, var(--amber) 40%, var(--border))",background:"color-mix(in srgb, var(--amber) 8%, var(--card))",color:"var(--amber)"},"data-highlight-line":!0,children:[(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--amber)] animate-pulse shrink-0"}),(0,n.jsxs)("span",{className:"font-display font-medium flex-1",children:[t.length," line",1!==t.length?"s":""," updated by AI"]}),r&&(0,n.jsx)("button",{type:"button",onClick:r,className:"p-0.5 rounded hover:bg-[var(--amber)]/15 transition-colors shrink-0","aria-label":"Dismiss",children:(0,n.jsx)(m.A,{size:12})})]}),(0,n.jsx)("div",{className:"prose max-w-none",children:(0,n.jsx)(s.oz,{remarkPlugins:[a.A],rehypePlugins:[l.A,o.A,i.A],components:g,children:e})})]})}},65214:(e,t,r)=>{"use strict";r.d(t,{f:()=>s});var n=r(9339);let s=(0,n.createServerReference)("60e8023ceecd391c71f2a9e1d3275359d3bb341f92",n.callServer,void 0,n.findSourceMapURL,"renameFileAction")},66614:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(90425).A)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]])},67635:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(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"}]])},68459:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(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"}]])},70620:(e,t,r)=>{"use strict";r.d(t,{A:()=>u});var n=r(95155),s=r(12115),a=r(47650),o=r(21362),i=r(38798),l=r(94514),d=r(66088),c=r(91337);function u({dirPaths:e,value:t,onChange:r,rootLabel:u="Root"}){let[m,x]=(0,s.useState)(!1),[p,h]=(0,s.useState)(t),[f,g]=(0,s.useState)(null),b=(0,s.useRef)(null),v=(0,s.useRef)(null);(0,s.useEffect)(()=>{h(t)},[t]);let y=(0,s.useCallback)(()=>{if(!b.current)return;let e=b.current.getBoundingClientRect(),t=window.innerHeight-e.bottom,r=e.top,n=t<208&&r>t;g({top:n?e.top:e.bottom,left:e.left,width:e.width,flipUp:n})},[]);(0,s.useEffect)(()=>m?(y(),window.addEventListener("scroll",y,!0),window.addEventListener("resize",y),()=>{window.removeEventListener("scroll",y,!0),window.removeEventListener("resize",y)}):void g(null),[m,y]);let j=(0,s.useCallback)(()=>x(!1),[]);(0,s.useEffect)(()=>{if(!m)return;let e=e=>{"Escape"===e.key&&(e.preventDefault(),j())},t=e=>{let t=e.target;b.current?.contains(t)||v.current?.contains(t)||j()};return document.addEventListener("keydown",e),document.addEventListener("mousedown",t),()=>{document.removeEventListener("keydown",e),document.removeEventListener("mousedown",t)}},[m,j]);let w=(0,s.useMemo)(()=>{let t=p?p+"/":"";return e.filter(e=>{if(!e.startsWith(t))return!1;let r=e.slice(t.length);return r.length>0&&!r.includes("/")}).sort()},[e,p]),k=(0,s.useMemo)(()=>p?p.split("/"):[],[p]),N=e=>{if(e<0)h(""),r("");else{let t=k.slice(0,e+1).join("/");h(t),r(t)}},C=t?t.split("/").map(e=>(0,c.vr)(e)).join(" / "):"/ "+u,A=m&&f&&(0,a.createPortal)((0,n.jsxs)("div",{ref:v,className:"fixed z-[9999] rounded-lg border border-[var(--amber)] bg-card shadow-lg overflow-hidden flex flex-col",style:{left:f.left,width:f.width,maxHeight:200,...f.flipUp?{bottom:window.innerHeight-f.top+4}:{top:f.top+4}},children:[(0,n.jsxs)("div",{className:"flex items-center gap-0.5 px-3 py-1.5 bg-muted/30 border-b border-border overflow-x-auto text-xs shrink-0",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>N(-1),className:`shrink-0 px-1.5 py-0.5 rounded transition-colors ${""===p?"text-[var(--amber)] font-medium":"text-muted-foreground hover:text-foreground"}`,children:["/ ",u]}),k.map((e,t)=>(0,n.jsxs)("span",{className:"flex items-center gap-0.5 shrink-0",children:[(0,n.jsx)(o.A,{size:10,className:"text-muted-foreground/50"}),(0,n.jsx)("button",{type:"button",onClick:()=>N(t),className:`px-1.5 py-0.5 rounded transition-colors truncate max-w-[100px] ${t===k.length-1?"text-[var(--amber)] font-medium":"text-muted-foreground hover:text-foreground"}`,children:e})]},t))]}),w.length>0?(0,n.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto",children:w.map(t=>{let s=t.split("/").pop()||t,a=e.some(e=>e.startsWith(t+"/"));return(0,n.jsxs)("button",{type:"button",onClick:()=>{h(t),r(t)},className:"w-full flex items-center gap-2 px-3 py-1.5 text-xs text-foreground hover:bg-muted/60 transition-colors",children:[(0,n.jsx)(i.A,{size:12,className:"shrink-0 text-[var(--amber)]"}),(0,n.jsx)("span",{className:"flex-1 text-left truncate",children:s}),a&&(0,n.jsx)(o.A,{size:11,className:"shrink-0 text-muted-foreground/40"})]},t)})}):(0,n.jsx)("div",{className:"px-3 py-2 text-xs text-muted-foreground/50 text-center",children:"—"}),(0,n.jsx)("button",{type:"button",onClick:j,className:"w-full py-1.5 flex items-center justify-center gap-1 text-xs font-medium text-[var(--amber)] border-t border-border hover:bg-muted/30 transition-colors shrink-0",children:(0,n.jsx)(l.A,{size:12})})]}),document.body);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{ref:b,type:"button",onClick:()=>x(e=>!e),"aria-haspopup":"true","aria-expanded":m,className:`w-full flex items-center gap-2 px-3 py-2 text-sm rounded-lg border bg-background text-foreground transition-colors text-left focus-visible:ring-1 focus-visible:ring-ring outline-none ${m?"border-[var(--amber)]":"border-border hover:border-[var(--amber)]/40"}`,children:[(0,n.jsx)(i.A,{size:14,className:"shrink-0 text-[var(--amber)]"}),(0,n.jsx)("span",{className:"flex-1 truncate",children:C}),(0,n.jsx)(d.A,{size:14,className:`shrink-0 text-muted-foreground transition-transform duration-150 ${m?"rotate-180":""}`})]}),A]})}},73321:(e,t,r)=>{"use strict";var n=r(74645);r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},77148:(e,t,r)=>{"use strict";r.d(t,{Un:()=>a});var n=r(12115);let s="mindos-renderer-state-change";function a(e,t,r){let a=`mindos-renderer:${e}:${t}`,o=(0,n.useRef)({key:a,raw:null,parsed:r});return o.current.key!==a&&(o.current={key:a,raw:null,parsed:r}),[(0,n.useSyncExternalStore)(e=>{let t=()=>e();return window.addEventListener("storage",t),window.addEventListener(s,t),()=>{window.removeEventListener("storage",t),window.removeEventListener(s,t)}},()=>{try{let e=localStorage.getItem(a);if(e===o.current.raw)return o.current.parsed;if(null===e)return o.current={key:a,raw:null,parsed:r},r;let t=JSON.parse(e);return o.current={key:a,raw:e,parsed:t},t}catch{return r}},()=>r),(0,n.useCallback)(e=>{try{let t=(()=>{try{let e=localStorage.getItem(a);return null!==e?JSON.parse(e):r}catch{return r}})(),n="function"==typeof e?e(t):e,s=JSON.stringify(n);localStorage.setItem(a,s),o.current={key:a,raw:s,parsed:n}}catch{}window.dispatchEvent(new Event(s))},[a,r])]}},77673:(e,t,r)=>{"use strict";r.d(t,{i:()=>s});var n=r(9339);let s=(0,n.createServerReference)("40691ab74d670fca22f2875977569e8050ecb1ce9f",n.callServer,void 0,n.findSourceMapURL,"deleteFileAction")},80723:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(90425).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},82125:(e,t,r)=>{"use strict";r.d(t,{A:()=>s,C:()=>n});let n=new Set(["INSTRUCTION.md","README.md","CONFIG.json","CHANGELOG.md"]),s=new Set(["TODO.md"])},91337:(e,t,r)=>{"use strict";r.d(t,{IX:()=>l,KW:()=>i,O0:()=>o,cn:()=>a,vr:()=>d});var n=r(29722),s=r(622);function a(...e){return(0,s.QP)((0,n.$)(e))}function o(e){return e.split("/").map(encodeURIComponent).join("/")}function i(e,t){let r=Date.now()-e,n=Math.floor(r/6e4),s=Math.floor(r/36e5),a=Math.floor(r/864e5);return n<1?t.justNow:n<60?t.minutesAgo(n):s<24?t.hoursAgo(s):a<7?t.daysAgo(a):new Date(e).toLocaleDateString()}function l(e){let t=e.match(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]+/u);return t?.[0]??""}function d(e){return e.replace(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}\s]+/u,"")||e}},92451:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(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"}]])},93631:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(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"}]])},97631:(e,t,r)=>{"use strict";function n(e,t){let r=e.split("\n"),n=t.split("\n"),s=r.length,a=n.length,o=Array.from({length:s+1},()=>Array(a+1).fill(0));for(let e=s-1;e>=0;e--)for(let t=a-1;t>=0;t--)o[e][t]=r[e]===n[t]?1+o[e+1][t+1]:Math.max(o[e+1][t],o[e][t+1]);let i=[],l=0,d=0;for(;l<s||d<a;){if(l<s&&d<a&&r[l]===n[d]){i.push({type:"equal",text:r[l]}),l+=1,d+=1;continue}if(d<a&&(l>=s||o[l][d+1]>=o[l+1][d])){i.push({type:"insert",text:n[d]}),d+=1;continue}i.push({type:"delete",text:r[l]}),l+=1}return i}function s(e,t=2){let r=new Set;e.forEach((n,s)=>{if("equal"!==n.type)for(let n=Math.max(0,s-t);n<=Math.min(e.length-1,s+t);n++)r.add(n)});let n=[],a=-1;for(let t=0;t<e.length;t++){if(r.has(t)){-1!==a&&(n.push({type:"gap",count:t-a}),a=-1),n.push(e[t]);continue}-1===a&&(a=t)}return -1!==a&&n.push({type:"gap",count:e.length-a}),n}r.d(t,{S:()=>s,m:()=>n})},97810:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(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,[6926,9602,9286,3013,6357,1053,8441,3794,7358],()=>e(e.s=56699)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,165,635,706,910,1124,1131,1165,1212,1288,2036,2287,2437,2522,2772,2920,2950,3390,3757,3896,3945,4048,4230,4503,4558,4888,4896,5177,5245,5411,5620,5684,5704,5931,6202,6306,6819,6828,6988,7330,7538,7581,7607,7646,7711,7822,7851,8167,8181,8232,8616,8641,9120,9188,9303,9491,9596,9725,9861,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,165,635,706,910,1124,1131,1165,1212,1288,2036,2287,2437,2522,2772,2920,2950,3390,3757,3896,3945,4048,4230,4503,4558,4888,4896,5177,5245,5411,5620,5684,5704,5931,6202,6306,6819,6828,6988,7330,7538,7581,7607,7646,7711,7822,7851,8167,8181,8232,8616,8641,9120,9188,9303,9491,9596,9725,9861,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,165,635,706,910,1124,1131,1165,1212,1288,2036,2287,2437,2522,2772,2920,2950,3390,3757,3896,3945,4048,4230,4503,4558,4888,4896,5177,5245,5411,5620,5684,5704,5931,6202,6306,6819,6828,6988,7330,7538,7581,7607,7646,7711,7822,7851,8167,8181,8232,8616,8641,9120,9188,9303,9491,9596,9725,9861,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,165,635,706,910,1124,1131,1165,1212,1288,2036,2287,2437,2522,2772,2920,2950,3390,3757,3896,3945,4048,4230,4503,4558,4888,4896,5177,5245,5411,5620,5684,5704,5931,6202,6306,6819,6828,6988,7330,7538,7581,7607,7646,7711,7822,7851,8167,8181,8232,8616,8641,9120,9188,9303,9491,9596,9725,9861,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|