@geminilight/mindos-windows-arm64 1.0.5 → 1.0.7
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 +26 -26
- package/_standalone/__next/build-manifest.json +4 -4
- package/_standalone/__next/prerender-manifest.json +3 -3
- package/_standalone/__next/react-loadable-manifest.json +4 -4
- package/_standalone/__next/required-server-files.json +4 -4
- package/_standalone/__next/server/app/.well-known/agent-card.json/route.js +1 -1
- package/_standalone/__next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/_global-error/page.js +3 -3
- 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 +3 -3
- package/_standalone/__next/server/app/_global-error.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- package/_standalone/__next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/_standalone/__next/server/app/_not-found/page.js +2 -2
- 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 +2 -2
- 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.js +1 -1
- package/_standalone/__next/server/app/api/a2a/agents/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/a2a/delegations/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/a2a/discover/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/a2a/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/acp/config/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/acp/detect/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/acp/install/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/acp/registry/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/acp/session/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/agent-activity/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/agents/copy-skill/route.js +1 -1
- package/_standalone/__next/server/app/api/agents/copy-skill/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/agents/copy-skill/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/agents/custom/detect/route.js +1 -1
- package/_standalone/__next/server/app/api/agents/custom/detect/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/agents/custom/detect/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/agents/custom/route.js +1 -1
- package/_standalone/__next/server/app/api/agents/custom/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/agents/custom/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/ask/route.js +2 -2
- 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.js +1 -1
- package/_standalone/__next/server/app/api/ask-sessions/route.js.nft.json +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.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 +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 +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 +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/channels/verify/route.js +1 -1
- package/_standalone/__next/server/app/api/channels/verify/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/channels/verify/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/connect/route.js +1 -1
- package/_standalone/__next/server/app/api/connect/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/connect/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/embedding/route.js +1 -1
- package/_standalone/__next/server/app/api/embedding/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/embedding/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/export/route.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-docx/route.js +1 -1
- package/_standalone/__next/server/app/api/extract-docx/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/extract-pdf/route.js +2 -2
- 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 +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/raw/route.js +1 -1
- package/_standalone/__next/server/app/api/file/raw/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/file/raw/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/file/route.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 +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 +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 +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.js +1 -1
- package/_standalone/__next/server/app/api/health/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/im/activity/route.js +1 -1
- package/_standalone/__next/server/app/api/im/activity/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/im/activity/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/im/config/route.js +1 -1
- package/_standalone/__next/server/app/api/im/config/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/im/config/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/im/feishu/long-connection/event/route.js +1 -1
- package/_standalone/__next/server/app/api/im/feishu/long-connection/event/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/im/feishu/long-connection/event/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/im/feishu/long-connection/route.js +1 -1
- package/_standalone/__next/server/app/api/im/feishu/long-connection/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/im/feishu/long-connection/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/im/status/route.js +1 -1
- package/_standalone/__next/server/app/api/im/status/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/im/status/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/im/test/route.js +1 -1
- package/_standalone/__next/server/app/api/im/test/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/im/test/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/im/webhook/feishu/route.js +1 -1
- package/_standalone/__next/server/app/api/im/webhook/feishu/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/im/webhook/feishu/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/im/webhook-status/route.js +1 -1
- package/_standalone/__next/server/app/api/im/webhook-status/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/im/webhook-status/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/inbox/clip/route.js +2 -2
- package/_standalone/__next/server/app/api/inbox/clip/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/inbox/clip/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/inbox/route.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 +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/lint/route.js +1 -1
- package/_standalone/__next/server/app/api/lint/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/lint/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/mcp/agents/route.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/direct-tools/route.js +1 -1
- package/_standalone/__next/server/app/api/mcp/direct-tools/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/mcp/direct-tools/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.js.nft.json +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 +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.js +1 -1
- package/_standalone/__next/server/app/api/mcp/restart/route.js.nft.json +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.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/mcp/tools/route.js +1 -1
- package/_standalone/__next/server/app/api/mcp/tools/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/mcp/uninstall/route.js +1 -1
- package/_standalone/__next/server/app/api/mcp/uninstall/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/monitoring/route.js +1 -1
- package/_standalone/__next/server/app/api/monitoring/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/obsidian/compat-report/route.js +1 -1
- package/_standalone/__next/server/app/api/obsidian/compat-report/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/obsidian/compat-report/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/obsidian/import/route.js +1 -1
- package/_standalone/__next/server/app/api/obsidian/import/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/obsidian/import/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/obsidian-plugins/settings/route.js +2 -2
- package/_standalone/__next/server/app/api/obsidian-plugins/settings/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/obsidian-plugins/settings/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/recent-files/route.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.js +1 -1
- package/_standalone/__next/server/app/api/restart/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/search/prewarm/route.js +1 -1
- package/_standalone/__next/server/app/api/search/prewarm/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/search/prewarm/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/search/route.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.js +1 -1
- package/_standalone/__next/server/app/api/settings/list-models/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/settings/reset-token/route.js.nft.json +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 +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.js +1 -1
- package/_standalone/__next/server/app/api/settings/test-key/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/setup/check-path/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/setup/check-port/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/setup/generate-token/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/setup/ls/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/setup/route.js.nft.json +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 +1 -1
- package/_standalone/__next/server/app/api/skills/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/space-overview/route.js +1 -1
- package/_standalone/__next/server/app/api/space-overview/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/space-overview/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/sync/route.js +1 -1
- package/_standalone/__next/server/app/api/sync/route.js.nft.json +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 +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.js +1 -1
- package/_standalone/__next/server/app/api/uninstall/route.js.nft.json +1 -1
- package/_standalone/__next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/update/route.js +1 -1
- package/_standalone/__next/server/app/api/update/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/update-check/route.js.nft.json +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.js +1 -1
- package/_standalone/__next/server/app/api/update-status/route.js.nft.json +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 +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/capture/history/page.js +2 -2
- package/_standalone/__next/server/app/capture/history/page.js.nft.json +1 -1
- package/_standalone/__next/server/app/capture/history/page_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/capture/page.js +2 -2
- package/_standalone/__next/server/app/capture/page.js.nft.json +1 -1
- package/_standalone/__next/server/app/capture/page_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/changelog/page.js +2 -2
- package/_standalone/__next/server/app/changelog/page.js.nft.json +1 -1
- package/_standalone/__next/server/app/changelog/page_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/changes/page.js +2 -2
- 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 +4 -4
- 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 +2 -2
- 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 +3 -3
- 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/icon.svg/route.js +1 -1
- package/_standalone/__next/server/app/inbox/history/page.js +2 -2
- package/_standalone/__next/server/app/inbox/history/page.js.nft.json +1 -1
- package/_standalone/__next/server/app/inbox/history/page_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/login/page.js +2 -2
- 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/settings/page.js +2 -2
- package/_standalone/__next/server/app/settings/page.js.nft.json +1 -1
- package/_standalone/__next/server/app/settings/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/todo/page.js +2 -2
- package/_standalone/__next/server/app/todo/page.js.nft.json +1 -1
- package/_standalone/__next/server/app/todo/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/wiki/page.js +2 -2
- package/_standalone/__next/server/app/wiki/page.js.nft.json +1 -1
- package/_standalone/__next/server/app/wiki/page_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app-paths-manifest.json +26 -26
- package/_standalone/__next/server/chunks/{6602.js → 1834.js} +32 -32
- package/_standalone/__next/server/chunks/1976.js +3 -3
- package/_standalone/__next/server/chunks/3466.js +1 -1
- package/_standalone/__next/server/chunks/3566.js +1 -1
- package/_standalone/__next/server/chunks/3727.js +1 -1
- package/_standalone/__next/server/chunks/4793.js +1 -1
- package/_standalone/__next/server/chunks/6377.js +3 -3
- package/_standalone/__next/server/chunks/6754.js +1 -1
- package/_standalone/__next/server/chunks/7765.js +1 -1
- package/_standalone/__next/server/chunks/8028.js +1 -1
- package/_standalone/__next/server/chunks/{7295.js → 8461.js} +19 -19
- package/_standalone/__next/server/chunks/9350.js +2 -2
- package/_standalone/__next/server/chunks/{5225.js → 9773.js} +4 -4
- 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/middleware.js +2 -2
- package/_standalone/__next/server/pages/500.html +2 -2
- package/_standalone/__next/server/server-reference-manifest.js +1 -1
- package/_standalone/__next/server/server-reference-manifest.json +1 -1
- package/_standalone/__next/static/chunks/{1430-a3447cf370715cad.js → 1430-c4ffa328888515c1.js} +1 -1
- package/{static-web/_next/static/chunks/7166-d6d8489fdf67d180.js → _standalone/__next/static/chunks/1957-723ac4eb5200214c.js} +3 -3
- package/_standalone/__next/static/chunks/{2280-2277c97eae59ded9.js → 2737-f4970f0684c334d6.js} +2 -2
- package/{static-web/_next/static/chunks/5200-2447cea5eb41a922.js → _standalone/__next/static/chunks/5200-6c82e5ce54a95b4b.js} +2 -2
- package/_standalone/__next/static/chunks/{1998.c8edc5601fa7362f.js → 6728.e1841cddb63308b0.js} +1 -1
- package/_standalone/__next/static/chunks/{6947.51e37852cef26113.js → 6947.fb89346ef2f6be17.js} +1 -1
- package/_standalone/__next/static/chunks/app/_not-found/{page-ec6fa498a07e6fd9.js → page-eaedcec1b693c03c.js} +1 -1
- package/{static-web/_next/static/chunks/app/agents/[agentKey]/page-44c493b744d18249.js → _standalone/__next/static/chunks/app/agents/[agentKey]/page-1dac12945bfbaf35.js} +1 -1
- package/{static-web/_next/static/chunks/app/agents/page-6591b482a193e657.js → _standalone/__next/static/chunks/app/agents/page-7ff2e39ca12eb20a.js} +1 -1
- package/_standalone/__next/static/chunks/app/capture/history/page-51db96203209a441.js +1 -0
- package/_standalone/__next/static/chunks/app/capture/page-3bf09d1f5e1c379c.js +1 -0
- package/_standalone/__next/static/chunks/app/changelog/page-01dc22b6d2230c7f.js +1 -0
- package/_standalone/__next/static/chunks/app/changes/page-c9f8d5632a001849.js +1 -0
- package/{static-web/_next/static/chunks/app/echo/[segment]/page-c5ea40ac04f2dc29.js → _standalone/__next/static/chunks/app/echo/[segment]/page-44b6b8e7fd0bbe31.js} +2 -2
- package/_standalone/__next/static/chunks/app/echo/page-c9f8d5632a001849.js +1 -0
- package/_standalone/__next/static/chunks/app/{error-c46d1b03d5e3289c.js → error-1cfcd6abd93c3837.js} +1 -1
- package/_standalone/__next/static/chunks/app/explore/{page-5d6dd4af8d1bb468.js → page-117fcf54b8b9765c.js} +1 -1
- package/_standalone/__next/static/chunks/app/global-error-11b333dcf222bc09.js +1 -0
- package/{static-web/_next/static/chunks/app/help/page-3f0a1a8e51249cb2.js → _standalone/__next/static/chunks/app/help/page-6efb8aa3a3c169fa.js} +1 -1
- package/_standalone/__next/static/chunks/app/inbox/history/page-913645bbd6161116.js +1 -0
- package/_standalone/__next/static/chunks/app/{layout-7aa371fe2615cd3e.js → layout-24a31ea28c556e82.js} +38 -38
- package/_standalone/__next/static/chunks/app/login/page-7f9aca3d51266bec.js +1 -0
- package/{static-web/_next/static/chunks/app/page-5c9489e28657376e.js → _standalone/__next/static/chunks/app/page-35662964020c0ea9.js} +1 -1
- package/_standalone/__next/static/chunks/app/settings/{page-4b75d6c17f42d565.js → page-f816f13a34613538.js} +1 -1
- package/{static-web/_next/static/chunks/app/setup/page-f5de08d0d588c778.js → _standalone/__next/static/chunks/app/setup/page-a1027871dc33ffbd.js} +1 -1
- package/_standalone/__next/static/chunks/app/todo/page-54c3ec77f662ff73.js +1 -0
- package/_standalone/__next/static/chunks/app/trash/page-50622e3df2047204.js +1 -0
- package/_standalone/__next/static/chunks/app/view/[...path]/{error-f73092e638a4e999.js → error-c9a3f6de7c963c74.js} +1 -1
- package/_standalone/__next/static/chunks/app/view/[...path]/{not-found-80e5f4054819b372.js → not-found-5a4f2b4fbe28d617.js} +1 -1
- package/{static-web/_next/static/chunks/app/view/[...path]/page-ffe3c61100e25591.js → _standalone/__next/static/chunks/app/view/[...path]/page-b10d3819827da1c2.js} +2 -2
- package/{static-web/_next/static/chunks/app/wiki/page-4c9bc816069b6f2a.js → _standalone/__next/static/chunks/app/wiki/page-7afd3b97c1ea1b8c.js} +2 -2
- package/_standalone/__next/static/chunks/{main-app-23adfdc06470abb6.js → main-app-8a6081b103b8f494.js} +1 -1
- package/_standalone/__next/static/chunks/webpack-7d8c24c6af17dd51.js +1 -0
- package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
- package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
- package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
- package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@aws-sdk/client-bedrock-runtime/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
- package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
- package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
- package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
- package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@aws-sdk/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@aws-sdk/middleware-websocket/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
- package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
- package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
- package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
- package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@aws-sdk/nested-clients/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
- package/_standalone/__node_modules/@aws-sdk/xml-builder/node_modules/.bin/fxparser +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-agent-core/node_modules/.bin/pi-ai +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-agent-core/node_modules/@mariozechner/pi-ai/node_modules/.bin/anthropic-ai-sdk +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-agent-core/node_modules/@mariozechner/pi-ai/node_modules/.bin/openai +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-ai/node_modules/.bin/anthropic-ai-sdk +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-ai/node_modules/.bin/openai +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/.bin/extract-zip +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/.bin/highlight +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/.bin/jiti +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/.bin/marked +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/.bin/pi-ai +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/.bin/yaml +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/@mariozechner/pi-ai/node_modules/.bin/anthropic-ai-sdk +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/@mariozechner/pi-ai/node_modules/.bin/openai +2 -2
- package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/strip-ansi/node_modules/ansi-regex/index.js +14 -0
- package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/strip-ansi/node_modules/ansi-regex/license +9 -0
- package/_standalone/__node_modules/@mariozechner/pi-coding-agent/node_modules/strip-ansi/node_modules/ansi-regex/package.json +61 -0
- package/_standalone/__node_modules/@mariozechner/pi-tui/node_modules/.bin/marked +2 -2
- package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
- package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
- package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@smithy/core/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
- package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
- package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
- package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
- package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
- package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
- package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
- package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
- package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
- package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
- package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-cjs/index.js +20 -0
- package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/dist-es/index.js +14 -0
- package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/LICENSE +201 -0
- package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-cjs/index.js +6 -0
- package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/dist-es/index.js +2 -0
- package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/node_modules/@smithy/is-array-buffer/package.json +61 -0
- package/_standalone/__node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from/package.json +62 -0
- package/_standalone/__node_modules/bignumber.js/doc/API.html +2249 -0
- package/_standalone/__node_modules/degenerator/node_modules/.bin/escodegen +2 -2
- package/_standalone/__node_modules/degenerator/node_modules/.bin/esgenerate +2 -2
- package/_standalone/__node_modules/degenerator/node_modules/.bin/esparse +2 -2
- package/_standalone/__node_modules/degenerator/node_modules/.bin/esvalidate +2 -2
- package/_standalone/__node_modules/entities/LICENSE +11 -0
- package/_standalone/__node_modules/entities/dist/decode-codepoint.js +46 -0
- package/_standalone/__node_modules/entities/dist/decode.js +544 -0
- package/_standalone/__node_modules/entities/dist/encode.js +90 -0
- package/_standalone/__node_modules/entities/dist/escape.js +132 -0
- package/_standalone/__node_modules/entities/dist/generated/decode-data-html.js +5 -0
- package/_standalone/__node_modules/entities/dist/generated/decode-data-xml.js +5 -0
- package/_standalone/__node_modules/entities/dist/generated/encode-html.js +12 -0
- package/_standalone/__node_modules/entities/dist/index.js +91 -0
- package/_standalone/__node_modules/entities/dist/internal/bin-trie-flags.js +18 -0
- package/_standalone/__node_modules/entities/dist/internal/decode-shared.js +17 -0
- package/_standalone/__node_modules/entities/dist/internal/encode-shared.js +93 -0
- package/_standalone/__node_modules/entities/package.json +83 -0
- package/_standalone/__node_modules/entities/src/decode-codepoint.ts +50 -0
- package/_standalone/__node_modules/entities/src/decode.ts +671 -0
- package/_standalone/__node_modules/entities/src/encode.ts +95 -0
- package/_standalone/__node_modules/entities/src/escape.ts +160 -0
- package/_standalone/__node_modules/entities/src/generated/decode-data-html.ts +7 -0
- package/_standalone/__node_modules/entities/src/generated/decode-data-xml.ts +7 -0
- package/_standalone/__node_modules/entities/src/generated/encode-html.ts +18 -0
- package/_standalone/__node_modules/entities/src/index.ts +162 -0
- package/_standalone/__node_modules/entities/src/internal/bin-trie-flags.ts +16 -0
- package/_standalone/__node_modules/entities/src/internal/decode-shared.ts +18 -0
- package/_standalone/__node_modules/entities/src/internal/encode-shared.ts +123 -0
- package/_standalone/__node_modules/escodegen/node_modules/.bin/esparse +2 -2
- package/_standalone/__node_modules/escodegen/node_modules/.bin/esvalidate +2 -2
- package/_standalone/__node_modules/global-agent/node_modules/.bin/semver +2 -2
- package/_standalone/__node_modules/has-flag/index.js +8 -0
- package/_standalone/__node_modules/has-flag/license +9 -0
- package/_standalone/__node_modules/has-flag/package.json +46 -0
- package/_standalone/__node_modules/jsdom/node_modules/.bin/specificity +2 -2
- package/_standalone/__node_modules/koffi/doc/benchmarks.md +126 -0
- package/_standalone/__node_modules/koffi/doc/callbacks.md +210 -0
- package/_standalone/__node_modules/koffi/doc/contribute.md +148 -0
- package/_standalone/__node_modules/koffi/doc/functions.md +250 -0
- package/_standalone/__node_modules/koffi/doc/index.md +61 -0
- package/_standalone/__node_modules/koffi/doc/input.md +471 -0
- package/_standalone/__node_modules/koffi/doc/migration.md +159 -0
- package/_standalone/__node_modules/koffi/doc/misc.md +180 -0
- package/_standalone/__node_modules/koffi/doc/output.md +305 -0
- package/_standalone/__node_modules/koffi/doc/packaging.md +88 -0
- package/_standalone/__node_modules/koffi/doc/platforms.md +36 -0
- package/_standalone/__node_modules/koffi/doc/pointers.md +328 -0
- package/_standalone/__node_modules/koffi/doc/start.md +118 -0
- package/_standalone/__node_modules/koffi/doc/unions.md +186 -0
- package/_standalone/__node_modules/koffi/doc/variables.md +102 -0
- package/_standalone/__node_modules/postcss/node_modules/.bin/nanoid +2 -2
- package/_standalone/__node_modules/supports-color/browser.js +5 -0
- package/_standalone/__node_modules/supports-color/index.js +135 -0
- package/_standalone/__node_modules/supports-color/license +9 -0
- package/_standalone/__node_modules/supports-color/package.json +53 -0
- package/_standalone/__node_modules/tough-cookie/node_modules/.bin/tldts +2 -2
- package/_standalone/__node_modules/yaml/browser/dist/doc/Document.js +335 -0
- package/_standalone/__node_modules/yaml/browser/dist/doc/anchors.js +71 -0
- package/_standalone/__node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
- package/_standalone/__node_modules/yaml/browser/dist/doc/createNode.js +88 -0
- package/_standalone/__node_modules/yaml/browser/dist/doc/directives.js +176 -0
- package/_standalone/__node_modules/yaml/dist/doc/Document.js +337 -0
- package/_standalone/__node_modules/yaml/dist/doc/anchors.js +76 -0
- package/_standalone/__node_modules/yaml/dist/doc/applyReviver.js +57 -0
- package/_standalone/__node_modules/yaml/dist/doc/createNode.js +90 -0
- package/_standalone/__node_modules/yaml/dist/doc/directives.js +178 -0
- package/_standalone/server.js +1 -1
- package/dist/server/handlers/mcp-agents.d.ts +1 -0
- package/dist/server/handlers/mcp-agents.d.ts.map +1 -1
- package/dist/server/handlers/mcp-agents.js +230 -7
- package/dist/server/handlers/mcp-agents.js.map +1 -1
- package/dist/server/http.d.ts +7 -4
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +2 -0
- package/dist/server/http.js.map +1 -1
- package/dist/server/mcp-agent-registry.d.ts +4 -0
- package/dist/server/mcp-agent-registry.d.ts.map +1 -0
- package/dist/server/mcp-agent-registry.js +266 -0
- package/dist/server/mcp-agent-registry.js.map +1 -0
- package/package.json +1 -1
- package/runtime-manifest.json +1 -1
- package/scripts/prepare-standalone.mjs +0 -1
- package/scripts/smoke-desktop-app.mjs +82 -8
- package/scripts/verify-desktop-runtime.mjs +2 -1
- package/scripts/verify-standalone.mjs +12 -0
- package/static-web/.mindos-build-version +1 -1
- package/static-web/_next/static/chunks/{1430-a3447cf370715cad.js → 1430-c4ffa328888515c1.js} +1 -1
- package/{_standalone/__next/static/chunks/7166-d6d8489fdf67d180.js → static-web/_next/static/chunks/1957-723ac4eb5200214c.js} +3 -3
- package/static-web/_next/static/chunks/{2280-2277c97eae59ded9.js → 2737-f4970f0684c334d6.js} +2 -2
- package/{_standalone/__next/static/chunks/5200-2447cea5eb41a922.js → static-web/_next/static/chunks/5200-6c82e5ce54a95b4b.js} +2 -2
- package/static-web/_next/static/chunks/{1998.c8edc5601fa7362f.js → 6728.e1841cddb63308b0.js} +1 -1
- package/static-web/_next/static/chunks/{6947.51e37852cef26113.js → 6947.fb89346ef2f6be17.js} +1 -1
- package/static-web/_next/static/chunks/app/_not-found/{page-ec6fa498a07e6fd9.js → page-eaedcec1b693c03c.js} +1 -1
- package/{_standalone/__next/static/chunks/app/agents/[agentKey]/page-44c493b744d18249.js → static-web/_next/static/chunks/app/agents/[agentKey]/page-1dac12945bfbaf35.js} +1 -1
- package/{_standalone/__next/static/chunks/app/agents/page-6591b482a193e657.js → static-web/_next/static/chunks/app/agents/page-7ff2e39ca12eb20a.js} +1 -1
- package/static-web/_next/static/chunks/app/capture/history/page-51db96203209a441.js +1 -0
- package/static-web/_next/static/chunks/app/capture/page-3bf09d1f5e1c379c.js +1 -0
- package/static-web/_next/static/chunks/app/changelog/page-01dc22b6d2230c7f.js +1 -0
- package/static-web/_next/static/chunks/app/changes/page-c9f8d5632a001849.js +1 -0
- package/{_standalone/__next/static/chunks/app/echo/[segment]/page-c5ea40ac04f2dc29.js → static-web/_next/static/chunks/app/echo/[segment]/page-44b6b8e7fd0bbe31.js} +2 -2
- package/static-web/_next/static/chunks/app/echo/page-c9f8d5632a001849.js +1 -0
- package/static-web/_next/static/chunks/app/{error-c46d1b03d5e3289c.js → error-1cfcd6abd93c3837.js} +1 -1
- package/static-web/_next/static/chunks/app/explore/{page-5d6dd4af8d1bb468.js → page-117fcf54b8b9765c.js} +1 -1
- package/static-web/_next/static/chunks/app/global-error-11b333dcf222bc09.js +1 -0
- package/{_standalone/__next/static/chunks/app/help/page-3f0a1a8e51249cb2.js → static-web/_next/static/chunks/app/help/page-6efb8aa3a3c169fa.js} +1 -1
- package/static-web/_next/static/chunks/app/inbox/history/page-913645bbd6161116.js +1 -0
- package/static-web/_next/static/chunks/app/{layout-7aa371fe2615cd3e.js → layout-24a31ea28c556e82.js} +38 -38
- package/static-web/_next/static/chunks/app/login/page-7f9aca3d51266bec.js +1 -0
- package/{_standalone/__next/static/chunks/app/page-5c9489e28657376e.js → static-web/_next/static/chunks/app/page-35662964020c0ea9.js} +1 -1
- package/static-web/_next/static/chunks/app/settings/{page-4b75d6c17f42d565.js → page-f816f13a34613538.js} +1 -1
- package/{_standalone/__next/static/chunks/app/setup/page-f5de08d0d588c778.js → static-web/_next/static/chunks/app/setup/page-a1027871dc33ffbd.js} +1 -1
- package/static-web/_next/static/chunks/app/todo/page-54c3ec77f662ff73.js +1 -0
- package/static-web/_next/static/chunks/app/trash/page-50622e3df2047204.js +1 -0
- package/static-web/_next/static/chunks/app/view/[...path]/{error-f73092e638a4e999.js → error-c9a3f6de7c963c74.js} +1 -1
- package/static-web/_next/static/chunks/app/view/[...path]/{not-found-80e5f4054819b372.js → not-found-5a4f2b4fbe28d617.js} +1 -1
- package/{_standalone/__next/static/chunks/app/view/[...path]/page-ffe3c61100e25591.js → static-web/_next/static/chunks/app/view/[...path]/page-b10d3819827da1c2.js} +2 -2
- package/{_standalone/__next/static/chunks/app/wiki/page-4c9bc816069b6f2a.js → static-web/_next/static/chunks/app/wiki/page-7afd3b97c1ea1b8c.js} +2 -2
- package/static-web/_next/static/chunks/{main-app-23adfdc06470abb6.js → main-app-8a6081b103b8f494.js} +1 -1
- package/static-web/_next/static/chunks/webpack-7d8c24c6af17dd51.js +1 -0
- package/static-web/help/index.html +3 -3
- package/static-web/index.html +3 -3
- package/static-web/setup/index.html +3 -3
- package/static-web/static-web-manifest.json +1 -1
- package/static-web/wiki/index.html +3 -3
- package/_standalone/__next/static/chunks/app/capture/history/page-d157ce945ad84c23.js +0 -1
- package/_standalone/__next/static/chunks/app/capture/page-ae4d683afdc7a7b2.js +0 -1
- package/_standalone/__next/static/chunks/app/changelog/page-5a39d8fe531f4d45.js +0 -1
- package/_standalone/__next/static/chunks/app/changes/page-64cf8d751245eee9.js +0 -1
- package/_standalone/__next/static/chunks/app/echo/page-64cf8d751245eee9.js +0 -1
- package/_standalone/__next/static/chunks/app/global-error-d42727c6c6c48879.js +0 -1
- package/_standalone/__next/static/chunks/app/inbox/history/page-b2930c2ef04e00b0.js +0 -1
- package/_standalone/__next/static/chunks/app/login/page-a4f9f9053c75ae8d.js +0 -1
- package/_standalone/__next/static/chunks/app/todo/page-c7629a0c102c634f.js +0 -1
- package/_standalone/__next/static/chunks/app/trash/page-e1bfaeeca2de6ab4.js +0 -1
- package/_standalone/__next/static/chunks/webpack-e39fda9494843875.js +0 -1
- package/static-web/_next/static/chunks/app/capture/history/page-d157ce945ad84c23.js +0 -1
- package/static-web/_next/static/chunks/app/capture/page-ae4d683afdc7a7b2.js +0 -1
- package/static-web/_next/static/chunks/app/changelog/page-5a39d8fe531f4d45.js +0 -1
- package/static-web/_next/static/chunks/app/changes/page-64cf8d751245eee9.js +0 -1
- package/static-web/_next/static/chunks/app/echo/page-64cf8d751245eee9.js +0 -1
- package/static-web/_next/static/chunks/app/global-error-d42727c6c6c48879.js +0 -1
- package/static-web/_next/static/chunks/app/inbox/history/page-b2930c2ef04e00b0.js +0 -1
- package/static-web/_next/static/chunks/app/login/page-a4f9f9053c75ae8d.js +0 -1
- package/static-web/_next/static/chunks/app/todo/page-c7629a0c102c634f.js +0 -1
- package/static-web/_next/static/chunks/app/trash/page-e1bfaeeca2de6ab4.js +0 -1
- package/static-web/_next/static/chunks/webpack-e39fda9494843875.js +0 -1
- /package/_standalone/__next/static/{DFngZEGZSufSm5RuKPkYN → 3FkuJxcda957EywJ5ZWWG}/_buildManifest.js +0 -0
- /package/_standalone/__next/static/{DFngZEGZSufSm5RuKPkYN → 3FkuJxcda957EywJ5ZWWG}/_ssgManifest.js +0 -0
- /package/static-web/_next/static/{DFngZEGZSufSm5RuKPkYN → 3FkuJxcda957EywJ5ZWWG}/_buildManifest.js +0 -0
- /package/static-web/_next/static/{DFngZEGZSufSm5RuKPkYN → 3FkuJxcda957EywJ5ZWWG}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4520],{44361:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},56261:(e,t,r)=>{"use strict";var s=r(59889);r.o(s,"usePathname")&&r.d(t,{usePathname:function(){return s.usePathname}}),r.o(s,"useRouter")&&r.d(t,{useRouter:function(){return s.useRouter}}),r.o(s,"useSearchParams")&&r.d(t,{useSearchParams:function(){return s.useSearchParams}})},59029:(e,t,r)=>{"use strict";r.d(t,{v:()=>o});var s=r(44223);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,n={setState:s,getState:a,getInitialState:()=>o,subscribe:e=>(r.add(e),()=>r.delete(e))},o=t=e(s,a,n);return n},n=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},o=e=>e?n(e):n},69663:(e,t,r)=>{Promise.resolve().then(r.bind(r,85323))},73015:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var s=r(44223);let a=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=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 o={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 i=(0,s.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:n,className:i="",children:l,iconNode:c,...d},u)=>(0,s.createElement)("svg",{ref:u,...o,width:t,height:t,stroke:e,strokeWidth:n?24*Number(r)/Number(t):r,className:a("lucide",i),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...c.map(([e,t])=>(0,s.createElement)(e,t)),...Array.isArray(l)?l:[l]])),l=(e,t)=>{let r=(0,s.forwardRef)(({className:r,...o},l)=>(0,s.createElement)(i,{ref:l,iconNode:t,className:a(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,r),...o}));return r.displayName=n(e),r}},85323:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>u});var s=r(66839),a=r(44223),n=r(56261),o=r(44361);let i=(0,r(73015).A)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var l=r(2073);function c(){let e=(0,n.useRouter)(),t=(0,n.useSearchParams)(),{t:r}=(0,l.Y)(),[c,d]=(0,a.useState)(""),[u,p]=(0,a.useState)(!1),[h,x]=(0,a.useState)(""),m=r.login;async function f(r){r.preventDefault(),p(!0),x("");try{if((await fetch("/api/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:c})})).ok){let r=t.get("redirect")??"/",s=r.startsWith("/")&&!r.startsWith("//")?r:"/";e.replace(s)}else x(m?.incorrectPassword??"Incorrect password. Please try again."),d("")}catch{x(m?.connectionError??"Connection error. Please try again.")}finally{p(!1)}}return(0,s.jsx)("div",{className:"min-h-screen bg-background flex items-center justify-center px-4",children:(0,s.jsxs)("div",{className:"bg-card border border-border rounded-xl shadow-2xl w-full max-w-sm p-8",children:[(0,s.jsxs)("div",{className:"flex flex-col items-center gap-3 mb-8",children:[(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 80",fill:"none",width:40,height:40,className:"text-[var(--amber)]",children:[(0,s.jsxs)("defs",{children:[(0,s.jsxs)("linearGradient",{id:"lp-grad-human",x1:"35",y1:"40",x2:"5",y2:"40",gradientUnits:"userSpaceOnUse",children:[(0,s.jsx)("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:"0.8"}),(0,s.jsx)("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:"0.3"})]}),(0,s.jsxs)("linearGradient",{id:"lp-grad-agent",x1:"35",y1:"40",x2:"75",y2:"40",gradientUnits:"userSpaceOnUse",children:[(0,s.jsx)("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:"0.8"}),(0,s.jsx)("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:"1"})]})]}),(0,s.jsxs)("g",{transform:"translate(0, 20)",children:[(0,s.jsx)("path",{d:"M35,20 C25,35 8,35 8,20 C8,5 25,5 35,20",stroke:"url(#lp-grad-human)",strokeWidth:"3",strokeDasharray:"2 4",strokeLinecap:"round"}),(0,s.jsx)("path",{d:"M35,20 C45,2 75,2 75,20 C75,38 45,38 35,20",stroke:"url(#lp-grad-agent)",strokeWidth:"4.5",strokeLinecap:"round"}),(0,s.jsx)("path",{d:"M35,17.5 Q35,20 37.5,20 Q35,20 35,22.5 Q35,20 32.5,20 Q35,20 35,17.5 Z",fill:"var(--logo-sparkle)"})]})]}),(0,s.jsx)("h1",{className:"text-2xl font-brand text-foreground",children:"MindOS"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground/70 italic",children:m?.tagline??"You think here, Agents act there"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:m?.subtitle??"Enter your password to continue"})]}),(0,s.jsxs)("form",{onSubmit:f,className:"space-y-4",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-foreground",htmlFor:"password",children:m?.passwordLabel??"Password"}),(0,s.jsx)("input",{id:"password",type:"password",value:c,onChange:e=>d(e.target.value),placeholder:m?.passwordPlaceholder??"Enter password",autoFocus:!0,autoComplete:"current-password",required:!0,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"})]}),h&&(0,s.jsx)("p",{className:"text-xs text-destructive",role:"alert","aria-live":"polite",children:h}),(0,s.jsxs)("button",{type:"submit",disabled:u||!c,className:"w-full flex items-center justify-center gap-2 py-2 px-4 rounded-lg text-sm font-medium transition-opacity disabled:opacity-50 disabled:cursor-not-allowed mt-2 bg-[var(--amber)] text-[var(--amber-foreground)]",children:[u?(0,s.jsx)(o.A,{size:14,className:"animate-spin"}):(0,s.jsx)(i,{size:14}),u?m?.signingIn??"Signing in…":m?.signIn??"Sign in"]})]})]})})}function d(){return(0,s.jsx)("div",{className:"min-h-screen bg-background flex items-center justify-center px-4",children:(0,s.jsxs)("div",{className:"flex flex-col items-center gap-3 text-muted-foreground",children:[(0,s.jsx)(o.A,{className:"h-8 w-8 animate-spin text-[var(--amber)]","aria-hidden":!0}),(0,s.jsx)("p",{className:"text-sm",children:"Loading…"})]})})}function u(){return(0,s.jsx)(a.Suspense,{fallback:(0,s.jsx)(d,{}),children:(0,s.jsx)(c,{})})}}},e=>{e.O(0,[2073,5018,2330,7358],()=>e(e.s=69663)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{12250:(e,t,s)=>{"use strict";s.d(t,{default:()=>L});var r=s(66839),n=s(44223),i=s(56261),a=s(2073),o=s(6299),d=s(42277),l=s(93568),c=s(19378),m=s(82907),x=s(31082),u=s(88283),p=s(30401),h=s(21082),f=s(44361),g=s(44910);let b=[{id:"en",icon:(0,r.jsx)(x.A,{size:20}),dirs:["Profile/","Connections/","Notes/","Workflows/","Resources/","Projects/"]},{id:"zh",icon:(0,r.jsx)(u.A,{size:20}),dirs:["画像/","关系/","笔记/","流程/","资源/","项目/"]},{id:"empty",icon:(0,r.jsx)(p.A,{size:20}),dirs:["README.md","CONFIG.json","INSTRUCTION.md"]}];function v(){let{t:e}=(0,a.Y)(),t=(0,i.useRouter)(),[s,o]=(0,n.useState)(null),[d,l]=(0,n.useState)(null),m=e.onboarding;async function x(e){o(e),l(null);try{let s=await fetch("/api/init",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template:e})});if(!s.ok){let e=await s.json().catch(()=>({}));throw Error(e.error||`HTTP ${s.status}`)}t.refresh()}catch(e){console.error("[Onboarding] init failed:",e),l(e instanceof Error?e.message:"Unknown error"),o(null)}}return(0,r.jsxs)("div",{className:"content-width px-4 md:px-6 py-12 md:py-20",children:[(0,r.jsxs)("div",{className:"text-center mb-10",children:[(0,r.jsxs)("div",{className:"inline-flex items-center gap-2 mb-4",children:[(0,r.jsx)(c.A,{size:18,className:"text-[var(--amber)]"}),(0,r.jsx)("h1",{className:"text-2xl font-brand text-foreground",children:"MindOS"})]}),(0,r.jsx)("p",{className:"text-sm leading-relaxed max-w-md mx-auto text-muted-foreground",children:m.subtitle})]}),d&&(0,r.jsxs)("div",{role:"alert",className:"max-w-2xl mx-auto mb-6 flex items-center gap-2.5 px-4 py-3 rounded-lg border border-destructive/30 bg-destructive/5 text-sm text-destructive",children:[(0,r.jsx)(h.A,{size:16,className:"shrink-0"}),(0,r.jsx)("span",{className:"flex-1",children:m.initError??"Initialization failed. Please try again."}),(0,r.jsx)("button",{onClick:()=>l(null),className:"text-xs underline shrink-0 hover:opacity-80",children:m.dismiss??"Dismiss"})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4 max-w-2xl mx-auto mb-10",children:b.map(t=>{let n=s===t.id,i=null!==s;return(0,r.jsxs)("button",{disabled:i,title:i?e.hints.templateInitializing:void 0,onClick:()=>x(t.id),className:"group relative flex flex-col items-start gap-3 p-5 rounded-xl border border-border bg-card text-left transition-all duration-150 hover:border-[var(--amber)]/50 hover:bg-[var(--amber)]/5 disabled:opacity-60 disabled:cursor-not-allowed",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 w-full",children:[(0,r.jsx)("span",{className:"text-[var(--amber)]",children:t.icon}),(0,r.jsx)("span",{className:"text-sm font-semibold text-foreground",children:m.templates[t.id].title}),n&&(0,r.jsx)(f.A,{size:14,className:"animate-spin ml-auto text-[var(--amber)]"})]}),(0,r.jsx)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:m.templates[t.id].desc}),(0,r.jsx)("div",{className:"w-full rounded-lg px-3 py-2 text-xs leading-relaxed font-display bg-muted text-muted-foreground opacity-80",children:t.dirs.map(e=>(0,r.jsx)("div",{children:e},e))})]},t.id)})}),(0,r.jsx)("p",{className:"text-center text-xs leading-relaxed max-w-sm mx-auto text-muted-foreground/60",children:m.importHint}),(0,r.jsx)("p",{className:"text-center mt-2",children:(0,r.jsx)("button",{type:"button",onClick:()=>window.dispatchEvent(new CustomEvent("mindos:open-import")),className:"text-xs text-[var(--amber-text)] hover:underline transition-colors",children:e.fileImport.onboardingHint})}),(0,r.jsxs)("div",{className:"max-w-md mx-auto mt-6 flex items-center gap-3 px-4 py-3 rounded-lg border border-border bg-card text-left",children:[(0,r.jsx)(g.A,{size:16,className:"text-muted-foreground shrink-0"}),(0,r.jsx)("div",{className:"min-w-0",children:(0,r.jsxs)("p",{className:"text-xs text-muted-foreground",children:[m.syncHint??"Want cross-device sync? Run"," ",(0,r.jsx)("code",{className:"font-mono px-1 py-0.5 rounded select-all bg-muted text-[11px]",children:"mindos sync init"})," ",m.syncHintSuffix??"in the terminal after setup."]})})]})]})}var j=s(51740),N=s(72799),w=s(72615),y=s(98940),k=s(51111),C=s(4373),E=s(76723),A=s(24336),S=s(46990),z=s(79455),P=s(18016),D=s.n(P),T=s(48234),I=s(52445);function R(){let{t:e}=(0,a.Y)(),t=e.guide,[s,i]=(0,n.useState)(null),[o,d]=(0,n.useState)(null),[l,m]=(0,n.useState)(!1),x=(0,n.useRef)(!1),u=(0,n.useCallback)(()=>{fetch("/api/setup").then(e=>e.json()).then(e=>{let t=e.guideState;t?.active&&!t.dismissed?i(t):i(null)}).catch(e=>{console.warn("[GuideCard] Fetch guide state failed:",e)})},[]);(0,n.useEffect)(()=>{u();let e=()=>u();return window.addEventListener("focus",e),window.addEventListener("guide-state-updated",e),()=>{window.removeEventListener("focus",e),window.removeEventListener("guide-state-updated",e)}},[u]);let p=(0,n.useCallback)(e=>{i(t=>t?{...t,...e}:t),fetch("/api/setup",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({guideState:e})}).catch(e=>{console.warn("[GuideCard] PATCH guide state failed:",e)})},[]),h=(0,n.useCallback)(()=>{p({dismissed:!0}),i(null)},[p]),f=(0,n.useCallback)(()=>{window.dispatchEvent(new CustomEvent("mindos:open-import"))},[]),g=(0,n.useCallback)(()=>{p({step1Done:!0}),d(null)},[p]);(0,n.useEffect)(()=>{if(!s||s.step1Done)return;let e=()=>p({step1Done:!0});return window.addEventListener("mindos:files-changed",e),()=>window.removeEventListener("mindos:files-changed",e)},[s,s?.step1Done,p]);let b=(0,n.useCallback)(()=>{let e=s?.template==="empty"?t.ai.promptEmpty:t.ai.prompt;(0,T.NH)(e,"guide")},[s,t]),v=(0,n.useCallback)(async()=>{await (0,S.l)(t.agent.copyPrompt)&&z.oR.copy()},[t]),j=(0,n.useCallback)(()=>{m(!0),d(null),p({nextStepIndex:0})},[p]),P=(0,n.useCallback)(()=>{if(!s)return;let e=s.nextStepIndex,r=t.done.steps;e<r.length&&((0,T.NH)(r[e].prompt,"guide-next"),p({nextStepIndex:e+1}))},[s,t,p]);(0,n.useEffect)(()=>{s&&!x.current&&(x.current=!0,s.step1Done?s.askedAI?l||d("agent"):d("ai"):d("import"))},[s,l]);let R=(0,n.useRef)({s1:!1,s2:!1});(0,n.useEffect)(()=>{if(!s)return;let e=R.current;s.step1Done&&!e.s1&&(d("ai"),e.s1=!0),s.askedAI&&!e.s2&&(d("agent"),e.s2=!0)},[s?.step1Done,s?.askedAI,s]);let $=s?.step1Done??!1,O=s?.askedAI??!1,L=s?.nextStepIndex??0,_=$&&O&&l,H=_&&L>=t.done.steps.length,M=(0,n.useRef)(null);if((0,n.useEffect)(()=>(H&&(M.current=setTimeout(()=>h(),8e3)),()=>{M.current&&clearTimeout(M.current)}),[H,h]),!s||void 0!==s.walkthroughStep&&s.walkthroughStep>=0&&s.walkthroughStep<I.g.length&&!s.walkthroughDismissed)return null;let F=$&&O&&!l;if(_&&H)return(0,r.jsxs)("div",{className:"rounded-lg border border-border/50 px-4 py-3 flex items-center gap-3 animate-in fade-in duration-300",children:[(0,r.jsx)(c.A,{size:14,className:"text-[var(--amber)] shrink-0"}),(0,r.jsx)("span",{className:"text-xs font-medium flex-1 text-foreground",children:t.done.titleFinal}),(0,r.jsx)(D(),{href:"/explore",className:"text-xs font-medium text-[var(--amber)] transition-colors hover:opacity-80",children:e.walkthrough.exploreCta}),(0,r.jsx)("button",{onClick:h,className:"p-1 rounded hover:bg-muted transition-colors text-muted-foreground",children:(0,r.jsx)(N.A,{size:12})})]});if(_){let e=t.done.steps[L];return(0,r.jsxs)("div",{className:"rounded-lg border border-border/50 px-4 py-3 animate-in fade-in duration-300",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)(c.A,{size:14,className:"text-[var(--amber)] shrink-0"}),(0,r.jsx)("span",{className:"text-xs font-medium flex-1 text-foreground",children:t.done.title}),(0,r.jsx)("button",{onClick:h,className:"p-1 rounded hover:bg-muted transition-colors text-muted-foreground",children:(0,r.jsx)(N.A,{size:12})})]}),e&&(0,r.jsxs)("button",{onClick:P,className:"mt-2 ml-6 flex items-center gap-1.5 text-xs text-[var(--amber)] transition-colors hover:opacity-80 cursor-pointer",children:[(0,r.jsx)("span",{children:e.hint}),(0,r.jsx)(w.A,{size:10,className:"-rotate-90"})]})]})}let U=[{key:"import",done:$,icon:y.A,title:t.import.title,dimmed:!1},{key:"ai",done:O,icon:k.A,title:t.ai.title,dimmed:!$},{key:"agent",done:l,icon:C.A,title:t.agent.title,dimmed:!$||!O}];return(0,r.jsxs)("div",{className:"rounded-lg border border-border/50 overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-4 py-3",children:[(0,r.jsx)(c.A,{size:14,className:"text-[var(--amber)] shrink-0"}),(0,r.jsx)("span",{className:"text-xs font-semibold text-foreground mr-2",children:t.title}),(0,r.jsx)("div",{className:"flex items-center gap-1 flex-1 min-w-0",children:U.map((e,s)=>{e.icon;let n=o===e.key,i=!e.done&&!e.dimmed;return(0,r.jsxs)("button",{type:"button",onClick:()=>{var t,s,r;return t=e.key,s=e.done,r=e.dimmed,void(!s&&!r&&d(o===t?null:t))},disabled:e.done||e.dimmed,title:e.dimmed?t.stepLocked:void 0,className:`flex items-center gap-1.5 px-2.5 py-1 rounded-md text-2xs font-medium transition-all ${e.done?"text-success/70":e.dimmed?"text-muted-foreground/30":n?"bg-[var(--amber)]/10 text-[var(--amber)]":"text-muted-foreground hover:text-foreground hover:bg-muted/50"} ${i?"cursor-pointer":""}`,children:[e.done?(0,r.jsx)(E.A,{size:11,className:"shrink-0"}):(0,r.jsx)("span",{className:`flex items-center justify-center w-4 h-4 rounded-full text-[9px] font-bold shrink-0 ${n?"bg-[var(--amber)] text-[var(--amber-foreground)] animate-pulse":e.dimmed?"bg-muted/50 text-muted-foreground/30":"bg-muted text-muted-foreground"}`,children:s+1}),(0,r.jsx)("span",{className:"truncate hidden sm:inline",children:e.title})]},e.key)})}),(0,r.jsx)("button",{onClick:h,className:"p-1 rounded hover:bg-muted transition-colors text-muted-foreground shrink-0",children:(0,r.jsx)(N.A,{size:12})})]}),(0,r.jsx)("div",{className:`grid transition-[grid-template-rows] duration-200 ease-out ${"import"===o&&!$?"grid-rows-[1fr]":"grid-rows-[0fr]"}`,children:(0,r.jsx)("div",{className:"overflow-hidden",children:(0,r.jsx)("div",{className:"px-4 pb-3",children:(0,r.jsxs)("div",{className:"flex items-center gap-3 pl-6",children:[(0,r.jsx)("p",{className:"text-xs text-muted-foreground flex-1",children:t.import.desc}),(0,r.jsx)("button",{onClick:f,className:"shrink-0 text-xs font-medium px-3 py-1.5 rounded-md bg-[var(--amber)] text-[var(--amber-foreground)] transition-all hover:opacity-90",children:t.import.button}),(0,r.jsx)("button",{onClick:g,className:"shrink-0 text-xs px-2 py-1 rounded-md text-muted-foreground/60 hover:text-muted-foreground hover:bg-muted transition-colors",children:t.skip})]})})})}),(0,r.jsx)("div",{className:`grid transition-[grid-template-rows] duration-200 ease-out ${"ai"===o&&$&&!O?"grid-rows-[1fr]":"grid-rows-[0fr]"}`,children:(0,r.jsx)("div",{className:"overflow-hidden",children:(0,r.jsx)("div",{className:"px-4 pb-3",children:(0,r.jsxs)("div",{className:"flex items-center gap-3 pl-6",children:[(0,r.jsx)("p",{className:"text-xs text-muted-foreground flex-1",children:t.ai.desc}),(0,r.jsx)("button",{onClick:b,className:"shrink-0 text-xs font-medium px-3 py-1.5 rounded-md bg-[var(--amber)] text-[var(--amber-foreground)] transition-all hover:opacity-90",children:t.ai.cta})]})})})}),(0,r.jsx)("div",{className:`grid transition-[grid-template-rows] duration-200 ease-out ${"agent"===o&&F?"grid-rows-[1fr]":"grid-rows-[0fr]"}`,children:(0,r.jsx)("div",{className:"overflow-hidden",children:(0,r.jsx)("div",{className:"px-4 pb-3",children:(0,r.jsxs)("div",{className:"pl-6",children:[(0,r.jsx)("p",{className:"text-xs text-muted-foreground mb-2",children:t.agent.desc}),(0,r.jsxs)("div",{className:"relative rounded-md bg-muted/50 p-3 pr-20",children:[(0,r.jsx)("p",{className:"text-xs font-mono text-foreground/80 leading-relaxed whitespace-pre-wrap",children:t.agent.copyPrompt}),(0,r.jsxs)("button",{onClick:v,className:"absolute top-2 right-2 flex items-center gap-1 text-2xs font-medium px-2 py-1 rounded-md bg-background border border-border/50 text-muted-foreground hover:text-foreground transition-colors",children:[(0,r.jsx)(A.A,{size:10}),t.agent.copy]})]}),(0,r.jsx)("div",{className:"flex justify-end mt-2",children:(0,r.jsx)("button",{onClick:j,className:"text-xs px-2 py-1 rounded-md text-muted-foreground/60 hover:text-muted-foreground hover:bg-muted transition-colors",children:t.skip})})]})})})})]})}var $=s(37227);let O=[o.A,d.A,l.A,c.A];function L({recent:e,existingFiles:t,spaces:s}){let{t:o}=(0,a.Y)(),d=(0,i.useRouter)(),[l,c]=(0,n.useState)(0),[x,u]=(0,n.useState)(!1),p=(0,n.useCallback)(()=>u(e=>!e),[]),h=(0,n.useCallback)(()=>{u(!0)},[]),f=(0,n.useCallback)(()=>{let t=e.length>0?`/view/${e[0].path}`:"/";window.dispatchEvent(new CustomEvent("mindos:open-ask-panel")),d.push(t)},[e,d]);if(0===e.length)return(0,r.jsx)(v,{});let g=o.ask?.homeCategories??[],b=g[l];return(0,r.jsxs)("div",{className:"flex flex-col h-[100dvh]",children:[!x&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"flex-shrink-0 px-4 md:px-6 pt-4 pb-6",children:(0,r.jsx)("div",{className:"max-w-4xl mx-auto",children:(0,r.jsx)(R,{})})}),(0,r.jsx)("div",{className:"flex-1 min-h-0"}),(0,r.jsxs)("div",{className:"flex-shrink-0 flex flex-col items-center text-center px-4 md:px-6 pb-8",children:[(0,r.jsxs)("div",{className:"flex items-center gap-4 mb-3",children:[(0,r.jsx)(j.A,{id:"home-hero",className:"w-10 h-5 opacity-90"}),(0,r.jsxs)("h1",{className:"text-2xl font-brand leading-none",children:[(0,r.jsx)("span",{className:"text-foreground",children:"Mind"}),(0,r.jsx)("span",{className:"text-[var(--amber)]",children:"OS"})]})]}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground/50 max-w-sm leading-relaxed",children:o.app.tagline})]})]}),(0,r.jsx)("div",{className:x?"flex-1 min-h-0 flex flex-col overflow-hidden":"flex-shrink-0 px-4 md:px-6 flex justify-center",onDragOver:e=>{e.dataTransfer.types.includes("Files")&&(e.preventDefault(),e.stopPropagation())},onDragEnter:e=>{e.dataTransfer.types.includes("Files")&&e.stopPropagation()},onDrop:e=>{e.stopPropagation()},children:(0,r.jsx)("div",{className:x?"flex-1 min-h-0 flex flex-col overflow-hidden":"w-full max-w-4xl",children:(0,r.jsx)("div",{"data-walkthrough":"ask-button",className:x?"flex-1 min-h-0 flex flex-col overflow-hidden":"rounded-xl border border-border/70 shadow-sm overflow-hidden flex flex-col max-h-[50vh]",children:(0,r.jsx)($.A,{visible:!0,variant:"home",maximized:x,onMaximize:p,onFirstMessage:h,onDockToPanel:f})})})}),!x&&(0,r.jsxs)(r.Fragment,{children:[g.length>0&&b&&(0,r.jsx)("div",{className:"flex-shrink-0 flex justify-center px-4 md:px-6 pt-6",children:(0,r.jsxs)("div",{className:"w-full max-w-4xl",children:[(0,r.jsx)("div",{className:"flex items-center justify-center gap-1.5 mb-5",role:"tablist",children:g.map((e,t)=>{let s=O[t%O.length],n=t===l;return(0,r.jsxs)("button",{type:"button",role:"tab","aria-selected":n,onClick:()=>c(t),className:`flex items-center gap-1.5 px-4 py-2 text-xs font-medium rounded-full transition-all duration-150 ${n?"bg-[var(--amber)]/12 text-[var(--amber)]":"text-muted-foreground/50 hover:text-muted-foreground hover:bg-muted/40"}`,children:[(0,r.jsx)(s,{size:13}),(0,r.jsx)("span",{children:e.label})]},e.label)})}),(0,r.jsx)("div",{className:"grid grid-cols-2 gap-2",role:"tabpanel",children:b.items.map((e,t)=>(0,r.jsx)("button",{type:"button",onClick:()=>{var t;return t=e.prompt,void window.dispatchEvent(new CustomEvent("mindos:home-suggestion",{detail:{text:t}}))},className:"group relative text-left px-4 py-3.5 rounded-xl border border-border/30 hover:border-border/60 transition-all duration-150 hover:shadow-sm",children:(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-[13px] font-medium text-foreground/90 leading-snug mb-0.5",children:e.label}),(0,r.jsx)("div",{className:"text-xs text-muted-foreground/60 leading-relaxed",children:e.desc})]}),(0,r.jsx)(m.A,{size:14,className:"shrink-0 mt-0.5 text-muted-foreground/20 group-hover:text-[var(--amber)] transition-colors"})]})},`${l}-${t}`))})]})}),(0,r.jsx)("div",{className:"flex-1 min-h-0"}),(0,r.jsxs)("div",{className:"flex-shrink-0 py-4 flex items-center justify-center gap-2 text-[11px] text-muted-foreground/20",children:[(0,r.jsx)(j.A,{id:"home-footer",className:"w-4 h-2 opacity-20"}),(0,r.jsx)("span",{children:o.app.footer})]})]})]})}},23684:(e,t,s)=>{"use strict";s.d(t,{default:()=>i});var r=s(66839),n=s(44223);function i({href:e,label:t="Redirecting..."}){return(0,n.useEffect)(()=>{window.location.replace(e)},[e]),(0,r.jsx)("main",{className:"min-h-screen flex items-center justify-center px-6",children:(0,r.jsx)("a",{href:e,className:"text-sm underline-offset-4 hover:underline focus-visible:ring-2 focus-visible:ring-ring rounded-sm",style:{color:"var(--muted-foreground)"},children:t})})}},24598:(e,t,s)=>{Promise.resolve().then(s.bind(s,23684)),Promise.resolve().then(s.bind(s,12250))},46990:(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})},58221:(e,t,s)=>{"use strict";s.d(t,{IX:()=>d,KW:()=>o,O0:()=>a,cn:()=>i,vr:()=>l});var r=s(10325),n=s(91498);function i(...e){return(0,n.QP)((0,r.$)(e))}function a(e){return e.split("/").map(encodeURIComponent).join("/")}function o(e,t){let s=Date.now()-e,r=Math.floor(s/6e4),n=Math.floor(s/36e5),i=Math.floor(s/864e5);return r<1?t.justNow:r<60?t.minutesAgo(r):n<24?t.hoursAgo(n):i<7?t.daysAgo(i):new Date(e).toLocaleDateString()}function d(e){let t=e.match(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]+/u);return t?.[0]??""}function l(e){return e.replace(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}\s]+/u,"")||e}},65264:(e,t,s)=>{"use strict";s.d(t,{h:()=>r,n:()=>n});class r extends Error{constructor(e,t,s){super(e),this.name="ApiError",this.status=t,this.code=s}}async function n(e,t={}){let s,i,a,{timeout:o=3e4,signal:d,...l}=t;if((o>0||d)&&(s=new AbortController),o>0&&s&&(i=setTimeout(()=>{s.abort(Error(`Request timed out after ${Math.round(o/1e3)}s`))},o)),d&&s)if(d.aborted)s.abort();else{let e=()=>s?.abort();d.addEventListener("abort",e,{once:!0}),a=()=>{d.removeEventListener("abort",e)}}let c=s?.signal??d;try{let t=await fetch(e,{...l,signal:c});if(!t.ok){let e,s=`Request failed (${t.status})`;try{let r=await t.json();r?.error?.code&&r?.error?.message?(s=r.error.message,e=r.error.code):r?.error&&(s="string"==typeof r.error?r.error:r.error.message??s)}catch{}throw new r(s,t.status,e)}return await t.json()}finally{i&&clearTimeout(i),a&&a()}}},79455:(e,t,s)=>{"use strict";s.d(t,{B1:()=>o,X8:()=>l,dV:()=>d,oR:()=>m});let r=[],n=[],i=0;function a(){for(let e of n)e()}function o(e){return n=[...n,e],()=>{n=n.filter(t=>t!==e)}}function d(){return r}function l(e){r=r.filter(t=>t.id!==e),a()}function c(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),a(),s.duration>0&&setTimeout(()=>l(t),s.duration)}function m(e,t){c({message:e,...t})}m.success=(e,t)=>c({message:e,type:"success",duration:t}),m.undo=(e,t,s)=>c({message:e,type:"info",duration:s?.duration??5e3,action:{label:s?.label??"Undo",onClick:t}}),m.error=(e,t)=>c({message:e,type:"error",duration:t}),m.copy=(e="Copied")=>c({message:e,type:"success",duration:1500})}},e=>{e.O(0,[5883,3940,2130,8225,7156,6274,2073,5191,9479,5018,2330,7358],()=>e(e.s=24598)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{12250:(e,t,s)=>{"use strict";s.d(t,{default:()=>L});var r=s(66839),n=s(44223),i=s(56261),a=s(2073),o=s(6299),d=s(42277),l=s(93568),c=s(19378),m=s(82907),x=s(31082),u=s(88283),p=s(30401),h=s(21082),f=s(44361),g=s(44910);let b=[{id:"en",icon:(0,r.jsx)(x.A,{size:20}),dirs:["Profile/","Connections/","Notes/","Workflows/","Resources/","Projects/"]},{id:"zh",icon:(0,r.jsx)(u.A,{size:20}),dirs:["画像/","关系/","笔记/","流程/","资源/","项目/"]},{id:"empty",icon:(0,r.jsx)(p.A,{size:20}),dirs:["README.md","CONFIG.json","INSTRUCTION.md"]}];function v(){let{t:e}=(0,a.Y)(),t=(0,i.useRouter)(),[s,o]=(0,n.useState)(null),[d,l]=(0,n.useState)(null),m=e.onboarding;async function x(e){o(e),l(null);try{let s=await fetch("/api/init",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template:e})});if(!s.ok){let e=await s.json().catch(()=>({}));throw Error(e.error||`HTTP ${s.status}`)}t.refresh()}catch(e){console.error("[Onboarding] init failed:",e),l(e instanceof Error?e.message:"Unknown error"),o(null)}}return(0,r.jsxs)("div",{className:"content-width px-4 md:px-6 py-12 md:py-20",children:[(0,r.jsxs)("div",{className:"text-center mb-10",children:[(0,r.jsxs)("div",{className:"inline-flex items-center gap-2 mb-4",children:[(0,r.jsx)(c.A,{size:18,className:"text-[var(--amber)]"}),(0,r.jsx)("h1",{className:"text-2xl font-brand text-foreground",children:"MindOS"})]}),(0,r.jsx)("p",{className:"text-sm leading-relaxed max-w-md mx-auto text-muted-foreground",children:m.subtitle})]}),d&&(0,r.jsxs)("div",{role:"alert",className:"max-w-2xl mx-auto mb-6 flex items-center gap-2.5 px-4 py-3 rounded-lg border border-destructive/30 bg-destructive/5 text-sm text-destructive",children:[(0,r.jsx)(h.A,{size:16,className:"shrink-0"}),(0,r.jsx)("span",{className:"flex-1",children:m.initError??"Initialization failed. Please try again."}),(0,r.jsx)("button",{onClick:()=>l(null),className:"text-xs underline shrink-0 hover:opacity-80",children:m.dismiss??"Dismiss"})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4 max-w-2xl mx-auto mb-10",children:b.map(t=>{let n=s===t.id,i=null!==s;return(0,r.jsxs)("button",{disabled:i,title:i?e.hints.templateInitializing:void 0,onClick:()=>x(t.id),className:"group relative flex flex-col items-start gap-3 p-5 rounded-xl border border-border bg-card text-left transition-all duration-150 hover:border-[var(--amber)]/50 hover:bg-[var(--amber)]/5 disabled:opacity-60 disabled:cursor-not-allowed",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2.5 w-full",children:[(0,r.jsx)("span",{className:"text-[var(--amber)]",children:t.icon}),(0,r.jsx)("span",{className:"text-sm font-semibold text-foreground",children:m.templates[t.id].title}),n&&(0,r.jsx)(f.A,{size:14,className:"animate-spin ml-auto text-[var(--amber)]"})]}),(0,r.jsx)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:m.templates[t.id].desc}),(0,r.jsx)("div",{className:"w-full rounded-lg px-3 py-2 text-xs leading-relaxed font-display bg-muted text-muted-foreground opacity-80",children:t.dirs.map(e=>(0,r.jsx)("div",{children:e},e))})]},t.id)})}),(0,r.jsx)("p",{className:"text-center text-xs leading-relaxed max-w-sm mx-auto text-muted-foreground/60",children:m.importHint}),(0,r.jsx)("p",{className:"text-center mt-2",children:(0,r.jsx)("button",{type:"button",onClick:()=>window.dispatchEvent(new CustomEvent("mindos:open-import")),className:"text-xs text-[var(--amber-text)] hover:underline transition-colors",children:e.fileImport.onboardingHint})}),(0,r.jsxs)("div",{className:"max-w-md mx-auto mt-6 flex items-center gap-3 px-4 py-3 rounded-lg border border-border bg-card text-left",children:[(0,r.jsx)(g.A,{size:16,className:"text-muted-foreground shrink-0"}),(0,r.jsx)("div",{className:"min-w-0",children:(0,r.jsxs)("p",{className:"text-xs text-muted-foreground",children:[m.syncHint??"Want cross-device sync? Run"," ",(0,r.jsx)("code",{className:"font-mono px-1 py-0.5 rounded select-all bg-muted text-[11px]",children:"mindos sync init"})," ",m.syncHintSuffix??"in the terminal after setup."]})})]})]})}var j=s(51740),N=s(72799),w=s(72615),y=s(98940),k=s(51111),C=s(4373),E=s(76723),A=s(24336),S=s(46990),z=s(79455),P=s(18016),D=s.n(P),T=s(48234),I=s(52445);function R(){let{t:e}=(0,a.Y)(),t=e.guide,[s,i]=(0,n.useState)(null),[o,d]=(0,n.useState)(null),[l,m]=(0,n.useState)(!1),x=(0,n.useRef)(!1),u=(0,n.useCallback)(()=>{fetch("/api/setup").then(e=>e.json()).then(e=>{let t=e.guideState;t?.active&&!t.dismissed?i(t):i(null)}).catch(e=>{console.warn("[GuideCard] Fetch guide state failed:",e)})},[]);(0,n.useEffect)(()=>{u();let e=()=>u();return window.addEventListener("focus",e),window.addEventListener("guide-state-updated",e),()=>{window.removeEventListener("focus",e),window.removeEventListener("guide-state-updated",e)}},[u]);let p=(0,n.useCallback)(e=>{i(t=>t?{...t,...e}:t),fetch("/api/setup",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({guideState:e})}).catch(e=>{console.warn("[GuideCard] PATCH guide state failed:",e)})},[]),h=(0,n.useCallback)(()=>{p({dismissed:!0}),i(null)},[p]),f=(0,n.useCallback)(()=>{window.dispatchEvent(new CustomEvent("mindos:open-import"))},[]),g=(0,n.useCallback)(()=>{p({step1Done:!0}),d(null)},[p]);(0,n.useEffect)(()=>{if(!s||s.step1Done)return;let e=()=>p({step1Done:!0});return window.addEventListener("mindos:files-changed",e),()=>window.removeEventListener("mindos:files-changed",e)},[s,s?.step1Done,p]);let b=(0,n.useCallback)(()=>{let e=s?.template==="empty"?t.ai.promptEmpty:t.ai.prompt;(0,T.NH)(e,"guide")},[s,t]),v=(0,n.useCallback)(async()=>{await (0,S.l)(t.agent.copyPrompt)&&z.oR.copy()},[t]),j=(0,n.useCallback)(()=>{m(!0),d(null),p({nextStepIndex:0})},[p]),P=(0,n.useCallback)(()=>{if(!s)return;let e=s.nextStepIndex,r=t.done.steps;e<r.length&&((0,T.NH)(r[e].prompt,"guide-next"),p({nextStepIndex:e+1}))},[s,t,p]);(0,n.useEffect)(()=>{s&&!x.current&&(x.current=!0,s.step1Done?s.askedAI?l||d("agent"):d("ai"):d("import"))},[s,l]);let R=(0,n.useRef)({s1:!1,s2:!1});(0,n.useEffect)(()=>{if(!s)return;let e=R.current;s.step1Done&&!e.s1&&(d("ai"),e.s1=!0),s.askedAI&&!e.s2&&(d("agent"),e.s2=!0)},[s?.step1Done,s?.askedAI,s]);let $=s?.step1Done??!1,O=s?.askedAI??!1,L=s?.nextStepIndex??0,_=$&&O&&l,H=_&&L>=t.done.steps.length,M=(0,n.useRef)(null);if((0,n.useEffect)(()=>(H&&(M.current=setTimeout(()=>h(),8e3)),()=>{M.current&&clearTimeout(M.current)}),[H,h]),!s||void 0!==s.walkthroughStep&&s.walkthroughStep>=0&&s.walkthroughStep<I.g.length&&!s.walkthroughDismissed)return null;let F=$&&O&&!l;if(_&&H)return(0,r.jsxs)("div",{className:"rounded-lg border border-border/50 px-4 py-3 flex items-center gap-3 animate-in fade-in duration-300",children:[(0,r.jsx)(c.A,{size:14,className:"text-[var(--amber)] shrink-0"}),(0,r.jsx)("span",{className:"text-xs font-medium flex-1 text-foreground",children:t.done.titleFinal}),(0,r.jsx)(D(),{href:"/explore",className:"text-xs font-medium text-[var(--amber)] transition-colors hover:opacity-80",children:e.walkthrough.exploreCta}),(0,r.jsx)("button",{onClick:h,className:"p-1 rounded hover:bg-muted transition-colors text-muted-foreground",children:(0,r.jsx)(N.A,{size:12})})]});if(_){let e=t.done.steps[L];return(0,r.jsxs)("div",{className:"rounded-lg border border-border/50 px-4 py-3 animate-in fade-in duration-300",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)(c.A,{size:14,className:"text-[var(--amber)] shrink-0"}),(0,r.jsx)("span",{className:"text-xs font-medium flex-1 text-foreground",children:t.done.title}),(0,r.jsx)("button",{onClick:h,className:"p-1 rounded hover:bg-muted transition-colors text-muted-foreground",children:(0,r.jsx)(N.A,{size:12})})]}),e&&(0,r.jsxs)("button",{onClick:P,className:"mt-2 ml-6 flex items-center gap-1.5 text-xs text-[var(--amber)] transition-colors hover:opacity-80 cursor-pointer",children:[(0,r.jsx)("span",{children:e.hint}),(0,r.jsx)(w.A,{size:10,className:"-rotate-90"})]})]})}let U=[{key:"import",done:$,icon:y.A,title:t.import.title,dimmed:!1},{key:"ai",done:O,icon:k.A,title:t.ai.title,dimmed:!$},{key:"agent",done:l,icon:C.A,title:t.agent.title,dimmed:!$||!O}];return(0,r.jsxs)("div",{className:"rounded-lg border border-border/50 overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-4 py-3",children:[(0,r.jsx)(c.A,{size:14,className:"text-[var(--amber)] shrink-0"}),(0,r.jsx)("span",{className:"text-xs font-semibold text-foreground mr-2",children:t.title}),(0,r.jsx)("div",{className:"flex items-center gap-1 flex-1 min-w-0",children:U.map((e,s)=>{e.icon;let n=o===e.key,i=!e.done&&!e.dimmed;return(0,r.jsxs)("button",{type:"button",onClick:()=>{var t,s,r;return t=e.key,s=e.done,r=e.dimmed,void(!s&&!r&&d(o===t?null:t))},disabled:e.done||e.dimmed,title:e.dimmed?t.stepLocked:void 0,className:`flex items-center gap-1.5 px-2.5 py-1 rounded-md text-2xs font-medium transition-all ${e.done?"text-success/70":e.dimmed?"text-muted-foreground/30":n?"bg-[var(--amber)]/10 text-[var(--amber)]":"text-muted-foreground hover:text-foreground hover:bg-muted/50"} ${i?"cursor-pointer":""}`,children:[e.done?(0,r.jsx)(E.A,{size:11,className:"shrink-0"}):(0,r.jsx)("span",{className:`flex items-center justify-center w-4 h-4 rounded-full text-[9px] font-bold shrink-0 ${n?"bg-[var(--amber)] text-[var(--amber-foreground)] animate-pulse":e.dimmed?"bg-muted/50 text-muted-foreground/30":"bg-muted text-muted-foreground"}`,children:s+1}),(0,r.jsx)("span",{className:"truncate hidden sm:inline",children:e.title})]},e.key)})}),(0,r.jsx)("button",{onClick:h,className:"p-1 rounded hover:bg-muted transition-colors text-muted-foreground shrink-0",children:(0,r.jsx)(N.A,{size:12})})]}),(0,r.jsx)("div",{className:`grid transition-[grid-template-rows] duration-200 ease-out ${"import"===o&&!$?"grid-rows-[1fr]":"grid-rows-[0fr]"}`,children:(0,r.jsx)("div",{className:"overflow-hidden",children:(0,r.jsx)("div",{className:"px-4 pb-3",children:(0,r.jsxs)("div",{className:"flex items-center gap-3 pl-6",children:[(0,r.jsx)("p",{className:"text-xs text-muted-foreground flex-1",children:t.import.desc}),(0,r.jsx)("button",{onClick:f,className:"shrink-0 text-xs font-medium px-3 py-1.5 rounded-md bg-[var(--amber)] text-[var(--amber-foreground)] transition-all hover:opacity-90",children:t.import.button}),(0,r.jsx)("button",{onClick:g,className:"shrink-0 text-xs px-2 py-1 rounded-md text-muted-foreground/60 hover:text-muted-foreground hover:bg-muted transition-colors",children:t.skip})]})})})}),(0,r.jsx)("div",{className:`grid transition-[grid-template-rows] duration-200 ease-out ${"ai"===o&&$&&!O?"grid-rows-[1fr]":"grid-rows-[0fr]"}`,children:(0,r.jsx)("div",{className:"overflow-hidden",children:(0,r.jsx)("div",{className:"px-4 pb-3",children:(0,r.jsxs)("div",{className:"flex items-center gap-3 pl-6",children:[(0,r.jsx)("p",{className:"text-xs text-muted-foreground flex-1",children:t.ai.desc}),(0,r.jsx)("button",{onClick:b,className:"shrink-0 text-xs font-medium px-3 py-1.5 rounded-md bg-[var(--amber)] text-[var(--amber-foreground)] transition-all hover:opacity-90",children:t.ai.cta})]})})})}),(0,r.jsx)("div",{className:`grid transition-[grid-template-rows] duration-200 ease-out ${"agent"===o&&F?"grid-rows-[1fr]":"grid-rows-[0fr]"}`,children:(0,r.jsx)("div",{className:"overflow-hidden",children:(0,r.jsx)("div",{className:"px-4 pb-3",children:(0,r.jsxs)("div",{className:"pl-6",children:[(0,r.jsx)("p",{className:"text-xs text-muted-foreground mb-2",children:t.agent.desc}),(0,r.jsxs)("div",{className:"relative rounded-md bg-muted/50 p-3 pr-20",children:[(0,r.jsx)("p",{className:"text-xs font-mono text-foreground/80 leading-relaxed whitespace-pre-wrap",children:t.agent.copyPrompt}),(0,r.jsxs)("button",{onClick:v,className:"absolute top-2 right-2 flex items-center gap-1 text-2xs font-medium px-2 py-1 rounded-md bg-background border border-border/50 text-muted-foreground hover:text-foreground transition-colors",children:[(0,r.jsx)(A.A,{size:10}),t.agent.copy]})]}),(0,r.jsx)("div",{className:"flex justify-end mt-2",children:(0,r.jsx)("button",{onClick:j,className:"text-xs px-2 py-1 rounded-md text-muted-foreground/60 hover:text-muted-foreground hover:bg-muted transition-colors",children:t.skip})})]})})})})]})}var $=s(37227);let O=[o.A,d.A,l.A,c.A];function L({recent:e,existingFiles:t,spaces:s}){let{t:o}=(0,a.Y)(),d=(0,i.useRouter)(),[l,c]=(0,n.useState)(0),[x,u]=(0,n.useState)(!1),p=(0,n.useCallback)(()=>u(e=>!e),[]),h=(0,n.useCallback)(()=>{u(!0)},[]),f=(0,n.useCallback)(()=>{let t=e.length>0?`/view/${e[0].path}`:"/";window.dispatchEvent(new CustomEvent("mindos:open-ask-panel")),d.push(t)},[e,d]);if(0===e.length)return(0,r.jsx)(v,{});let g=o.ask?.homeCategories??[],b=g[l];return(0,r.jsxs)("div",{className:"flex flex-col h-[100dvh]",children:[!x&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"flex-shrink-0 px-4 md:px-6 pt-4 pb-6",children:(0,r.jsx)("div",{className:"max-w-4xl mx-auto",children:(0,r.jsx)(R,{})})}),(0,r.jsx)("div",{className:"flex-1 min-h-0"}),(0,r.jsxs)("div",{className:"flex-shrink-0 flex flex-col items-center text-center px-4 md:px-6 pb-8",children:[(0,r.jsxs)("div",{className:"flex items-center gap-4 mb-3",children:[(0,r.jsx)(j.A,{id:"home-hero",className:"w-10 h-5 opacity-90"}),(0,r.jsxs)("h1",{className:"text-2xl font-brand leading-none",children:[(0,r.jsx)("span",{className:"text-foreground",children:"Mind"}),(0,r.jsx)("span",{className:"text-[var(--amber)]",children:"OS"})]})]}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground/50 max-w-sm leading-relaxed",children:o.app.tagline})]})]}),(0,r.jsx)("div",{className:x?"flex-1 min-h-0 flex flex-col overflow-hidden":"flex-shrink-0 px-4 md:px-6 flex justify-center",onDragOver:e=>{e.dataTransfer.types.includes("Files")&&(e.preventDefault(),e.stopPropagation())},onDragEnter:e=>{e.dataTransfer.types.includes("Files")&&e.stopPropagation()},onDrop:e=>{e.stopPropagation()},children:(0,r.jsx)("div",{className:x?"flex-1 min-h-0 flex flex-col overflow-hidden":"w-full max-w-4xl",children:(0,r.jsx)("div",{"data-walkthrough":"ask-button",className:x?"flex-1 min-h-0 flex flex-col overflow-hidden":"rounded-xl border border-border/70 shadow-sm overflow-hidden flex flex-col max-h-[50vh]",children:(0,r.jsx)($.A,{visible:!0,variant:"home",maximized:x,onMaximize:p,onFirstMessage:h,onDockToPanel:f})})})}),!x&&(0,r.jsxs)(r.Fragment,{children:[g.length>0&&b&&(0,r.jsx)("div",{className:"flex-shrink-0 flex justify-center px-4 md:px-6 pt-6",children:(0,r.jsxs)("div",{className:"w-full max-w-4xl",children:[(0,r.jsx)("div",{className:"flex items-center justify-center gap-1.5 mb-5",role:"tablist",children:g.map((e,t)=>{let s=O[t%O.length],n=t===l;return(0,r.jsxs)("button",{type:"button",role:"tab","aria-selected":n,onClick:()=>c(t),className:`flex items-center gap-1.5 px-4 py-2 text-xs font-medium rounded-full transition-all duration-150 ${n?"bg-[var(--amber)]/12 text-[var(--amber)]":"text-muted-foreground/50 hover:text-muted-foreground hover:bg-muted/40"}`,children:[(0,r.jsx)(s,{size:13}),(0,r.jsx)("span",{children:e.label})]},e.label)})}),(0,r.jsx)("div",{className:"grid grid-cols-2 gap-2",role:"tabpanel",children:b.items.map((e,t)=>(0,r.jsx)("button",{type:"button",onClick:()=>{var t;return t=e.prompt,void window.dispatchEvent(new CustomEvent("mindos:home-suggestion",{detail:{text:t}}))},className:"group relative text-left px-4 py-3.5 rounded-xl border border-border/30 hover:border-border/60 transition-all duration-150 hover:shadow-sm",children:(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("div",{className:"text-[13px] font-medium text-foreground/90 leading-snug mb-0.5",children:e.label}),(0,r.jsx)("div",{className:"text-xs text-muted-foreground/60 leading-relaxed",children:e.desc})]}),(0,r.jsx)(m.A,{size:14,className:"shrink-0 mt-0.5 text-muted-foreground/20 group-hover:text-[var(--amber)] transition-colors"})]})},`${l}-${t}`))})]})}),(0,r.jsx)("div",{className:"flex-1 min-h-0"}),(0,r.jsxs)("div",{className:"flex-shrink-0 py-4 flex items-center justify-center gap-2 text-[11px] text-muted-foreground/20",children:[(0,r.jsx)(j.A,{id:"home-footer",className:"w-4 h-2 opacity-20"}),(0,r.jsx)("span",{children:o.app.footer})]})]})]})}},23684:(e,t,s)=>{"use strict";s.d(t,{default:()=>i});var r=s(66839),n=s(44223);function i({href:e,label:t="Redirecting..."}){return(0,n.useEffect)(()=>{window.location.replace(e)},[e]),(0,r.jsx)("main",{className:"min-h-screen flex items-center justify-center px-6",children:(0,r.jsx)("a",{href:e,className:"text-sm underline-offset-4 hover:underline focus-visible:ring-2 focus-visible:ring-ring rounded-sm",style:{color:"var(--muted-foreground)"},children:t})})}},46990:(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})},58221:(e,t,s)=>{"use strict";s.d(t,{IX:()=>d,KW:()=>o,O0:()=>a,cn:()=>i,vr:()=>l});var r=s(10325),n=s(91498);function i(...e){return(0,n.QP)((0,r.$)(e))}function a(e){return e.split("/").map(encodeURIComponent).join("/")}function o(e,t){let s=Date.now()-e,r=Math.floor(s/6e4),n=Math.floor(s/36e5),i=Math.floor(s/864e5);return r<1?t.justNow:r<60?t.minutesAgo(r):n<24?t.hoursAgo(n):i<7?t.daysAgo(i):new Date(e).toLocaleDateString()}function d(e){let t=e.match(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]+/u);return t?.[0]??""}function l(e){return e.replace(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}\s]+/u,"")||e}},65264:(e,t,s)=>{"use strict";s.d(t,{h:()=>r,n:()=>n});class r extends Error{constructor(e,t,s){super(e),this.name="ApiError",this.status=t,this.code=s}}async function n(e,t={}){let s,i,a,{timeout:o=3e4,signal:d,...l}=t;if((o>0||d)&&(s=new AbortController),o>0&&s&&(i=setTimeout(()=>{s.abort(Error(`Request timed out after ${Math.round(o/1e3)}s`))},o)),d&&s)if(d.aborted)s.abort();else{let e=()=>s?.abort();d.addEventListener("abort",e,{once:!0}),a=()=>{d.removeEventListener("abort",e)}}let c=s?.signal??d;try{let t=await fetch(e,{...l,signal:c});if(!t.ok){let e,s=`Request failed (${t.status})`;try{let r=await t.json();r?.error?.code&&r?.error?.message?(s=r.error.message,e=r.error.code):r?.error&&(s="string"==typeof r.error?r.error:r.error.message??s)}catch{}throw new r(s,t.status,e)}return await t.json()}finally{i&&clearTimeout(i),a&&a()}}},78326:(e,t,s)=>{Promise.resolve().then(s.bind(s,23684)),Promise.resolve().then(s.bind(s,12250))},79455:(e,t,s)=>{"use strict";s.d(t,{B1:()=>o,X8:()=>l,dV:()=>d,oR:()=>m});let r=[],n=[],i=0;function a(){for(let e of n)e()}function o(e){return n=[...n,e],()=>{n=n.filter(t=>t!==e)}}function d(){return r}function l(e){r=r.filter(t=>t.id!==e),a()}function c(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),a(),s.duration>0&&setTimeout(()=>l(t),s.duration)}function m(e,t){c({message:e,...t})}m.success=(e,t)=>c({message:e,type:"success",duration:t}),m.undo=(e,t,s)=>c({message:e,type:"info",duration:s?.duration??5e3,action:{label:s?.label??"Undo",onClick:t}}),m.error=(e,t)=>c({message:e,type:"error",duration:t}),m.copy=(e="Copied")=>c({message:e,type:"success",duration:1500})}},e=>{e.O(0,[5883,3940,2130,8225,7156,6274,2073,5191,9479,5018,2330,7358],()=>e(e.s=78326)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4662],{23684:(e,n,r)=>{"use strict";r.d(n,{default:()=>s});var i=r(66839),t=r(44223);function s({href:e,label:n="Redirecting..."}){return(0,t.useEffect)(()=>{window.location.replace(e)},[e]),(0,i.jsx)("main",{className:"min-h-screen flex items-center justify-center px-6",children:(0,i.jsx)("a",{href:e,className:"text-sm underline-offset-4 hover:underline focus-visible:ring-2 focus-visible:ring-ring rounded-sm",style:{color:"var(--muted-foreground)"},children:n})})}},
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4662],{23684:(e,n,r)=>{"use strict";r.d(n,{default:()=>s});var i=r(66839),t=r(44223);function s({href:e,label:n="Redirecting..."}){return(0,t.useEffect)(()=>{window.location.replace(e)},[e]),(0,i.jsx)("main",{className:"min-h-screen flex items-center justify-center px-6",children:(0,i.jsx)("a",{href:e,className:"text-sm underline-offset-4 hover:underline focus-visible:ring-2 focus-visible:ring-ring rounded-sm",style:{color:"var(--muted-foreground)"},children:n})})}},34142:(e,n,r)=>{Promise.resolve().then(r.bind(r,23684)),Promise.resolve().then(r.bind(r,22737))},87756:(e,n,r)=>{"use strict";function i(){return"p_"+Math.random().toString(36).slice(2,10)}function t(e){return"string"==typeof e&&e.startsWith("p_")}function s(e,n){return e.find(e=>e.id===n)}r.d(n,{Ny:()=>t,lh:()=>s,mV:()=>i}),r(69604)}},e=>{e.O(0,[5883,3940,7156,4937,725,2073,5152,5191,5200,2851,2737,1957,5018,2330,7358],()=>e(e.s=34142)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[620],{23684:(e,t,r)=>{"use strict";r.d(t,{default:()=>o});var s=r(66839),a=r(44223);function o({href:e,label:t="Redirecting..."}){return(0,a.useEffect)(()=>{window.location.replace(e)},[e]),(0,s.jsx)("main",{className:"min-h-screen flex items-center justify-center px-6",children:(0,s.jsx)("a",{href:e,className:"text-sm underline-offset-4 hover:underline focus-visible:ring-2 focus-visible:ring-ring rounded-sm",style:{color:"var(--muted-foreground)"},children:t})})}},40797:(e,t,r)=>{"use strict";r.d(t,{default:()=>X});var s=r(66839),a=r(44223),o=r(19378),n=r(39086),l=r(98327),i=r(44361),c=r(2073),d=r(46990),u=r(79455),m=r(31082),p=r(88283),x=r(30401);let h=[{id:"en",icon:(0,s.jsx)(m.A,{size:18}),dirs:["Profile/","Connections/","Notes/","Workflows/","Resources/","Projects/"]},{id:"zh",icon:(0,s.jsx)(p.A,{size:18}),dirs:["画像/","关系/","笔记/","流程/","资源/","项目/"]},{id:"empty",icon:(0,s.jsx)(x.A,{size:18}),dirs:["README.md","CONFIG.json","INSTRUCTION.md"]}];var g=r(27636),b=r(21082),f=r(69527);function v(){return window.mindos??null}function y({state:e,update:t,t:r,homeDir:o}){let{locale:n}=(0,c.Y)(),l="zh"===n,i=r.setup,[d,u]=(0,a.useState)(!1),m=o.includes("\\")?"\\":"/",p="~"!==o?[o,"MindOS","mind"].join(m):i.kbPathDefault,[x,y]=(0,a.useState)(null),[j,k]=(0,a.useState)([]),[N,w]=(0,a.useState)(!1),[S,C]=(0,a.useState)(-1),[P,T]=(0,a.useState)(!1),A=(0,a.useRef)(null),z=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(z.current){z.current=!1;return}if(!e.mindRoot.trim())return void k([]);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 k([]);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));k(i.slice(0,20)),w(i.length>0),C(-1)}).catch(e=>{console.warn("[SetupWizard] autocomplete fetch failed:",e),k([])})},300);return()=>clearTimeout(t)},[e.mindRoot,o]),(0,a.useEffect)(()=>{if(!e.mindRoot.trim())return void y(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=>{y(e),T(!1),e?.exists&&!e.empty&&t("template","")}).catch(e=>{console.warn("[SetupWizard] check-path failed:",e),y(null)})},600);return()=>clearTimeout(r)},[e.mindRoot,t]);let $=()=>{k([]),w(!1),C(-1)},M=e=>{z.current=!0,t("mindRoot",e),$(),A.current?.focus()};return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)(f.D0,{label:i.kbPath,hint:i.kbPathHint,children:[(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("input",{ref:A,value:e.mindRoot,onChange:e=>{t("mindRoot",e.target.value),w(!0)},onKeyDown:e=>{N&&0!==j.length&&("ArrowDown"===e.key?(e.preventDefault(),C(e=>Math.min(e+1,j.length-1))):"ArrowUp"===e.key?(e.preventDefault(),C(e=>Math.max(e-1,-1))):"Enter"===e.key&&S>=0?(e.preventDefault(),M(j[S])):"Escape"===e.key&&w(!1))},onBlur:()=>setTimeout(()=>$(),150),onFocus:()=>j.length>0&&w(!0),placeholder:p,className:"flex-1 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)"}}),v()?.selectDirectory&&(0,s.jsx)("button",{type:"button",onClick:async()=>{let e=await v()?.selectDirectory?.();e&&(z.current=!0,t("mindRoot",e),$())},className:"px-3 py-2 rounded-lg border transition-colors hover:bg-muted/50",style:{borderColor:"var(--border)"},title:i.kbPathBrowse??"Browse...",children:(0,s.jsx)(g.A,{size:16,style:{color:"var(--muted-foreground)"}})})]}),N&&j.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:j.map((e,t)=>(0,s.jsx)("button",{type:"button",role:"option","aria-selected":t===S,onMouseDown:()=>M(e),className:"w-full text-left px-3 py-2 text-sm font-mono transition-colors",style:{background:t===S?"var(--muted)":"transparent",color:"var(--foreground)",borderTop:t>0?"1px solid var(--border)":void 0},children:e},e))})]}),e.mindRoot!==p&&p!==i.kbPathDefault&&(0,s.jsx)("button",{type:"button",onClick:()=>t("mindRoot",p),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:i.kbPathUseDefault(p)}),x?.unsafe&&(0,s.jsxs)("div",{className:"mt-3 rounded-lg border p-3 text-sm flex gap-2 items-start",style:{borderColor:"var(--error)",background:"color-mix(in srgb, var(--error) 8%, transparent)"},children:[(0,s.jsx)(b.A,{size:16,className:"flex-shrink-0 mt-0.5",style:{color:"var(--error)"}}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"font-medium",style:{color:"var(--error)"},children:l?"路径不安全":"Unsafe Path"}),(0,s.jsx)("p",{className:"mt-1",style:{color:"var(--muted-foreground)"},children:l?x.reasonZh:x.reason})]})]})]}),x&&x.exists&&!x.empty&&!P?(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-sm text-foreground font-medium mb-3 block",children:i.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:i.kbPathHasFiles(x.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:[i.kbTemplateSkip," ✓"]}):i.kbTemplateSkip}),(0,s.jsx)("button",{type:"button",onClick:()=>T(!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:i.kbTemplateMerge})]})]})]}):(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-sm text-foreground font-medium mb-3 block",children:i.template}),(0,s.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3",children:h.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)(f.D0,{label:(0,s.jsxs)(s.Fragment,{children:[i.webPassword," ",(0,s.jsx)("span",{style:{color:"var(--error)"},children:"*"})]}),hint:i.webPasswordHint,children:[(0,s.jsx)("input",{type:"password",value:e.webPassword,onChange:e=>{t("webPassword",e.target.value),u(!0)},onBlur:()=>u(!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:d&&!e.webPassword.trim()?"var(--error)":"var(--border)",color:"var(--foreground)"}}),d&&!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)(b.A,{size:11})," ",i.webPasswordRequired]})]})})]})}var j=r(4373),k=r(72615),N=r(24336),w=r(69604),S=r(87756),C=r(74342),P=r(48892),T=r(5038),A=r(38688),z=r(53097);function $({label:e,hint:t,value:r,onChange:o,status:n,onCheckPort:l,s:c}){let d=(0,a.useRef)(void 0);return(0,a.useEffect)(()=>()=>clearTimeout(d.current),[]),(0,s.jsx)(f.D0,{label:e,hint:t,children:(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(f.pd,{type:"number",min:1024,max:65535,value:r,onChange:e=>{let t=parseInt(e.target.value,10)||r;o(t),clearTimeout(d.current),t>=1024&&t<=65535&&(d.current=setTimeout(()=>l(t),500))},onBlur:()=>{clearTimeout(d.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"})," ",c.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)(T.A,{size:11})," ",c.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:c.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?c.portSelf:c.portAvailable]})]})})}function M({state:e,update:t,webPortStatus:r,mcpPortStatus:a,setWebPortStatus:o,setMcpPortStatus:n,checkPort:l,portConflict:i,s:c}){return(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsx)($,{label:c.webPort,hint:c.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:c}),(0,s.jsx)($,{label:c.mcpPort,hint:c.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:c}),i&&(0,s.jsxs)("p",{className:"text-xs flex items-center gap-1.5",role:"alert",style:{color:"var(--amber)"},children:[(0,s.jsx)(T.A,{size:12})," ",c.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:c.portVerifyHint}),(0,s.jsxs)("p",{className:"text-xs flex items-center gap-1.5",style:{color:"var(--muted-foreground)"},children:[(0,s.jsx)(z.A,{size:12})," ",c.portRestartWarning]})]})}function R({state:e,update:t,s:r,onCopyToken:o,webPortStatus:n,mcpPortStatus:i,setWebPortStatus:d,setMcpPortStatus:u,checkPort:m,portConflict:p}){let{locale:x}=(0,c.Y)(),[h,g]=(0,a.useState)(!1);(0,a.useEffect)(()=>{!h&&p&&g(!0)},[p,h]);let b="skip"===e.activeProvider,v=b?null:e.providers.find(t=>t.id===e.activeProvider),y=v?w.T_[v.protocol]:null,T=(0,a.useCallback)(r=>{v&&t("providers",e.providers.map(e=>e.id===v.id?{...e,...r}:e))},[v,e.providers,t]),A=(0,a.useCallback)(r=>{if("skip"===r)return void t("activeProvider","skip");let s=e.providers.find(e=>e.id===r);if(s)return void t("activeProvider",s.id);if((0,w.rl)(r)){let s=e.providers.find(e=>e.protocol===r);if(s)return void t("activeProvider",s.id);let a=w.T_[r],o={id:(0,S.mV)(),name:"zh"===x?a.nameZh:a.name,protocol:r,apiKey:"",model:a.defaultModel,baseUrl:a.fixedBaseUrl??""};t("providers",[...e.providers,o]),t("activeProvider",o.id)}},[e.providers,t,x]),z=new Set(e.providers.filter(e=>e.apiKey||e.apiKeyMask||w.T_[e.protocol]?.apiKeyFallback).map(e=>e.protocol)),$=b?"skip":v?.protocol??"skip";return(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsx)(C.A,{value:$,onChange:A,showSkip:!0,compact:!0,configuredProviders:z}),v&&y&&(0,s.jsxs)("div",{className:"space-y-4 pt-2",children:[(0,s.jsxs)(f.D0,{label:r.apiKey,children:[(0,s.jsx)(f.yA,{value:v.apiKey,onChange:e=>T({apiKey:e}),placeholder:v.apiKeyMask||`${(0,w.Ux)(v.protocol)??"API Key"}...`}),v.apiKeyMask&&!v.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."}),y.signupUrl&&!v.apiKey&&!v.apiKeyMask&&(0,s.jsxs)("a",{href:y.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)(j.A,{size:10}),y.apiKeyFallback?"zh"===x?`下载 ${y.nameZh}`:`Download ${y.name}`:"zh"===x?`获取 ${y.nameZh} API Key`:`Get ${y.name} API Key`]})]}),y.supportsBaseUrl&&(0,s.jsx)(f.D0,{label:r.baseUrl,hint:r.baseUrlHint,children:(0,s.jsx)(f.pd,{value:v.baseUrl??"",onChange:e=>T({baseUrl:e.target.value}),placeholder:y.fixedBaseUrl||(0,w.Ot)(v.protocol)||"https://api.openai.com/v1"})}),(0,s.jsx)(f.D0,{label:r.model,children:(0,s.jsx)(P.A,{value:v.model,onChange:e=>T({model:e}),placeholder:y.defaultModel,provider:v.protocol,apiKey:v.apiKey,baseUrl:v.baseUrl,supportsListModels:y.supportsListModels,browseLabel:r.listModels,noModelsLabel:r.noModelsFound})})]}),(0,s.jsxs)("div",{className:"pt-3 mt-1",style:{borderTop:"1px solid var(--border)"},children:[(0,s.jsxs)("button",{type:"button",onClick:()=>g(!h),className:"flex items-center gap-1.5 text-xs font-medium",style:{color:"var(--muted-foreground)"},children:[h?(0,s.jsx)(k.A,{size:12}):(0,s.jsx)(l.A,{size:12}),r.advancedPorts]}),h&&(0,s.jsxs)("div",{className:"mt-3 space-y-5",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("p",{className:"text-xs font-medium",style:{color:"var(--foreground)"},children: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)(N.A,{size:12})," ",r.copyToken]})]}),(0,s.jsx)("p",{className:"text-xs",style:{color:"var(--muted-foreground)"},children:r.tokenSectionHint})]}),(0,s.jsx)(M,{state:e,update:t,webPortStatus:n,mcpPortStatus:i,setWebPortStatus:d,setMcpPortStatus:u,checkPort:m,portConflict:p,s:r})]})]})]})}var D=r(52364),O=r(19777),E=r(95333),I=r(32959);let K={"claude-code":"https://docs.anthropic.com/en/docs/claude-code/overview",cursor:"https://www.cursor.com/",windsurf:"https://codeium.com/windsurf",cline:"https://github.com/cline/cline",trae:"https://www.trae.ai/","gemini-cli":"https://github.com/google-gemini/gemini-cli",augment:"https://www.augmentcode.com/"};function W({agents:e,agentsLoading:t,selectedAgents:r,setSelectedAgents:o,connectionMode:n,setConnectionMode:l,agentTransport:c,setAgentTransport:d,agentScope:u,setAgentScope:m,agentStatuses:p,s:x,settingsMcp:h}){let[g,b]=(0,a.useState)(!1),[v,y]=(0,a.useState)(!1),{detected:j,other:N}=(0,a.useMemo)(()=>({detected:e.filter(e=>e.installed||e.present),other:e.filter(e=>!e.installed&&!e.present)}),[e]),w=(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:p[e.key]?.state==="installing"}),(0,s.jsx)("span",{className:"text-sm flex-1",style:{color:"var(--foreground)"},children:e.name}),n.mcp&&(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"===c?e.preferredTransport:c}),((e,t)=>{let r=p[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"})," ",x.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})," ",x.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)(D.A,{size:10})," ",x.agentStatusError,r.message&&(0,s.jsxs)("span",{className:"ml-1 text-2xs",children:["(",r.message,")"]})]})}if(t.installed)return(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:h.installed});if(t.present)return(0,s.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded",style:{background:"var(--amber-dim)",color:"var(--amber)"},children:x.agentDetected});let a=K[e];return(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(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:x.agentNotFound}),a&&(0,s.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"text-2xs hover:underline",style:{color:"var(--amber)"},children:x.agentGetIt})]})})(e.key,e)]},e.key);return(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("p",{className:"text-xs font-medium",style:{color:"var(--muted-foreground)"},children:x.connectionModeTitle}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsxs)("label",{className:"flex items-start gap-3 px-4 py-3 rounded-xl border cursor-pointer transition-all",style:{borderColor:n.cli?"var(--amber)":"var(--border)",background:n.cli?"color-mix(in srgb, var(--amber) 6%, transparent)":"transparent"},children:[(0,s.jsx)("input",{type:"checkbox",checked:n.cli,onChange:()=>l(e=>({...e,cli:!e.cli})),className:"form-check mt-0.5"}),(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:[(0,s.jsx)(O.A,{size:13,className:"shrink-0"})," CLI"]}),(0,s.jsx)("p",{className:"text-2xs mt-0.5",style:{color:"var(--muted-foreground)"},children:x.connectionModeCliHint})]})]}),(0,s.jsxs)("label",{className:"flex items-start gap-3 px-4 py-3 rounded-xl border cursor-pointer transition-all",style:{borderColor:n.mcp?"var(--amber)":"var(--border)",background:n.mcp?"color-mix(in srgb, var(--amber) 6%, transparent)":"transparent"},children:[(0,s.jsx)("input",{type:"checkbox",checked:n.mcp,onChange:()=>l(e=>({...e,mcp:!e.mcp})),className:"form-check mt-0.5"}),(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:[(0,s.jsx)(E.A,{size:13,className:"shrink-0"})," MCP"]}),(0,s.jsx)("p",{className:"text-2xs mt-0.5",style:{color:"var(--muted-foreground)"},children:x.connectionModeMcpHint})]})]})]})]}),n.cli||n.mcp?(0,s.jsx)("p",{className:"text-sm",style:{color:"var(--muted-foreground)"},children:!n.mcp&&n.cli?x.agentToolsHintCliOnly:x.agentToolsHint}):(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2.5 rounded-lg text-xs",style:{background:"color-mix(in srgb, var(--amber) 8%, transparent)",color:"var(--amber)"},children:[(0,s.jsx)(I.A,{size:13,className:"shrink-0"}),(0,s.jsx)("span",{children:x.agentToolsHintNone})]}),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:x.agentToolsLoading})]}):0===e.length?(0,s.jsx)("p",{className:"text-sm py-4 text-center",style:{color:"var(--muted-foreground)"},children:x.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)"}}),x.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)"}}),x.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)"}}),x.badgeNotFound]})]}),j.length>0?(0,s.jsx)("div",{className:"rounded-xl border overflow-hidden",style:{borderColor:"var(--border)"},children:j.map((e,t)=>w(e,t))}):(0,s.jsx)("p",{className:"text-xs py-2",style:{color:"var(--muted-foreground)"},children:x.agentNoneDetected}),N.length>0&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("button",{type:"button",onClick:()=>b(!g),"aria-expanded":g,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 ${g?"rotate-180":""}`}),x.agentShowMore(N.length)]}),g&&(0,s.jsx)("div",{className:"rounded-xl border overflow-hidden mt-1",style:{borderColor:"var(--border)"},children:N.map((e,t)=>w(e,t))})]}),n.mcp&&0===r.size&&(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2.5 rounded-lg text-xs",style:{background:"color-mix(in srgb, var(--amber) 8%, transparent)",color:"var(--amber)"},children:[(0,s.jsx)(I.A,{size:13,className:"shrink-0"}),(0,s.jsx)("span",{children:x.agentNoneSelected})]}),n.mcp&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("button",{type:"button",onClick:()=>y(!v),"aria-expanded":v,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 ${v?"rotate-180":""}`}),x.agentAdvanced]}),v&&(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-4 mt-2",children:[(0,s.jsx)(f.D0,{label:x.agentTransport,children:(0,s.jsxs)(f.l6,{value:c,onChange:e=>d(e.target.value),children:[(0,s.jsx)("option",{value:"auto",children:x.agentTransportAuto}),(0,s.jsx)("option",{value:"stdio",children:h.transportStdio}),(0,s.jsx)("option",{value:"http",children:h.transportHttp})]})}),(0,s.jsx)(f.D0,{label:x.agentScope,children:(0,s.jsxs)(f.l6,{value:u,onChange:e=>m(e.target.value),children:[(0,s.jsx)("option",{value:"global",children:x.agentScopeGlobal}),(0,s.jsx)("option",{value:"project",children:x.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:x.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:x.agentSkipLater})]})]})]})}var U=r(98480),H=r(76723);function F({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)(T.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 L({s:e,newPort:t,webPassword:r}){let[o,n]=(0,a.useState)(!1),[l,c]=(0,a.useState)(!1),d=(0,a.useRef)(void 0),u=(0,a.useRef)(void 0);(0,a.useEffect)(()=>()=>{clearTimeout(u.current),clearInterval(d.current)},[]);let m=async()=>{n(!0);try{let e=await fetch("/api/restart",{method:"POST"});if(!e.ok)throw Error(`restart failed (${e.status})`);c(!0);let s=window.location.hostname||"localhost",a=s.includes(":")?`[${s}]`:s,o=`http://${a}:${t}`,n=()=>{window.location.href=`${o}/?welcome=1`},l=0;clearInterval(d.current),u.current=setTimeout(()=>{d.current=setInterval(async()=>{l++;try{if((await fetch(`${o}/api/health`)).status<500){if(clearInterval(d.current),r)try{await fetch(`${o}/api/auth`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:r}),credentials:"include"})}catch{}n();return}}catch{}l>=30&&(clearInterval(d.current),n())},800)},2e3)}catch(e){console.warn("[SetupWizard] restart request failed:",e),n(!1)}};return l?(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:m,disabled:o,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:[o?(0,s.jsx)(i.A,{size:13,className:"animate-spin"}):null,o?e.restarting:e.restartNow]})}function _({state:e,selectedAgents:t,agentStatuses:r,onRetryAgent:a,error:o,needsRestart:n,s:l,setupPhase:c,cliEnabled:d,mcpEnabled:u,skillInstallStatus:m="pending"}){let p=Object.entries(r).filter(([,e])=>"error"===e.state),x=d&&u?"CLI + MCP":d?"CLI":u?"MCP":"—",h=[[l.kbPath,e.mindRoot],[l.webPort,`${e.webPort} / ${e.mcpPort}`],[l.agentToolsTitle,u&&t.size>0?`${x} \xb7 ${l.agentCountSummary(t.size)}`:x]],g=u&&t.size>0,b=t.size>0,f=[{key:"saving",label:l.phaseSaving},...g?[{key:"agents",label:l.phaseAgents}]:[],...b?[{key:"skills",label:l.phaseSkill??"Installing skills"}]:[],{key:"done",label:l.phaseDone}],v=f.map(e=>e.key),y=v.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:h.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:f.map(({key:e,label:t},r)=>{let a=v.indexOf(e),o=y>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:y<a?.5:1},children:t})]},e)})}),p.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(p.length)}),p.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)(D.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})]}),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)(B,{state:e,selectedAgents:t,agentStatuses:r,needsRestart:n,skillInstallStatus:m,s:l})]})}function B({state:e,selectedAgents:t,agentStatuses:r,needsRestart:n,s:l,skillInstallStatus:i="pending"}){let[m,p]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(!m)return;let e=setTimeout(()=>p(!1),2e3);return()=>clearTimeout(e)},[m]);let x=(0,a.useCallback)(async()=>{!e.authToken||await (0,d.l)(e.authToken)&&(p(!0),u.oR.copy())},[e.authToken]),{locale:h}=(0,c.Y)(),b=!!e.mindRoot,f="skip"!==e.activeProvider&&e.providers.length>0,v=Object.values(r).filter(e=>"ok"===e.state).length,y=v>0,j=!!e.authToken,k="",S="";if(f){let t=e.providers.find(t=>t.id===e.activeProvider);if(t){let e=w.T_[t.protocol];k="zh"===h?e.nameZh:e.name,S=t.model||e.defaultModel}}let C=[{ok:b,icon:(0,s.jsx)(g.A,{size:14}),title:l.healthKb??"Knowledge Base",detail:b?e.mindRoot:l.healthKbNone??"Not configured"},{ok:f,icon:(0,s.jsx)(I.A,{size:14}),title:l.healthAi??"AI Provider",detail:f?`${k} (${S||"default"})`:l.healthAiNone??"Not configured — AI features disabled",action:f?void 0:l.healthAiAction??"Add an API key in Settings → AI."},{ok:y,icon:(0,s.jsx)(E.A,{size:14}),title:l.healthAgents??"Agent Connection",detail:y?l.healthAgentsOk?.(v)??`${v} agent(s) configured`:t.size>0?l.healthAgentsPartial??"Configuration in progress...":l.healthAgentsNone??"No agents configured",action:y?void 0:l.healthAgentsAction??"You can add agents later in Settings → Connections."},...t.size>0?[{ok:"ok"===i,icon:(0,s.jsx)(o.A,{size:14}),title:l.healthSkills??"Skills",detail:"ok"===i?l.healthSkillsOk??"Skills installed successfully":"error"===i?l.healthSkillsError??"Skill installation failed":"skipped"===i?l.healthSkillsSkipped??"Skipped":l.healthSkillsInstalling??"Installing skills...",action:"error"===i?l.healthSkillsAction??"You can install skills manually later.":void 0}]:[]];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:C.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)(T.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))}),j&&(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}),l.healthTokenTitle??"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:x,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:m?"color-mix(in srgb, var(--success) 50%, transparent)":"var(--border)",background:m?"color-mix(in srgb, var(--success) 10%, transparent)":"transparent",color:m?"var(--success)":"var(--muted-foreground)"},title:l.healthTokenCopy??"Copy token",children:m?(0,s.jsx)(H.A,{size:14}):(0,s.jsx)(N.A,{size:14})})]}),(0,s.jsx)("p",{className:"text-xs",style:{color:"var(--muted-foreground)"},children:l.healthTokenHint??"Use this token when connecting AI agents. Also available in Settings → Connections."})]}),n&&(0,s.jsx)(F,{s:l})]})}function J({step:e,setStep:t,stepTitles:r,disabled:a,numberedSteps:o}){let{t:n}=(0,c.Y)(),l=o??r.length,i=r.slice(0,l),d=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||d?"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||d||o===e?"var(--amber)":"var(--muted)",color:o<=e||d?"var(--amber-foreground)":"var(--muted-foreground)",opacity:o<=e||d?1:.5},children:o<e||d?(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||d?"var(--muted-foreground)":"var(--foreground)",opacity:o<=e||d?1:.5},children:r})]})]},o))})}function Y(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 G(e){return{state:"ok"===e.status?"ok":"error",message:e.message,transport:e.transport,verified:e.verified,verifyError:e.verifyError}}async function V(e,t){let r="skip"===e.activeProvider||0===e.providers.length,s=e.providers.map(({apiKeyMask:e,...t})=>t),a={mindRoot:e.mindRoot,template:e.template||void 0,port:e.webPort,mcpPort:e.mcpPort,authToken:e.authToken,webPassword:e.webPassword,ai:r?void 0:{activeProvider:e.activeProvider,providers:s},connectionMode:t??{cli:!0,mcp:!1}},o=await fetch("/api/setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),n=await o.json();if(!o.ok)throw Error(n.error||`HTTP ${o.status}`);return!!n.needsRestart}async function Z(e,t,r,s,a,o){let n=e.map(e=>Y(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(),c={};if(i.results)for(let e of i.results)c[e.agent]=G(e);return c}async function q(e,t){if(0===t.length)return!0;try{let r=await fetch("/api/mcp/install-skill",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({skill:e,agents:t})}),s=await r.json();return!0===s.ok}catch(e){return console.warn("[SetupWizard] Skill installation failed:",e),!1}}function X(){let{t:e}=(0,c.Y)(),t=e.setup,[r,m]=(0,a.useState)(0),[p,x]=(0,a.useState)({mindRoot:"~/MindOS/mind",template:"en",activeProvider:"skip",providers:[],webPort:3456,mcpPort:8781,authToken:"",webPassword:""}),[h,g]=(0,a.useState)("~"),[b,f]=(0,a.useState)(!1),[v,j]=(0,a.useState)(!1),[k,N]=(0,a.useState)(""),[w,S]=(0,a.useState)(!1),[C,P]=(0,a.useState)("pending"),[T,A]=(0,a.useState)({checking:!1,available:null,isSelf:!1,suggestion:null}),[z,$]=(0,a.useState)({checking:!1,available:null,isSelf:!1,suggestion:null}),[M,D]=(0,a.useState)(!1),[O,E]=(0,a.useState)([]),[I,K]=(0,a.useState)(!1),[U,H]=(0,a.useState)(!1),[F,B]=(0,a.useState)(new Set),[X,Q]=(0,a.useState)("auto"),[ee,et]=(0,a.useState)("global"),[er,es]=(0,a.useState)({}),[ea,eo]=(0,a.useState)({cli:!0,mcp:!1}),[en,el]=(0,a.useState)("review");(0,a.useEffect)(()=>{fetch("/api/setup").then(e=>e.json()).then(e=>{e.homeDir&&g(e.homeDir),x(t=>{let r=t.providers;Array.isArray(e.providerConfigs)&&e.providerConfigs.length>0&&(r=e.providerConfigs.map(e=>({id:e.id,name:e.name||"",protocol:e.protocol,apiKey:"",model:e.model||"",baseUrl:e.baseUrl||"",apiKeyMask:e.apiKeyMask||""})));let s=e.activeProvider||t.activeProvider;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,activeProvider:s,providers:r}}),e.authToken||fetch("/api/setup/generate-token",{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}).then(e=>e.json()).then(e=>{e.token&&x(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&&x(t=>({...t,authToken:e.token}))}).catch(e=>console.warn("[SetupWizard] Fallback token generation also failed:",e))})},[]),(0,a.useEffect)(()=>{1===r&&(ed(p.webPort,"web",!0),ed(p.mcpPort,"mcp",!0))},[r]),(0,a.useEffect)(()=>{2!==r||U||I||(K(!0),fetch("/api/mcp/agents").then(e=>e.json()).then(e=>{if(e.agents){let t=e.agents.filter(e=>"builtin"!==e.scope);E(t),B(new Set(t.filter(e=>e.installed||e.present).map(e=>e.key)))}H(!0)}).catch(e=>{console.warn("[SetupWizard] Failed to load agents:",e),H(!0)}).finally(()=>K(!1)))},[r,U,I]),(0,a.useEffect)(()=>{if(!p.mindRoot.trim())return void D(!1);let e=setTimeout(()=>{fetch("/api/setup/check-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:p.mindRoot})}).then(e=>e.json()).then(e=>D(!!e.unsafe)).catch(()=>D(!1))},400);return()=>clearTimeout(e)},[p.mindRoot]);let ei=(0,a.useCallback)((e,t)=>{x(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&&x(e=>({...e,authToken:r.token}))}catch(e){console.warn("[SetupWizard] generateToken failed:",e)}},[]);let ec=(0,a.useCallback)(()=>{(0,d.l)(p.authToken).then(e=>{e&&u.oR.copy()})},[p.authToken]),ed=(0,a.useCallback)(async(e,t,r=!1)=>{if(e<1024||e>65535)return;let s="web"===t?A:$;s({checking:!0,available:null,isSelf:!1,suggestion:null});try{let a=await fetch("/api/setup/check-port",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({port:e})}),o=await a.json(),n=o.available??null,l=o.suggestion??null;if(s({checking:!1,available:n,isSelf:!!o.isSelf,suggestion:l}),r&&!1===n&&l){let e="web"===t?"webPort":"mcpPort";x(t=>({...t,[e]:l})),setTimeout(()=>ed(l,t,!1),0)}}catch(e){console.warn("[SetupWizard] checkPort failed:",e),s({checking:!1,available:null,isSelf:!1,suggestion:null})}},[]),eu=p.webPort===p.mcpPort,em=async()=>{f(!0),N("");let e=Array.from(F),t=p;if(!p.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={...p,authToken:r.token},x(t))}catch{}el("saving");try{await V(t,ea)&&S(!0)}catch(e){N(e instanceof Error?e.message:String(e)),el("review"),f(!1);return}if(ea.mcp&&e.length>0){el("agents");let r={};for(let t of e)r[t]={state:"installing"};es(r);try{let r=await Z(e,O,X,ee,t.mcpPort,t.authToken);es(r)}catch(r){console.warn("[SetupWizard] agent batch install failed:",r);let t={};for(let r of e)t[r]={state:"error"};es(t)}}if(e.length>0){el("skills"),P("installing");let r="zh"===t.template?"mindos-zh":"mindos";try{let t=await q(r,e);P(t?"ok":"error")}catch(e){console.warn("[SetupWizard] skill install failed:",e),P("error")}}else P("skipped");f(!1),j(!0),el("done")},ep=(0,a.useCallback)(async e=>{es(t=>({...t,[e]:{state:"installing"}}));try{let t=Y(e,O,X,ee),r=await fetch("/api/mcp/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agents:[t],transport:X,url:`http://localhost:${p.mcpPort}/mcp`,token:p.authToken||void 0})}),s=await r.json();if(s.results?.[0]){let t=s.results[0];es(r=>({...r,[e]:G(t)}))}}catch(t){console.warn("[SetupWizard] retryAgent failed:",t),es(t=>({...t,[e]:{state:"error"}}))}},[O,ee,X,p.mcpPort,p.authToken]);return(0,s.jsxs)("div",{className:"fixed inset-0 z-50 flex flex-col overflow-y-auto",role:"dialog","aria-modal":"true","aria-labelledby":"setup-title",style:{background:"var(--background)"},children:[(0,s.jsx)("div",{className:"sticky top-0 z-10 pt-6 pb-3 px-6",style:{background:"var(--background)"},children:(0,s.jsxs)("div",{className:"max-w-xl mx-auto",children:[(0,s.jsx)("div",{className:"text-center mb-3",children:(0,s.jsxs)("div",{className:"inline-flex items-center gap-2",children:[(0,s.jsx)(o.A,{size:18,style:{color:"var(--amber)"}}),(0,s.jsx)("h1",{id:"setup-title",className:"text-2xl font-brand",style:{color:"var(--foreground)"},children:"MindOS"})]})}),(0,s.jsx)("div",{className:"flex justify-center",children:(0,s.jsx)(J,{step:r,setStep:m,stepTitles:t.stepTitles,disabled:b||v,numberedSteps:3})})]})}),(0,s.jsxs)("div",{className:"flex-1 w-full max-w-xl mx-auto px-6 pb-8",children:[(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)(y,{state:p,update:ei,t:e,homeDir:h}),1===r&&(0,s.jsx)(R,{state:p,update:ei,s:t,onCopyToken:ec,webPortStatus:T,mcpPortStatus:z,setWebPortStatus:A,setMcpPortStatus:$,checkPort:ed,portConflict:eu}),2===r&&(0,s.jsx)(W,{agents:O,agentsLoading:I,selectedAgents:F,setSelectedAgents:B,connectionMode:ea,setConnectionMode:eo,agentTransport:X,setAgentTransport:Q,agentScope:ee,setAgentScope:et,agentStatuses:er,s:t,settingsMcp:e.settings.mcp}),3===r&&(0,s.jsx)(_,{state:p,selectedAgents:F,agentStatuses:er,onRetryAgent:ep,error:k,needsRestart:w,s:t,setupPhase:en,cliEnabled:ea.cli,mcpEnabled:ea.mcp,skillInstallStatus:C}),(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||v,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?!M&&p.mindRoot.trim().length>0&&p.webPassword.trim().length>0:1===r?!eu&&!T.checking&&!z.checking&&!1!==T.available&&!1!==z.available:2!==r||ea.cli||ea.mcp),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})]}):v?w?(0,s.jsx)(L,{s:t,newPort:p.webPort,webPassword:p.webPassword}):(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:em,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]})]})]})]})}},46990:(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})},64418:(e,t,r)=>{Promise.resolve().then(r.bind(r,23684)),Promise.resolve().then(r.bind(r,40797))},69527:(e,t,r)=>{"use strict";r.d(t,{Bt:()=>p,D0:()=>c,L7:()=>g,jn:()=>h,l6:()=>m,lM:()=>x,pM:()=>b,pd:()=>d,yA:()=>u});var s=r(66839),a=r(44223),o=r(9986),n=r(55798),l=r(72615),i=r(76723);function c({label:e,hint:t,hintError:r,children:a}){return(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm text-foreground font-medium",children:e}),a,t&&(0,s.jsx)("p",{className:`text-xs ${r?"text-destructive":"text-muted-foreground"}`,children:t})]})}function d({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 u({value:e,onChange:t,placeholder:r,disabled:l,className:i="",size:c="md"}){let[d,u]=(0,a.useState)(!1),m="sm"===c;return(0,s.jsxs)("div",{className:`flex items-center border border-border rounded-lg bg-background focus-within:ring-1 focus-within:ring-ring overflow-hidden ${i}`,children:[(0,s.jsx)("input",{type:d?"text":"password",value:e,onChange:e=>t(e.target.value),placeholder:r??"••••••••",disabled:l,className:`flex-1 bg-transparent text-foreground placeholder:text-muted-foreground outline-none disabled:opacity-50 ${m?"px-2.5 py-1.5 text-xs font-mono":"px-3 py-2 text-sm"}`}),!!e&&(0,s.jsx)("button",{type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:()=>u(e=>!e),disabled:l,className:`shrink-0 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50 ${m?"p-1.5":"p-2"}`,title:d?"Hide":"Show",children:d?(0,s.jsx)(o.A,{size:m?14:16}):(0,s.jsx)(n.A,{size:m?14:16})})]})}function m({value:e,onChange:t,children:r,className:o="",disabled:n,size:c="md"}){let d=(0,a.useId)(),[u,m]=(0,a.useState)(!1),[p,x]=(0,a.useState)(-1),h=(0,a.useRef)(null),g=(0,a.useRef)(null),b=(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=b.findIndex(t=>t.value===e),v=b[f]?.label??"";(0,a.useEffect)(()=>{if(!u)return;let e=e=>{h.current&&!h.current.contains(e.target)&&m(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[u]),(0,a.useEffect)(()=>{if(u&&g.current&&p>=0){let e=g.current.children[p];e?.scrollIntoView({block:"nearest"})}},[u,p]);let y=(0,a.useCallback)(e=>{e>=0&&e<b.length&&(t?.({target:{value:b[e].value}}),m(!1))},[b,t]),j=(0,a.useCallback)(e=>{if(!u){["Enter"," ","ArrowDown","ArrowUp"].includes(e.key)&&(e.preventDefault(),m(!0),x(f>=0?f:0));return}switch(e.key){case"ArrowDown":e.preventDefault(),x(e=>Math.min(e+1,b.length-1));break;case"ArrowUp":e.preventDefault(),x(e=>Math.max(e-1,0));break;case"Enter":case" ":e.preventDefault(),y(p);break;case"Escape":e.preventDefault(),m(!1);break;case"Tab":m(!1)}},[u,b.length,f,p,y]);return(0,s.jsxs)("div",{ref:h,className:`relative ${o}`,children:[(0,s.jsxs)("button",{type:"button",disabled:n,onClick:()=>{m(e=>!e),x(f>=0?f:0)},onKeyDown:j,"aria-haspopup":"listbox","aria-expanded":u,className:`${"sm"===c?"px-1.5 py-0.5 text-xs rounded cursor-pointer":"w-full px-3 py-2 text-sm rounded-lg"} bg-background border border-border 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 ${v?"":"text-muted-foreground"}`,children:v||"—"}),(0,s.jsx)(l.A,{size:"sm"===c?10:14,className:`shrink-0 text-muted-foreground transition-transform duration-150 ${u?"rotate-180":""}`})]}),u&&(0,s.jsx)("div",{ref:g,role:"listbox","aria-activedescendant":p>=0?`${d}-opt-${p}`:void 0,className:`absolute z-20 ${"sm"===c?"min-w-[8rem]":"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:b.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(),y(r)},onMouseEnter:()=>x(r),className:`w-full ${"sm"===c?"px-2 py-1 text-xs":"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)(i.A,{size:"sm"===c?10:14,className:`shrink-0 ${a?"text-[var(--amber)]":"invisible"}`}),(0,s.jsx)("span",{className:"truncate",children:t.label})]},t.value)})})]})}function p({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 x({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 h({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 g({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 b({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})]})}},79455:(e,t,r)=>{"use strict";r.d(t,{B1:()=>l,X8:()=>c,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 c(e){s=s.filter(t=>t.id!==e),n()}function d(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(()=>c(t),r.duration)}function u(e,t){d({message:e,...t})}u.success=(e,t)=>d({message:e,type:"success",duration:t}),u.undo=(e,t,r)=>d({message:e,type:"info",duration:r?.duration??5e3,action:{label:r?.label??"Undo",onClick:t}}),u.error=(e,t)=>d({message:e,type:"error",duration:t}),u.copy=(e="Copied")=>d({message:e,type:"success",duration:1500})},87756:(e,t,r)=>{"use strict";function s(){return"p_"+Math.random().toString(36).slice(2,10)}function a(e){return"string"==typeof e&&e.startsWith("p_")}function o(e,t){return e.find(e=>e.id===t)}r.d(t,{Ny:()=>a,lh:()=>o,mV:()=>s}),r(69604)}},e=>{e.O(0,[5883,7156,6742,2073,5191,2851,5018,2330,7358],()=>e(e.s=64418)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[620],{23684:(e,t,r)=>{"use strict";r.d(t,{default:()=>o});var s=r(66839),a=r(44223);function o({href:e,label:t="Redirecting..."}){return(0,a.useEffect)(()=>{window.location.replace(e)},[e]),(0,s.jsx)("main",{className:"min-h-screen flex items-center justify-center px-6",children:(0,s.jsx)("a",{href:e,className:"text-sm underline-offset-4 hover:underline focus-visible:ring-2 focus-visible:ring-ring rounded-sm",style:{color:"var(--muted-foreground)"},children:t})})}},40797:(e,t,r)=>{"use strict";r.d(t,{default:()=>X});var s=r(66839),a=r(44223),o=r(19378),n=r(39086),l=r(98327),i=r(44361),c=r(2073),d=r(46990),u=r(79455),m=r(31082),p=r(88283),x=r(30401);let h=[{id:"en",icon:(0,s.jsx)(m.A,{size:18}),dirs:["Profile/","Connections/","Notes/","Workflows/","Resources/","Projects/"]},{id:"zh",icon:(0,s.jsx)(p.A,{size:18}),dirs:["画像/","关系/","笔记/","流程/","资源/","项目/"]},{id:"empty",icon:(0,s.jsx)(x.A,{size:18}),dirs:["README.md","CONFIG.json","INSTRUCTION.md"]}];var g=r(27636),b=r(21082),f=r(69527);function v(){return window.mindos??null}function y({state:e,update:t,t:r,homeDir:o}){let{locale:n}=(0,c.Y)(),l="zh"===n,i=r.setup,[d,u]=(0,a.useState)(!1),m=o.includes("\\")?"\\":"/",p="~"!==o?[o,"MindOS","mind"].join(m):i.kbPathDefault,[x,y]=(0,a.useState)(null),[j,k]=(0,a.useState)([]),[N,w]=(0,a.useState)(!1),[S,C]=(0,a.useState)(-1),[P,T]=(0,a.useState)(!1),A=(0,a.useRef)(null),z=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(z.current){z.current=!1;return}if(!e.mindRoot.trim())return void k([]);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 k([]);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));k(i.slice(0,20)),w(i.length>0),C(-1)}).catch(e=>{console.warn("[SetupWizard] autocomplete fetch failed:",e),k([])})},300);return()=>clearTimeout(t)},[e.mindRoot,o]),(0,a.useEffect)(()=>{if(!e.mindRoot.trim())return void y(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=>{y(e),T(!1),e?.exists&&!e.empty&&t("template","")}).catch(e=>{console.warn("[SetupWizard] check-path failed:",e),y(null)})},600);return()=>clearTimeout(r)},[e.mindRoot,t]);let $=()=>{k([]),w(!1),C(-1)},M=e=>{z.current=!0,t("mindRoot",e),$(),A.current?.focus()};return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)(f.D0,{label:i.kbPath,hint:i.kbPathHint,children:[(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("input",{ref:A,value:e.mindRoot,onChange:e=>{t("mindRoot",e.target.value),w(!0)},onKeyDown:e=>{N&&0!==j.length&&("ArrowDown"===e.key?(e.preventDefault(),C(e=>Math.min(e+1,j.length-1))):"ArrowUp"===e.key?(e.preventDefault(),C(e=>Math.max(e-1,-1))):"Enter"===e.key&&S>=0?(e.preventDefault(),M(j[S])):"Escape"===e.key&&w(!1))},onBlur:()=>setTimeout(()=>$(),150),onFocus:()=>j.length>0&&w(!0),placeholder:p,className:"flex-1 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)"}}),v()?.selectDirectory&&(0,s.jsx)("button",{type:"button",onClick:async()=>{let e=await v()?.selectDirectory?.();e&&(z.current=!0,t("mindRoot",e),$())},className:"px-3 py-2 rounded-lg border transition-colors hover:bg-muted/50",style:{borderColor:"var(--border)"},title:i.kbPathBrowse??"Browse...",children:(0,s.jsx)(g.A,{size:16,style:{color:"var(--muted-foreground)"}})})]}),N&&j.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:j.map((e,t)=>(0,s.jsx)("button",{type:"button",role:"option","aria-selected":t===S,onMouseDown:()=>M(e),className:"w-full text-left px-3 py-2 text-sm font-mono transition-colors",style:{background:t===S?"var(--muted)":"transparent",color:"var(--foreground)",borderTop:t>0?"1px solid var(--border)":void 0},children:e},e))})]}),e.mindRoot!==p&&p!==i.kbPathDefault&&(0,s.jsx)("button",{type:"button",onClick:()=>t("mindRoot",p),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:i.kbPathUseDefault(p)}),x?.unsafe&&(0,s.jsxs)("div",{className:"mt-3 rounded-lg border p-3 text-sm flex gap-2 items-start",style:{borderColor:"var(--error)",background:"color-mix(in srgb, var(--error) 8%, transparent)"},children:[(0,s.jsx)(b.A,{size:16,className:"flex-shrink-0 mt-0.5",style:{color:"var(--error)"}}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"font-medium",style:{color:"var(--error)"},children:l?"路径不安全":"Unsafe Path"}),(0,s.jsx)("p",{className:"mt-1",style:{color:"var(--muted-foreground)"},children:l?x.reasonZh:x.reason})]})]})]}),x&&x.exists&&!x.empty&&!P?(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-sm text-foreground font-medium mb-3 block",children:i.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:i.kbPathHasFiles(x.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:[i.kbTemplateSkip," ✓"]}):i.kbTemplateSkip}),(0,s.jsx)("button",{type:"button",onClick:()=>T(!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:i.kbTemplateMerge})]})]})]}):(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-sm text-foreground font-medium mb-3 block",children:i.template}),(0,s.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3",children:h.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)(f.D0,{label:(0,s.jsxs)(s.Fragment,{children:[i.webPassword," ",(0,s.jsx)("span",{style:{color:"var(--error)"},children:"*"})]}),hint:i.webPasswordHint,children:[(0,s.jsx)("input",{type:"password",value:e.webPassword,onChange:e=>{t("webPassword",e.target.value),u(!0)},onBlur:()=>u(!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:d&&!e.webPassword.trim()?"var(--error)":"var(--border)",color:"var(--foreground)"}}),d&&!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)(b.A,{size:11})," ",i.webPasswordRequired]})]})})]})}var j=r(4373),k=r(72615),N=r(24336),w=r(69604),S=r(87756),C=r(74342),P=r(48892),T=r(5038),A=r(38688),z=r(53097);function $({label:e,hint:t,value:r,onChange:o,status:n,onCheckPort:l,s:c}){let d=(0,a.useRef)(void 0);return(0,a.useEffect)(()=>()=>clearTimeout(d.current),[]),(0,s.jsx)(f.D0,{label:e,hint:t,children:(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(f.pd,{type:"number",min:1024,max:65535,value:r,onChange:e=>{let t=parseInt(e.target.value,10)||r;o(t),clearTimeout(d.current),t>=1024&&t<=65535&&(d.current=setTimeout(()=>l(t),500))},onBlur:()=>{clearTimeout(d.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"})," ",c.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)(T.A,{size:11})," ",c.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:c.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?c.portSelf:c.portAvailable]})]})})}function M({state:e,update:t,webPortStatus:r,mcpPortStatus:a,setWebPortStatus:o,setMcpPortStatus:n,checkPort:l,portConflict:i,s:c}){return(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsx)($,{label:c.webPort,hint:c.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:c}),(0,s.jsx)($,{label:c.mcpPort,hint:c.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:c}),i&&(0,s.jsxs)("p",{className:"text-xs flex items-center gap-1.5",role:"alert",style:{color:"var(--amber)"},children:[(0,s.jsx)(T.A,{size:12})," ",c.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:c.portVerifyHint}),(0,s.jsxs)("p",{className:"text-xs flex items-center gap-1.5",style:{color:"var(--muted-foreground)"},children:[(0,s.jsx)(z.A,{size:12})," ",c.portRestartWarning]})]})}function R({state:e,update:t,s:r,onCopyToken:o,webPortStatus:n,mcpPortStatus:i,setWebPortStatus:d,setMcpPortStatus:u,checkPort:m,portConflict:p}){let{locale:x}=(0,c.Y)(),[h,g]=(0,a.useState)(!1);(0,a.useEffect)(()=>{!h&&p&&g(!0)},[p,h]);let b="skip"===e.activeProvider,v=b?null:e.providers.find(t=>t.id===e.activeProvider),y=v?w.T_[v.protocol]:null,T=(0,a.useCallback)(r=>{v&&t("providers",e.providers.map(e=>e.id===v.id?{...e,...r}:e))},[v,e.providers,t]),A=(0,a.useCallback)(r=>{if("skip"===r)return void t("activeProvider","skip");let s=e.providers.find(e=>e.id===r);if(s)return void t("activeProvider",s.id);if((0,w.rl)(r)){let s=e.providers.find(e=>e.protocol===r);if(s)return void t("activeProvider",s.id);let a=w.T_[r],o={id:(0,S.mV)(),name:"zh"===x?a.nameZh:a.name,protocol:r,apiKey:"",model:a.defaultModel,baseUrl:a.fixedBaseUrl??""};t("providers",[...e.providers,o]),t("activeProvider",o.id)}},[e.providers,t,x]),z=new Set(e.providers.filter(e=>e.apiKey||e.apiKeyMask||w.T_[e.protocol]?.apiKeyFallback).map(e=>e.protocol)),$=b?"skip":v?.protocol??"skip";return(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsx)(C.A,{value:$,onChange:A,showSkip:!0,compact:!0,configuredProviders:z}),v&&y&&(0,s.jsxs)("div",{className:"space-y-4 pt-2",children:[(0,s.jsxs)(f.D0,{label:r.apiKey,children:[(0,s.jsx)(f.yA,{value:v.apiKey,onChange:e=>T({apiKey:e}),placeholder:v.apiKeyMask||`${(0,w.Ux)(v.protocol)??"API Key"}...`}),v.apiKeyMask&&!v.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."}),y.signupUrl&&!v.apiKey&&!v.apiKeyMask&&(0,s.jsxs)("a",{href:y.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)(j.A,{size:10}),y.apiKeyFallback?"zh"===x?`下载 ${y.nameZh}`:`Download ${y.name}`:"zh"===x?`获取 ${y.nameZh} API Key`:`Get ${y.name} API Key`]})]}),y.supportsBaseUrl&&(0,s.jsx)(f.D0,{label:r.baseUrl,hint:r.baseUrlHint,children:(0,s.jsx)(f.pd,{value:v.baseUrl??"",onChange:e=>T({baseUrl:e.target.value}),placeholder:y.fixedBaseUrl||(0,w.Ot)(v.protocol)||"https://api.openai.com/v1"})}),(0,s.jsx)(f.D0,{label:r.model,children:(0,s.jsx)(P.A,{value:v.model,onChange:e=>T({model:e}),placeholder:y.defaultModel,provider:v.protocol,apiKey:v.apiKey,baseUrl:v.baseUrl,supportsListModels:y.supportsListModels,browseLabel:r.listModels,noModelsLabel:r.noModelsFound})})]}),(0,s.jsxs)("div",{className:"pt-3 mt-1",style:{borderTop:"1px solid var(--border)"},children:[(0,s.jsxs)("button",{type:"button",onClick:()=>g(!h),className:"flex items-center gap-1.5 text-xs font-medium",style:{color:"var(--muted-foreground)"},children:[h?(0,s.jsx)(k.A,{size:12}):(0,s.jsx)(l.A,{size:12}),r.advancedPorts]}),h&&(0,s.jsxs)("div",{className:"mt-3 space-y-5",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("p",{className:"text-xs font-medium",style:{color:"var(--foreground)"},children: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)(N.A,{size:12})," ",r.copyToken]})]}),(0,s.jsx)("p",{className:"text-xs",style:{color:"var(--muted-foreground)"},children:r.tokenSectionHint})]}),(0,s.jsx)(M,{state:e,update:t,webPortStatus:n,mcpPortStatus:i,setWebPortStatus:d,setMcpPortStatus:u,checkPort:m,portConflict:p,s:r})]})]})]})}var D=r(52364),O=r(19777),E=r(95333),I=r(32959);let K={"claude-code":"https://docs.anthropic.com/en/docs/claude-code/overview",cursor:"https://www.cursor.com/",windsurf:"https://codeium.com/windsurf",cline:"https://github.com/cline/cline",trae:"https://www.trae.ai/","gemini-cli":"https://github.com/google-gemini/gemini-cli",augment:"https://www.augmentcode.com/"};function W({agents:e,agentsLoading:t,selectedAgents:r,setSelectedAgents:o,connectionMode:n,setConnectionMode:l,agentTransport:c,setAgentTransport:d,agentScope:u,setAgentScope:m,agentStatuses:p,s:x,settingsMcp:h}){let[g,b]=(0,a.useState)(!1),[v,y]=(0,a.useState)(!1),{detected:j,other:N}=(0,a.useMemo)(()=>({detected:e.filter(e=>e.installed||e.present),other:e.filter(e=>!e.installed&&!e.present)}),[e]),w=(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:p[e.key]?.state==="installing"}),(0,s.jsx)("span",{className:"text-sm flex-1",style:{color:"var(--foreground)"},children:e.name}),n.mcp&&(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"===c?e.preferredTransport:c}),((e,t)=>{let r=p[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"})," ",x.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})," ",x.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)(D.A,{size:10})," ",x.agentStatusError,r.message&&(0,s.jsxs)("span",{className:"ml-1 text-2xs",children:["(",r.message,")"]})]})}if(t.installed)return(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:h.installed});if(t.present)return(0,s.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded",style:{background:"var(--amber-dim)",color:"var(--amber)"},children:x.agentDetected});let a=K[e];return(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(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:x.agentNotFound}),a&&(0,s.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"text-2xs hover:underline",style:{color:"var(--amber)"},children:x.agentGetIt})]})})(e.key,e)]},e.key);return(0,s.jsxs)("div",{className:"space-y-5",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("p",{className:"text-xs font-medium",style:{color:"var(--muted-foreground)"},children:x.connectionModeTitle}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsxs)("label",{className:"flex items-start gap-3 px-4 py-3 rounded-xl border cursor-pointer transition-all",style:{borderColor:n.cli?"var(--amber)":"var(--border)",background:n.cli?"color-mix(in srgb, var(--amber) 6%, transparent)":"transparent"},children:[(0,s.jsx)("input",{type:"checkbox",checked:n.cli,onChange:()=>l(e=>({...e,cli:!e.cli})),className:"form-check mt-0.5"}),(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:[(0,s.jsx)(O.A,{size:13,className:"shrink-0"})," CLI"]}),(0,s.jsx)("p",{className:"text-2xs mt-0.5",style:{color:"var(--muted-foreground)"},children:x.connectionModeCliHint})]})]}),(0,s.jsxs)("label",{className:"flex items-start gap-3 px-4 py-3 rounded-xl border cursor-pointer transition-all",style:{borderColor:n.mcp?"var(--amber)":"var(--border)",background:n.mcp?"color-mix(in srgb, var(--amber) 6%, transparent)":"transparent"},children:[(0,s.jsx)("input",{type:"checkbox",checked:n.mcp,onChange:()=>l(e=>({...e,mcp:!e.mcp})),className:"form-check mt-0.5"}),(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:[(0,s.jsx)(E.A,{size:13,className:"shrink-0"})," MCP"]}),(0,s.jsx)("p",{className:"text-2xs mt-0.5",style:{color:"var(--muted-foreground)"},children:x.connectionModeMcpHint})]})]})]})]}),n.cli||n.mcp?(0,s.jsx)("p",{className:"text-sm",style:{color:"var(--muted-foreground)"},children:!n.mcp&&n.cli?x.agentToolsHintCliOnly:x.agentToolsHint}):(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2.5 rounded-lg text-xs",style:{background:"color-mix(in srgb, var(--amber) 8%, transparent)",color:"var(--amber)"},children:[(0,s.jsx)(I.A,{size:13,className:"shrink-0"}),(0,s.jsx)("span",{children:x.agentToolsHintNone})]}),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:x.agentToolsLoading})]}):0===e.length?(0,s.jsx)("p",{className:"text-sm py-4 text-center",style:{color:"var(--muted-foreground)"},children:x.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)"}}),x.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)"}}),x.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)"}}),x.badgeNotFound]})]}),j.length>0?(0,s.jsx)("div",{className:"rounded-xl border overflow-hidden",style:{borderColor:"var(--border)"},children:j.map((e,t)=>w(e,t))}):(0,s.jsx)("p",{className:"text-xs py-2",style:{color:"var(--muted-foreground)"},children:x.agentNoneDetected}),N.length>0&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("button",{type:"button",onClick:()=>b(!g),"aria-expanded":g,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 ${g?"rotate-180":""}`}),x.agentShowMore(N.length)]}),g&&(0,s.jsx)("div",{className:"rounded-xl border overflow-hidden mt-1",style:{borderColor:"var(--border)"},children:N.map((e,t)=>w(e,t))})]}),n.mcp&&0===r.size&&(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2.5 rounded-lg text-xs",style:{background:"color-mix(in srgb, var(--amber) 8%, transparent)",color:"var(--amber)"},children:[(0,s.jsx)(I.A,{size:13,className:"shrink-0"}),(0,s.jsx)("span",{children:x.agentNoneSelected})]}),n.mcp&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("button",{type:"button",onClick:()=>y(!v),"aria-expanded":v,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 ${v?"rotate-180":""}`}),x.agentAdvanced]}),v&&(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-4 mt-2",children:[(0,s.jsx)(f.D0,{label:x.agentTransport,children:(0,s.jsxs)(f.l6,{value:c,onChange:e=>d(e.target.value),children:[(0,s.jsx)("option",{value:"auto",children:x.agentTransportAuto}),(0,s.jsx)("option",{value:"stdio",children:h.transportStdio}),(0,s.jsx)("option",{value:"http",children:h.transportHttp})]})}),(0,s.jsx)(f.D0,{label:x.agentScope,children:(0,s.jsxs)(f.l6,{value:u,onChange:e=>m(e.target.value),children:[(0,s.jsx)("option",{value:"global",children:x.agentScopeGlobal}),(0,s.jsx)("option",{value:"project",children:x.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:x.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:x.agentSkipLater})]})]})]})}var U=r(98480),H=r(76723);function F({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)(T.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 L({s:e,newPort:t,webPassword:r}){let[o,n]=(0,a.useState)(!1),[l,c]=(0,a.useState)(!1),d=(0,a.useRef)(void 0),u=(0,a.useRef)(void 0);(0,a.useEffect)(()=>()=>{clearTimeout(u.current),clearInterval(d.current)},[]);let m=async()=>{n(!0);try{let e=await fetch("/api/restart",{method:"POST"});if(!e.ok)throw Error(`restart failed (${e.status})`);c(!0);let s=window.location.hostname||"localhost",a=s.includes(":")?`[${s}]`:s,o=`http://${a}:${t}`,n=()=>{window.location.href=`${o}/?welcome=1`},l=0;clearInterval(d.current),u.current=setTimeout(()=>{d.current=setInterval(async()=>{l++;try{if((await fetch(`${o}/api/health`)).status<500){if(clearInterval(d.current),r)try{await fetch(`${o}/api/auth`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:r}),credentials:"include"})}catch{}n();return}}catch{}l>=30&&(clearInterval(d.current),n())},800)},2e3)}catch(e){console.warn("[SetupWizard] restart request failed:",e),n(!1)}};return l?(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:m,disabled:o,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:[o?(0,s.jsx)(i.A,{size:13,className:"animate-spin"}):null,o?e.restarting:e.restartNow]})}function _({state:e,selectedAgents:t,agentStatuses:r,onRetryAgent:a,error:o,needsRestart:n,s:l,setupPhase:c,cliEnabled:d,mcpEnabled:u,skillInstallStatus:m="pending"}){let p=Object.entries(r).filter(([,e])=>"error"===e.state),x=d&&u?"CLI + MCP":d?"CLI":u?"MCP":"—",h=[[l.kbPath,e.mindRoot],[l.webPort,`${e.webPort} / ${e.mcpPort}`],[l.agentToolsTitle,u&&t.size>0?`${x} \xb7 ${l.agentCountSummary(t.size)}`:x]],g=u&&t.size>0,b=t.size>0,f=[{key:"saving",label:l.phaseSaving},...g?[{key:"agents",label:l.phaseAgents}]:[],...b?[{key:"skills",label:l.phaseSkill??"Installing skills"}]:[],{key:"done",label:l.phaseDone}],v=f.map(e=>e.key),y=v.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:h.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:f.map(({key:e,label:t},r)=>{let a=v.indexOf(e),o=y>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:y<a?.5:1},children:t})]},e)})}),p.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(p.length)}),p.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)(D.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})]}),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)(B,{state:e,selectedAgents:t,agentStatuses:r,needsRestart:n,skillInstallStatus:m,s:l})]})}function B({state:e,selectedAgents:t,agentStatuses:r,needsRestart:n,s:l,skillInstallStatus:i="pending"}){let[m,p]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(!m)return;let e=setTimeout(()=>p(!1),2e3);return()=>clearTimeout(e)},[m]);let x=(0,a.useCallback)(async()=>{!e.authToken||await (0,d.l)(e.authToken)&&(p(!0),u.oR.copy())},[e.authToken]),{locale:h}=(0,c.Y)(),b=!!e.mindRoot,f="skip"!==e.activeProvider&&e.providers.length>0,v=Object.values(r).filter(e=>"ok"===e.state).length,y=v>0,j=!!e.authToken,k="",S="";if(f){let t=e.providers.find(t=>t.id===e.activeProvider);if(t){let e=w.T_[t.protocol];k="zh"===h?e.nameZh:e.name,S=t.model||e.defaultModel}}let C=[{ok:b,icon:(0,s.jsx)(g.A,{size:14}),title:l.healthKb??"Knowledge Base",detail:b?e.mindRoot:l.healthKbNone??"Not configured"},{ok:f,icon:(0,s.jsx)(I.A,{size:14}),title:l.healthAi??"AI Provider",detail:f?`${k} (${S||"default"})`:l.healthAiNone??"Not configured — AI features disabled",action:f?void 0:l.healthAiAction??"Add an API key in Settings → AI."},{ok:y,icon:(0,s.jsx)(E.A,{size:14}),title:l.healthAgents??"Agent Connection",detail:y?l.healthAgentsOk?.(v)??`${v} agent(s) configured`:t.size>0?l.healthAgentsPartial??"Configuration in progress...":l.healthAgentsNone??"No agents configured",action:y?void 0:l.healthAgentsAction??"You can add agents later in Settings → Connections."},...t.size>0?[{ok:"ok"===i,icon:(0,s.jsx)(o.A,{size:14}),title:l.healthSkills??"Skills",detail:"ok"===i?l.healthSkillsOk??"Skills installed successfully":"error"===i?l.healthSkillsError??"Skill installation failed":"skipped"===i?l.healthSkillsSkipped??"Skipped":l.healthSkillsInstalling??"Installing skills...",action:"error"===i?l.healthSkillsAction??"You can install skills manually later.":void 0}]:[]];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:C.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)(T.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))}),j&&(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}),l.healthTokenTitle??"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:x,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:m?"color-mix(in srgb, var(--success) 50%, transparent)":"var(--border)",background:m?"color-mix(in srgb, var(--success) 10%, transparent)":"transparent",color:m?"var(--success)":"var(--muted-foreground)"},title:l.healthTokenCopy??"Copy token",children:m?(0,s.jsx)(H.A,{size:14}):(0,s.jsx)(N.A,{size:14})})]}),(0,s.jsx)("p",{className:"text-xs",style:{color:"var(--muted-foreground)"},children:l.healthTokenHint??"Use this token when connecting AI agents. Also available in Settings → Connections."})]}),n&&(0,s.jsx)(F,{s:l})]})}function J({step:e,setStep:t,stepTitles:r,disabled:a,numberedSteps:o}){let{t:n}=(0,c.Y)(),l=o??r.length,i=r.slice(0,l),d=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||d?"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||d||o===e?"var(--amber)":"var(--muted)",color:o<=e||d?"var(--amber-foreground)":"var(--muted-foreground)",opacity:o<=e||d?1:.5},children:o<e||d?(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||d?"var(--muted-foreground)":"var(--foreground)",opacity:o<=e||d?1:.5},children:r})]})]},o))})}function Y(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 G(e){return{state:"ok"===e.status?"ok":"error",message:e.message,transport:e.transport,verified:e.verified,verifyError:e.verifyError}}async function V(e,t){let r="skip"===e.activeProvider||0===e.providers.length,s=e.providers.map(({apiKeyMask:e,...t})=>t),a={mindRoot:e.mindRoot,template:e.template||void 0,port:e.webPort,mcpPort:e.mcpPort,authToken:e.authToken,webPassword:e.webPassword,ai:r?void 0:{activeProvider:e.activeProvider,providers:s},connectionMode:t??{cli:!0,mcp:!1}},o=await fetch("/api/setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),n=await o.json();if(!o.ok)throw Error(n.error||`HTTP ${o.status}`);return!!n.needsRestart}async function Z(e,t,r,s,a,o){let n=e.map(e=>Y(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(),c={};if(i.results)for(let e of i.results)c[e.agent]=G(e);return c}async function q(e,t){if(0===t.length)return!0;try{let r=await fetch("/api/mcp/install-skill",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({skill:e,agents:t})}),s=await r.json();return!0===s.ok}catch(e){return console.warn("[SetupWizard] Skill installation failed:",e),!1}}function X(){let{t:e}=(0,c.Y)(),t=e.setup,[r,m]=(0,a.useState)(0),[p,x]=(0,a.useState)({mindRoot:"~/MindOS/mind",template:"en",activeProvider:"skip",providers:[],webPort:3456,mcpPort:8781,authToken:"",webPassword:""}),[h,g]=(0,a.useState)("~"),[b,f]=(0,a.useState)(!1),[v,j]=(0,a.useState)(!1),[k,N]=(0,a.useState)(""),[w,S]=(0,a.useState)(!1),[C,P]=(0,a.useState)("pending"),[T,A]=(0,a.useState)({checking:!1,available:null,isSelf:!1,suggestion:null}),[z,$]=(0,a.useState)({checking:!1,available:null,isSelf:!1,suggestion:null}),[M,D]=(0,a.useState)(!1),[O,E]=(0,a.useState)([]),[I,K]=(0,a.useState)(!1),[U,H]=(0,a.useState)(!1),[F,B]=(0,a.useState)(new Set),[X,Q]=(0,a.useState)("auto"),[ee,et]=(0,a.useState)("global"),[er,es]=(0,a.useState)({}),[ea,eo]=(0,a.useState)({cli:!0,mcp:!1}),[en,el]=(0,a.useState)("review");(0,a.useEffect)(()=>{fetch("/api/setup").then(e=>e.json()).then(e=>{e.homeDir&&g(e.homeDir),x(t=>{let r=t.providers;Array.isArray(e.providerConfigs)&&e.providerConfigs.length>0&&(r=e.providerConfigs.map(e=>({id:e.id,name:e.name||"",protocol:e.protocol,apiKey:"",model:e.model||"",baseUrl:e.baseUrl||"",apiKeyMask:e.apiKeyMask||""})));let s=e.activeProvider||t.activeProvider;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,activeProvider:s,providers:r}}),e.authToken||fetch("/api/setup/generate-token",{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}).then(e=>e.json()).then(e=>{e.token&&x(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&&x(t=>({...t,authToken:e.token}))}).catch(e=>console.warn("[SetupWizard] Fallback token generation also failed:",e))})},[]),(0,a.useEffect)(()=>{1===r&&(ed(p.webPort,"web",!0),ed(p.mcpPort,"mcp",!0))},[r]),(0,a.useEffect)(()=>{2!==r||U||I||(K(!0),fetch("/api/mcp/agents").then(e=>e.json()).then(e=>{if(e.agents){let t=e.agents.filter(e=>"builtin"!==e.scope);E(t),B(new Set(t.filter(e=>e.installed||e.present).map(e=>e.key)))}H(!0)}).catch(e=>{console.warn("[SetupWizard] Failed to load agents:",e),H(!0)}).finally(()=>K(!1)))},[r,U,I]),(0,a.useEffect)(()=>{if(!p.mindRoot.trim())return void D(!1);let e=setTimeout(()=>{fetch("/api/setup/check-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:p.mindRoot})}).then(e=>e.json()).then(e=>D(!!e.unsafe)).catch(()=>D(!1))},400);return()=>clearTimeout(e)},[p.mindRoot]);let ei=(0,a.useCallback)((e,t)=>{x(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&&x(e=>({...e,authToken:r.token}))}catch(e){console.warn("[SetupWizard] generateToken failed:",e)}},[]);let ec=(0,a.useCallback)(()=>{(0,d.l)(p.authToken).then(e=>{e&&u.oR.copy()})},[p.authToken]),ed=(0,a.useCallback)(async(e,t,r=!1)=>{if(e<1024||e>65535)return;let s="web"===t?A:$;s({checking:!0,available:null,isSelf:!1,suggestion:null});try{let a=await fetch("/api/setup/check-port",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({port:e})}),o=await a.json(),n=o.available??null,l=o.suggestion??null;if(s({checking:!1,available:n,isSelf:!!o.isSelf,suggestion:l}),r&&!1===n&&l){let e="web"===t?"webPort":"mcpPort";x(t=>({...t,[e]:l})),setTimeout(()=>ed(l,t,!1),0)}}catch(e){console.warn("[SetupWizard] checkPort failed:",e),s({checking:!1,available:null,isSelf:!1,suggestion:null})}},[]),eu=p.webPort===p.mcpPort,em=async()=>{f(!0),N("");let e=Array.from(F),t=p;if(!p.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={...p,authToken:r.token},x(t))}catch{}el("saving");try{await V(t,ea)&&S(!0)}catch(e){N(e instanceof Error?e.message:String(e)),el("review"),f(!1);return}if(ea.mcp&&e.length>0){el("agents");let r={};for(let t of e)r[t]={state:"installing"};es(r);try{let r=await Z(e,O,X,ee,t.mcpPort,t.authToken);es(r)}catch(r){console.warn("[SetupWizard] agent batch install failed:",r);let t={};for(let r of e)t[r]={state:"error"};es(t)}}if(e.length>0){el("skills"),P("installing");let r="zh"===t.template?"mindos-zh":"mindos";try{let t=await q(r,e);P(t?"ok":"error")}catch(e){console.warn("[SetupWizard] skill install failed:",e),P("error")}}else P("skipped");f(!1),j(!0),el("done")},ep=(0,a.useCallback)(async e=>{es(t=>({...t,[e]:{state:"installing"}}));try{let t=Y(e,O,X,ee),r=await fetch("/api/mcp/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agents:[t],transport:X,url:`http://localhost:${p.mcpPort}/mcp`,token:p.authToken||void 0})}),s=await r.json();if(s.results?.[0]){let t=s.results[0];es(r=>({...r,[e]:G(t)}))}}catch(t){console.warn("[SetupWizard] retryAgent failed:",t),es(t=>({...t,[e]:{state:"error"}}))}},[O,ee,X,p.mcpPort,p.authToken]);return(0,s.jsxs)("div",{className:"fixed inset-0 z-50 flex flex-col overflow-y-auto",role:"dialog","aria-modal":"true","aria-labelledby":"setup-title",style:{background:"var(--background)"},children:[(0,s.jsx)("div",{className:"sticky top-0 z-10 pt-6 pb-3 px-6",style:{background:"var(--background)"},children:(0,s.jsxs)("div",{className:"max-w-xl mx-auto",children:[(0,s.jsx)("div",{className:"text-center mb-3",children:(0,s.jsxs)("div",{className:"inline-flex items-center gap-2",children:[(0,s.jsx)(o.A,{size:18,style:{color:"var(--amber)"}}),(0,s.jsx)("h1",{id:"setup-title",className:"text-2xl font-brand",style:{color:"var(--foreground)"},children:"MindOS"})]})}),(0,s.jsx)("div",{className:"flex justify-center",children:(0,s.jsx)(J,{step:r,setStep:m,stepTitles:t.stepTitles,disabled:b||v,numberedSteps:3})})]})}),(0,s.jsxs)("div",{className:"flex-1 w-full max-w-xl mx-auto px-6 pb-8",children:[(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)(y,{state:p,update:ei,t:e,homeDir:h}),1===r&&(0,s.jsx)(R,{state:p,update:ei,s:t,onCopyToken:ec,webPortStatus:T,mcpPortStatus:z,setWebPortStatus:A,setMcpPortStatus:$,checkPort:ed,portConflict:eu}),2===r&&(0,s.jsx)(W,{agents:O,agentsLoading:I,selectedAgents:F,setSelectedAgents:B,connectionMode:ea,setConnectionMode:eo,agentTransport:X,setAgentTransport:Q,agentScope:ee,setAgentScope:et,agentStatuses:er,s:t,settingsMcp:e.settings.mcp}),3===r&&(0,s.jsx)(_,{state:p,selectedAgents:F,agentStatuses:er,onRetryAgent:ep,error:k,needsRestart:w,s:t,setupPhase:en,cliEnabled:ea.cli,mcpEnabled:ea.mcp,skillInstallStatus:C}),(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||v,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?!M&&p.mindRoot.trim().length>0&&p.webPassword.trim().length>0:1===r?!eu&&!T.checking&&!z.checking&&!1!==T.available&&!1!==z.available:2!==r||ea.cli||ea.mcp),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})]}):v?w?(0,s.jsx)(L,{s:t,newPort:p.webPort,webPassword:p.webPassword}):(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:em,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]})]})]})]})}},46990:(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})},60418:(e,t,r)=>{Promise.resolve().then(r.bind(r,23684)),Promise.resolve().then(r.bind(r,40797))},69527:(e,t,r)=>{"use strict";r.d(t,{Bt:()=>p,D0:()=>c,L7:()=>g,jn:()=>h,l6:()=>m,lM:()=>x,pM:()=>b,pd:()=>d,yA:()=>u});var s=r(66839),a=r(44223),o=r(9986),n=r(55798),l=r(72615),i=r(76723);function c({label:e,hint:t,hintError:r,children:a}){return(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm text-foreground font-medium",children:e}),a,t&&(0,s.jsx)("p",{className:`text-xs ${r?"text-destructive":"text-muted-foreground"}`,children:t})]})}function d({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 u({value:e,onChange:t,placeholder:r,disabled:l,className:i="",size:c="md"}){let[d,u]=(0,a.useState)(!1),m="sm"===c;return(0,s.jsxs)("div",{className:`flex items-center border border-border rounded-lg bg-background focus-within:ring-1 focus-within:ring-ring overflow-hidden ${i}`,children:[(0,s.jsx)("input",{type:d?"text":"password",value:e,onChange:e=>t(e.target.value),placeholder:r??"••••••••",disabled:l,className:`flex-1 bg-transparent text-foreground placeholder:text-muted-foreground outline-none disabled:opacity-50 ${m?"px-2.5 py-1.5 text-xs font-mono":"px-3 py-2 text-sm"}`}),!!e&&(0,s.jsx)("button",{type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:()=>u(e=>!e),disabled:l,className:`shrink-0 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50 ${m?"p-1.5":"p-2"}`,title:d?"Hide":"Show",children:d?(0,s.jsx)(o.A,{size:m?14:16}):(0,s.jsx)(n.A,{size:m?14:16})})]})}function m({value:e,onChange:t,children:r,className:o="",disabled:n,size:c="md"}){let d=(0,a.useId)(),[u,m]=(0,a.useState)(!1),[p,x]=(0,a.useState)(-1),h=(0,a.useRef)(null),g=(0,a.useRef)(null),b=(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=b.findIndex(t=>t.value===e),v=b[f]?.label??"";(0,a.useEffect)(()=>{if(!u)return;let e=e=>{h.current&&!h.current.contains(e.target)&&m(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[u]),(0,a.useEffect)(()=>{if(u&&g.current&&p>=0){let e=g.current.children[p];e?.scrollIntoView({block:"nearest"})}},[u,p]);let y=(0,a.useCallback)(e=>{e>=0&&e<b.length&&(t?.({target:{value:b[e].value}}),m(!1))},[b,t]),j=(0,a.useCallback)(e=>{if(!u){["Enter"," ","ArrowDown","ArrowUp"].includes(e.key)&&(e.preventDefault(),m(!0),x(f>=0?f:0));return}switch(e.key){case"ArrowDown":e.preventDefault(),x(e=>Math.min(e+1,b.length-1));break;case"ArrowUp":e.preventDefault(),x(e=>Math.max(e-1,0));break;case"Enter":case" ":e.preventDefault(),y(p);break;case"Escape":e.preventDefault(),m(!1);break;case"Tab":m(!1)}},[u,b.length,f,p,y]);return(0,s.jsxs)("div",{ref:h,className:`relative ${o}`,children:[(0,s.jsxs)("button",{type:"button",disabled:n,onClick:()=>{m(e=>!e),x(f>=0?f:0)},onKeyDown:j,"aria-haspopup":"listbox","aria-expanded":u,className:`${"sm"===c?"px-1.5 py-0.5 text-xs rounded cursor-pointer":"w-full px-3 py-2 text-sm rounded-lg"} bg-background border border-border 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 ${v?"":"text-muted-foreground"}`,children:v||"—"}),(0,s.jsx)(l.A,{size:"sm"===c?10:14,className:`shrink-0 text-muted-foreground transition-transform duration-150 ${u?"rotate-180":""}`})]}),u&&(0,s.jsx)("div",{ref:g,role:"listbox","aria-activedescendant":p>=0?`${d}-opt-${p}`:void 0,className:`absolute z-20 ${"sm"===c?"min-w-[8rem]":"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:b.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(),y(r)},onMouseEnter:()=>x(r),className:`w-full ${"sm"===c?"px-2 py-1 text-xs":"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)(i.A,{size:"sm"===c?10:14,className:`shrink-0 ${a?"text-[var(--amber)]":"invisible"}`}),(0,s.jsx)("span",{className:"truncate",children:t.label})]},t.value)})})]})}function p({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 x({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 h({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 g({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 b({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})]})}},79455:(e,t,r)=>{"use strict";r.d(t,{B1:()=>l,X8:()=>c,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 c(e){s=s.filter(t=>t.id!==e),n()}function d(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(()=>c(t),r.duration)}function u(e,t){d({message:e,...t})}u.success=(e,t)=>d({message:e,type:"success",duration:t}),u.undo=(e,t,r)=>d({message:e,type:"info",duration:r?.duration??5e3,action:{label:r?.label??"Undo",onClick:t}}),u.error=(e,t)=>d({message:e,type:"error",duration:t}),u.copy=(e="Copied")=>d({message:e,type:"success",duration:1500})},87756:(e,t,r)=>{"use strict";function s(){return"p_"+Math.random().toString(36).slice(2,10)}function a(e){return"string"==typeof e&&e.startsWith("p_")}function o(e,t){return e.find(e=>e.id===t)}r.d(t,{Ny:()=>a,lh:()=>o,mV:()=>s}),r(69604)}},e=>{e.O(0,[5883,7156,6742,2073,5191,2851,5018,2330,7358],()=>e(e.s=60418)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6547],{3837:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},12361:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]])},23684:(e,t,r)=>{"use strict";r.d(t,{default:()=>d});var s=r(66839),a=r(44223);function d({href:e,label:t="Redirecting..."}){return(0,a.useEffect)(()=>{window.location.replace(e)},[e]),(0,s.jsx)("main",{className:"min-h-screen flex items-center justify-center px-6",children:(0,s.jsx)("a",{href:e,className:"text-sm underline-offset-4 hover:underline focus-visible:ring-2 focus-visible:ring-ring rounded-sm",style:{color:"var(--muted-foreground)"},children:t})})}},30215:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]])},30401:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).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"}]])},31606:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).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"}]])},71982:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]])},72799:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},73015:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var s=r(44223);let a=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),d=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 i={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 c=(0,s.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:d,className:c="",children:l,iconNode:n,...h},o)=>(0,s.createElement)("svg",{ref:o,...i,width:t,height:t,stroke:e,strokeWidth:d?24*Number(r)/Number(t):r,className:a("lucide",c),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(h)&&{"aria-hidden":"true"},...h},[...n.map(([e,t])=>(0,s.createElement)(e,t)),...Array.isArray(l)?l:[l]])),l=(e,t)=>{let r=(0,s.forwardRef)(({className:r,...i},l)=>(0,s.createElement)(c,{ref:l,iconNode:t,className:a(`lucide-${d(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,r),...i}));return r.displayName=d(e),r}},73452:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("square-check-big",[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},73601:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},86773:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]])},94567:(e,t,r)=>{Promise.resolve().then(r.bind(r,98784)),Promise.resolve().then(r.bind(r,23684))},98327:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},98784:(e,t,r)=>{"use strict";r.d(t,{default:()=>l});var s=r(66839),a=r(18016),d=r.n(a),i=r(30401),c=r(10763);function l({content:e,exists:t,saveAction:r}){return t?(0,s.jsxs)("div",{className:"content-width py-2",children:[(0,s.jsx)("div",{className:"flex items-center justify-end mb-2",children:(0,s.jsxs)(d(),{href:"/view/TODO.md",className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md text-xs text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:[(0,s.jsx)(i.A,{size:13}),(0,s.jsx)("span",{children:"Markdown"})]})}),(0,s.jsx)(c.TodoRenderer,{filePath:"TODO.md",content:e,extension:"md",saveAction:r})]}):(0,s.jsx)("div",{className:"content-width py-16 text-center",children:(0,s.jsxs)("p",{className:"text-sm text-muted-foreground",children:["No TODO.md found. Create a ",(0,s.jsx)("code",{className:"text-xs bg-muted px-1.5 py-0.5 rounded",children:"TODO.md"})," file in your workspace to get started."]})})}}},e=>{e.O(0,[2130,763,5018,2330,7358],()=>e(e.s=94567)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1227],{5038:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).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"}]])},18659:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("table",[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]])},30401:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).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"}]])},31606:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).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"}]])},44361:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},52212:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]])},56261:(e,t,r)=>{"use strict";var s=r(59889);r.o(s,"usePathname")&&r.d(t,{usePathname:function(){return s.usePathname}}),r.o(s,"useRouter")&&r.d(t,{useRouter:function(){return s.useRouter}}),r.o(s,"useSearchParams")&&r.d(t,{useSearchParams:function(){return s.useSearchParams}})},59029:(e,t,r)=>{"use strict";r.d(t,{v:()=>i});var s=r(44223);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,l={setState:s,getState:a,getInitialState:()=>i,subscribe:e=>(r.add(e),()=>r.delete(e))},i=t=e(s,a,l);return l},l=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},i=e=>e?l(e):l},61017:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},65799:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s={callServer:function(){return l.callServer},createServerReference:function(){return n.createServerReference},findSourceMapURL:function(){return i.findSourceMapURL}};for(var a in s)Object.defineProperty(t,a,{enumerable:!0,get:s[a]});let l=r(86716),i=r(24480),n=r(25641)},72799:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},73015:(e,t,r)=>{"use strict";r.d(t,{A:()=>d});var s=r(44223);let a=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),l=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 i={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,s.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:l,className:n="",children:d,iconNode:o,...c},u)=>(0,s.createElement)("svg",{ref:u,...i,width:t,height:t,stroke:e,strokeWidth:l?24*Number(r)/Number(t):r,className:a("lucide",n),...!d&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...o.map(([e,t])=>(0,s.createElement)(e,t)),...Array.isArray(d)?d:[d]])),d=(e,t)=>{let r=(0,s.forwardRef)(({className:r,...i},d)=>(0,s.createElement)(n,{ref:d,iconNode:t,className:a(`lucide-${l(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,r),...i}));return r.displayName=l(e),r}},73601:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(73015).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},92790:(e,t,r)=>{"use strict";r.d(t,{default:()=>j});var s=r(66839),a=r(44223),l=r(31606),i=r(61017),n=r(18659),d=r(30401),o=r(5038),c=r(44361),u=r(52212),m=r(72799),h=r(56261),x=r(2073),f=r(65799);let p=(0,f.createServerReference)("606ac1506ad3ecf5716a98569637f625cef9020c1e",f.callServer,void 0,f.findSourceMapURL,"restoreFromTrashAction"),b=(0,f.createServerReference)("40b73a571dd0e7d09a8b21e4dbb71e4b86ab0a60c0",f.callServer,void 0,f.findSourceMapURL,"permanentlyDeleteAction"),v=(0,f.createServerReference)("00b78fc9150f8729fe07352592bfa2d27c6ec2648d",f.callServer,void 0,f.findSourceMapURL,"emptyTrashAction");var g=r(84734),y=r(79455);function j({initialItems:e}){let{t}=(0,x.Y)(),r=(0,h.useRouter)(),[f,j]=(0,a.useState)(e),[N,k]=(0,a.useTransition)(),[A,w]=(0,a.useState)(!1),[M,C]=(0,a.useState)(null),[S,R]=(0,a.useState)(null),[z,P]=(0,a.useState)(null),L=(0,a.useCallback)(async e=>{P(e.id);try{let s=await p(e.id,"restore");s.success?(j(t=>t.filter(t=>t.id!==e.id)),y.oR.success(t.trash.restored),r.refresh()):s.conflict?R(e):y.oR.error(s.error??t.trash.restoreFailed)}finally{P(null)}},[t,r]),T=(0,a.useCallback)(async e=>{if(!S)return;let s=await p(S.id,e);s.success?(j(e=>e.filter(e=>e.id!==S.id)),y.oR.success(t.trash.restored),R(null),r.refresh()):y.oR.error(s.error??t.trash.restoreFailed)},[S,t,r]),_=(0,a.useCallback)(async()=>{if(!M)return;let e=await b(M.id);e.success?(j(e=>e.filter(e=>e.id!==M.id)),y.oR.success(t.trash.deleted)):y.oR.error(e.error??t.trash.deleteFailed),C(null)},[M,t]),E=(0,a.useCallback)(async()=>{k(async()=>{let e=await v();e.success?(j([]),y.oR.success(t.trash.emptied(e.count??0))):y.oR.error(e.error??t.trash.emptyFailed),w(!1)})},[t]);return(0,s.jsxs)("div",{className:"min-h-screen",children:[(0,s.jsx)("div",{className:"px-4 md:px-6 pt-6 md:pt-8",children:(0,s.jsx)("div",{className:"content-width xl:mr-[220px] rounded-xl border border-border bg-card px-4 py-3 md:px-5 md:py-4",children:(0,s.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-foreground",children:[(0,s.jsx)(l.A,{size:15}),t.trash.title]}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:t.trash.subtitle}),f.length>0&&(0,s.jsx)("div",{className:"mt-2 text-xs text-muted-foreground",children:t.trash.itemCount(f.length)})]}),f.length>0&&(0,s.jsx)("button",{type:"button",onClick:()=>w(!0),disabled:N,className:"px-2.5 py-1.5 rounded-md text-xs font-medium bg-error/10 text-error hover:bg-error/20 transition-colors disabled:opacity-50",children:t.trash.emptyTrash})]})})}),(0,s.jsx)("div",{className:"px-4 md:px-6 py-4 md:py-6",children:(0,s.jsx)("div",{className:"content-width xl:mr-[220px]",children:0===f.length?(0,s.jsxs)("div",{className:"rounded-xl border border-border/40 bg-card/30 p-12 text-center",children:[(0,s.jsx)("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-full bg-muted/60 mb-4",children:(0,s.jsx)(l.A,{size:22,className:"text-muted-foreground/40"})}),(0,s.jsx)("p",{className:"text-sm font-medium text-muted-foreground/70",children:t.trash.empty}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground/40 mt-1 max-w-xs mx-auto leading-relaxed",children:t.trash.emptySubtext})]}):(0,s.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:f.map(e=>{let r=Math.max(0,Math.ceil((new Date(e.expiresAt).getTime()-Date.now())/864e5)),a=r<=3;return(0,s.jsxs)("div",{className:"rounded-xl border border-border bg-card p-4 flex flex-col gap-3 hover:border-border/80 transition-colors",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 min-w-0",children:[(0,s.jsx)("div",{className:"w-9 h-9 rounded-lg bg-muted/50 flex items-center justify-center shrink-0",children:e.isDirectory?(0,s.jsx)(i.A,{size:16,className:"text-muted-foreground"}):e.fileName.endsWith(".csv")?(0,s.jsx)(n.A,{size:16,className:"text-success"}):(0,s.jsx)(d.A,{size:16,className:"text-muted-foreground"})}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("p",{className:"text-sm font-medium text-foreground truncate",title:e.fileName,children:e.fileName}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",title:e.originalPath,children:[t.trash.from,": ",e.originalPath.split("/").slice(0,-1).join("/")||"/"]})]})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,s.jsx)("span",{className:"text-2xs text-muted-foreground",children:t.trash.deletedAgo(function(e,t){let r=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(r<1)return t.justNow??"just now";if(r<60)return t.minutesAgo?.(r)??`${r}m ago`;let s=Math.floor(r/60);if(s<24)return t.hoursAgo?.(s)??`${s}h ago`;let a=Math.floor(s/24);return t.daysAgo?.(a)??`${a}d ago`}(e.deletedAt,t.trash))}),(0,s.jsxs)("span",{className:`text-2xs ${a?"text-error":"text-muted-foreground/60"}`,children:[a&&(0,s.jsx)(o.A,{size:9,className:"inline mr-0.5"}),t.trash.expiresIn(r)]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsxs)("button",{type:"button",onClick:()=>L(e),disabled:z===e.id,className:"inline-flex items-center gap-1 px-2 py-1 rounded-md text-xs font-medium bg-success/10 text-success hover:bg-success/20 transition-colors disabled:opacity-50",children:[z===e.id?(0,s.jsx)(c.A,{size:11,className:"animate-spin"}):(0,s.jsx)(u.A,{size:11}),t.trash.restore]}),(0,s.jsx)("button",{type:"button",onClick:()=>C(e),className:"p-1 rounded-md text-muted-foreground hover:text-error hover:bg-error/10 transition-colors",title:t.trash.deletePermanently,children:(0,s.jsx)(m.A,{size:13})})]})]})]},e.id)})})})}),(0,s.jsx)(g.TM,{open:A,title:t.trash.emptyTrash,message:t.trash.emptyTrashConfirm,confirmLabel:t.trash.emptyTrash,cancelLabel:t.trash.cancel??"Cancel",onConfirm:()=>void E(),onCancel:()=>w(!1),variant:"destructive"}),(0,s.jsx)(g.TM,{open:!!M,title:t.trash.deletePermanently,message:M?t.trash.deletePermanentlyConfirm(M.fileName):"",confirmLabel:t.trash.deletePermanently,cancelLabel:t.trash.cancel??"Cancel",onConfirm:()=>void _(),onCancel:()=>C(null),variant:"destructive"}),S&&(0,s.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center modal-backdrop",children:(0,s.jsxs)("div",{className:"bg-card border border-border rounded-xl shadow-xl max-w-sm w-full mx-4 p-5",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,s.jsx)(o.A,{size:16,className:"text-[var(--amber)]"}),(0,s.jsx)("h3",{className:"text-sm font-semibold",children:t.trash.restoreConflict})]}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground mb-4",children:['"',S.fileName,'" — ',S.originalPath]}),(0,s.jsxs)("div",{className:"flex items-center gap-2 justify-end",children:[(0,s.jsx)("button",{type:"button",onClick:()=>R(null),className:"px-3 py-1.5 rounded-md text-xs font-medium text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:t.trash.cancel??"Cancel"}),(0,s.jsx)("button",{type:"button",onClick:()=>void T("copy"),className:"px-3 py-1.5 rounded-md text-xs font-medium bg-muted text-foreground hover:bg-muted/80 transition-colors",children:t.trash.saveAsCopy}),(0,s.jsx)("button",{type:"button",onClick:()=>void T("overwrite"),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:t.trash.overwrite})]})]})})]})}},95104:(e,t,r)=>{Promise.resolve().then(r.bind(r,92790))}},e=>{e.O(0,[2073,5152,5018,2330,7358],()=>e(e.s=95104)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1525],{
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1525],{12338:(e,r,s)=>{Promise.resolve().then(s.bind(s,83200))},83200:(e,r,s)=>{"use strict";s.r(r),s.d(r,{default:()=>o});var t=s(66839),n=s(44223);function o({error:e,reset:r}){return(0,n.useEffect)(()=>{console.error("View error:",e)},[e]),(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-[50vh] gap-4 px-6",children:[(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold text-foreground mb-2",children:"Failed to load file"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground max-w-md",children:e.message||"The file could not be read or rendered."})]}),(0,t.jsx)("button",{onClick:r,className:"px-4 py-2 rounded-md text-sm font-medium transition-colors",style:{background:"var(--muted)",color:"var(--foreground)"},children:"Try again"})]})}}},e=>{e.O(0,[5018,2330,7358],()=>e(e.s=12338)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7875],{747:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});let o=(0,r(73015).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"}]])},35582:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>u});var o=r(66839),n=r(56261),s=r(86386),a=r(71044),i=r(747),d=r(44223),l=r(2073),c=r(58221);function u(){let e=(0,n.usePathname)(),t=(0,n.useRouter)(),{t:r}=(0,l.Y)(),[u,m]=(0,d.useState)(!1),h=e.startsWith("/view/")?decodeURIComponent(e.slice(6)):"",f=h.includes("/")?h.split("/").slice(0,-1).join("/"):"",p=h.endsWith(".md")||!h.includes("."),x=h||"unknown",g=r.notFound,b=async()=>{m(!0);try{let e=p&&!h.includes(".")?`${h}.md`:h,r=await fetch("/api/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({op:"create_file",path:e,content:""})});if(r.ok)t.replace(`/view/${(0,c.O0)(e)}`),t.refresh();else{let e=await r.json().catch(()=>({error:"Unknown error"}));console.error("[not-found] Failed to create file:",e.error)}}catch(e){console.error("[not-found] Network error:",e)}finally{m(!1)}};return(0,o.jsxs)("div",{className:"content-width px-4 md:px-6 py-16 md:py-24 flex flex-col items-center text-center",children:[(0,o.jsx)("div",{className:"w-12 h-12 rounded-xl bg-muted flex items-center justify-center mb-6",children:(0,o.jsx)(s.A,{size:24,className:"text-muted-foreground"})}),(0,o.jsx)("h1",{className:"text-lg font-semibold tracking-tight text-foreground mb-2",children:g?.title??"File not found"}),(0,o.jsx)("p",{className:"text-sm text-muted-foreground mb-1",children:(0,o.jsx)("code",{className:"px-1.5 py-0.5 rounded bg-muted font-mono text-xs",children:x})}),(0,o.jsx)("p",{className:"text-sm text-muted-foreground mb-8",children:g?.description??"This file does not exist in your knowledge base."}),(0,o.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-3",children:[p&&(0,o.jsxs)("button",{onClick:b,disabled:u,className:"flex items-center gap-2 px-4 py-2.5 text-sm font-medium rounded-lg transition-colors disabled:opacity-50",style:{background:"var(--amber)",color:"var(--amber-foreground)"},children:[(0,o.jsx)(s.A,{size:14}),u?g?.creating??"Creating...":g?.createButton??"Create this file"]}),f&&(0,o.jsxs)("button",{onClick:()=>t.push(`/view/${(0,c.O0)(f)}`),className:"flex items-center gap-2 px-4 py-2.5 text-sm font-medium rounded-lg border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:[(0,o.jsx)(a.A,{size:14}),g?.goToParent??"Go to parent folder"]}),(0,o.jsxs)("button",{onClick:()=>t.push("/"),className:"flex items-center gap-2 px-4 py-2.5 text-sm font-medium rounded-lg border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:[(0,o.jsx)(i.A,{size:14}),g?.goHome??"Home"]})]})]})}},56261:(e,t,r)=>{"use strict";var o=r(59889);r.o(o,"usePathname")&&r.d(t,{usePathname:function(){return o.usePathname}}),r.o(o,"useRouter")&&r.d(t,{useRouter:function(){return o.useRouter}}),r.o(o,"useSearchParams")&&r.d(t,{useSearchParams:function(){return o.useSearchParams}})},58221:(e,t,r)=>{"use strict";r.d(t,{IX:()=>d,KW:()=>i,O0:()=>a,cn:()=>s,vr:()=>l});var o=r(10325),n=r(91498);function s(...e){return(0,n.QP)((0,o.$)(e))}function a(e){return e.split("/").map(encodeURIComponent).join("/")}function i(e,t){let r=Date.now()-e,o=Math.floor(r/6e4),n=Math.floor(r/36e5),s=Math.floor(r/864e5);return o<1?t.justNow:o<60?t.minutesAgo(o):n<24?t.hoursAgo(n):s<7?t.daysAgo(s):new Date(e).toLocaleDateString()}function d(e){let t=e.match(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]+/u);return t?.[0]??""}function l(e){return e.replace(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}\s]+/u,"")||e}},71044:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});let o=(0,r(73015).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},86386:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});let o=(0,r(73015).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"}]])}
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7875],{747:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});let o=(0,r(73015).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"}]])},35582:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>u});var o=r(66839),n=r(56261),s=r(86386),a=r(71044),i=r(747),d=r(44223),l=r(2073),c=r(58221);function u(){let e=(0,n.usePathname)(),t=(0,n.useRouter)(),{t:r}=(0,l.Y)(),[u,m]=(0,d.useState)(!1),h=e.startsWith("/view/")?decodeURIComponent(e.slice(6)):"",f=h.includes("/")?h.split("/").slice(0,-1).join("/"):"",p=h.endsWith(".md")||!h.includes("."),x=h||"unknown",g=r.notFound,b=async()=>{m(!0);try{let e=p&&!h.includes(".")?`${h}.md`:h,r=await fetch("/api/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({op:"create_file",path:e,content:""})});if(r.ok)t.replace(`/view/${(0,c.O0)(e)}`),t.refresh();else{let e=await r.json().catch(()=>({error:"Unknown error"}));console.error("[not-found] Failed to create file:",e.error)}}catch(e){console.error("[not-found] Network error:",e)}finally{m(!1)}};return(0,o.jsxs)("div",{className:"content-width px-4 md:px-6 py-16 md:py-24 flex flex-col items-center text-center",children:[(0,o.jsx)("div",{className:"w-12 h-12 rounded-xl bg-muted flex items-center justify-center mb-6",children:(0,o.jsx)(s.A,{size:24,className:"text-muted-foreground"})}),(0,o.jsx)("h1",{className:"text-lg font-semibold tracking-tight text-foreground mb-2",children:g?.title??"File not found"}),(0,o.jsx)("p",{className:"text-sm text-muted-foreground mb-1",children:(0,o.jsx)("code",{className:"px-1.5 py-0.5 rounded bg-muted font-mono text-xs",children:x})}),(0,o.jsx)("p",{className:"text-sm text-muted-foreground mb-8",children:g?.description??"This file does not exist in your knowledge base."}),(0,o.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-3",children:[p&&(0,o.jsxs)("button",{onClick:b,disabled:u,className:"flex items-center gap-2 px-4 py-2.5 text-sm font-medium rounded-lg transition-colors disabled:opacity-50",style:{background:"var(--amber)",color:"var(--amber-foreground)"},children:[(0,o.jsx)(s.A,{size:14}),u?g?.creating??"Creating...":g?.createButton??"Create this file"]}),f&&(0,o.jsxs)("button",{onClick:()=>t.push(`/view/${(0,c.O0)(f)}`),className:"flex items-center gap-2 px-4 py-2.5 text-sm font-medium rounded-lg border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:[(0,o.jsx)(a.A,{size:14}),g?.goToParent??"Go to parent folder"]}),(0,o.jsxs)("button",{onClick:()=>t.push("/"),className:"flex items-center gap-2 px-4 py-2.5 text-sm font-medium rounded-lg border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:[(0,o.jsx)(i.A,{size:14}),g?.goHome??"Home"]})]})]})}},43600:(e,t,r)=>{Promise.resolve().then(r.bind(r,35582))},56261:(e,t,r)=>{"use strict";var o=r(59889);r.o(o,"usePathname")&&r.d(t,{usePathname:function(){return o.usePathname}}),r.o(o,"useRouter")&&r.d(t,{useRouter:function(){return o.useRouter}}),r.o(o,"useSearchParams")&&r.d(t,{useSearchParams:function(){return o.useSearchParams}})},58221:(e,t,r)=>{"use strict";r.d(t,{IX:()=>d,KW:()=>i,O0:()=>a,cn:()=>s,vr:()=>l});var o=r(10325),n=r(91498);function s(...e){return(0,n.QP)((0,o.$)(e))}function a(e){return e.split("/").map(encodeURIComponent).join("/")}function i(e,t){let r=Date.now()-e,o=Math.floor(r/6e4),n=Math.floor(r/36e5),s=Math.floor(r/864e5);return o<1?t.justNow:o<60?t.minutesAgo(o):n<24?t.hoursAgo(n):s<7?t.daysAgo(s):new Date(e).toLocaleDateString()}function d(e){let t=e.match(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]+/u);return t?.[0]??""}function l(e){return e.replace(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}\s]+/u,"")||e}},71044:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});let o=(0,r(73015).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},86386:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});let o=(0,r(73015).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"}]])}},e=>{e.O(0,[3940,2073,5018,2330,7358],()=>e(e.s=43600)),_N_E=e.O()}]);
|