@geminilight/mindos-windows-arm64 1.0.9 → 1.0.10
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 +22 -22
- package/_standalone/__next/build-manifest.json +3 -3
- package/_standalone/__next/prerender-manifest.json +3 -3
- package/_standalone/__next/react-loadable-manifest.json +13 -7
- 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_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/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 +4 -4
- 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_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/bootstrap/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/connect/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/embedding/route_client-reference-manifest.js +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_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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/files/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/git/route_client-reference-manifest.js +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/im/activity/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/init/route_client-reference-manifest.js +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_client-reference-manifest.js +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_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/tools/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_client-reference-manifest.js +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_client-reference-manifest.js +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_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/prewarm/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/setup/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/api/space-overview/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_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_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/capture/history/page.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/_standalone/__next/server/app/changes/page.js.nft.json +1 -1
- package/_standalone/__next/server/app/changes/page_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/echo/[segment]/page.js +1 -1
- package/_standalone/__next/server/app/echo/[segment]/page.js.nft.json +1 -1
- package/_standalone/__next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/echo/page.js +1 -1
- package/_standalone/__next/server/app/echo/page.js.nft.json +1 -1
- package/_standalone/__next/server/app/echo/page_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/explore/page.js +1 -1
- package/_standalone/__next/server/app/explore/page.js.nft.json +1 -1
- package/_standalone/__next/server/app/explore/page_client-reference-manifest.js +1 -1
- package/_standalone/__next/server/app/help/page.js +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/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 +1 -1
- 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 +1 -1
- 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_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 +22 -22
- package/_standalone/__next/server/chunks/1976.js +1 -1
- package/_standalone/__next/server/chunks/{1855.js → 5768.js} +3 -3
- package/_standalone/__next/server/chunks/6279.js +1 -0
- package/_standalone/__next/server/chunks/6602.js +39 -39
- package/_standalone/__next/server/chunks/8461.js +1 -1
- 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/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/{static-web/_next/static/chunks/525-b830b69e910a03f2.js → _standalone/__next/static/chunks/1023-3a5a295bdb8f036e.js} +1 -1
- package/_standalone/__next/static/chunks/1469-a47a8fdf907854b7.js +1 -0
- package/_standalone/__next/static/chunks/1471.26592788eb019d91.js +1 -0
- package/_standalone/__next/static/chunks/{2073-758ad3659b9d2cfc.js → 2073-85e9695b8754ccd4.js} +4 -4
- package/_standalone/__next/static/chunks/2571-f83b7e0b3f478222.js +1 -0
- package/_standalone/__next/static/chunks/2762-e6982806b63ccb64.js +1 -0
- package/_standalone/__next/static/chunks/3045-a957e615254f5059.js +20 -0
- package/_standalone/__next/static/chunks/3288-8f2809685fe349a8.js +1 -0
- package/_standalone/__next/static/chunks/3819-665b50f4dc3af9e2.js +1 -0
- package/_standalone/__next/static/chunks/{9479-ebd5043c9039f447.js → 3995-efb3b8f34f1a5a8f.js} +8 -15
- package/_standalone/__next/static/chunks/4304-ee72ac41d1513389.js +8 -0
- package/{static-web/_next/static/chunks/8629.de25b1f455fe4ffa.js → _standalone/__next/static/chunks/5098.096f96bd198d864c.js} +1 -1
- package/{static-web/_next/static/chunks/5913.b07379f3c130378c.js → _standalone/__next/static/chunks/5913.0aa553b16c2b0302.js} +1 -1
- package/{static-web/_next/static/chunks/3819.42b0ef6a61a01d67.js → _standalone/__next/static/chunks/6200.3f2d00ee8c2e9f9e.js} +1 -1
- package/_standalone/__next/static/chunks/6274-f173cb227ad1ef21.js +1 -0
- package/_standalone/__next/static/chunks/7904-fadcd92068780b59.js +16 -0
- package/_standalone/__next/static/chunks/8132-466a3fea8940c114.js +1 -0
- package/_standalone/__next/static/chunks/8924-685d2215bfd7204e.js +14 -0
- package/_standalone/__next/static/chunks/9202-9a33f968862439f5.js +1 -0
- package/_standalone/__next/static/chunks/{9602.218427fc7b3d6b11.js → 9602.cbfa1195944c2e3d.js} +1 -1
- package/_standalone/__next/static/chunks/{9947.81409c5539cd781d.js → 9947.99304c5fc22b4fbe.js} +1 -1
- package/_standalone/__next/static/chunks/app/agents/[agentKey]/{page-ef111ea0a3368752.js → page-89e05039dfc56a33.js} +1 -1
- package/_standalone/__next/static/chunks/app/agents/{page-aacead0f47cedb0d.js → page-9f4d0c5a3ec17720.js} +1 -1
- package/_standalone/__next/static/chunks/app/capture/page-86fc5eabdb1f3f87.js +14 -0
- package/{static-web/_next/static/chunks/app/echo/[segment]/page-c5ea40ac04f2dc29.js → _standalone/__next/static/chunks/app/echo/[segment]/page-f0e6a66b3c9d60c0.js} +1 -1
- package/{static-web/_next/static/chunks/app/layout-859f69bfc1960d30.js → _standalone/__next/static/chunks/app/layout-1c84d9542b3d194e.js} +15 -15
- package/_standalone/__next/static/chunks/app/page-408daa74e14f5f27.js +1 -0
- package/_standalone/__next/static/chunks/app/settings/page-5eeea2c7c6dbf1d8.js +1 -0
- package/_standalone/__next/static/chunks/app/trash/page-31dba65333b30cc6.js +1 -0
- package/_standalone/__next/static/chunks/app/view/[...path]/page-5e9f49ab1b3bc3b2.js +12 -0
- package/_standalone/__next/static/chunks/app/wiki/page-d727a6cfe99e38a6.js +14 -0
- package/_standalone/__next/static/chunks/webpack-7fb8bc60a549efe2.js +1 -0
- package/_standalone/__next/static/css/67a9446950c3630b.css +1 -0
- package/assets/images/wechat-qr.png +0 -0
- package/dist/session/index.d.ts +1 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +1 -0
- package/dist/session/index.js.map +1 -1
- package/package.json +1 -1
- package/runtime-manifest.json +1 -1
- package/static-web/.mindos-build-version +1 -1
- package/{_standalone/__next/static/chunks/525-b830b69e910a03f2.js → static-web/_next/static/chunks/1023-3a5a295bdb8f036e.js} +1 -1
- package/static-web/_next/static/chunks/1469-a47a8fdf907854b7.js +1 -0
- package/static-web/_next/static/chunks/1471.26592788eb019d91.js +1 -0
- package/static-web/_next/static/chunks/{2073-758ad3659b9d2cfc.js → 2073-85e9695b8754ccd4.js} +4 -4
- package/static-web/_next/static/chunks/2571-f83b7e0b3f478222.js +1 -0
- package/static-web/_next/static/chunks/2762-e6982806b63ccb64.js +1 -0
- package/static-web/_next/static/chunks/3045-a957e615254f5059.js +20 -0
- package/static-web/_next/static/chunks/3288-8f2809685fe349a8.js +1 -0
- package/static-web/_next/static/chunks/3819-665b50f4dc3af9e2.js +1 -0
- package/static-web/_next/static/chunks/{9479-ebd5043c9039f447.js → 3995-efb3b8f34f1a5a8f.js} +8 -15
- package/static-web/_next/static/chunks/4304-ee72ac41d1513389.js +8 -0
- package/{_standalone/__next/static/chunks/8629.de25b1f455fe4ffa.js → static-web/_next/static/chunks/5098.096f96bd198d864c.js} +1 -1
- package/{_standalone/__next/static/chunks/5913.b07379f3c130378c.js → static-web/_next/static/chunks/5913.0aa553b16c2b0302.js} +1 -1
- package/{_standalone/__next/static/chunks/3819.42b0ef6a61a01d67.js → static-web/_next/static/chunks/6200.3f2d00ee8c2e9f9e.js} +1 -1
- package/static-web/_next/static/chunks/6274-f173cb227ad1ef21.js +1 -0
- package/static-web/_next/static/chunks/7904-fadcd92068780b59.js +16 -0
- package/static-web/_next/static/chunks/8132-466a3fea8940c114.js +1 -0
- package/static-web/_next/static/chunks/8924-685d2215bfd7204e.js +14 -0
- package/static-web/_next/static/chunks/9202-9a33f968862439f5.js +1 -0
- package/static-web/_next/static/chunks/{9602.218427fc7b3d6b11.js → 9602.cbfa1195944c2e3d.js} +1 -1
- package/static-web/_next/static/chunks/{9947.81409c5539cd781d.js → 9947.99304c5fc22b4fbe.js} +1 -1
- package/static-web/_next/static/chunks/app/agents/[agentKey]/{page-ef111ea0a3368752.js → page-89e05039dfc56a33.js} +1 -1
- package/static-web/_next/static/chunks/app/agents/{page-aacead0f47cedb0d.js → page-9f4d0c5a3ec17720.js} +1 -1
- package/static-web/_next/static/chunks/app/capture/page-86fc5eabdb1f3f87.js +14 -0
- package/{_standalone/__next/static/chunks/app/echo/[segment]/page-c5ea40ac04f2dc29.js → static-web/_next/static/chunks/app/echo/[segment]/page-f0e6a66b3c9d60c0.js} +1 -1
- package/{_standalone/__next/static/chunks/app/layout-859f69bfc1960d30.js → static-web/_next/static/chunks/app/layout-1c84d9542b3d194e.js} +15 -15
- package/static-web/_next/static/chunks/app/page-408daa74e14f5f27.js +1 -0
- package/static-web/_next/static/chunks/app/settings/page-5eeea2c7c6dbf1d8.js +1 -0
- package/static-web/_next/static/chunks/app/trash/page-31dba65333b30cc6.js +1 -0
- package/static-web/_next/static/chunks/app/view/[...path]/page-5e9f49ab1b3bc3b2.js +12 -0
- package/static-web/_next/static/chunks/app/wiki/page-d727a6cfe99e38a6.js +14 -0
- package/static-web/_next/static/chunks/webpack-7fb8bc60a549efe2.js +1 -0
- package/static-web/_next/static/css/67a9446950c3630b.css +1 -0
- package/static-web/help/index.html +6 -6
- package/static-web/index.html +6 -6
- package/static-web/setup/index.html +6 -6
- package/static-web/static-web-manifest.json +1 -1
- package/static-web/wiki/index.html +8 -8
- package/_standalone/__next/server/chunks/6343.js +0 -1
- package/_standalone/__next/static/chunks/1104-0822d9349a412b9b.js +0 -16
- package/_standalone/__next/static/chunks/1495-4e4ece56ffa8d568.js +0 -1
- package/_standalone/__next/static/chunks/2409-244f9b90dceb0c04.js +0 -1
- package/_standalone/__next/static/chunks/308-25a235e97ee9bfd4.js +0 -14
- package/_standalone/__next/static/chunks/3181-8c6aaeedf700984c.js +0 -33
- package/_standalone/__next/static/chunks/3279-b49c25a4f2964b16.js +0 -1
- package/_standalone/__next/static/chunks/5026-7fed7ca22272c18f.js +0 -1
- package/_standalone/__next/static/chunks/5881-f2bcf9869b07f268.js +0 -1
- package/_standalone/__next/static/chunks/7083-00c0b48d2a6b06dd.js +0 -1
- package/_standalone/__next/static/chunks/app/capture/page-7f9e43ada77e7ad4.js +0 -1
- package/_standalone/__next/static/chunks/app/page-98737d491e89d3e1.js +0 -1
- package/_standalone/__next/static/chunks/app/settings/page-36ffdd1a8cc7eb2b.js +0 -1
- package/_standalone/__next/static/chunks/app/trash/page-417d4e6dc8cd8d9b.js +0 -1
- package/_standalone/__next/static/chunks/app/view/[...path]/page-3b0976dc13f3c49a.js +0 -12
- package/_standalone/__next/static/chunks/app/wiki/page-53dfa7d9fd1a0080.js +0 -14
- package/_standalone/__next/static/chunks/webpack-e80a45ffc99584ae.js +0 -1
- package/_standalone/__next/static/css/db8559f3a861a510.css +0 -1
- package/static-web/_next/static/chunks/1104-0822d9349a412b9b.js +0 -16
- package/static-web/_next/static/chunks/1495-4e4ece56ffa8d568.js +0 -1
- package/static-web/_next/static/chunks/2409-244f9b90dceb0c04.js +0 -1
- package/static-web/_next/static/chunks/308-25a235e97ee9bfd4.js +0 -14
- package/static-web/_next/static/chunks/3181-8c6aaeedf700984c.js +0 -33
- package/static-web/_next/static/chunks/3279-b49c25a4f2964b16.js +0 -1
- package/static-web/_next/static/chunks/5026-7fed7ca22272c18f.js +0 -1
- package/static-web/_next/static/chunks/5881-f2bcf9869b07f268.js +0 -1
- package/static-web/_next/static/chunks/7083-00c0b48d2a6b06dd.js +0 -1
- package/static-web/_next/static/chunks/app/capture/page-7f9e43ada77e7ad4.js +0 -1
- package/static-web/_next/static/chunks/app/page-98737d491e89d3e1.js +0 -1
- package/static-web/_next/static/chunks/app/settings/page-36ffdd1a8cc7eb2b.js +0 -1
- package/static-web/_next/static/chunks/app/trash/page-417d4e6dc8cd8d9b.js +0 -1
- package/static-web/_next/static/chunks/app/view/[...path]/page-3b0976dc13f3c49a.js +0 -12
- package/static-web/_next/static/chunks/app/wiki/page-53dfa7d9fd1a0080.js +0 -14
- package/static-web/_next/static/chunks/webpack-e80a45ffc99584ae.js +0 -1
- package/static-web/_next/static/css/db8559f3a861a510.css +0 -1
- /package/_standalone/__next/static/{nrLECSDKmE4psF72Jmkoa → QRVhXGG4IotxFfmor1t55}/_buildManifest.js +0 -0
- /package/_standalone/__next/static/{nrLECSDKmE4psF72Jmkoa → QRVhXGG4IotxFfmor1t55}/_ssgManifest.js +0 -0
- /package/static-web/_next/static/{nrLECSDKmE4psF72Jmkoa → QRVhXGG4IotxFfmor1t55}/_buildManifest.js +0 -0
- /package/static-web/_next/static/{nrLECSDKmE4psF72Jmkoa → QRVhXGG4IotxFfmor1t55}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[525],{70525:(e,t,s)=>{s.d(t,{default:()=>tT});var r=s(66839),a=s(44223),n=s(19378),l=s(95333),o=s(96733),i=s(77932),d=s(82296),c=s(67885),m=s(71481),u=s(31606),x=s(21082),p=s(44361),g=s(52212),h=s(38688),b=s(72799),f=s(97786),v=s(56261),j=s(2073),y=s(65264),N=s(4373),k=s(78610),w=s(38325),S=s(76723),C=s(31082),A=s(40517),z=s(79455),T=s(69527),E=s(69604),P=s(74342),R=s(48892),I=s(87756);function $(e,t=[],s,r){let a=E.T_[e],n="zh"===r?a.nameZh:a.name,l=new Set(t.filter(e=>e&&e!==s).map(e=>e.trim().toLowerCase()));if(!l.has(n.trim().toLowerCase()))return n;let o=2;for(;l.has(`${n} ${o}`.toLowerCase());)o++;return`${n} ${o}`}function M({form:e,t,locale:s,layout:a="full"}){let n=E.T_[e.protocol],l="zh"===s?"名称":"Name",o="zh"===s?"协议":"Protocol",i="zh"===s?"可选,默认使用协议名称":"Optional, defaults to protocol name",d=e.isDuplicateName?"zh"===s?"名称已存在":"Name already exists":void 0;return(0,r.jsxs)("div",{className:"space-y-3",children:["compact"===a?(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,r.jsx)(T.D0,{label:l,hint:d,hintError:e.isDuplicateName,children:(0,r.jsx)(T.pd,{value:e.name,onChange:t=>e.setName(t.target.value),placeholder:i,autoFocus:!0})}),(0,r.jsx)(T.D0,{label:o,children:(0,r.jsx)(T.l6,{value:e.protocol,onChange:t=>e.setProtocol(t.target.value),children:E.jt.map(e=>(0,r.jsx)("option",{value:e,children:"zh"===s?E.T_[e].nameZh:E.T_[e].name},e))})})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(T.D0,{label:l,hint:d,hintError:e.isDuplicateName,children:(0,r.jsx)(T.pd,{value:e.name,onChange:t=>e.setName(t.target.value),placeholder:i})}),(0,r.jsx)(T.D0,{label:o,children:(0,r.jsx)(T.l6,{value:e.protocol,onChange:t=>e.setProtocol(t.target.value),children:E.jt.map(e=>(0,r.jsx)("option",{value:e,children:"zh"===s?E.T_[e].nameZh:E.T_[e].name},e))})})]}),(0,r.jsx)(T.D0,{label:"Base URL",children:(0,r.jsx)(T.pd,{value:e.baseUrl,onChange:t=>e.setBaseUrl(t.target.value),placeholder:n.fixedBaseUrl||"https://api.example.com/v1"})}),(0,r.jsx)(T.D0,{label:(0,r.jsxs)(r.Fragment,{children:["API Key ",(0,r.jsx)("span",{className:"text-muted-foreground/50 font-normal",children:"zh"===s?"(可选)":"(optional)"})]}),children:(0,r.jsx)(T.yA,{value:e.apiKey,onChange:e.setApiKey,placeholder:"sk-..."})}),(0,r.jsx)(T.D0,{label:"zh"===s?"模型":"Model",children:(0,r.jsx)(R.A,{value:e.model,onChange:e.setModel,placeholder:n.defaultModel,provider:e.protocol,apiKey:e.apiKey,baseUrl:e.baseUrl,supportsListModels:!!e.baseUrl.trim(),allowNoKey:!0,browseLabel:t.settings.ai.listModels,noModelsLabel:t.settings.ai.noModelsFound})})]})}var U=s(29696);function D({result:e,disabled:t,onTest:s,t:a}){let n="testing"===e.state,l="ok"===e.state,o="error"===e.state;return(0,r.jsxs)("button",{type:"button",disabled:t||n,onClick:s,className:`inline-flex items-center gap-1.5 px-3.5 py-1.5 text-sm font-medium rounded-lg transition-all duration-200 disabled:cursor-not-allowed ${l?"bg-success/10 text-success border border-success/20":o?"bg-destructive/8 text-destructive border border-destructive/20 hover:bg-destructive/12":"border border-border text-muted-foreground hover:text-foreground hover:border-foreground/20 disabled:opacity-40"}`,children:[n?(0,r.jsx)(p.A,{size:13,className:"animate-spin"}):l?(0,r.jsx)(S.A,{size:13}):o?(0,r.jsx)(x.A,{size:13}):(0,r.jsx)(U.A,{size:13}),n?a.settings.ai.testKeyTesting:l&&null!=e.latency?a.settings.ai.testKeyOk(e.latency):o?function(e,t){switch(t){case"auth_error":return e.settings.ai.testKeyAuthError;case"model_not_found":return e.settings.ai.testKeyModelNotFound;case"endpoint_error":return e.settings.ai.testKeyEndpointError;case"rate_limited":return e.settings.ai.testKeyRateLimited;case"network_error":return e.settings.ai.testKeyNetworkError;default:return e.settings.ai.testKeyUnknown}}(a,e.code):a.settings.ai.testKey]})}let F=[10,20,30,40,50,999];function L({value:e,onChange:t}){let s=F.includes(e),[n,l]=(0,a.useState)(!s);return(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)(T.l6,{value:n?"custom":String(e),onChange:e=>{let s=e.target.value;"custom"===s?l(!0):(l(!1),t(Number(s)))},className:"w-28",children:[(0,r.jsx)("option",{value:"10",children:"10"}),(0,r.jsx)("option",{value:"20",children:"20"}),(0,r.jsx)("option",{value:"30",children:"30"}),(0,r.jsx)("option",{value:"40",children:"40"}),(0,r.jsx)("option",{value:"50",children:"50"}),(0,r.jsx)("option",{value:"999",children:"Unlimited"}),(0,r.jsx)("option",{value:"custom",children:"Custom"})]}),n&&(0,r.jsx)("input",{type:"number",value:999===e?"":e,onChange:e=>{let s=parseInt(e.target.value,10);!isNaN(s)&&s>0&&t(Math.min(999,s))},placeholder:"1-999",min:1,max:999,autoFocus:!0,className:"w-20 px-2 py-1 rounded-md border border-border/60 bg-muted/50 text-sm text-foreground"})]})}function O({data:e,setData:t,updateAi:s,updateAgent:l,t:o}){let{locale:i}=(0,j.Y)(),d=e.envOverrides??{},c=e.ai.providers.find(t=>t.id===e.ai.activeProvider),m=c?E.T_[c.protocol]:null,[u,x]=(0,a.useState)({}),[p,g]=(0,a.useState)(!1),h=(0,a.useRef)(void 0),b=(0,a.useRef)(e.ai.activeProvider);(0,a.useEffect)(()=>{b.current!==e.ai.activeProvider&&(b.current=e.ai.activeProvider,x({}),h.current&&(clearTimeout(h.current),h.current=void 0))},[e.ai.activeProvider]),(0,a.useEffect)(()=>()=>{h.current&&clearTimeout(h.current)},[]),(0,a.useEffect)(()=>{let t=e.agent?.reconnectRetries??3;try{localStorage.setItem("mindos-reconnect-retries",String(t))}catch(e){console.warn("[AiTab] localStorage setItem reconnectRetries failed:",e)}},[e.agent?.reconnectRetries]);let f=(0,a.useCallback)(async()=>{if(!c)return;let e=c.id;x(t=>({...t,[e]:{state:"testing"}}));try{let t={provider:c.protocol};c.apiKey&&(t.apiKey=c.apiKey),c.model&&(t.model=c.model),c.baseUrl&&(t.baseUrl=c.baseUrl);let s=await fetch("/api/settings/test-key",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await s.json();r.ok?(x(t=>({...t,[e]:{state:"ok",latency:r.latency}})),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{x(t=>({...t,[e]:{state:"idle"}}))},8e3)):x(t=>({...t,[e]:{state:"error",error:r.error,code:r.code}}))}catch{x(t=>({...t,[e]:{state:"error",code:"network_error",error:"Network error"}}))}},[c]),v=(0,a.useCallback)(t=>{c&&("apiKey"in t&&x(e=>({...e,[c.id]:{state:"idle"}})),s({providers:e.ai.providers.map(e=>e.id===c.id?{...e,...t}:e)}))},[c,e.ai.providers,s]),y=c?(0,E.Ux)(c.protocol):void 0,w=!!y&&d[y],S=!!m?.apiKeyFallback,C=(0,a.useCallback)(()=>{if(!c)return;let t=E.T_[c.protocol];x(e=>({...e,[c.id]:{state:"idle"}})),s({providers:e.ai.providers.map(e=>e.id===c.id?{...e,apiKey:"",model:"",baseUrl:t?.fixedBaseUrl??""}:e)})},[c,e.ai.providers,s]),A=(0,a.useCallback)(()=>{if(!c)return;let t=e.ai.providers.filter(e=>e.id!==c.id);s({activeProvider:t.length>0?t[0].id:"",providers:t}),x(e=>{let t={...e};return delete t[c.id],t})},[c,e.ai.providers,s]),z=(0,a.useCallback)(t=>{let r={id:t.id||(0,I.mV)(),name:t.name,protocol:t.protocol,apiKey:t.apiKey,model:t.model,baseUrl:t.baseUrl};s({activeProvider:r.id,providers:[...e.ai.providers,r]}),g(!1)},[e.ai.providers,s]),$=c?.name??("zh"===i?"未选择":"No provider");return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(n.A,{size:15}),title:o.settings.ai.provider,description:$,children:[(0,r.jsx)(P.A,{value:e.ai.activeProvider,onChange:e=>{"skip"!==e&&s({activeProvider:e}),g(!1)},compact:!0,customProviders:e.ai.providers,onAdd:()=>{let t=E.T_.openai,s="zh"===i?t.nameZh:t.name,r=new Set(e.ai.providers.map(e=>e.name.toLowerCase())),a=s;if(r.has(a.toLowerCase())){let e=2;for(;r.has(`${s} (${e})`.toLowerCase());)e++;a=`${s} (${e})`}g(!0)}}),p&&(0,r.jsx)(B,{onSave:z,onCancel:()=>g(!1),t:o,existingNames:e.ai.providers.map(e=>e.name)},"new"),!p&&c&&(0,r.jsxs)("div",{className:"space-y-3 pt-3 border-t border-border",children:[(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,r.jsx)(T.D0,{label:"zh"===i?"名称":"Name",children:(0,r.jsx)(T.pd,{value:c.name,onChange:e=>v({name:e.target.value}),placeholder:"zh"===i?"输入名称":"Enter name"})}),(0,r.jsx)(T.D0,{label:"zh"===i?"协议":"Protocol",children:(0,r.jsx)(T.l6,{value:c.protocol,onChange:e=>v({protocol:e.target.value}),children:E.jt.map(e=>(0,r.jsx)("option",{value:e,children:"zh"===i?E.T_[e].nameZh:E.T_[e].name},e))})})]}),(0,r.jsxs)(T.D0,{label:(0,r.jsxs)(r.Fragment,{children:[o.settings.ai.apiKey," ",y&&(0,r.jsx)(T.Bt,{overridden:d[y]})]}),hint:m&&w?o.settings.ai.envFieldNote(y):m&&S?o.settings.ai.keyOptionalHint:void 0,children:[(0,r.jsx)(T.yA,{value:c.apiKey,onChange:e=>v({apiKey:e}),placeholder:"sk-..."}),m?.signupUrl&&!c.apiKey&&!w&&(0,r.jsxs)("a",{href:m.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,r.jsx)(N.A,{size:10}),S?"zh"===i?`下载 ${m.nameZh}`:`Download ${m.name}`:"zh"===i?`获取 ${m.nameZh} API Key`:`Get ${m.name} API Key`]})]}),(m?.supportsBaseUrl||c.baseUrl)&&(0,r.jsx)(T.D0,{label:"Base URL",children:(0,r.jsx)(T.pd,{value:c.baseUrl,onChange:e=>v({baseUrl:e.target.value}),placeholder:m?.fixedBaseUrl||(0,E.Ot)(c.protocol)||"https://api.openai.com/v1"})}),(0,r.jsx)(T.D0,{label:"zh"===i?"模型":"Model",children:(0,r.jsx)(R.A,{value:c.model,onChange:e=>v({model:e}),placeholder:m?.defaultModel??"",provider:c.protocol,apiKey:c.apiKey,envKey:!!w,baseUrl:c.baseUrl,supportsListModels:!!c.baseUrl?.trim()||!!m?.supportsListModels,allowNoKey:!!c.baseUrl?.trim(),browseLabel:o.settings.ai.listModels,noModelsLabel:o.settings.ai.noModelsFound})}),(0,r.jsx)(K,{provider:c.protocol,result:u[c.id]??{state:"idle"},hasKey:!!c.apiKey,hasEnv:!!w,hasConfig:!!(c.apiKey||c.model||c.baseUrl),onTest:f,onReset:C,onDelete:A,t:o})]})]}),(0,r.jsx)(G,{data:e,setData:t,t:o}),(0,r.jsx)(V,{data:e,setData:t,t:o}),(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(k.A,{size:15}),title:o.settings.agent.title,description:o.settings.agent.subtitle??"Configure how the AI agent operates",children:[(0,r.jsx)(T.pM,{label:o.settings.agent.maxSteps,hint:o.settings.agent.maxStepsHint,children:(0,r.jsx)(L,{value:e.agent?.maxSteps??20,onChange:e=>l({maxSteps:e})})}),(0,r.jsx)(T.pM,{label:o.settings.agent.contextStrategy,hint:o.settings.agent.contextStrategyHint,children:(0,r.jsxs)(T.l6,{value:e.agent?.contextStrategy??"auto",onChange:e=>l({contextStrategy:e.target.value}),className:"w-24",children:[(0,r.jsx)("option",{value:"auto",children:o.settings.agent.contextStrategyAuto}),(0,r.jsx)("option",{value:"off",children:o.settings.agent.contextStrategyOff})]})}),(0,r.jsx)(T.pM,{label:o.settings.agent.reconnectRetries,hint:o.settings.agent.reconnectRetriesHint,children:(0,r.jsxs)(T.l6,{value:String(e.agent?.reconnectRetries??3),onChange:e=>{let t=Number(e.target.value);l({reconnectRetries:t});try{localStorage.setItem("mindos-reconnect-retries",String(t))}catch(e){console.warn("[AiTab] localStorage setItem reconnectRetries failed:",e)}},className:"w-20",children:[(0,r.jsx)("option",{value:"0",children:"Off"}),(0,r.jsx)("option",{value:"1",children:"1"}),(0,r.jsx)("option",{value:"2",children:"2"}),(0,r.jsx)("option",{value:"3",children:"3"}),(0,r.jsx)("option",{value:"5",children:"5"}),(0,r.jsx)("option",{value:"10",children:"10"})]})}),m?.supportsThinking&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(T.pM,{label:o.settings.agent.thinking,hint:o.settings.agent.thinkingHint,children:(0,r.jsx)(T.lM,{checked:e.agent?.enableThinking??!1,onChange:()=>l({enableThinking:!e.agent?.enableThinking})})}),e.agent?.enableThinking&&(0,r.jsx)(T.D0,{label:o.settings.agent.thinkingBudget,hint:o.settings.agent.thinkingBudgetHint,children:(0,r.jsx)(T.pd,{type:"number",value:String(e.agent?.thinkingBudget??5e3),onChange:e=>{let t=parseInt(e.target.value,10);isNaN(t)||l({thinkingBudget:Math.max(1e3,Math.min(5e4,t))})},min:1e3,max:5e4,step:1e3})})]})]}),(0,r.jsx)(Y,{})]})}function K({provider:e,result:t,hasKey:s,hasEnv:n,hasConfig:l,onTest:o,onReset:i,onDelete:d,t:c}){let[m,x]=(0,a.useState)(null),p=(0,a.useRef)(void 0),h=!!E.T_[e]?.apiKeyFallback;(0,a.useEffect)(()=>()=>{p.current&&clearTimeout(p.current)},[]);let b=e=>{m===e?("reset"===e?i?.():d?.(),x(null),p.current&&clearTimeout(p.current)):(x(e),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>x(null),3e3))},{locale:f}=(0,j.Y)();return(0,r.jsx)("div",{className:"space-y-2 pt-2",children:(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)(D,{result:t,disabled:!(s||n||h),onTest:o,t:c}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[i&&l&&(0,r.jsxs)("button",{type:"button",onClick:()=>b("reset"),onBlur:()=>{"reset"===m&&(x(null),p.current&&clearTimeout(p.current))},className:`inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-lg transition-all duration-200 ${"reset"===m?"bg-destructive/10 text-destructive border border-destructive/25 font-medium":"text-muted-foreground/60 hover:text-muted-foreground hover:bg-muted/50"}`,children:[(0,r.jsx)(g.A,{size:12}),"reset"===m?"zh"===f?"确认重置?":"Confirm?":"zh"===f?"重置":"Reset"]}),d&&(0,r.jsxs)("button",{type:"button",onClick:()=>b("delete"),onBlur:()=>{"delete"===m&&(x(null),p.current&&clearTimeout(p.current))},className:`inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-lg transition-all duration-200 ${"delete"===m?"bg-destructive/10 text-destructive border border-destructive/25 font-medium":"text-muted-foreground/60 hover:text-muted-foreground hover:bg-muted/50"}`,children:[(0,r.jsx)(u.A,{size:12}),"delete"===m?"zh"===f?"确认删除?":"Confirm?":"zh"===f?"删除":"Delete"]})]})]})})}function B({initial:e,onSave:t,onCancel:s,onDelete:n,t:l,existingNames:o}){let{locale:i}=(0,j.Y)(),d=function({initial:e,onSave:t,locale:s,existingNames:r}){let n=(0,a.useMemo)(()=>e?.name??$(e?.protocol??"openai",r,e?.name,s),[e?.name,e?.protocol,r,s]),[l,o]=(0,a.useState)(n),[i,d]=(0,a.useState)(e?.protocol??"openai"),[c,m]=(0,a.useState)(e?.apiKey??""),[u,x]=(0,a.useState)(e?.model??""),[p,g]=(0,a.useState)(e?.baseUrl??""),[h,b]=(0,a.useState)({state:"idle"}),[f,v]=(0,a.useState)(!!e?.name),j=(0,a.useMemo)(()=>$(i,r,e?.name,s),[i,r,e?.name,s]);(0,a.useEffect)(()=>{f||o(j)},[j,f]);let y=(0,a.useCallback)(e=>{v(!0),o(e)},[]),N=(0,a.useCallback)(e=>{d(e),b({state:"idle"})},[]),k=l.trim()||j,w=!!(k&&r?.some(t=>t!==e?.name&&t.toLowerCase()===k.toLowerCase())),S=!!(p.trim()&&u.trim()&&!w),C="zh"===s?"接口地址和模型为必填":"Base URL and model are required",A="zh"===s?"名称已存在,请使用其他名称":"Name already exists, please use a different name",z=(0,a.useCallback)(async()=>{if(w)return void b({state:"error",error:A});if(!p.trim()||!u.trim())return void b({state:"error",error:C});b({state:"testing"});try{let t=await fetch("/api/settings/test-key",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e?.id?{provider:e.id,apiKey:c,model:u,baseUrl:p}:{provider:i,apiKey:c,model:u,baseUrl:p,baseProviderId:i})}),s=await t.json();s.ok?b({state:"ok",latency:s.latency}):b({state:"error",error:s.error||"Test failed",code:s.code})}catch{b({state:"error",code:"network_error",error:"Network error"})}},[w,A,p,u,e?.id,c,i,C]),T=(0,a.useCallback)(()=>{w?b({state:"error",error:A}):p.trim()&&u.trim()?t({id:e?.id||(0,I.mV)(),name:k,protocol:i,apiKey:c,model:u.trim(),baseUrl:p.trim()}):b({state:"error",error:C})},[w,A,p,u,C,t,e?.id,k,i,c]);return{name:l,setName:y,protocol:i,setProtocol:N,apiKey:c,setApiKey:m,model:u,setModel:x,baseUrl:p,setBaseUrl:g,testResult:h,canSave:S,isDuplicateName:w,handleTest:z,handleSave:T}}({initial:e,onSave:t,locale:i,existingNames:o}),[c,m]=(0,a.useState)(!1),x=(0,a.useRef)(void 0);(0,a.useEffect)(()=>()=>{x.current&&clearTimeout(x.current)},[]);let p=e?.id?"zh"===i?"编辑 Provider":"Edit Provider":"zh"===i?"添加 Provider":"Add Provider",g=[];return d.name.trim()||g.push("zh"===i?"名称":"Name"),d.baseUrl.trim()||g.push("zh"===i?"接口地址":"Base URL"),d.model.trim()||g.push("zh"===i?"模型":"Model"),(0,r.jsxs)("div",{className:"mt-3 rounded-lg border border-border overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 border-b border-border",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-foreground",children:p}),(0,r.jsx)("button",{type:"button",onClick:s,className:"p-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors","aria-label":"zh"===i?"关闭":"Close",children:(0,r.jsx)(b.A,{size:14})})]}),(0,r.jsxs)("div",{className:"p-4",children:[(0,r.jsx)(M,{form:d,t:l,locale:i,layout:"compact"}),(0,r.jsxs)("div",{className:"flex items-center gap-2 pt-4",children:[(0,r.jsx)(D,{result:d.testResult,disabled:!d.canSave,onTest:d.handleTest,t:l}),n&&e?.id&&(0,r.jsxs)("button",{type:"button",onClick:()=>{c?(n(),x.current&&clearTimeout(x.current)):(m(!0),x.current=setTimeout(()=>m(!1),3e3))},onBlur:()=>{m(!1),x.current&&clearTimeout(x.current)},className:`inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-lg transition-all duration-200 ${c?"bg-destructive/10 text-destructive border border-destructive/25 font-medium":"text-muted-foreground/60 hover:text-muted-foreground hover:bg-muted/50"}`,children:[(0,r.jsx)(u.A,{size:12}),c?"zh"===i?"确认删除?":"Confirm?":"zh"===i?"删除":"Delete"]}),(0,r.jsxs)("div",{className:"flex-1",children:[d.isDuplicateName&&(0,r.jsx)("span",{className:"text-2xs text-destructive pl-2",children:"zh"===i?"名称已存在":"Name already exists"}),!d.isDuplicateName&&!d.canSave&&g.length>0&&(0,r.jsx)("span",{className:"text-2xs text-muted-foreground/60 pl-2",children:"zh"===i?`需要: ${g.join("、")}`:`Required: ${g.join(", ")}`})]}),(0,r.jsx)("button",{type:"button",onClick:s,className:"px-3 py-1.5 text-sm rounded-lg text-muted-foreground hover:text-foreground transition-colors",children:l.settings?.customProviders?.modal?.buttonCancel??"Cancel"}),(0,r.jsx)("button",{type:"button",onClick:d.handleSave,disabled:!d.canSave,className:"px-4 py-1.5 text-sm font-medium rounded-lg bg-[var(--amber)] text-[var(--amber-foreground)] hover:bg-[var(--amber)]/90 transition-colors disabled:opacity-40 disabled:cursor-not-allowed",children:"zh"===i?"保存":"Save"})]})]})]})}let _=[{label:"SiliconFlow",baseUrl:"https://api.siliconflow.cn/v1",model:"BAAI/bge-m3",badge:"free"},{label:"OpenAI",baseUrl:"https://api.openai.com/v1",model:"text-embedding-3-small",badge:null},{label:"DeepSeek",baseUrl:"https://api.deepseek.com/v1",model:"deepseek-embed",badge:null},{label:"Ollama",baseUrl:"http://localhost:11434/v1",model:"nomic-embed-text",badge:"local"}],H=[{id:"Xenova/bge-small-zh-v1.5",label:"BGE Small ZH (33MB)",desc:"Chinese + English"},{id:"Xenova/all-MiniLM-L6-v2",label:"MiniLM L6 (23MB)",desc:"English only"},{id:"Xenova/bge-small-en-v1.5",label:"BGE Small EN (33MB)",desc:"English only"}];function G({data:e,setData:t,t:s}){let{locale:n}=(0,j.Y)(),l=s.settings.embedding??{},o=e.embedding??{enabled:!1,provider:"local",baseUrl:"",apiKey:"",model:""},i=e.embeddingStatus??{enabled:!1,ready:!1,building:!1,docCount:0},d=o.provider||"local",[c,u]=(0,a.useState)(null),[x,h]=(0,a.useState)("idle"),[f,v]=(0,a.useState)(null);(0,a.useEffect)(()=>{o.enabled&&"local"===d&&(0,y.n)("/api/embedding").then(e=>u(e.downloaded)).catch(()=>u(!1))},[o.enabled,d]),(0,a.useEffect)(()=>{if("downloading"!==x)return;let e=setInterval(()=>{(0,y.n)("/api/embedding",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"status"})}).then(e=>{e.downloaded&&(u(!0),h("idle"),z.oR.success?.(l.modelReady??"Model downloaded")??(0,z.oR)(l.modelReady??"Model downloaded")),e.error&&(h("error"),v(e.error),z.oR.error?.(e.error)??(0,z.oR)(e.error))}).catch(()=>{})},3e3);return()=>clearInterval(e)},[x,l.modelReady]);let N=(0,a.useCallback)(()=>{h("starting"),v(null),(0,y.n)("/api/embedding",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"download",model:o.model||void 0})}).then(e=>{e.ok?h("downloading"):(h("error"),v(e.error??"Download request failed"))}).catch(e=>{h("error"),v(e instanceof Error?e.message:"Network error")})},[o.model]),k=(0,a.useCallback)(()=>{h("idle"),v(null)},[]);return(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(w.A,{size:15}),title:l.title??"Embedding Search",description:l.description??"Semantic search with vector embeddings.",children:[(0,r.jsx)(T.pM,{label:l.enable??"Enable embedding search",hint:l.enableHint,children:(0,r.jsx)(T.lM,{checked:o.enabled,onChange:()=>{t(e=>e?{...e,embedding:{...o,enabled:!o.enabled}}:e)}})}),o.enabled&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>t(e=>e?{...e,embedding:{...o,provider:"local",model:o.model||"Xenova/bge-small-zh-v1.5"}}:e),className:`flex-1 px-3 py-2 text-sm rounded-lg border transition-colors text-center ${"local"===d?"border-[var(--amber)] text-[var(--amber)] bg-[var(--amber)]/10":"border-border text-muted-foreground hover:text-foreground hover:bg-muted"}`,children:[(0,r.jsxs)("span",{className:"font-medium",children:[l.providerLocal??"Local"," (",l.providerLocalFree??"Free",")"]}),(0,r.jsx)("span",{className:"block text-xs opacity-70 mt-0.5",children:l.providerLocalDesc??"Runs on your machine"})]}),(0,r.jsxs)("button",{type:"button",onClick:()=>t(e=>e?{...e,embedding:{...o,provider:"api",model:o.model||"BAAI/bge-m3",baseUrl:o.baseUrl||"https://api.siliconflow.cn/v1"}}:e),className:`flex-1 px-3 py-2 text-sm rounded-lg border transition-colors text-center ${"api"===d?"border-[var(--amber)] text-[var(--amber)] bg-[var(--amber)]/10":"border-border text-muted-foreground hover:text-foreground hover:bg-muted"}`,children:[(0,r.jsx)("span",{className:"font-medium",children:l.providerApi??"API"}),(0,r.jsx)("span",{className:"block text-xs opacity-70 mt-0.5",children:l.providerApiDesc??"OpenAI, DeepSeek, Ollama, etc."})]})]}),"local"===d&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(T.D0,{label:l.model??"Model",hint:l.modelHint,children:(0,r.jsx)("div",{className:"space-y-1.5",children:H.map(e=>(0,r.jsxs)("label",{className:`flex items-center gap-3 px-3 py-2 rounded-lg border cursor-pointer transition-colors ${o.model===e.id?"border-[var(--amber)] bg-[var(--amber)]/5":"border-border hover:bg-muted"}`,children:[(0,r.jsx)("input",{type:"radio",name:"local-model",checked:o.model===e.id,onChange:()=>t(t=>t?{...t,embedding:{...o,model:e.id}}:t),className:"accent-[var(--amber)]"}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-foreground",children:e.label}),(0,r.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:e.desc})]})]},e.id))})}),!1===c&&"idle"===x&&(0,r.jsxs)("button",{type:"button",onClick:N,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium rounded-lg bg-[var(--amber)] text-[var(--amber-foreground)] hover:opacity-90 transition-opacity",children:[(0,r.jsx)(m.A,{size:14}),l.downloadModel??"Install Runtime & Download Model"]}),"starting"===x&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,r.jsx)(p.A,{size:14,className:"animate-spin"}),(0,r.jsx)("span",{children:l.starting??"Starting download..."})]}),"downloading"===x&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,r.jsx)(p.A,{size:14,className:"animate-spin"}),(0,r.jsx)("span",{children:l.downloading??"Downloading model..."})]}),"error"===x&&(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm text-destructive",children:[(0,r.jsx)(b.A,{size:14}),(0,r.jsx)("span",{children:f??"Download failed"})]}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:l.downloadFailedHint??"If install or download keeps failing, try API mode or set HF_ENDPOINT=https://hf-mirror.com"}),(0,r.jsxs)("button",{type:"button",onClick:k,className:"flex items-center gap-2 px-3 py-1.5 text-xs font-medium rounded-md border border-border text-foreground hover:bg-muted transition-colors",children:[(0,r.jsx)(g.A,{size:12}),l.retry??"Retry"]})]}),!0===c&&"idle"===x&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-success",children:[(0,r.jsx)(S.A,{size:12}),(0,r.jsx)("span",{children:l.modelReady??"Model ready"})]})]}),"api"===d&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"grid grid-cols-2 gap-2",children:_.map(e=>{let s=o.baseUrl===e.baseUrl;return(0,r.jsxs)("button",{type:"button",onClick:()=>{t(t=>t?{...t,embedding:{...o,baseUrl:e.baseUrl,model:e.model}}:t)},className:`relative px-3 py-2 text-left text-sm rounded-lg border transition-colors ${s?"border-[var(--amber)] bg-[var(--amber)]/5":"border-border hover:bg-muted"}`,children:[(0,r.jsx)("span",{className:`font-medium ${s?"text-[var(--amber)]":"text-foreground"}`,children:e.label}),e.badge&&(0,r.jsx)("span",{className:`ml-1.5 inline-flex items-center px-1.5 py-0.5 text-2xs rounded-full font-medium ${"free"===e.badge?"bg-emerald-500/10 text-emerald-600 dark:text-emerald-400":"bg-blue-500/10 text-blue-600 dark:text-blue-400"}`,children:"free"===e.badge?"zh"===n?"免费":"Free":"zh"===n?"本地":"Local"}),(0,r.jsx)("span",{className:"block text-2xs text-muted-foreground mt-0.5 truncate",children:e.model})]},e.label)})}),!o.baseUrl&&(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:"zh"===n?"推荐使用硅基流动 (SiliconFlow),注册即可免费使用嵌入模型。":"SiliconFlow recommended — free embedding models with registration."}),(0,r.jsx)(T.D0,{label:l.baseUrl??"Base URL",hint:l.baseUrlHint,children:(0,r.jsx)(T.pd,{value:o.baseUrl,onChange:e=>t(t=>t?{...t,embedding:{...o,baseUrl:e.target.value}}:t),placeholder:"https://api.siliconflow.cn/v1"})}),(0,r.jsx)(T.D0,{label:l.apiKey??"API Key",hint:o.baseUrl?.includes("localhost")||o.baseUrl?.includes("127.0.0.1")?l.apiKeyHintLocal??("zh"===n?"本地服务可留空":"Leave empty for local services"):l.apiKeyHint??("zh"===n?"在服务商网站获取 API Key":"Get your API key from the provider"),children:(0,r.jsx)(T.yA,{value:o.apiKey,onChange:e=>t(t=>t?{...t,embedding:{...o,apiKey:e}}:t),placeholder:"sk-..."})}),(0,r.jsx)(T.D0,{label:l.model??"Model",hint:l.modelName,children:(0,r.jsx)(T.pd,{value:o.model,onChange:e=>t(t=>t?{...t,embedding:{...o,model:e.target.value}}:t),placeholder:"BAAI/bge-m3"})})]}),(0,r.jsx)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground pt-1",children:i.building?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p.A,{size:12,className:"animate-spin"}),(0,r.jsx)("span",{children:l.indexBuilding??"Building embedding index..."})]}):i.ready?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(S.A,{size:12,className:"text-success"}),(0,r.jsx)("span",{children:"function"==typeof l.indexReady?l.indexReady(i.docCount):`${i.docCount} documents indexed`})]}):(0,r.jsx)("span",{children:l.indexPending??"Index will be built on first search"})})]})]})}let J=[{id:"auto",labelKey:"providerAuto",descKey:"providerAutoDesc"},{id:"exa",labelKey:"providerExa",descKey:"providerExaDesc"},{id:"perplexity",labelKey:"providerPerplexity",descKey:"providerPerplexityDesc"},{id:"gemini",labelKey:"providerGemini",descKey:"providerGeminiDesc"}],W=[{key:"exaApiKey",labelKey:"exaApiKey",placeholder:"exa-..."},{key:"perplexityApiKey",labelKey:"perplexityApiKey",placeholder:"pplx-..."},{key:"geminiApiKey",labelKey:"geminiApiKey",placeholder:"AIza..."}];function V({data:e,setData:t,t:s}){let a=s.settings.webSearch??{},n=e.webSearch??{provider:"auto",exaApiKey:"",perplexityApiKey:"",geminiApiKey:""},l=n.provider||"auto";return(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(C.A,{size:15}),title:a.title??"Web Search",description:a.description??"Configure search providers.",children:[(0,r.jsx)("div",{className:"flex gap-2 flex-wrap",children:J.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>{t(t=>t?{...t,webSearch:{...n,provider:e.id}}:t)},className:`px-2.5 py-1 text-xs rounded-md border transition-colors ${l===e.id?"border-[var(--amber)] text-[var(--amber)] bg-[var(--amber)]/10":"border-border text-muted-foreground hover:text-foreground hover:bg-muted"}`,children:a[e.labelKey]??e.id},e.id))}),(()=>{let e=J.find(e=>e.id===l);if(!e)return null;let t=a[e.descKey];return t?(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:t}):null})(),W.map(e=>(0,r.jsx)(T.D0,{label:a[e.labelKey]??e.key,hint:a.apiKeyHint,children:(0,r.jsx)(T.yA,{value:n[e.key]??"",onChange:s=>t(t=>t?{...t,webSearch:{...n,[e.key]:s}}:t),placeholder:e.placeholder})},e.key)),(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:a.noKeysHint??"Works without API keys via Exa MCP (zero-config)."})]})}function Y(){let{t:e}=(0,j.Y)(),[t,s]=(0,a.useState)("panel");return(0,a.useEffect)(()=>{try{let e=localStorage.getItem("ask-mode");"popup"===e&&s("popup")}catch(e){console.warn("[AiTab] localStorage getItem ask-mode failed:",e)}},[]),(0,r.jsx)(T.L7,{icon:(0,r.jsx)(A.A,{size:15}),title:e.settings.askDisplayMode?.label??"Display Mode",description:e.settings.askDisplayMode?.hint??"Side panel stays docked on the right. Popup opens a floating dialog.",children:(0,r.jsxs)(T.l6,{value:t,onChange:e=>(e=>{s(e);try{localStorage.setItem("ask-mode",e)}catch(e){console.warn("[AiTab] localStorage setItem ask-mode failed:",e)}window.dispatchEvent(new StorageEvent("storage",{key:"ask-mode",newValue:e}))})(e.target.value),children:[(0,r.jsx)("option",{value:"panel",children:e.settings.askDisplayMode?.panel??"Side Panel"}),(0,r.jsx)("option",{value:"popup",children:e.settings.askDisplayMode?.popup??"Popup"})]})})}var Z=s(38125),q=s(25208),X=s(88283),Q=s(47533),ee=s(95156),et=s(21036),es=s(72615),er=s(98327);let ea=[{value:"lora",label:"Lora",category:"Serif",style:{fontFamily:"Lora, Georgia, serif"}},{value:"ibm-plex-sans",label:"IBM Plex Sans",category:"Sans",style:{fontFamily:"'IBM Plex Sans', sans-serif"}},{value:"inter",label:"Inter",category:"Sans",style:{fontFamily:"var(--font-inter), sans-serif"}},{value:"ibm-plex-mono",label:"IBM Plex Mono",category:"Mono",style:{fontFamily:"'IBM Plex Mono', monospace"}}];function en({icon:e,label:t,children:s}){return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e}),(0,r.jsx)("span",{className:"text-sm font-medium text-foreground",children:t})]}),s]})}function el({options:e,value:t,onChange:s}){return(0,r.jsx)("div",{className:"flex gap-2",children:e.map(e=>(0,r.jsxs)("button",{type:"button",onClick:()=>s(e.value),className:`flex items-center gap-1.5 px-3.5 py-2 text-sm font-medium rounded-xl transition-all ${t===e.value?"bg-[var(--amber)] text-[var(--amber-foreground)] shadow-sm":"bg-muted/50 text-muted-foreground hover:text-foreground hover:bg-muted"}`,children:[e.icon,e.label]},e.value))})}function eo({font:e,setFont:t,fontSize:s,setFontSize:n,contentWidth:l,setContentWidth:o,dark:i,setDark:c,locale:m,setLocale:u,t:x}){let[p,g]=(0,a.useState)(!1),[h,b]=(0,a.useState)(()=>localStorage.getItem("theme")??"system"),[f,v]=(0,a.useState)(()=>localStorage.getItem("locale")??"system"),j=x.settings.appearance;return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(d.A,{size:15}),title:j.preferencesTitle??"Preferences",children:[(0,r.jsx)(en,{icon:(0,r.jsx)(Z.A,{size:14}),label:j.colorTheme,children:(0,r.jsx)(el,{options:[{value:"system",label:j.system,icon:(0,r.jsx)(A.A,{size:14})},{value:"dark",label:j.dark,icon:(0,r.jsx)(q.A,{size:14})},{value:"light",label:j.light,icon:(0,r.jsx)(Z.A,{size:14})}],value:h,onChange:e=>{b(e),localStorage.setItem("theme",e);let t="system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches:"dark"===e;c(t),document.documentElement.classList.toggle("dark",t)}})}),(0,r.jsx)(en,{icon:(0,r.jsx)(C.A,{size:14}),label:j.language,children:(0,r.jsx)(el,{options:[{value:"system",label:j.system,icon:(0,r.jsx)(A.A,{size:14})},{value:"en",label:"EN"},{value:"zh",label:"中文"}],value:f,onChange:e=>{v(e),localStorage.setItem("locale",e);let t="system"===e?navigator.language.startsWith("zh")?"zh":"en":e;u(t),document.cookie=`locale=${t};path=/;max-age=31536000;SameSite=Lax`}})})]}),(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(X.A,{size:15}),title:j.readingTitle??"Reading",description:j.readingDesc??"Customize how your notes look",children:[(0,r.jsx)(en,{icon:(0,r.jsx)(Q.A,{size:14}),label:j.readingFont,children:(0,r.jsx)("div",{className:"space-y-0.5",children:ea.map(s=>{let a=e===s.value;return(0,r.jsxs)("button",{type:"button",onClick:()=>t(s.value),className:`flex items-center gap-4 w-full px-3 py-2.5 rounded-lg transition-all text-left relative ${a?"bg-[var(--amber-subtle)]":"hover:bg-muted/50"}`,children:[a&&(0,r.jsx)("div",{className:"absolute left-0 top-2 bottom-2 w-[3px] rounded-r-full bg-[var(--amber)]"}),(0,r.jsx)("span",{className:`text-xl font-medium w-10 text-center shrink-0 ${a?"text-foreground":"text-muted-foreground/60"}`,style:{fontFamily:s.style.fontFamily},children:"Aa"}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,r.jsx)("span",{className:`text-sm font-medium ${a?"text-foreground":"text-muted-foreground"}`,style:{fontFamily:s.style.fontFamily},children:s.label}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground/50",children:s.category})]}),(0,r.jsx)("p",{className:`text-sm truncate mt-0.5 ${a?"text-muted-foreground":"text-muted-foreground/40"}`,style:{fontFamily:s.style.fontFamily},children:j.fontPreview})]})]},s.value)})})}),(0,r.jsx)(en,{icon:(0,r.jsx)(ee.A,{size:14}),label:j.fontSize,children:(0,r.jsxs)("div",{className:"px-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("span",{className:"text-xs text-muted-foreground/60 shrink-0",style:{fontSize:"11px"},children:"A"}),(0,r.jsx)("input",{type:"range",min:12,max:22,step:1,value:parseInt(s),onChange:e=>n(`${e.target.value}px`),className:"flex-1 h-1.5 rounded-full appearance-none bg-muted cursor-pointer accent-[var(--amber)] [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-[var(--amber)] [&::-webkit-slider-thumb]:shadow-sm [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:transition-transform [&::-webkit-slider-thumb]:hover:scale-110 [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-[var(--amber)] [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:shadow-sm [&::-moz-range-thumb]:cursor-pointer"}),(0,r.jsx)("span",{className:"text-base text-muted-foreground/60 shrink-0",children:"A"})]}),(0,r.jsx)("div",{className:"text-center mt-1.5",children:(0,r.jsxs)("span",{className:"text-xs tabular-nums text-muted-foreground",children:[parseInt(s),"px"]})}),(0,r.jsx)("p",{className:"text-muted-foreground leading-relaxed mt-2 px-1",style:{fontSize:s,fontFamily:ea.find(t=>t.value===e)?.style.fontFamily},children:j.fontSizePreview})]})}),(0,r.jsx)(en,{icon:(0,r.jsx)(et.A,{size:14}),label:j.contentWidth,children:(0,r.jsxs)("div",{className:"px-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("span",{className:"text-xs text-muted-foreground/60 shrink-0",children:"▬"}),(0,r.jsx)("input",{type:"range",min:50,max:100,step:5,value:parseInt(l)||80,onChange:e=>o(`${e.target.value}%`),className:"flex-1 h-1.5 rounded-full appearance-none bg-muted cursor-pointer accent-[var(--amber)] [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-[var(--amber)] [&::-webkit-slider-thumb]:shadow-sm [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:transition-transform [&::-webkit-slider-thumb]:hover:scale-110 [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-[var(--amber)] [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:shadow-sm [&::-moz-range-thumb]:cursor-pointer"}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground/60 shrink-0",children:"▬▬▬"})]}),(0,r.jsx)("div",{className:"text-center mt-1.5",children:(0,r.jsxs)("span",{className:"text-xs tabular-nums text-muted-foreground",children:[parseInt(l)||80,"%"]})})]})})]}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground/40 px-0.5",children:j.browserNote}),(0,r.jsxs)("div",{className:"border-t border-border pt-4",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>g(!p),className:"flex items-center gap-1.5 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:[p?(0,r.jsx)(es.A,{size:14}):(0,r.jsx)(er.A,{size:14}),x.settings.tabs.shortcuts]}),p&&(0,r.jsx)("div",{className:"mt-3 space-y-0.5",children:x.shortcuts.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center justify-between py-1.5 px-1",children:[(0,r.jsx)("span",{className:"text-sm text-foreground",children:e.description}),(0,r.jsx)("div",{className:"flex items-center gap-1",children:e.keys.map((e,t)=>(0,r.jsx)("kbd",{className:"px-1.5 py-0.5 text-2xs font-mono bg-muted border border-border rounded text-muted-foreground",children:e},t))})]},t))})]})]})}var ei=s(10500),ed=s(42973),ec=s(24336),em=s(46884),eu=s(34137),ex=s(84734),ep=s(46990);function eg(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<0x40000000?`${(e/1048576).toFixed(1)} MB`:`${(e/0x40000000).toFixed(2)} GB`}var eh=s(5861),eb=s(65799);let ef=(0,eb.createServerReference)("008fbf9731ba53e69e8a208e532b36212ac3404d5c",eb.callServer,void 0,eb.findSourceMapURL,"scanExampleFilesAction"),ev=(0,eb.createServerReference)("001ff0c980a4139cc11927e4551dec2c0e46894ca2",eb.callServer,void 0,eb.findSourceMapURL,"cleanupExamplesAction");var ej=s(5038),ey=s(53311);let eN={checking:!1,available:null,isSelf:!1,suggestion:null};function ek({message:e,sub:t}){return(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm",children:(0,r.jsxs)("div",{className:"text-center space-y-4 max-w-sm px-6",children:[(0,r.jsx)(p.A,{size:32,className:"animate-spin mx-auto text-[var(--amber)]"}),(0,r.jsx)("p",{className:"text-sm font-medium text-foreground",children:e}),t&&(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:t})]})})}function ew({m:e}){let[t,s]=(0,a.useState)(0),[n,l]=(0,a.useState)(0),[o,i]=(0,a.useState)(eN),[d,c]=(0,a.useState)(!1),[m,u]=(0,a.useState)(null),[x,g]=(0,a.useState)(void 0),b=(0,a.useRef)(void 0),f=(0,a.useRef)(void 0);(0,a.useEffect)(()=>{(0,y.n)("/api/settings").then(e=>{let t=e.port||3456;s(t),l(t)}).catch(()=>{})},[]),(0,a.useEffect)(()=>()=>{clearInterval(b.current),clearTimeout(f.current)},[]);let v=n!==t,j=n<1024||n>65535,N=o.checking||!1===o.available&&!o.isSelf,k=(0,a.useCallback)(async e=>{if(e<1024||e>65535)return void i({...eN,available:!1,invalid:!0});i({...eN,checking:!0});try{let t=await (0,y.n)("/api/setup/check-port",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({port:e})});i({checking:!1,available:t.available,isSelf:t.isSelf??!1,suggestion:t.suggestion??null})}catch{i(eN)}},[]),w=async()=>{if(v&&!j&&!N&&!d){c(!0);try{let t=await (0,y.n)("/api/setup/check-port",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({port:n})});if(!t.available&&!t.isSelf){i({checking:!1,available:!1,isSelf:!1,suggestion:t.suggestion??null}),c(!1),z.oR.error(e.portInUse(n));return}await (0,y.n)("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({port:n})}),u(e.portWebRestarting),g(e.portRedirecting);try{await (0,y.n)("/api/restart",{method:"POST"})}catch{}let s=`${window.location.protocol}//${window.location.hostname}:${n}`,r=Date.now()+3e4;b.current=setInterval(async()=>{if(Date.now()>r){clearInterval(b.current),u(null),c(!1),z.oR.error(e.portRestartTimeout);return}try{await (0,ey.v)(`${s}/api/health`,{signal:AbortSignal.timeout(2e3)})&&(clearInterval(b.current),window.location.href=s)}catch{}},1500)}catch{c(!1),z.oR.error(e.portUpdateFailed)}}};return 0===t?null:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(T.L7,{icon:(0,r.jsx)(A.A,{size:15}),title:e.webPortLabel,description:e.webPortHint,children:(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("input",{type:"number",min:1024,max:65535,value:n,onChange:e=>{let t=parseInt(e.target.value,10)||n;l(t),i(eN),clearTimeout(f.current),t>=1024&&t<=65535&&(f.current=setTimeout(()=>k(t),500))},onBlur:()=>{clearTimeout(f.current),n>=1024&&n<=65535&&k(n)},className:"flex-1 px-2.5 py-1.5 text-sm rounded-lg border border-border bg-muted/30 text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring tabular-nums"}),(0,r.jsx)("button",{type:"button",onClick:w,disabled:!v||j||N||d,className:"shrink-0 px-4 py-1.5 rounded-lg text-xs font-medium transition-colors bg-[var(--amber)] text-[var(--amber-foreground)] hover:opacity-90 disabled:opacity-40 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:d?e.portUpdating:e.portUpdateBtn})]}),o.checking&&(0,r.jsxs)("p",{className:"text-xs flex items-center gap-1 text-muted-foreground",children:[(0,r.jsx)(p.A,{size:11,className:"animate-spin"})," ",e.portChecking]}),!o.checking&&!1===o.available&&!o.invalid&&(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("p",{className:"text-xs flex items-center gap-1 text-[var(--amber)]",children:[(0,r.jsx)(ej.A,{size:11})," ",e.portInUse(n)]}),null!==o.suggestion&&(0,r.jsx)("button",{type:"button",onClick:()=>{l(o.suggestion),i(eN),setTimeout(()=>k(o.suggestion),0)},className:"text-xs px-2 py-0.5 rounded border border-[var(--amber)] text-[var(--amber)] transition-colors hover:bg-[var(--amber-subtle)]",children:e.portSuggest(o.suggestion)})]}),!o.checking&&o.invalid&&(0,r.jsxs)("p",{className:"text-xs flex items-center gap-1 text-destructive",children:[(0,r.jsx)(ej.A,{size:11})," 1024 – 65535"]}),!o.checking&&!0===o.available&&(0,r.jsxs)("p",{className:"text-xs flex items-center gap-1 text-success",children:[(0,r.jsx)(h.A,{size:11})," ",o.isSelf?e.portSelf:e.portAvailable]})]})}),m&&(0,r.jsx)(ek,{message:m,sub:x})]})}function eS({data:e,setData:t,t:s}){let l=e.envOverrides??{},o=s.settings.knowledge,i=s.settings.appearance,[d,m]=(0,a.useState)(()=>"1"===localStorage.getItem("mindos:labs-echo")),[x,h]=(0,a.useState)(()=>"1"===localStorage.getItem("mindos:labs-workflows")),[b,f]=(0,a.useState)(()=>"true"===localStorage.getItem("show-hidden-files")),[v,j]=(0,a.useState)(null),[N,k]=(0,a.useState)(!1),[w,C]=(0,a.useState)(null);(0,a.useEffect)(()=>{ef().then(e=>j(e.files.length)).catch(e=>{console.warn("[KnowledgeTab] scanExampleFilesAction failed:",e)})},[]);let[A,E]=(0,a.useState)(null),[P,R]=(0,a.useState)(!1);(0,a.useEffect)(()=>{(0,y.n)("/api/setup").then(e=>{let t=e.guideState;t&&(E(t.active),R(!!t.dismissed))}).catch(e=>{console.error("Failed to fetch guide state:",e)})},[]);let I=(0,a.useCallback)(()=>{let e=!P;R(e);let t={dismissed:e};e||(t.active=!0),(0,y.n)("/api/setup",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({guideState:t})}).then(()=>window.dispatchEvent(new Event("guide-state-updated"))).catch(t=>{console.error("Failed to update guide state:",t),R(!e)})},[P]),$=(0,a.useCallback)(()=>{(0,y.n)("/api/setup",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({guideState:{active:!0,dismissed:!1,walkthroughStep:0,walkthroughDismissed:!1}})}).then(()=>{E(!0),R(!1),window.dispatchEvent(new Event("guide-state-updated"))}).catch(e=>console.error("Failed to restart walkthrough:",e))},[]),M=(0,a.useSyncExternalStore)(()=>()=>{},()=>`${window.location.protocol}//${window.location.hostname}`,()=>"http://localhost"),[U,D]=(0,a.useState)(!1),[F,L]=(0,a.useState)(null),[O,K]=(0,a.useState)(!1),[B,_]=(0,a.useState)(!1),H=!!e.authToken,G=F??e.authToken??"";async function J(){D(!0);try{let e=await (0,y.n)("/api/settings/reset-token",{method:"POST"});L(e.token),t(t=>t?{...t,authToken:e.token}:t)}finally{D(!1)}}async function W(){t(e=>e?{...e,authToken:""}:e),L(null)}return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(ei.A,{size:15}),title:o.cardTitle??"Knowledge Base",description:o.mindRootHint,children:[(0,r.jsx)(T.D0,{label:(0,r.jsxs)(r.Fragment,{children:[o.mindRoot," ",(0,r.jsx)(T.Bt,{overridden:l.MIND_ROOT})]}),hint:l.MIND_ROOT?o.envNote:o.mindRootHint,children:(0,r.jsx)(T.pd,{value:e.mindRoot,onChange:e=>t(t=>t?{...t,mindRoot:e.target.value}:t),placeholder:"/path/to/your/notes"})}),(0,r.jsx)(T.pM,{label:o.showHiddenFiles,hint:o.showHiddenFilesHint,children:(0,r.jsx)(T.lM,{checked:b,onChange:()=>{let e=!b;f(e),(0,eh.Fo)(e)}})}),null!==v&&v>0&&null===w&&(0,r.jsx)(T.pM,{label:o.cleanupExamples,hint:o.cleanupExamplesHint,children:(0,r.jsxs)("button",{onClick:()=>_(!0),disabled:N,title:N?s.hints.cleanupInProgress:void 0,className:"flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium rounded-lg border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors shrink-0 disabled:opacity-50",children:[N?(0,r.jsx)(p.A,{size:12,className:"animate-spin"}):(0,r.jsx)(u.A,{size:12}),o.cleanupExamplesButton,(0,r.jsx)("span",{className:"ml-1 tabular-nums text-2xs opacity-70",children:v})]})}),null!==w&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-success",children:[(0,r.jsx)(S.A,{size:14}),o.cleanupExamplesDone(w)]})]}),(0,r.jsx)(ew,{m:s.settings?.mcp??{}}),(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(ed.A,{size:15}),title:o.securityTitle??"Security",children:[(0,r.jsx)(T.D0,{label:o.webPassword,hint:o.webPasswordHint,children:(0,r.jsx)(T.yA,{value:e.webPassword??"",onChange:e=>t(t=>t?{...t,webPassword:e}:t),placeholder:o.passwordPlaceholder??"Leave empty to disable"})}),(0,r.jsx)(T.pM,{label:o.allowNetworkAccess??"Allow LAN access",hint:o.allowNetworkAccessHint??"Bind the Web UI to 0.0.0.0 so other devices on your network can connect after restart.",children:(0,r.jsx)(T.lM,{checked:!0===e.allowNetworkAccess,onChange:()=>t(e=>e?{...e,allowNetworkAccess:!0!==e.allowNetworkAccess}:e)})}),(0,r.jsx)(T.D0,{label:o.authToken,hint:H?o.authTokenHint:o.authTokenNone,children:(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 bg-background border border-border rounded-lg min-h-[38px]",children:[(0,r.jsx)("code",{className:"flex-1 text-xs font-mono text-foreground break-all select-all",children:G||(0,r.jsx)("span",{className:"text-muted-foreground italic",children:o.tokenNotSet??"— not set —"})}),G&&(0,r.jsx)("button",{type:"button",onClick:function(){let t=F??e.authToken??"";t&&(0,ep.l)(t).then(e=>{e&&z.oR.copy()})},className:"shrink-0 p-1 rounded text-muted-foreground hover:text-foreground transition-colors",title:o.authTokenCopy,children:(0,r.jsx)(ec.A,{size:13})})]}),e.mcpPort&&(0,r.jsxs)("p",{className:"text-xs text-muted-foreground",children:[o.authTokenMcpPort,": ",(0,r.jsx)("code",{className:"font-mono",children:e.mcpPort}),G&&(0,r.jsxs)(r.Fragment,{children:[" \xa0\xb7\xa0 ",o.mcpUrl??"MCP URL",": ",(0,r.jsx)("code",{className:"font-mono select-all",children:`${M}:${e.mcpPort}/mcp`})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsxs)("button",{type:"button",onClick:function(){K(!0)},disabled:U,title:U?s.hints.tokenResetInProgress:void 0,className:"flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-lg border border-border text-muted-foreground hover:text-foreground hover:bg-muted disabled:opacity-40 disabled:cursor-not-allowed transition-colors",children:[(0,r.jsx)(c.A,{size:14,className:U?"animate-spin":""}),o.authTokenReset]}),H&&(0,r.jsxs)("button",{type:"button",onClick:W,className:"flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-lg border border-border text-muted-foreground hover:text-destructive hover:border-destructive/50 transition-colors",children:[(0,r.jsx)(u.A,{size:14}),o.authTokenClear]})]}),F&&(0,r.jsx)("p",{className:"text-xs text-[var(--amber-text)]",children:o.tokenGenerated})]})})]}),null!==A&&(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(n.A,{size:15}),title:s.guide?.title??"Getting Started",children:[(0,r.jsx)(T.pM,{label:s.guide?.showGuide??"Show getting started guide",children:(0,r.jsx)(T.lM,{checked:!P,onChange:()=>I()})}),(0,r.jsxs)("button",{onClick:$,className:"flex items-center gap-1.5 mt-2 px-3 py-1.5 text-sm rounded-lg border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:[(0,r.jsx)(g.A,{size:14}),o.restartWalkthrough??"Restart walkthrough"]})]}),(0,r.jsx)(T.L7,{icon:(0,r.jsx)(em.A,{size:15}),title:i.labsTitle??"Labs",description:i.labsDesc??"Experimental features that are still in development.",children:(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(eC,{label:i.labsEcho??"Echo",description:i.labsEchoDesc??"Reflective journaling powered by your notes.",checked:d,onChange:e=>{m(e),localStorage.setItem("mindos:labs-echo",e?"1":"0"),window.dispatchEvent(new Event("mindos:labs-changed"))}}),(0,r.jsx)(eC,{label:i.labsWorkflows??"Flows",description:i.labsWorkflowsDesc??"Visual workflow automation for agents.",checked:x,onChange:e=>{h(e),localStorage.setItem("mindos:labs-workflows",e?"1":"0"),window.dispatchEvent(new Event("mindos:labs-changed"))}})]})}),(0,r.jsx)(eA,{k:o}),(0,r.jsx)(ex.TM,{open:O,title:o.authTokenReset??"Regenerate Token",message:o.authTokenResetConfirm,confirmLabel:o.authTokenReset??"Regenerate",cancelLabel:o.cancel??"Cancel",onConfirm:()=>{K(!1),J()},onCancel:()=>K(!1)}),(0,r.jsx)(ex.TM,{open:B,title:o.cleanupExamples??"Cleanup Examples",message:null!==v?o.cleanupExamplesConfirm(v):"",confirmLabel:o.cleanupExamplesButton??"Clean up",cancelLabel:o.cancel??"Cancel",variant:"destructive",onConfirm:async()=>{_(!1),k(!0);let e=await ev();k(!1),e.success&&(C(e.deleted),j(0))},onCancel:()=>_(!1)})]})}function eC({label:e,description:t,checked:s,onChange:a}){return(0,r.jsxs)("label",{className:"flex items-center gap-3 cursor-pointer group",children:[(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-foreground block",children:e}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:t})]}),(0,r.jsx)("button",{type:"button",role:"switch","aria-checked":s,onClick:()=>a(!s),className:`relative w-9 h-5 rounded-full transition-colors shrink-0 ${s?"bg-[var(--amber)]":"bg-muted-foreground/20"}`,children:(0,r.jsx)("span",{className:`absolute top-0.5 left-0.5 w-4 h-4 rounded-full bg-white shadow-sm transition-transform ${s?"translate-x-4":"translate-x-0"}`})})]})}function eA({k:e}){let[t,s]=(0,a.useState)(!1),[n,l]=(0,a.useState)(null),[o,i]=(0,a.useState)(!1),d=(0,a.useCallback)(async()=>{i(!0);try{let e=await (0,y.n)("/api/monitoring",{timeout:5e3});l(e)}catch{}i(!1)},[]),c=(0,a.useRef)(!1);return(0,a.useEffect)(()=>{if(!t){c.current=!1;return}c.current||(d(),c.current=!0);let e=setInterval(d,1e4);return()=>clearInterval(e)},[t,d]),(0,r.jsxs)("div",{className:"border-t border-border pt-5",children:[(0,r.jsxs)("button",{onClick:()=>s(e=>!e),className:"flex items-center gap-1.5 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors w-full",children:[t?(0,r.jsx)(es.A,{size:14}):(0,r.jsx)(er.A,{size:14}),(0,r.jsx)(eu.A,{size:12}),e.monitoringTitle??"System Monitoring",o&&(0,r.jsx)(p.A,{size:10,className:"animate-spin ml-1"})]}),t&&n&&(0,r.jsxs)("div",{className:"mt-3 grid grid-cols-2 gap-x-6 gap-y-2 text-xs",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorHeap??"Heap"}),(0,r.jsxs)("span",{className:"ml-2 tabular-nums",children:[eg(n.system.memory.heapUsed)," / ",eg(n.system.memory.heapTotal)]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorRss??"RSS"}),(0,r.jsx)("span",{className:"ml-2 tabular-nums",children:eg(n.system.memory.rss)})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorUptime??"Uptime"}),(0,r.jsx)("span",{className:"ml-2 tabular-nums",children:function(e){let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let s=Math.floor(t/60);if(s<60)return`${s}m ${t%60}s`;let r=Math.floor(s/60);if(r<24)return`${r}h ${s%60}m`;let a=Math.floor(r/24);return`${a}d ${r%24}h`}(n.system.uptimeMs)})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorNode??"Node"}),(0,r.jsx)("span",{className:"ml-2",children:n.system.nodeVersion})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorRequests??"Requests"}),(0,r.jsx)("span",{className:"ml-2 tabular-nums",children:n.application.agentRequests})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorToolCalls??"Tool Calls"}),(0,r.jsx)("span",{className:"ml-2 tabular-nums",children:n.application.toolExecutions})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorTokens??"Tokens"}),(0,r.jsx)("span",{className:"ml-2 tabular-nums",children:(n.application.totalTokens.input+n.application.totalTokens.output).toLocaleString()})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorFiles??"Files"}),(0,r.jsxs)("span",{className:"ml-2 tabular-nums",children:[n.knowledgeBase.fileCount," (",eg(n.knowledgeBase.totalSizeBytes),")"]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"MCP"}),(0,r.jsx)("span",{className:"ml-2",children:n.mcp.running?e.monitorMcpRunning?.(n.mcp.port)??`Running :${n.mcp.port}`:e.monitorMcpStopped??"Stopped"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorErrors??"Errors"}),(0,r.jsx)("span",{className:"ml-2 tabular-nums",children:n.application.errors})]})]}),t&&!n&&!o&&(0,r.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:e.monitoringFailed??"Failed to load monitoring data"})]})}var ez=s(75579),eT=s(19777),eE=s(98480),eP=s(9986),eR=s(55798),eI=s(20677),e$=s(73601),eM=s(27636),eU=s(2408);let eD=(0,s(93738).default)(()=>Promise.all([s.e(8225),s.e(206),s.e(2303)]).then(s.bind(s,32303)),{loadableGenerated:{webpack:()=>[32303]},ssr:!1});function eF({skill:e,expanded:t,onExpand:s,onToggle:a,onDelete:n,onEditStart:l,onEditSave:o,onEditCancel:i,editing:d,editContent:c,setEditContent:m,editError:g,saving:h,fullContent:b,loadingContent:f,loadErrors:v,m:j}){return(0,r.jsxs)("div",{className:"border border-border rounded-lg overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>s(e.name),children:[t?(0,r.jsx)(es.A,{size:12}):(0,r.jsx)(er.A,{size:12}),(0,r.jsx)("span",{className:"text-xs font-medium flex-1",children:e.name}),(0,r.jsx)("span",{className:`text-2xs px-1.5 py-0.5 rounded ${"builtin"===e.source?"bg-muted text-muted-foreground":"bg-[var(--amber-subtle)] text-[var(--amber-text)]"}`,children:"builtin"===e.source?j?.skillBuiltin??"Built-in":j?.skillUser??"Custom"}),(0,r.jsx)(T.lM,{size:"sm",checked:e.enabled,onClick:t=>{t.stopPropagation(),a(e.name,!e.enabled)}})]}),t&&(0,r.jsxs)("div",{className:"px-3 py-2 border-t border-border text-xs space-y-2 bg-muted/20",children:[(0,r.jsx)("p",{className:"text-muted-foreground",children:e.description||"No description"}),(0,r.jsx)("p",{className:"text-muted-foreground font-mono text-2xs",children:e.path}),f===e.name?(0,r.jsxs)("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[(0,r.jsx)(p.A,{size:10,className:"animate-spin"}),(0,r.jsx)("span",{className:"text-2xs",children:"Loading..."})]}):b[e.name]?(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-2xs text-muted-foreground font-medium",children:j?.skillContent??"Content"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[e.editable&&d!==e.name&&(0,r.jsxs)("button",{onClick:()=>l(e.name),className:"flex items-center gap-1 text-2xs text-muted-foreground hover:text-foreground transition-colors",children:[(0,r.jsx)(eU.A,{size:10}),j?.editSkill??"Edit"]}),e.editable&&(0,r.jsxs)("button",{onClick:()=>n(e.name),className:"flex items-center gap-1 text-2xs text-destructive hover:underline",children:[(0,r.jsx)(u.A,{size:10}),j?.deleteSkill??"Delete"]})]})]}),d===e.name?(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsx)("textarea",{value:c,onChange:e=>m(e.target.value),rows:Math.min(20,(c.match(/\n/g)||[]).length+3),className:"w-full px-2.5 py-1.5 text-xs rounded-md border border-border bg-background text-foreground outline-none focus-visible:ring-1 focus-visible:ring-ring resize-y font-mono"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("button",{onClick:()=>o(e.name),disabled:h,className:"flex items-center gap-1 px-2.5 py-1 text-xs rounded-md disabled:opacity-40 disabled:cursor-not-allowed transition-colors bg-[var(--amber)] text-[var(--amber-foreground)]",children:[h&&(0,r.jsx)(p.A,{size:10,className:"animate-spin"}),j?.saveSkill??"Save"]}),(0,r.jsx)("button",{onClick:i,className:"px-2.5 py-1 text-xs rounded-md border border-border text-muted-foreground hover:text-foreground transition-colors",children:j?.cancelSkill??"Cancel"})]}),g&&(0,r.jsxs)("p",{className:"text-2xs text-destructive flex items-center gap-1",children:[(0,r.jsx)(x.A,{size:10}),g]})]}):(0,r.jsx)("div",{className:"w-full rounded-md border border-border bg-background/50 max-h-[300px] overflow-y-auto px-2.5 py-1.5 text-xs [&_.prose]:max-w-none [&_.prose]:text-xs [&_h1]:text-sm [&_h2]:text-xs [&_h3]:text-xs [&_pre]:text-2xs [&_code]:text-2xs",children:(0,r.jsx)(eD,{content:function(e){if(!e.startsWith("---"))return e;let t=e.indexOf("\n---",3);return -1===t?e:e.slice(t+4).replace(/^\n+/,"")}(b[e.name])})})]}):v[e.name]?(0,r.jsxs)("p",{className:"text-2xs text-destructive flex items-center gap-1",children:[(0,r.jsx)(x.A,{size:10}),v[e.name]]}):null]})]})}let eL=e=>`---
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1023],{21023:(e,t,s)=>{s.d(t,{default:()=>tT});var r=s(66839),a=s(44223),n=s(19378),l=s(95333),o=s(96733),i=s(77932),d=s(82296),c=s(67885),m=s(71481),u=s(31606),x=s(21082),p=s(44361),g=s(52212),h=s(38688),b=s(72799),f=s(97786),v=s(56261),j=s(2073),y=s(65264),N=s(4373),k=s(78610),w=s(38325),S=s(76723),C=s(31082),A=s(40517),z=s(79455),T=s(69527),E=s(69604),P=s(74342),R=s(48892),I=s(87756);function $(e,t=[],s,r){let a=E.T_[e],n="zh"===r?a.nameZh:a.name,l=new Set(t.filter(e=>e&&e!==s).map(e=>e.trim().toLowerCase()));if(!l.has(n.trim().toLowerCase()))return n;let o=2;for(;l.has(`${n} ${o}`.toLowerCase());)o++;return`${n} ${o}`}function M({form:e,t,locale:s,layout:a="full"}){let n=E.T_[e.protocol],l="zh"===s?"名称":"Name",o="zh"===s?"协议":"Protocol",i="zh"===s?"可选,默认使用协议名称":"Optional, defaults to protocol name",d=e.isDuplicateName?"zh"===s?"名称已存在":"Name already exists":void 0;return(0,r.jsxs)("div",{className:"space-y-3",children:["compact"===a?(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,r.jsx)(T.D0,{label:l,hint:d,hintError:e.isDuplicateName,children:(0,r.jsx)(T.pd,{value:e.name,onChange:t=>e.setName(t.target.value),placeholder:i,autoFocus:!0})}),(0,r.jsx)(T.D0,{label:o,children:(0,r.jsx)(T.l6,{value:e.protocol,onChange:t=>e.setProtocol(t.target.value),children:E.jt.map(e=>(0,r.jsx)("option",{value:e,children:"zh"===s?E.T_[e].nameZh:E.T_[e].name},e))})})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(T.D0,{label:l,hint:d,hintError:e.isDuplicateName,children:(0,r.jsx)(T.pd,{value:e.name,onChange:t=>e.setName(t.target.value),placeholder:i})}),(0,r.jsx)(T.D0,{label:o,children:(0,r.jsx)(T.l6,{value:e.protocol,onChange:t=>e.setProtocol(t.target.value),children:E.jt.map(e=>(0,r.jsx)("option",{value:e,children:"zh"===s?E.T_[e].nameZh:E.T_[e].name},e))})})]}),(0,r.jsx)(T.D0,{label:"Base URL",children:(0,r.jsx)(T.pd,{value:e.baseUrl,onChange:t=>e.setBaseUrl(t.target.value),placeholder:n.fixedBaseUrl||"https://api.example.com/v1"})}),(0,r.jsx)(T.D0,{label:(0,r.jsxs)(r.Fragment,{children:["API Key ",(0,r.jsx)("span",{className:"text-muted-foreground/50 font-normal",children:"zh"===s?"(可选)":"(optional)"})]}),children:(0,r.jsx)(T.yA,{value:e.apiKey,onChange:e.setApiKey,placeholder:"sk-..."})}),(0,r.jsx)(T.D0,{label:"zh"===s?"模型":"Model",children:(0,r.jsx)(R.A,{value:e.model,onChange:e.setModel,placeholder:n.defaultModel,provider:e.protocol,apiKey:e.apiKey,baseUrl:e.baseUrl,supportsListModels:!!e.baseUrl.trim(),allowNoKey:!0,browseLabel:t.settings.ai.listModels,noModelsLabel:t.settings.ai.noModelsFound})})]})}var U=s(29696);function D({result:e,disabled:t,onTest:s,t:a}){let n="testing"===e.state,l="ok"===e.state,o="error"===e.state;return(0,r.jsxs)("button",{type:"button",disabled:t||n,onClick:s,className:`inline-flex items-center gap-1.5 px-3.5 py-1.5 text-sm font-medium rounded-lg transition-all duration-200 disabled:cursor-not-allowed ${l?"bg-success/10 text-success border border-success/20":o?"bg-destructive/8 text-destructive border border-destructive/20 hover:bg-destructive/12":"border border-border text-muted-foreground hover:text-foreground hover:border-foreground/20 disabled:opacity-40"}`,children:[n?(0,r.jsx)(p.A,{size:13,className:"animate-spin"}):l?(0,r.jsx)(S.A,{size:13}):o?(0,r.jsx)(x.A,{size:13}):(0,r.jsx)(U.A,{size:13}),n?a.settings.ai.testKeyTesting:l&&null!=e.latency?a.settings.ai.testKeyOk(e.latency):o?function(e,t){switch(t){case"auth_error":return e.settings.ai.testKeyAuthError;case"model_not_found":return e.settings.ai.testKeyModelNotFound;case"endpoint_error":return e.settings.ai.testKeyEndpointError;case"rate_limited":return e.settings.ai.testKeyRateLimited;case"network_error":return e.settings.ai.testKeyNetworkError;default:return e.settings.ai.testKeyUnknown}}(a,e.code):a.settings.ai.testKey]})}let F=[10,20,30,40,50,999];function L({value:e,onChange:t}){let s=F.includes(e),[n,l]=(0,a.useState)(!s);return(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)(T.l6,{value:n?"custom":String(e),onChange:e=>{let s=e.target.value;"custom"===s?l(!0):(l(!1),t(Number(s)))},className:"w-28",children:[(0,r.jsx)("option",{value:"10",children:"10"}),(0,r.jsx)("option",{value:"20",children:"20"}),(0,r.jsx)("option",{value:"30",children:"30"}),(0,r.jsx)("option",{value:"40",children:"40"}),(0,r.jsx)("option",{value:"50",children:"50"}),(0,r.jsx)("option",{value:"999",children:"Unlimited"}),(0,r.jsx)("option",{value:"custom",children:"Custom"})]}),n&&(0,r.jsx)("input",{type:"number",value:999===e?"":e,onChange:e=>{let s=parseInt(e.target.value,10);!isNaN(s)&&s>0&&t(Math.min(999,s))},placeholder:"1-999",min:1,max:999,autoFocus:!0,className:"w-20 px-2 py-1 rounded-md border border-border/60 bg-muted/50 text-sm text-foreground"})]})}function O({data:e,setData:t,updateAi:s,updateAgent:l,t:o}){let{locale:i}=(0,j.Y)(),d=e.envOverrides??{},c=e.ai.providers.find(t=>t.id===e.ai.activeProvider),m=c?E.T_[c.protocol]:null,[u,x]=(0,a.useState)({}),[p,g]=(0,a.useState)(!1),h=(0,a.useRef)(void 0),b=(0,a.useRef)(e.ai.activeProvider);(0,a.useEffect)(()=>{b.current!==e.ai.activeProvider&&(b.current=e.ai.activeProvider,x({}),h.current&&(clearTimeout(h.current),h.current=void 0))},[e.ai.activeProvider]),(0,a.useEffect)(()=>()=>{h.current&&clearTimeout(h.current)},[]),(0,a.useEffect)(()=>{let t=e.agent?.reconnectRetries??3;try{localStorage.setItem("mindos-reconnect-retries",String(t))}catch(e){console.warn("[AiTab] localStorage setItem reconnectRetries failed:",e)}},[e.agent?.reconnectRetries]);let f=(0,a.useCallback)(async()=>{if(!c)return;let e=c.id;x(t=>({...t,[e]:{state:"testing"}}));try{let t={provider:c.protocol};c.apiKey&&(t.apiKey=c.apiKey),c.model&&(t.model=c.model),c.baseUrl&&(t.baseUrl=c.baseUrl);let s=await fetch("/api/settings/test-key",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await s.json();r.ok?(x(t=>({...t,[e]:{state:"ok",latency:r.latency}})),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{x(t=>({...t,[e]:{state:"idle"}}))},8e3)):x(t=>({...t,[e]:{state:"error",error:r.error,code:r.code}}))}catch{x(t=>({...t,[e]:{state:"error",code:"network_error",error:"Network error"}}))}},[c]),v=(0,a.useCallback)(t=>{c&&("apiKey"in t&&x(e=>({...e,[c.id]:{state:"idle"}})),s({providers:e.ai.providers.map(e=>e.id===c.id?{...e,...t}:e)}))},[c,e.ai.providers,s]),y=c?(0,E.Ux)(c.protocol):void 0,w=!!y&&d[y],S=!!m?.apiKeyFallback,C=(0,a.useCallback)(()=>{if(!c)return;let t=E.T_[c.protocol];x(e=>({...e,[c.id]:{state:"idle"}})),s({providers:e.ai.providers.map(e=>e.id===c.id?{...e,apiKey:"",model:"",baseUrl:t?.fixedBaseUrl??""}:e)})},[c,e.ai.providers,s]),A=(0,a.useCallback)(()=>{if(!c)return;let t=e.ai.providers.filter(e=>e.id!==c.id);s({activeProvider:t.length>0?t[0].id:"",providers:t}),x(e=>{let t={...e};return delete t[c.id],t})},[c,e.ai.providers,s]),z=(0,a.useCallback)(t=>{let r={id:t.id||(0,I.mV)(),name:t.name,protocol:t.protocol,apiKey:t.apiKey,model:t.model,baseUrl:t.baseUrl};s({activeProvider:r.id,providers:[...e.ai.providers,r]}),g(!1)},[e.ai.providers,s]),$=c?.name??("zh"===i?"未选择":"No provider");return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(n.A,{size:15}),title:o.settings.ai.provider,description:$,children:[(0,r.jsx)(P.A,{value:e.ai.activeProvider,onChange:e=>{"skip"!==e&&s({activeProvider:e}),g(!1)},compact:!0,customProviders:e.ai.providers,onAdd:()=>{let t=E.T_.openai,s="zh"===i?t.nameZh:t.name,r=new Set(e.ai.providers.map(e=>e.name.toLowerCase())),a=s;if(r.has(a.toLowerCase())){let e=2;for(;r.has(`${s} (${e})`.toLowerCase());)e++;a=`${s} (${e})`}g(!0)}}),p&&(0,r.jsx)(B,{onSave:z,onCancel:()=>g(!1),t:o,existingNames:e.ai.providers.map(e=>e.name)},"new"),!p&&c&&(0,r.jsxs)("div",{className:"space-y-3 pt-3 border-t border-border",children:[(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,r.jsx)(T.D0,{label:"zh"===i?"名称":"Name",children:(0,r.jsx)(T.pd,{value:c.name,onChange:e=>v({name:e.target.value}),placeholder:"zh"===i?"输入名称":"Enter name"})}),(0,r.jsx)(T.D0,{label:"zh"===i?"协议":"Protocol",children:(0,r.jsx)(T.l6,{value:c.protocol,onChange:e=>v({protocol:e.target.value}),children:E.jt.map(e=>(0,r.jsx)("option",{value:e,children:"zh"===i?E.T_[e].nameZh:E.T_[e].name},e))})})]}),(0,r.jsxs)(T.D0,{label:(0,r.jsxs)(r.Fragment,{children:[o.settings.ai.apiKey," ",y&&(0,r.jsx)(T.Bt,{overridden:d[y]})]}),hint:m&&w?o.settings.ai.envFieldNote(y):m&&S?o.settings.ai.keyOptionalHint:void 0,children:[(0,r.jsx)(T.yA,{value:c.apiKey,onChange:e=>v({apiKey:e}),placeholder:"sk-..."}),m?.signupUrl&&!c.apiKey&&!w&&(0,r.jsxs)("a",{href:m.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,r.jsx)(N.A,{size:10}),S?"zh"===i?`下载 ${m.nameZh}`:`Download ${m.name}`:"zh"===i?`获取 ${m.nameZh} API Key`:`Get ${m.name} API Key`]})]}),(m?.supportsBaseUrl||c.baseUrl)&&(0,r.jsx)(T.D0,{label:"Base URL",children:(0,r.jsx)(T.pd,{value:c.baseUrl,onChange:e=>v({baseUrl:e.target.value}),placeholder:m?.fixedBaseUrl||(0,E.Ot)(c.protocol)||"https://api.openai.com/v1"})}),(0,r.jsx)(T.D0,{label:"zh"===i?"模型":"Model",children:(0,r.jsx)(R.A,{value:c.model,onChange:e=>v({model:e}),placeholder:m?.defaultModel??"",provider:c.protocol,apiKey:c.apiKey,envKey:!!w,baseUrl:c.baseUrl,supportsListModels:!!c.baseUrl?.trim()||!!m?.supportsListModels,allowNoKey:!!c.baseUrl?.trim(),browseLabel:o.settings.ai.listModels,noModelsLabel:o.settings.ai.noModelsFound})}),(0,r.jsx)(K,{provider:c.protocol,result:u[c.id]??{state:"idle"},hasKey:!!c.apiKey,hasEnv:!!w,hasConfig:!!(c.apiKey||c.model||c.baseUrl),onTest:f,onReset:C,onDelete:A,t:o})]})]}),(0,r.jsx)(G,{data:e,setData:t,t:o}),(0,r.jsx)(V,{data:e,setData:t,t:o}),(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(k.A,{size:15}),title:o.settings.agent.title,description:o.settings.agent.subtitle??"Configure how the AI agent operates",children:[(0,r.jsx)(T.pM,{label:o.settings.agent.maxSteps,hint:o.settings.agent.maxStepsHint,children:(0,r.jsx)(L,{value:e.agent?.maxSteps??20,onChange:e=>l({maxSteps:e})})}),(0,r.jsx)(T.pM,{label:o.settings.agent.contextStrategy,hint:o.settings.agent.contextStrategyHint,children:(0,r.jsxs)(T.l6,{value:e.agent?.contextStrategy??"auto",onChange:e=>l({contextStrategy:e.target.value}),className:"w-24",children:[(0,r.jsx)("option",{value:"auto",children:o.settings.agent.contextStrategyAuto}),(0,r.jsx)("option",{value:"off",children:o.settings.agent.contextStrategyOff})]})}),(0,r.jsx)(T.pM,{label:o.settings.agent.reconnectRetries,hint:o.settings.agent.reconnectRetriesHint,children:(0,r.jsxs)(T.l6,{value:String(e.agent?.reconnectRetries??3),onChange:e=>{let t=Number(e.target.value);l({reconnectRetries:t});try{localStorage.setItem("mindos-reconnect-retries",String(t))}catch(e){console.warn("[AiTab] localStorage setItem reconnectRetries failed:",e)}},className:"w-20",children:[(0,r.jsx)("option",{value:"0",children:"Off"}),(0,r.jsx)("option",{value:"1",children:"1"}),(0,r.jsx)("option",{value:"2",children:"2"}),(0,r.jsx)("option",{value:"3",children:"3"}),(0,r.jsx)("option",{value:"5",children:"5"}),(0,r.jsx)("option",{value:"10",children:"10"})]})}),m?.supportsThinking&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(T.pM,{label:o.settings.agent.thinking,hint:o.settings.agent.thinkingHint,children:(0,r.jsx)(T.lM,{checked:e.agent?.enableThinking??!1,onChange:()=>l({enableThinking:!e.agent?.enableThinking})})}),e.agent?.enableThinking&&(0,r.jsx)(T.D0,{label:o.settings.agent.thinkingBudget,hint:o.settings.agent.thinkingBudgetHint,children:(0,r.jsx)(T.pd,{type:"number",value:String(e.agent?.thinkingBudget??5e3),onChange:e=>{let t=parseInt(e.target.value,10);isNaN(t)||l({thinkingBudget:Math.max(1e3,Math.min(5e4,t))})},min:1e3,max:5e4,step:1e3})})]})]}),(0,r.jsx)(Y,{})]})}function K({provider:e,result:t,hasKey:s,hasEnv:n,hasConfig:l,onTest:o,onReset:i,onDelete:d,t:c}){let[m,x]=(0,a.useState)(null),p=(0,a.useRef)(void 0),h=!!E.T_[e]?.apiKeyFallback;(0,a.useEffect)(()=>()=>{p.current&&clearTimeout(p.current)},[]);let b=e=>{m===e?("reset"===e?i?.():d?.(),x(null),p.current&&clearTimeout(p.current)):(x(e),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>x(null),3e3))},{locale:f}=(0,j.Y)();return(0,r.jsx)("div",{className:"space-y-2 pt-2",children:(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)(D,{result:t,disabled:!(s||n||h),onTest:o,t:c}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[i&&l&&(0,r.jsxs)("button",{type:"button",onClick:()=>b("reset"),onBlur:()=>{"reset"===m&&(x(null),p.current&&clearTimeout(p.current))},className:`inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-lg transition-all duration-200 ${"reset"===m?"bg-destructive/10 text-destructive border border-destructive/25 font-medium":"text-muted-foreground/60 hover:text-muted-foreground hover:bg-muted/50"}`,children:[(0,r.jsx)(g.A,{size:12}),"reset"===m?"zh"===f?"确认重置?":"Confirm?":"zh"===f?"重置":"Reset"]}),d&&(0,r.jsxs)("button",{type:"button",onClick:()=>b("delete"),onBlur:()=>{"delete"===m&&(x(null),p.current&&clearTimeout(p.current))},className:`inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-lg transition-all duration-200 ${"delete"===m?"bg-destructive/10 text-destructive border border-destructive/25 font-medium":"text-muted-foreground/60 hover:text-muted-foreground hover:bg-muted/50"}`,children:[(0,r.jsx)(u.A,{size:12}),"delete"===m?"zh"===f?"确认删除?":"Confirm?":"zh"===f?"删除":"Delete"]})]})]})})}function B({initial:e,onSave:t,onCancel:s,onDelete:n,t:l,existingNames:o}){let{locale:i}=(0,j.Y)(),d=function({initial:e,onSave:t,locale:s,existingNames:r}){let n=(0,a.useMemo)(()=>e?.name??$(e?.protocol??"openai",r,e?.name,s),[e?.name,e?.protocol,r,s]),[l,o]=(0,a.useState)(n),[i,d]=(0,a.useState)(e?.protocol??"openai"),[c,m]=(0,a.useState)(e?.apiKey??""),[u,x]=(0,a.useState)(e?.model??""),[p,g]=(0,a.useState)(e?.baseUrl??""),[h,b]=(0,a.useState)({state:"idle"}),[f,v]=(0,a.useState)(!!e?.name),j=(0,a.useMemo)(()=>$(i,r,e?.name,s),[i,r,e?.name,s]);(0,a.useEffect)(()=>{f||o(j)},[j,f]);let y=(0,a.useCallback)(e=>{v(!0),o(e)},[]),N=(0,a.useCallback)(e=>{d(e),b({state:"idle"})},[]),k=l.trim()||j,w=!!(k&&r?.some(t=>t!==e?.name&&t.toLowerCase()===k.toLowerCase())),S=!!(p.trim()&&u.trim()&&!w),C="zh"===s?"接口地址和模型为必填":"Base URL and model are required",A="zh"===s?"名称已存在,请使用其他名称":"Name already exists, please use a different name",z=(0,a.useCallback)(async()=>{if(w)return void b({state:"error",error:A});if(!p.trim()||!u.trim())return void b({state:"error",error:C});b({state:"testing"});try{let t=await fetch("/api/settings/test-key",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e?.id?{provider:e.id,apiKey:c,model:u,baseUrl:p}:{provider:i,apiKey:c,model:u,baseUrl:p,baseProviderId:i})}),s=await t.json();s.ok?b({state:"ok",latency:s.latency}):b({state:"error",error:s.error||"Test failed",code:s.code})}catch{b({state:"error",code:"network_error",error:"Network error"})}},[w,A,p,u,e?.id,c,i,C]),T=(0,a.useCallback)(()=>{w?b({state:"error",error:A}):p.trim()&&u.trim()?t({id:e?.id||(0,I.mV)(),name:k,protocol:i,apiKey:c,model:u.trim(),baseUrl:p.trim()}):b({state:"error",error:C})},[w,A,p,u,C,t,e?.id,k,i,c]);return{name:l,setName:y,protocol:i,setProtocol:N,apiKey:c,setApiKey:m,model:u,setModel:x,baseUrl:p,setBaseUrl:g,testResult:h,canSave:S,isDuplicateName:w,handleTest:z,handleSave:T}}({initial:e,onSave:t,locale:i,existingNames:o}),[c,m]=(0,a.useState)(!1),x=(0,a.useRef)(void 0);(0,a.useEffect)(()=>()=>{x.current&&clearTimeout(x.current)},[]);let p=e?.id?"zh"===i?"编辑 Provider":"Edit Provider":"zh"===i?"添加 Provider":"Add Provider",g=[];return d.name.trim()||g.push("zh"===i?"名称":"Name"),d.baseUrl.trim()||g.push("zh"===i?"接口地址":"Base URL"),d.model.trim()||g.push("zh"===i?"模型":"Model"),(0,r.jsxs)("div",{className:"mt-3 rounded-lg border border-border overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 border-b border-border",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-foreground",children:p}),(0,r.jsx)("button",{type:"button",onClick:s,className:"p-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors","aria-label":"zh"===i?"关闭":"Close",children:(0,r.jsx)(b.A,{size:14})})]}),(0,r.jsxs)("div",{className:"p-4",children:[(0,r.jsx)(M,{form:d,t:l,locale:i,layout:"compact"}),(0,r.jsxs)("div",{className:"flex items-center gap-2 pt-4",children:[(0,r.jsx)(D,{result:d.testResult,disabled:!d.canSave,onTest:d.handleTest,t:l}),n&&e?.id&&(0,r.jsxs)("button",{type:"button",onClick:()=>{c?(n(),x.current&&clearTimeout(x.current)):(m(!0),x.current=setTimeout(()=>m(!1),3e3))},onBlur:()=>{m(!1),x.current&&clearTimeout(x.current)},className:`inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-lg transition-all duration-200 ${c?"bg-destructive/10 text-destructive border border-destructive/25 font-medium":"text-muted-foreground/60 hover:text-muted-foreground hover:bg-muted/50"}`,children:[(0,r.jsx)(u.A,{size:12}),c?"zh"===i?"确认删除?":"Confirm?":"zh"===i?"删除":"Delete"]}),(0,r.jsxs)("div",{className:"flex-1",children:[d.isDuplicateName&&(0,r.jsx)("span",{className:"text-2xs text-destructive pl-2",children:"zh"===i?"名称已存在":"Name already exists"}),!d.isDuplicateName&&!d.canSave&&g.length>0&&(0,r.jsx)("span",{className:"text-2xs text-muted-foreground/60 pl-2",children:"zh"===i?`需要: ${g.join("、")}`:`Required: ${g.join(", ")}`})]}),(0,r.jsx)("button",{type:"button",onClick:s,className:"px-3 py-1.5 text-sm rounded-lg text-muted-foreground hover:text-foreground transition-colors",children:l.settings?.customProviders?.modal?.buttonCancel??"Cancel"}),(0,r.jsx)("button",{type:"button",onClick:d.handleSave,disabled:!d.canSave,className:"px-4 py-1.5 text-sm font-medium rounded-lg bg-[var(--amber)] text-[var(--amber-foreground)] hover:bg-[var(--amber)]/90 transition-colors disabled:opacity-40 disabled:cursor-not-allowed",children:"zh"===i?"保存":"Save"})]})]})]})}let _=[{label:"SiliconFlow",baseUrl:"https://api.siliconflow.cn/v1",model:"BAAI/bge-m3",badge:"free"},{label:"OpenAI",baseUrl:"https://api.openai.com/v1",model:"text-embedding-3-small",badge:null},{label:"DeepSeek",baseUrl:"https://api.deepseek.com/v1",model:"deepseek-embed",badge:null},{label:"Ollama",baseUrl:"http://localhost:11434/v1",model:"nomic-embed-text",badge:"local"}],H=[{id:"Xenova/bge-small-zh-v1.5",label:"BGE Small ZH (33MB)",desc:"Chinese + English"},{id:"Xenova/all-MiniLM-L6-v2",label:"MiniLM L6 (23MB)",desc:"English only"},{id:"Xenova/bge-small-en-v1.5",label:"BGE Small EN (33MB)",desc:"English only"}];function G({data:e,setData:t,t:s}){let{locale:n}=(0,j.Y)(),l=s.settings.embedding??{},o=e.embedding??{enabled:!1,provider:"local",baseUrl:"",apiKey:"",model:""},i=e.embeddingStatus??{enabled:!1,ready:!1,building:!1,docCount:0},d=o.provider||"local",[c,u]=(0,a.useState)(null),[x,h]=(0,a.useState)("idle"),[f,v]=(0,a.useState)(null);(0,a.useEffect)(()=>{o.enabled&&"local"===d&&(0,y.n)("/api/embedding").then(e=>u(e.downloaded)).catch(()=>u(!1))},[o.enabled,d]),(0,a.useEffect)(()=>{if("downloading"!==x)return;let e=setInterval(()=>{(0,y.n)("/api/embedding",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"status"})}).then(e=>{e.downloaded&&(u(!0),h("idle"),z.oR.success?.(l.modelReady??"Model downloaded")??(0,z.oR)(l.modelReady??"Model downloaded")),e.error&&(h("error"),v(e.error),z.oR.error?.(e.error)??(0,z.oR)(e.error))}).catch(()=>{})},3e3);return()=>clearInterval(e)},[x,l.modelReady]);let N=(0,a.useCallback)(()=>{h("starting"),v(null),(0,y.n)("/api/embedding",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"download",model:o.model||void 0})}).then(e=>{e.ok?h("downloading"):(h("error"),v(e.error??"Download request failed"))}).catch(e=>{h("error"),v(e instanceof Error?e.message:"Network error")})},[o.model]),k=(0,a.useCallback)(()=>{h("idle"),v(null)},[]);return(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(w.A,{size:15}),title:l.title??"Embedding Search",description:l.description??"Semantic search with vector embeddings.",children:[(0,r.jsx)(T.pM,{label:l.enable??"Enable embedding search",hint:l.enableHint,children:(0,r.jsx)(T.lM,{checked:o.enabled,onChange:()=>{t(e=>e?{...e,embedding:{...o,enabled:!o.enabled}}:e)}})}),o.enabled&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>t(e=>e?{...e,embedding:{...o,provider:"local",model:o.model||"Xenova/bge-small-zh-v1.5"}}:e),className:`flex-1 px-3 py-2 text-sm rounded-lg border transition-colors text-center ${"local"===d?"border-[var(--amber)] text-[var(--amber)] bg-[var(--amber)]/10":"border-border text-muted-foreground hover:text-foreground hover:bg-muted"}`,children:[(0,r.jsxs)("span",{className:"font-medium",children:[l.providerLocal??"Local"," (",l.providerLocalFree??"Free",")"]}),(0,r.jsx)("span",{className:"block text-xs opacity-70 mt-0.5",children:l.providerLocalDesc??"Runs on your machine"})]}),(0,r.jsxs)("button",{type:"button",onClick:()=>t(e=>e?{...e,embedding:{...o,provider:"api",model:o.model||"BAAI/bge-m3",baseUrl:o.baseUrl||"https://api.siliconflow.cn/v1"}}:e),className:`flex-1 px-3 py-2 text-sm rounded-lg border transition-colors text-center ${"api"===d?"border-[var(--amber)] text-[var(--amber)] bg-[var(--amber)]/10":"border-border text-muted-foreground hover:text-foreground hover:bg-muted"}`,children:[(0,r.jsx)("span",{className:"font-medium",children:l.providerApi??"API"}),(0,r.jsx)("span",{className:"block text-xs opacity-70 mt-0.5",children:l.providerApiDesc??"OpenAI, DeepSeek, Ollama, etc."})]})]}),"local"===d&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(T.D0,{label:l.model??"Model",hint:l.modelHint,children:(0,r.jsx)("div",{className:"space-y-1.5",children:H.map(e=>(0,r.jsxs)("label",{className:`flex items-center gap-3 px-3 py-2 rounded-lg border cursor-pointer transition-colors ${o.model===e.id?"border-[var(--amber)] bg-[var(--amber)]/5":"border-border hover:bg-muted"}`,children:[(0,r.jsx)("input",{type:"radio",name:"local-model",checked:o.model===e.id,onChange:()=>t(t=>t?{...t,embedding:{...o,model:e.id}}:t),className:"accent-[var(--amber)]"}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-foreground",children:e.label}),(0,r.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:e.desc})]})]},e.id))})}),!1===c&&"idle"===x&&(0,r.jsxs)("button",{type:"button",onClick:N,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium rounded-lg bg-[var(--amber)] text-[var(--amber-foreground)] hover:opacity-90 transition-opacity",children:[(0,r.jsx)(m.A,{size:14}),l.downloadModel??"Install Runtime & Download Model"]}),"starting"===x&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,r.jsx)(p.A,{size:14,className:"animate-spin"}),(0,r.jsx)("span",{children:l.starting??"Starting download..."})]}),"downloading"===x&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,r.jsx)(p.A,{size:14,className:"animate-spin"}),(0,r.jsx)("span",{children:l.downloading??"Downloading model..."})]}),"error"===x&&(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm text-destructive",children:[(0,r.jsx)(b.A,{size:14}),(0,r.jsx)("span",{children:f??"Download failed"})]}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:l.downloadFailedHint??"If install or download keeps failing, try API mode or set HF_ENDPOINT=https://hf-mirror.com"}),(0,r.jsxs)("button",{type:"button",onClick:k,className:"flex items-center gap-2 px-3 py-1.5 text-xs font-medium rounded-md border border-border text-foreground hover:bg-muted transition-colors",children:[(0,r.jsx)(g.A,{size:12}),l.retry??"Retry"]})]}),!0===c&&"idle"===x&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-success",children:[(0,r.jsx)(S.A,{size:12}),(0,r.jsx)("span",{children:l.modelReady??"Model ready"})]})]}),"api"===d&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"grid grid-cols-2 gap-2",children:_.map(e=>{let s=o.baseUrl===e.baseUrl;return(0,r.jsxs)("button",{type:"button",onClick:()=>{t(t=>t?{...t,embedding:{...o,baseUrl:e.baseUrl,model:e.model}}:t)},className:`relative px-3 py-2 text-left text-sm rounded-lg border transition-colors ${s?"border-[var(--amber)] bg-[var(--amber)]/5":"border-border hover:bg-muted"}`,children:[(0,r.jsx)("span",{className:`font-medium ${s?"text-[var(--amber)]":"text-foreground"}`,children:e.label}),e.badge&&(0,r.jsx)("span",{className:`ml-1.5 inline-flex items-center px-1.5 py-0.5 text-2xs rounded-full font-medium ${"free"===e.badge?"bg-emerald-500/10 text-emerald-600 dark:text-emerald-400":"bg-blue-500/10 text-blue-600 dark:text-blue-400"}`,children:"free"===e.badge?"zh"===n?"免费":"Free":"zh"===n?"本地":"Local"}),(0,r.jsx)("span",{className:"block text-2xs text-muted-foreground mt-0.5 truncate",children:e.model})]},e.label)})}),!o.baseUrl&&(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:"zh"===n?"推荐使用硅基流动 (SiliconFlow),注册即可免费使用嵌入模型。":"SiliconFlow recommended — free embedding models with registration."}),(0,r.jsx)(T.D0,{label:l.baseUrl??"Base URL",hint:l.baseUrlHint,children:(0,r.jsx)(T.pd,{value:o.baseUrl,onChange:e=>t(t=>t?{...t,embedding:{...o,baseUrl:e.target.value}}:t),placeholder:"https://api.siliconflow.cn/v1"})}),(0,r.jsx)(T.D0,{label:l.apiKey??"API Key",hint:o.baseUrl?.includes("localhost")||o.baseUrl?.includes("127.0.0.1")?l.apiKeyHintLocal??("zh"===n?"本地服务可留空":"Leave empty for local services"):l.apiKeyHint??("zh"===n?"在服务商网站获取 API Key":"Get your API key from the provider"),children:(0,r.jsx)(T.yA,{value:o.apiKey,onChange:e=>t(t=>t?{...t,embedding:{...o,apiKey:e}}:t),placeholder:"sk-..."})}),(0,r.jsx)(T.D0,{label:l.model??"Model",hint:l.modelName,children:(0,r.jsx)(T.pd,{value:o.model,onChange:e=>t(t=>t?{...t,embedding:{...o,model:e.target.value}}:t),placeholder:"BAAI/bge-m3"})})]}),(0,r.jsx)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground pt-1",children:i.building?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p.A,{size:12,className:"animate-spin"}),(0,r.jsx)("span",{children:l.indexBuilding??"Building embedding index..."})]}):i.ready?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(S.A,{size:12,className:"text-success"}),(0,r.jsx)("span",{children:"function"==typeof l.indexReady?l.indexReady(i.docCount):`${i.docCount} documents indexed`})]}):(0,r.jsx)("span",{children:l.indexPending??"Index will be built on first search"})})]})]})}let J=[{id:"auto",labelKey:"providerAuto",descKey:"providerAutoDesc"},{id:"exa",labelKey:"providerExa",descKey:"providerExaDesc"},{id:"perplexity",labelKey:"providerPerplexity",descKey:"providerPerplexityDesc"},{id:"gemini",labelKey:"providerGemini",descKey:"providerGeminiDesc"}],W=[{key:"exaApiKey",labelKey:"exaApiKey",placeholder:"exa-..."},{key:"perplexityApiKey",labelKey:"perplexityApiKey",placeholder:"pplx-..."},{key:"geminiApiKey",labelKey:"geminiApiKey",placeholder:"AIza..."}];function V({data:e,setData:t,t:s}){let a=s.settings.webSearch??{},n=e.webSearch??{provider:"auto",exaApiKey:"",perplexityApiKey:"",geminiApiKey:""},l=n.provider||"auto";return(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(C.A,{size:15}),title:a.title??"Web Search",description:a.description??"Configure search providers.",children:[(0,r.jsx)("div",{className:"flex gap-2 flex-wrap",children:J.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>{t(t=>t?{...t,webSearch:{...n,provider:e.id}}:t)},className:`px-2.5 py-1 text-xs rounded-md border transition-colors ${l===e.id?"border-[var(--amber)] text-[var(--amber)] bg-[var(--amber)]/10":"border-border text-muted-foreground hover:text-foreground hover:bg-muted"}`,children:a[e.labelKey]??e.id},e.id))}),(()=>{let e=J.find(e=>e.id===l);if(!e)return null;let t=a[e.descKey];return t?(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:t}):null})(),W.map(e=>(0,r.jsx)(T.D0,{label:a[e.labelKey]??e.key,hint:a.apiKeyHint,children:(0,r.jsx)(T.yA,{value:n[e.key]??"",onChange:s=>t(t=>t?{...t,webSearch:{...n,[e.key]:s}}:t),placeholder:e.placeholder})},e.key)),(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:a.noKeysHint??"Works without API keys via Exa MCP (zero-config)."})]})}function Y(){let{t:e}=(0,j.Y)(),[t,s]=(0,a.useState)("panel");return(0,a.useEffect)(()=>{try{let e=localStorage.getItem("ask-mode");"popup"===e&&s("popup")}catch(e){console.warn("[AiTab] localStorage getItem ask-mode failed:",e)}},[]),(0,r.jsx)(T.L7,{icon:(0,r.jsx)(A.A,{size:15}),title:e.settings.askDisplayMode?.label??"Display Mode",description:e.settings.askDisplayMode?.hint??"Side panel stays docked on the right. Popup opens a floating dialog.",children:(0,r.jsxs)(T.l6,{value:t,onChange:e=>(e=>{s(e);try{localStorage.setItem("ask-mode",e)}catch(e){console.warn("[AiTab] localStorage setItem ask-mode failed:",e)}window.dispatchEvent(new StorageEvent("storage",{key:"ask-mode",newValue:e}))})(e.target.value),children:[(0,r.jsx)("option",{value:"panel",children:e.settings.askDisplayMode?.panel??"Side Panel"}),(0,r.jsx)("option",{value:"popup",children:e.settings.askDisplayMode?.popup??"Popup"})]})})}var Z=s(38125),q=s(25208),X=s(88283),Q=s(47533),ee=s(95156),et=s(21036),es=s(72615),er=s(98327);let ea=[{value:"lora",label:"Lora",category:"Serif",style:{fontFamily:"Lora, Georgia, serif"}},{value:"ibm-plex-sans",label:"IBM Plex Sans",category:"Sans",style:{fontFamily:"'IBM Plex Sans', sans-serif"}},{value:"inter",label:"Inter",category:"Sans",style:{fontFamily:"var(--font-inter), sans-serif"}},{value:"ibm-plex-mono",label:"IBM Plex Mono",category:"Mono",style:{fontFamily:"'IBM Plex Mono', monospace"}}];function en({icon:e,label:t,children:s}){return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e}),(0,r.jsx)("span",{className:"text-sm font-medium text-foreground",children:t})]}),s]})}function el({options:e,value:t,onChange:s}){return(0,r.jsx)("div",{className:"flex gap-2",children:e.map(e=>(0,r.jsxs)("button",{type:"button",onClick:()=>s(e.value),className:`flex items-center gap-1.5 px-3.5 py-2 text-sm font-medium rounded-xl transition-all ${t===e.value?"bg-[var(--amber)] text-[var(--amber-foreground)] shadow-sm":"bg-muted/50 text-muted-foreground hover:text-foreground hover:bg-muted"}`,children:[e.icon,e.label]},e.value))})}function eo({font:e,setFont:t,fontSize:s,setFontSize:n,contentWidth:l,setContentWidth:o,dark:i,setDark:c,locale:m,setLocale:u,t:x}){let[p,g]=(0,a.useState)(!1),[h,b]=(0,a.useState)(()=>localStorage.getItem("theme")??"system"),[f,v]=(0,a.useState)(()=>localStorage.getItem("locale")??"system"),j=x.settings.appearance;return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(d.A,{size:15}),title:j.preferencesTitle??"Preferences",children:[(0,r.jsx)(en,{icon:(0,r.jsx)(Z.A,{size:14}),label:j.colorTheme,children:(0,r.jsx)(el,{options:[{value:"system",label:j.system,icon:(0,r.jsx)(A.A,{size:14})},{value:"dark",label:j.dark,icon:(0,r.jsx)(q.A,{size:14})},{value:"light",label:j.light,icon:(0,r.jsx)(Z.A,{size:14})}],value:h,onChange:e=>{b(e),localStorage.setItem("theme",e);let t="system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches:"dark"===e;c(t),document.documentElement.classList.toggle("dark",t)}})}),(0,r.jsx)(en,{icon:(0,r.jsx)(C.A,{size:14}),label:j.language,children:(0,r.jsx)(el,{options:[{value:"system",label:j.system,icon:(0,r.jsx)(A.A,{size:14})},{value:"en",label:"EN"},{value:"zh",label:"中文"}],value:f,onChange:e=>{v(e),localStorage.setItem("locale",e);let t="system"===e?navigator.language.startsWith("zh")?"zh":"en":e;u(t),document.cookie=`locale=${t};path=/;max-age=31536000;SameSite=Lax`}})})]}),(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(X.A,{size:15}),title:j.readingTitle??"Reading",description:j.readingDesc??"Customize how your notes look",children:[(0,r.jsx)(en,{icon:(0,r.jsx)(Q.A,{size:14}),label:j.readingFont,children:(0,r.jsx)("div",{className:"space-y-0.5",children:ea.map(s=>{let a=e===s.value;return(0,r.jsxs)("button",{type:"button",onClick:()=>t(s.value),className:`flex items-center gap-4 w-full px-3 py-2.5 rounded-lg transition-all text-left relative ${a?"bg-[var(--amber-subtle)]":"hover:bg-muted/50"}`,children:[a&&(0,r.jsx)("div",{className:"absolute left-0 top-2 bottom-2 w-[3px] rounded-r-full bg-[var(--amber)]"}),(0,r.jsx)("span",{className:`text-xl font-medium w-10 text-center shrink-0 ${a?"text-foreground":"text-muted-foreground/60"}`,style:{fontFamily:s.style.fontFamily},children:"Aa"}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,r.jsx)("span",{className:`text-sm font-medium ${a?"text-foreground":"text-muted-foreground"}`,style:{fontFamily:s.style.fontFamily},children:s.label}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground/50",children:s.category})]}),(0,r.jsx)("p",{className:`text-sm truncate mt-0.5 ${a?"text-muted-foreground":"text-muted-foreground/40"}`,style:{fontFamily:s.style.fontFamily},children:j.fontPreview})]})]},s.value)})})}),(0,r.jsx)(en,{icon:(0,r.jsx)(ee.A,{size:14}),label:j.fontSize,children:(0,r.jsxs)("div",{className:"px-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("span",{className:"text-xs text-muted-foreground/60 shrink-0",style:{fontSize:"11px"},children:"A"}),(0,r.jsx)("input",{type:"range",min:12,max:22,step:1,value:parseInt(s),onChange:e=>n(`${e.target.value}px`),className:"flex-1 h-1.5 rounded-full appearance-none bg-muted cursor-pointer accent-[var(--amber)] [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-[var(--amber)] [&::-webkit-slider-thumb]:shadow-sm [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:transition-transform [&::-webkit-slider-thumb]:hover:scale-110 [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-[var(--amber)] [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:shadow-sm [&::-moz-range-thumb]:cursor-pointer"}),(0,r.jsx)("span",{className:"text-base text-muted-foreground/60 shrink-0",children:"A"})]}),(0,r.jsx)("div",{className:"text-center mt-1.5",children:(0,r.jsxs)("span",{className:"text-xs tabular-nums text-muted-foreground",children:[parseInt(s),"px"]})}),(0,r.jsx)("p",{className:"text-muted-foreground leading-relaxed mt-2 px-1",style:{fontSize:s,fontFamily:ea.find(t=>t.value===e)?.style.fontFamily},children:j.fontSizePreview})]})}),(0,r.jsx)(en,{icon:(0,r.jsx)(et.A,{size:14}),label:j.contentWidth,children:(0,r.jsxs)("div",{className:"px-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("span",{className:"text-xs text-muted-foreground/60 shrink-0",children:"▬"}),(0,r.jsx)("input",{type:"range",min:50,max:100,step:5,value:parseInt(l)||80,onChange:e=>o(`${e.target.value}%`),className:"flex-1 h-1.5 rounded-full appearance-none bg-muted cursor-pointer accent-[var(--amber)] [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-[var(--amber)] [&::-webkit-slider-thumb]:shadow-sm [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:transition-transform [&::-webkit-slider-thumb]:hover:scale-110 [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-[var(--amber)] [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:shadow-sm [&::-moz-range-thumb]:cursor-pointer"}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground/60 shrink-0",children:"▬▬▬"})]}),(0,r.jsx)("div",{className:"text-center mt-1.5",children:(0,r.jsxs)("span",{className:"text-xs tabular-nums text-muted-foreground",children:[parseInt(l)||80,"%"]})})]})})]}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground/40 px-0.5",children:j.browserNote}),(0,r.jsxs)("div",{className:"border-t border-border pt-4",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>g(!p),className:"flex items-center gap-1.5 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:[p?(0,r.jsx)(es.A,{size:14}):(0,r.jsx)(er.A,{size:14}),x.settings.tabs.shortcuts]}),p&&(0,r.jsx)("div",{className:"mt-3 space-y-0.5",children:x.shortcuts.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center justify-between py-1.5 px-1",children:[(0,r.jsx)("span",{className:"text-sm text-foreground",children:e.description}),(0,r.jsx)("div",{className:"flex items-center gap-1",children:e.keys.map((e,t)=>(0,r.jsx)("kbd",{className:"px-1.5 py-0.5 text-2xs font-mono bg-muted border border-border rounded text-muted-foreground",children:e},t))})]},t))})]})]})}var ei=s(10500),ed=s(42973),ec=s(24336),em=s(46884),eu=s(34137),ex=s(84734),ep=s(46990);function eg(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<0x40000000?`${(e/1048576).toFixed(1)} MB`:`${(e/0x40000000).toFixed(2)} GB`}var eh=s(24773),eb=s(65799);let ef=(0,eb.createServerReference)("00339443e3140f634f8655bbd72bebeb1e4cff99ce",eb.callServer,void 0,eb.findSourceMapURL,"scanExampleFilesAction"),ev=(0,eb.createServerReference)("0041c916f0f8cba6df2849e5631b13f293b3c2a066",eb.callServer,void 0,eb.findSourceMapURL,"cleanupExamplesAction");var ej=s(5038),ey=s(53311);let eN={checking:!1,available:null,isSelf:!1,suggestion:null};function ek({message:e,sub:t}){return(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm",children:(0,r.jsxs)("div",{className:"text-center space-y-4 max-w-sm px-6",children:[(0,r.jsx)(p.A,{size:32,className:"animate-spin mx-auto text-[var(--amber)]"}),(0,r.jsx)("p",{className:"text-sm font-medium text-foreground",children:e}),t&&(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:t})]})})}function ew({m:e}){let[t,s]=(0,a.useState)(0),[n,l]=(0,a.useState)(0),[o,i]=(0,a.useState)(eN),[d,c]=(0,a.useState)(!1),[m,u]=(0,a.useState)(null),[x,g]=(0,a.useState)(void 0),b=(0,a.useRef)(void 0),f=(0,a.useRef)(void 0);(0,a.useEffect)(()=>{(0,y.n)("/api/settings").then(e=>{let t=e.port||3456;s(t),l(t)}).catch(()=>{})},[]),(0,a.useEffect)(()=>()=>{clearInterval(b.current),clearTimeout(f.current)},[]);let v=n!==t,j=n<1024||n>65535,N=o.checking||!1===o.available&&!o.isSelf,k=(0,a.useCallback)(async e=>{if(e<1024||e>65535)return void i({...eN,available:!1,invalid:!0});i({...eN,checking:!0});try{let t=await (0,y.n)("/api/setup/check-port",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({port:e})});i({checking:!1,available:t.available,isSelf:t.isSelf??!1,suggestion:t.suggestion??null})}catch{i(eN)}},[]),w=async()=>{if(v&&!j&&!N&&!d){c(!0);try{let t=await (0,y.n)("/api/setup/check-port",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({port:n})});if(!t.available&&!t.isSelf){i({checking:!1,available:!1,isSelf:!1,suggestion:t.suggestion??null}),c(!1),z.oR.error(e.portInUse(n));return}await (0,y.n)("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({port:n})}),u(e.portWebRestarting),g(e.portRedirecting);try{await (0,y.n)("/api/restart",{method:"POST"})}catch{}let s=`${window.location.protocol}//${window.location.hostname}:${n}`,r=Date.now()+3e4;b.current=setInterval(async()=>{if(Date.now()>r){clearInterval(b.current),u(null),c(!1),z.oR.error(e.portRestartTimeout);return}try{await (0,ey.v)(`${s}/api/health`,{signal:AbortSignal.timeout(2e3)})&&(clearInterval(b.current),window.location.href=s)}catch{}},1500)}catch{c(!1),z.oR.error(e.portUpdateFailed)}}};return 0===t?null:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(T.L7,{icon:(0,r.jsx)(A.A,{size:15}),title:e.webPortLabel,description:e.webPortHint,children:(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("input",{type:"number",min:1024,max:65535,value:n,onChange:e=>{let t=parseInt(e.target.value,10)||n;l(t),i(eN),clearTimeout(f.current),t>=1024&&t<=65535&&(f.current=setTimeout(()=>k(t),500))},onBlur:()=>{clearTimeout(f.current),n>=1024&&n<=65535&&k(n)},className:"flex-1 px-2.5 py-1.5 text-sm rounded-lg border border-border bg-muted/30 text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring tabular-nums"}),(0,r.jsx)("button",{type:"button",onClick:w,disabled:!v||j||N||d,className:"shrink-0 px-4 py-1.5 rounded-lg text-xs font-medium transition-colors bg-[var(--amber)] text-[var(--amber-foreground)] hover:opacity-90 disabled:opacity-40 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:d?e.portUpdating:e.portUpdateBtn})]}),o.checking&&(0,r.jsxs)("p",{className:"text-xs flex items-center gap-1 text-muted-foreground",children:[(0,r.jsx)(p.A,{size:11,className:"animate-spin"})," ",e.portChecking]}),!o.checking&&!1===o.available&&!o.invalid&&(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("p",{className:"text-xs flex items-center gap-1 text-[var(--amber)]",children:[(0,r.jsx)(ej.A,{size:11})," ",e.portInUse(n)]}),null!==o.suggestion&&(0,r.jsx)("button",{type:"button",onClick:()=>{l(o.suggestion),i(eN),setTimeout(()=>k(o.suggestion),0)},className:"text-xs px-2 py-0.5 rounded border border-[var(--amber)] text-[var(--amber)] transition-colors hover:bg-[var(--amber-subtle)]",children:e.portSuggest(o.suggestion)})]}),!o.checking&&o.invalid&&(0,r.jsxs)("p",{className:"text-xs flex items-center gap-1 text-destructive",children:[(0,r.jsx)(ej.A,{size:11})," 1024 – 65535"]}),!o.checking&&!0===o.available&&(0,r.jsxs)("p",{className:"text-xs flex items-center gap-1 text-success",children:[(0,r.jsx)(h.A,{size:11})," ",o.isSelf?e.portSelf:e.portAvailable]})]})}),m&&(0,r.jsx)(ek,{message:m,sub:x})]})}function eS({data:e,setData:t,t:s}){let l=e.envOverrides??{},o=s.settings.knowledge,i=s.settings.appearance,[d,m]=(0,a.useState)(()=>"1"===localStorage.getItem("mindos:labs-echo")),[x,h]=(0,a.useState)(()=>"1"===localStorage.getItem("mindos:labs-workflows")),[b,f]=(0,a.useState)(()=>"true"===localStorage.getItem("show-hidden-files")),[v,j]=(0,a.useState)(null),[N,k]=(0,a.useState)(!1),[w,C]=(0,a.useState)(null);(0,a.useEffect)(()=>{ef().then(e=>j(e.files.length)).catch(e=>{console.warn("[KnowledgeTab] scanExampleFilesAction failed:",e)})},[]);let[A,E]=(0,a.useState)(null),[P,R]=(0,a.useState)(!1);(0,a.useEffect)(()=>{(0,y.n)("/api/setup").then(e=>{let t=e.guideState;t&&(E(t.active),R(!!t.dismissed))}).catch(e=>{console.error("Failed to fetch guide state:",e)})},[]);let I=(0,a.useCallback)(()=>{let e=!P;R(e);let t={dismissed:e};e||(t.active=!0),(0,y.n)("/api/setup",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({guideState:t})}).then(()=>window.dispatchEvent(new Event("guide-state-updated"))).catch(t=>{console.error("Failed to update guide state:",t),R(!e)})},[P]),$=(0,a.useCallback)(()=>{(0,y.n)("/api/setup",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({guideState:{active:!0,dismissed:!1,walkthroughStep:0,walkthroughDismissed:!1}})}).then(()=>{E(!0),R(!1),window.dispatchEvent(new Event("guide-state-updated"))}).catch(e=>console.error("Failed to restart walkthrough:",e))},[]),M=(0,a.useSyncExternalStore)(()=>()=>{},()=>`${window.location.protocol}//${window.location.hostname}`,()=>"http://localhost"),[U,D]=(0,a.useState)(!1),[F,L]=(0,a.useState)(null),[O,K]=(0,a.useState)(!1),[B,_]=(0,a.useState)(!1),H=!!e.authToken,G=F??e.authToken??"";async function J(){D(!0);try{let e=await (0,y.n)("/api/settings/reset-token",{method:"POST"});L(e.token),t(t=>t?{...t,authToken:e.token}:t)}finally{D(!1)}}async function W(){t(e=>e?{...e,authToken:""}:e),L(null)}return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(ei.A,{size:15}),title:o.cardTitle??"Knowledge Base",description:o.mindRootHint,children:[(0,r.jsx)(T.D0,{label:(0,r.jsxs)(r.Fragment,{children:[o.mindRoot," ",(0,r.jsx)(T.Bt,{overridden:l.MIND_ROOT})]}),hint:l.MIND_ROOT?o.envNote:o.mindRootHint,children:(0,r.jsx)(T.pd,{value:e.mindRoot,onChange:e=>t(t=>t?{...t,mindRoot:e.target.value}:t),placeholder:"/path/to/your/notes"})}),(0,r.jsx)(T.pM,{label:o.showHiddenFiles,hint:o.showHiddenFilesHint,children:(0,r.jsx)(T.lM,{checked:b,onChange:()=>{let e=!b;f(e),(0,eh.Fo)(e)}})}),null!==v&&v>0&&null===w&&(0,r.jsx)(T.pM,{label:o.cleanupExamples,hint:o.cleanupExamplesHint,children:(0,r.jsxs)("button",{onClick:()=>_(!0),disabled:N,title:N?s.hints.cleanupInProgress:void 0,className:"flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium rounded-lg border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors shrink-0 disabled:opacity-50",children:[N?(0,r.jsx)(p.A,{size:12,className:"animate-spin"}):(0,r.jsx)(u.A,{size:12}),o.cleanupExamplesButton,(0,r.jsx)("span",{className:"ml-1 tabular-nums text-2xs opacity-70",children:v})]})}),null!==w&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-success",children:[(0,r.jsx)(S.A,{size:14}),o.cleanupExamplesDone(w)]})]}),(0,r.jsx)(ew,{m:s.settings?.mcp??{}}),(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(ed.A,{size:15}),title:o.securityTitle??"Security",children:[(0,r.jsx)(T.D0,{label:o.webPassword,hint:o.webPasswordHint,children:(0,r.jsx)(T.yA,{value:e.webPassword??"",onChange:e=>t(t=>t?{...t,webPassword:e}:t),placeholder:o.passwordPlaceholder??"Leave empty to disable"})}),(0,r.jsx)(T.pM,{label:o.allowNetworkAccess??"Allow LAN access",hint:o.allowNetworkAccessHint??"Bind the Web UI to 0.0.0.0 so other devices on your network can connect after restart.",children:(0,r.jsx)(T.lM,{checked:!0===e.allowNetworkAccess,onChange:()=>t(e=>e?{...e,allowNetworkAccess:!0!==e.allowNetworkAccess}:e)})}),(0,r.jsx)(T.D0,{label:o.authToken,hint:H?o.authTokenHint:o.authTokenNone,children:(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 bg-background border border-border rounded-lg min-h-[38px]",children:[(0,r.jsx)("code",{className:"flex-1 text-xs font-mono text-foreground break-all select-all",children:G||(0,r.jsx)("span",{className:"text-muted-foreground italic",children:o.tokenNotSet??"— not set —"})}),G&&(0,r.jsx)("button",{type:"button",onClick:function(){let t=F??e.authToken??"";t&&(0,ep.l)(t).then(e=>{e&&z.oR.copy()})},className:"shrink-0 p-1 rounded text-muted-foreground hover:text-foreground transition-colors",title:o.authTokenCopy,children:(0,r.jsx)(ec.A,{size:13})})]}),e.mcpPort&&(0,r.jsxs)("p",{className:"text-xs text-muted-foreground",children:[o.authTokenMcpPort,": ",(0,r.jsx)("code",{className:"font-mono",children:e.mcpPort}),G&&(0,r.jsxs)(r.Fragment,{children:[" \xa0\xb7\xa0 ",o.mcpUrl??"MCP URL",": ",(0,r.jsx)("code",{className:"font-mono select-all",children:`${M}:${e.mcpPort}/mcp`})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsxs)("button",{type:"button",onClick:function(){K(!0)},disabled:U,title:U?s.hints.tokenResetInProgress:void 0,className:"flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-lg border border-border text-muted-foreground hover:text-foreground hover:bg-muted disabled:opacity-40 disabled:cursor-not-allowed transition-colors",children:[(0,r.jsx)(c.A,{size:14,className:U?"animate-spin":""}),o.authTokenReset]}),H&&(0,r.jsxs)("button",{type:"button",onClick:W,className:"flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-lg border border-border text-muted-foreground hover:text-destructive hover:border-destructive/50 transition-colors",children:[(0,r.jsx)(u.A,{size:14}),o.authTokenClear]})]}),F&&(0,r.jsx)("p",{className:"text-xs text-[var(--amber-text)]",children:o.tokenGenerated})]})})]}),null!==A&&(0,r.jsxs)(T.L7,{icon:(0,r.jsx)(n.A,{size:15}),title:s.guide?.title??"Getting Started",children:[(0,r.jsx)(T.pM,{label:s.guide?.showGuide??"Show getting started guide",children:(0,r.jsx)(T.lM,{checked:!P,onChange:()=>I()})}),(0,r.jsxs)("button",{onClick:$,className:"flex items-center gap-1.5 mt-2 px-3 py-1.5 text-sm rounded-lg border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:[(0,r.jsx)(g.A,{size:14}),o.restartWalkthrough??"Restart walkthrough"]})]}),(0,r.jsx)(T.L7,{icon:(0,r.jsx)(em.A,{size:15}),title:i.labsTitle??"Labs",description:i.labsDesc??"Experimental features that are still in development.",children:(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)(eC,{label:i.labsEcho??"Echo",description:i.labsEchoDesc??"Reflective journaling powered by your notes.",checked:d,onChange:e=>{m(e),localStorage.setItem("mindos:labs-echo",e?"1":"0"),window.dispatchEvent(new Event("mindos:labs-changed"))}}),(0,r.jsx)(eC,{label:i.labsWorkflows??"Flows",description:i.labsWorkflowsDesc??"Visual workflow automation for agents.",checked:x,onChange:e=>{h(e),localStorage.setItem("mindos:labs-workflows",e?"1":"0"),window.dispatchEvent(new Event("mindos:labs-changed"))}})]})}),(0,r.jsx)(eA,{k:o}),(0,r.jsx)(ex.TM,{open:O,title:o.authTokenReset??"Regenerate Token",message:o.authTokenResetConfirm,confirmLabel:o.authTokenReset??"Regenerate",cancelLabel:o.cancel??"Cancel",onConfirm:()=>{K(!1),J()},onCancel:()=>K(!1)}),(0,r.jsx)(ex.TM,{open:B,title:o.cleanupExamples??"Cleanup Examples",message:null!==v?o.cleanupExamplesConfirm(v):"",confirmLabel:o.cleanupExamplesButton??"Clean up",cancelLabel:o.cancel??"Cancel",variant:"destructive",onConfirm:async()=>{_(!1),k(!0);let e=await ev();k(!1),e.success&&(C(e.deleted),j(0))},onCancel:()=>_(!1)})]})}function eC({label:e,description:t,checked:s,onChange:a}){return(0,r.jsxs)("label",{className:"flex items-center gap-3 cursor-pointer group",children:[(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-foreground block",children:e}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:t})]}),(0,r.jsx)("button",{type:"button",role:"switch","aria-checked":s,onClick:()=>a(!s),className:`relative w-9 h-5 rounded-full transition-colors shrink-0 ${s?"bg-[var(--amber)]":"bg-muted-foreground/20"}`,children:(0,r.jsx)("span",{className:`absolute top-0.5 left-0.5 w-4 h-4 rounded-full bg-white shadow-sm transition-transform ${s?"translate-x-4":"translate-x-0"}`})})]})}function eA({k:e}){let[t,s]=(0,a.useState)(!1),[n,l]=(0,a.useState)(null),[o,i]=(0,a.useState)(!1),d=(0,a.useCallback)(async()=>{i(!0);try{let e=await (0,y.n)("/api/monitoring",{timeout:5e3});l(e)}catch{}i(!1)},[]),c=(0,a.useRef)(!1);return(0,a.useEffect)(()=>{if(!t){c.current=!1;return}c.current||(d(),c.current=!0);let e=setInterval(d,1e4);return()=>clearInterval(e)},[t,d]),(0,r.jsxs)("div",{className:"border-t border-border pt-5",children:[(0,r.jsxs)("button",{onClick:()=>s(e=>!e),className:"flex items-center gap-1.5 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors w-full",children:[t?(0,r.jsx)(es.A,{size:14}):(0,r.jsx)(er.A,{size:14}),(0,r.jsx)(eu.A,{size:12}),e.monitoringTitle??"System Monitoring",o&&(0,r.jsx)(p.A,{size:10,className:"animate-spin ml-1"})]}),t&&n&&(0,r.jsxs)("div",{className:"mt-3 grid grid-cols-2 gap-x-6 gap-y-2 text-xs",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorHeap??"Heap"}),(0,r.jsxs)("span",{className:"ml-2 tabular-nums",children:[eg(n.system.memory.heapUsed)," / ",eg(n.system.memory.heapTotal)]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorRss??"RSS"}),(0,r.jsx)("span",{className:"ml-2 tabular-nums",children:eg(n.system.memory.rss)})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorUptime??"Uptime"}),(0,r.jsx)("span",{className:"ml-2 tabular-nums",children:function(e){let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let s=Math.floor(t/60);if(s<60)return`${s}m ${t%60}s`;let r=Math.floor(s/60);if(r<24)return`${r}h ${s%60}m`;let a=Math.floor(r/24);return`${a}d ${r%24}h`}(n.system.uptimeMs)})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorNode??"Node"}),(0,r.jsx)("span",{className:"ml-2",children:n.system.nodeVersion})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorRequests??"Requests"}),(0,r.jsx)("span",{className:"ml-2 tabular-nums",children:n.application.agentRequests})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorToolCalls??"Tool Calls"}),(0,r.jsx)("span",{className:"ml-2 tabular-nums",children:n.application.toolExecutions})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorTokens??"Tokens"}),(0,r.jsx)("span",{className:"ml-2 tabular-nums",children:(n.application.totalTokens.input+n.application.totalTokens.output).toLocaleString()})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorFiles??"Files"}),(0,r.jsxs)("span",{className:"ml-2 tabular-nums",children:[n.knowledgeBase.fileCount," (",eg(n.knowledgeBase.totalSizeBytes),")"]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"MCP"}),(0,r.jsx)("span",{className:"ml-2",children:n.mcp.running?e.monitorMcpRunning?.(n.mcp.port)??`Running :${n.mcp.port}`:e.monitorMcpStopped??"Stopped"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:e.monitorErrors??"Errors"}),(0,r.jsx)("span",{className:"ml-2 tabular-nums",children:n.application.errors})]})]}),t&&!n&&!o&&(0,r.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:e.monitoringFailed??"Failed to load monitoring data"})]})}var ez=s(75579),eT=s(19777),eE=s(98480),eP=s(9986),eR=s(55798),eI=s(20677),e$=s(73601),eM=s(27636),eU=s(2408);let eD=(0,s(93738).default)(()=>Promise.all([s.e(8225),s.e(206),s.e(2303)]).then(s.bind(s,32303)),{loadableGenerated:{webpack:()=>[32303]},ssr:!1});function eF({skill:e,expanded:t,onExpand:s,onToggle:a,onDelete:n,onEditStart:l,onEditSave:o,onEditCancel:i,editing:d,editContent:c,setEditContent:m,editError:g,saving:h,fullContent:b,loadingContent:f,loadErrors:v,m:j}){return(0,r.jsxs)("div",{className:"border border-border rounded-lg overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>s(e.name),children:[t?(0,r.jsx)(es.A,{size:12}):(0,r.jsx)(er.A,{size:12}),(0,r.jsx)("span",{className:"text-xs font-medium flex-1",children:e.name}),(0,r.jsx)("span",{className:`text-2xs px-1.5 py-0.5 rounded ${"builtin"===e.source?"bg-muted text-muted-foreground":"bg-[var(--amber-subtle)] text-[var(--amber-text)]"}`,children:"builtin"===e.source?j?.skillBuiltin??"Built-in":j?.skillUser??"Custom"}),(0,r.jsx)(T.lM,{size:"sm",checked:e.enabled,onClick:t=>{t.stopPropagation(),a(e.name,!e.enabled)}})]}),t&&(0,r.jsxs)("div",{className:"px-3 py-2 border-t border-border text-xs space-y-2 bg-muted/20",children:[(0,r.jsx)("p",{className:"text-muted-foreground",children:e.description||"No description"}),(0,r.jsx)("p",{className:"text-muted-foreground font-mono text-2xs",children:e.path}),f===e.name?(0,r.jsxs)("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[(0,r.jsx)(p.A,{size:10,className:"animate-spin"}),(0,r.jsx)("span",{className:"text-2xs",children:"Loading..."})]}):b[e.name]?(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-2xs text-muted-foreground font-medium",children:j?.skillContent??"Content"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[e.editable&&d!==e.name&&(0,r.jsxs)("button",{onClick:()=>l(e.name),className:"flex items-center gap-1 text-2xs text-muted-foreground hover:text-foreground transition-colors",children:[(0,r.jsx)(eU.A,{size:10}),j?.editSkill??"Edit"]}),e.editable&&(0,r.jsxs)("button",{onClick:()=>n(e.name),className:"flex items-center gap-1 text-2xs text-destructive hover:underline",children:[(0,r.jsx)(u.A,{size:10}),j?.deleteSkill??"Delete"]})]})]}),d===e.name?(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsx)("textarea",{value:c,onChange:e=>m(e.target.value),rows:Math.min(20,(c.match(/\n/g)||[]).length+3),className:"w-full px-2.5 py-1.5 text-xs rounded-md border border-border bg-background text-foreground outline-none focus-visible:ring-1 focus-visible:ring-ring resize-y font-mono"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("button",{onClick:()=>o(e.name),disabled:h,className:"flex items-center gap-1 px-2.5 py-1 text-xs rounded-md disabled:opacity-40 disabled:cursor-not-allowed transition-colors bg-[var(--amber)] text-[var(--amber-foreground)]",children:[h&&(0,r.jsx)(p.A,{size:10,className:"animate-spin"}),j?.saveSkill??"Save"]}),(0,r.jsx)("button",{onClick:i,className:"px-2.5 py-1 text-xs rounded-md border border-border text-muted-foreground hover:text-foreground transition-colors",children:j?.cancelSkill??"Cancel"})]}),g&&(0,r.jsxs)("p",{className:"text-2xs text-destructive flex items-center gap-1",children:[(0,r.jsx)(x.A,{size:10}),g]})]}):(0,r.jsx)("div",{className:"w-full rounded-md border border-border bg-background/50 max-h-[300px] overflow-y-auto px-2.5 py-1.5 text-xs [&_.prose]:max-w-none [&_.prose]:text-xs [&_h1]:text-sm [&_h2]:text-xs [&_h3]:text-xs [&_pre]:text-2xs [&_code]:text-2xs",children:(0,r.jsx)(eD,{content:function(e){if(!e.startsWith("---"))return e;let t=e.indexOf("\n---",3);return -1===t?e:e.slice(t+4).replace(/^\n+/,"")}(b[e.name])})})]}):v[e.name]?(0,r.jsxs)("p",{className:"text-2xs text-destructive flex items-center gap-1",children:[(0,r.jsx)(x.A,{size:10}),v[e.name]]}):null]})]})}let eL=e=>`---
|
|
2
2
|
name: ${e}
|
|
3
3
|
description: >
|
|
4
4
|
Describe WHEN the agent should use this
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1469],{3837:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},3972:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("file-x-corner",[["path",{d:"M11 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5",key:"1jo35a"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m15 17 5 5",key:"36xl1x"}],["path",{d:"m20 17-5 5",key:"vdz27y"}]])},9986:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},10500:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]])},13591:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},14987:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},19777:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]])},21036:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]])},25208:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]])},29696:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},30401:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(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,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(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"}]])},38070:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("skip-forward",[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]])},38125:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},38688:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},40517:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]])},42973:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("hard-drive",[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]])},44910:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},46884:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("flask-conical",[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]])},47533:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("type",[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]])},52212:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(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"}]])},52364:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},71128:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]])},71481:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]])},72615:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},72799:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},73033:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},77932:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},78610:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},82296:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]])},95156:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("a-large-small",[["path",{d:"m15 16 2.536-7.328a1.02 1.02 1 0 1 1.928 0L22 16",key:"xik6mr"}],["path",{d:"M15.697 14h5.606",key:"1stdlc"}],["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}]])},95333:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]])},96733:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]])},97786:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},98480:(e,a,t)=>{t.d(a,{A:()=>h});let h=(0,t(73015).A)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]])}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1471],{71471:(e,t,r)=>{r.r(t),r.d(t,{default:()=>b});var s=r(66839),i=r(18016),a=r.n(i),n=r(44223),o=r(11235),d=r(95991),l=r(74197),c=r(85245),u=r(18704),x=r(2073),h=r(30292);function b(){let{t:e}=(0,x.Y)(),[t,r]=(0,n.useState)([]),[i,b]=(0,n.useState)([]),[g,f]=(0,n.useState)(!0),v=(0,n.useRef)(void 0),j=(0,n.useCallback)(()=>{b((0,h.FB)())},[]),y=(0,n.useCallback)(async()=>{try{let e=await fetch("/api/inbox");if(!e.ok)return;let t=await e.json();Array.isArray(t.files)&&r(t.files)}catch(e){console.warn("[CapturePanel] fetch failed:",e)}finally{f(!1)}},[]),w=(0,n.useCallback)(()=>{clearTimeout(v.current),v.current=setTimeout(()=>{y(),j()},80)},[y,j]);return(0,n.useEffect)(()=>(y(),j(),window.addEventListener("mindos:inbox-updated",w),window.addEventListener("mindos:organize-done",w),window.addEventListener("mindos:organize-history-update",j),()=>{clearTimeout(v.current),window.removeEventListener("mindos:inbox-updated",w),window.removeEventListener("mindos:organize-done",w),window.removeEventListener("mindos:organize-history-update",j)}),[y,w,j]),(0,s.jsxs)("div",{className:"flex h-full flex-col",children:[(0,s.jsx)(u.A,{title:e.sidebar.capture,children:(0,s.jsx)(a(),{href:"/capture/history",className:"rounded p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring","aria-label":e.importHistory.title,title:e.importHistory.title,children:(0,s.jsx)(o.A,{size:13})})}),(0,s.jsxs)("div",{className:"flex-1 overflow-y-auto px-3 py-3",children:[(0,s.jsxs)("section",{className:"rounded-lg border border-border/60 bg-card/60 p-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(d.A,{size:14,className:"text-[var(--amber)]"}),(0,s.jsx)("h3",{className:"text-xs font-semibold text-foreground",children:e.inbox.sidebarPanelTitle})]}),(0,s.jsx)("p",{className:"mt-1 text-2xs leading-relaxed text-muted-foreground/60",children:e.inbox.sidebarPanelDesc}),(0,s.jsxs)("div",{className:"mt-3 grid grid-cols-2 gap-2",children:[(0,s.jsx)(p,{label:e.inbox.pendingSequenceTitle,value:String(t.length)}),(0,s.jsx)(p,{label:e.inbox.recentProcessedTitle,value:String(i.length)})]})]}),(0,s.jsxs)("nav",{className:"mt-3 space-y-1.5","aria-label":e.inbox.title,children:[(0,s.jsx)(m,{href:"/capture",icon:l.A,title:e.inbox.viewCapture,desc:e.inbox.sidebarCaptureDesc}),(0,s.jsx)(m,{href:"/capture#queue",icon:c.A,title:e.inbox.viewQueue,desc:g?e.inbox.sidebarLoadingDesc:e.inbox.sidebarQueueDesc(t.length)}),(0,s.jsx)(m,{href:"/capture/history",icon:o.A,title:e.inbox.viewHistory,desc:e.inbox.sidebarHistoryDesc(i.length)})]})]})]})}function m({href:e,icon:t,title:r,desc:i}){return(0,s.jsxs)(a(),{href:e,className:"flex items-start gap-2 rounded-lg border border-border/50 bg-card/35 px-3 py-2.5 transition-colors hover:bg-muted/40 focus-visible:ring-2 focus-visible:ring-ring",children:[(0,s.jsx)(t,{size:13,className:"mt-0.5 shrink-0 text-[var(--amber)]/75"}),(0,s.jsxs)("span",{className:"min-w-0",children:[(0,s.jsx)("span",{className:"block text-xs font-medium text-foreground",children:r}),(0,s.jsx)("span",{className:"mt-0.5 block text-2xs leading-relaxed text-muted-foreground/60",children:i})]})]})}function p({label:e,value:t}){return(0,s.jsxs)("div",{className:"rounded-lg border border-border/50 bg-background px-3 py-2",children:[(0,s.jsx)("p",{className:"text-lg font-semibold tabular-nums text-foreground",children:t}),(0,s.jsx)("p",{className:"mt-0.5 truncate text-2xs text-muted-foreground/60",children:e})]})}},74197:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(73015).A)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]])},85245:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(73015).A)("list-checks",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]])}}]);
|