@geminilight/mindos 0.6.61 → 0.6.65
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/.antigravity/mcp_config.json +14 -0
- package/_standalone/.mindos-build-version +1 -1
- package/_standalone/.next/BUILD_ID +1 -1
- package/_standalone/.next/app-path-routes-manifest.json +23 -23
- package/_standalone/.next/build-manifest.json +2 -2
- package/_standalone/.next/cache/.previewinfo +1 -1
- package/_standalone/.next/cache/.rscinfo +1 -1
- package/_standalone/.next/cache/config.json +3 -3
- package/_standalone/.next/prerender-manifest.json +3 -3
- package/_standalone/.next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/_global-error.html +2 -2
- package/_standalone/.next/server/app/_global-error.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/_standalone/.next/server/app/_not-found/page.js +1 -1
- package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/agents/[agentKey]/page.js +1 -1
- package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/agents/page.js +1 -1
- package/_standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/detect/route.js +1 -1
- package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/registry/route.js +1 -1
- package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/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_client-reference-manifest.js +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 +53 -47
- package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/backlinks/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/file/import/route.js +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.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.nft.json +1 -1
- package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/init/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/agents/route.js +1 -1
- package/_standalone/.next/server/app/api/mcp/agents/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +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.nft.json +1 -1
- package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/recent-files/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/search/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/list-models/route.js +1 -1
- package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/route.js +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_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/route.js +1 -1
- package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/skills/route.js +1 -1
- package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/changes/page.js +1 -1
- package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/echo/[segment]/page.js +2 -2
- package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/echo/page.js +1 -1
- package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/explore/page.js +1 -1
- package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/help/page.js +1 -1
- 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/inbox/history/page.js +1 -1
- 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 +1 -1
- package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/page.js +1 -1
- package/_standalone/.next/server/app/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/setup/page.js +2 -2
- package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/trash/page.js +3 -3
- package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/view/[...path]/page.js +2 -2
- 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 +1 -1
- 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 +23 -23
- package/_standalone/.next/server/chunks/122.js +222 -0
- package/_standalone/.next/server/chunks/1550.js +1 -1
- package/_standalone/.next/server/chunks/1750.js +1 -1
- package/_standalone/.next/server/chunks/3113.js +52 -0
- package/_standalone/.next/server/chunks/6539.js +1 -1
- package/_standalone/.next/server/chunks/8388.js +3 -3
- package/_standalone/.next/server/chunks/953.js +3 -3
- 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/1001-99da82ec8d8c136f.js +1 -0
- package/_standalone/.next/static/chunks/1088-77544af0a50cb7a4.js +1 -0
- package/_standalone/.next/static/chunks/1467-87dde7eed498806f.js +1 -0
- package/_standalone/.next/static/chunks/5149-4d828886dda479fa.js +1 -0
- package/_standalone/.next/static/chunks/5581-c671163a2fe1b312.js +29 -0
- package/_standalone/.next/static/chunks/{7266-bb7be1128eccd48e.js → 5718-3837c3210a0e175f.js} +2 -2
- package/_standalone/.next/static/chunks/6636-53238eff89503f03.js +6 -0
- package/_standalone/.next/static/chunks/6757-1c1a89720fdda8f0.js +1 -0
- package/_standalone/.next/static/chunks/7129-20e9d2463a9da646.js +1 -0
- package/_standalone/.next/static/chunks/7294-cac25d97869afadc.js +1 -0
- package/_standalone/.next/static/chunks/8225-21e5cebc3731ddf0.js +1 -0
- package/_standalone/.next/static/chunks/8520-b51810e66293ceb8.js +22 -0
- package/_standalone/.next/static/chunks/9207-dc9c31b351a2ed78.js +1 -0
- package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-2f5cf97e03dc1cc9.js +1 -0
- package/_standalone/.next/static/chunks/app/agents/page-50eac58d511dcc6e.js +1 -0
- package/_standalone/.next/static/chunks/app/echo/[segment]/page-2a00f4686adf3885.js +11 -0
- package/_standalone/.next/static/chunks/app/layout-2cb7a6602d2e5d5f.js +168 -0
- package/_standalone/.next/static/chunks/app/{page-6a1f8d21c12b829e.js → page-5ab911b2226f6ff7.js} +1 -1
- package/_standalone/.next/static/chunks/app/setup/page-907b7c57fad2292b.js +1 -0
- package/_standalone/.next/static/chunks/app/trash/page-11a511b065ea84c2.js +1 -0
- package/_standalone/.next/static/chunks/app/view/[...path]/page-26e47dd4c533a58c.js +12 -0
- package/_standalone/.next/static/chunks/app/wiki/page-dce495b9048022fb.js +1 -0
- package/_standalone/.next/static/css/67e7918f5ed7d147.css +1 -0
- package/_standalone/.next/trace +65 -65
- package/_standalone/__tests__/acp/registry.test.ts +30 -20
- package/_standalone/__tests__/api/ask-attachments.test.ts +194 -0
- package/_standalone/__tests__/api/mcp-install.test.ts +49 -2
- package/_standalone/__tests__/api/settings.test.ts +16 -12
- package/_standalone/__tests__/api/setup.test.ts +11 -9
- package/_standalone/__tests__/api/test-key.test.ts +0 -10
- package/_standalone/__tests__/components/UpdateToast.test.ts +344 -0
- package/_standalone/__tests__/core/context.test.ts +48 -426
- package/_standalone/__tests__/lib/pi-skills.test.ts +4 -4
- package/_standalone/__tests__/lib/settings-ai-client.test.ts +32 -12
- package/_standalone/__tests__/setup.ts +5 -5
- package/_standalone/app/globals.css +4 -4
- package/_standalone/components/ActivityBar.tsx +17 -6
- package/_standalone/components/Panel.tsx +24 -6
- package/_standalone/components/SidebarLayout.tsx +36 -8
- package/_standalone/components/agents/AgentsMcpSection.tsx +2 -2
- package/_standalone/components/agents/AgentsOverviewSection.tsx +5 -1
- package/_standalone/components/agents/AgentsPanelA2aTab.tsx +173 -113
- package/_standalone/components/agents/AgentsSkillsSection.tsx +2 -2
- package/_standalone/components/ask/AskContent.tsx +83 -44
- package/_standalone/components/ask/AskHeader.tsx +8 -1
- package/_standalone/components/ask/MessageList.tsx +37 -3
- package/_standalone/components/ask/ProviderModelCapsule.tsx +444 -174
- package/_standalone/components/home/InboxSection.tsx +25 -25
- package/_standalone/components/settings/AiTab.tsx +353 -298
- package/_standalone/components/settings/CustomProviderFields.tsx +121 -0
- package/_standalone/components/settings/CustomProvidersCard.tsx +154 -0
- package/_standalone/components/settings/KnowledgeTab.tsx +6 -20
- package/_standalone/components/settings/McpAgentInstall.tsx +7 -2
- package/_standalone/components/settings/Primitives.tsx +48 -104
- package/_standalone/components/settings/ProviderModal.tsx +87 -0
- package/_standalone/components/settings/SettingsContent.tsx +2 -5
- package/_standalone/components/settings/TestButton.tsx +64 -0
- package/_standalone/components/settings/types.ts +3 -9
- package/_standalone/components/settings/useCustomProviderForm.ts +132 -0
- package/_standalone/components/setup/StepAI.tsx +12 -5
- package/_standalone/components/shared/ModelInput.tsx +220 -0
- package/_standalone/components/shared/ProviderSelect.tsx +126 -36
- package/_standalone/hooks/useAskChat.ts +100 -13
- package/_standalone/hooks/useAskPanel.ts +17 -1
- package/_standalone/lib/settings-ai-client.ts +17 -8
- package/_standalone/tsconfig.tsbuildinfo +1 -1
- package/app/.antigravity/mcp_config.json +14 -0
- package/app/app/api/ask/route.ts +154 -45
- package/app/app/api/mcp/agents/route.ts +3 -3
- package/app/app/api/settings/list-models/route.ts +36 -9
- package/app/app/api/settings/route.ts +14 -42
- package/app/app/api/settings/test-key/route.ts +78 -2
- package/app/app/api/setup/route.ts +36 -18
- package/app/app/api/skills/route.ts +1 -1
- package/app/app/globals.css +4 -4
- package/app/app/layout.tsx +5 -3
- package/app/app/view/[...path]/page.tsx +5 -0
- package/app/components/ActivityBar.tsx +17 -6
- package/app/components/HomeContent.tsx +11 -0
- package/app/components/InboxView.tsx +656 -0
- package/app/components/Panel.tsx +24 -6
- package/app/components/SidebarLayout.tsx +36 -8
- package/app/components/UpdateToast.tsx +255 -0
- package/app/components/agents/AgentDetailContent.tsx +8 -8
- package/app/components/agents/AgentsMcpSection.tsx +2 -2
- package/app/components/agents/AgentsOverviewSection.tsx +5 -1
- package/app/components/agents/AgentsPanelA2aTab.tsx +173 -113
- package/app/components/agents/AgentsSkillsSection.tsx +2 -2
- package/app/components/ask/AskContent.tsx +83 -44
- package/app/components/ask/AskHeader.tsx +8 -1
- package/app/components/ask/MessageList.tsx +37 -3
- package/app/components/ask/ProviderModelCapsule.tsx +444 -174
- package/app/components/home/InboxSection.tsx +25 -25
- package/app/components/settings/AiTab.tsx +353 -298
- package/app/components/settings/CustomProviderFields.tsx +121 -0
- package/app/components/settings/CustomProvidersCard.tsx +154 -0
- package/app/components/settings/KnowledgeTab.tsx +6 -20
- package/app/components/settings/McpAgentInstall.tsx +7 -2
- package/app/components/settings/Primitives.tsx +48 -104
- package/app/components/settings/ProviderModal.tsx +87 -0
- package/app/components/settings/SettingsContent.tsx +2 -5
- package/app/components/settings/TestButton.tsx +64 -0
- package/app/components/settings/types.ts +3 -9
- package/app/components/settings/useCustomProviderForm.ts +132 -0
- package/app/components/setup/StepAI.tsx +12 -5
- package/app/components/shared/ModelInput.tsx +220 -0
- package/app/components/shared/ProviderSelect.tsx +126 -36
- package/app/hooks/useAskChat.ts +100 -13
- package/app/hooks/useAskPanel.ts +17 -1
- package/app/lib/acp/registry.ts +92 -10
- package/app/lib/agent/context.ts +65 -0
- package/app/lib/agent/providers.ts +25 -0
- package/app/lib/agent/tools.ts +1 -1
- package/app/lib/custom-endpoints.ts +160 -0
- package/app/lib/fs.ts +8 -1
- package/app/lib/i18n/modules/ai-chat.ts +6 -0
- package/app/lib/i18n/modules/knowledge.ts +16 -0
- package/app/lib/i18n/modules/onboarding.ts +4 -0
- package/app/lib/i18n/modules/settings.ts +88 -2
- package/app/lib/mcp-agents.ts +11 -0
- package/app/lib/pi-integration/skills.ts +16 -4
- package/app/lib/settings-ai-client.ts +17 -8
- package/app/lib/settings.ts +68 -72
- package/app/lib/types.ts +4 -0
- package/bin/lib/mcp-agents.js +11 -0
- package/bin/lib/mcp-install.js +71 -7
- package/package.json +1 -1
- package/_standalone/.next/server/chunks/530.js +0 -218
- package/_standalone/.next/server/chunks/8955.js +0 -52
- package/_standalone/.next/static/chunks/1369-7d0ac5d1564eed1e.js +0 -1
- package/_standalone/.next/static/chunks/3427-2e61a5df1f5e55fb.js +0 -1
- package/_standalone/.next/static/chunks/5581-0c700c20718bd916.js +0 -29
- package/_standalone/.next/static/chunks/6297-085daa21037d5f81.js +0 -1
- package/_standalone/.next/static/chunks/6636-9bbc90fb3b8731fe.js +0 -6
- package/_standalone/.next/static/chunks/7637-904b0a381dc3ec02.js +0 -1
- package/_standalone/.next/static/chunks/8520-76d1b05072178b43.js +0 -22
- package/_standalone/.next/static/chunks/8658-16ff58b75ae37fbb.js +0 -1
- package/_standalone/.next/static/chunks/9905-a19d379cb225246e.js +0 -1
- package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-0ea3571c8fbae823.js +0 -1
- package/_standalone/.next/static/chunks/app/agents/page-66858acbcd1d4bf8.js +0 -1
- package/_standalone/.next/static/chunks/app/echo/[segment]/page-bf5c290fa3ccff09.js +0 -11
- package/_standalone/.next/static/chunks/app/layout-a5d5925b47e87cc3.js +0 -164
- package/_standalone/.next/static/chunks/app/setup/page-821714e7477be46c.js +0 -1
- package/_standalone/.next/static/chunks/app/trash/page-40bc7316806acd62.js +0 -1
- package/_standalone/.next/static/chunks/app/view/[...path]/page-6fbb14b8f322d0f0.js +0 -12
- package/_standalone/.next/static/chunks/app/wiki/page-ba36eccf4fe62cfe.js +0 -1
- package/_standalone/.next/static/css/b57c4eb3cc88308b.css +0 -1
- package/_standalone/lib/agent/context.ts +0 -403
- /package/_standalone/.next/static/{5GmVArEG8OX03azKICsGq → eIlwbGas1iRGonlPyEwj7}/_buildManifest.js +0 -0
- /package/_standalone/.next/static/{5GmVArEG8OX03azKICsGq → eIlwbGas1iRGonlPyEwj7}/_ssgManifest.js +0 -0
|
@@ -6,6 +6,7 @@ import { readSettings, writeSettings, ServerSettings } from '@/lib/settings';
|
|
|
6
6
|
import { applyTemplate } from '@/lib/template';
|
|
7
7
|
import { expandSetupPathHome } from './path-utils';
|
|
8
8
|
import { type ProviderId, isProviderId, PROVIDER_PRESETS } from '@/lib/agent/providers';
|
|
9
|
+
import { type Provider, generateProviderId, findProvider } from '@/lib/custom-endpoints';
|
|
9
10
|
|
|
10
11
|
function maskApiKey(key: string): string {
|
|
11
12
|
if (!key || key.length < 6) return key ? '***' : '';
|
|
@@ -20,15 +21,14 @@ export async function GET() {
|
|
|
20
21
|
const defaultMindRoot = s.mindRoot || [home, 'MindOS', 'mind'].join(sep);
|
|
21
22
|
|
|
22
23
|
// Build providerConfigs for frontend (masked keys)
|
|
23
|
-
const providerConfigs
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
24
|
+
const providerConfigs = s.ai.providers.map(p => ({
|
|
25
|
+
id: p.id,
|
|
26
|
+
name: p.name,
|
|
27
|
+
protocol: p.protocol,
|
|
28
|
+
model: p.model,
|
|
29
|
+
baseUrl: p.baseUrl,
|
|
30
|
+
apiKeyMask: maskApiKey(p.apiKey),
|
|
31
|
+
}));
|
|
32
32
|
|
|
33
33
|
return NextResponse.json({
|
|
34
34
|
mindRoot: defaultMindRoot,
|
|
@@ -38,7 +38,7 @@ export async function GET() {
|
|
|
38
38
|
mcpPort: s.mcpPort ?? 8781,
|
|
39
39
|
authToken: s.authToken ?? '',
|
|
40
40
|
webPassword: s.webPassword ?? '',
|
|
41
|
-
|
|
41
|
+
activeProvider: s.ai.activeProvider,
|
|
42
42
|
providerConfigs,
|
|
43
43
|
guideState: s.guideState ?? null,
|
|
44
44
|
});
|
|
@@ -104,23 +104,41 @@ export async function POST(req: NextRequest) {
|
|
|
104
104
|
// configured key with blank just because the user didn't re-enter it.
|
|
105
105
|
let mergedAi = current.ai;
|
|
106
106
|
if (ai) {
|
|
107
|
-
const
|
|
108
|
-
const mergedProviders = { ...current.ai.providers };
|
|
107
|
+
const mergedProviders = [...current.ai.providers];
|
|
109
108
|
|
|
110
109
|
// Merge each provider's config from the incoming payload
|
|
111
110
|
if (ai.providers && typeof ai.providers === 'object') {
|
|
112
111
|
for (const [id, inCfg] of Object.entries(ai.providers as Record<string, any>)) {
|
|
113
112
|
if (!isProviderId(id) || !inCfg) continue;
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
113
|
+
const preset = PROVIDER_PRESETS[id];
|
|
114
|
+
const existingIdx = mergedProviders.findIndex(p => p.protocol === id);
|
|
115
|
+
const existing = existingIdx >= 0 ? mergedProviders[existingIdx] : null;
|
|
116
|
+
|
|
117
|
+
const merged: Provider = {
|
|
118
|
+
id: existing?.id ?? generateProviderId(),
|
|
119
|
+
name: existing?.name ?? preset?.name ?? id,
|
|
120
|
+
protocol: id,
|
|
121
|
+
apiKey: inCfg.apiKey || existing?.apiKey || '',
|
|
122
|
+
model: inCfg.model || existing?.model || preset?.defaultModel || '',
|
|
123
|
+
baseUrl: inCfg.baseUrl !== undefined ? (inCfg.baseUrl || '') : (existing?.baseUrl ?? ''),
|
|
119
124
|
};
|
|
125
|
+
|
|
126
|
+
if (existingIdx >= 0) {
|
|
127
|
+
mergedProviders[existingIdx] = merged;
|
|
128
|
+
} else {
|
|
129
|
+
mergedProviders.push(merged);
|
|
130
|
+
}
|
|
120
131
|
}
|
|
121
132
|
}
|
|
122
133
|
|
|
123
|
-
|
|
134
|
+
// Determine active provider
|
|
135
|
+
let newActiveProvider = current.ai.activeProvider;
|
|
136
|
+
if (ai.provider && isProviderId(ai.provider)) {
|
|
137
|
+
const match = mergedProviders.find(p => p.protocol === ai.provider);
|
|
138
|
+
if (match) newActiveProvider = match.id;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
mergedAi = { activeProvider: newActiveProvider, providers: mergedProviders };
|
|
124
142
|
}
|
|
125
143
|
|
|
126
144
|
const disabledSkills = body.template === 'zh' ? ['mindos'] : ['mindos-zh'];
|
|
@@ -17,7 +17,7 @@ export async function GET() {
|
|
|
17
17
|
try {
|
|
18
18
|
const settings = readSettings();
|
|
19
19
|
const disabledSkills = settings.disabledSkills ?? [];
|
|
20
|
-
const skills = scanSkillDirs({
|
|
20
|
+
const skills = await scanSkillDirs({
|
|
21
21
|
projectRoot: PROJECT_ROOT,
|
|
22
22
|
mindRoot: getMindRoot(),
|
|
23
23
|
disabledSkills,
|
package/app/app/globals.css
CHANGED
|
@@ -70,7 +70,7 @@ body {
|
|
|
70
70
|
--muted-foreground: #685f52;
|
|
71
71
|
--accent: #d9d3c6;
|
|
72
72
|
--accent-foreground: #1c1a17;
|
|
73
|
-
--destructive:
|
|
73
|
+
--destructive: #b33b3b;
|
|
74
74
|
--destructive-foreground: #ffffff;
|
|
75
75
|
--border: rgba(28, 26, 23, 0.1);
|
|
76
76
|
--input: rgba(28, 26, 23, 0.12);
|
|
@@ -108,7 +108,7 @@ body {
|
|
|
108
108
|
--muted-foreground: #8a8275;
|
|
109
109
|
--accent: #2e2b22;
|
|
110
110
|
--accent-foreground: #e8e4dc;
|
|
111
|
-
--destructive:
|
|
111
|
+
--destructive: #b33636;
|
|
112
112
|
--destructive-foreground: #ffffff;
|
|
113
113
|
--border: rgba(232, 228, 220, 0.08);
|
|
114
114
|
--input: rgba(232, 228, 220, 0.1);
|
|
@@ -320,8 +320,8 @@ body {
|
|
|
320
320
|
|
|
321
321
|
.modal-backdrop {
|
|
322
322
|
background: rgba(10, 9, 6, 0.72);
|
|
323
|
-
backdrop-filter: blur(8px);
|
|
324
323
|
-webkit-backdrop-filter: blur(8px);
|
|
324
|
+
backdrop-filter: blur(8px);
|
|
325
325
|
}
|
|
326
326
|
.dark .modal-backdrop {
|
|
327
327
|
background: rgba(0, 0, 0, 0.65);
|
|
@@ -329,8 +329,8 @@ body {
|
|
|
329
329
|
|
|
330
330
|
.overlay-backdrop {
|
|
331
331
|
background: rgba(10, 9, 6, 0.35);
|
|
332
|
-
backdrop-filter: blur(2px);
|
|
333
332
|
-webkit-backdrop-filter: blur(2px);
|
|
333
|
+
backdrop-filter: blur(2px);
|
|
334
334
|
}
|
|
335
335
|
.dark .overlay-backdrop {
|
|
336
336
|
background: rgba(0, 0, 0, 0.4);
|
package/app/app/layout.tsx
CHANGED
|
@@ -9,6 +9,7 @@ import ErrorBoundary from '@/components/ErrorBoundary';
|
|
|
9
9
|
import Toaster from '@/components/ui/Toaster';
|
|
10
10
|
import RegisterSW from './register-sw';
|
|
11
11
|
import UpdateOverlay from '@/components/UpdateOverlay';
|
|
12
|
+
import UpdateToast from '@/components/UpdateToast';
|
|
12
13
|
import { cookies, headers } from 'next/headers';
|
|
13
14
|
import type { Locale } from '@/lib/i18n';
|
|
14
15
|
import '@/lib/renderers/index'; // globally register built-in renderers once
|
|
@@ -120,9 +121,10 @@ export default async function RootLayout({
|
|
|
120
121
|
</ShellLayout>
|
|
121
122
|
</ErrorBoundary>
|
|
122
123
|
</TooltipProvider>
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
124
|
+
<Toaster />
|
|
125
|
+
<RegisterSW />
|
|
126
|
+
<UpdateOverlay />
|
|
127
|
+
<UpdateToast />
|
|
126
128
|
</body>
|
|
127
129
|
</html>
|
|
128
130
|
);
|
|
@@ -5,7 +5,9 @@ import { resolveSafe } from '@/lib/core/security';
|
|
|
5
5
|
import type { FileNode } from '@/lib/types';
|
|
6
6
|
import ViewPageClient from './ViewPageClient';
|
|
7
7
|
import DirView from '@/components/DirView';
|
|
8
|
+
import InboxView from '@/components/InboxView';
|
|
8
9
|
import Papa from 'papaparse';
|
|
10
|
+
import { INBOX_DIR } from '@/lib/core/inbox';
|
|
9
11
|
|
|
10
12
|
/** Extensions handled as binary (not read as UTF-8 text) */
|
|
11
13
|
const BINARY_EXTENSIONS = new Set([
|
|
@@ -35,6 +37,9 @@ export default async function ViewPage({ params }: PageProps) {
|
|
|
35
37
|
const filePath = segments.map(decodeURIComponent).join('/');
|
|
36
38
|
|
|
37
39
|
if (isDirectory(filePath)) {
|
|
40
|
+
if (filePath === INBOX_DIR) {
|
|
41
|
+
return <InboxView />;
|
|
42
|
+
}
|
|
38
43
|
const entries = getDirEntries(filePath);
|
|
39
44
|
const spacePreview = getSpacePreview(filePath);
|
|
40
45
|
return <DirView dirPath={filePath} entries={entries} spacePreview={spacePreview} />;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { useRef, useCallback, useState, useEffect } from 'react';
|
|
4
|
-
import
|
|
4
|
+
import { usePathname, useRouter } from 'next/navigation';
|
|
5
5
|
import { FolderTree, Search, Settings, RefreshCw, Bot, Compass, ChevronLeft, ChevronRight, Radio, Zap } from 'lucide-react';
|
|
6
6
|
import { useLocale } from '@/lib/stores/locale-store';
|
|
7
7
|
import { DOT_COLORS, getStatusLevel } from './SyncStatusBar';
|
|
@@ -94,6 +94,9 @@ export default function ActivityBar({
|
|
|
94
94
|
const lastClickRef = useRef(0);
|
|
95
95
|
const syncBtnRef = useRef<HTMLButtonElement>(null);
|
|
96
96
|
const { t } = useLocale();
|
|
97
|
+
const pathname = usePathname();
|
|
98
|
+
const router = useRouter();
|
|
99
|
+
const isHome = pathname === '/';
|
|
97
100
|
|
|
98
101
|
// Update badge: Desktop → electron-updater IPC; Browser → npm registry check
|
|
99
102
|
const [hasUpdate, setHasUpdate] = useState(false);
|
|
@@ -193,20 +196,28 @@ export default function ActivityBar({
|
|
|
193
196
|
{/* Content wrapper — overflow-hidden prevents text flash during width transitions */}
|
|
194
197
|
<div className="flex flex-col h-full w-full overflow-hidden">
|
|
195
198
|
{/* ── Top: Logo — h-[45px] aligns divider with PanelHeader h-[46px] border-b (both at y=45) ── */}
|
|
196
|
-
<
|
|
197
|
-
|
|
198
|
-
|
|
199
|
+
<button
|
|
200
|
+
type="button"
|
|
201
|
+
onClick={() => {
|
|
202
|
+
if (isHome) {
|
|
203
|
+
onPanelChange(activePanel === 'files' ? null : 'files');
|
|
204
|
+
} else {
|
|
205
|
+
onPanelChange('files');
|
|
206
|
+
router.push('/');
|
|
207
|
+
}
|
|
208
|
+
}}
|
|
209
|
+
className={`flex items-center ${expanded ? 'px-3 gap-2' : 'justify-center'} w-full h-[45px] shrink-0 transition-opacity cursor-pointer ${isHome ? 'opacity-100' : 'opacity-50 hover:opacity-80'}`}
|
|
199
210
|
aria-label="MindOS Home"
|
|
200
211
|
>
|
|
201
212
|
<Logo id="rail" className="w-7 h-3.5 shrink-0" />
|
|
202
213
|
{expanded && <span className="text-sm text-foreground font-brand whitespace-nowrap">MindOS</span>}
|
|
203
|
-
</
|
|
214
|
+
</button>
|
|
204
215
|
|
|
205
216
|
<div className={`${expanded ? 'mx-3' : 'mx-2'} border-t border-border`} />
|
|
206
217
|
|
|
207
218
|
{/* ── Middle: Core panel toggles ── */}
|
|
208
219
|
<div className={`flex flex-col ${expanded ? 'px-1.5' : 'items-center'} gap-1 py-2`}>
|
|
209
|
-
<RailButton icon={<FolderTree size={18} />} label={t.sidebar.files} active={activePanel === 'files'} expanded={expanded} onClick={() => onSpacesClick ? debounced(onSpacesClick) : toggle('files')} walkthroughId="files-panel" />
|
|
220
|
+
<RailButton icon={<FolderTree size={18} />} label={t.sidebar.files} active={!isHome && activePanel === 'files'} expanded={expanded} onClick={() => onSpacesClick ? debounced(onSpacesClick) : toggle('files')} walkthroughId="files-panel" />
|
|
210
221
|
{labsEcho && <RailButton icon={<Radio size={18} />} label={t.sidebar.echo} active={activePanel === 'echo'} expanded={expanded} onClick={() => onEchoClick ? debounced(onEchoClick) : toggle('echo')} walkthroughId="echo-panel" />}
|
|
211
222
|
<RailButton icon={<Search size={18} />} label={t.sidebar.searchTitle} shortcut="⌘K" active={activePanel === 'search'} expanded={expanded} onClick={() => toggle('search')} />
|
|
212
223
|
<RailButton
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { useState, useCallback } from 'react';
|
|
4
|
+
import { useRouter } from 'next/navigation';
|
|
4
5
|
import { useLocale } from '@/lib/stores/locale-store';
|
|
5
6
|
import { FolderSync, PenLine, BarChart3, Sparkles, ArrowUpRight } from 'lucide-react';
|
|
6
7
|
import OnboardingView from './OnboardingView';
|
|
@@ -22,6 +23,7 @@ const TAB_ICONS = [FolderSync, PenLine, BarChart3, Sparkles];
|
|
|
22
23
|
|
|
23
24
|
export default function HomeContent({ recent, existingFiles, spaces }: { recent: RecentFile[]; existingFiles?: string[]; spaces?: SpaceInfo[] }) {
|
|
24
25
|
const { t } = useLocale();
|
|
26
|
+
const router = useRouter();
|
|
25
27
|
const [activeTab, setActiveTab] = useState(0);
|
|
26
28
|
const [maximized, setMaximized] = useState(false);
|
|
27
29
|
|
|
@@ -32,6 +34,14 @@ export default function HomeContent({ recent, existingFiles, spaces }: { recent:
|
|
|
32
34
|
setMaximized(true);
|
|
33
35
|
}, []);
|
|
34
36
|
|
|
37
|
+
// Navigate to editor with right-side Ask panel open
|
|
38
|
+
const handleDockToPanel = useCallback(() => {
|
|
39
|
+
const target = recent.length > 0 ? `/view/${recent[0].path}` : '/';
|
|
40
|
+
// Signal the already-mounted SidebarLayout to open the Ask panel
|
|
41
|
+
window.dispatchEvent(new CustomEvent('mindos:open-ask-panel'));
|
|
42
|
+
router.push(target);
|
|
43
|
+
}, [recent, router]);
|
|
44
|
+
|
|
35
45
|
if (recent.length === 0) {
|
|
36
46
|
return <OnboardingView />;
|
|
37
47
|
}
|
|
@@ -98,6 +108,7 @@ export default function HomeContent({ recent, existingFiles, spaces }: { recent:
|
|
|
98
108
|
maximized={maximized}
|
|
99
109
|
onMaximize={toggleMaximize}
|
|
100
110
|
onFirstMessage={handleFirstMessage}
|
|
111
|
+
onDockToPanel={handleDockToPanel}
|
|
101
112
|
/>
|
|
102
113
|
</div>
|
|
103
114
|
</div>
|