@witty-ai/skill-insight 0.4.0-beta → 0.6.0-beta
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/.env.example +55 -5
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +5 -0
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +30 -0
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/auth/organization/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/auth/organization/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/auth/organization/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/auth/organization/route.js +7 -0
- package/.next/standalone/.next/server/app/api/auth/organization/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/auth/organization/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/auth/organization/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/config/create/route.js +2 -2
- package/.next/standalone/.next/server/app/api/config/create/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/config/route.js +4 -4
- package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/route.js +3 -3
- package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/executions/[executionId]/analyze-match/route.js +1 -1
- package/.next/standalone/.next/server/app/api/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js +3 -3
- package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js +2 -2
- package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js +5 -5
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/rejudge/route.js +3 -3
- package/.next/standalone/.next/server/app/api/rejudge/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/session/route.js +3 -3
- package/.next/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/route.js +1 -1
- package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js +6 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js +6 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js +3 -2
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/logs/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/route.js +3 -2
- package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js +8 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/task-stats/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/task-stats/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/task-stats/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/task-stats/route.js +11 -0
- package/.next/standalone/.next/server/app/api/task-stats/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/task-stats/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/task-stats/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/upload/route.js +2 -2
- package/.next/standalone/.next/server/app/api/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/details/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/details/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/details/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/details.html +1 -1
- package/.next/standalone/.next/server/app/details.rsc +4 -4
- package/.next/standalone/.next/server/app/details.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/details.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/details.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/details.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/details.segments/details/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/details.segments/details.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +4 -4
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/skills/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/skills.html +1 -1
- package/.next/standalone/.next/server/app/skills.rsc +4 -4
- package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +5 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__02ddba88._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__15dbd1f2._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ce5e3b8._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a6d443b._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__53775b48._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5444db55._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6923eecf._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6d8053e2._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8402dfd1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__863cf6de._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__89404730._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__98b3de5e._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a4d3d791._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__aa5c8858._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd91659b._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c200214a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c20da96a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d7fab946._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8c1808b._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d9b9fecc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ddf63a21._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f9e66e02._.js +3 -0
- package/.next/standalone/.next/server/chunks/_3e8b4d8c._.js +1 -1
- package/.next/standalone/.next/server/chunks/_41a98bd8._.js +1 -1
- package/.next/standalone/.next/server/chunks/_4c806e26._.js +3 -0
- package/.next/standalone/.next/server/chunks/_cd3d20ca._.js +1 -1
- package/.next/standalone/.next/server/chunks/_ddffef3e._.js +1 -1
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_organization_route_actions_f58710b7.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_setup_opencode-tui_route_actions_fc8ae29f.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_skills_sync-enterprise_route_actions_0ca45899.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_task-stats_route_actions_983505cd.js +3 -0
- package/.next/standalone/.next/server/chunks/ce889_server_app_api_setup_opencode-commands_si-optimizer_route_actions_fcde30ef.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c33286ed.js +47 -43
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f42faeee.js +1 -1
- package/.next/standalone/.next/server/chunks/src_98433cb8._.js +175 -0
- package/.next/standalone/.next/server/chunks/src_lib_12408140._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__5d576168._.js → [root-of-the-server]__40353d98._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__89851212._.js → [root-of-the-server]__480fcd92._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__28978655._.js → [root-of-the-server]__48f8fbcb._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a5ef0b61._.js → [root-of-the-server]__49921b2a._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__317833f9._.js → [root-of-the-server]__593be3d6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ca101543._.js → [root-of-the-server]__5e9ff641._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__90641614._.js → [root-of-the-server]__66cc6ff2._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__cda1e286._.js → [root-of-the-server]__9889bdc8._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__42ba97b6._.js → [root-of-the-server]__9905ca7a._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9ab7cc4a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__7bb97139._.js → [root-of-the-server]__9d6b7d48._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__6b8b9bb9._.js → [root-of-the-server]__b8edc8c6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__b9972e88._.js → [root-of-the-server]__d691ecb0._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__52851239._.js → [root-of-the-server]__e5ddfd15._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__9630dedf._.js → [root-of-the-server]__f72f330e._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__99ab66d7._.js → [root-of-the-server]__f843e085._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__d424fa04._.js → [root-of-the-server]__fd69d276._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_7688d7cd._.js → _049876f0._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_72a74a0c._.js → _09546b95._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_8f5379ab._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_cf1f3d2c._.js → _b121f1ae._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_c8c8c083._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_fd46f439._.js +2 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_f2653232._.js → node_modules_039c6a11._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_da87f0e3._.js → node_modules_0d3530cd._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_afb1ecef._.js → node_modules_0e883565._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_8d9e56b7._.js → node_modules_11dbf165._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_76d6c533._.js → node_modules_2041c122._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_b007145b._.js → node_modules_235267bb._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_11d81adf._.js → node_modules_25dfb0ba._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_4ea9b27b._.js → node_modules_2b12c669._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_cc19e85c._.js → node_modules_32996880._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_62621b34._.js → node_modules_35885fe9._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_ed4150ad._.js → node_modules_38a95353._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_f596a14c._.js → node_modules_3a317c51._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_fddab329._.js → node_modules_44966ab2._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_e272ac31._.js → node_modules_53af751a._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_abf4f826._.js → node_modules_5f539891._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_86b6ffa4._.js → node_modules_60402210._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_3769cd60._.js → node_modules_60eccfb6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_fdf808cf._.js → node_modules_632c098c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_442994dc._.js → node_modules_6c42f75c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_5b6dbbc3._.js → node_modules_6fbe276d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_6716e25d._.js → node_modules_740e9d59._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_ed1f1845._.js → node_modules_7a3d551c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_4f41f172._.js → node_modules_861cb9cf._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_2aaea4ea._.js → node_modules_8a892761._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_3964c298._.js → node_modules_a5a4946e._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_3d9afa91._.js → node_modules_a712c937._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_330b9e3c._.js → node_modules_a8c276dd._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_ad69a9e4._.js → node_modules_acc9d529._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_8301968d._.js → node_modules_ad07ab39._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_1d88c7cc._.js → node_modules_b38efa22._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_e20e8c2a._.js → node_modules_b4ef036d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_2e206c58._.js → node_modules_b6bad701._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_c90fa812._.js → node_modules_b9810024._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_db8af6e3._.js → node_modules_b9ad808d._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_7287189a._.js → node_modules_bc287d9f._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_2e38bc5c._.js → node_modules_c6469d93._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_c657890f._.js → node_modules_c704e802._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_b8803ba6._.js → node_modules_cda46cfc._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_aa6da06c._.js → node_modules_cf171d0c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_dagre-d3-es_src_dagre_index_3582f3d0.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_2d9e03d1._.js → node_modules_e8927fc2._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_a1341fea._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_e1de6ed8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_login_page_tsx_72f58654._.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/1e782a49beaf489c.js +1 -0
- package/.next/standalone/.next/static/chunks/{01eddf501c574a44.js → 4ee8dc41c9f15b7b.js} +1 -1
- package/.next/standalone/.next/static/chunks/67bd1a5de2195779.js +1 -0
- package/.next/standalone/.next/static/chunks/{737b8cff3c6a4e30.js → 9445b2873a413c58.js} +1 -1
- package/.next/standalone/.next/static/chunks/94dfb15df65ef720.js +2 -0
- package/.next/standalone/.next/static/chunks/9d1c5c3494fa53de.js +109 -0
- package/.next/standalone/.next/static/chunks/c6bd2818656b1f20.css +1 -0
- package/.next/standalone/.next/static/chunks/{e09d9ee16fe90255.js → cd0fde15dc0dfcca.js} +1 -1
- package/.next/standalone/.next/static/chunks/{6d12c79948c7e0ac.js → dc59a07a8f327b40.js} +1 -1
- package/.next/standalone/.next/static/chunks/{ff6357067630b168.js → e13d208072a48316.js} +1 -1
- package/.next/standalone/node_modules/.prisma/client/edge.js +6 -3
- package/.next/standalone/node_modules/.prisma/client/index-browser.js +3 -0
- package/.next/standalone/node_modules/.prisma/client/index.js +6 -3
- package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
- package/.next/standalone/node_modules/.prisma/client/schema.prisma +12 -9
- package/.next/standalone/node_modules/.prisma/client/wasm.js +3 -0
- package/.next/standalone/node_modules/adm-zip/util/constants.js +142 -0
- package/.next/standalone/node_modules/adm-zip/util/decoder.js +5 -0
- package/.next/standalone/node_modules/adm-zip/util/errors.js +63 -0
- package/.next/standalone/node_modules/adm-zip/util/fattr.js +76 -0
- package/.next/standalone/node_modules/adm-zip/util/index.js +5 -0
- package/.next/standalone/node_modules/adm-zip/util/utils.js +339 -0
- package/.next/standalone/package.json +6 -2
- package/.next/standalone/prisma/schema.prisma +3 -0
- package/.next/standalone/scripts/opencode_plugin.ts +279 -40
- package/.next/standalone/scripts/opencode_tui_plugin.tsx +308 -0
- package/.next/standalone/scripts/si-optimizer.md +5 -0
- package/.next/static/chunks/1e782a49beaf489c.js +1 -0
- package/.next/static/chunks/{01eddf501c574a44.js → 4ee8dc41c9f15b7b.js} +1 -1
- package/.next/static/chunks/67bd1a5de2195779.js +1 -0
- package/.next/static/chunks/{737b8cff3c6a4e30.js → 9445b2873a413c58.js} +1 -1
- package/.next/static/chunks/94dfb15df65ef720.js +2 -0
- package/.next/static/chunks/9d1c5c3494fa53de.js +109 -0
- package/.next/static/chunks/c6bd2818656b1f20.css +1 -0
- package/.next/static/chunks/{e09d9ee16fe90255.js → cd0fde15dc0dfcca.js} +1 -1
- package/.next/static/chunks/{6d12c79948c7e0ac.js → dc59a07a8f327b40.js} +1 -1
- package/.next/static/chunks/{ff6357067630b168.js → e13d208072a48316.js} +1 -1
- package/package.json +6 -2
- package/prisma/schema.prisma +3 -0
- package/scripts/activate_telemetry.sh +44 -1
- package/scripts/opencode_plugin.ts +279 -40
- package/scripts/opencode_tui_plugin.tsx +308 -0
- package/scripts/si-optimizer.md +5 -0
- package/scripts/utils.js +0 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fceba52._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__13132848._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__30769f6e._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__426bc4ab._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__610d08bc._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__75e3674c._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__761462f8._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9aa700a4._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b7ad2649._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c00180dd._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e2f0baee._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ed8f9b78._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fc05579d._.js +0 -3
- package/.next/standalone/.next/server/chunks/src_497d2ad2._.js +0 -175
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__082c32a2._.js +0 -3
- package/.next/standalone/.next/static/chunks/222a937a6c859036.js +0 -1
- package/.next/standalone/.next/static/chunks/2a3dd49367e2c198.js +0 -1
- package/.next/standalone/.next/static/chunks/3e33f7adc10a38d3.js +0 -109
- package/.next/standalone/.next/static/chunks/428e6cf64b115e9d.css +0 -1
- package/.next/standalone/.next/static/chunks/62129f27f303a5ba.js +0 -1
- package/.next/standalone/LICENSE +0 -21
- package/.next/standalone/bin/cli.js +0 -106
- package/.next/standalone/custom-models.example.json +0 -21
- package/.next/standalone/eslint.config.mjs +0 -18
- package/.next/standalone/features/feature-skill-used-jump-link/design/2026-03-18-skill-used-jump-link-design.md +0 -126
- package/.next/standalone/features/feature-skill-used-jump-link/feature.json +0 -32
- package/.next/standalone/features/feature-skill-used-jump-link/issue.md +0 -32
- package/.next/standalone/features/feature-skill-used-jump-link/plans/2026-03-18-skill-used-jump-link.md +0 -528
- package/.next/standalone/next.config.ts +0 -29
- package/.next/standalone/scripts/activate_telemetry.sh +0 -159
- package/.next/standalone/scripts/create_migration_package.sh +0 -124
- package/.next/standalone/scripts/fix_models.js +0 -66
- package/.next/standalone/scripts/init_opengauss.py +0 -284
- package/.next/standalone/scripts/install.js +0 -273
- package/.next/standalone/scripts/logs.js +0 -38
- package/.next/standalone/scripts/otel_data/logs.jsonl +0 -12
- package/.next/standalone/scripts/otel_data/metrics.jsonl +0 -21
- package/.next/standalone/scripts/otel_data/raw_requests.jsonl +0 -8
- package/.next/standalone/scripts/otel_data/raw_requests.jsonl.bak +0 -6
- package/.next/standalone/scripts/otel_receiver.py +0 -580
- package/.next/standalone/scripts/postinstall.js +0 -192
- package/.next/standalone/scripts/publish-npm.js +0 -401
- package/.next/standalone/scripts/restart.js +0 -26
- package/.next/standalone/scripts/restart.sh +0 -138
- package/.next/standalone/scripts/restart_dev.sh +0 -132
- package/.next/standalone/scripts/start.js +0 -291
- package/.next/standalone/scripts/status.js +0 -41
- package/.next/standalone/scripts/stop.js +0 -90
- package/.next/standalone/scripts/sync_skills.js +0 -216
- package/.next/standalone/scripts/utils.js +0 -235
- package/.next/standalone/tests/setup_skill_optimizer.sh +0 -118
- package/.next/standalone/tsconfig.json +0 -34
- package/.next/static/chunks/222a937a6c859036.js +0 -1
- package/.next/static/chunks/2a3dd49367e2c198.js +0 -1
- package/.next/static/chunks/3e33f7adc10a38d3.js +0 -109
- package/.next/static/chunks/428e6cf64b115e9d.css +0 -1
- package/.next/static/chunks/62129f27f303a5ba.js +0 -1
- /package/.next/standalone/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_ssgManifest.js +0 -0
- /package/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_buildManifest.js +0 -0
- /package/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,16015,(e,s,t)=>{},98547,(e,s,t)=>{var d=e.i(18392);e.r(16015);var a=e.r(71645),r=a&&"object"==typeof a&&"default"in a?a:{default:a},l=void 0!==d.default&&d.default.env&&!0,n=function(e){return"[object String]"===Object.prototype.toString.call(e)},i=function(){function e(e){var s=void 0===e?{}:e,t=s.name,d=void 0===t?"stylesheet":t,a=s.optimizeForSpeed,r=void 0===a?l:a;c(n(d),"`name` must be a string"),this._name=d,this._deletedRulePlaceholder="#"+d+"-deleted-rule____{}",c("boolean"==typeof r,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=r,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var i="u">typeof window&&document.querySelector('meta[property="csp-nonce"]');this._nonce=i?i.getAttribute("content"):null}var s,t=e.prototype;return t.setOptimizeForSpeed=function(e){c("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),c(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},t.isOptimizeForSpeed=function(){return this._optimizeForSpeed},t.inject=function(){var e=this;if(c(!this._injected,"sheet already injected"),this._injected=!0,"u">typeof window&&this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(l||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(s,t){return"number"==typeof t?e._serverSheet.cssRules[t]={cssText:s}:e._serverSheet.cssRules.push({cssText:s}),t},deleteRule:function(s){e._serverSheet.cssRules[s]=null}}},t.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var s=0;s<document.styleSheets.length;s++)if(document.styleSheets[s].ownerNode===e)return document.styleSheets[s]},t.getSheet=function(){return this.getSheetForTag(this._tags[this._tags.length-1])},t.insertRule=function(e,s){if(c(n(e),"`insertRule` accepts only strings"),"u"<typeof window)return"number"!=typeof s&&(s=this._serverSheet.cssRules.length),this._serverSheet.insertRule(e,s),this._rulesCount++;if(this._optimizeForSpeed){var t=this.getSheet();"number"!=typeof s&&(s=t.cssRules.length);try{t.insertRule(e,s)}catch(s){return l||console.warn("StyleSheet: illegal rule: \n\n"+e+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),-1}}else{var d=this._tags[s];this._tags.push(this.makeStyleTag(this._name,e,d))}return this._rulesCount++},t.replaceRule=function(e,s){if(this._optimizeForSpeed||"u"<typeof window){var t="u">typeof window?this.getSheet():this._serverSheet;if(s.trim()||(s=this._deletedRulePlaceholder),!t.cssRules[e])return e;t.deleteRule(e);try{t.insertRule(s,e)}catch(d){l||console.warn("StyleSheet: illegal rule: \n\n"+s+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),t.insertRule(this._deletedRulePlaceholder,e)}}else{var d=this._tags[e];c(d,"old rule at index `"+e+"` not found"),d.textContent=s}return e},t.deleteRule=function(e){if("u"<typeof window)return void this._serverSheet.deleteRule(e);if(this._optimizeForSpeed)this.replaceRule(e,"");else{var s=this._tags[e];c(s,"rule at index `"+e+"` not found"),s.parentNode.removeChild(s),this._tags[e]=null}},t.flush=function(){this._injected=!1,this._rulesCount=0,"u">typeof window?(this._tags.forEach(function(e){return e&&e.parentNode.removeChild(e)}),this._tags=[]):this._serverSheet.cssRules=[]},t.cssRules=function(){var e=this;return"u"<typeof window?this._serverSheet.cssRules:this._tags.reduce(function(s,t){return t?s=s.concat(Array.prototype.map.call(e.getSheetForTag(t).cssRules,function(s){return s.cssText===e._deletedRulePlaceholder?null:s})):s.push(null),s},[])},t.makeStyleTag=function(e,s,t){s&&c(n(s),"makeStyleTag accepts only strings as second parameter");var d=document.createElement("style");this._nonce&&d.setAttribute("nonce",this._nonce),d.type="text/css",d.setAttribute("data-"+e,""),s&&d.appendChild(document.createTextNode(s));var a=document.head||document.getElementsByTagName("head")[0];return t?a.insertBefore(d,t):a.appendChild(d),d},s=[{key:"length",get:function(){return this._rulesCount}}],function(e,s){for(var t=0;t<s.length;t++){var d=s[t];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(e,d.key,d)}}(e.prototype,s),e}();function c(e,s){if(!e)throw Error("StyleSheet: "+s+".")}var o=function(e){for(var s=5381,t=e.length;t;)s=33*s^e.charCodeAt(--t);return s>>>0},x={};function p(e,s){if(!s)return"jsx-"+e;var t=String(s),d=e+t;return x[d]||(x[d]="jsx-"+o(e+"-"+t)),x[d]}function f(e,s){"u"<typeof window&&(s=s.replace(/\/style/gi,"\\/style"));var t=e+s;return x[t]||(x[t]=s.replace(/__jsx-style-dynamic-selector/g,e)),x[t]}var m=function(){function e(e){var s=void 0===e?{}:e,t=s.styleSheet,d=void 0===t?null:t,a=s.optimizeForSpeed,r=void 0!==a&&a;this._sheet=d||new i({name:"styled-jsx",optimizeForSpeed:r}),this._sheet.inject(),d&&"boolean"==typeof r&&(this._sheet.setOptimizeForSpeed(r),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var s=e.prototype;return s.add=function(e){var s=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),"u">typeof window&&!this._fromServer&&(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,s){return e[s]=0,e},{}));var t=this.getIdAndRules(e),d=t.styleId,a=t.rules;if(d in this._instancesCounts){this._instancesCounts[d]+=1;return}var r=a.map(function(e){return s._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[d]=r,this._instancesCounts[d]=1},s.remove=function(e){var s=this,t=this.getIdAndRules(e).styleId;if(function(e,s){if(!e)throw Error("StyleSheetRegistry: "+s+".")}(t in this._instancesCounts,"styleId: `"+t+"` not found"),this._instancesCounts[t]-=1,this._instancesCounts[t]<1){var d=this._fromServer&&this._fromServer[t];d?(d.parentNode.removeChild(d),delete this._fromServer[t]):(this._indices[t].forEach(function(e){return s._sheet.deleteRule(e)}),delete this._indices[t]),delete this._instancesCounts[t]}},s.update=function(e,s){this.add(s),this.remove(e)},s.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},s.cssRules=function(){var e=this,s=this._fromServer?Object.keys(this._fromServer).map(function(s){return[s,e._fromServer[s]]}):[],t=this._sheet.cssRules();return s.concat(Object.keys(this._indices).map(function(s){return[s,e._indices[s].map(function(e){return t[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},s.styles=function(e){var s,t;return s=this.cssRules(),void 0===(t=e)&&(t={}),s.map(function(e){var s=e[0],d=e[1];return r.default.createElement("style",{id:"__"+s,key:"__"+s,nonce:t.nonce?t.nonce:void 0,dangerouslySetInnerHTML:{__html:d}})})},s.getIdAndRules=function(e){var s=e.children,t=e.dynamic,d=e.id;if(t){var a=p(d,t);return{styleId:a,rules:Array.isArray(s)?s.map(function(e){return f(a,e)}):[f(a,s)]}}return{styleId:p(d),rules:Array.isArray(s)?s:[s]}},s.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,s){return e[s.id.slice(2)]=s,e},{})},e}(),b=a.createContext(null);function h(){return new m}function u(){return a.useContext(b)}b.displayName="StyleSheetContext";var j=r.default.useInsertionEffect||r.default.useLayoutEffect,g="u">typeof window?h():void 0;function y(e){var s=g||u();return s&&("u"<typeof window?s.add(e):j(function(){return s.add(e),function(){s.remove(e)}},[e.id,String(e.dynamic)])),null}y.dynamic=function(e){return e.map(function(e){return p(e[0],e[1])}).join(" ")},t.StyleRegistry=function(e){var s=e.registry,t=e.children,d=a.useContext(b),l=a.useState(function(){return d||s||h()})[0];return r.default.createElement(b.Provider,{value:l},t)},t.createStyleRegistry=h,t.style=y,t.useStyleRegistry=u},37902,(e,s,t)=>{s.exports=e.r(98547).style},58116,e=>{"use strict";var s=e.i(43476),t=e.i(37902),d=e.i(71645),a=e.i(74080),r=e.i(75225),l=e.i(9694),n=e.i(72526),i=e.i(59559),c=e.i(31195),o=e.i(34239),x=e.i(85183),p=e.i(93230),f=e.i(9665),m=e.i(94690);function b({onSuccess:e}){let{user:t}=(0,m.useAuth)(),[a,r]=(0,d.useState)(!1),[l,n]=(0,d.useState)([]),i=(0,d.useRef)(null),c=async s=>{let d=s.target.files;if(!d||0===d.length)return;r(!0),n(["Preparing upload..."]);let a=new FormData;t&&a.append("user",t);for(let e=0;e<d.length;e++)a.append("files",d[e]),a.append("paths",d[e].webkitRelativePath);try{n(e=>[...e,`Uploading ${d.length} files...`]);let s=await fetch("/api/skills/upload",{method:"POST",body:a}),t=await s.json();s.ok?(n(e=>[...e,"Upload successful!",`Skill: ${t.skill.name} (v${t.version.version})`]),alert("技能上传成功!"),e()):(n(e=>[...e,`Error: ${t.error}`]),alert(`上传失败: ${t.error}`))}catch(e){n(s=>[...s,`Network Error: ${e.message}`]),alert("上传出错")}finally{r(!1),i.current&&(i.current.value="")}};return(0,s.jsxs)("div",{className:"upload-card",children:[(0,s.jsx)("div",{style:{fontSize:"3rem",marginBottom:"1rem",color:"#475569"},children:"📂"}),(0,s.jsx)("h3",{style:{fontSize:"1.25rem",fontWeight:600,marginBottom:"0.5rem",color:"#f8fafc"},children:"上传 Skill"}),(0,s.jsxs)("p",{style:{color:"#94a3b8",marginBottom:"1.5rem",maxWidth:"400px",fontSize:"0.9rem",lineHeight:1.5},children:["选择包含 ",(0,s.jsx)("code",{children:"SKILL.md"}),"的文件夹。",(0,s.jsx)("br",{}),(0,s.jsx)("span",{style:{color:"#fbbf24"},children:"注意: 请上传整个文件夹"}),(0,s.jsx)("br",{}),(0,s.jsx)("span",{style:{color:"#f87171",fontWeight:"bold"},children:"重要: 文件夹名称不得包含中文字符。"})]}),(0,s.jsxs)("div",{style:{position:"relative",display:"inline-block"},children:[(0,s.jsx)("button",{className:"btn-primary",style:{display:"flex",alignItems:"center",gap:"0.5rem",padding:"0.75rem 1.5rem",fontSize:"1rem"},onClick:()=>i.current?.click(),children:(0,s.jsx)("span",{children:"选择文件夹"})}),(0,s.jsx)("input",{ref:i,type:"file",webkitdirectory:"",directory:"",multiple:!0,style:{display:"none"},onChange:c})]}),l.length>0&&(0,s.jsx)("div",{style:{marginTop:"2rem",width:"100%",maxWidth:"600px",textAlign:"left",background:"#0f172a",padding:"1rem",borderRadius:"0.5rem",maxHeight:"150px",overflowY:"auto"},children:l.map((e,t)=>(0,s.jsx)("div",{style:{color:"#cbd5e1",fontSize:"0.8rem",fontFamily:"monospace",marginBottom:"4px",borderBottom:"1px solid #1e293b",paddingBottom:"2px"},children:e},t))})]})}function h({skillId:e,version:t,onClose:a}){let{user:r}=(0,m.useAuth)(),[l,n]=(0,d.useState)(null),[i,c]=(0,d.useState)(!0),[o,x]=(0,d.useState)(!1),[p,f]=(0,d.useState)(null);(0,d.useEffect)(()=>{c(!0),fetch(`/api/skills/${e}/versions/${t}?user=${encodeURIComponent(r||"")}`).then(e=>e.json()).then(e=>{n(e),c(!1)}).catch(e=>{alert("Failed to load details"),c(!1)}),fetch(`/api/skills/${e}/versions/${t}/parse-flow?user=${encodeURIComponent(r||"")}`).then(e=>e.json()).then(e=>{e.parsed&&f(e)}).catch(()=>{})},[e,t]);let b=async()=>{x(!0);try{let s=await fetch(`/api/skills/${e}/versions/${t}/parse-flow`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:r})}),d=await s.json();d.success?f({parsed:!0,flowJson:JSON.stringify(d.flow),mermaidCode:d.mermaidCode,parsedAt:new Date().toISOString()}):alert(`解析失败: ${d.error}`)}catch(s){let e=s instanceof Error?s.message:"未知错误";alert(`解析出错: ${e}`)}finally{x(!1)}};return(0,s.jsx)("div",{className:"modal-overlay",onClick:a,style:{zIndex:1100},children:(0,s.jsxs)("div",{className:"modal-content card",onClick:e=>e.stopPropagation(),style:{width:"1200px",maxWidth:"95vw",maxHeight:"90vh",display:"flex",flexDirection:"column",padding:0,overflow:"hidden"},children:[(0,s.jsxs)("div",{className:"modal-header-new",style:{padding:"1rem 1.5rem",background:"#0f172a",borderBottom:"1px solid #334155",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,s.jsxs)("h3",{style:{margin:0,fontSize:"1.25rem",fontWeight:"bold",color:"white"},children:["Version Details (v",t,")"]}),(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"1rem"},children:[(0,s.jsx)("button",{onClick:b,disabled:o,style:{padding:"6px 16px",background:o?"#334155":"#38bdf8",color:o?"#94a3b8":"#0f172a",border:"none",borderRadius:"4px",cursor:o?"not-allowed":"pointer",fontWeight:"bold",fontSize:"0.9rem"},children:o?"解析中...":p?"重新解析":"解析流程"}),(0,s.jsx)("button",{onClick:a,style:{background:"none",border:"none",color:"#94a3b8",fontSize:"1.5rem",cursor:"pointer",padding:"0 0.5rem",lineHeight:1},children:"×"})]})]}),(0,s.jsx)("div",{style:{flex:1,display:"flex",gap:"1.5rem",padding:"1.5rem",minHeight:0,overflowY:"auto"},children:i?(0,s.jsx)("div",{style:{textAlign:"center",padding:"2rem",color:"#94a3b8",flex:1},children:"Loading details..."}):l?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{style:{flex:"1 1 50%",display:"flex",flexDirection:"column",gap:"1.5rem",minWidth:0},children:[(0,s.jsx)("div",{style:{background:"#1e293b",padding:"1rem",borderRadius:"8px",border:"1px solid #334155"},children:(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{style:{color:"#94a3b8",fontSize:"0.85rem",display:"block",marginBottom:"4px"},children:"Created At"}),(0,s.jsx)("div",{style:{color:"#f8fafc",fontWeight:500},children:new Date(l.createdAt).toLocaleString()})]})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h4",{style:{color:"#94a3b8",marginBottom:"0.5rem",fontSize:"0.85rem",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"变更历史"}),(0,s.jsx)("div",{style:{background:"#0f172a",padding:"1rem",borderRadius:"6px",color:"#e2e8f0",whiteSpace:"pre-wrap",border:"1px solid #334155",fontSize:"0.9rem",lineHeight:1.6},children:l.changeLog||(0,s.jsx)("span",{style:{color:"#64748b",fontStyle:"italic"},children:"无变更历史"})})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h4",{style:{color:"#94a3b8",marginBottom:"0.5rem",fontSize:"0.85rem",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"Skill Content (SKILL.md)"}),(0,s.jsx)("pre",{style:{background:"#0f172a",padding:"1rem",borderRadius:"6px",color:"#e2e8f0",overflowX:"auto",fontFamily:"monospace",fontSize:"0.85rem",border:"1px solid #334155",maxHeight:"300px",whiteSpace:"pre-wrap"},children:l.content||(0,s.jsx)("span",{style:{color:"#64748b",fontStyle:"italic"},children:"(Empty content)"})})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h4",{style:{color:"#94a3b8",marginBottom:"0.5rem",fontSize:"0.85rem",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"Included Files"}),(0,s.jsx)("div",{style:{background:"#0f172a",padding:"1rem",borderRadius:"6px",border:"1px solid #334155"},children:(()=>{try{let e=l.files?JSON.parse(l.files):[];if(0===e.length)return(0,s.jsx)("span",{style:{color:"#64748b",fontSize:"0.9rem",fontStyle:"italic"},children:"No additional files."});return(0,s.jsx)("ul",{style:{margin:0,paddingLeft:"1.2rem",color:"#cbd5e1",fontSize:"0.9rem"},children:e.map((e,t)=>(0,s.jsx)("li",{style:{marginBottom:"4px"},children:e},t))})}catch(e){return(0,s.jsx)("span",{style:{color:"#ef4444",fontSize:"0.9rem"},children:"Error parsing file list."})}})()})]})]}),(0,s.jsxs)("div",{style:{flex:"1 1 50%",minWidth:0,display:"flex",flexDirection:"column"},children:[(0,s.jsx)("h4",{style:{color:"#94a3b8",marginBottom:"0.5rem",fontSize:"0.85rem",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"预期执行流程"}),p?(0,s.jsxs)("div",{style:{background:"#0f172a",padding:"1rem",borderRadius:"6px",border:"1px solid #334155",flex:1,display:"flex",flexDirection:"column"},children:[(0,s.jsxs)("div",{style:{marginBottom:"0.5rem",fontSize:"0.8rem",color:"#64748b",flexShrink:0},children:["解析时间: ",new Date(p.parsedAt).toLocaleString()]}),(0,s.jsx)("div",{style:{flex:1,overflow:"auto"},children:(0,s.jsx)(u,{code:p.mermaidCode})})]}):(0,s.jsx)("div",{style:{background:"#0f172a",padding:"2rem",borderRadius:"6px",border:"1px solid #334155",flex:1,display:"flex",alignItems:"center",justifyContent:"center",color:"#64748b"},children:"点击「解析流程」按钮生成预期执行流程图"})]})]}):(0,s.jsx)("div",{style:{color:"#ef4444",textAlign:"center",padding:"2rem",flex:1},children:"Failed to load details."})})]})})}function u({code:t}){let[a,r]=(0,d.useState)(""),[l,n]=(0,d.useState)("");return((0,d.useEffect)(()=>{let s=async()=>{try{let s=(await e.A(95802)).default;s.initialize({startOnLoad:!1,theme:"dark",flowchart:{useMaxWidth:!1}});let{svg:d}=await s.render("mermaid-"+Date.now(),t);r(d),n("")}catch(e){console.error("Mermaid render error:",e),n("流程图渲染失败")}};t&&s()},[t]),l)?(0,s.jsx)("div",{style:{color:"#f87171"},children:l}):(0,s.jsx)("div",{style:{width:"100%",display:"flex",justifyContent:"center",alignItems:"flex-start"},dangerouslySetInnerHTML:{__html:a}})}function j({skill:e,onClose:t,onUpdate:a}){let{user:r}=(0,m.useAuth)(),[l,n]=(0,d.useState)([]),[i,c]=(0,d.useState)(e.activeVersion),[o,x]=(0,d.useState)(!1),[p,f]=(0,d.useState)(null);(0,d.useEffect)(()=>{fetch(`/api/skills/${e.id}/versions?user=${encodeURIComponent(r||"")}`).then(e=>e.json()).then(e=>{n(e)})},[e.id]),(0,d.useEffect)(()=>{c(e.activeVersion)},[e.activeVersion]);let b=()=>{o&&a(),t()},u=async s=>{try{let t=await fetch(`/api/skills/${e.id}/activate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version:s,user:r})});if(t.ok)c(s),x(!0);else{let e=await t.json();alert(`Failed to activate: ${e.error}`)}}catch(e){alert(`Error: ${e.message}`)}},j=async s=>{if(confirm(`Are you sure you want to delete version ${s}? This action cannot be undone.`))try{let t=await fetch(`/api/skills/${e.id}/versions/${s}?user=${encodeURIComponent(r||"")}`,{method:"DELETE"});if(t.ok){alert(`Version ${s} deleted successfully!`);let t=await fetch(`/api/skills/${e.id}/versions?user=${encodeURIComponent(r||"")}`),d=await t.json();n(d),x(!0),i===s&&d.length>0&&c(d[0].version)}else{let e=await t.json();alert(`Failed to delete version: ${e.error}`)}}catch(e){alert(`Error: ${e.message}`)}},g=(0,d.useRef)(null),y=async s=>{let t=s.target.files;if(!t||0===t.length)return;let d=new FormData;d.append("targetSkillId",e.id),r&&d.append("user",r);for(let e=0;e<t.length;e++)d.append("files",t[e]),d.append("paths",t[e].webkitRelativePath);try{let s=await fetch("/api/skills/upload",{method:"POST",body:d}),t=await s.json();if(s.ok){alert(`Version v${t.version.version} uploaded successfully!`);let s=await fetch(`/api/skills/${e.id}/versions?user=${encodeURIComponent(r||"")}`);n(await s.json()),x(!0)}else alert(`Upload failed: ${t.error}`)}catch(e){alert(`Upload error: ${e.message}`)}finally{g.current&&(g.current.value="")}};return(0,s.jsx)("div",{className:"modal-overlay",onClick:b,children:(0,s.jsxs)("div",{className:"modal-window-lg",onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)("div",{className:"modal-header-new",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{style:{margin:0,fontSize:"1.25rem",fontWeight:"bold",color:"white"},children:e.name}),(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",marginTop:"0.25rem",fontSize:"0.875rem",color:"#94a3b8"},children:[(0,s.jsx)("span",{children:"当前使用 (Active):"}),(0,s.jsxs)("span",{style:{color:"#4ade80",fontFamily:"monospace",fontWeight:"bold",background:"rgba(74, 222, 128, 0.1)",padding:"0 6px",borderRadius:"4px"},children:["v",i]})]})]}),(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"1rem"},children:[(0,s.jsx)("button",{className:"btn-primary",style:{fontSize:"0.85rem",display:"flex",alignItems:"center",gap:"0.5rem"},onClick:()=>g.current?.click(),children:(0,s.jsx)("span",{children:"📤 上传新版本"})}),(0,s.jsx)("button",{onClick:b,style:{background:"none",border:"none",color:"#94a3b8",fontSize:"1.5rem",cursor:"pointer",padding:"0 0.5rem"},children:"×"})]}),(0,s.jsx)("input",{ref:g,type:"file",webkitdirectory:"",directory:"",multiple:!0,style:{display:"none"},onChange:y})]}),(0,s.jsxs)("div",{className:"modal-content-scroll",children:[(0,s.jsxs)("table",{className:"version-table w-full text-left order-collapse",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{style:{width:"120px"},children:"版本"}),(0,s.jsx)("th",{children:"变更历史"}),(0,s.jsx)("th",{style:{textAlign:"right",width:"220px"},children:"Action"})]})}),(0,s.jsx)("tbody",{children:l.map(e=>{let t=e.version===i;return(0,s.jsxs)("tr",{className:`version-row ${t?"version-active-row":""}`,children:[(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(0,s.jsxs)("span",{style:{fontSize:"1rem",fontFamily:"monospace",fontWeight:"bold",color:t?"#4ade80":"#60a5fa"},children:["v",e.version]}),t&&(0,s.jsx)("span",{style:{fontSize:"0.7rem",backgroundColor:"rgba(74, 222, 128, 0.2)",color:"#4ade80",padding:"2px 6px",borderRadius:"4px",fontWeight:"bold",border:"1px solid rgba(74, 222, 128, 0.3)"},children:"ACTIVE"})]}),(0,s.jsx)("span",{style:{fontSize:"0.75rem",color:"#64748b"},children:new Date(e.createdAt).toLocaleDateString()})]}),(0,s.jsx)("td",{children:(0,s.jsx)("p",{style:{margin:0,color:"#e2e8f0",whiteSpace:"pre-wrap",lineHeight:1.6,fontSize:"0.9rem"},children:e.changeLog||(0,s.jsx)("span",{style:{color:"#64748b",fontStyle:"italic"},children:"无变更历史"})})}),(0,s.jsx)("td",{style:{textAlign:"right",minWidth:"280px"},children:(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"0.5rem",flexWrap:"nowrap",alignItems:"center"},children:[(0,s.jsx)("button",{onClick:()=>f(e.version),className:"btn-sm",style:{background:"#334155",border:"1px solid #475569",padding:"6px 12px",whiteSpace:"nowrap",fontSize:"0.85rem",minWidth:"60px"},children:"查看"}),t?(0,s.jsxs)("span",{style:{padding:"6px 12px",fontSize:"0.85rem",fontFamily:"monospace",color:"#4ade80",display:"flex",alignItems:"center",gap:"6px",whiteSpace:"nowrap"},children:[(0,s.jsx)("span",{style:{width:"6px",height:"6px",borderRadius:"50%",background:"#4ade80"}}),"当前"]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{onClick:()=>u(e.version),className:"btn-sm",style:{background:"#1e3a5f",border:"1px solid #3b82f6",padding:"6px 12px",color:"#93c5fd",whiteSpace:"nowrap",fontSize:"0.85rem",minWidth:"85px"},children:"激活 (set active)"}),(0,s.jsx)("button",{onClick:()=>j(e.version),className:"btn-sm",style:{background:"#7f1d1d",border:"1px solid #991b1b",padding:"6px 12px",color:"#fca5a5",whiteSpace:"nowrap",fontSize:"0.85rem",minWidth:"65px"},children:"Delete"})]})]})})]},e.id)})})]}),0===l.length&&(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"200px",color:"#64748b"},children:[(0,s.jsx)("div",{style:{fontSize:"2rem",marginBottom:"1rem",opacity:.5},children:"📂"}),(0,s.jsx)("p",{children:"没有历史版本"})]})]}),null!==p&&(0,s.jsx)(h,{skillId:e.id,version:p,onClose:()=>f(null)})]})})}function g({refresh:e}){let{user:t}=(0,m.useAuth)(),[a,r]=(0,d.useState)([]),[l,n]=(0,d.useState)(!0),[i,c]=(0,d.useState)(null),o=()=>{t&&(n(!0),fetch(`/api/skills?user=${encodeURIComponent(t)}`).then(e=>e.json()).then(e=>{r(Array.isArray(e)?e:[]),n(!1)}))};(0,d.useEffect)(()=>{o()},[e]),(0,d.useEffect)(()=>{if(i){let e=a.find(e=>e.id===i.id);e&&c(e)}},[a]);let x=async e=>{if(confirm("Are you sure you want to delete this skill? This action cannot be undone."))try{let s=await fetch(`/api/skills?id=${e}&user=${encodeURIComponent(t||"")}`,{method:"DELETE"}),d=await s.json();s.ok?o():alert(`Failed to delete skill: ${d.error}`)}catch(e){alert(`Delete error: ${e.message}`)}},p=async(e,s,d)=>{d.stopPropagation();try{(await fetch(`/api/skills/${e}/toggle`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({isUploaded:!s,user:t})})).ok?o():alert("Failed to toggle upload status")}catch(e){alert(`Error: ${e.message}`)}},f=a.length,b=a.filter(e=>e.isUploaded).length;return l?(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",padding:"5rem"},children:[(0,s.jsx)("div",{className:"loading-spinner",style:{width:"2rem",height:"2rem",border:"2px solid #334155",borderTopColor:"#38bdf8",borderRadius:"50%",animation:"spin 1s linear infinite"}}),(0,s.jsx)("style",{children:"@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }"})]}):(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"stats-header",style:{display:"flex",gap:"2rem",marginBottom:"2rem",background:"#1e293b",padding:"1.5rem",borderRadius:"0.75rem",border:"1px solid #334155"},children:[(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,s.jsx)("span",{style:{fontSize:"0.875rem",color:"#94a3b8",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"Skill 总数"}),(0,s.jsx)("span",{style:{fontSize:"2.5rem",fontWeight:700,color:"#f8fafc",lineHeight:1},children:f})]}),(0,s.jsx)("div",{style:{width:"1px",background:"#334155"}}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,s.jsx)("span",{style:{fontSize:"0.875rem",color:"#94a3b8",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"已上传 Skill"}),(0,s.jsx)("span",{style:{fontSize:"2.5rem",fontWeight:700,color:"#4ade80",lineHeight:1},children:b})]})]}),(0,s.jsxs)("div",{className:"skill-grid",children:[a.map(e=>(0,s.jsxs)("div",{className:"skill-card",children:[(0,s.jsxs)("div",{className:"skill-card-header",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h4",{className:"skill-title",title:e.name,children:e.name}),(0,s.jsxs)("div",{className:"skill-meta",children:[(0,s.jsxs)("span",{className:"skill-version-badge",children:["v",e.version]}),(0,s.jsx)("span",{className:"skill-date",children:new Date(e.updatedAt).toLocaleDateString()})]})]}),(0,s.jsx)("div",{className:"skill-icon",children:"🧩"})]}),(0,s.jsxs)("div",{className:"skill-body",children:[(0,s.jsx)("div",{className:"skill-description",children:e.description||(0,s.jsx)("span",{style:{fontStyle:"italic",color:"#64748b"},children:"No description provided for this skill."})}),(0,s.jsxs)("div",{className:"skill-tags",children:[e.tags?.slice(0,3).map((e,t)=>(0,s.jsxs)("span",{className:"skill-tag",children:["#",e]},t)),(e.tags?.length||0)>3&&(0,s.jsxs)("span",{className:"skill-tag",style:{background:"transparent",border:"none",color:"#64748b"},children:["+",e.tags.length-3]})]})]}),(0,s.jsxs)("div",{className:"skill-actions",children:[(0,s.jsx)("button",{onClick:s=>p(e.id,e.isUploaded,s),className:`btn-icon ${e.isUploaded?"uploaded":""}`,title:e.isUploaded?"Withdraw Skill (Stop Sync)":"Upload Skill (Enable Sync)",style:{background:e.isUploaded?"rgba(74, 222, 128, 0.1)":"transparent",border:`1px solid ${e.isUploaded?"#4ade80":"#475569"}`,color:e.isUploaded?"#4ade80":"#94a3b8",padding:"0.4rem",borderRadius:"4px",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s"},children:e.isUploaded?"☁️ 激活":"☁️ 未激活"}),(0,s.jsxs)("button",{onClick:()=>c(e),className:"btn-manage",children:[(0,s.jsx)("span",{children:"⚙️"}),(0,s.jsx)("span",{children:"版本管理"})]}),(0,s.jsx)("button",{onClick:()=>x(e.id),className:"btn-delete",title:"Delete Skill",children:(0,s.jsx)("span",{children:"🗑️"})})]})]},e.id)),0===a.length&&(0,s.jsxs)("div",{className:"upload-card",style:{gridColumn:"1 / -1",background:"transparent",borderStyle:"dashed"},children:[(0,s.jsx)("div",{style:{fontSize:"3rem",marginBottom:"1rem",opacity:.3},children:"📦"}),(0,s.jsx)("p",{style:{color:"#94a3b8",fontSize:"1.2rem"},children:"无 skill"}),(0,s.jsx)("p",{style:{color:"#64748b",fontSize:"0.9rem",marginTop:"0.5rem"},children:"上传 skill"})]})]}),i&&(0,s.jsx)(j,{skill:i,onClose:()=>c(null),onUpdate:o})]})}function y(){let[e,t]=(0,d.useState)("catalog"),[a,r]=(0,d.useState)(0);return(0,s.jsxs)("div",{style:{marginTop:"1rem"},children:[(0,s.jsxs)("div",{className:"nav-tabs",children:[(0,s.jsx)("button",{onClick:()=>t("catalog"),className:`nav-tab-item ${"catalog"===e?"active":""}`,children:"Skill 管理"}),(0,s.jsx)("button",{onClick:()=>t("upload"),className:`nav-tab-item ${"upload"===e?"active":""}`,children:"上传 Skill"})]}),(0,s.jsxs)("div",{style:{minHeight:"400px"},children:["catalog"===e&&(0,s.jsx)(g,{refresh:a}),"upload"===e&&(0,s.jsx)(b,{onSuccess:()=>{r(e=>e+1),t("catalog")}})]})]})}function k({step:e,currentStep:r,totalSteps:l,onNext:n,onPrev:i,onSkip:c,onDismiss:o,onDontShowAgain:x,isVisible:p}){let[f,m]=(0,d.useState)({top:0,left:0}),[b,h]=(0,d.useState)({top:0,left:0}),u=(0,d.useRef)(null),j=(0,d.useCallback)(()=>{if("center"===e.position){if(!u.current)return;let e=u.current.getBoundingClientRect();m({top:(window.innerHeight-e.height)/2,left:(window.innerWidth-e.width)/2}),h({top:0,left:0});return}let s=document.querySelector(e.target);if(!s||!u.current)return;let t=s.getBoundingClientRect(),d=u.current.getBoundingClientRect(),a=0,r=0,l=0,n=0,i=t.left+t.width/2,c=t.top+t.height/2;switch(e.position){case"top":a=t.top-d.height-12,r=i-d.width/2;break;case"bottom":a=t.bottom+12,r=i-d.width/2;break;case"left":a=c-d.height/2,r=t.left-d.width-12;break;case"right":a=c-d.height/2,r=t.right+12}switch(r<10&&(r=10),r+d.width>window.innerWidth-10&&(r=window.innerWidth-d.width-10),a<10&&(a=10),a+d.height>window.innerHeight-10&&(a=window.innerHeight-d.height-10),e.position){case"top":case"bottom":n=i-r-8,l="top"===e.position?d.height-8:-8;break;case"left":case"right":l=c-a-8,n="left"===e.position?d.width-8:-8}m({top:a,left:r}),h({top:l,left:n})},[e]);if((0,d.useEffect)(()=>{if(p){let e=requestAnimationFrame(()=>{j()});return window.addEventListener("resize",j),window.addEventListener("scroll",j,!0),()=>{cancelAnimationFrame(e),window.removeEventListener("resize",j),window.removeEventListener("scroll",j,!0)}}},[p,j]),!p)return null;let g="center"===e.position;return(0,a.createPortal)((0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,background:"rgba(0, 0, 0, 0.5)",zIndex:9998,pointerEvents:"auto"},onClick:o,className:"jsx-f29a97b83a083e27"}),(0,s.jsxs)("div",{ref:u,style:{position:"fixed",top:f.top,left:f.left,background:g?"linear-gradient(135deg, #1e293b 0%, #0f172a 100%)":"#1e293b",border:"1px solid #38bdf8",borderRadius:g?"16px":"12px",padding:g?"32px 40px":"20px",maxWidth:g?"480px":"360px",minWidth:g?"320px":"280px",zIndex:9999,boxShadow:g?"0 25px 50px rgba(0, 0, 0, 0.5), 0 0 40px rgba(56, 189, 248, 0.3)":"0 20px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(56, 189, 248, 0.2)",animation:"fadeInScale 0.3s ease-out",textAlign:g?"center":"left"},className:"jsx-f29a97b83a083e27",children:[!g&&(0,s.jsx)("div",{style:(()=>{if("center"===e.position)return null;let s={position:"absolute",width:0,height:0,borderStyle:"solid"};switch(e.position){case"top":return{...s,top:b.top,left:b.left,borderWidth:"8px 8px 0 8px",borderColor:"#1e293b transparent transparent transparent"};case"bottom":return{...s,top:b.top,left:b.left,borderWidth:"0 8px 8px 8px",borderColor:"transparent transparent #1e293b transparent"};case"left":return{...s,top:b.top,left:b.left,borderWidth:"8px 0 8px 8px",borderColor:"transparent transparent transparent #1e293b"};case"right":return{...s,top:b.top,left:b.left,borderWidth:"8px 8px 8px 0",borderColor:"transparent #1e293b transparent transparent"};default:return null}})()||{},className:"jsx-f29a97b83a083e27"}),g&&(0,s.jsx)("div",{style:{fontSize:"3rem",marginBottom:"16px"},className:"jsx-f29a97b83a083e27",children:"👋"}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:"12px"},className:"jsx-f29a97b83a083e27",children:[(0,s.jsx)("h3",{style:{margin:0,color:"#38bdf8",fontSize:g?"1.4rem":"1.1rem",fontWeight:600,width:"100%"},className:"jsx-f29a97b83a083e27",children:e.title}),(0,s.jsx)("button",{onClick:o,style:{background:"transparent",border:"none",color:"#94a3b8",cursor:"pointer",fontSize:"1.2rem",padding:"0",lineHeight:1},className:"jsx-f29a97b83a083e27",children:"✕"})]}),(0,s.jsx)("p",{style:{margin:"0 0 16px 0",color:"#e2e8f0",fontSize:"0.9rem",lineHeight:1.6},className:"jsx-f29a97b83a083e27",children:e.content}),e.linkUrl&&e.linkText&&(0,s.jsx)("div",{style:{marginBottom:"16px"},className:"jsx-f29a97b83a083e27",children:(0,s.jsxs)("a",{href:e.linkUrl,target:"_blank",rel:"noopener noreferrer",style:{color:"#38bdf8",textDecoration:"none",fontSize:"0.9rem",fontWeight:500,display:"inline-flex",alignItems:"center",gap:"6px",padding:"8px 16px",background:"rgba(56, 189, 248, 0.1)",borderRadius:"6px",border:"1px solid rgba(56, 189, 248, 0.3)",transition:"all 0.2s"},onClick:e=>e.stopPropagation(),className:"jsx-f29a97b83a083e27",children:[e.linkText,(0,s.jsx)("span",{style:{fontSize:"0.8rem"},className:"jsx-f29a97b83a083e27",children:"↗"})]})}),(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:"16px",gap:"8px"},className:"jsx-f29a97b83a083e27",children:[Array.from({length:l}).map((e,t)=>(0,s.jsx)("div",{style:{width:"8px",height:"8px",borderRadius:"50%",background:t===r?"#38bdf8":"#475569",transition:"background 0.2s"},className:"jsx-f29a97b83a083e27"},t)),(0,s.jsxs)("span",{style:{marginLeft:"auto",color:"#94a3b8",fontSize:"0.8rem"},className:"jsx-f29a97b83a083e27",children:[r+1," / ",l]})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap"},className:"jsx-f29a97b83a083e27",children:[r>0&&(0,s.jsx)("button",{onClick:i,style:{background:"transparent",border:"1px solid #475569",color:"#94a3b8",padding:"8px 16px",borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem"},className:"jsx-f29a97b83a083e27",children:"上一步"}),e.action&&e.actionLabel&&(0,s.jsx)("button",{onClick:()=>{e.action?.(),n()},style:{background:"linear-gradient(135deg, #38bdf8, #818cf8)",border:"none",color:"white",padding:"8px 16px",borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem",fontWeight:600},className:"jsx-f29a97b83a083e27",children:e.actionLabel}),r<l-1?(0,s.jsx)("button",{onClick:n,style:{background:"#38bdf8",border:"none",color:"#0f172a",padding:"8px 16px",borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem",fontWeight:600},className:"jsx-f29a97b83a083e27",children:"下一步"}):(0,s.jsx)("button",{onClick:o,style:{background:"#4ade80",border:"none",color:"#0f172a",padding:"8px 16px",borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem",fontWeight:600},className:"jsx-f29a97b83a083e27",children:"完成"}),(0,s.jsx)("button",{onClick:c,style:{background:"transparent",border:"none",color:"#94a3b8",padding:"8px 12px",borderRadius:"6px",cursor:"pointer",fontSize:"0.8rem"},className:"jsx-f29a97b83a083e27",children:"跳过"})]}),(0,s.jsx)("div",{style:{marginTop:"12px",paddingTop:"12px",borderTop:"1px solid #334155"},className:"jsx-f29a97b83a083e27",children:(0,s.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:"8px",color:"#94a3b8",fontSize:"0.8rem",cursor:"pointer"},className:"jsx-f29a97b83a083e27",children:[(0,s.jsx)("input",{type:"checkbox",onChange:e=>{e.target.checked&&x()},style:{accentColor:"#38bdf8"},className:"jsx-f29a97b83a083e27"}),"不再显示指引"]})})]}),(0,s.jsx)(t.default,{id:"f29a97b83a083e27",children:"@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}"})]}),document.body)}function v({steps:e,onComplete:t,onSkip:a,onDontShowAgain:r,startStep:l=0}){let[n,i]=(0,d.useState)(l),[c,o]=(0,d.useState)(!0);return 0===e.length||n>=e.length?null:(0,s.jsx)(k,{step:e[n],currentStep:n,totalSteps:e.length,onNext:()=>{n<e.length-1?i(n+1):(o(!1),t())},onPrev:()=>{n>0&&i(n-1)},onSkip:()=>{a(e[n].id),o(!1),t()},onDismiss:()=>{o(!1),t()},onDontShowAgain:r,isVisible:c})}let N=[{id:"welcome",target:"",title:"欢迎使用 Skill-Insight",content:"这是智能体技能评估、分析与优化平台。接下来将引导您完成关键配置,帮助您快速上手使用。",position:"center"},{id:"eval-config",target:".controls",title:"配置评测模型",content:"配置评测模型是使用平台核心分析能力的前提,用于:数据集数据项抽取、Skill执行分析、有效性分析。您可以选择 DeepSeek、OpenAI 等模型作为评测引擎。点击⚙️按钮可以配置评测模型的 API Key 和参数。",position:"bottom",actionLabel:"配置模型"},{id:"dataset-config",target:".tabs .tab-btn:nth-child(2)",title:"配置数据集",content:'数据集用于定义测试问题和标准答案。配置数据集后,系统将使用刚才配置的评测模型自动评估 Agent 的回答质量。点击"数据集管理"标签页可以添加和管理您的测试数据集。',position:"bottom",actionLabel:"前往配置"},{id:"skill-upload",target:".tabs .tab-btn:nth-child(3)",title:"上传技能包",content:'Skill(技能包)是 Agent 执行特定任务的指导文档。上传技能包后,您可以评估其在 Agent 中的实际效果。点击"技能管理"标签页可以上传和管理技能包。',position:"bottom",actionLabel:"前往上传"},{id:"user-manual",target:".title",title:"查看用户手册",content:"需要更详细的帮助?您可以查看用户使用手册获取完整的使用说明和最佳实践指南。",position:"bottom",linkUrl:"https://atomgit.com/openeuler/witty-skill-insight/wiki/%E7%94%A8%E6%88%B7%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C",linkText:"📖 查看用户使用手册"}],S=["#38bdf8","#f472b6","#4ade80","#fbbf24","#818cf8","#f87171"],w=e=>{if(e<1e3)return`${e.toFixed(0)}ms`;let s=e/1e3;if(s>=60){let e=Math.floor(s/60),t=Math.round(s%60);return 0===t?`${e}m`:`${e}m${t}s`}return`${s.toFixed(1)}s`},_=e=>e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toString(),C=e=>null==e?null:0===e?"$0.00":e<.01?`$${e.toFixed(4)}`:e<1?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`,z=e=>{let s=e.filter(e=>null!=e.cost);if(0===s.length)return null;let t=s.length,d=s.filter(e=>e.is_answer_correct).length;return 0===d?null:s.reduce((e,s)=>e+(s.cost||0),0)/t/(d/t)},T=e=>{if(!e)return"-";let s=new Date(e);return s.getFullYear()+"/"+String(s.getMonth()+1).padStart(2,"0")+"/"+String(s.getDate()).padStart(2,"0")+" "+String(s.getHours()).padStart(2,"0")+":"+String(s.getMinutes()).padStart(2,"0")+":"+String(s.getSeconds()).padStart(2,"0")},R=({content:e})=>{let[t,r]=(0,d.useState)(!1),l=(0,d.useRef)(null),[n,i]=(0,d.useState)({top:0,left:0});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{ref:l,style:{marginLeft:"4px",cursor:"help",fontSize:"0.8rem",display:"inline-block"},onMouseEnter:()=>{if(l.current){let e=l.current.getBoundingClientRect();i({top:e.top,left:e.left+e.width/2}),r(!0)}},onMouseLeave:()=>r(!1),children:"ⓘ"}),t&&"u">typeof document&&(0,a.createPortal)((0,s.jsxs)("div",{style:{position:"fixed",top:n.top-8,left:n.left,transform:"translate(-50%, -100%)",background:"#0f172a",border:"1px solid #334155",color:"#f1f5f9",padding:"6px 10px",borderRadius:"4px",whiteSpace:"pre-wrap",minWidth:"200px",textAlign:"left",zIndex:9999,boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.5)",pointerEvents:"none"},children:[e,(0,s.jsx)("div",{style:{position:"absolute",top:"100%",left:"50%",marginLeft:"-4px",width:0,height:0,borderLeft:"4px solid transparent",borderRight:"4px solid transparent",borderTop:"4px solid #334155"}})]}),document.body)]})};function I(){let{user:e,apiKey:a}=(0,m.useAuth)(),[b,h]=(0,d.useState)(null),{guideState:u,loading:j,shouldShowGuide:g,setShouldShowGuide:k,markStepSkipped:I,disableGuide:A,dismissForToday:$}=function(e){let[s,t]=(0,d.useState)(null),[a,r]=(0,d.useState)(!0),[l,n]=(0,d.useState)(!1),i=(0,d.useCallback)(async()=>{if(!e)return void r(!1);try{let s=await fetch("/api/guide",{headers:{"x-user-id":e}});if(s.ok){let e=await s.json(),d={...e,completedSteps:JSON.parse(e.completedSteps||"[]"),skippedSteps:JSON.parse(e.skippedSteps||"[]")};t(d);let a=e.guideDisabled,r=e.dismissedAt&&new Date(e.dismissedAt).toDateString()===new Date().toDateString();n(!a&&!r)}}catch(e){console.error("Failed to fetch guide state:",e)}finally{r(!1)}},[e]);(0,d.useEffect)(()=>{i()},[i]);let c=(0,d.useCallback)(async s=>{if(e)try{let d=await fetch("/api/guide",{method:"POST",headers:{"Content-Type":"application/json","x-user-id":e},body:JSON.stringify(s)});if(d.ok){let e=await d.json(),s={...e,completedSteps:JSON.parse(e.completedSteps||"[]"),skippedSteps:JSON.parse(e.skippedSteps||"[]")};return t(s),s}}catch(e){console.error("Failed to update guide state:",e)}},[e]),o=(0,d.useCallback)(async e=>{if(!s)return;let t=[...new Set([...s.completedSteps,e])];await c({completedSteps:t})},[s,c]),x=(0,d.useCallback)(async e=>{if(!s)return;let t=[...new Set([...s.skippedSteps,e])];await c({skippedSteps:t})},[s,c]),p=(0,d.useCallback)(async()=>{await c({guideDisabled:!0}),n(!1)},[c]),f=(0,d.useCallback)(async()=>{await c({guideDisabled:!1,dismissedAt:null}),n(!0)},[c]),m=(0,d.useCallback)(async()=>{await c({dismissedAt:new Date().toISOString()}),n(!1)},[c]),b=(0,d.useCallback)(async()=>{await c({currentStep:0,completedSteps:[],skippedSteps:[],guideDisabled:!1,dismissedAt:null}),n(!0)},[c]);return{guideState:s,loading:a,shouldShowGuide:l,setShouldShowGuide:n,markStepCompleted:o,markStepSkipped:x,disableGuide:p,enableGuide:f,dismissForToday:m,resetGuide:b,setCurrentStep:(0,d.useCallback)(async e=>{await c({currentStep:e})},[c]),refresh:i}}(e),[F,W]=(0,d.useState)([]);(0,d.useEffect)(()=>{if(u){var e,s;W((e=u.completedSteps,s=u.skippedSteps,N.filter(t=>!e.includes(t.id)&&!s.includes(t.id))))}},[u]),(0,d.useEffect)(()=>{if(a)h(a);else if(1){let e=localStorage.getItem("api_key");e&&h(e)}},[a]);let[D,E]=(0,d.useState)("dashboard"),[O,B]=(0,d.useState)(!1);(0,d.useEffect)(()=>{O&&e&&fetch("/api/auth/apikey",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e})}).then(e=>e.json()).then(e=>{e.apiKey&&(h(e.apiKey),localStorage.setItem("api_key",e.apiKey))}).catch(e=>console.error("Failed to fetch fresh API key",e))},[O,e]);let[L,U]=(0,d.useState)([]),[P,q]=(0,d.useState)(!0),[M,H]=(0,d.useState)([]),[K,J]=(0,d.useState)([]),[V,Y]=(0,d.useState)(new Set),[Q,G]=(0,d.useState)(null),[X,Z]=(0,d.useState)(null),[ee,es]=(0,d.useState)(""),[et,ed]=(0,d.useState)("all"),[ea,er]=(0,d.useState)("latest_10"),[el,en]=(0,d.useState)(""),[ei,ec]=(0,d.useState)(""),[eo,ex]=(0,d.useState)(""),[ep,ef]=(0,d.useState)(""),[em,eb]=(0,d.useState)(!1),[eh,eu]=(0,d.useState)([]),[ej,eg]=(0,d.useState)("framework"),[ey,ek]=(0,d.useState)(!1),[ev,eN]=(0,d.useState)(!1),[eS,ew]=(0,d.useState)([]),[e_,eC]=(0,d.useState)([]),[ez,eT]=(0,d.useState)(""),[eR,eI]=(0,d.useState)(!1),[eA,e$]=(0,d.useState)(!1),[eF,eW]=(0,d.useState)(!1),[eD,eE]=(0,d.useState)(null),[eO,eB]=(0,d.useState)([]),[eL,eU]=(0,d.useState)("default"),[eP,eq]=(0,d.useState)(null),[eM,eH]=(0,d.useState)({id:"new",name:"New Config",provider:"deepseek",model:"deepseek-chat"}),eK=async()=>{eW(!0),eE(null);try{let s=[...eO],t={...eM};"new"===t.id?(t.id=`config_${Date.now()}`,s.push(t)):s=s.map(e=>e.id===t.id?t:e);let d={provider:t.provider,apiKey:t.apiKey,baseUrl:t.baseUrl,model:t.model};eE({type:"success",msg:"Testing connection..."});let a=await fetch("/api/settings/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}),r=await a.json();if(!r.success){eE({type:"error",msg:`Connection Test Failed: ${r.error}`}),eW(!1);return}let l=eL;(1===s.length||"default"===eL)&&(l=t.id);let n={activeConfigId:l,configs:s},i=await fetch("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:n,user:e})});if(i.ok)eB(s),eU(l),eq(null),eE({type:"success",msg:"Saved!"}),setTimeout(()=>eE(null),1500);else{let e=await i.json();eE({type:"error",msg:`Failed to save settings: ${e.error||i.statusText}`})}}catch(e){eE({type:"error",msg:`Error: ${e.message}`})}finally{eW(!1)}},eJ=async s=>{await fetch("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:{activeConfigId:s,configs:eO},user:e})}),eU(s)},eV=async s=>{if(!confirm("Are you sure?"))return;let t=eO.filter(e=>e.id!==s),d=eL;s===eL&&(d=t[0]?.id||"");let a={activeConfigId:d,configs:t};await fetch("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:a,user:e})}),eB(t),eU(d)};(0,d.useEffect)(()=>{e6()},[]),(0,d.useEffect)(()=>{eA&&(e6(),eE(null),eq(null))},[eA]),(0,d.useEffect)(()=>{Q&&Q.user_feedback?eT(Q.user_feedback.comment||""):eT("")},[Q]);let[eY,eQ]=(0,d.useState)(""),[eG,eX]=(0,d.useState)(""),[eZ,e0]=(0,d.useState)(""),[e1,e2]=(0,d.useState)(""),[e9,e3]=(0,d.useState)(1);(0,d.useEffect)(()=>{e3(1)},[eY,eG,eZ,e1,et]);let e7=async()=>{q(!0);try{let s=e?`/api/data?user=${encodeURIComponent(e)}`:"/api/data",t=await fetch(s,{cache:"no-store"}),d=(await t.json()).filter(e=>e.query&&""!==e.query.trim()).map(e=>{let s=Number(e.latency||0);return("opencode"===e.framework||"openhands"===e.framework||"claude"===e.framework)&&(s*=1e3),{...e,tokens:Number(e.tokens||e.Token||0),latency:s,framework:("claude"===e.framework?"claudecode":e.framework)||"Unknown",model:e.model||"Unknown",skill_score:void 0!==e.skill_score?Number(e.skill_score):void 0,answer_score:null===e.answer_score?null:void 0!==e.answer_score?Number(e.answer_score):+!!e.is_answer_correct}});U(d)}catch(e){console.error("Failed to fetch data",e)}finally{q(!1)}},e6=(0,d.useCallback)(async()=>{if(e)try{let s=await fetch(`/api/settings?user=${encodeURIComponent(e)}`);if(s.ok){let e=await s.json();e.configs&&(eB(e.configs),eU(e.activeConfigId||e.configs[0]?.id||"default"))}}catch(e){console.error("Failed to fetch settings",e)}},[e]);(0,d.useEffect)(()=>{e&&(e7(),e&&fetch(`/api/config?user=${encodeURIComponent(e)}`).then(e=>e.json()).then(e=>{Array.isArray(e)?H(e):console.error("Invalid config data received:",e)}).catch(e=>console.error("Failed to fetch configs",e)),e&&fetch(`/api/skills?user=${encodeURIComponent(e)}`).then(e=>e.json()).then(e=>{Array.isArray(e)?J(e):console.error("Invalid skills data received:",e)}).catch(e=>console.error("Failed to fetch skills",e)),e6())},[e,e6]);let e8=async s=>{if(confirm("确定要删除这条记录吗?"))try{(await fetch(`/api/data?user=${encodeURIComponent(e||"")}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})).ok?e7():alert("删除失败")}catch(e){alert("删除出错")}},e4=async(e,s)=>{if(Q)try{let t={type:e,comment:void 0!==s?s:ez},d={...Q,user_feedback:t};G(d),U(e=>e.map(e=>e.task_id===Q.task_id||e.upload_id===Q.upload_id?d:e)),(await fetch("/api/data",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({task_id:Q.task_id,upload_id:Q.upload_id,user_feedback:t})})).ok?alert("保存成功"):console.error("Feedback save failed")}catch(e){console.error("Feedback error",e)}},e5=async s=>{let t=s.upload_id||s.task_id||"";if(t&&confirm("确定要重新评估这条记录吗?")){console.log("Rejudging ID:",t),Y(e=>{let s=new Set(e);return s.add(t),s});try{let t=await fetch("/api/rejudge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...s,currentUser:e})});if(t.ok){let e=await t.json();(e.record?.judgment_reason||"").includes("未找到匹配的评测配置")?alert(`重评完成: 未找到匹配的评测配置,Score 已归零。请在「数据集管理」中为该 query 添加完全一致的条目后再重评。`):alert(`重评完成: Score ${e.record.answer_score?.toFixed(2)}`);let d={...e.record,tokens:Number(e.record.tokens||e.record.Token||0),latency:Number(e.record.latency||0),framework:e.record.framework||"Unknown",skill_score:void 0!==e.record.skill_score?Number(e.record.skill_score):void 0,answer_score:null!==e.record.answer_score?Number(e.record.answer_score):+!!e.record.is_answer_correct};U(e=>e.map(e=>e.upload_id===s.upload_id||e.task_id===s.task_id?d:e)),Q&&(Q.task_id===s.task_id||Q.upload_id===s.upload_id)&&G(d),e7()}else{let e="重评失败";try{let s=await t.json();s&&s.error&&(e+=`: ${s.error}`)}catch(e){}alert(e)}}catch(e){alert("重评请求出错")}finally{Y(e=>{let s=new Set(e);return s.delete(t),s})}}},se=async(e,s)=>{try{let t={task_id:e.task_id,upload_id:e.upload_id,label:s};(await fetch("/api/data",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).ok?(Z(null),e7()):alert("更新标签失败")}catch(e){alert("更新标签出错")}},[ss,st]=(0,d.useState)({}),[sd,sa]=(0,d.useState)(!1),[sr,sl]=(0,d.useState)(!1),[sn,si]=(0,d.useState)("manual"),[sc,so]=(0,d.useState)(null),sx=(0,d.useRef)(new Map);(0,d.useEffect)(()=>()=>{sx.current.forEach(e=>clearTimeout(e))},[]);let sp=(0,d.useCallback)(e=>{let s=async()=>{try{let t=await fetch(`/api/config/status?id=${e}`);if(!t.ok)return;let d=await t.json();if("completed"===d.parse_status||"failed"===d.parse_status){H(s=>s.map(s=>s.id===e?{...s,standard_answer:d.standard_answer||s.standard_answer,root_causes:d.root_causes,key_actions:d.key_actions,parse_status:d.parse_status}:s));let s=sx.current.get(e);s&&clearTimeout(s),sx.current.delete(e)}else{let t=setTimeout(s,2e3);sx.current.set(e,t)}}catch(d){console.error("Config status poll error:",d);let t=setTimeout(s,5e3);sx.current.set(e,t)}},t=setTimeout(s,2e3);sx.current.set(e,t)},[]);(0,d.useEffect)(()=>{M.forEach(e=>{"parsing"!==e.parse_status||sx.current.has(e.id)||sp(e.id)})},[M,sp]);let sf=async()=>{if(!ss.query?.trim())return alert("问题 (Query) 不能为空");if(!ss.id){let e=ss.query.trim();if(M.some(s=>s.query.trim()===e))return alert("该问题已存在于数据集中,请修改后再保存");ss.query=e}sl(!0);try{if(ss.id){let s=[...M];s=s.map(e=>e.id===ss.id?{...e,...ss}:e),(await fetch("/api/config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configs:s,user:e})})).ok?(H(s),sa(!1),st({})):alert("保存失败")}else{let s;if("manual"===sn&&!ss.standard_answer?.trim())return sl(!1),alert("请填写标准答案");if("document"===sn&&!sc)return sl(!1),alert("请上传案例文档");if("document"===sn&&sc){let t=new FormData;t.append("query",ss.query),t.append("document",sc),e&&t.append("user",e),ss.expectedSkills&&t.append("expectedSkills",JSON.stringify(ss.expectedSkills)),s=await fetch("/api/config/create",{method:"POST",body:t})}else s=await fetch("/api/config/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:ss.query,standardAnswer:ss.standard_answer,skill:ss.skill,skillVersion:ss.skillVersion,expectedSkills:ss.expectedSkills,user:e})});if(s.ok){let e=await s.json();e&&e.id&&(H(s=>[e,...s]),"parsing"===e.parse_status&&sp(e.id)),sa(!1),st({}),so(null),si("manual")}else{let e=await s.json();alert(`保存失败: ${e.error||"Unknown error"}`)}}}catch(e){console.error(e),alert("保存出错: "+e.message)}finally{sl(!1)}},sm=async s=>{if(!confirm("确定删除此配置?"))return;let t=M.filter(e=>e.id!==s);(await fetch("/api/config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configs:t,user:e})})).ok&&H(t)},sb=(0,d.useMemo)(()=>Array.from(new Set(L.map(e=>e.framework))).sort(),[L]),sh=(0,d.useMemo)(()=>Array.from(new Set(L.map(e=>e.query))).sort(),[L]),su=(0,d.useMemo)(()=>{if("all"===et)return L;let e=Date.now()-(({"1h":36e5,"3h":108e5,"24h":864e5})[et]||0);return L.filter(s=>new Date(s.timestamp).getTime()>e)},[L,et]),sj=(0,d.useMemo)(()=>{let e=new Set;return su.forEach(s=>{s.label&&e.add(s.label)}),Array.from(e).sort()},[su]),sg=(0,d.useMemo)(()=>{let e=new Set;return su.forEach(s=>{s.model&&e.add(s.model)}),Array.from(e).sort()},[su]),sy="framework"===ej?sb:sg,sk=(0,d.useMemo)(()=>{let e=su;return"single"===ea&&(e=e.filter(e=>e.query===el)),Array.from(new Set(e.map(e=>e.label||"Other"))).sort()},[su,ea,el]),sv=(0,d.useMemo)(()=>{let e=su;return eo&&(e=e.filter(e=>e.query===eo)),ei&&(e=e.filter(e=>e.framework===ei)),Array.from(new Set(e.map(e=>e.label||"Other"))).sort()},[su,eo,ei]),sN=(0,d.useMemo)(()=>{let e=su;return eo&&(e=e.filter(e=>e.query===eo)),ei&&(e=e.filter(e=>e.framework===ei)),Array.from(new Set(e.map(e=>e.model||"Unknown"))).sort()},[su,eo,ei]),sS=(0,d.useMemo)(()=>{let e=su;return ei&&(e=e.filter(e=>e.framework===ei)),Array.from(new Set(e.map(e=>e.query))).sort()},[su,ei]);(0,d.useEffect)(()=>{ei&&sb.includes(ei)||!(sb.length>0)||ec(sb[0]),!el&&sh.length>0&&en(sh[0])},[sb,sh]),(0,d.useEffect)(()=>{eo&&sS.includes(eo)||!(sS.length>0)||ex(sS[0])},[sS]);let sw=(0,d.useMemo)(()=>{let e=su;if("single"===ea)e=e.filter(e=>e.query===el);else if("latest_10"===ea){let s=Array.from(new Set(e.map(e=>e.query))).map(s=>({query:s,latestTimestamp:Math.max(...e.filter(e=>e.query===s).map(e=>new Date(e.timestamp).getTime()))})).sort((e,s)=>s.latestTimestamp-e.latestTimestamp).slice(0,10).map(e=>e.query);e=e.filter(e=>s.includes(e.query))}if(em){let s=[];return Array.from(new Set(e.map(e=>e.label||"Other"))).sort().forEach(t=>{if(eh.length>0&&!eh.includes(t))return;let d=e.filter(e=>(e.label||"Other")===t);if(0===d.length)return;let a={label:t,data:[]};Array.from(new Set(d.map(e=>e.query))).forEach(e=>{let s={shortQuery:e.length>15?e.substring(0,15)+"...":e};sy.forEach(t=>{let a=d.filter(s=>s.query===e&&("framework"===ej?s.framework:s.model||"Unknown")===t);if(a.length>0){let e=a.reduce((e,s)=>e+s.latency,0)/a.length,d=a.reduce((e,s)=>e+s.tokens,0)/a.length,r=a.filter(e=>null!==e.answer_score),l=r.length>0,n=l?r.reduce((e,s)=>e+(s.answer_score||0),0)/r.length:0,i=a.reduce((e,s)=>e+(s.skill_recall_rate??0),0)/a.length*100;s[`${t}_lat`]=parseFloat(e.toFixed(2)),s[`${t}_tok`]=Math.round(d),s[`${t}_score`]=l?parseFloat(n.toFixed(2)):null,s[`${t}_recall`]=parseFloat(i.toFixed(1))}}),Object.keys(s).length>1&&a.data.push(s)}),a.data.length>0&&s.push(a)}),s}{let s={};e.forEach(e=>{s[e.query]||(s[e.query]=[]),s[e.query].push(e)});let t=[];return(Object.keys(s).forEach(e=>{let d=s[e],a=Math.max(...d.map(e=>new Date(e.timestamp).getTime())),r={query:e,shortQuery:e.length>15?e.substring(0,15)+"...":e,latestTimestamp:a},l=!1;sy.forEach(e=>{let s=d.filter(s=>("framework"===ej?s.framework:s.model||"Unknown")===e);if(s.length>0){let t=s.reduce((e,s)=>e+s.latency,0)/s.length,d=s.reduce((e,s)=>e+s.tokens,0)/s.length,a=s.reduce((e,s)=>e+(s.skill_recall_rate??0),0)/s.length*100,n=s.filter(e=>null!==e.answer_score),i=n.length>0,c=i?n.reduce((e,s)=>e+(s.answer_score||0),0)/n.length:0;r[`${e}_lat`]=parseFloat(t.toFixed(2)),r[`${e}_tok`]=Math.round(d),r[`${e}_recall`]=parseFloat(a.toFixed(1)),r[`${e}_score`]=i?parseFloat(c.toFixed(2)):null,l=!0}}),l&&t.push(r)}),t.sort((e,s)=>s.latestTimestamp-e.latestTimestamp),"latest_10"===ea)?t.slice(0,10):t}},[su,ea,el,em,eh,sy,ej]),s_=(0,d.useMemo)(()=>{if(!eo)return null;let e=su.filter(e=>e.query===eo);if(ei&&(e=e.filter(e=>e.framework===ei)),0===e.length)return null;let s=e.reduce((e,s)=>e+s.latency,0),t=[...e].sort((e,s)=>e.latency-s.latency),d=new Set(M.filter(e=>e.skill&&""!==e.skill.trim()||e.expectedSkills&&e.expectedSkills.some(e=>e.skill&&""!==e.skill.trim())).map(e=>e.query.trim())),a=su.filter(e=>e.query&&d.has(e.query.trim())).filter(e=>null!==e.skill_recall_rate&&void 0!==e.skill_recall_rate),r=a.length>0?a.reduce((e,s)=>e+(s.skill_recall_rate??0),0)/a.length*100:0,l=e.filter(e=>null!==e.skill_recall_rate&&void 0!==e.skill_recall_rate),n=l.length>0?l.reduce((e,s)=>e+(s.skill_recall_rate??0),0)/l.length*100:0,i=e.filter(e=>null!=e.cost),c=i.length?i.reduce((e,s)=>e+(s.cost||0),0)/i.length:null,o=z(e);return{count:e.length,avgLatency:s/e.length,avgTokens:Math.round(e.reduce((e,s)=>e+s.tokens,0)/e.length),avgCost:c,globalSkillRecallRate:r,querySkillRecallRate:n,cpsr:o,avgAnsScore:e.filter(e=>null!==e.answer_score).length?e.filter(e=>null!==e.answer_score).reduce((e,s)=>e+(s.answer_score||0),0)/e.filter(e=>null!==e.answer_score).length:0,best:t[0],worst:t[t.length-1],avgSkillScore:e.reduce((e,s)=>e+(s.skill_score||0),0)/e.filter(e=>void 0!==e.skill_score).length||0}},[su,ei,eo,M]),sC=(0,d.useMemo)(()=>su.filter(e=>(!eY||e.framework===eY)&&(!eG||e.label===eG)&&(!e1||e.model===e1)&&(!eZ||!!e.query.toLowerCase().includes(eZ.toLowerCase()))),[su,eY,eG,e1,eZ]),sz=Math.ceil(sC.length/10),sT=sC.slice((e9-1)*10,10*e9),sR=({title:e,dataKey:t,unit:d="",data:a,frameworks:f,yFormatter:m})=>(0,s.jsxs)("div",{className:"card",style:{height:"350px",display:"flex",flexDirection:"column"},children:[(0,s.jsx)("div",{className:"card-title",style:{marginBottom:"10px"},children:e}),(0,s.jsx)("div",{style:{flex:1,minHeight:0},children:(0,s.jsx)(c.ResponsiveContainer,{width:"100%",height:"100%",children:(0,s.jsxs)(l.BarChart,{data:a,margin:{top:10,right:10,left:0,bottom:20},children:[(0,s.jsx)(n.CartesianGrid,{strokeDasharray:"3 3",stroke:"#334155"}),(0,s.jsx)(x.XAxis,{dataKey:"shortQuery",stroke:"#94a3b8",fontSize:11,angle:-20,textAnchor:"end",height:60}),(0,s.jsx)(p.YAxis,{stroke:"#94a3b8",tickFormatter:m}),(0,s.jsx)(o.Tooltip,{formatter:(e,s)=>[void 0!==e?m?m(e):e+d:"-",s||""],contentStyle:{backgroundColor:"#1e293b",borderColor:"#334155",color:"#f8fafc"}}),(0,s.jsx)(i.Legend,{}),f.map((e,d)=>(0,s.jsx)(r.Bar,{dataKey:`${e}_${t}`,name:e,fill:S[d%S.length],radius:[4,4,0,0]},e))]})})})]});return(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 dashboard-container",children:[(0,s.jsxs)("header",{style:{flexDirection:"column",alignItems:"flex-start",gap:"1rem"},className:"jsx-29dfb32d17c16cd9 header",children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",width:"100%",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h1",{style:{marginBottom:0},className:"jsx-29dfb32d17c16cd9 title",children:"Skill-Insight"}),(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"#94a3b8",letterSpacing:"1px"},className:"jsx-29dfb32d17c16cd9",children:"智能体技能评估、分析与优化"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 tabs",children:[(0,s.jsx)("button",{onClick:()=>E("dashboard"),className:`jsx-29dfb32d17c16cd9 tab-btn ${"dashboard"===D?"active":""}`,children:"数据概览"}),(0,s.jsx)("button",{onClick:()=>E("config"),className:`jsx-29dfb32d17c16cd9 tab-btn ${"config"===D?"active":""}`,children:"数据集管理"}),(0,s.jsx)("button",{onClick:()=>E("skill"),className:`jsx-29dfb32d17c16cd9 tab-btn ${"skill"===D?"active":""}`,children:"技能管理"})]})]}),"dashboard"===D&&(0,s.jsxs)("div",{style:{display:"flex",gap:"8px"},className:"jsx-29dfb32d17c16cd9 controls",children:[(0,s.jsxs)("select",{value:et,onChange:e=>ed(e.target.value),className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"all",className:"jsx-29dfb32d17c16cd9",children:"全部时间"}),(0,s.jsx)("option",{value:"24h",className:"jsx-29dfb32d17c16cd9",children:"24H"}),(0,s.jsx)("option",{value:"3h",className:"jsx-29dfb32d17c16cd9",children:"3H"}),(0,s.jsx)("option",{value:"1h",className:"jsx-29dfb32d17c16cd9",children:"1H"})]}),eO.length>0?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"4px",border:"1px solid #334155",borderRadius:"4px",padding:"4px 8px",background:"#0f172a"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"#64748b"},className:"jsx-29dfb32d17c16cd9",children:"模型:"}),(0,s.jsxs)("select",{value:eL||"none",onChange:e=>eJ(e.target.value),style:{background:"transparent",color:"#e2e8f0",border:"none",maxWidth:"140px",outline:"none",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"none",className:"jsx-29dfb32d17c16cd9",children:"未配置模型"}),eO.map(e=>(0,s.jsx)("option",{value:e.id,className:"jsx-29dfb32d17c16cd9",children:e.name},e.id))]}),(0,s.jsx)("div",{style:{width:"1px",height:"14px",background:"#334155",margin:"0 4px"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{onClick:()=>e$(!0),style:{background:"transparent",border:"none",cursor:"pointer",padding:"0",fontSize:"1rem"},title:"Manage Configurations",className:"jsx-29dfb32d17c16cd9",children:"⚙️"})]}):(0,s.jsx)("button",{style:{padding:"4px 8px",background:"transparent",border:"1px solid #334155",color:"#94a3b8"},onClick:()=>e$(!0),className:"jsx-29dfb32d17c16cd9 btn-secondary",children:"⚙️ Eval Config"})]})]}),eA&&(0,s.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,background:"rgba(0,0,0,0.7)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:2e3},onClick:e=>{e.target===e.currentTarget&&e$(!1)},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("div",{style:{width:"600px",maxHeight:"90vh",overflowY:"auto"},className:"jsx-29dfb32d17c16cd9 card",children:[!eP&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"1rem",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h3",{style:{margin:0,color:"#f1f5f9"},className:"jsx-29dfb32d17c16cd9",children:"管理模型配置"}),(0,s.jsx)("button",{onClick:()=>e$(!1),style:{background:"transparent",border:"none",color:"#94a3b8",fontSize:"1.2rem",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✕"})]}),(0,s.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"8px",marginBottom:"1.5rem"},className:"jsx-29dfb32d17c16cd9",children:eO.map(e=>(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px",background:eL===e.id?"rgba(59, 130, 246, 0.1)":"#1e293b",border:eL===e.id?"1px solid #3b82f6":"1px solid #334155",borderRadius:"6px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{fontWeight:"bold",color:eL===e.id?"#60a5fa":"#f1f5f9"},className:"jsx-29dfb32d17c16cd9",children:[e.name," ",eL===e.id&&"(Active)"]}),(0,s.jsxs)("div",{style:{fontSize:"0.8rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:[e.provider," • ",e.model]})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"8px"},className:"jsx-29dfb32d17c16cd9",children:[eL!==e.id&&(0,s.jsx)("button",{style:{padding:"4px 8px",fontSize:"0.8rem"},onClick:()=>eJ(e.id),className:"jsx-29dfb32d17c16cd9 btn-secondary",children:"Activate"}),(0,s.jsx)("button",{style:{padding:"4px 8px",fontSize:"0.8rem"},onClick:()=>{eH({...e}),eq(e.id),eE(null)},className:"jsx-29dfb32d17c16cd9 btn-secondary",children:"Edit"}),(0,s.jsx)("button",{style:{padding:"4px 8px",fontSize:"0.8rem",color:"#f87171",borderColor:"#7f1d1d"},onClick:()=>eV(e.id),className:"jsx-29dfb32d17c16cd9 btn-secondary",children:"Del"})]})]},e.id))}),(0,s.jsx)("button",{style:{width:"100%",display:"flex",justifyContent:"center",gap:"8px"},onClick:()=>{eH({id:"new",name:"新配置",provider:"deepseek",model:"deepseek-chat",apiKey:"",baseUrl:"https://api.deepseek.com"}),eq("new"),eE(null)},className:"jsx-29dfb32d17c16cd9 btn-primary",children:"+ 添加新配置"})]}),eP&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"1rem",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h3",{style:{margin:0,color:"#f1f5f9"},className:"jsx-29dfb32d17c16cd9",children:"new"===eP?"新配置":"编辑"}),(0,s.jsx)("button",{onClick:()=>eq(null),style:{background:"transparent",border:"none",color:"#94a3b8",fontSize:"0.9rem",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"Back to List"})]}),eD&&(0,s.jsx)("div",{style:{padding:"10px",marginBottom:"1rem",borderRadius:"4px",background:"success"===eD.type?"rgba(74, 222, 128, 0.1)":"rgba(248, 113, 113, 0.1)",border:`1px solid ${"success"===eD.type?"#4ade80":"#f87171"}`,color:"success"===eD.type?"#4ade80":"#f87171",fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9",children:eD.msg}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{className:"jsx-29dfb32d17c16cd9",children:"Config Name"}),(0,s.jsx)("input",{placeholder:"e.g. My DeepSeek, Company OpenAI Proxy",value:eM.name||"",onChange:e=>eH({...eM,name:e.target.value}),style:{width:"100%",padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"white",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{className:"jsx-29dfb32d17c16cd9",children:"Provider"}),(0,s.jsxs)("select",{value:eM.provider,onChange:e=>{let s=e.target.value,t={provider:s};"deepseek"===s?(t.baseUrl="https://api.deepseek.com",t.model="deepseek-chat"):"siliconflow"===s?(t.baseUrl="https://api.siliconflow.cn/v1",t.model="deepseek-ai/DeepSeek-V3"):"openai"===s?(t.baseUrl="https://api.openai.com/v1",t.model="gpt-4o"):"anthropic"===s&&(t.baseUrl="https://api.anthropic.com/v1",t.model="claude-3-5-sonnet-20240620"),eH({...eM,...t})},style:{width:"100%",padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"white",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"deepseek",className:"jsx-29dfb32d17c16cd9",children:"DeepSeek (Official)"}),(0,s.jsx)("option",{value:"siliconflow",className:"jsx-29dfb32d17c16cd9",children:"SiliconFlow (DeepSeek V3 High Speed)"}),(0,s.jsx)("option",{value:"openai",className:"jsx-29dfb32d17c16cd9",children:"OpenAI"}),(0,s.jsx)("option",{value:"anthropic",className:"jsx-29dfb32d17c16cd9",children:"Anthropic"}),(0,s.jsx)("option",{value:"custom",className:"jsx-29dfb32d17c16cd9",children:"Custom (OpenAI Compatible)"})]})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{className:"jsx-29dfb32d17c16cd9",children:"Base URL (Optional)"}),(0,s.jsx)("input",{placeholder:"e.g. https://api.deepseek.com or https://api.openai.com/v1",value:eM.baseUrl||"",onChange:e=>{let s=e.target.value;s=s.replace(/\/chat\/completions\/?$/,""),eH({...eM,baseUrl:s})},style:{width:"100%",padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"white",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{className:"jsx-29dfb32d17c16cd9",children:"API Key"}),(0,s.jsx)("input",{type:"password",placeholder:"sk-...",value:eM.apiKey||"",onChange:e=>eH({...eM,apiKey:e.target.value}),style:{width:"100%",padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"white",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{className:"jsx-29dfb32d17c16cd9",children:"Model Name"}),(0,s.jsx)("input",{placeholder:"e.g. deepseek-chat, gpt-4o",value:eM.model||"",onChange:e=>eH({...eM,model:e.target.value}),style:{width:"100%",padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"white",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9"})]}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",marginTop:"2rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>eq(null),className:"jsx-29dfb32d17c16cd9 btn-secondary",children:"Cancel"}),(0,s.jsxs)("button",{onClick:eK,disabled:eF,style:{opacity:eF?.7:1,display:"flex",alignItems:"center",gap:"6px"},className:"jsx-29dfb32d17c16cd9 btn-primary",children:[eF&&(0,s.jsx)("span",{style:{width:"12px",height:"12px",border:"2px solid white",borderTopColor:"transparent",borderRadius:"50%",animation:"spin 1s linear infinite"},className:"jsx-29dfb32d17c16cd9"}),eF?"Testing & Saving...":"Test Connection & Save"]})]})]})]})}),"dashboard"===D&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h2",{className:"jsx-29dfb32d17c16cd9 section-title",children:"全景概览"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 grid",children:sb.map((e,t)=>{let d=su.filter(s=>s.framework===e),a=new Set(M.filter(e=>e.skill&&""!==e.skill.trim()||e.expectedSkills&&e.expectedSkills.some(e=>e.skill&&""!==e.skill.trim())).map(e=>e.query.trim())),r=d.filter(e=>e.query&&a.has(e.query.trim())),l=d.length?d.reduce((e,s)=>e+s.latency,0)/d.length:0,n=d.length?d.reduce((e,s)=>e+s.tokens,0)/d.length:0,i=d.filter(e=>null!==e.answer_score),c=i.length>0,o=c?i.reduce((e,s)=>e+(s.answer_score||0),0)/i.length:0,x=r.length?r.reduce((e,s)=>e+(s.skill_recall_rate??0),0)/r.length*100:0;return(0,s.jsxs)("div",{style:{borderLeft:`4px solid ${S[t%S.length]}`},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsx)("div",{style:{color:S[t%S.length]},className:"jsx-29dfb32d17c16cd9 card-title",children:e}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 stat-value",children:[d.length," ",(0,s.jsx)("small",{style:{fontSize:"1rem",color:"#64748b"},className:"jsx-29dfb32d17c16cd9",children:"执行数"})]}),(0,s.jsxs)("div",{style:{marginTop:"1rem",display:"grid",gridTemplateColumns:"1fr 1fr",gap:"0.2rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"#94a3b8",textTransform:"uppercase"},className:"jsx-29dfb32d17c16cd9",children:"时延"}),(0,s.jsx)("span",{style:{fontSize:"1.5rem",fontWeight:700,color:"#f1f5f9"},className:"jsx-29dfb32d17c16cd9",children:w(l)})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"#94a3b8",textTransform:"uppercase"},className:"jsx-29dfb32d17c16cd9",children:"TOKEN"}),(0,s.jsx)("span",{style:{fontSize:"1.5rem",fontWeight:700,color:"#f1f5f9"},className:"jsx-29dfb32d17c16cd9",children:_(Math.round(n))})]})]}),(0,s.jsxs)("div",{style:{marginTop:"0.8rem",paddingTop:"0.8rem",borderTop:"1px solid #334155",display:"grid",gridTemplateColumns:"1fr 1fr",gap:"0.2rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"准确率"}),(0,s.jsx)("span",{style:{fontSize:"1.5rem",fontWeight:700,color:c?o>.8?"#4ade80":"#fbbf24":"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:c?`${(100*o).toFixed(1)}%`:"--"})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"技能召回率"}),(0,s.jsxs)("span",{style:{fontSize:"1.5rem",fontWeight:700,color:"#fbbf24"},className:"jsx-29dfb32d17c16cd9",children:[x.toFixed(1),"%"]})]})]})]},e)})}),(0,s.jsx)("h2",{className:"jsx-29dfb32d17c16cd9 section-title",children:"对比分析"}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 analysis-controls",children:[(0,s.jsx)("div",{style:{display:"flex",gap:"1rem",flexWrap:"wrap"},className:"jsx-29dfb32d17c16cd9",children:["latest_10","all","single"].map(e=>(0,s.jsxs)("label",{style:{cursor:"pointer",color:"#f8fafc",display:"flex",alignItems:"center",gap:"5px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"radio",checked:ea===e,onChange:()=>er(e),className:"jsx-29dfb32d17c16cd9"}),"latest_10"===e?"最新10问":"all"===e?"所有":"单问题"]},e))}),"single"===ea&&(0,s.jsx)("select",{value:el,onChange:e=>en(e.target.value),style:{maxWidth:"300px"},className:"jsx-29dfb32d17c16cd9",children:sh.map(e=>(0,s.jsx)("option",{value:e,className:"jsx-29dfb32d17c16cd9",children:e.substring(0,40)},e))}),(0,s.jsxs)("div",{style:{marginLeft:"10px",display:"flex",gap:"8px",borderLeft:"1px solid #475569",paddingLeft:"10px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{color:"#94a3b8",fontSize:"0.9rem",display:"flex",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:"分类:"}),(0,s.jsx)("button",{onClick:()=>eg("framework"),style:{padding:"2px 8px",fontSize:"0.8rem",background:"framework"===ej?"#38bdf8":"transparent",color:"framework"===ej?"#0f172a":"#94a3b8",border:"1px solid #38bdf8"},className:`jsx-29dfb32d17c16cd9 tab-btn-sm ${"framework"===ej?"active":""}`,children:"框架"}),(0,s.jsx)("button",{onClick:()=>eg("model"),style:{padding:"2px 8px",fontSize:"0.8rem",background:"model"===ej?"#38bdf8":"transparent",color:"model"===ej?"#0f172a":"#94a3b8",border:"1px solid #38bdf8"},className:`jsx-29dfb32d17c16cd9 tab-btn-sm ${"model"===ej?"active":""}`,children:"模型"})]}),(0,s.jsxs)("div",{style:{marginLeft:"10px",display:"flex",alignItems:"center",gap:"10px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("label",{style:{cursor:"pointer",color:"#f8fafc",display:"flex",alignItems:"center",gap:"5px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:em,onChange:e=>{eb(e.target.checked),e.target.checked&&eh.length},className:"jsx-29dfb32d17c16cd9"}),"按标签分类"]}),em&&(0,s.jsxs)("div",{style:{position:"relative",display:"inline-block"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{background:"#1e293b",padding:"4px 8px",borderRadius:"4px",cursor:"pointer",border:"1px solid #334155",minWidth:"150px"},className:"jsx-29dfb32d17c16cd9 dropdown-trigger",children:[0===eh.length?"所有标签 (All)":`已选 ${eh.length} 个`,(0,s.jsx)("span",{style:{float:"right",fontSize:"0.8rem"},className:"jsx-29dfb32d17c16cd9",children:"▼"})]}),(0,s.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,zIndex:10,background:"#1e293b",border:"1px solid #334155",borderRadius:"4px",padding:"0.5rem",minWidth:"200px",maxHeight:"300px",overflowY:"auto",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.5)"},className:"jsx-29dfb32d17c16cd9 dropdown-content",children:[(0,s.jsxs)("label",{style:{display:"block",marginBottom:"4px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:0===eh.length,onChange:()=>eu([]),className:"jsx-29dfb32d17c16cd9"})," ",(0,s.jsx)("span",{style:{marginLeft:"4px"},className:"jsx-29dfb32d17c16cd9",children:"所有标签 (All)"})]}),(0,s.jsx)("hr",{style:{borderColor:"#334155",margin:"4px 0"},className:"jsx-29dfb32d17c16cd9"}),sk.map(e=>(0,s.jsxs)("label",{style:{display:"block",marginBottom:"4px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:eh.includes(e),onChange:s=>{s.target.checked?eu([...eh,e]):eu(eh.filter(s=>s!==e))},className:"jsx-29dfb32d17c16cd9"})," ",(0,s.jsx)("span",{style:{marginLeft:"4px"},className:"jsx-29dfb32d17c16cd9",children:e})]},e))]})]})]})]}),em?(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[sw.map(e=>(0,s.jsxs)("div",{style:{marginBottom:"2rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("h3",{style:{color:"#f8fafc",borderBottom:"1px solid #334155",paddingBottom:"0.5rem",marginBottom:"1rem"},className:"jsx-29dfb32d17c16cd9",children:["Tag: ",(0,s.jsx)("span",{style:{color:"#38bdf8"},className:"jsx-29dfb32d17c16cd9",children:e.label})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 analysis-grid",children:[(0,s.jsx)(sR,{title:"平均时延",unit:"m",dataKey:"lat",data:e.data,frameworks:sy,yFormatter:e=>(e/6e4).toFixed(2)+"m"}),(0,s.jsx)(sR,{title:"平均消耗 (Tokens)",dataKey:"tok",data:e.data,frameworks:sy,yFormatter:_}),(0,s.jsx)(sR,{title:"平均准确率",dataKey:"score",unit:"",data:e.data,frameworks:sy}),(0,s.jsx)(sR,{title:"平均技能召回率",dataKey:"recall",unit:"%",data:e.data,frameworks:sy,yFormatter:e=>Number(e).toFixed(1)+"%"})]})]},e.label)),0===sw.length&&(0,s.jsx)("div",{style:{textAlign:"center",padding:"2rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9 card",children:"无数据"})]}):sw.length>0?(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 analysis-grid",children:[(0,s.jsx)(sR,{title:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["平均时延 ",(0,s.jsx)(R,{content:"基于选中查询的所有执行结果计算出的平均总响应耗时(分钟)"})]}),dataKey:"lat",unit:"m",data:sw,frameworks:sy,yFormatter:e=>(e/6e4).toFixed(2)+"m",className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)(sR,{title:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["平均消耗 (Tokens) ",(0,s.jsx)(R,{content:"基于选中查询的所有执行结果计算出的平均 Token 消耗总额"})]}),dataKey:"tok",unit:"",data:sw,frameworks:sy,yFormatter:_,className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)(sR,{title:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["平均准确率 ",(0,s.jsx)(R,{content:(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:["基于LLM评估所有执行结果与期望答案的差异,计算出的0-1分值的平均值,1表示完全正确。",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),'"--"表示评估失败,可能是由于模型未配置(请在首页左上角的设置中配置 LLM)或者数据项未配置。']})})]}),dataKey:"score",unit:"",data:sw,frameworks:sy,className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)(sR,{title:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["平均技能召回率 ",(0,s.jsx)(R,{content:(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:["基于执行结果是否使用了预期技能计算出的百分比,表示正确调用技能的比例。",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),"这是全局指标,反映技能路由的准确性。"]})})]}),dataKey:"recall",unit:"%",data:sw,frameworks:sy,yFormatter:e=>Number(e).toFixed(1)+"%",className:"jsx-29dfb32d17c16cd9"})]}):(0,s.jsx)("div",{style:{textAlign:"center",padding:"2rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9 card",children:"无数据"}),(0,s.jsx)("h2",{className:"jsx-29dfb32d17c16cd9 section-title",children:"单问题详情 (Drill-down)"}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 analysis-controls",children:[(0,s.jsxs)("select",{value:ei,onChange:e=>ec(e.target.value),className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"",className:"jsx-29dfb32d17c16cd9",children:"选择框架"}),sb.map(e=>(0,s.jsx)("option",{value:e,className:"jsx-29dfb32d17c16cd9",children:e},e))]}),(0,s.jsxs)("select",{value:eo,onChange:e=>ex(e.target.value),style:{flex:1},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"",className:"jsx-29dfb32d17c16cd9",children:"选择问题"}),sS.map(e=>(0,s.jsx)("option",{value:e,className:"jsx-29dfb32d17c16cd9",children:e.substring(0,80)},e))]}),(0,s.jsxs)("div",{style:{marginLeft:"10px",display:"flex",alignItems:"center",gap:"20px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("label",{style:{cursor:"pointer",color:"#f8fafc",display:"flex",alignItems:"center",gap:"5px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:ey,onChange:e=>{ek(e.target.checked),e.target.checked&&eN(!1)},className:"jsx-29dfb32d17c16cd9"}),"按标签分类"]}),(0,s.jsxs)("label",{style:{cursor:"pointer",color:"#f8fafc",display:"flex",alignItems:"center",gap:"5px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:ev,onChange:e=>{eN(e.target.checked),e.target.checked&&ek(!1)},className:"jsx-29dfb32d17c16cd9"}),"按模型分类"]}),ey&&(0,s.jsxs)("div",{style:{position:"relative",display:"inline-block"},className:"jsx-29dfb32d17c16cd9 dropdown-container",children:[(0,s.jsxs)("div",{style:{background:"#1e293b",padding:"4px 8px",borderRadius:"4px",cursor:"pointer",border:"1px solid #334155",minWidth:"150px",display:"flex",alignItems:"center",justifyContent:"space-between"},className:"jsx-29dfb32d17c16cd9 dropdown-trigger",children:[0===eS.length?"所有标签 (All Labels)":`已选 ${eS.length} 个`,(0,s.jsx)("span",{style:{fontSize:"0.8rem",marginLeft:"8px"},className:"jsx-29dfb32d17c16cd9",children:"▼"})]}),(0,s.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,zIndex:10,background:"#1e293b",border:"1px solid #334155",borderRadius:"4px",padding:"0.5rem",minWidth:"200px",maxHeight:"300px",overflowY:"auto",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.5)"},className:"jsx-29dfb32d17c16cd9 dropdown-content",children:[(0,s.jsxs)("label",{style:{display:"block",marginBottom:"4px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:0===eS.length,onChange:()=>ew([]),className:"jsx-29dfb32d17c16cd9"})," ",(0,s.jsx)("span",{style:{marginLeft:"4px"},className:"jsx-29dfb32d17c16cd9",children:"所有标签 (All)"})]}),(0,s.jsx)("hr",{style:{borderColor:"#334155",margin:"4px 0"},className:"jsx-29dfb32d17c16cd9"}),sv.map(e=>(0,s.jsxs)("label",{style:{display:"block",marginBottom:"4px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:eS.includes(e),onChange:s=>{s.target.checked?ew([...eS,e]):ew(eS.filter(s=>s!==e))},className:"jsx-29dfb32d17c16cd9"})," ",(0,s.jsx)("span",{style:{marginLeft:"4px"},className:"jsx-29dfb32d17c16cd9",children:e})]},e))]})]}),ev&&(0,s.jsxs)("div",{style:{position:"relative",display:"inline-block"},className:"jsx-29dfb32d17c16cd9 dropdown-container",children:[(0,s.jsxs)("div",{style:{background:"#1e293b",padding:"4px 8px",borderRadius:"4px",cursor:"pointer",border:"1px solid #334155",minWidth:"150px",display:"flex",alignItems:"center",justifyContent:"space-between"},className:"jsx-29dfb32d17c16cd9 dropdown-trigger",children:[0===e_.length?"所有模型 (All Models)":`已选 ${e_.length} 个`,(0,s.jsx)("span",{style:{fontSize:"0.8rem",marginLeft:"8px"},className:"jsx-29dfb32d17c16cd9",children:"▼"})]}),(0,s.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,zIndex:10,background:"#1e293b",border:"1px solid #334155",borderRadius:"4px",padding:"0.5rem",minWidth:"200px",maxHeight:"300px",overflowY:"auto",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.5)"},className:"jsx-29dfb32d17c16cd9 dropdown-content",children:[(0,s.jsxs)("label",{style:{display:"block",marginBottom:"4px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:0===e_.length,onChange:()=>eC([]),className:"jsx-29dfb32d17c16cd9"})," ",(0,s.jsx)("span",{style:{marginLeft:"4px"},className:"jsx-29dfb32d17c16cd9",children:"所有模型 (All)"})]}),(0,s.jsx)("hr",{style:{borderColor:"#334155",margin:"4px 0"},className:"jsx-29dfb32d17c16cd9"}),sN.map(e=>(0,s.jsxs)("label",{style:{display:"block",marginBottom:"4px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:e_.includes(e),onChange:s=>{s.target.checked?eC([...e_,e]):eC(e_.filter(s=>s!==e))},className:"jsx-29dfb32d17c16cd9"})," ",(0,s.jsx)("span",{style:{marginLeft:"4px"},className:"jsx-29dfb32d17c16cd9",children:e})]},e))]})]})]})]}),ey||ev?(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9",children:(ey?sv:sN).filter(e=>ey?0===eS.length||eS.includes(e):0===e_.length||e_.includes(e)).map(e=>{let t=su;if(t=ey?t.filter(s=>(s.label||"Other")===e):t.filter(s=>(s.model||"Unknown")===e),eo&&(t=t.filter(e=>e.query===eo)),ei&&(t=t.filter(e=>e.framework===ei)),0===t.length)return null;let d=t.length,a=t.reduce((e,s)=>e+s.latency,0)/d,r=Math.round(t.reduce((e,s)=>e+s.tokens,0)/d);t.reduce((e,s)=>e+(s.skill_recall_rate??0),0);let l=t.filter(e=>null!==e.answer_score),n=l.length?l.reduce((e,s)=>e+(s.answer_score||0),0)/l.length:0,i=[...t].sort((e,s)=>e.latency-s.latency)[0],c=[...t].sort((e,s)=>s.latency-e.latency)[0],o=t.filter(e=>null!=e.cost),x=o.length?o.reduce((e,s)=>e+(s.cost||0),0)/o.length:null,p=z(t),f=null;if(ey&&eo&&"without-skill"!==e&&"Other"!==e){let s=su.filter(e=>e.query===eo),t=Array.from(new Set(s.map(e=>e.label||"Other"))),d={};t.forEach(e=>{let t=s.filter(s=>(s.label||"Other")===e),a=t.filter(e=>e.is_answer_correct).length;d[e]=t.length>0?a/t.length:0});let a=d["without-skill"]||0,r=d[e]||0;f=a<1?(r-a)/(1-a)*100:0}return(0,s.jsxs)("div",{style:{marginBottom:"2rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{marginBottom:"0.5rem"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("h3",{style:{margin:0,color:"#38bdf8",fontSize:"1.1rem"},className:"jsx-29dfb32d17c16cd9",children:[ey?"标签 (Label): ":"模型 (Model): "," ",e]})}),(0,s.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"1rem"},className:"jsx-29dfb32d17c16cd9 grid",children:[(0,s.jsxs)("div",{style:{gridColumn:"span 2"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 card-title",children:["平均表现",(0,s.jsxs)("span",{style:{fontSize:"0.85rem",color:"#94a3b8",fontWeight:"normal",marginLeft:"8px"},className:"jsx-29dfb32d17c16cd9",children:["(基于 ",d," 条记录)"]})]}),(0,s.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:"1rem",textAlign:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均时延"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:w(a)})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均 Token"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:_(r)})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均准确率"}),(0,s.jsx)("div",{style:{color:n>.8?"#4ade80":"#fbbf24"},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:n.toFixed(2)})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:["平均成本 ",(0,s.jsx)(R,{content:"根据默认定价或自定义(custom-models.json)定价估算得出。"})]}),(0,s.jsx)("div",{style:null==x?{color:"#64748b"}:{},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:null!=x?C(x):"N/A"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:["CPSR ",(0,s.jsx)(R,{content:"单次成功解决成本:每次任务成功解决的平均开销。\n计算公式:(总成本)÷(成功解决的运行次数)"})]}),(0,s.jsx)("div",{style:{color:null!=p?"#38bdf8":"#64748b"},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:null!=p?C(p):"N/A"})]})]})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"space-between"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9 card-title text-green-400",children:"最好表现 (Min Lat)"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:w(i.latency)}),(0,s.jsxs)("div",{style:{fontSize:"0.75rem"},className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400 mt-2",children:["Token: ",_(i.tokens)," | Score: ",i.answer_score?.toFixed(2)||"-"," ",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),"Cost: ",C(i.cost)||"-"]})]}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"#38bdf8",cursor:"pointer",marginTop:"0.5rem",textAlign:"right"},onClick:()=>{let e=`/details?framework=${encodeURIComponent(i.framework)}&expandTaskId=${i.task_id||i.upload_id}`;window.open(e,"_blank")},className:"jsx-29dfb32d17c16cd9",children:"查看 >"})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"space-between"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9 card-title text-red-400",children:"最差表现 (Max Lat)"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:w(c.latency)}),(0,s.jsxs)("div",{style:{fontSize:"0.75rem"},className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400 mt-2",children:["Token: ",_(c.tokens)," | Score: ",c.answer_score?.toFixed(2)||"-"," ",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),"Cost: ",C(c.cost)||"-"]})]}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"#38bdf8",cursor:"pointer",marginTop:"0.5rem",textAlign:"right"},onClick:()=>window.open(`/details?framework=${encodeURIComponent(c.framework)}&query=${encodeURIComponent(c.query)}&expandTaskId=${c.task_id||c.upload_id}`,"_blank"),className:"jsx-29dfb32d17c16cd9",children:"查看 >"})]}),ey&&null!==f&&(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"space-between"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9 card-title text-purple-400",children:"技能提升 (Skill Lift)"}),(0,s.jsx)("div",{style:{marginTop:"0.5rem",fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsx)("div",{style:{marginBottom:"0.5rem"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("div",{style:{fontSize:"1.2rem",fontWeight:"bold",color:f>0?"#4ade80":f<0?"#f87171":"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:[f>0?"+":"",f.toFixed(2),"%"]})})})]}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"#64748b"},className:"jsx-29dfb32d17c16cd9",children:"基于 without-skill 基线."}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"#64748b",marginTop:"auto",textAlign:"left",whiteSpace:"pre-wrap",fontStyle:"italic",opacity:0,transition:"opacity 0.2s ease-in-out"},onMouseEnter:e=>e.currentTarget.style.opacity="1",onMouseLeave:e=>e.currentTarget.style.opacity="0",className:"jsx-29dfb32d17c16cd9",children:"公式: (skill_success_rate - no_skill_success_rate) / (1 - no_skill_success_rate)"})]})]})]},e)})}):s_?(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 grid",children:[(0,s.jsxs)("div",{style:{gridColumn:"span 2"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 card-title",children:["平均表现",(0,s.jsxs)("span",{style:{fontSize:"0.9rem",color:"#94a3b8",fontWeight:"normal",marginLeft:"8px"},className:"jsx-29dfb32d17c16cd9",children:["(基于 ",s_.count," 条记录)"]})]}),(0,s.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:"1rem",textAlign:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均时延"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:w(s_.avgLatency)})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均 Token"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:_(s_.avgTokens)})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均技能召回率"}),(0,s.jsxs)("div",{style:{color:"#f1f5f9"},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:[s_.querySkillRecallRate?.toFixed(2),"%"]})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均准确率"}),(0,s.jsx)("div",{style:{color:s_.avgAnsScore>.8?"#4ade80":"#fbbf24"},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:s_.avgAnsScore.toFixed(2)})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:["平均成本 ",(0,s.jsx)(R,{content:"根据默认定价或自定义(custom-models.json)定价估算得出。"})]}),(0,s.jsx)("div",{style:null==s_.avgCost?{color:"#64748b"}:{},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:null!=s_.avgCost?C(s_.avgCost):"N/A"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:["CPSR",(0,s.jsx)(R,{content:"单次成功解决成本:每次任务成功解决的平均开销。\n计算公式:(总成本)÷(成功解决的运行次数)"})]}),(0,s.jsx)("div",{style:{color:null!=s_.cpsr?"#38bdf8":"#64748b"},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:null!=s_.cpsr?C(s_.cpsr):"N/A"})]})]})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"space-between"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 card-title text-green-400",children:"最好表现 (Min Latency)"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-2xl font-bold",children:w(s_.best.latency)}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400 mt-2",children:["Token: ",_(s_.best.tokens)," | Cost: ",C(s_.best.cost)||"-"," ",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),"Time: ",T(s_.best.timestamp)]})]}),(0,s.jsx)("div",{style:{fontSize:"0.8rem",color:"#38bdf8",cursor:"pointer",marginTop:"0.5rem",textAlign:"right"},onClick:()=>window.open(`/details?framework=${encodeURIComponent(s_.best.framework)}&query=${encodeURIComponent(s_.best.query)}&expandTaskId=${s_.best.task_id||s_.best.upload_id}`,"_blank"),className:"jsx-29dfb32d17c16cd9",children:"查看 >"})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"space-between"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 card-title text-red-400",children:"最差表现 (Max Latency)"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-2xl font-bold",children:w(s_.worst.latency)}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400 mt-2",children:["Token: ",_(s_.worst.tokens)," | Cost: ",C(s_.worst.cost)||"-"," ",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),"Time: ",T(s_.worst.timestamp)]})]}),(0,s.jsx)("div",{style:{fontSize:"0.8rem",color:"#38bdf8",cursor:"pointer",marginTop:"0.5rem",textAlign:"right"},onClick:()=>{let e=`/details?framework=${encodeURIComponent(s_.worst.framework)}&expandTaskId=${s_.worst.task_id||s_.worst.upload_id}`;window.open(e,"_blank")},className:"jsx-29dfb32d17c16cd9",children:"查看 >"})]})]}):(0,s.jsx)("div",{style:{textAlign:"center",padding:"2rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9 card",children:eo?"该组合下暂无数据":"请选择一个问题进行分析"}),(0,s.jsx)("h2",{className:"jsx-29dfb32d17c16cd9 section-title",children:"执行记录"}),(0,s.jsxs)("div",{style:{marginBottom:"1rem"},className:"jsx-29dfb32d17c16cd9 analysis-controls",children:[(0,s.jsxs)("select",{value:eY,onChange:e=>eQ(e.target.value),style:{fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"",className:"jsx-29dfb32d17c16cd9",children:"所有框架 (All Frameworks)"}),sb.map(e=>(0,s.jsx)("option",{value:e,className:"jsx-29dfb32d17c16cd9",children:e},e))]}),(0,s.jsxs)("select",{value:eG,onChange:e=>eX(e.target.value),style:{fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"",className:"jsx-29dfb32d17c16cd9",children:"所有标签 (All Labels)"}),sj.map(e=>(0,s.jsx)("option",{value:e,className:"jsx-29dfb32d17c16cd9",children:e},e))]}),(0,s.jsxs)("select",{value:e1,onChange:e=>e2(e.target.value),style:{fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"",className:"jsx-29dfb32d17c16cd9",children:"所有模型 (All Models)"}),sg.map(e=>(0,s.jsx)("option",{value:e,className:"jsx-29dfb32d17c16cd9",children:e},e))]}),(0,s.jsx)("input",{type:"text",placeholder:"搜索问题...",value:eZ,onChange:e=>e0(e.target.value),style:{padding:"0.5rem",background:"#1e293b",border:"1px solid #334155",borderRadius:"4px",color:"white",minWidth:"250px"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsxs)("span",{style:{marginLeft:"auto",color:"#64748b",fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9",children:["共有 ",sC.length," 条数据"]})]}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 card table-container",children:(0,s.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("thead",{style:{textAlign:"left",color:"#94a3b8",borderBottom:"1px solid #334155"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("tr",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:"时间"}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:"框架"}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:"用户输入"}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["时延 ",(0,s.jsx)(R,{content:"从请求发出到收到最终完整回复的总耗时"})]})}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["Token ",(0,s.jsx)(R,{content:"输入 Prompt 与输出 Completion 的 Token 总和"})]})}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["准确率 ",(0,s.jsx)(R,{content:(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:["基于LLM评估Agent真实运行结果与期望答案的差异,给出0-1分值,1表示完全正确。",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),'"--"表示评估失败,可能是由于模型未配置(请在首页左上角的设置中配置 LLM)或者数据项未配置。']})})]})}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["预估花费 ",(0,s.jsx)(R,{content:"根据默认定价或自定义(custom-models.json)定价估算得出"})]})}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:"模型"}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:"标签"}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:"操作"})]})}),(0,s.jsx)("tbody",{className:"jsx-29dfb32d17c16cd9",children:sT.map((e,t)=>{let d=e.upload_id||e.task_id||"";return(0,s.jsxs)("tr",{style:{borderBottom:"1px solid #1e293b"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("td",{style:{fontSize:"0.85rem",whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:T(e.timestamp)}),(0,s.jsx)("td",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:e.framework}),(0,s.jsx)("td",{title:e.query,className:"jsx-29dfb32d17c16cd9 p-2",children:e.query.length>30?e.query.substring(0,30)+"...":e.query}),(0,s.jsx)("td",{className:"jsx-29dfb32d17c16cd9 p-2",children:w(e.latency)}),(0,s.jsx)("td",{className:"jsx-29dfb32d17c16cd9 p-2",children:_(e.tokens)}),(0,s.jsx)("td",{className:"jsx-29dfb32d17c16cd9 p-2",children:(0,s.jsx)("span",{style:{color:null===e.answer_score?"#94a3b8":(e.answer_score||0)>.8?"#4ade80":"#ef4444",fontWeight:"bold"},className:"jsx-29dfb32d17c16cd9",children:null===e.answer_score?"--":(e.answer_score||0).toFixed(2)})}),(0,s.jsx)("td",{style:{fontSize:"0.85rem",whiteSpace:"nowrap"},title:null!=e.cost&&e.cost_pricing?(e.cache_read_input_tokens||e.cache_creation_input_tokens?`Cost = base_input \xd7 $${e.cost_pricing.inputTokenPrice}/M + cache_read \xd7 $${e.cost_pricing.cacheReadInputTokenPrice}/M + cache_create \xd7 $${e.cost_pricing.cacheCreationInputTokenPrice}/M + output \xd7 $${e.cost_pricing.outputTokenPrice}/M`:`Cost = input_tokens \xd7 $${e.cost_pricing.inputTokenPrice}/M + output_tokens \xd7 $${e.cost_pricing.outputTokenPrice}/M`)+(e.model?` (${e.model})`:"")+`. Estimated from ${"custom"===e.cost_pricing.source?"custom":"default"} pricing.`:void 0,className:"jsx-29dfb32d17c16cd9 p-2",children:null!=e.cost?C(e.cost):e.tokens?(0,s.jsx)("span",{style:{color:"#64748b"},className:"jsx-29dfb32d17c16cd9",children:"N/A"}):"-"}),(0,s.jsx)("td",{style:{fontSize:"0.85rem",whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:e.model||"-"}),(0,s.jsx)("td",{className:"jsx-29dfb32d17c16cd9 p-2",children:X===d?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"4px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{value:ee,onChange:e=>es(e.target.value),style:{width:"80px",padding:"2px 4px",fontSize:"0.8rem",background:"#0f172a",border:"1px solid #334155"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{onClick:()=>se(e,ee),style:{color:"#4ade80",background:"none",border:"none",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✓"}),(0,s.jsx)("button",{onClick:()=>Z(null),style:{color:"#f87171",background:"none",border:"none",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✕"})]}):(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"6px",cursor:"pointer"},onClick:()=>{d&&(Z(d),es(e.label||""))},className:"jsx-29dfb32d17c16cd9",children:[e.label?(0,s.jsx)("span",{style:{padding:"2px 6px",background:"#334155",borderRadius:"4px",fontSize:"0.8rem"},className:"jsx-29dfb32d17c16cd9",children:e.label}):(0,s.jsx)("span",{style:{color:"#64748b"},className:"jsx-29dfb32d17c16cd9",children:"-"}),(0,s.jsx)("span",{style:{fontSize:"0.7rem",color:"#475569",opacity:.5},className:"jsx-29dfb32d17c16cd9",children:"✎"})]})}),(0,s.jsx)("td",{className:"jsx-29dfb32d17c16cd9 p-2",children:(0,s.jsxs)("div",{style:{display:"flex",gap:"8px",whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>{let s=`/details?framework=${encodeURIComponent(e.framework)}&expandTaskId=${d}`;window.open(s,"_blank")},style:{background:"#3b82f6"},className:"jsx-29dfb32d17c16cd9 btn-sm",children:"详情"}),(0,s.jsx)("button",{onClick:()=>e5(e),disabled:V.has(d),style:{background:V.has(d)?"#94a3b8":"#fbbf24",color:"#0f172a",cursor:V.has(d)?"not-allowed":"pointer",display:"inline-flex",alignItems:"center",gap:"4px",opacity:V.has(d)?.7:1},className:"jsx-29dfb32d17c16cd9 btn-sm",children:V.has(d)?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{style:{width:"12px",height:"12px",border:"2px solid #0f172a",borderTopColor:"transparent",borderRadius:"50%",animation:"spin 1s linear infinite",display:"inline-block"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("span",{className:"jsx-29dfb32d17c16cd9",children:"评估中..."})]}):"重评"}),(0,s.jsx)("button",{onClick:()=>e8(e),style:{background:"#ef4444"},className:"jsx-29dfb32d17c16cd9 btn-sm",children:"删"})]})})]},t)})})]})}),sz>1&&(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",marginTop:"1rem",gap:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{disabled:1===e9,onClick:()=>e3(e=>Math.max(1,e-1)),style:{background:1===e9?"#334155":"#38bdf8",color:1===e9?"#94a3b8":"#0f172a",cursor:1===e9?"not-allowed":"pointer"},className:"jsx-29dfb32d17c16cd9 btn-sm",children:"< Prev"}),(0,s.jsxs)("span",{style:{color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:["Page ",e9," of ",sz]}),(0,s.jsx)("button",{disabled:e9===sz,onClick:()=>e3(e=>Math.min(sz,e+1)),style:{background:e9===sz?"#334155":"#38bdf8",color:e9===sz?"#94a3b8":"#0f172a",cursor:e9===sz?"not-allowed":"pointer"},className:"jsx-29dfb32d17c16cd9 btn-sm",children:"Next >"})]})]}),"config"===D&&(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 config-container",children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"1rem",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h2",{style:{marginBottom:0},className:"jsx-29dfb32d17c16cd9 section-title",children:"数据集管理"}),(0,s.jsx)("button",{onClick:()=>{st({}),si("manual"),so(null),sa(!0)},style:{padding:"8px 20px",fontSize:"0.9rem",borderRadius:"6px"},className:"jsx-29dfb32d17c16cd9 btn-primary",children:"+ 新增数据项"})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},className:"jsx-29dfb32d17c16cd9",children:[Array.isArray(M)&&0===M.length&&(0,s.jsx)("div",{style:{textAlign:"center",padding:"3rem",color:"#64748b"},className:"jsx-29dfb32d17c16cd9 card",children:'暂无数据项,点击上方"+ 新增数据项"开始添加'}),Array.isArray(M)&&M.map(e=>(0,s.jsxs)("div",{style:{padding:"14px 18px",display:"flex",flexDirection:"row",alignItems:"center",gap:"16px",transition:"border-color 0.2s",borderColor:"#1e293b"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsx)("div",{style:{flexShrink:0,width:"8px",height:"8px",borderRadius:"50%",background:"parsing"===e.parse_status?"#fbbf24":"failed"===e.parse_status?"#ef4444":"#4ade80",boxShadow:`0 0 6px ${"parsing"===e.parse_status?"#fbbf2444":"failed"===e.parse_status?"#ef444444":"#4ade8044"}`,..."parsing"===e.parse_status?{animation:"pulse-dot 1.5s ease-in-out infinite"}:{}},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsxs)("div",{style:{flex:1,minWidth:0},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{fontWeight:500,color:"#e2e8f0",fontSize:"0.9rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginBottom:"4px"},className:"jsx-29dfb32d17c16cd9",children:e.query}),(0,s.jsx)("div",{style:{color:"#64748b",fontSize:"0.8rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},className:"jsx-29dfb32d17c16cd9",children:(e.standard_answer||"").length>100?(e.standard_answer||"").substring(0,100)+"...":e.standard_answer||"暂无标准答案"}),e.expectedSkills&&e.expectedSkills.length>0?(0,s.jsxs)("div",{style:{color:"#94a3b8",fontSize:"0.75rem",marginTop:"2px"},className:"jsx-29dfb32d17c16cd9",children:["预期技能: ",e.expectedSkills.map(e=>`${e.skill}${null!==e.version&&void 0!==e.version?` (v${e.version})`:""}`).join(", ")]}):e.skill&&(0,s.jsxs)("div",{style:{color:"#94a3b8",fontSize:"0.75rem",marginTop:"2px"},className:"jsx-29dfb32d17c16cd9",children:["预期技能: ",e.skill,null!==e.skillVersion&&void 0!==e.skillVersion?` (v${e.skillVersion})`:""]})]}),(0,s.jsx)("div",{style:{flexShrink:0},className:"jsx-29dfb32d17c16cd9",children:"parsing"===e.parse_status?(0,s.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:"5px",padding:"3px 10px",borderRadius:"12px",fontSize:"0.75rem",fontWeight:500,background:"rgba(251, 191, 36, 0.12)",color:"#fbbf24",border:"1px solid rgba(251, 191, 36, 0.25)"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{width:"10px",height:"10px",border:"1.5px solid #fbbf24",borderTopColor:"transparent",borderRadius:"50%",animation:"spin 1s linear infinite",display:"inline-block"},className:"jsx-29dfb32d17c16cd9"}),"解析中"]}):"failed"===e.parse_status?(0,s.jsx)("span",{style:{padding:"3px 10px",borderRadius:"12px",fontSize:"0.75rem",fontWeight:500,background:"rgba(239, 68, 68, 0.12)",color:"#ef4444",border:"1px solid rgba(239, 68, 68, 0.25)"},className:"jsx-29dfb32d17c16cd9",children:"✕ 失败"}):(0,s.jsx)("span",{style:{padding:"3px 10px",borderRadius:"12px",fontSize:"0.75rem",fontWeight:500,background:"rgba(74, 222, 128, 0.12)",color:"#4ade80",border:"1px solid rgba(74, 222, 128, 0.25)"},className:"jsx-29dfb32d17c16cd9",children:"✓ 完成"})}),(0,s.jsxs)("div",{style:{display:"flex",gap:"6px",flexShrink:0},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>{let s={...e};!s.expectedSkills&&s.skill&&(s.expectedSkills=[{skill:s.skill,version:s.skillVersion??null}]),st(s),sa(!0)},style:{padding:"5px 12px",background:"#1e3a5f",color:"#38bdf8",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"0.8rem",fontWeight:500,transition:"background 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"详情"}),(0,s.jsx)("button",{onClick:()=>{st({query:e.query,skill:"",expectedSkills:e.expectedSkills?[...e.expectedSkills]:e.skill?[{skill:e.skill,version:e.skillVersion??null}]:void 0,standard_answer:e.standard_answer}),si("manual"),so(null),sa(!0)},style:{padding:"5px 12px",background:"#2d1b4e",color:"#a855f7",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"0.8rem",fontWeight:500,transition:"background 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"复制"}),(0,s.jsx)("button",{onClick:()=>sm(e.id),style:{padding:"5px 12px",background:"#3b1c1c",color:"#ef4444",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"0.8rem",fontWeight:500,transition:"background 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"删除"})]})]},e.id))]})]}),"skill"===D&&(0,s.jsx)(y,{}),sd&&(0,s.jsx)("div",{onClick:()=>sa(!1),className:"jsx-29dfb32d17c16cd9 modal-overlay",children:(0,s.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{maxHeight:"90vh",overflowY:"auto",maxWidth:"900px",width:"66vw",minWidth:"500px",flexDirection:"column"},className:"jsx-29dfb32d17c16cd9 modal-content card",children:[(0,s.jsx)("h3",{className:"jsx-29dfb32d17c16cd9",children:ss.id?"数据项详情":"新增数据项"}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsxs)("label",{style:{fontWeight:600,fontSize:"0.95rem",color:"#e2e8f0"},className:"jsx-29dfb32d17c16cd9",children:["问题 (Query) ",(0,s.jsx)("span",{style:{color:"#ef4444"},className:"jsx-29dfb32d17c16cd9",children:"*"})]}),(0,s.jsx)("textarea",{value:ss.query||"",onChange:e=>st({...ss,query:e.target.value}),disabled:!!ss.id,placeholder:"请输入需要评估的问题...",style:{width:"100%",padding:"10px",minHeight:"60px",opacity:ss.id?.7:1,cursor:ss.id?"not-allowed":"text",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.95rem"},className:"jsx-29dfb32d17c16cd9"})]}),ss.id?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{style:{fontWeight:600,fontSize:"0.95rem",color:"#e2e8f0"},className:"jsx-29dfb32d17c16cd9",children:"标准答案"}),(0,s.jsx)("textarea",{value:ss.standard_answer||"",onChange:e=>st({...ss,standard_answer:e.target.value}),style:{width:"100%",padding:"10px",minHeight:"120px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9"})]}),(0,s.jsxs)("div",{style:{marginTop:"1rem"},className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsxs)("label",{style:{fontWeight:600,fontSize:"0.95rem",color:"#e2e8f0"},className:"jsx-29dfb32d17c16cd9",children:["预期技能 (Expected Skills) ",(0,s.jsx)("span",{style:{color:"#64748b",fontWeight:400},className:"jsx-29dfb32d17c16cd9",children:"(可选)"})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},className:"jsx-29dfb32d17c16cd9",children:[(ss.expectedSkills||[]).map((e,t)=>(0,s.jsxs)("div",{style:{display:"flex",gap:"8px",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"text",value:e.skill,onChange:e=>{let s=[...ss.expectedSkills||[]];s[t]={...s[t],skill:e.target.value},st({...ss,expectedSkills:s})},placeholder:"技能名称",style:{flex:2,padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.95rem"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("input",{type:"number",value:e.version??0,onChange:e=>{let s=e.target.value,d=[...ss.expectedSkills||[]];d[t]={...d[t],version:""===s?0:Math.max(0,parseInt(s,10)||0)},st({...ss,expectedSkills:d})},placeholder:"版本 (默认: 0)",style:{flex:1,padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.95rem"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{type:"button",onClick:()=>{let e=(ss.expectedSkills||[]).filter((e,s)=>s!==t);st({...ss,expectedSkills:e})},style:{padding:"10px",background:"#3b1c1c",color:"#ef4444",border:"none",borderRadius:"6px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✕"})]},t)),(0,s.jsx)("button",{type:"button",onClick:()=>{let e=[...ss.expectedSkills||[],{skill:"",version:0}];st({...ss,expectedSkills:e})},style:{padding:"8px",background:"#1e3a5f",color:"#38bdf8",border:"1px dashed #38bdf8",borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9",children:"+ 添加预期技能"})]})]}),(0,s.jsxs)("details",{style:{marginBottom:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("summary",{style:{cursor:"pointer",color:"#94a3b8",fontSize:"0.9rem",padding:"10px 12px",userSelect:"none",display:"flex",alignItems:"center",gap:"8px",background:"rgba(30, 41, 59, 0.5)",borderRadius:"6px",border:"1px solid #334155",listStyle:"none",transition:"background 0.2s"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.7rem",color:"#64748b",transition:"transform 0.2s",display:"inline-block"},className:"jsx-29dfb32d17c16cd9 details-arrow",children:"▶"}),(0,s.jsx)("span",{style:{fontWeight:500},className:"jsx-29dfb32d17c16cd9",children:"关键观点 (Expected Key Points)"}),(0,s.jsxs)("span",{style:{fontSize:"0.8rem",color:"#64748b",marginLeft:"auto"},className:"jsx-29dfb32d17c16cd9",children:[(ss.root_causes||[]).length," 项 · 点击展开"]})]}),(0,s.jsxs)("div",{style:{background:"#0f172a",padding:"10px",borderRadius:"4px",border:"1px solid #334155",marginTop:"8px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{color:"#64748b",fontSize:"0.8rem",marginBottom:"10px",padding:"6px 8px",background:"rgba(100, 116, 139, 0.1)",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9",children:"来源:从标准答案中自动提取 · 作用:评估 Agent 回答是否包含了所有关键信息"}),(ss.root_causes||[]).map((e,t)=>(0,s.jsxs)("div",{style:{display:"flex",gap:"10px",marginBottom:"8px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{placeholder:"内容",value:e.content,onChange:e=>{let s=[...ss.root_causes||[]];s[t].content=e.target.value,st({...ss,root_causes:s})},style:{flex:1,padding:"6px"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("input",{type:"number",placeholder:"权重",value:e.weight,onChange:e=>{let s=[...ss.root_causes||[]];s[t].weight=Number(e.target.value),st({...ss,root_causes:s})},style:{width:"80px",padding:"6px"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{onClick:()=>{let e=(ss.root_causes||[]).filter((e,s)=>s!==t);st({...ss,root_causes:e})},style:{color:"#ef4444",padding:"0 8px",background:"none",border:"none",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✕"})]},t)),(0,s.jsx)("button",{style:{background:"#334155",marginTop:"5px"},onClick:()=>st({...ss,root_causes:[...ss.root_causes||[],{content:"",weight:1}]}),className:"jsx-29dfb32d17c16cd9 btn-sm",children:"+ 添加关键观点"})]})]}),(0,s.jsxs)("details",{style:{marginBottom:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("summary",{style:{cursor:"pointer",color:"#94a3b8",fontSize:"0.9rem",padding:"10px 12px",userSelect:"none",display:"flex",alignItems:"center",gap:"8px",background:"rgba(30, 41, 59, 0.5)",borderRadius:"6px",border:"1px solid #334155",listStyle:"none",transition:"background 0.2s"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.7rem",color:"#64748b",transition:"transform 0.2s",display:"inline-block"},className:"jsx-29dfb32d17c16cd9 details-arrow",children:"▶"}),(0,s.jsx)("span",{style:{fontWeight:500},className:"jsx-29dfb32d17c16cd9",children:"关键动作 (Expected Key Actions)"}),(0,s.jsxs)("span",{style:{fontSize:"0.8rem",color:"#64748b",marginLeft:"auto"},className:"jsx-29dfb32d17c16cd9",children:[(ss.key_actions||[]).length," 项 · 点击展开"]})]}),(0,s.jsxs)("div",{style:{background:"#0f172a",padding:"10px",borderRadius:"4px",border:"1px solid #334155",marginTop:"8px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{color:"#64748b",fontSize:"0.8rem",marginBottom:"10px",padding:"6px 8px",background:"rgba(100, 116, 139, 0.1)",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9",children:"来源:从标准答案中自动提取 · 作用:评估 Agent 是否执行了所有必要的操作步骤"}),(ss.key_actions||[]).map((e,t)=>(0,s.jsxs)("div",{style:{display:"flex",gap:"10px",marginBottom:"8px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{placeholder:"内容",value:e.content,onChange:e=>{let s=[...ss.key_actions||[]];s[t].content=e.target.value,st({...ss,key_actions:s})},style:{flex:1,padding:"6px"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("input",{type:"number",placeholder:"权重",value:e.weight,onChange:e=>{let s=[...ss.key_actions||[]];s[t].weight=Number(e.target.value),st({...ss,key_actions:s})},style:{width:"80px",padding:"6px"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{onClick:()=>{let e=(ss.key_actions||[]).filter((e,s)=>s!==t);st({...ss,key_actions:e})},style:{color:"#ef4444",padding:"0 8px",background:"none",border:"none",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✕"})]},t)),(0,s.jsx)("button",{style:{background:"#334155",marginTop:"5px"},onClick:()=>st({...ss,key_actions:[...ss.key_actions||[],{content:"",weight:1}]}),className:"jsx-29dfb32d17c16cd9 btn-sm",children:"+ 添加关键动作"})]})]})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsxs)("label",{style:{fontWeight:600,fontSize:"0.95rem",color:"#e2e8f0"},className:"jsx-29dfb32d17c16cd9",children:["标准答案 ",(0,s.jsx)("span",{style:{color:"#ef4444"},className:"jsx-29dfb32d17c16cd9",children:"*"})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"12px",marginBottom:"10px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>{si("manual"),so(null)},style:{padding:"6px 16px",background:"manual"===sn?"#38bdf8":"#1e293b",color:"manual"===sn?"#0f172a":"#94a3b8",border:`1px solid ${"manual"===sn?"#38bdf8":"#334155"}`,borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem",fontWeight:"manual"===sn?600:400,transition:"all 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"✏️ 手动填写"}),(0,s.jsx)("button",{onClick:()=>si("document"),style:{padding:"6px 16px",background:"document"===sn?"#38bdf8":"#1e293b",color:"document"===sn?"#0f172a":"#94a3b8",border:`1px solid ${"document"===sn?"#38bdf8":"#334155"}`,borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem",fontWeight:"document"===sn?600:400,transition:"all 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"📄 上传案例文档"})]}),"manual"===sn?(0,s.jsx)("textarea",{value:ss.standard_answer||"",onChange:e=>st({...ss,standard_answer:e.target.value}),placeholder:"请填写该问题的标准答案...",style:{width:"100%",padding:"10px",minHeight:"150px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9"}):(0,s.jsx)("div",{style:{border:"2px dashed #334155",borderRadius:"8px",padding:"2rem",textAlign:"center",background:"#0f172a",cursor:"pointer",transition:"border-color 0.2s"},onDragOver:e=>{e.preventDefault(),e.currentTarget.style.borderColor="#38bdf8"},onDragLeave:e=>{e.currentTarget.style.borderColor="#334155"},onDrop:e=>{e.preventDefault(),e.currentTarget.style.borderColor="#334155";let s=e.dataTransfer.files[0];s&&so(s)},onClick:()=>{let e=document.createElement("input");e.type="file",e.accept=".txt,.md,.markdown,.pdf",e.onchange=e=>{let s=e.target.files[0];s&&so(s)},e.click()},className:"jsx-29dfb32d17c16cd9",children:sc?(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{fontSize:"2rem",marginBottom:"0.5rem"},className:"jsx-29dfb32d17c16cd9",children:"📄"}),(0,s.jsx)("div",{style:{color:"#4ade80",fontWeight:500},className:"jsx-29dfb32d17c16cd9",children:sc.name}),(0,s.jsxs)("div",{style:{color:"#94a3b8",fontSize:"0.8rem",marginTop:"4px"},className:"jsx-29dfb32d17c16cd9",children:[(sc.size/1024).toFixed(1)," KB · 点击更换文件"]})]}):(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{fontSize:"2rem",marginBottom:"0.5rem"},className:"jsx-29dfb32d17c16cd9",children:"📁"}),(0,s.jsx)("div",{style:{color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"点击或拖拽上传案例文档"}),(0,s.jsx)("div",{style:{color:"#64748b",fontSize:"0.8rem",marginTop:"4px"},className:"jsx-29dfb32d17c16cd9",children:"支持 .txt, .md, .pdf 格式"})]})})]}),(0,s.jsxs)("div",{style:{marginTop:"1rem"},className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsxs)("label",{style:{fontWeight:600,fontSize:"0.95rem",color:"#e2e8f0"},className:"jsx-29dfb32d17c16cd9",children:["预期技能 (Expected Skills) ",(0,s.jsx)("span",{style:{color:"#64748b",fontWeight:400},className:"jsx-29dfb32d17c16cd9",children:"(可选)"})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},className:"jsx-29dfb32d17c16cd9",children:[(ss.expectedSkills||[]).map((e,t)=>(0,s.jsxs)("div",{style:{display:"flex",gap:"8px",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"text",value:e.skill,onChange:e=>{let s=[...ss.expectedSkills||[]];s[t]={...s[t],skill:e.target.value},st({...ss,expectedSkills:s})},placeholder:"技能名称",style:{flex:2,padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.95rem"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("input",{type:"number",value:e.version??0,onChange:e=>{let s=e.target.value,d=[...ss.expectedSkills||[]];d[t]={...d[t],version:""===s?0:Math.max(0,parseInt(s,10)||0)},st({...ss,expectedSkills:d})},placeholder:"版本 (默认: 0)",style:{flex:1,padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.95rem"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{type:"button",onClick:()=>{let e=(ss.expectedSkills||[]).filter((e,s)=>s!==t);st({...ss,expectedSkills:e})},style:{padding:"10px",background:"#3b1c1c",color:"#ef4444",border:"none",borderRadius:"6px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✕"})]},t)),(0,s.jsx)("button",{type:"button",onClick:()=>{let e=[...ss.expectedSkills||[],{skill:"",version:0}];st({...ss,expectedSkills:e})},style:{padding:"8px",background:"#1e3a5f",color:"#38bdf8",border:"1px dashed #38bdf8",borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9",children:"+ 添加预期技能"})]})]}),(0,s.jsx)("div",{style:{marginTop:"1rem",padding:"12px 16px",background:"rgba(56, 189, 248, 0.08)",border:"1px solid rgba(56, 189, 248, 0.2)",borderRadius:"8px",color:"#94a3b8",fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("p",{style:{margin:0},className:"jsx-29dfb32d17c16cd9",children:["💡 保存后,系统将基于标准答案自动提取",(0,s.jsx)("strong",{style:{color:"#bae6fd"},className:"jsx-29dfb32d17c16cd9",children:"关键观点"}),"(回答中必须包含的核心信息)和",(0,s.jsx)("strong",{style:{color:"#bae6fd"},className:"jsx-29dfb32d17c16cd9",children:"关键动作"}),"(Agent 必须执行的操作步骤),用于后续的细致评估打分。此过程在后台执行,无需等待。"]})})]}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"12px",marginTop:"1.5rem",paddingTop:"1rem",borderTop:"1px solid #334155"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>{sa(!1),sl(!1)},style:{padding:"8px 24px",background:"#1e293b",color:"#94a3b8",border:"1px solid #334155",borderRadius:"6px",cursor:"pointer",fontSize:"0.9rem",fontWeight:500,transition:"all 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"取消"}),(0,s.jsx)("button",{onClick:sf,disabled:sr,style:{padding:"8px 28px",background:sr?"#1e3a5f":"#38bdf8",color:sr?"#64748b":"#0f172a",border:"none",borderRadius:"6px",cursor:sr?"not-allowed":"pointer",fontSize:"0.9rem",fontWeight:600,transition:"all 0.2s",boxShadow:sr?"none":"0 2px 8px rgba(56, 189, 248, 0.25)"},className:"jsx-29dfb32d17c16cd9",children:sr?"保存中...":"保存"})]})]})}),Q&&(0,s.jsx)("div",{onClick:()=>G(null),className:"jsx-29dfb32d17c16cd9 modal-overlay",children:(0,s.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{width:"800px",maxWidth:"95%",maxHeight:"90vh",overflowY:"auto"},className:"jsx-29dfb32d17c16cd9 modal-content card",children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h3",{className:"jsx-29dfb32d17c16cd9",children:"记录详情"}),(0,s.jsx)("button",{onClick:()=>G(null),style:{background:"transparent",border:"none",color:"white",fontSize:"1.5rem",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"×"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-section",children:[(0,s.jsx)("h4",{className:"jsx-29dfb32d17c16cd9",children:"基本信息"}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-grid",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{className:"jsx-29dfb32d17c16cd9",children:"Time:"})," ",T(Q.timestamp)]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{className:"jsx-29dfb32d17c16cd9",children:"Framework:"})," ",Q.framework]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{className:"jsx-29dfb32d17c16cd9",children:"Latency:"})," ",w(Q.latency)]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{className:"jsx-29dfb32d17c16cd9",children:"Token:"})," ",Q.tokens]})]})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-section",children:[(0,s.jsx)("h4",{className:"jsx-29dfb32d17c16cd9",children:"Input / Output"}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-row",children:[(0,s.jsx)("strong",{style:{display:"block",marginBottom:"0.2rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"Query:"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 code-block",children:Q.query})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-row",children:[(0,s.jsx)("strong",{style:{display:"block",marginBottom:"0.2rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"Skills Used:"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 code-block",children:(0,s.jsx)(f.SkillLinks,{skills:Q.skills,skill:Q.skill,skillVersion:Q.skill_version?parseInt(Q.skill_version):null,user:Q.user})})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-row",children:[(0,s.jsx)("strong",{style:{display:"block",marginBottom:"0.2rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"Final Result:"}),(0,s.jsx)("div",{style:{maxHeight:"200px",overflowY:"auto"},className:"jsx-29dfb32d17c16cd9 code-block",children:Q.final_result||"(None)"})]})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-section",children:[(0,s.jsx)("h4",{className:"jsx-29dfb32d17c16cd9",children:"评估结果"}),(0,s.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr",gap:"1rem",marginBottom:"1.5rem"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("div",{style:null===Q.answer_score?{borderLeft:"4px solid #94a3b8",background:"rgba(148, 163, 184, 0.1)",color:"#94a3b8"}:{},className:`jsx-29dfb32d17c16cd9 status-box ${null===Q.answer_score?"warning":(Q.answer_score||0)>.8?"good":"bad"}`,children:[(0,s.jsx)("strong",{className:"jsx-29dfb32d17c16cd9",children:"回答评分:"})," ",null===Q.answer_score?"--":(Q.answer_score||0).toFixed(2)]})}),Q.failures&&Q.failures.length>0&&(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-section",children:[(0,s.jsx)("h4",{style:{color:"#f87171"},className:"jsx-29dfb32d17c16cd9",children:"中间故障 / 异常分析"}),(0,s.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"1rem"},className:"jsx-29dfb32d17c16cd9",children:Q.failures.map((e,t)=>(0,s.jsxs)("div",{style:{background:"rgba(248, 113, 113, 0.1)",border:"1px solid #7f1d1d",borderRadius:"6px",padding:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",marginBottom:"0.5rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{background:"#f87171",color:"#0f172a",padding:"2px 8px",borderRadius:"4px",fontSize:"0.8rem",fontWeight:"bold"},className:"jsx-29dfb32d17c16cd9",children:e.failure_type}),(0,s.jsx)("span",{style:{color:"#fca5a5",fontWeight:"bold"},className:"jsx-29dfb32d17c16cd9",children:e.description})]}),e.context&&(0,s.jsx)("div",{style:{marginBottom:"0.5rem",fontSize:"0.9rem",color:"#cbd5e1",fontFamily:"monospace",background:"rgba(0,0,0,0.3)",padding:"0.5rem",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9",children:e.context}),e.recovery&&(0,s.jsxs)("div",{style:{fontSize:"0.9rem",color:"#86efac"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{style:{color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"修复建议:"})," ",e.recovery]}),(e.attribution||e.attribution_reason)&&(0,s.jsxs)("div",{style:{marginTop:"0.8rem",paddingTop:"0.8rem",borderTop:"1px dashed #7f1d1d"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",marginBottom:"0.3rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{style:{color:"#fbbf24"},className:"jsx-29dfb32d17c16cd9",children:"归因分析:"}),e.attribution&&(0,s.jsx)("span",{style:{background:"#fbbf24",color:"#451a03",padding:"1px 6px",borderRadius:"4px",fontSize:"0.75rem",fontWeight:"bold",border:"1px solid #d97706"},className:"jsx-29dfb32d17c16cd9",children:e.attribution})]}),e.attribution_reason&&(0,s.jsx)("div",{style:{fontSize:"0.9rem",color:"#fcd34d",fontStyle:"italic"},className:"jsx-29dfb32d17c16cd9",children:e.attribution_reason})]})]},t))})]}),(0,s.jsxs)("div",{style:{marginTop:"1rem"},className:"jsx-29dfb32d17c16cd9 detail-row",children:[(0,s.jsx)("strong",{style:{color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"Reason:"}),(0,s.jsx)("div",{style:{marginTop:"0.2rem",fontSize:"0.9rem",color:"#e2e8f0",whiteSpace:"pre-wrap"},className:"jsx-29dfb32d17c16cd9",children:Q.judgment_reason||"-"})]})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-section",children:[(0,s.jsx)("h4",{className:"jsx-29dfb32d17c16cd9",children:"用户反馈 (User Feedback)"}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",gap:"1rem",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>e4("like"),style:{display:"flex",alignItems:"center",gap:"0.5rem",background:Q.user_feedback?.type==="like"?"#38bdf8":"#334155",color:Q.user_feedback?.type==="like"?"#0f172a":"#94a3b8",border:"none",padding:"6px 12px",borderRadius:"4px",cursor:"pointer",fontWeight:Q.user_feedback?.type==="like"?"bold":"normal",transition:"all 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"👍 Like"}),(0,s.jsx)("button",{onClick:()=>e4("dislike"),style:{display:"flex",alignItems:"center",gap:"0.5rem",background:Q.user_feedback?.type==="dislike"?"#f87171":"#334155",color:Q.user_feedback?.type==="dislike"?"#0f172a":"#94a3b8",border:"none",padding:"6px 12px",borderRadius:"4px",cursor:"pointer",fontWeight:Q.user_feedback?.type==="dislike"?"bold":"normal",transition:"all 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"👎 Dislike"})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"0.5rem",alignItems:"flex-start"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("textarea",{value:ez,onChange:e=>eT(e.target.value),placeholder:"添加评论 (可选)...",style:{flex:1,minHeight:"60px",padding:"8px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"4px",fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{onClick:()=>e4(Q.user_feedback?.type||null),style:{padding:"8px 16px",fontSize:"0.9rem",height:"fit-content",whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 btn-primary",children:"保存评论"})]})]})]})]})}),(0,s.jsx)("button",{onClick:()=>B(!0),style:{position:"fixed",top:"1.5rem",right:"2rem",width:"3rem",height:"3rem",borderRadius:"50%",background:"#38bdf8",color:"#0f172a",border:"none",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"1.5rem",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",cursor:"pointer",zIndex:900,transition:"transform 0.2s"},onMouseOver:e=>e.currentTarget.style.transform="scale(1.1)",onMouseOut:e=>e.currentTarget.style.transform="scale(1)",title:"User Settings",className:"jsx-29dfb32d17c16cd9",children:"👤"}),O&&(0,s.jsx)("div",{onClick:()=>B(!1),style:{alignItems:"flex-start",paddingTop:"10vh"},className:"jsx-29dfb32d17c16cd9 modal-overlay",children:(0,s.jsxs)("div",{style:{width:"500px",maxWidth:"90vw",background:"#0f172a",border:"1px solid #334155",borderRadius:"12px",padding:"0",overflow:"hidden"},onClick:e=>e.stopPropagation(),className:"jsx-29dfb32d17c16cd9 modal-content",children:[(0,s.jsxs)("div",{style:{padding:"1.5rem",background:"linear-gradient(to right, #1e293b, #0f172a)",borderBottom:"1px solid #334155",display:"flex",justifyContent:"space-between",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"12px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{width:"40px",height:"40px",borderRadius:"50%",background:"#38bdf8",color:"#0f172a",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"1.2rem",fontWeight:"bold"},className:"jsx-29dfb32d17c16cd9",children:e?e.substring(0,1).toUpperCase():"?"}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h3",{style:{margin:0,color:"#f8fafc",fontSize:"1.1rem"},className:"jsx-29dfb32d17c16cd9",children:e}),(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"User Profile"})]})]}),(0,s.jsx)("button",{onClick:()=>B(!1),style:{background:"transparent",border:"none",color:"#64748b",fontSize:"1.5rem",cursor:"pointer",lineHeight:1},className:"jsx-29dfb32d17c16cd9",children:"×"})]}),(0,s.jsx)("div",{style:{padding:"1.5rem"},className:"jsx-29dfb32d17c16cd9",children:b?(0,s.jsxs)("div",{style:{background:"#1e293b",padding:"1.25rem",borderRadius:"8px",border:"1px solid #334155"},className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{style:{color:"#94a3b8",fontSize:"0.8rem",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"0.75rem",display:"block"},className:"jsx-29dfb32d17c16cd9",children:"API Key"}),(0,s.jsxs)("div",{style:{display:"flex",gap:"10px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{flex:1,padding:"0.75rem 1rem",background:"#0f172a",borderRadius:"6px",border:"1px solid #334155",color:"#e2e8f0",fontFamily:"monospace",fontSize:"0.9rem",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},className:"jsx-29dfb32d17c16cd9",children:b}),(0,s.jsx)("button",{onClick:()=>{let e=()=>{eI(!0),setTimeout(()=>eI(!1),2e3)};if(navigator.clipboard&&window.isSecureContext)navigator.clipboard.writeText(b).then(e);else{let s=document.createElement("textarea");s.value=b,s.style.position="fixed",s.style.left="-9999px",s.style.top="0",document.body.appendChild(s),s.focus(),s.select();try{document.execCommand("copy"),e()}catch(e){console.error("Fallback: Oops, unable to copy",e),alert("复制失败,请手动复制")}document.body.removeChild(s)}},style:{padding:"0 1.25rem",display:"flex",alignItems:"center",gap:"6px",background:eR?"#4ade80":void 0},className:"jsx-29dfb32d17c16cd9 btn-primary",children:eR?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"jsx-29dfb32d17c16cd9",children:"✅"})," Copied"]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"jsx-29dfb32d17c16cd9",children:"📋"})," Copy"]})})]}),(0,s.jsx)("div",{style:{marginTop:"1rem",padding:"0.75rem",background:"rgba(56, 189, 248, 0.1)",borderRadius:"6px",border:"1px solid rgba(56, 189, 248, 0.2)"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("p",{style:{margin:0,fontSize:"0.85rem",color:"#bae6fd",lineHeight:1.5},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{className:"jsx-29dfb32d17c16cd9",children:"Usage:"})," Set this key in your environment to upload data seamlessly without login.",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),(0,s.jsxs)("code",{style:{display:"block",marginTop:"6px",padding:"4px",background:"rgba(0,0,0,0.3)",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9",children:["export SKILL_INSIGHT_API_KEY=",b]})]})})]}):(0,s.jsx)("div",{style:{textAlign:"center",padding:"2rem",color:"#64748b"},className:"jsx-29dfb32d17c16cd9",children:"No API Key found."})}),(0,s.jsx)("div",{style:{padding:"0 1.5rem 1.5rem"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsx)("div",{style:{background:"#1e293b",padding:"1.25rem",borderRadius:"8px",border:"1px solid #334155"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h4",{style:{margin:"0 0 0.25rem 0",color:"#f8fafc",fontSize:"0.95rem"},className:"jsx-29dfb32d17c16cd9",children:"新手引导"}),(0,s.jsx)("p",{style:{margin:0,fontSize:"0.8rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:u?.guideDisabled?"引导已关闭":"引导已开启"})]}),(0,s.jsx)("button",{onClick:async()=>{u?.guideDisabled?(await fetch("/api/guide",{method:"POST",headers:{"Content-Type":"application/json","x-user-id":e},body:JSON.stringify({guideDisabled:!1,dismissedAt:null})})).ok&&window.location.reload():(await fetch("/api/guide",{method:"POST",headers:{"Content-Type":"application/json","x-user-id":e},body:JSON.stringify({currentStep:0,completedSteps:[],skippedSteps:[],dismissedAt:null})})).ok&&(B(!1),k(!0))},style:{background:u?.guideDisabled?"#4ade80":"#38bdf8",border:"none",color:"#0f172a",padding:"0.5rem 1rem",borderRadius:"6px",fontWeight:"600",cursor:"pointer",fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9",children:u?.guideDisabled?"启用引导":"重新开始引导"})]})})}),(0,s.jsxs)("div",{style:{padding:"1.25rem 1.5rem",background:"#0f172a",borderTop:"1px solid #334155",display:"flex",justifyContent:"flex-end",gap:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>B(!1),style:{background:"transparent",border:"1px solid #334155",color:"#94a3b8",padding:"0.6rem 1.25rem",borderRadius:"6px",fontWeight:"500",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"Close"}),(0,s.jsx)("button",{onClick:()=>{localStorage.removeItem("user_id"),localStorage.removeItem("api_key"),window.location.reload()},style:{background:"#ef4444",border:"none",color:"white",padding:"0.6rem 1.25rem",borderRadius:"6px",fontWeight:"600",cursor:"pointer",boxShadow:"0 2px 4px rgba(239, 68, 68, 0.2)"},className:"jsx-29dfb32d17c16cd9",children:"Sign Out"})]})]})}),(0,s.jsx)(t.default,{id:"29dfb32d17c16cd9",children:'.tab-btn.jsx-29dfb32d17c16cd9{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem 1rem;font-size:1rem}.tab-btn.active.jsx-29dfb32d17c16cd9{color:#38bdf8;border-bottom-color:#38bdf8}.p-2.jsx-29dfb32d17c16cd9{padding:.75rem}.btn-primary.jsx-29dfb32d17c16cd9{color:#0f172a;cursor:pointer;background:#38bdf8;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:700}.btn-sm.jsx-29dfb32d17c16cd9{color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 8px;font-size:.8rem}.modal-overlay.jsx-29dfb32d17c16cd9{alignItems:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000c;justify-content:center;display:flex;position:fixed;inset:0}.modal-content.jsx-29dfb32d17c16cd9{background:#1e293b;border:1px solid #334155;width:66vw;max-width:1200px;padding:2rem}.form-group.jsx-29dfb32d17c16cd9{margin-bottom:1rem}.form-group.jsx-29dfb32d17c16cd9 label.jsx-29dfb32d17c16cd9{marginBottom:.5rem;color:#cbd5e1;display:block}input.jsx-29dfb32d17c16cd9,textarea.jsx-29dfb32d17c16cd9{color:#fff;borderRadius:4px;background:#0f172a;border:1px solid #334155}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}details[open].jsx-29dfb32d17c16cd9>summary.jsx-29dfb32d17c16cd9 .details-arrow.jsx-29dfb32d17c16cd9{transform:rotate(90deg)}details.jsx-29dfb32d17c16cd9>summary.jsx-29dfb32d17c16cd9:hover{background:#1e293bcc!important}details.jsx-29dfb32d17c16cd9>summary.jsx-29dfb32d17c16cd9::-webkit-details-marker{display:none}details.jsx-29dfb32d17c16cd9>summary.jsx-29dfb32d17c16cd9::marker{content:"";display:none}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.detail-section.jsx-29dfb32d17c16cd9{border-bottom:1px solid #334155;margin-bottom:1.5rem;padding-bottom:1.5rem}.detail-section.jsx-29dfb32d17c16cd9:last-child{border-bottom:none}.detail-grid.jsx-29dfb32d17c16cd9{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.detail-row.jsx-29dfb32d17c16cd9{margin-bottom:1rem}.code-block.jsx-29dfb32d17c16cd9{white-space:pre-wrap;color:#e2e8f0;background:#0f172a;border-radius:6px;padding:.8rem;font-family:monospace;font-size:.9rem}.status-box.jsx-29dfb32d17c16cd9{text-align:center;border-radius:6px;padding:1rem}.status-box.good.jsx-29dfb32d17c16cd9{color:#4ade80;background:#4ade801a;border:1px solid #4ade80}.status-box.bad.jsx-29dfb32d17c16cd9{color:#f87171;background:#f871711a;border:1px solid #f87171}h4.jsx-29dfb32d17c16cd9{color:#38bdf8;margin-top:0;margin-bottom:1rem}.text-sm.jsx-29dfb32d17c16cd9{font-size:.875rem}.text-xl.jsx-29dfb32d17c16cd9{font-size:1.25rem}.text-2xl.jsx-29dfb32d17c16cd9{font-size:1.5rem}.font-bold.jsx-29dfb32d17c16cd9{font-weight:700}.text-slate-400.jsx-29dfb32d17c16cd9{color:#94a3b8}.text-green-400.jsx-29dfb32d17c16cd9{color:#4ade80}.text-red-400.jsx-29dfb32d17c16cd9{color:#f87171}.dropdown-content.jsx-29dfb32d17c16cd9{display:none}.dropdown-trigger.jsx-29dfb32d17c16cd9:hover+.dropdown-content.jsx-29dfb32d17c16cd9,.dropdown-content.jsx-29dfb32d17c16cd9:hover{display:block}'}),g&&F.length>0&&!j&&(0,s.jsx)(v,{steps:F,onComplete:async()=>{k(!1),await $()},onSkip:async e=>{await I(e)},onDontShowAgain:async()=>{await A()}})]})}e.s(["default",()=>I],58116)}]);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_clientMiddlewareManifest.json
RENAMED
|
File without changes
|
|
File without changes
|