agent-insight 0.2.0-beta → 0.2.1-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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/(main)/accessconfig/install/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/dataset/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/run/[runId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/trajectory/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/fault/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/metrics/evaluators/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/metrics/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/quality/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-eval/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-generator/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-opt/[name]/[version]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-opt/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/trace/page_client-reference-manifest.js +1 -1
- 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.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- 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 +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.html +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.html +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/install.html +1 -1
- package/.next/standalone/.next/server/app/accessconfig/install.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/install.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/install.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/install.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/install.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.html +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig.html +1 -1
- package/.next/standalone/.next/server/app/accessconfig.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/agents.html +1 -1
- package/.next/standalone/.next/server/app/agents.rsc +1 -1
- package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/agents.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/agents.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/agents.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/agent/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/stream/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/debug/execute/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/trajectory/results/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js +6 -6
- package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/trajectory/runs/route.js +1 -1
- package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/user-evaluators/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/dashboard.html +1 -1
- package/.next/standalone/.next/server/app/dashboard.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dataset.html +1 -1
- package/.next/standalone/.next/server/app/dataset.rsc +2 -2
- package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dataset.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dataset.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dataset.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dataset.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval/trajectory.html +1 -1
- package/.next/standalone/.next/server/app/eval/trajectory.rsc +2 -2
- package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval/trajectory.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/eval/trajectory.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval/trajectory.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval/trajectory.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval.html +1 -1
- package/.next/standalone/.next/server/app/eval.rsc +2 -2
- package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/eval.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/fault.html +1 -1
- package/.next/standalone/.next/server/app/fault.rsc +2 -2
- package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/fault.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/fault.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/fault.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/fault.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/memory.html +1 -1
- package/.next/standalone/.next/server/app/memory.rsc +1 -1
- package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/memory.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/memory.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/memory.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/memory.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/metrics.html +1 -1
- package/.next/standalone/.next/server/app/metrics.rsc +2 -2
- package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/metrics.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/metrics.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/metrics.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/metrics.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/registry.html +1 -1
- package/.next/standalone/.next/server/app/modelconfig/registry.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/web-search.html +1 -1
- package/.next/standalone/.next/server/app/modelconfig/web-search.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig.html +1 -1
- package/.next/standalone/.next/server/app/modelconfig.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/optapi.html +1 -1
- package/.next/standalone/.next/server/app/optapi.rsc +1 -1
- package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/optapi.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/optapi.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/optapi.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/optapi.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/quality.html +1 -1
- package/.next/standalone/.next/server/app/quality.rsc +2 -2
- package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/quality.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/quality.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/quality.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/quality.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/security.html +1 -1
- package/.next/standalone/.next/server/app/security.rsc +1 -1
- package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/security.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/security.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/security.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/security.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/security.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-detail.html +1 -1
- package/.next/standalone/.next/server/app/skill-detail.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-detail.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-detail.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-detail.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-detail.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval/grayscale.html +2 -2
- package/.next/standalone/.next/server/app/skill-eval/grayscale.rsc +3 -3
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval.html +1 -1
- package/.next/standalone/.next/server/app/skill-eval.rsc +4 -4
- package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/skill-eval.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-generator.html +1 -1
- package/.next/standalone/.next/server/app/skill-generator.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-generator.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-generator.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-generator.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-generator.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-history.html +1 -1
- package/.next/standalone/.next/server/app/skill-history.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-history.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-history.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-history.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-history.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-opt.html +1 -1
- package/.next/standalone/.next/server/app/skill-opt.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-opt.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-opt.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-opt.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-opt.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-release.html +1 -1
- package/.next/standalone/.next/server/app/skill-release.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-release.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-release.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-release.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-release.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.html +1 -1
- package/.next/standalone/.next/server/app/skills.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/trace.html +1 -1
- package/.next/standalone/.next/server/app/trace.rsc +2 -2
- package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/trace.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/trace.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/trace.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/trace.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__29b88539._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__571e2dc5._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__aeca73e7._.js +1 -1
- package/.next/standalone/.next/server/chunks/_5041b697._.js +1 -1
- package/.next/standalone/.next/server/chunks/_73cb0d03._.js +7 -7
- package/.next/standalone/.next/server/chunks/_7ecc72d5._.js +1 -1
- package/.next/standalone/.next/server/chunks/_b2cfd29b._.js +1 -1
- package/.next/standalone/.next/server/chunks/_d36858e9._.js +3 -3
- package/.next/standalone/.next/server/chunks/src_lib_69eb724e._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_2e8ebb20._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_8e76c6f5._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_da30fab4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_ddf088e7._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_243b92c2._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_eval_trajectory_page_tsx_052751f5._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_skill-eval_page_tsx_d6828614._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_f0e17888._.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/static/chunks/046dc786e7e13cc4.js +1 -0
- package/.next/standalone/.next/static/chunks/4812c235bebb18ff.js +1 -0
- package/.next/standalone/.next/static/chunks/49bb7f20fbab9dac.js +1 -0
- package/.next/standalone/.next/static/chunks/{150c66f334898c1b.js → 6f9e84819ba4f450.js} +1 -1
- package/.next/{static/chunks/9ce93159d07d77fc.js → standalone/.next/static/chunks/781813e2aa38a20f.js} +1 -1
- package/.next/{static/chunks/d12348f4045911d6.js → standalone/.next/static/chunks/84b0f0dc8be9bc7e.js} +1 -1
- package/.next/standalone/.next/static/chunks/8871e04c4e1fd6c4.js +1 -0
- package/.next/standalone/.next/static/chunks/e33bd5306b9b9d64.js +1 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/scripts/install.js +11 -0
- package/.next/standalone/scripts/postinstall.js +20 -6
- package/.next/standalone/scripts/start.js +8 -0
- package/.next/static/chunks/046dc786e7e13cc4.js +1 -0
- package/.next/static/chunks/4812c235bebb18ff.js +1 -0
- package/.next/static/chunks/49bb7f20fbab9dac.js +1 -0
- package/.next/static/chunks/{150c66f334898c1b.js → 6f9e84819ba4f450.js} +1 -1
- package/.next/{standalone/.next/static/chunks/9ce93159d07d77fc.js → static/chunks/781813e2aa38a20f.js} +1 -1
- package/.next/{standalone/.next/static/chunks/d12348f4045911d6.js → static/chunks/84b0f0dc8be9bc7e.js} +1 -1
- package/.next/static/chunks/8871e04c4e1fd6c4.js +1 -0
- package/.next/static/chunks/e33bd5306b9b9d64.js +1 -0
- package/package.json +1 -1
- package/scripts/install.js +11 -0
- package/scripts/postinstall.js +20 -6
- package/scripts/start.js +8 -0
- package/.next/standalone/.next/static/chunks/63fd190c8d8ebf18.js +0 -1
- package/.next/standalone/.next/static/chunks/7100361dbae12246.js +0 -1
- package/.next/standalone/.next/static/chunks/a9d1c1054358afe7.js +0 -1
- package/.next/standalone/.next/static/chunks/bc8ee6907cb73517.js +0 -1
- package/.next/standalone/.next/static/chunks/d2f0f5c92132648a.js +0 -1
- package/.next/static/chunks/63fd190c8d8ebf18.js +0 -1
- package/.next/static/chunks/7100361dbae12246.js +0 -1
- package/.next/static/chunks/a9d1c1054358afe7.js +0 -1
- package/.next/static/chunks/bc8ee6907cb73517.js +0 -1
- package/.next/static/chunks/d2f0f5c92132648a.js +0 -1
- /package/.next/standalone/.next/static/{xPAK0xEAbffUxaOdHM34l → weVMqpYfYK0SyOZhPsC6k}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{xPAK0xEAbffUxaOdHM34l → weVMqpYfYK0SyOZhPsC6k}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{xPAK0xEAbffUxaOdHM34l → weVMqpYfYK0SyOZhPsC6k}/_ssgManifest.js +0 -0
- /package/.next/static/{xPAK0xEAbffUxaOdHM34l → weVMqpYfYK0SyOZhPsC6k}/_buildManifest.js +0 -0
- /package/.next/static/{xPAK0xEAbffUxaOdHM34l → weVMqpYfYK0SyOZhPsC6k}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{xPAK0xEAbffUxaOdHM34l → weVMqpYfYK0SyOZhPsC6k}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,674831,21357,815821,e=>{"use strict";var t=e.i(843476),s=e.i(271645),a=e.i(218469),n=e.i(248105),l=e.i(745383),i=e.i(456420);let r=(0,i.default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]),o=(0,i.default)("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]),d=(0,i.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>d],21357);var c=e.i(741120),u=e.i(519455),h=e.i(760045),p=e.i(975157);function g(){let{isCollapsed:e,toggleSidebar:s}=(0,h.useSidebar)(),l=e?n.PanelLeftOpen:a.PanelLeftClose;return(0,t.jsx)("button",{type:"button",onClick:s,"aria-label":e?"展开侧栏":"折叠侧栏",className:"inline-flex size-7 shrink-0 items-center justify-center rounded-md text-foreground-secondary transition-colors hover:bg-background-secondary hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,t.jsx)(l,{className:"size-4"})})}function m({items:e,moduleLabel:a}){let n=e?.length?e:a?[{label:a}]:[];return n.length?(0,t.jsx)("nav",{"aria-label":"Breadcrumb",className:"flex min-w-0 items-center gap-1.5 text-sm",children:n.map((e,a)=>{let l=a===n.length-1,i=l?(0,t.jsx)("span",{className:"truncate font-medium text-foreground",children:e.label}):e.href||e.onClick?(0,t.jsx)("a",{href:e.href,onClick:e.onClick,className:"truncate text-foreground-secondary transition-colors hover:text-foreground",children:e.label}):(0,t.jsx)("span",{className:"truncate text-foreground-secondary",children:e.label});return(0,t.jsxs)(s.Fragment,{children:[i,!l&&(0,t.jsx)("span",{"aria-hidden":"true",className:"select-none text-[var(--primary)] opacity-50",children:" › "})]},a)})}):null}function x({variant:e,action:s,secondaryAction:a,moreMenu:n,live:l}){return"live"===e&&l?(0,t.jsx)(b,{live:l}):(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[a&&(0,t.jsxs)(u.Button,{variant:"secondary",size:"sm",onClick:a.onClick,disabled:a.disabled,children:[a.icon&&(0,t.jsx)(a.icon,{}),a.label]}),s&&(0,t.jsxs)(u.Button,{variant:"default",size:"sm",onClick:s.onClick,disabled:s.disabled,children:[s.icon&&(0,t.jsx)(s.icon,{}),s.label]}),"detail"===e&&n&&n.length>0&&(0,t.jsx)(v,{items:n})]})}function v({items:e}){return(0,t.jsxs)("details",{className:"relative",children:[(0,t.jsx)("summary",{"aria-label":"更多操作",className:"inline-flex size-8 cursor-pointer list-none items-center justify-center rounded-md text-foreground-secondary transition-colors hover:bg-background-secondary hover:text-foreground [&::-webkit-details-marker]:hidden",children:(0,t.jsx)(r,{className:"size-4"})}),(0,t.jsx)("div",{role:"menu",className:"absolute right-0 z-30 mt-1 min-w-[160px] overflow-hidden rounded-md border border-border bg-card shadow-md",children:e.map((e,s)=>(0,t.jsxs)("button",{type:"button",role:"menuitem",onClick:e.onClick,className:(0,p.cn)("flex w-full items-center gap-2 px-3 py-2 text-left text-sm transition-colors hover:bg-background-secondary",e.destructive?"text-[var(--error)]":"text-foreground"),children:[e.icon&&(0,t.jsx)(e.icon,{className:"size-4"}),e.label]},s))})]})}let f=["1s","3s","5s","15s","30s","1m"];function b({live:e}){var s;let a,n,i,r,h,g=(s=e.lastUpdate,a=`${s.getMonth()+1}`,n=`${s.getDate()}`,i=`${s.getHours()}`.padStart(2,"0"),r=`${s.getMinutes()}`.padStart(2,"0"),h=`${s.getSeconds()}`.padStart(2,"0"),`${a}/${n} \xb7 ${i}:${r}:${h}`);return(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("span",{"aria-label":e.label??"实时数据",className:"inline-flex items-center gap-1.5 rounded-sm bg-[var(--success-subtle)] px-2 py-0.5 text-[11px] font-medium text-[var(--success)]",children:[(0,t.jsx)("span",{className:"size-1.5 animate-pulse rounded-full bg-current"}),e.label??"实时数据"]}),(0,t.jsx)("time",{className:"font-mono tabular-nums text-xs text-foreground-muted",children:g}),e.onRefreshRateChange?(0,t.jsxs)("details",{className:"relative",children:[(0,t.jsxs)("summary",{className:"inline-flex h-7 cursor-pointer list-none items-center gap-1 rounded-md border border-border bg-card px-2 text-xs text-foreground transition-colors hover:bg-background-secondary [&::-webkit-details-marker]:hidden",children:[(0,t.jsx)(c.RefreshCw,{className:"size-3"}),e.refreshRate,(0,t.jsx)(l.ChevronDown,{className:"size-3 opacity-60"})]}),(0,t.jsx)("div",{className:"absolute right-0 z-30 mt-1 min-w-[64px] overflow-hidden rounded-md border border-border bg-card shadow-md",children:f.map(s=>(0,t.jsx)("button",{type:"button",onClick:()=>e.onRefreshRateChange?.(s),className:(0,p.cn)("block w-full px-3 py-1.5 text-left text-xs transition-colors hover:bg-background-secondary",s===e.refreshRate?"font-medium text-[var(--primary)]":"text-foreground"),children:s},s))})]}):(0,t.jsxs)("span",{className:"inline-flex h-7 items-center gap-1 rounded-md border border-border bg-card px-2 text-xs text-foreground-muted",children:[(0,t.jsx)(c.RefreshCw,{className:"size-3"}),e.refreshRate]}),(0,t.jsxs)(u.Button,{variant:"secondary",size:"sm",onClick:e.onTogglePause,children:[e.paused?(0,t.jsx)(d,{}):(0,t.jsx)(o,{}),e.paused?"继续":"暂停"]})]})}function y({obj:e}){let s=(e.iconChar||e.title.charAt(0)||"?").slice(0,1).toUpperCase();return(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"grid size-8 shrink-0 place-items-center rounded-md bg-[var(--primary-subtle)] font-mono text-xs font-semibold text-[var(--primary)]",children:s}),(0,t.jsxs)("div",{className:"min-w-0 leading-tight",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 font-mono text-[15px] font-semibold tracking-[-0.01em] text-foreground",children:[(0,t.jsx)("span",{className:"truncate",children:e.title}),e.versionMenu&&(0,t.jsx)(j,{menu:e.versionMenu})]}),(0,t.jsx)("div",{className:"mt-0.5 text-xs text-foreground-muted",children:e.sub})]})]})}function j({menu:e}){return(0,t.jsxs)("details",{className:"relative",children:[(0,t.jsx)("summary",{"aria-label":"切换版本",className:"inline-flex cursor-pointer list-none items-center text-foreground-muted hover:text-foreground [&::-webkit-details-marker]:hidden",children:(0,t.jsx)(l.ChevronDown,{className:"size-3"})}),(0,t.jsx)("div",{className:"absolute left-0 z-30 mt-1 min-w-[160px] overflow-hidden rounded-md border border-border bg-card shadow-md",children:e.versions.map(s=>(0,t.jsxs)("button",{type:"button",onClick:()=>e.onSelect(s.id),className:(0,p.cn)("flex w-full items-center justify-between px-3 py-1.5 text-left text-xs transition-colors hover:bg-background-secondary",s.id===e.current?"font-medium text-[var(--primary)]":"text-foreground"),children:[(0,t.jsx)("span",{className:"font-mono",children:s.label}),s.current&&(0,t.jsx)("span",{className:"text-[10px] text-foreground-muted",children:"当前"})]},s.id))})]})}function k({banner:e}){let s="info"===e.variant?"bg-[var(--primary-subtle)] text-[var(--primary)] border-[var(--primary-subtle-border)]":"warning"===e.variant?"bg-[var(--warning-subtle)] text-[var(--warning)] border-[var(--warning-subtle-border)]":"bg-[var(--error-subtle)] text-[var(--error)] border-[var(--error-subtle-border)]";return(0,t.jsxs)("div",{role:"status",className:(0,p.cn)("flex items-center gap-3 border-b px-6 py-3 text-sm",s),children:[(0,t.jsx)("span",{className:"flex-1",children:e.message}),e.action&&(0,t.jsxs)("button",{type:"button",onClick:e.action.onClick,className:"shrink-0 font-medium underline-offset-2 hover:underline",children:[e.action.label," →"]})]})}function N({meta:e,sticky:s}){return(0,t.jsxs)("div",{className:(0,p.cn)("border-b border-border bg-card px-6 py-3",s&&"sticky top-[56px] z-[9]"),children:["kpi"===e.kind&&(0,t.jsx)(S,{items:e.items}),"filter"===e.kind&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-3",children:e.children}),"tabs"===e.kind&&(0,t.jsx)(w,{items:e.items,value:e.value,onChange:e.onChange})]})}function S({items:e}){return(0,t.jsx)("div",{className:"grid grid-cols-2 gap-4 md:grid-cols-4",children:e.map((e,s)=>(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-xs text-foreground-muted",children:e.label}),(0,t.jsx)("div",{className:(0,p.cn)("mt-1 font-mono text-lg font-semibold tabular-nums","warning"===e.tone&&"text-[var(--warning)]","success"===e.tone&&"text-[var(--success)]",!e.tone&&"text-foreground"),children:e.value}),e.sub&&(0,t.jsx)("div",{className:"mt-0.5 text-xs text-foreground-muted",children:e.sub})]},s))})}function w({items:e,value:s,onChange:a}){return(0,t.jsx)("div",{className:"flex items-center gap-1 overflow-x-auto",children:e.map(e=>{let n=e.value===s;return(0,t.jsxs)("button",{type:"button",onClick:()=>a(e.value),className:(0,p.cn)("relative whitespace-nowrap px-3 py-2 text-sm transition-colors",n?"font-medium text-[var(--primary)]":"text-foreground-secondary hover:text-foreground"),children:[e.label,n&&(0,t.jsx)("span",{className:"absolute inset-x-3 -bottom-px h-0.5 rounded-full bg-[var(--primary)]"})]},e.value)})})}function z(e){let{breadcrumbs:s,moduleLabel:a,icon:n,title:l,badges:i,variant:r,action:o,secondaryAction:d,moreMenu:c,live:u,contextObject:h,description:p,banner:v,metaStrip:f,stickyMeta:b}=e,j="detail-object"===r&&h;return(0,t.jsxs)("header",{className:"sticky top-0 z-10 bg-card",children:[j?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex h-9 items-center gap-3 border-b border-border bg-background-secondary px-6",children:[(0,t.jsx)(g,{}),(0,t.jsx)(m,{items:s,moduleLabel:a})]}),(0,t.jsxs)("div",{className:"flex h-14 items-center gap-3 border-b border-border px-6",children:[(0,t.jsx)(y,{obj:h}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(x,{variant:r,action:o,secondaryAction:d})]})]}):(0,t.jsxs)("div",{className:"flex h-14 items-center gap-3 border-b border-border px-6",children:[(0,t.jsx)(g,{}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)(m,{items:s,moduleLabel:a}),l&&(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[n&&(0,t.jsx)(n,{className:"size-4 text-foreground-secondary"}),(0,t.jsx)("h1",{className:"truncate text-sm font-medium text-foreground",children:l}),i]})]}),(0,t.jsx)(x,{variant:r,action:o,secondaryAction:d,moreMenu:c,live:u})]}),p&&!j&&(0,t.jsx)("p",{className:"border-b border-border bg-card px-6 py-2 text-xs text-foreground-secondary",children:p}),v&&(0,t.jsx)(k,{banner:v}),f&&(0,t.jsx)(N,{meta:f,sticky:b})]})}e.s(["PageHeader",()=>z],674831);let C={sm:"text-xs",md:"text-sm",lg:"text-lg",xl:"text-2xl"},I={default:"text-foreground",success:"text-[var(--success)]",warning:"text-[var(--warning)]",error:"text-[var(--error)]",muted:"text-foreground-muted"};function $({value:e,unit:s,format:a="plain",precision:n,size:l="md",tone:i="default",className:r,fallback:o="—"}){let d;return d=null==e||""===e?o:"number"==typeof e?Number.isFinite(e)?function(e,t,s=1){return"compact"===t?new Intl.NumberFormat(void 0,{notation:"compact",maximumFractionDigits:s}).format(e):"percent"===t?new Intl.NumberFormat(void 0,{style:"percent",maximumFractionDigits:s}).format(e):new Intl.NumberFormat(void 0,{maximumFractionDigits:s}).format(e)}(e,a,n):o:String(e),(0,t.jsxs)("span",{className:(0,p.cn)("inline-flex items-baseline gap-1 font-mono tabular-nums font-semibold",C[l],I[i],r),children:[(0,t.jsx)("span",{children:d}),s&&d!==o&&(0,t.jsx)("span",{className:"text-[0.65em] font-medium text-foreground-muted",children:s})]})}e.s(["MetricValue",()=>$],815821)},180627,e=>{"use strict";let t={version:"agent-skill-scoring-v2.1",minSampleSize:1,recommendedSampleSize:20,minRepeats:1,capabilityScoreNeutral:50,capabilityScoreSlope:2.5,capabilityGoodThreshold:75,capabilityRejectThreshold:50,costGoodPct:20,costWarningPct:100,costRejectPct:200,costCouplingBonus:15,costCouplingPenalty:20,costGoodThreshold:70,costRejectThreshold:40,varianceMax:.25,stabilityGoodThreshold:70,stabilityRejectThreshold:50,capabilityDataQualityLowMax:5,capabilityDataQualityHighMin:95};function s(e,t,s){return Math.max(t,Math.min(s,e))}function a(e,t=1){let s=10**t;return Math.round(e*s)/s}function n(e){if("number"==typeof e&&Number.isFinite(e)&&e>0)return e;if("string"!=typeof e)return null;let t=e.match(/(\d+(?:\.\d+)?)\s*s?/i);if(!t)return null;let s=Number(t[1]);return Number.isFinite(s)&&s>0?s:null}function l(e){return e?Array.isArray(e.runs)&&e.runs.length>0?e.runs.flatMap(l):"pass"===e.status||"fail"===e.status||"executed"===e.status||"number"==typeof e.score||"number"==typeof e.pass||"number"==typeof e.tokenUsage||"string"==typeof e.timeCost||"number"==typeof e.timeCost?[e]:[]:[]}function i(e){return"pass"===e.status||"fail"===e.status||"number"==typeof e.score||"number"==typeof e.pass}function r(e){return"number"==typeof e.score&&Number.isFinite(e.score)?e.score:"number"==typeof e.pass&&Number.isFinite(e.pass)?e.pass:"pass"===e.status?100:"fail"===e.status?0:null}function o(e){let t=r(e);return null==t?null:t>=60}function d(e){return 0===e.length?null:e.reduce((e,t)=>e+t,0)/e.length}function c(e,t){return null==e||null==t||e<=0?null:(t-e)/e*100}function u(e){let t=e.map(o).filter(e=>null!=e);return 0===t.length?null:t.filter(Boolean).length/t.length}function h(e,t=1){return null!=e&&Number.isFinite(e)?String(a(e,t)):"—"}function p(e,p){let g=p?.policy??t,m=Object.entries(e).filter(([e])=>!p?.caseIds||p.caseIds.includes(e)).map(([e,t])=>({caseId:e,aRuns:l(t.a).filter(i),bRuns:l(t.b).filter(i)})).filter(e=>e.aRuns.length>0&&e.bRuns.length>0),x=m.flatMap(e=>e.aRuns),v=m.flatMap(e=>e.bRuns),f=m.length,b=p?.repeatRounds??Math.max(1,...m.map(e=>Math.max(e.aRuns.length,e.bRuns.length,1))),y=f>=g.minSampleSize,j=x.map(r).filter(e=>null!=e),k=v.map(r).filter(e=>null!=e),N=d(j),S=d(k),w=null==N||null==S?null:S-N,z=null==w?null:s(g.capabilityScoreNeutral+w*g.capabilityScoreSlope,0,100),C=null!=N&&null!=S?N<g.capabilityDataQualityLowMax&&S<g.capabilityDataQualityLowMax?`A/B 评测均分同为 < ${g.capabilityDataQualityLowMax},数据集可能过难`:N>g.capabilityDataQualityHighMin&&S>g.capabilityDataQualityHighMin?`A/B 评测均分同为 > ${g.capabilityDataQualityHighMin},数据集可能过易,区分度不足`:void 0:void 0,I=y?null==z?"unavailable":C?"data-quality":z>=g.capabilityGoodThreshold?"good":z<g.capabilityRejectThreshold?"reject":"warning":"insufficient",$=u(x),A=u(v),E=null==$||null==A?null:(A-$)*100,R={formula:`clamp(${g.capabilityScoreNeutral} + Δscore \xd7 ${g.capabilityScoreSlope}, 0, 100)`,steps:[`avgEvalA = mean(${j.length} runs) = ${h(N)}`,`avgEvalB = mean(${k.length} runs) = ${h(S)}`,`Δscore = avgEvalB − avgEvalA = ${h(w)}`,`score = clamp(${g.capabilityScoreNeutral} + ${h(w)} \xd7 ${g.capabilityScoreSlope}, 0, 100) = ${h(z)}`],reference:"docs/skill-ab-scoring.md §3.1"},T=x.map(e=>e.tokenUsage).filter(e=>"number"==typeof e&&Number.isFinite(e)&&e>0),F=v.map(e=>e.tokenUsage).filter(e=>"number"==typeof e&&Number.isFinite(e)&&e>0),B=d(T),D=d(F),M=c(B,D),P=d(x.map(e=>n(e.timeCost)).filter(e=>null!=e)),W=d(v.map(e=>n(e.timeCost)).filter(e=>null!=e)),L=c(P,W),O=d(x.map(e=>e.toolCallCount).filter(e=>"number"==typeof e&&Number.isFinite(e))),U=d(v.map(e=>e.toolCallCount).filter(e=>"number"==typeof e&&Number.isFinite(e))),H=c(O,U),V=function(e,t){if(null==e)return null;if(e<=0)return 100;if(e<=t.costGoodPct)return 100-e/t.costGoodPct*20;if(e<=t.costWarningPct){let s=t.costWarningPct-t.costGoodPct;return 80-(e-t.costGoodPct)/s*40}if(e<=t.costRejectPct){let s=t.costRejectPct-t.costWarningPct;return 40-(e-t.costWarningPct)/s*40}return 0}(M,g),_=null==V?null:null==z?s(V,0,100):z>=g.capabilityGoodThreshold?s(V+g.costCouplingBonus,0,100):z<g.capabilityRejectThreshold?s(V-g.costCouplingPenalty,0,100):s(V,0,100),G=null==B?"A 组平均 Token 缺失或为 0,成本维度无法计算":void 0,J=y?null==_?"unavailable":_>=g.costGoodThreshold?"good":_<g.costRejectThreshold?"reject":"warning":"insufficient",Q=null==z?"无能力分参考":z>=g.capabilityGoodThreshold?`能力 ${h(z)} ≥ ${g.capabilityGoodThreshold} → +${g.costCouplingBonus}`:z<g.capabilityRejectThreshold?`能力 ${h(z)} < ${g.capabilityRejectThreshold} → −${g.costCouplingPenalty}`:`能力 ${h(z)} 居中 → \xb10`,Y={formula:`baseCost(Δtoken) + couplingByCapability`,steps:[`avgTokensA = mean(${T.length} runs) = ${h(B,0)}`,`avgTokensB = mean(${F.length} runs) = ${h(D,0)}`,`Δtoken = (avgTokensB − avgTokensA) / avgTokensA \xd7 100% = ${h(M)}%`,`baseCost = piecewise(Δtoken; 0%→100, ${g.costGoodPct}%→80, ${g.costWarningPct}%→40, ${g.costRejectPct}%→0) = ${h(V)}`,`coupling = ${Q}`,`score = clamp(baseCost + coupling, 0, 100) = ${h(_)}`],reference:"docs/skill-ab-scoring.md §4.1"},q=v.length>0?v.filter(e=>e.skillTriggered).length/v.length:null,K=m.map(e=>(function(e){if(e.length<2)return null;let t=e.reduce((e,t)=>e+t,0)/e.length;return e.reduce((e,s)=>e+(s-t)**2,0)/e.length})(e.bRuns.map(o).filter(e=>null!=e).map(e=>+!!e))).filter(e=>null!=e),X=K.length>0?d(K):null,Z=null!=X,ee=s(1-(X??0)/g.varianceMax,0,1),et=null==q?null:s(100*q*ee,0,100),es=null==q?null:s(100*q,0,100),ea=null==X?null:s(100*ee,0,100),en=y?null==et?"unavailable":et>=g.stabilityGoodThreshold?"good":et<g.stabilityRejectThreshold?null!=q&&100*q<g.stabilityRejectThreshold?"revise-description":"unreliable":"warning":"insufficient",el={formula:`invokeRate \xd7 100 \xd7 (1 − variance / ${g.varianceMax})`,steps:[`invokeRate = ${v.length>0?v.filter(e=>e.skillTriggered).length:0} / ${v.length} = ${h(null==q?null:100*q)}%`,Z?`variance = mean(per-case binary variance, ${K.length} cases) = ${h(X,3)}`:`variance = (重复轮次 < 2,按 0 处理)`,`1 − var/${g.varianceMax} = ${h(ee,3)}`,`score = ${h(null==q?null:100*q)}% \xd7 ${h(ee,3)} = ${h(et)}`],reference:"docs/skill-ab-scoring.md §5.1"},ei=[z,_,et].every(e=>null!=e),er=y&&ei?Math.round(Math.min(z,_,et)):null,eo=[];null!=z&&z<g.capabilityRejectThreshold&&eo.push({key:"capability",label:`能力分 ${h(z)} < ${g.capabilityRejectThreshold}`,ceiling:g.capabilityRejectThreshold}),null!=_&&_<g.costRejectThreshold&&eo.push({key:"cost",label:`成本分 ${h(_)} < ${g.costRejectThreshold}`,ceiling:g.costRejectThreshold}),null!=et&&et<g.stabilityRejectThreshold&&eo.push({key:"stability",label:`稳定性分 ${h(et)} < ${g.stabilityRejectThreshold}`,ceiling:g.stabilityRejectThreshold});let ed=eo[0]?.key??null,ec=null!=z&&null!=_&&null!=et&&z>=g.capabilityGoodThreshold&&_>=g.costGoodThreshold&&et>=g.stabilityGoodThreshold,eu=y?ed?"reject":ec?"direct-release":"monitor-release":"insufficient",eh={formula:"min(capability, cost, stability)",steps:[`capability = ${h(z)}`,`cost = ${h(_)}`,`stability = ${h(et)}`,ei?`total = min(...) = ${h(er,0)}`:`total = 任一维度缺失,无法出综合分`],reference:"docs/skill-ab-scoring.md §6.1"},ep=null==er?{grade:"insufficient",gradeLabel:"样本不足"}:er>=90?{grade:"excellent",gradeLabel:"优秀"}:er>=75?{grade:"good",gradeLabel:"良好"}:er>=60?{grade:"pass",gradeLabel:"合格"}:er>=40?{grade:"weak",gradeLabel:"偏弱"}:{grade:"fail",gradeLabel:"不合格"};return{policyVersion:g.version,sampleSize:f,completedPairs:f,repeatRounds:b,confidence:f>=20?"high":f>=10?"medium":"low",canScore:y,totalScore:er,totalScoreBreakdown:eh,...ep,decision:eu,decisionLabel:"insufficient"===eu?"样本不足":"reject"===eu?"capability"===ed?"打回(能力)":"cost"===ed?"打回(成本)":"打回(稳定性)":"direct-release"===eu?"直接发布":"监控发布",allowRelease:"direct-release"===eu||"monitor-release"===eu,rejectCategory:ed,hardGates:eo,capability:{avgEvalScoreA:null==N?null:a(N,1),avgEvalScoreB:null==S?null:a(S,1),deltaScore:null==w?null:a(w,1),passRateA:null==$?null:a(100*$,1),passRateB:null==A?null:a(100*A,1),deltaPp:null==E?null:a(E,1),score:null==z?null:a(z,1),verdict:I,label:"good"===I?"好":"reject"===I?"拒绝":"data-quality"===I?"数据质量问题":"insufficient"===I?"样本不足":"unavailable"===I?"无法计算":"一般",tone:"good"===I?"green":"reject"===I?"red":"insufficient"===I||"unavailable"===I?"gray":"amber",dataQualityIssue:C,breakdown:R},cost:{avgTokensA:null==B?null:Math.round(B),avgTokensB:null==D?null:Math.round(D),deltaTokenPct:null==M?null:a(M,1),avgDurationA:null==P?null:a(P,1),avgDurationB:null==W?null:a(W,1),deltaDurationPct:null==L?null:a(L,1),avgStepsA:null==O?null:a(O,1),avgStepsB:null==U?null:a(U,1),deltaStepsPct:null==H?null:a(H,1),baseCost:null==V?null:a(V,1),score:null==_?null:a(_,1),verdict:J,label:"good"===J?"好":"reject"===J?"拒绝":"insufficient"===J?"样本不足":"unavailable"===J?"无法计算":"警告",tone:"good"===J?"green":"reject"===J?"red":"insufficient"===J||"unavailable"===J?"gray":"amber",dataQualityIssue:G,breakdown:Y},stability:{invokeRate:null==q?null:a(100*q,1),variance:null==X?null:a(X,3),score:null==et?null:a(et,1),invokeScore:null==es?null:a(es,1),varianceScore:null==ea?null:a(ea,1),verdict:en,label:"good"===en?"好":"revise-description"===en?"改描述":"unreliable"===en?"不可靠":"insufficient"===en?"样本不足":"unavailable"===en?"无法计算":"警告",tone:"good"===en?"green":"revise-description"===en||"unreliable"===en?"red":"insufficient"===en||"unavailable"===en?"gray":"amber",varianceComputable:Z,dataQualityIssue:Z?void 0:"重复轮次不足,方差不可计算",breakdown:el}}}e.s(["DEFAULT_AB_SCORING_POLICY",0,t,"calculateAbScoring",()=>p])},561328,e=>{"use strict";function t(e,t){let s,a,n="string"==typeof e.task_id?e.task_id.trim():"",l="string"==typeof e.upload_id?e.upload_id.trim():"",i="string"==typeof e.dataset_id?e.dataset_id.trim():"",r="string"==typeof e.dataset_name?e.dataset_name.trim():"";return{id:(s="string"==typeof e.task_id?e.task_id.trim():"",a="string"==typeof e.upload_id?e.upload_id.trim():"",s&&a?`trace:${s}:${a}`:s?`trace:${s}`:a?`trace:upload:${a}`:`trace:index:${t}`),input:String(e.query||n||l||`trace_${t}`),datasetName:r||"Traces",datasetId:i||"traces",sourceType:"trace",sourceExecutionSessionId:n,sourceUploadId:l,sourceDatasetId:i,sourceDatasetName:r}}function s(e){if(!Array.isArray(e)||0===e.length)return null;for(let t=e.length-1;t>=0;t-=1){let s=e[t];if(!s?.sessionId)continue;let a="number"==typeof s.runIndex&&Number.isFinite(s.runIndex)?s.runIndex:null;if(null!=a)return a}return null}e.s(["buildGrayscaleTraceCase",()=>t,"findLatestRunnableRunIndex",()=>s])},366460,e=>{"use strict";var t=e.i(843476),s=e.i(271645),a=e.i(183752);let n=e.i(615408).presetEvaluators.filter(e=>"ready"===e.status).map(e=>({id:e.id,name:e.name,description:e.description,source:"preset"}));function l(){let e=new Date,t=e=>String(e).padStart(2,"0");return`评测任务 ${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}`}function i({open:e,user:i,onClose:r,onCreated:o,defaultTitle:d,defaultDescription:c,evaluators:u}){let[h,p]=(0,s.useState)(""),[g,m]=(0,s.useState)(""),[x,v]=(0,s.useState)(!1),[f,b]=(0,s.useState)("");if((0,s.useEffect)(()=>{e&&(p(d??""),m(c??""),b(""),v(!1))},[e,d,c]),!e)return null;let y=new Map([...n.map(e=>[e.id,e.name])]),j=(u||[]).filter(e=>y.has(e)),k=j.map(e=>y.get(e)||e),N=h.trim()||l(),S=j.length>0&&j.length<=5&&!x,w=async()=>{if(S){v(!0),b("");try{let e=await (0,a.apiFetch)("/api/eval/trajectory/run",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:i,placeholderOnly:!0,evaluators:j,taskTitle:N,taskDescription:g.trim()})}),t=await e.json().catch(()=>({}));if(!e.ok||!t.evaluatorRunId){b(t?.error||`创建失败 (${e.status})`),v(!1);return}o({evaluatorRunId:String(t.evaluatorRunId),taskTitle:N,taskDescription:g.trim(),selectedEvaluators:Array.isArray(t.evaluators)?t.evaluators:j,selectedEvaluatorNames:Array.isArray(t.evaluatorNames)?t.evaluatorNames:[]})}catch(e){b(e instanceof Error?e.message:String(e)),v(!1)}}};return(0,t.jsx)("div",{onClick:e=>{e.target===e.currentTarget&&r()},style:{position:"fixed",inset:0,zIndex:1100,background:"rgba(24,24,27,.45)",backdropFilter:"blur(2px)",display:"flex",alignItems:"flex-start",justifyContent:"center",paddingTop:"10vh"},children:(0,t.jsxs)("div",{style:{background:"#fff",borderRadius:12,boxShadow:"0 16px 48px rgba(0,0,0,.18)",width:580,maxWidth:"calc(100vw - 32px)",overflow:"hidden",display:"flex",flexDirection:"column",maxHeight:"80vh"},children:[(0,t.jsxs)("div",{style:{padding:"14px 18px",borderBottom:"1px solid #E4E4E7",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,t.jsx)("h3",{style:{margin:0,fontSize:14,fontWeight:600,color:"#18181B"},children:"+ 新建评测任务"}),(0,t.jsx)("button",{type:"button",onClick:r,style:{background:"transparent",border:"none",color:"#71717A",fontSize:18,cursor:"pointer",padding:"2px 8px",lineHeight:1,borderRadius:4},"aria-label":"关闭",children:"×"})]}),(0,t.jsxs)("div",{style:{padding:18,overflowY:"auto"},children:[(0,t.jsxs)("div",{style:{marginBottom:14},children:[(0,t.jsxs)("label",{style:{display:"block",fontSize:12,fontWeight:600,color:"#18181B",marginBottom:5},children:["任务名 ",(0,t.jsx)("span",{style:{color:"#B91C1C",marginLeft:2},children:"*"})]}),(0,t.jsx)("input",{type:"text",value:h,onChange:e=>p(e.target.value),placeholder:`默认: ${l()}`,maxLength:60,style:{width:"100%",padding:"7px 11px",borderRadius:6,border:"1px solid #D4D4D8",fontSize:13,color:"#18181B",outline:"none",fontFamily:"inherit"},onFocus:e=>e.currentTarget.style.borderColor="#4F46E5",onBlur:e=>e.currentTarget.style.borderColor="#D4D4D8"}),(0,t.jsxs)("div",{style:{fontSize:11,color:"#71717A",marginTop:4},children:["为这个评测任务取个名字, 留空将使用默认时间戳 (",h.length,"/60)"]})]}),(0,t.jsxs)("div",{style:{marginBottom:14},children:[(0,t.jsx)("label",{style:{display:"block",fontSize:12,fontWeight:600,color:"#18181B",marginBottom:5},children:"任务描述"}),(0,t.jsx)("textarea",{value:g,onChange:e=>m(e.target.value),placeholder:"可选: 任务背景 / 目标 / 关注点...",maxLength:500,rows:3,style:{width:"100%",padding:"7px 11px",borderRadius:6,border:"1px solid #D4D4D8",fontSize:12.5,color:"#18181B",outline:"none",fontFamily:"inherit",resize:"vertical",minHeight:60},onFocus:e=>e.currentTarget.style.borderColor="#4F46E5",onBlur:e=>e.currentTarget.style.borderColor="#D4D4D8"})]}),(0,t.jsxs)("div",{style:{marginBottom:10},children:[(0,t.jsxs)("label",{style:{display:"block",fontSize:12,fontWeight:600,color:"#18181B",marginBottom:5},children:["评估器",(0,t.jsxs)("span",{style:{fontWeight:400,color:"#71717A",fontSize:11,marginLeft:6},children:["(取自上方配置, 共 ",k.length," 个)"]})]}),k.length>0?(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:k.map((e,s)=>(0,t.jsx)("span",{style:{padding:"3px 9px",borderRadius:99,background:"#EEF2FF",color:"#4F46E5",fontSize:11.5,fontWeight:600,border:"1px solid rgba(79,70,229,.2)"},children:e},`${e}_${s}`))}):(0,t.jsx)("div",{style:{padding:"8px 11px",background:"#FEF2F2",color:"#B91C1C",border:"1px solid #FECACA",borderRadius:6,fontSize:12},children:"配置区未选择评估器, 请先在上方「评估器」下拉里勾选至少 1 个。"}),(0,t.jsx)("div",{style:{fontSize:11,color:"#71717A",marginTop:5,lineHeight:1.5},children:"ⓘ 任务下所有评测都会用这些评估器跑。想改评估器请在上方配置区调整。"})]}),f&&(0,t.jsx)("div",{style:{padding:"8px 11px",background:"#FEF2F2",color:"#B91C1C",border:"1px solid #FECACA",borderRadius:6,fontSize:12,marginTop:10},children:f})]}),(0,t.jsxs)("div",{style:{padding:"11px 18px",borderTop:"1px solid #E4E4E7",display:"flex",justifyContent:"flex-end",gap:8,background:"#FAFAFA"},children:[(0,t.jsx)("button",{type:"button",onClick:r,disabled:x,style:{padding:"6px 12px",borderRadius:6,border:"1px solid #D4D4D8",background:"#fff",fontSize:12.5,fontWeight:500,color:"#52525B",cursor:x?"not-allowed":"pointer",opacity:x?.5:1},children:"取消"}),(0,t.jsx)("button",{type:"button",onClick:w,disabled:!S,style:{padding:"6px 14px",borderRadius:6,border:"1px solid #4F46E5",background:S?"#4F46E5":"#A5A0E4",fontSize:12.5,fontWeight:600,color:"#fff",cursor:S?"pointer":"not-allowed"},children:x?"创建中...":"创建任务"})]})]})})}e.s(["NewEvaluationBatchDialog",()=>i])},937183,e=>{"use strict";var t=e.i(843476),s=e.i(271645),a=e.i(618566),n=e.i(674831),l=e.i(51907),i=e.i(519455),r=e.i(967489),o=e.i(815821),d=e.i(994004),c=e.i(21357),u=e.i(482022),h=e.i(77071),p=e.i(726526),g=e.i(927643),m=e.i(183752),x=e.i(180627),v=e.i(561328),f=e.i(366460),b=e.i(615408);function y(){return(0,t.jsx)(s.Suspense,{fallback:null,children:(0,t.jsx)(L,{})})}function j(e){return JSON.stringify({skillId:e.skillId,versionAId:e.versionAId,versionBId:e.versionBId,sourceMode:e.sourceMode,selectedDatasetId:e.selectedDatasetId,linkedDatasetIds:[...e.linkedDatasetIds].sort(),selectedTraceAId:e.selectedTraceAId,selectedTraceBId:e.selectedTraceBId,repeatRounds:e.repeatRounds,agentMaxConcurrency:e.agentMaxConcurrency,autoEval:e.autoEval,recordTriggerDetails:e.recordTriggerDetails,evaluatorIds:[...e.evaluatorIds].sort(),caseIds:[...e.caseIds].sort()})}function k(e){return Object.values(e).some(e=>[e.a,e.b].some(e=>"running"===e.status||"evaluating"===e.status||(e.runs||[]).some(e=>"running"===e.status||"evaluating"===e.status)))}function N(e){return Object.values(e).some(e=>[e.a,e.b].some(e=>(e.runs||[]).some(e=>"executed"===e.status&&!!e.sessionId&&!e.evaluatorRunId&&"number"!=typeof e.score)))}let S={pending:{bg:"rgba(100,116,139,.10)",fg:"#475569"},running:{bg:"rgba(37,99,235,.10)",fg:"#2563EB",pulse:!0},done:{bg:"rgba(22,163,74,.10)",fg:"#15803D",icon:"✓"},fail:{bg:"rgba(220,38,38,.10)",fg:"#B91C1C",icon:"⚠"}};function w({trigger:e,content:a}){let[n,l]=(0,s.useState)(!1),i=(0,s.useRef)(null),r=()=>{i.current&&(clearTimeout(i.current),i.current=null)},o=()=>{r(),i.current=setTimeout(()=>l(!1),1e3)};return(0,s.useEffect)(()=>()=>{i.current&&clearTimeout(i.current)},[]),(0,t.jsxs)("span",{style:{position:"relative",display:"inline-block"},onMouseEnter:()=>{r(),l(!0)},onMouseLeave:o,children:[e,n&&(0,t.jsx)("div",{onMouseEnter:r,onMouseLeave:o,style:{position:"absolute",top:"100%",left:0,marginTop:6,zIndex:50,background:"#1F2937",color:"#F9FAFB",padding:"10px 12px",borderRadius:6,fontSize:11,lineHeight:1.5,maxWidth:480,minWidth:240,whiteSpace:"pre-wrap",wordBreak:"break-word",userSelect:"text",cursor:"text",boxShadow:"0 4px 16px rgba(0,0,0,0.25)"},children:a})]})}function z({label:e,tone:s}){let a=S[s];return(0,t.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:12,fontWeight:600,color:a.fg,whiteSpace:"nowrap"},children:[a.pulse&&(0,t.jsx)("span",{style:{display:"inline-block",width:6,height:6,borderRadius:"50%",background:"currentColor",animation:"pulse 1.5s ease-in-out infinite"}}),a.icon&&(0,t.jsx)("span",{children:a.icon}),e]})}function C({decisionReady:e,abScoring:s,sampleSize:a,repeatRounds:n,recommendedSampleSize:l,policy:i,decisionTitle:r,decisionAdvice:o,onViewTrace:d,locale:c,toneColor:u,toneBg:h}){let p,g,m,x,v=e&&"insufficient"!==s.decision?"reject"===s.decision?"red":"direct-release"===s.decision?"green":"amber":"gray",f=u(v),b=h(v),y=(()=>{if(!e)return null;if(s.rejectCategory)return s.rejectCategory;if(null==s.totalScore)return null;let t=[{key:"capability",v:s.capability.score},{key:"cost",v:s.cost.score},{key:"stability",v:s.stability.score}].filter(e=>null!=e.v);return 0===t.length?null:t.sort((e,t)=>e.v-t.v)[0].key})(),j=e=>"capability"===e?s.capability.tone:"cost"===e?s.cost.tone:s.stability.tone,k=(()=>{if(!e)return"";if("capability"===y){let e=s.capability.avgEvalScoreA,t=s.capability.avgEvalScoreB,a=s.capability.deltaScore,n=s.hardGates.find(e=>"capability"===e.key),l=[];return null!=e&&null!=t&&l.push(`评测均分由 ${e} → ${t}`),null!=a&&l.push(`Δ ${a>0?"+":""}${a}`),n&&l.push(`命中 hard gate (< ${i.capabilityRejectThreshold})`),l.join(", ")}if("cost"===y){let e=s.cost.deltaTokenPct,t=s.cost.deltaDurationPct,a=s.capability.score,n=null==a?0:a>=i.capabilityGoodThreshold?i.costCouplingBonus:a<i.capabilityRejectThreshold?-i.costCouplingPenalty:0,l=[];return null!=e&&l.push(`ΔToken ${e>0?"+":""}${e}%`),null!=t&&l.push(`耗时 ${t>0?"+":""}${t}%`),0!==n&&l.push(`能力耦合 ${n>0?"+":""}${n}`),l.join(", ")}if("stability"===y){let e=s.stability.invokeRate,t=s.stability.variance,a=[];return null!=e&&a.push(`触发率 ${e}%`),a.push(null==t?`方差 — (R=${n})`:`方差 ${t}`),a.join(", ")}return""})(),N=e&&a<l?`样本量偏少, 建议补到 N≥${l}、R≥${Math.max(i.minRepeats,3)}`:"",S=({value:e,tone:s})=>{let a=null==e?0:Math.max(0,Math.min(100,e));return(0,t.jsxs)("div",{style:{position:"relative",height:8,background:"#E7E5E4",borderRadius:999,overflow:"hidden"},children:[(0,t.jsx)("div",{style:{width:`${Math.max(2,a)}%`,height:"100%",background:u(s),borderRadius:999}}),(0,t.jsx)("span",{style:{position:"absolute",left:"50%",top:0,bottom:0,width:1,background:"rgba(0,0,0,0.18)"}}),(0,t.jsx)("span",{style:{position:"absolute",left:"75%",top:0,bottom:0,width:1,background:"rgba(0,0,0,0.18)"}})]})},w=({value:e,tone:s})=>(0,t.jsxs)("div",{style:{fontFamily:"ui-monospace, monospace",fontVariantNumeric:"tabular-nums",textAlign:"right",whiteSpace:"nowrap"},children:[(0,t.jsx)("span",{style:{fontSize:18,fontWeight:800,color:u(s)},children:null==e?"—":e}),(0,t.jsx)("span",{style:{fontSize:11,color:"#A8A29E",marginLeft:4},children:"/ 100"})]}),z=({tone:e,label:s})=>(0,t.jsx)("span",{style:{display:"inline-block",padding:"1px 7px",borderRadius:4,fontSize:10,fontWeight:700,color:u(e),background:h(e)},children:s}),C=[{key:"capability",label:"能力",subtitle:"Skill 让 Agent 多做成了多少事",score:s.capability.score,tone:s.capability.tone,verdictLabel:s.capability.label,evidence:e?(0,t.jsxs)(t.Fragment,{children:["A ",s.capability.avgEvalScoreA??"—",(0,t.jsx)("span",{style:{color:"#A8A29E",margin:"0 4px"},children:"→"}),"B ",s.capability.avgEvalScoreB??"—",null!=s.capability.deltaScore&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{style:{color:"#A8A29E",margin:"0 8px"},children:"·"}),"Δscore ",s.capability.deltaScore>0?"+":"",s.capability.deltaScore]})]}):"—"},{key:"cost",label:"成本",subtitle:"多花了多少 token / 时间",score:s.cost.score,tone:s.cost.tone,verdictLabel:s.cost.label,evidence:e?(p=s.cost.deltaTokenPct,g=s.cost.deltaDurationPct,x=null==(m=s.capability.score)?0:m>=i.capabilityGoodThreshold?i.costCouplingBonus:m<i.capabilityRejectThreshold?-i.costCouplingPenalty:0,(0,t.jsxs)(t.Fragment,{children:["ΔToken ",null==p?"—":`${p>0?"+":""}${p}%`,(0,t.jsx)("span",{style:{color:"#A8A29E",margin:"0 8px"},children:"·"}),"耗时 ",null==g?"—":`${g>0?"+":""}${g}%`,0!==x&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{style:{color:"#A8A29E",margin:"0 8px"},children:"·"}),"能力耦合 ",x>0?"+":"",x]})]})):"—"},{key:"stability",label:"稳定性",subtitle:"该触发时触发了吗, 结果稳吗",score:s.stability.score,tone:s.stability.tone,verdictLabel:s.stability.label,evidence:e?(0,t.jsxs)(t.Fragment,{children:["触发率 ",null==s.stability.invokeRate?"—":`${s.stability.invokeRate}%`,(0,t.jsx)("span",{style:{color:"#A8A29E",margin:"0 8px"},children:"·"}),"方差 ",null==s.stability.variance?`— (R=${n})`:s.stability.variance]}):"—"}];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{style:{border:`1px solid ${"gray"===v?"#E7E5E4":f}`,background:b,borderRadius:10,padding:"14px 18px",display:"grid",gridTemplateColumns:"minmax(170px, auto) 1fr auto",gap:18,alignItems:"center"},children:[(0,t.jsxs)("div",{style:{borderRight:"1px solid rgba(0,0,0,0.08)",paddingRight:16},children:[(0,t.jsx)("div",{style:{fontSize:10,color:"#888780",fontFamily:"ui-monospace, monospace",fontWeight:700,letterSpacing:1.5},children:"DECISION"}),(0,t.jsx)("div",{style:{fontSize:26,fontWeight:800,color:f,lineHeight:1.05,marginTop:2},children:r}),(0,t.jsxs)("div",{style:{fontSize:11,color:"#5F5E5A",marginTop:4,fontFamily:"ui-monospace, monospace",fontVariantNumeric:"tabular-nums"},children:["综合 ",(0,t.jsx)("span",{style:{fontWeight:700,color:f},children:e&&null!=s.totalScore?s.totalScore:"—"})," / 100"]})]}),(0,t.jsxs)("div",{style:{fontSize:13,lineHeight:1.65,color:"#374151"},children:[y&&k&&(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{style:{color:"#5F5E5A"},children:"短板在 "}),(0,t.jsx)("span",{style:{display:"inline-block",padding:"1px 7px",borderRadius:4,fontSize:11,fontWeight:700,color:u(j(y)),background:h(j(y))},children:"capability"===y?"能力":"cost"===y?"成本":"稳定性"}),(0,t.jsx)("span",{style:{color:"#5F5E5A"},children:" · "}),(0,t.jsx)("span",{children:k})]}),(0,t.jsxs)("div",{style:{marginTop:y&&k?4:0,color:"#5F5E5A"},children:[(0,t.jsx)("span",{style:{color:"#1F2937",fontWeight:700},children:"下一步"}),(0,t.jsx)("span",{style:{color:"#A8A29E",margin:"0 6px"},children:"·"}),(0,t.jsx)("span",{children:o}),N&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{style:{color:"#A8A29E",margin:"0 6px"},children:";"}),(0,t.jsx)("span",{style:{color:"#BA7517"},children:N})]})]})]}),(0,t.jsx)("div",{style:{display:"flex",gap:8},children:(0,t.jsx)("button",{onClick:d,style:{padding:"7px 14px",borderRadius:6,border:"1px solid #D6D3D1",background:"white",color:"#1F2937",fontSize:12,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},children:"zh"===c?"查看 Trace":"View Trace"})})]}),(0,t.jsxs)("div",{style:{border:"1px solid #E7E5E4",borderRadius:10,overflow:"hidden",background:"white"},children:[(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(220px, 1.6fr) 90px minmax(180px, 2fr) minmax(220px, 1.8fr)",gap:16,padding:"8px 16px",background:"#FAFAF7",borderBottom:"1px solid #E7E5E4",fontSize:10,color:"#888780",fontFamily:"ui-monospace, monospace",fontWeight:700,letterSpacing:1},children:[(0,t.jsx)("div",{children:"维度"}),(0,t.jsx)("div",{style:{textAlign:"right"},children:"分数"}),(0,t.jsxs)("div",{style:{position:"relative"},children:["0 ",(0,t.jsx)("span",{style:{position:"absolute",left:"50%",transform:"translateX(-50%)"},children:"· 50 ·"}),(0,t.jsx)("span",{style:{position:"absolute",left:"75%",transform:"translateX(-50%)"},children:"75"}),(0,t.jsx)("span",{style:{float:"right"},children:"100"})]}),(0,t.jsx)("div",{children:"关键证据"})]}),C.map(e=>(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(220px, 1.6fr) 90px minmax(180px, 2fr) minmax(220px, 1.8fr)",gap:16,padding:"12px 16px",borderBottom:"1px solid #F5F4EE",alignItems:"center"},children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,t.jsx)("span",{style:{fontSize:14,fontWeight:700,color:"#1F2937"},children:e.label}),(0,t.jsx)(z,{tone:e.tone,label:e.verdictLabel})]}),(0,t.jsx)("div",{style:{fontSize:11,color:"#888780",marginTop:2},children:e.subtitle})]}),(0,t.jsx)(w,{value:e.score,tone:e.tone}),(0,t.jsx)(S,{value:e.score,tone:e.tone}),(0,t.jsx)("div",{style:{fontSize:12,color:"#374151",fontFamily:"ui-monospace, monospace",fontVariantNumeric:"tabular-nums",overflow:"hidden",textOverflow:"ellipsis"},children:e.evidence})]},e.key))]}),(0,t.jsxs)("details",{style:{border:"1px solid #E7E5E4",borderRadius:10,overflow:"hidden",background:"white"},open:!!e&&"reject"===s.decision,children:[(0,t.jsxs)("summary",{style:{cursor:"pointer",padding:"10px 16px",display:"flex",alignItems:"center",gap:8,background:"#FAFAF7",borderBottom:"1px solid #E7E5E4",fontSize:12,fontWeight:700,color:"#374151",userSelect:"none",listStyle:"none"},children:[(0,t.jsx)("span",{style:{color:"#A8A29E",fontFamily:"ui-monospace, monospace",fontSize:11},children:"▸"}),(0,t.jsx)("span",{children:"原始数据与计算公式"}),(0,t.jsx)("span",{style:{flex:1}}),(0,t.jsx)("span",{style:{color:"#A8A29E",fontFamily:"ui-monospace, monospace",fontSize:11,fontWeight:400},children:"min(capability, cost, stability)"})]}),(0,t.jsxs)("div",{style:{padding:16,display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:12},children:[(0,t.jsx)(I,{label:"能力",tag:"capability",tone:s.capability.tone,rows:[{k:"评测均分",a:s.capability.avgEvalScoreA,b:s.capability.avgEvalScoreB,aFmt:e=>null==e?"—":String(e),bFmt:e=>null==e?"—":String(e)},{k:"通过率",a:s.capability.passRateA,b:s.capability.passRateB,aFmt:e=>null==e?"—":`${e}%`,bFmt:e=>null==e?"—":`${e}%`}],delta:{label:"Δscore",value:null==s.capability.deltaScore?"—":`${s.capability.deltaScore>0?"+":""}${s.capability.deltaScore}`},breakdown:s.capability.breakdown,dataQualityIssue:s.capability.dataQualityIssue,toneColor:u,toneBg:h}),(0,t.jsx)(I,{label:"成本",tag:"cost",tone:s.cost.tone,rows:[{k:"Token",a:s.cost.avgTokensA,b:s.cost.avgTokensB,aFmt:e=>null==e?"—":e.toLocaleString(),bFmt:e=>null==e?"—":e.toLocaleString()},{k:"耗时",a:s.cost.avgDurationA,b:s.cost.avgDurationB,aFmt:e=>null==e?"—":`${e}s`,bFmt:e=>null==e?"—":`${e}s`},{k:"步数",a:s.cost.avgStepsA,b:s.cost.avgStepsB,aFmt:e=>null==e?"—":String(e),bFmt:e=>null==e?"—":String(e)}],delta:{label:"ΔToken",value:null==s.cost.deltaTokenPct?"—":`${s.cost.deltaTokenPct>0?"+":""}${s.cost.deltaTokenPct}%`},breakdown:s.cost.breakdown,dataQualityIssue:s.cost.dataQualityIssue,toneColor:u,toneBg:h}),(0,t.jsx)(I,{label:"稳定性",tag:"stability",tone:s.stability.tone,rows:[{k:"触发率",a:null,b:s.stability.invokeRate,aFmt:()=>"—",bFmt:e=>null==e?"—":`${e}%`,oneSide:!0},{k:"方差",a:null,b:s.stability.variance,aFmt:()=>"—",bFmt:e=>null==e?`— (R=${n})`:String(e),oneSide:!0}],delta:null,breakdown:s.stability.breakdown,dataQualityIssue:s.stability.dataQualityIssue,toneColor:u,toneBg:h}),(0,t.jsx)(I,{label:"综合 (短板原则)",tag:"verdict",tone:v,rows:[],delta:null,breakdown:s.totalScoreBreakdown,dataQualityIssue:s.hardGates.length>0?`命中 hard gate:${s.hardGates.map(e=>e.label).join("、")}`:void 0,toneColor:u,toneBg:h})]})]}),(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:10,color:"#A8A29E",fontFamily:"ui-monospace, monospace",paddingTop:2},children:[(0,t.jsxs)("span",{children:["SAMPLE N=",a,l?` / 推荐 ≥${l}`:""," · 重复 ",n," 轮 · 置信度 ","high"===s.confidence?"高":"medium"===s.confidence?"中":"低"]}),(0,t.jsxs)("span",{children:["策略:",s.policyVersion]})]})]})}function I({label:e,tag:s,tone:a,rows:n,delta:l,breakdown:i,dataQualityIssue:r,toneColor:o,toneBg:d}){return(0,t.jsxs)("div",{style:{border:"1px solid #E7E5E4",borderRadius:8,background:"#FAFAF7",overflow:"hidden"},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"8px 12px",background:"white",borderBottom:"1px solid #E7E5E4"},children:[(0,t.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"#1F2937"},children:e}),(0,t.jsx)("span",{style:{fontSize:10,color:o(a),background:d(a),padding:"1px 7px",borderRadius:4,fontFamily:"ui-monospace, monospace",fontWeight:700,letterSpacing:.5},children:s})]}),(0,t.jsxs)("div",{style:{padding:"10px 12px",display:"flex",flexDirection:"column",gap:6},children:[n.map(e=>(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"64px 1fr 1fr",gap:8,alignItems:"baseline",fontSize:12},children:[(0,t.jsx)("span",{style:{color:"#5F5E5A"},children:e.k}),(0,t.jsx)("span",{style:{fontFamily:"ui-monospace, monospace",fontVariantNumeric:"tabular-nums",color:"#374151",textAlign:"right"},children:e.oneSide?"":(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{style:{color:"#A8A29E",marginRight:6},children:"A"}),e.aFmt(e.a)]})}),(0,t.jsxs)("span",{style:{fontFamily:"ui-monospace, monospace",fontVariantNumeric:"tabular-nums",color:"#374151",textAlign:"right"},children:[(0,t.jsx)("span",{style:{color:"#A8A29E",marginRight:6},children:"B"}),e.bFmt(e.b)]})]},e.k)),l&&(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"64px 1fr",gap:8,alignItems:"baseline",fontSize:12,marginTop:2,paddingTop:6,borderTop:"1px dashed #E7E5E4"},children:[(0,t.jsx)("span",{style:{color:"#5F5E5A"},children:l.label}),(0,t.jsx)("span",{style:{fontFamily:"ui-monospace, monospace",fontVariantNumeric:"tabular-nums",fontWeight:700,color:o(a),textAlign:"right"},children:l.value})]}),(0,t.jsx)("pre",{style:{margin:"8px 0 0",padding:"8px 10px",background:"white",border:"1px solid #E7E5E4",borderRadius:4,fontFamily:"ui-monospace, monospace",fontVariantNumeric:"tabular-nums",fontSize:10.5,lineHeight:1.65,color:"#374151",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:i.steps.join("\n")}),r&&(0,t.jsx)("div",{style:{fontSize:11,color:"#BA7517",marginTop:2},children:r}),(0,t.jsx)("div",{style:{fontSize:10,color:"#A8A29E",fontFamily:"ui-monospace, monospace",textAlign:"right"},children:i.reference})]})]})}let $=[...b.presetEvaluators.filter(e=>"ready"===e.status).map(e=>({id:e.id,name:e.name}))],A=new Set($.map(e=>e.id));function E(e){return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}function R(e,t){let s=E((Array.isArray(e)?e:e?[e]:[]).map(e=>String(e||"").trim())).filter(e=>A.has(e));if(s.length>0)return s;let a=String(t||"").trim();return a&&A.has(a)?[a]:[]}function T(e,t){let s=new Map((e?.evaluations||[]).map(e=>[e.evaluatorId,e]));return t.filter(e=>{let t=s.get(e);return!t||"failed"===t.status||"pending"===t.status})}let F=()=>(0,t.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,t.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),B=()=>(0,t.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"currentColor",children:(0,t.jsx)("polygon",{points:"5 3 19 12 5 21 5 3"})}),D=()=>(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M6 9H4.5a2.5 2.5 0 0 1 0-5H6M18 9h1.5a2.5 2.5 0 0 0 0-5H18M4 22h16M10 14.66V17c0 .55-.45 1-1 1H4v2h16v-2h-5c-.55 0-1-.45-1-1v-2.34M12 2a4 4 0 0 0-4 4v5a4 4 0 0 0 8 0V6a4 4 0 0 0-4-4z"})}),M=()=>(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("polyline",{points:"20 6 9 17 4 12"})}),P=()=>(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,t.jsx)("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})]}),W=()=>(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})});function L(){let{locale:e}=(0,p.useLocale)();(0,a.useRouter)();let[l,i]=(0,s.useState)(0),[r,o]=(0,s.useState)(0),c=(0,s.useRef)(null);return(0,t.jsxs)("div",{className:"debug-root",children:[(0,t.jsx)(n.PageHeader,{variant:"management",breadcrumbs:[{label:"zh"===e?"Skills 评测":"Skill Evaluation",href:"/skill-eval"},{label:"zh"===e?"调测分析":"Debug & Analysis"}],title:"zh"===e?"A/B 测试":"A/B Test",action:{label:"zh"===e?"新建任务":"New Task",icon:h.Plus,onClick:()=>i(e=>e+1)},secondaryAction:{label:"zh"===e?"历史任务":"History",icon:d.History,onClick:()=>o(e=>e+1)}}),(0,t.jsx)("div",{className:"d-layout",style:{background:"var(--background-secondary)"},children:(0,t.jsx)("div",{className:"d-main-area",ref:c,style:{padding:0},children:(0,t.jsx)(O,{newTaskTrigger:l,historyPanelTrigger:r})})})]})}function O({newTaskTrigger:e,historyPanelTrigger:n,pageTitle:d,pageDescription:h,pageBadge:b,onBack:y,onOptimize:S,parentSkillId:I,parentSkillVersion:A,skillSelectorSlot:L,hifi:O=!1}){var U,H;let V,_,G,J,Q,Y,q,K,X,{locale:Z}=(0,p.useLocale)(),{user:ee}=(0,g.useAuth)(),et=(0,a.useRouter)(),[es,ea]=(0,s.useState)(null),[en,el]=(0,s.useState)([]),[ei,er]=(0,s.useState)(!1),[eo,ed]=(0,s.useState)(""),[ec,eu]=(0,s.useState)(""),[eh,ep]=(0,s.useState)(!1),eg=(0,s.useRef)(null),[em,ex]=(0,s.useState)([]),[ev,ef]=(0,s.useState)([]),[eb,ey]=(0,s.useState)([]),[ej,ek]=(0,s.useState)(""),[eN,eS]=(0,s.useState)(""),[ew,ez]=(0,s.useState)(""),[eC,eI]=(0,s.useState)("dataset"),[e$,eA]=(0,s.useState)(""),[eE,eR]=(0,s.useState)(!1),[eT,eF]=(0,s.useState)(""),[eB,eD]=(0,s.useState)(1),[eM,eP]=(0,s.useState)(4),[eW,eL]=(0,s.useState)(null),[eO,eU]=(0,s.useState)(null),[eH,eV]=(0,s.useState)("7d"),[e_,eG]=(0,s.useState)([]),[eJ,eQ]=(0,s.useState)(!1),[eY,eq]=(0,s.useState)(""),[eK,eX]=(0,s.useState)(""),[eZ,e0]=(0,s.useState)(""),[e1,e2]=(0,s.useState)([]),[e5,e4]=(0,s.useState)(!1),[e6,e8]=(0,s.useState)([]),[e7,e3]=(0,s.useState)(!1),[e9,te]=(0,s.useState)(""),[tt,ts]=(0,s.useState)(!1),[ta,tn]=(0,s.useState)(!1),[tl,ti]=(0,s.useState)(!1),[tr,to]=(0,s.useState)({config:!1,exec:!1,result:!1}),[td,tc]=(0,s.useState)(!1),tu=(0,s.useCallback)(e=>{tc(!0),to(t=>({...t,[e]:!t[e]}))},[]),[th,tp]=(0,s.useState)(!1),[tg,tm]=(0,s.useState)(!1),[tx,tv]=(0,s.useState)(!1),[tf,tb]=(0,s.useState)(!1),[ty,tj]=(0,s.useState)(""),[tk,tN]=(0,s.useState)(""),[tS,tw]=(0,s.useState)([]),[tz,tC]=(0,s.useState)({}),[tI,t$]=(0,s.useState)([]),[tA,tE]=(0,s.useState)(!1),[tR,tT]=(0,s.useState)(()=>new Set),tF=(0,s.useRef)(tR),tB=(e,t,s)=>`${e}::${t}::${s}`,tD=e=>{if(tF.current.has(e))return!1;let t=new Set(tF.current);return t.add(e),tF.current=t,tT(t),!0},tM=e=>{if(!tF.current.has(e))return;let t=new Set(tF.current);t.delete(e),tF.current=t,tT(t)},[tP,tW]=(0,s.useState)(""),[tL,tO]=(0,s.useState)(""),[tU,tH]=(0,s.useState)("all"),tV=(0,s.useRef)({}),t_="__NONE__",tG=()=>{let e=new Date;return`A/B测试 ${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}-${String(e.getHours()).padStart(2,"0")}`},tJ="zh"===Z?"点击命名任务…":"Name this task…",tQ=e=>{ea(null),t1.current=null,t0.current=null;{let e=new URL(window.location.href);e.searchParams.has("task")&&(e.searchParams.delete("task"),window.history.replaceState(window.history.state,"",e.toString()))}ed(tG()),eu(""),ek(e),eS(t_),ez(""),eI("dataset"),eA(""),eF(""),e8([]),t$([]),eV("7d"),eq(""),eX(""),tC({}),t2.current={},tE(!1),t5.current=!1,tW(""),tj(""),tN(""),tw([]),e0(""),e2([]),t8.current=null,er(!0)},tY=(e,t,s,a)=>{if(!t)return!1;let n=e.configJson||{};return(e.skillId||n.skillId||"")===t&&(s?(e.skillVersionId||n.versionBId||"")===s:null==a||Number(e.skillVersion)===Number(a))},tq=e=>{let t=e.configJson?.latestResultAt,s="string"==typeof t?Date.parse(t):0;if(Number.isFinite(s)&&s>0)return s;let a=Object.values(e.caseStatesJson||{}).flatMap(e=>["a","b"].flatMap(t=>(e?.[t]?.runs||[]).map(e=>"string"==typeof e.completedAt?Date.parse(e.completedAt):0))).filter(e=>Number.isFinite(e)&&e>0);return a.length>0?Math.max(...a):Date.parse(e.createdAt||"")||0},tK=e=>Object.values(e.caseStatesJson||{}).some(e=>["a","b"].some(t=>{let s=e?.[t];return!!(s&&("pending"!==s.status||(s.runs?.length||0)>0))})),tX=(e,t,s,a)=>{let n=e.filter(e=>tY(e,t,s,a));if(0!==n.length)return n.sort((e,t)=>{let s=Number(!!t.activeRun)-Number(!!e.activeRun);if(0!==s)return s;let a=Number(tK(t))-Number(tK(e));return 0!==a?a:tq(t)-tq(e)})[0]},tZ=e=>{if(ea(e),t0.current=e?.id??null,e?.id){let t=new URL(window.location.href);t.searchParams.set("task",e.id),window.history.replaceState(window.history.state,"",t.toString())}tb(!1),er(!1),ed("");let t=e.configJson||{},s=t.skillId||e.skillId||"";s&&ek(s),eI("dataset"),eD(t.repeatRounds||1),eP(t.agentMaxConcurrency||4);let a=R(t.evaluators||t.evaluationBatchEvaluators,t.evaluatorId||"");e2(a),e0(a[0]||""),eu(t.taskDescription||"");let n=Array.isArray(t.linkedDatasetIds)?t.linkedDatasetIds:[];eA(t.selectedDatasetId||n[0]||""),eF(t.selectedCaseId||""),e8(n),t$(Array.isArray(t.checkedCaseIds)?t.checkedCaseIds:Array.isArray(t.selectedCaseIds)?t.selectedCaseIds:[]),eV(t.traceTimeRange||"7d"),eq(t.selectedTraceAId||""),eX(t.selectedTraceBId||""),tj(t.evaluationBatchId||""),tN(t.evaluationBatchTitle||""),tw(Array.isArray(t.evaluationBatchEvaluators)?t.evaluationBatchEvaluators:[]),t.versionAId||t.versionBId?t8.current={versionAId:t.versionAId,versionBId:t.versionBId}:t8.current=null;let l=e.caseStatesJson||{},i={};tC(i=l.a||l.b?{[t.selectedCaseId||"legacy-case"]:{a:l.a||{status:"pending"},b:l.b||{status:"pending"}}}:l),t2.current=i,tE(!!e.activeRun||k(i)||N(i)),tW(Object.keys(i).length>0?j({skillId:s,versionAId:t.versionAId||"",versionBId:t.versionBId||"",sourceMode:"dataset",selectedDatasetId:t.selectedDatasetId||"",linkedDatasetIds:t.linkedDatasetIds||[],selectedTraceAId:t.selectedTraceAId||"",selectedTraceBId:t.selectedTraceBId||"",repeatRounds:t.repeatRounds||1,agentMaxConcurrency:t.agentMaxConcurrency||4,autoEval:!0,recordTriggerDetails:!0,evaluatorIds:R(t.evaluators||t.evaluationBatchEvaluators,t.evaluatorId||""),caseIds:Object.keys(i)}):"")},t0=(0,s.useRef)(void 0);(0,s.useEffect)(()=>{ee&&(0,m.apiFetch)(`/api/debug/grayscale-tasks?user=${encodeURIComponent(ee)}`).then(e=>e.json()).then(e=>{if(Array.isArray(e)&&e.length>0){el(e),void 0===t0.current&&(t0.current=new URLSearchParams(window.location.search).get("task"));let t=(t0.current?e.find(e=>e.id===t0.current):null)||(I?tX(e,I,void 0,A):[...e].sort((e,t)=>tq(t)-tq(e))[0]);t?tZ(t):I?tQ(I):tQ("")}else tQ(I||"")}).catch(()=>{tQ(I||"")})},[ee,I,A]);let t1=(0,s.useRef)(null);(0,s.useEffect)(()=>{t1.current=es},[es]);let t2=(0,s.useRef)(tz);(0,s.useEffect)(()=>{t2.current=tz},[tz]),(0,s.useEffect)(()=>{if(0===tF.current.size)return;let e=new Set(tF.current),t=!1;for(let s of Array.from(e)){let[a,n,l]=s.split("::"),i=Number(l),r=tz[a]?.[n],o=(r?.runs||[]).find(e=>e.runIndex===i);o&&("pass"===o.status||"fail"===o.status)&&(e.delete(s),t=!0)}t&&(tF.current=e,tT(e))},[tz]);let t5=(0,s.useRef)(tA);(0,s.useEffect)(()=>{t5.current=tA},[tA]);let t4=(0,s.useRef)({skillId:ej,versionAId:eN,versionBId:ew,sourceMode:eC,selectedDatasetId:e$,selectedCaseId:eT,selectedCaseIds:tI,checkedCaseIds:tI,taskDescription:ec,linkedDatasetIds:e6,traceTimeRange:eH,selectedTraceAId:eY,selectedTraceBId:eK,repeatRounds:eB,agentMaxConcurrency:eM,autoEval:!0,recordTriggerDetails:!0,evaluatorId:eZ,evaluators:e1,evaluationBatchId:ty,evaluationBatchTitle:tk,evaluationBatchEvaluators:tS});(0,s.useEffect)(()=>{t4.current={skillId:ej,versionAId:eN,versionBId:ew,sourceMode:eC,selectedDatasetId:e$,selectedCaseId:eT,selectedCaseIds:tI,checkedCaseIds:tI,taskDescription:ec,linkedDatasetIds:e6,traceTimeRange:eH,selectedTraceAId:eY,selectedTraceBId:eK,repeatRounds:eB,agentMaxConcurrency:eM,autoEval:!0,recordTriggerDetails:!0,evaluatorId:eZ,evaluators:e1,evaluationBatchId:ty,evaluationBatchTitle:tk,evaluationBatchEvaluators:tS}},[ej,eN,ew,eC,e$,eT,tI,ec,e6,eH,eY,eK,eB,eM,!0,!0,eZ,e1,ty,tk,tS]);let t6=(0,s.useMemo)(()=>j({skillId:ej,versionAId:eN,versionBId:ew,sourceMode:eC,selectedDatasetId:e$,linkedDatasetIds:e6,selectedTraceAId:eY,selectedTraceBId:eK,repeatRounds:eB,agentMaxConcurrency:eM,autoEval:!0,recordTriggerDetails:!0,evaluatorIds:e1,caseIds:tI}),[ej,eN,ew,eC,e$,e6,eY,eK,eB,eM,!0,!0,e1,tI]),t8=(0,s.useRef)(null),t7=(0,s.useCallback)(async(e,t,s)=>{if(!ee||!e)return;let a={user:ee};void 0!==t&&(a.configJson=t),void 0!==s&&(a.caseStatesJson=s);try{await (0,m.apiFetch)(`/api/debug/grayscale-tasks/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})}catch{}},[ee]),t3=(0,s.useCallback)(e=>{t1.current&&t7(t1.current.id,t4.current,e)},[t7]),t9=(0,s.useCallback)(e=>{tv(!1);let t=t1.current;if(!t)return;tj(e.evaluatorRunId),tN(e.taskTitle),tw(e.selectedEvaluators);let s={...t4.current,evaluationBatchId:e.evaluatorRunId,evaluationBatchTitle:e.taskTitle,evaluationBatchEvaluators:e.selectedEvaluators};t7(t.id,s,void 0),ea(e=>e?{...e,configJson:{...e.configJson||{},...s}}:e)},[t7]),se=(0,s.useCallback)(async(e,t,s)=>{if(!ee||!e||!t||t===t_)return null;let a=(s||eo||tG()).trim(),n=await (0,m.apiFetch)("/api/debug/grayscale-tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:ee,taskName:a,skillId:e,versionAId:eN,versionBId:t})});if(n.ok){let e=await n.json();return el(t=>t.some(t=>t.id===e.id)?t:[e,...t]),{task:e,existed:!1}}if(409===n.status){let e=await n.json().catch(()=>({}));if(e.existingTask)return el(t=>t.some(t=>t.id===e.existingTask.id)?t:[e.existingTask,...t]),{task:e.existingTask,existed:!0}}return null},[ee,eo,eN]);(0,s.useEffect)(()=>{if(!I||!ew||ew===t_||tf)return;let e=t1.current;if(e&&tY(e,I,ew,A))return;let t=tX(en,I,ew,A);if(t)return void tZ(t);let s=!1;return se(I,ew).then(e=>{!s&&e?.task&&tZ(e.task)}).catch(()=>{}),()=>{s=!0}},[I,A,ew,en,se,tf]),(0,s.useEffect)(()=>{let e=t1.current;if(e&&ej){if(!ew)return;let t=e.skillId||e.configJson?.skillId||"";if(t&&t!==ej)return;let s=e.skillVersionId||e.configJson?.versionBId||"";if(s&&s!==ew)return;let a=e.configJson||{};if(!eN&&a.versionAId||!ew&&a.versionBId)return;t7(e.id,{...t4.current,skillId:ej,versionAId:eN,versionBId:ew})}},[ej,eN,ew,t7]),(0,s.useEffect)(()=>{let e=t1.current;e&&t7(e.id,{...t4.current,selectedCaseIds:tI,checkedCaseIds:tI})},[tI,t7]),(0,s.useEffect)(()=>()=>{let e=t1.current;e&&t7(e.id,t4.current,t2.current),Object.values(tV.current).forEach(clearInterval)},[t7]),(0,s.useEffect)(()=>{if("trace"!==eC||!ee||!ej)return void eG([]);eQ(!0);let e=ev.find(e=>e.id===ej),t=new URLSearchParams({user:ee});e&&t.set("skill",e.name);let s="1d"===eH?1:"3d"===eH?3:7;t.set("since",String(Date.now()-864e5*s)),(0,m.apiFetch)(`/api/observe/data?${t.toString()}`).then(e=>e.json()).then(e=>{Array.isArray(e)&&eG(e.slice(0,100))}).catch(()=>{}).finally(()=>eQ(!1))},[eC,ee,ej,eH,ev]),(0,s.useEffect)(()=>{ee&&Promise.all([(0,m.apiFetch)(`/api/agent-datasets?user=${encodeURIComponent(ee)}`).then(e=>e.json()),(0,m.apiFetch)(`/api/skills?user=${encodeURIComponent(ee)}`).then(e=>e.json())]).then(([e,t])=>{if(Array.isArray(e)&&ex(e),Array.isArray(t)){let e=t.map(e=>({id:e.id,name:e.name}));ef(e),ek(t=>t||e[0]?.id||"")}}).catch(()=>{})},[ee]),(0,s.useEffect)(()=>{if(!ee||!ej){ey([]),eS(t_),ez("");return}(0,m.apiFetch)(`/api/skills/${ej}/versions?user=${encodeURIComponent(ee)}`).then(e=>e.json()).then(e=>{if(Array.isArray(e)){ey(e);let t=t8.current;if(t){let s=t.versionAId===t_||e.find(e=>e.id===t.versionAId),a=t.versionBId===t_||e.find(e=>e.id===t.versionBId);s?eS(t.versionAId):eS(t_),a?ez(t.versionBId):ez(e[e.length-1]?.id||e[0]?.id||""),t8.current=null}else{eS(t_);let t=e.find(e=>e.isCurrent);ez(t?.id||e[e.length-1]?.id||e[0]?.id||"")}}}).catch(()=>{})},[ee,ej]),(0,s.useEffect)(()=>{if(!I)return;let e=t1.current,t=e?.skillId||e?.configJson?.skillId||"";t&&t!==I&&tQ(I),ej!==I&&ek(I)},[I,ej]),(0,s.useEffect)(()=>{if(null==A||0===eb.length)return;let e=eb.find(e=>Number(e.version)===Number(A));e?.id&&ew!==e.id&&ez(e.id)},[A,ew,eb]);let st=async(e,t,s)=>{let a;if(!es)return;let n=tB(e,t,s);if(!tD(n))return;let l=sf.find(t=>t.id===e),i=l?.input||"";if(!i.trim())return void tM(n);let r="a"===t?eN:ew,o=r===t_,d=o?null:eb.find(e=>e.id===r),c=ev.find(e=>e.id===ej),u=null;if(tC(a=>{let n,l,i=a[e];if(!i)return a;let r={...a,[e]:{...i,[t]:(l=((n=i[t]??{status:"pending"}).runs??[]).map(e=>{if(e.runIndex!==s)return e;let t={...e,status:"running"};return delete t.sessionId,delete t.evaluatorRunId,delete t.evaluationResultId,delete t.evaluationTraceId,delete t.score,delete t.tier,delete t.evaluations,delete t.failureType,delete t.failureDetail,delete t.timeCost,delete t.tokenUsage,delete t.skillTriggered,delete t.toolCallCount,delete t.toolCalls,delete t.completedAt,t.output="",t}),{...n,status:"running",runs:l})}};return u=r,r}),!u)return void tM(n);await t7(es.id,t4.current,u);try{let l=await (0,m.apiFetch)("/api/debug/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:ee||"debug-user",query:i,skill:o?void 0:c?.name,skillVersion:o||!d?void 0:Number(d.version),tagSkill:c?.name,mode:"grayscale"})}),r=await l.json();if(!l.ok||!r.jobId){tC(a=>{let n=a[e];if(!n)return a;let l=n[t];if(!l)return a;let i=(l.runs??[]).map(e=>e.runIndex===s?{...e,status:"fail",output:r.error||"dispatch failed"}:e);return{...a,[e]:{...n,[t]:{...l,runs:i}}}}),tM(n);return}a=r.jobId}catch(a){tC(n=>{let l=n[e];if(!l)return n;let i=l[t];if(!i)return n;let r=(i.runs??[]).map(e=>e.runIndex===s?{...e,status:"fail",output:String(a)}:e);return{...n,[e]:{...l,[t]:{...i,runs:r}}}}),tM(n);return}let h=async()=>{try{let l=await (0,m.apiFetch)(`/api/debug/execute/${a}`),i=await l.json();if("completed"===i.status)return tC(n=>{let l=n[e];if(!l)return n;let r=l[t];if(!r)return n;let o=(r.runs??[]).map(e=>e.runIndex===s?{...e,status:"executed",jobId:a,output:i.output??"",timeCost:i.timeCost,tokenUsage:i.tokenUsage??0,sessionId:i.sessionId,skillTriggered:!!d}:e),c={...n,[e]:{...l,[t]:{...r,runs:o}}};return t3(c),ss(e,t,s),c}),!0;if("failed"===i.status||i.error)return tC(n=>{let l=n[e];if(!l)return n;let r=l[t];if(!r)return n;let o=(r.runs??[]).map(e=>e.runIndex===s?{...e,status:"fail",jobId:a,output:i.error||"agent failed",failureType:"agent_error",failureDetail:i.error||"agent failed"}:e),d={...n,[e]:{...l,[t]:{...r,runs:o}}};return t3(d),d}),tM(n),!1;return null}catch{return null}},p=`retry_exec_${e}_${t}_${s}`;tV.current[p]&&clearInterval(tV.current[p]),tV.current[p]=setInterval(async()=>{null!==await h()&&(clearInterval(tV.current[p]),delete tV.current[p])},3e3)},ss=async(e,t,s,a)=>{if(!es)return;let n=tB(e,t,s);tD(n);let l=t2.current[e]?.[t]?.runs?.find(e=>e.runIndex===s),i=R(a&&a.length>0?a:T(l,e1),eZ),r=null;if(tC(a=>{let n=a[e];if(!n)return a;let l=n[t];if(!l)return a;let o=(l.runs||[]).map(e=>{if(e.runIndex!==s)return e;let t={...e,status:"evaluating"},a=(t.evaluations||[]).map(e=>i.includes(e.evaluatorId)?{...e,status:"running",errorMessage:void 0}:e);if(t.evaluations=a.length>0?a:i.map(e=>({evaluatorId:e,evaluatorName:au.get(e)||e,status:"running"})),t.evaluations.some(e=>"done"===e.status)){let e=function(e){let t=(e||[]).filter(e=>"done"===e.status&&"number"==typeof e.score&&Number.isFinite(e.score)).map(e=>e.score);if(0!==t.length)return Math.round(t.reduce((e,t)=>e+t,0)/t.length)}(t.evaluations);"number"==typeof e&&(t.score=e,t.tier=e>=80?"good":e>=50?"warn":"poor")}else delete t.evaluatorRunId,delete t.evaluationResultId,delete t.evaluationTraceId,delete t.score,delete t.tier;return delete t.failureType,delete t.failureDetail,delete t.completedAt,t.output="",t}),d={...l,runs:o,status:"evaluating"},c={...a,[e]:{...n,[t]:d}};return r=c,c}),!r)return void tM(n);await t7(es.id,t4.current,r);try{let t=await (0,m.apiFetch)(`/api/debug/grayscale-tasks/${es.id}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:ee||"debug-user",action:"evaluate",caseIds:[e],evaluatorId:eZ,evaluators:i,onlyMissingEvaluation:!0})}),s=await t.json().catch(()=>({}));if(!t.ok){alert(s.error||("zh"===Z?"评测重试失败":"Retry evaluation failed")),tM(n);return}sd(es.id)}catch(e){alert(String(e)),tM(n)}},sa=(eo.trim()||es?.taskName?.trim()||tG()).trim(),sn=sa||tJ,sl=!sa,si=(0,s.useCallback)(()=>{ed(e=>e||es?.taskName||""),er(!0)},[es?.taskName]),sr=(0,s.useCallback)(()=>{let e=eo.trim();e?ed(e):es?.taskName&&ed(es.taskName),er(!1)},[es?.taskName,eo]);(0,s.useEffect)(()=>{if(!ei)return;let e=window.requestAnimationFrame(()=>{eg.current?.focus(),eg.current?.select()});return()=>window.cancelAnimationFrame(e)},[ei]);let so=async(e,t)=>{if(!es)return void alert("zh"===Z?"请先创建或加载 A/B 测试任务后再评测。":"Create or load an A/B task before evaluating.");let s=t2.current[e]?.[t],a=(0,v.findLatestRunnableRunIndex)(s?.runs);null==a?alert("zh"===Z?"当前侧暂无可评测的执行记录。":"No execution record is available to evaluate for this side."):await ss(e,t,a)},sd=(0,s.useCallback)(e=>{if(!ee||!e)return;let t=`task_${e}`;tV.current[t]&&clearInterval(tV.current[t]);let s=async()=>{try{let s=await (0,m.apiFetch)(`/api/debug/grayscale-tasks/${e}?user=${encodeURIComponent(ee)}`),a=await s.json();if(!s.ok)return;if(t1.current?.id!==e){clearInterval(tV.current[t]),delete tV.current[t];return}let n=a.caseStatesJson||{};tC(e=>(function(e,t){let s=["pass","fail","executed"],a=["pending","running","evaluating"],n=(e,t)=>{if(!e)return t??{status:"pending"};if(!t)return e;let n=e.runs??[],l=t.runs??[],i=n[n.length-1],r=l[l.length-1];return n.length>l.length&&i&&!s.includes(i.status)||i&&r&&n.length===l.length&&i.runIndex===r.runIndex&&a.includes(i.status)&&("evaluating"===i.status&&"evaluating"!==r.status&&"pass"!==r.status||"running"===i.status&&"pending"===r.status)?e:t},l=new Set([...Object.keys(e),...Object.keys(t)]),i={};for(let s of l)i[s]={a:n(e[s]?.a,t[s]?.a),b:n(e[s]?.b,t[s]?.b)};return i})(e,n)),ea(e=>e?{...e,...a}:a),a.activeRun||k(n)||a.configJson?.autoEval!==!1&&N(n)?tE(!0):(tE(!1),clearInterval(tV.current[t]),delete tV.current[t])}catch{}};s(),tV.current[t]=setInterval(s,2500)},[ee]);(0,s.useEffect)(()=>{es?.id&&tA&&sd(es.id)},[es?.id,tA,sd]);let sc=async()=>{if(es&&window.confirm("zh"===Z?"确定终止当前 A/B 测试? 已 in-flight 的执行/评测会被标记为「用户终止」失败, 但产生的 trace 不会被清。":"Abort current A/B test? In-flight runs will be marked as user-aborted failures; existing traces are preserved."))try{let e=await (0,m.apiFetch)(`/api/debug/grayscale-tasks/${es.id}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:ee||"debug-user",action:"abort"})});if(!e.ok){let t=await e.json().catch(()=>({}));alert(("zh"===Z?"终止失败: ":"Abort failed: ")+(t.error||e.status));return}(()=>{if(0===tF.current.size)return;let e=new Set;tF.current=e,tT(e)})(),sd(es.id)}catch(e){alert(String(e))}},su=async()=>{if(!(t5.current||t1.current?.activeRun||k(t2.current))){if(!es)return void alert("zh"===Z?"请先新建并保存评测任务。":"Please create and save an evaluation task first.");if(0===tI.length)return void alert("zh"===Z?"请至少选择 1 条样本后再执行。":"Please select at least one sample before running.");tE(!0),tW(t6),ea(e=>e?{...e,activeRun:{taskId:e.id,runId:"pending",status:"running",startedAt:Date.now()}}:e);try{let e=await (0,m.apiFetch)(`/api/debug/grayscale-tasks/${es.id}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:ee||"debug-user",action:"start",caseIds:tI,evaluatorId:eZ,evaluators:e1,agentMaxConcurrency:eM})}),t=await e.json().catch(()=>({}));if(!e.ok){if(409===e.status)return void sd(es.id);tE(!1),ea(e=>e?{...e,activeRun:null}:e),alert(t.error||("zh"===Z?"启动失败":"Failed to start"));return}sd(es.id)}catch(e){tE(!1),ea(e=>e?{...e,activeRun:null}:e),alert(String(e))}}},sh=async()=>{if(sa&&ee&&ej&&ew&&ew!==t_){ep(!0);try{if(es){let e={...t4.current,taskDescription:ec.trim()},t=await (0,m.apiFetch)(`/api/debug/grayscale-tasks/${es.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:ee,taskName:sa,configJson:e})});if(t.ok){let e=await t.json();tZ(e),el(t=>t.map(t=>t.id===e.id?e:t))}else if(409===t.status){let e=await t.json().catch(()=>({}));alert(e?.error||("zh"===Z?"该版本下已存在同名 A/B 任务,请换一个名字":"An A/B task with this name already exists for this version")),ed(es.taskName||"");return}}else{let e=await se(ej,ew,sa);if(e){let t=e.task,s={...t4.current,skillId:t.skillId||t.configJson?.skillId||ej,versionAId:eN,versionBId:ew,taskDescription:ec.trim()},a=await (0,m.apiFetch)(`/api/debug/grayscale-tasks/${t.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:ee,taskName:sa,configJson:s})}),n=a.ok?await a.json():{...t,taskName:sa,configJson:s};tZ(n),el(e=>e.some(e=>e.id===n.id)?e.map(e=>e.id===n.id?n:e):[n,...e]),e.existed&&alert("zh"===Z?"该 Skill 版本已存在 A/B 任务(每个版本仅允许一个)。已切换到该任务并保存你的配置。":"An A/B task already exists for this skill version (one per version). Switched to it and saved your config.")}}}catch{}finally{er(!1),ep(!1)}}},sp=()=>{Object.entries(tV.current).forEach(([e,t])=>{e.startsWith("task_")&&(clearInterval(t),delete tV.current[e])}),tb(!0),tQ(I||ej),er(!0)};(0,s.useEffect)(()=>{e>0&&sp()},[e]),(0,s.useEffect)(()=>{n>0&&ti(!0)},[n]);let sg=I?en.filter(e=>e.skillId===I||e.configJson?.skillId===I):ej?en.filter(e=>tY(e,ej,ew&&ew!==t_?ew:void 0)):en,sm=async()=>{if(e9.trim()&&ee){ts(!0);try{let e=await (0,m.apiFetch)("/api/agent-datasets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:ee,name:e9.trim()})});if(e.ok){let t=await e.json();ex(e=>[...e,t]);let s=[...e6,t.id];e8(s),eA(s[0]||""),e3(!1),te(""),t1.current&&t7(t1.current.id,{...t4.current,selectedDatasetId:s[0]||"",linkedDatasetIds:s})}}catch{}finally{ts(!1)}}},sx=e=>e===t_?"zh"===Z?"无 Skill":"No Skill":e&&"string"!=typeof e?e.semanticVersion||`v${e.version}`:"string"==typeof e?e:"--",sv=e6.length>0?e6:e$?[e$]:[],sf="dataset"===eC?em.filter(e=>sv.includes(e.id)).flatMap(e=>(e.cases||[]).map(t=>({...t,datasetName:e.name,datasetId:e.id,sourceType:"dataset"}))):e_.map((e,t)=>(0,v.buildGrayscaleTraceCase)(e,t)),sb=(0,s.useMemo)(()=>new Map(sf.map(e=>[e.id,e])),[sf]);(0,s.useEffect)(()=>{if(0===sf.length)return;let e=new Set(sf.map(e=>e.id));if(0===tI.filter(t=>!e.has(t)).length)return;let t=tI.filter(t=>e.has(t));t$(t),es&&t7(es.id,{...t4.current,selectedCaseIds:t,checkedCaseIds:t})},[sf]),(0,s.useEffect)(()=>{sf.length>0&&!eT&&eF(sf[0].id)},[sf,eT]);let sy=sf.find(e=>e.id===eT)||sf[0],sj=sf.filter(e=>{if(!(e.input.toLowerCase().includes(tL.toLowerCase())||e.id.toLowerCase().includes(tL.toLowerCase())))return!1;let t=tz[e.id]||{a:{status:"pending"},b:{status:"pending"}},s=t.a.status,a=t.b.status;return"pending"===tU?"pending"===s&&"pending"===a:"executed"===tU?"executed"===s||"evaluating"===s||"running"===s||"executed"===a||"evaluating"===a||"running"===a:"evaluated"!==tU||"pass"===s&&"pass"===a});sf.length,sf.filter(e=>{let t=tz[e.id]||{a:{status:"pending"},b:{status:"pending"}};return"pending"===t.a.status&&"pending"===t.b.status}).length;let sk=sf.filter(e=>{let t=tz[e.id]||{a:{status:"pending"},b:{status:"pending"}};return"executed"===t.a.status||"evaluating"===t.a.status||"running"===t.a.status||"executed"===t.b.status||"evaluating"===t.b.status||"running"===t.b.status}).length,sN=sf.filter(e=>{let t=tz[e.id]||{a:{status:"pending"},b:{status:"pending"}};return"pass"===t.a.status&&"pass"===t.b.status}).length,sS=tI.filter(e=>sf.some(t=>t.id===e)).length;sf.filter(e=>{let t=tz[e.id];return!!t&&"pass"===t.a.status&&"pass"===t.b.status&&(t.b.score??0)>(t.a.score??0)}).length;let sw=ev.find(e=>e.id===ej),sz=eb.find(e=>e.id===eN);eb.find(e=>e.id===ew),e6.map(e=>em.find(t=>t.id===e)).filter(Boolean),em.filter(e=>!e6.includes(e.id));let sC=tz[sy?.id]?.a?.status==="pass"||tz[sy?.id]?.a?.status==="executed",sI=!!tP&&tP===t6,s$=Object.keys(tz).filter(e=>{let t=tz[e];return!!t&&["a","b"].some(e=>{let s=t[e];return"pending"!==s.status||(s.runs?.length||0)>0})}),sA=(sI||k(tz))&&tI.length>0?tI:s$,sE=sA.flatMap(e=>["a","b"].map(t=>{let s=tz[e]?.[t];return s?.runCount||s?.runs?.length||0})).filter(e=>e>0),sR=sE.length>0?Math.max(1,...sE):eB,sT=(e,t)=>{let s=e.reduce((e,s)=>{let a=tz[s]?.[t];return a?e+(a.runCount||a.runs?.length||0):e},0);return s>0?s:e.length*eB},sF=e=>{let t,s,a=sA.length>0?sA:sy?.id?[sy.id]:[];if(0===a.length)return{status:"pending",runsCompleted:"zh"===Z?"0/0 未执行":"0/0 Pending",timeCost:"—",tokenUsage:void 0,score:void 0,triggerRate:"—",toolCall:"—",sessionId:"",output:""};let n=a.map(t=>tz[t]?.[e]).filter(Boolean).flatMap(e=>e.runs&&e.runs.length>0?e.runs:"pending"!==e.status?[{...e,runIndex:1}]:[]),l=Math.max(sT(a,e),n.length||a.length),i=a.flatMap(e=>{let t=tz[e];return t?["a","b"].flatMap(e=>{let s=t[e];return s.runs&&s.runs.length>0?s.runs:"pending"!==s.status?[{...s,runIndex:1}]:[]}):[]}),r=sT(a,"a")+sT(a,"b"),o=i.filter(e=>["executed","evaluating","pass","fail"].includes(e.status)).length,d=i.length>0&&o<r,c=n.filter(e=>"running"===e.status).length,u=n.filter(e=>"evaluating"===e.status).length,h=n.filter(e=>"fail"===e.status).length,p=n.filter(e=>"executed"===e.status||"evaluating"===e.status||"pass"===e.status||"fail"===e.status),g=n.filter(e=>"pass"===e.status||"fail"===e.status),m=p.length,x=g.length,v=p.filter(e=>"fail"!==e.status),f=v.length,b=v.filter(e=>!!e.sessionId||"string"==typeof e.timeCost||"number"==typeof e.tokenUsage),y=(t=b.map(e=>"string"==typeof e.timeCost?parseFloat(e.timeCost):0).filter(e=>Number.isFinite(e)&&e>0)).length>0?`${(t.reduce((e,t)=>e+t,0)/t.length).toFixed(1)}s`:"—",j=(s=b.filter(e=>"number"==typeof e.tokenUsage&&(e.tokenUsage||0)>0)).length>0?Math.round(s.reduce((e,t)=>e+(t.tokenUsage||0),0)/s.length):void 0,k=b.find(e=>e.sessionId)?.sessionId||"",N=b.find(e=>e.output)?.output||"",S=b.filter(e=>e.skillTriggered).length,w=b.length>0?`${S}/${b.length} (${Math.round(S/b.length*100)}%)`:"—",z=Array.from(new Set(b.flatMap(e=>e.toolCalls||[]))).slice(0,3),C=b.reduce((e,t)=>e+(t.toolCallCount||0),0),I=z.length>0?`${z.join(", ")} \xb7 ${C}`:C>0?`${C} calls`:"无",$="pending";if(0===n.length?$="pending":d||c>0||m<l?$="running":u>0||x<l&&m===l?$="evaluating":h>0?$="failed":x===l&&l>0&&($="completed"),"pending"===$)return{status:"pending",runsCompleted:"zh"===Z?`0/${l} 未执行`:`0/${l} Pending`,timeCost:"—",tokenUsage:void 0,score:void 0,accuracy:"—",triggerRate:"—",toolCall:"—",sessionId:"",output:""};if("running"===$)return{status:"running",runsCompleted:"zh"===Z?`${m}/${l} 执行中`:`${m}/${l} Running`,timeCost:"—",tokenUsage:void 0,score:void 0,accuracy:"—",triggerRate:"—",toolCall:"—",sessionId:"",output:""};if("evaluating"===$)return{status:"evaluating",runsCompleted:"zh"===Z?`${x}/${l} 评估中`:`${x}/${l} Evaluating`,timeCost:y,tokenUsage:j,score:void 0,triggerRate:w,toolCall:I,accuracy:"—",sessionId:k,output:N};if("failed"===$)return{status:"fail",runsCompleted:"zh"===Z?`${f}/${l} 执行完成 \xb7 ${h} 失败`:`${f}/${l} completed \xb7 ${h} failed`,timeCost:y,tokenUsage:j,score:void 0,triggerRate:w,toolCall:I,accuracy:"—",sessionId:k,output:N};let A=0,E=0,R=0,T=0,F=g.filter(e=>"string"==typeof e.timeCost||"number"==typeof e.tokenUsage);F.forEach(e=>{let t=0;"string"==typeof e.timeCost?t=parseFloat(e.timeCost)||0:"number"==typeof e.timeCost&&(t=e.timeCost),A+=t,E+=e.tokenUsage||0,"number"==typeof e.score&&(R+=e.score,T++)});let B=F.length>0?(A/F.length).toFixed(1)+"s":"—",D=F.length>0?Math.round(E/F.length):0,M=T>0?Math.round(R/T):void 0,P=g.filter(e=>e.skillTriggered).length,W=x>0?`${P}/${x} (${Math.round(P/x*100)}%)`:"—",L=Array.from(new Set(g.flatMap(e=>e.toolCalls||[]))).slice(0,3),O=g.reduce((e,t)=>e+(t.toolCallCount||0),0);return{status:"executed",runsCompleted:"zh"===Z?`${x}/${l} 执行完成`:`${x}/${l} Completed`,timeCost:B,tokenUsage:D||void 0,score:M,accuracy:null!=M?`${M}%`:"—",triggerRate:W,toolCall:L.length>0?`${L.join(", ")} \xb7 ${O}`:O>0?`${O} calls`:"无",sessionId:g[0]?.sessionId||"",output:g[0]?.output||"Success"}},sB=sF("a"),sD=sF("b"),sM="executed"===sB.status||"pass"===sB.status,sP="executed"===sD.status||"pass"===sD.status,sW="evaluating"===sB.status,sL="evaluating"===sD.status,sO="fail"===sB.status,sU="fail"===sD.status,sH=!!es?.activeRun,sV=N(tz),s_=tA||sH||k(tz)||sV,sG=tI.length>0&&tI.some(e=>{let t=tz[e];return!!t&&["a","b"].some(e=>{let s=t[e];return"pending"!==s.status||(s.runs?.length||0)>0})})&&sI,sJ=s_?"zh"===Z?"执行中":"Running":sG?"zh"===Z?"重新执行":"Run Again":"zh"===Z?"开始执行":"Start Execution",sQ=sM&&sP,sY=!!(ej&&ew&&ew!==t_),sq=!s_&&sY&&e1.length>0&&("dataset"===eC?sv.length>0&&sS>0:!!(eY||eK||e_.length>0)),sK=!sq,sX=sG||s$.length>0||sk>0||sN>0||sQ,sZ=s_||!sX&&sq,s0=sq?"zh"===Z?"✓ 配置完成":"Configured":"zh"===Z?"配置中":"Configuring",s1={config:sq||s_||sX,exec:!s_&&(!!sX||!sZ),result:s_||!sX},s2=sA.length>0?sA:tI.length>0?tI:void 0,s5=(0,x.calculateAbScoring)(tz,{repeatRounds:eB,caseIds:s2}),s4=sQ?s5.decisionLabel:"zh"===Z?"等待评估完成":"Waiting for evaluation",s6=sQ?null==s5.totalScore?"zh"===Z?"— 分":"— pts":"zh"===Z?`${s5.totalScore} 分`:`${s5.totalScore} pts`:"zh"===Z?"待评分":"Pending score",s8=sQ?"insufficient"===s5.decision?"zh"===Z?`当前只有 ${s5.sampleSize} 个完成配对样本;N < ${x.DEFAULT_AB_SCORING_POLICY.minSampleSize} 不输出发布结论,请补齐样本后复测。`:`Only ${s5.sampleSize} paired samples are complete; add samples before making a release decision.`:"reject"===s5.decision?(V=s5.hardGates.map(e=>e.label).join("、"),"zh"===Z?`命中 hard gate:${V}。至少一个维度已低于拒绝阈值,因此当前结论为打回。建议先按打回类别修正后复测。`:`Hard gate hit: ${s5.hardGates.map(e=>e.label).join(", ")}. At least one dimension is below the reject threshold, so the current decision is reject. Revise and retest first.`):"monitor-release"===s5.decision?"zh"===Z?"可小流量监控发布,并持续观察 Token 成本、触发率和多轮一致性。":"Proceed with monitored rollout and watch token cost, invoke rate, and variance.":"zh"===Z?"三维指标均达标,可进入全量发布,同时保留后续复测记录。":"All three dimensions pass; proceed to full release and keep retesting over time.":"zh"===Z?"等待所有执行记录评估完成后,再查看综合判定和上线动作。":"Wait for all execution records to finish evaluation before taking a release action.",s7=(()=>{if("trace"===eC){let e=[eY,eK].filter(Boolean).length||e_.length;return"zh"===Z?`${e} 条链路`:`${e} traces`}let e=sv.length;return"zh"===Z?`${e} 数据集`:`${e} datasets`})(),s3="zh"===Z?`${sS} 样本 x ${eB} 轮 \xb7 ${s7}`:`${sS} samples x ${eB} rounds \xb7 ${s7}`,s9=tI.length>0?tI:s$,ae=2*s9.length*eB,at=e=>s9.reduce((t,s)=>{let a=tz[s];return a?t+["a","b"].reduce((t,s)=>{let n=a[s];return n?t+(n.runs&&n.runs.length>0?n.runs:"pending"!==n.status?[{...n,runIndex:1}]:[]).filter(t=>e(t.status)).length:t},0):t},0),as=at(e=>["executed","evaluating","pass","fail"].includes(e)),aa=at(e=>"pass"===e||"fail"===e),an=0===ae?"zh"===Z?"0/0 未选择样本":"0/0 No samples selected":s_?"zh"===Z?`${as}/${ae} 完成 \xb7 执行中`:`${as}/${ae} done \xb7 Running`:aa>=ae?"zh"===Z?`${as}/${ae} 完成 \xb7 已评分`:`${as}/${ae} done \xb7 Scored`:as>aa?"zh"===Z?`${as}/${ae} 完成 \xb7 ${aa}/${ae} 已评分`:`${as}/${ae} done \xb7 ${aa}/${ae} scored`:"zh"===Z?`${as}/${ae} 完成 \xb7 待执行`:`${as}/${ae} done \xb7 Pending`,al=sQ?s4:sN>0?"zh"===Z?`${sN}/${s9.length||sS} 样本已评估`:`${sN}/${s9.length||sS} samples evaluated`:"zh"===Z?"等待评估完成":"Waiting for evaluation",ai=e=>1===e?"done":2===e?sk>0||sC?"done":"active":3===e&&(sN>0||sC)?"active":"pending",ar=es?.createdAt?new Date(es.createdAt).toLocaleString("zh"===Z?"zh-CN":"en-US",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):"zh"===Z?"未保存":"Unsaved",ao="",ad="zh"===Z?"草稿":"Draft";tA?(ao="is-running",ad="zh"===Z?"运行中":"Running"):sQ?"direct-release"===s5.decision?(ao="is-done",ad="zh"===Z?"已通过":"Pass"):"reject"===s5.decision?(ao="is-reject",ad="zh"===Z?"打回":"Reject"):"insufficient"===s5.decision?(ao="is-warn",ad="zh"===Z?"样本不足":"Insufficient"):(ao="is-warn",ad="zh"===Z?"需关注":"Review"):es&&(ad="zh"===Z?"待执行":"Pending");let ac=(0,s.useMemo)(()=>$,[]),au=(0,s.useMemo)(()=>new Map(ac.map(e=>[e.id,e.name])),[ac]),ah=e1.every(e=>$.some(t=>t.id===e));(0,s.useEffect)(()=>{O&&!td&&to(e=>e.config===s1.config&&e.exec===s1.exec&&e.result===s1.result?e:s1)},[s1,td,O]),(0,s.useEffect)(()=>{O&&tc(!1)},[es?.id,O]);let ap=(0,s.useMemo)(()=>[{value:"1",label:"zh"===Z?"1 轮":"1 round"},{value:"2",label:"zh"===Z?"2 轮":"2 rounds"},{value:"3",label:"zh"===Z?"3 轮":"3 rounds"},{value:"5",label:"zh"===Z?"5 轮":"5 rounds"},{value:"10",label:"zh"===Z?"10 轮":"10 rounds"}],[Z]),ag=0===e1.length?"zh"===Z?"请选择评估器":"Select evaluators":e1.length<=2?e1.map(e=>au.get(e)||e).join("、"):`${e1.slice(0,2).map(e=>au.get(e)||e).join("、")} ${"zh"===Z?`等 ${e1.length} 项`:`and ${e1.length-2} more`}`,am=0===sv.length?"zh"===Z?"请选择数据集":"Select datasets":sv.length<=2?sv.map(e=>em.find(t=>t.id===e)?.name||e).join("、"):`${sv.slice(0,2).map(e=>em.find(t=>t.id===e)?.name||e).join("、")} ${"zh"===Z?`等 ${sv.length} 项`:`and ${sv.length-2} more`}`,ax=(0,s.useMemo)(()=>[{value:t_,label:"zh"===Z?"无 Skill":"No Skill"},...eb.map(e=>({value:e.id,label:`v${e.semanticVersion||e.version}`}))],[t_,Z,eb]),av=eN===t_?"zh"===Z?"默认对照组不加载 Skill,也可选择同 Skill 的历史版本":"Control runs without Skill by default; a previous version is optional":`${"zh"===Z?"对照组加载":"Control loads"} ${sw?.name||"Skill"} ${sx(sz||eN)}`,af=e=>e===t_?"grayscale-baseline-agent":"grayscale-skill-agent",ab=e=>e===t_?"zh"===Z?"基线 Agent":"Baseline Agent":"Skill Agent",ay=(_=eN||t_,`${ab(_)} \xb7 ${af(_)}`),aj=eB>1?"zh"===Z?"多轮运行可观察波动和稳定性":"Multiple rounds reveal variance and stability":"zh"===Z?"单轮适合快速试跑与校验配置":"One round is best for quick validation",ak=sv.reduce((e,t)=>{let s=em.find(e=>e.id===t);return e+(Array.isArray(s?.cases)?s.cases.length:0)},0),aN=sv.length>0?`${"zh"===Z?"当前共选择":"Selected"} ${sv.length} ${"zh"===Z?"个数据集,合计":"datasets with"} ${ak} ${"zh"===Z?"条样本":"cases"}`:"zh"===Z?"先选择数据集,再勾选要执行的样本":"Choose datasets before selecting cases",aS=ah?"zh"===Z?"使用预置评估器,适合直接开始评测":"Built-in evaluator for a quick start":"zh"===Z?"使用自定义评估器,适合特定业务规则":"Custom evaluator for domain-specific scoring";return(0,t.jsxs)("div",{className:`ab-page-v2${O?" gray-hifi":""}`,style:{paddingBottom:60},children:[(0,t.jsxs)("div",{style:{padding:"24px 28px 12px 28px"},children:[O&&(0,t.jsxs)("div",{className:"gh-task-row",children:[(0,t.jsxs)("div",{className:"gh-task-title-row",children:[ei?(0,t.jsx)("input",{ref:eg,className:"gh-task-title",value:eo,onChange:e=>ed(e.target.value),onBlur:sr,onKeyDown:e=>{"Enter"===e.key?(e.preventDefault(),sr()):"Escape"===e.key&&(e.preventDefault(),ed(es?.taskName||""),er(!1))},placeholder:tJ,spellCheck:!1,"aria-label":"zh"===Z?"任务名称":"Task name"}):(0,t.jsx)("button",{type:"button",className:`gh-task-title-trigger${sl?" is-placeholder":""}`,onClick:si,"aria-label":"zh"===Z?"编辑任务名称":"Edit task name",children:sn}),(0,t.jsx)("span",{className:`gh-task-state ${ao}`,children:ad}),(0,t.jsx)("span",{className:"gh-task-cat",children:"A/B Compare"})]}),(0,t.jsxs)("div",{className:"gh-task-info-row",children:[(0,t.jsx)("div",{className:"gh-task-meta",children:(0,t.jsxs)("span",{className:"gh-task-meta-item",children:[(0,t.jsx)("span",{className:"ico",children:"⏱"}),ar]})}),(0,t.jsxs)("div",{className:"gh-task-actions",children:[(0,t.jsxs)("button",{type:"button",className:"gh-btn",onClick:sp,style:{borderColor:"var(--accent)",color:"var(--accent)",fontWeight:600},children:["+ ","zh"===Z?"新建任务":"New Task"]}),(0,t.jsx)("button",{type:"button",className:"gh-btn",onClick:()=>ti(!0),children:"zh"===Z?"历史任务":"History"}),(0,t.jsx)("button",{type:"button",className:"gh-btn",onClick:sh,children:"zh"===Z?"保存配置":"Save"}),(0,t.jsxs)("button",{type:"button",className:"gh-btn is-primary",onClick:su,disabled:sK,children:["▶ ","zh"===Z?"复测":"Re-run"]})]})]})]}),!y&&(0,t.jsxs)("div",{className:"sa-back-line",style:{display:"flex",alignItems:"center",gap:8,margin:"0 0 16px 0"},children:[(0,t.jsxs)("button",{className:"sa-back-btn",onClick:()=>et.push("/skill-eval"),children:[(0,t.jsx)("span",{children:"←"}),"zh"===Z?"返回综合分析":"Back to Dashboard"]}),(0,t.jsx)("span",{children:"/"}),(0,t.jsx)("b",{children:"zh"===Z?"A/B测试":"A/B Testing"})]}),!I&&!es&&(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,flexWrap:"wrap",background:"#FAF5FF",border:"1px dashed var(--accent, #7E22CE)",borderRadius:12,padding:"14px 18px",marginBottom:16},children:[(0,t.jsxs)("span",{style:{fontSize:13,fontWeight:700,color:"#7E22CE",whiteSpace:"nowrap"},children:["+ ","zh"===Z?"新建 A/B 任务":"New A/B Task"]}),(0,t.jsx)("input",{value:eo,onChange:e=>ed(e.target.value),placeholder:"zh"===Z?"给这个任务起个名字…":"Name this task…",spellCheck:!1,style:{flex:1,minWidth:200,height:34,borderRadius:6,border:"1px solid #E7E5E4",padding:"0 12px",fontSize:13,outline:"none"}}),(0,t.jsx)("button",{type:"button",onClick:sh,disabled:!ej||!ew||ew===t_||!eo.trim()||eh,style:{height:34,padding:"0 18px",borderRadius:6,border:"none",background:"#7E22CE",color:"#fff",fontSize:13,fontWeight:600,whiteSpace:"nowrap",cursor:ej&&ew&&ew!==t_&&eo.trim()&&!eh?"pointer":"not-allowed",opacity:ej&&ew&&ew!==t_&&eo.trim()&&!eh?1:.5},children:"zh"===Z?"创建任务":"Create"}),(0,t.jsx)("span",{style:{fontSize:11,color:"#A1A1AA",whiteSpace:"nowrap"},children:"zh"===Z?"先在下方选好 Skill 与 B 实验版本":"Pick a skill & B version below"})]}),(0,t.jsx)("div",{className:"gh-skill-summary",style:{background:"white",borderRadius:12,padding:"20px 24px",color:"#1C1917",display:"flex",alignItems:"center",justifyContent:"space-between",gap:20,marginBottom:16,boxShadow:"0 4px 20px rgba(0,0,0,0.05)",border:"1px solid rgba(0,0,0,0.08)"},children:(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:16},children:[(0,t.jsx)("div",{style:{width:44,height:44,borderRadius:8,background:"#3730A3",display:"flex",alignItems:"center",justifyContent:"center",fontSize:14,fontWeight:700,color:"white",fontFamily:"ui-monospace, monospace"},children:sw?.name?sw.name.replace(/[^a-zA-Z0-9]/g,"").slice(0,3).toUpperCase():"SKL"}),(0,t.jsx)("div",{children:(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:16,flexWrap:"wrap"},children:[(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,t.jsx)("span",{style:{fontSize:9,color:"#78716C",fontFamily:"ui-monospace, monospace",textTransform:"uppercase"},children:"评测 Skill 对象"}),(0,t.jsx)("select",{value:ej,onChange:e=>{es||ek(e.target.value)},disabled:!!es,style:{background:"#F5F5F4",border:"1px solid #E7E5E4",color:"#1C1917",borderRadius:6,padding:"6px 12px",fontSize:14,fontWeight:700,cursor:es?"not-allowed":"pointer",opacity:es?.75:1,outline:"none",minWidth:160,height:34},children:ev.map(e=>(0,t.jsx)("option",{value:e.id,style:{background:"white",color:"#1C1917"},children:e.name},e.id))})]}),(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,t.jsx)("span",{style:{fontSize:9,color:"#78716C",fontFamily:"ui-monospace, monospace",textTransform:"uppercase"},children:"A 对照版本"}),(0,t.jsxs)("select",{value:eN,onChange:e=>eS(e.target.value),style:{background:"#F5F5F4",border:"1px solid #E7E5E4",color:"#1C1917",borderRadius:6,padding:"6px 12px",fontSize:13,fontWeight:600,cursor:"pointer",outline:"none",minWidth:120,height:34},children:[(0,t.jsx)("option",{value:t_,style:{background:"white",color:"#1C1917"},children:"zh"===Z?"无 Skill":"No Skill"}),eb.map(e=>(0,t.jsxs)("option",{value:e.id,style:{background:"white",color:"#1C1917"},children:["v",e.semanticVersion||e.version]},e.id))]})]}),(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,t.jsx)("span",{style:{fontSize:9,color:"#78716C",fontFamily:"ui-monospace, monospace",textTransform:"uppercase"},children:"B 实验版本"}),(0,t.jsxs)("select",{value:ew,onChange:e=>{es||ez(e.target.value)},disabled:!!es,style:{background:"#F5F5F4",border:"1px solid #E7E5E4",color:"#1C1917",borderRadius:6,padding:"6px 12px",fontSize:13,fontWeight:600,cursor:es?"not-allowed":"pointer",opacity:es?.75:1,outline:"none",minWidth:120,height:34},children:[(0,t.jsx)("option",{value:t_,style:{background:"white",color:"#1C1917"},children:"zh"===Z?"无 Skill":"No Skill"}),eb.map(e=>(0,t.jsxs)("option",{value:e.id,style:{background:"white",color:"#1C1917"},children:["v",e.semanticVersion||e.version]},e.id))]})]})]})})]})}),O&&(J=(G=[ai(1),ai(2),ai(3)]).filter(e=>"done"===e).length,Q="zh"===Z?["配置","运行 · A/B 评测","测评结果"]:["Config · Cases","Run · A/B Eval","Result · Analysis"],Y=[s3,an,al],(0,t.jsx)("div",{className:"gh-stepper",style:{"--gh-done-pct":`${0===J?0:J>=2?100:50}%`},children:(0,t.jsxs)("div",{className:"gh-stepper-row",children:[(0,t.jsxs)("div",{className:"gh-step gh-step-origin",children:[(0,t.jsx)("div",{className:"gh-step-circle"}),(0,t.jsxs)("div",{className:"gh-step-body",children:[(0,t.jsx)("div",{className:"gh-step-name",children:"zh"===Z?"A/B 测试":"A/B Testing"}),(0,t.jsx)("div",{className:"gh-step-sub",children:"zh"===Z?"启用 vs 未启用 Skill 的差异对照":"Skill on vs off comparison"})]})]}),[1,2,3].map(e=>{let s=G[e-1];return(0,t.jsxs)("div",{className:`gh-step ${"done"===s?"is-done":"active"===s?"is-active":"is-idle"}`,children:[(0,t.jsx)("div",{className:"gh-step-circle",children:"done"===s?null:(0,t.jsx)("span",{children:e})}),(0,t.jsxs)("div",{className:"gh-step-body",children:[(0,t.jsx)("div",{className:"gh-step-name",children:Q[e-1]}),(0,t.jsx)("div",{className:"gh-step-sub",children:Y[e-1]})]})]},e)})]})})),(0,t.jsxs)("div",{className:"v2-stepper",style:{position:"sticky",top:16,zIndex:40,background:"var(--card-bg)",border:"1px solid var(--border)",borderRadius:12},children:[(0,t.jsxs)("div",{className:`v2-step ${ai(1)}`,children:[(0,t.jsx)("div",{className:"v2-step-circle",children:"done"===ai(1)?(0,t.jsx)(M,{}):"1"}),(0,t.jsxs)("div",{className:"v2-step-info",children:[(0,t.jsx)("span",{className:"v2-step-label",children:"STEP 1 · CONFIG"}),(0,t.jsx)("span",{className:"v2-step-name",children:"zh"===Z?"准备: 配置实验参数":"Config params"}),(0,t.jsx)("span",{className:"v2-step-meta",style:{color:"var(--success)"},children:s3})]})]}),(0,t.jsxs)("div",{className:`v2-step ${ai(2)}`,children:[(0,t.jsx)("div",{className:"v2-step-circle",children:"done"===ai(2)?(0,t.jsx)(M,{}):"2"}),(0,t.jsxs)("div",{className:"v2-step-info",children:[(0,t.jsx)("span",{className:"v2-step-label",children:"STEP 2 · EXECUTION"}),(0,t.jsx)("span",{className:"v2-step-name",children:"zh"===Z?"执行: 运行 A/B 测试":"Run A/B Testing"}),(0,t.jsx)("span",{className:"v2-step-meta",style:{color:"var(--success)"},children:an})]})]}),(0,t.jsxs)("div",{className:`v2-step ${ai(3)}`,children:[(0,t.jsx)("div",{className:"v2-step-circle",children:"done"===ai(3)?(0,t.jsx)(M,{}):"3"}),(0,t.jsxs)("div",{className:"v2-step-info",children:[(0,t.jsx)("span",{className:"v2-step-label",children:"STEP 3 · DECISION"}),(0,t.jsx)("span",{className:"v2-step-name",children:"zh"===Z?"决策: 综合判定 & 上线":"Decision verdict"}),(0,t.jsx)("span",{className:"v2-step-meta",style:{color:"var(--primary)",fontWeight:600},children:al})]})]})]})]}),(0,t.jsxs)("div",{style:{padding:"0 28px",display:"flex",flexDirection:"column",gap:16},children:[(0,t.jsxs)("div",{className:"v2-stage-card config",style:{background:"white",border:"0.5px solid rgba(0,0,0,0.08)"},"data-collapsible":O?"1":void 0,"data-collapsed":O?tr.config?"1":"0":void 0,children:[(0,t.jsxs)("div",{className:"v2-stage-card-header",style:{borderBottom:"0.5px solid rgba(0,0,0,0.08)"},onClick:O?()=>tu("config"):void 0,children:[(0,t.jsx)("div",{className:"v2-stage-num-badge",children:(0,t.jsx)(P,{})}),(0,t.jsxs)("div",{className:"v2-stage-title-block",children:[(0,t.jsxs)("div",{className:"v2-stage-card-title",children:["zh"===Z?"配置":"Config",(0,t.jsx)("span",{className:`v2-stage-pill ${sq?"done":"pending"}`,style:{background:sq?"#E1F5EE":"#F5F4EE",color:sq?"#0F6E56":"#5F5E5A",fontSize:11,padding:"2px 8px",borderRadius:4},children:s0})]}),(0,t.jsx)("div",{className:"v2-stage-card-subtitle",children:"zh"===Z?"设置参数 · 实验版本由 Skill 分析决定,对照版本由本配置决定":"Set up parameters · Experiment version comes from Skill analysis, control version from this config"})]}),O&&(0,t.jsx)("button",{type:"button",className:"gh-card-chev","aria-label":tr.config?"zh"===Z?"展开":"Expand":"zh"===Z?"折叠":"Collapse",onClick:e=>{e.stopPropagation(),tu("config")}})]}),(0,t.jsxs)("div",{className:"v2-stage-card-body",children:[(0,t.jsxs)("div",{className:"v2-config-grid",children:[(0,t.jsxs)("div",{className:"v2-config-item v2-config-item--compact",children:[(0,t.jsxs)("span",{className:"v2-config-item-label",children:["zh"===Z?"重复轮次":"Repeat rounds"," ",(0,t.jsx)("span",{className:"req",children:"*"})]}),(0,t.jsx)(r.Select,{"aria-label":"zh"===Z?"选择重复轮次":"Select repeat rounds",value:String(eB),onChange:e=>{let t=Number(e);eD(t),es&&t7(es.id,{...t4.current,repeatRounds:t})},options:ap,active:eB>1,size:"sm",className:"v2-config-select"}),(0,t.jsx)("span",{className:"v2-config-item-hint",children:aj})]}),(0,t.jsxs)("div",{className:"v2-config-item v2-config-item--compact",children:[(0,t.jsx)("span",{className:"v2-config-item-label",children:"zh"===Z?"数据集":"Dataset"}),(0,t.jsxs)("div",{style:{position:"relative"},children:[(0,t.jsxs)("button",{type:"button","aria-label":"zh"===Z?"选择数据集":"Select datasets",className:"v2-config-select",onClick:()=>eR(e=>!e),style:{width:"100%",minHeight:34,border:sv.length>0?"1px solid var(--primary)":"1px solid var(--border)",borderRadius:6,background:"var(--background)",color:sv.length>0?"var(--foreground)":"var(--foreground-muted)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"0 10px",fontSize:13,textAlign:"left",cursor:"pointer"},children:[(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:am}),(0,t.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,flexShrink:0},children:[sv.length>0&&(0,t.jsx)("span",{style:{fontSize:10,fontWeight:700,color:"var(--primary)",background:"var(--primary-subtle)",borderRadius:99,padding:"0 6px"},children:sv.length}),(0,t.jsx)("span",{style:{color:"var(--foreground-muted)",fontSize:11},children:eE?"▲":"▼"})]})]}),eE&&(0,t.jsx)("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,zIndex:60,background:"var(--background)",border:"1px solid var(--border)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,.12)",maxHeight:240,overflowY:"auto",padding:4},children:em.map(e=>{let s=sv.includes(e.id);return(0,t.jsxs)("button",{type:"button",onClick:()=>{var t;let s,a;(t=e.id)&&(a=(s=E(sv.includes(t)?sv.filter(e=>e!==t):[...sv,t]))[0]||"",e8(s),eA(a),t$([]),es&&t7(es.id,{...t4.current,selectedDatasetId:a,linkedDatasetIds:s,selectedCaseIds:[],checkedCaseIds:[],selectedCaseId:""}))},style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"7px 9px",border:"none",borderRadius:5,background:s?"var(--primary-subtle)":"transparent",color:"var(--foreground)",cursor:"pointer",fontSize:12.5,textAlign:"left"},children:[(0,t.jsx)("span",{style:{width:15,height:15,borderRadius:4,border:s?"1px solid var(--primary)":"1px solid var(--border)",background:s?"var(--primary)":"var(--background)",color:"var(--primary-foreground)",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:10,fontWeight:700,flexShrink:0},children:s?"✓":""}),(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.id)})})]}),(0,t.jsx)("span",{className:"v2-config-item-hint",children:aN})]}),(0,t.jsxs)("div",{className:"v2-config-item v2-config-item--compact",children:[(0,t.jsx)("span",{className:"v2-config-item-label",children:"zh"===Z?"评估器":"Evaluator"}),(0,t.jsxs)("div",{style:{position:"relative"},children:[(0,t.jsxs)("button",{type:"button","aria-label":"zh"===Z?"选择评估器":"Select evaluators",className:"v2-config-select",onClick:()=>e4(e=>!e),style:{width:"100%",minHeight:34,border:e1.length>0?"1px solid var(--primary)":"1px solid var(--border)",borderRadius:6,background:"var(--background)",color:e1.length>0?"var(--foreground)":"var(--foreground-muted)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"0 10px",fontSize:13,textAlign:"left",cursor:"pointer"},children:[(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:ag}),(0,t.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,flexShrink:0},children:[e1.length>0&&(0,t.jsx)("span",{style:{fontSize:10,fontWeight:700,color:"var(--primary)",background:"var(--primary-subtle)",borderRadius:99,padding:"0 6px"},children:e1.length}),(0,t.jsx)("span",{style:{color:"var(--foreground-muted)",fontSize:11},children:e5?"▲":"▼"})]})]}),e5&&(0,t.jsx)("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,zIndex:60,background:"var(--background)",border:"1px solid var(--border)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,.12)",maxHeight:240,overflowY:"auto",padding:4},children:ac.map(e=>{let s=e1.includes(e.id);return(0,t.jsxs)("button",{type:"button",onClick:()=>{var t;let s;(t=e.id)&&(e2(s=R(e1.includes(t)?e1.filter(e=>e!==t):[...e1,t])),e0(s[0]||""),es&&t7(es.id,{...t4.current,evaluatorId:s[0]||"",evaluators:s}))},style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"7px 9px",border:"none",borderRadius:5,background:s?"var(--primary-subtle)":"transparent",color:"var(--foreground)",cursor:"pointer",fontSize:12.5,textAlign:"left"},children:[(0,t.jsx)("span",{style:{width:15,height:15,borderRadius:4,border:s?"1px solid var(--primary)":"1px solid var(--border)",background:s?"var(--primary)":"var(--background)",color:"var(--primary-foreground)",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:10,fontWeight:700,flexShrink:0},children:s?"✓":""}),(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.id)})})]}),(0,t.jsx)("span",{className:"v2-config-item-hint",children:aS})]}),(0,t.jsxs)("div",{className:"v2-config-item v2-config-item--compact",children:[(0,t.jsx)("span",{className:"v2-config-item-label",children:"zh"===Z?"对照组 Skill 版本":"Control Skill version"}),(0,t.jsx)(r.Select,{"aria-label":"zh"===Z?"选择对照组 Skill 版本":"Select control Skill version",value:eN||t_,onChange:e=>{eS(e),es&&t7(es.id,{...t4.current,versionAId:e})},options:ax,active:!!(eN&&eN!==t_),size:"sm",className:"v2-config-select"}),(0,t.jsx)("span",{className:"v2-config-item-hint",children:av}),(0,t.jsx)("span",{className:"v2-config-item-hint ab-agent-hint",children:ay})]})]}),(0,t.jsx)("div",{style:{borderTop:"1px dotted rgba(0, 0, 0, 0.15)",margin:"16px 0"}}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:13,fontWeight:700,color:"#2C2C2A",marginBottom:12},children:[(0,t.jsx)(W,{}),(0,t.jsx)("span",{children:"zh"===Z?"输入来源":"Input Source"})]}),(0,t.jsx)("div",{className:"v2-tabs",style:{marginBottom:12},children:(0,t.jsx)("button",{className:`v2-tab ${"dataset"===eC?"active":""}`,onClick:()=>{eI("dataset"),es&&t7(es.id,{...t4.current,sourceMode:"dataset"})},children:"zh"===Z?"从数据集发起":"From dataset"})}),(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,height:360,overflowY:"auto",marginBottom:12,paddingRight:4},children:[sj.map((e,s)=>{let a=eT===e.id,n=tI.includes(e.id);return(0,t.jsxs)("div",{className:`v2-dataset-row ${a?"current":""}`,onClick:()=>{eF(e.id),es&&t7(es.id,{...t4.current,selectedCaseId:e.id})},style:{cursor:"pointer",display:"flex",alignItems:"center",gap:12,padding:"10px 14px",borderRadius:8,border:a?"1px solid #185FA5":"1px solid #E7E5E4",background:a?"#F0F7FF":"white",marginBottom:6,transition:"all 0.2s"},children:[(0,t.jsx)("input",{type:"checkbox",checked:n,onClick:e=>e.stopPropagation(),onChange:()=>{t$(t=>{let s=t.includes(e.id)?t.filter(t=>t!==e.id):[...t,e.id];return es&&t7(es.id,{...t4.current,selectedCaseIds:s,checkedCaseIds:s}),s})},style:{width:16,height:16,cursor:"pointer",accentColor:"#185FA5"}}),a?(0,t.jsx)("span",{className:"idx",style:{background:"#185FA5",color:"white",borderColor:"#185FA5",fontWeight:600,fontSize:11,padding:"2px 8px",borderRadius:4},children:"zh"===Z?"当前":"Current"}):(0,t.jsx)("span",{className:"idx",style:{fontFamily:"ui-monospace, monospace",fontSize:12},children:String(s+1).padStart(2,"0")}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:13,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.input}),"trace"===e.sourceType&&(0,t.jsx)("div",{style:{marginTop:4,fontSize:11,color:"#78716C",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[e.sourceDatasetName?`dataset ${e.sourceDatasetName}`:"",e.sourceUploadId?`upload ${e.sourceUploadId}`:"",e.sourceExecutionSessionId?`exec ${e.sourceExecutionSessionId}`:""].filter(Boolean).join(" · ")})]})]},e.id)}),0===sj.length&&(0,t.jsx)("div",{style:{padding:20,textAlign:"center",fontSize:12,color:"#888780"},children:"zh"===Z?"暂无数据用例":"No cases found"})]}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",background:sS>0?"#E1F5EE":"#FEF2F2",border:sS>0?"1px solid #0F6E56":"1px solid #FCA5A5",padding:"8px 16px",borderRadius:8,marginBottom:12,fontSize:12,fontWeight:600,color:sS>0?"#0F6E56":"#991B1B",transition:"all 0.2s"},children:[(0,t.jsx)("span",{children:"zh"===Z?`已选样本数:${sS} 个`:`Selected Samples: ${sS}`}),(0,t.jsx)("span",{children:sS>0?"zh"===Z?"✓ 将按已选样本执行":"✓ Ready to run selected samples":"zh"===Z?"⚠️ 请先选择至少 1 条样本":"⚠️ Select at least one sample"})]}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:16,marginTop:14,paddingTop:14,borderTop:"1px solid var(--border)"},children:[(0,t.jsxs)(i.Button,{variant:"default",size:"default",onClick:su,disabled:sK,children:[(0,t.jsx)(c.Play,{})," ",sJ]}),(0,t.jsx)("button",{type:"button",className:"ab-stop-run-btn",onClick:sc,"aria-label":"zh"===Z?"终止":"Abort",title:"zh"===Z?"终止当前 A/B 测试":"Abort current A/B test",disabled:!s_,children:(0,t.jsx)("span",{children:"zh"===Z?"终止":"Abort"})}),(0,t.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,fontWeight:700,color:"var(--foreground)"},children:[(0,t.jsx)("span",{children:"zh"===Z?"Agent 最大并发数":"Max agent concurrency"}),(0,t.jsx)("select",{value:eM,onChange:e=>{let t=Math.max(1,Number(e.target.value));eP(t),es&&t7(es.id,{...t4.current,agentMaxConcurrency:t})},style:{height:32,minWidth:72,border:"1px solid var(--border-dark)",borderRadius:6,padding:"0 8px",fontSize:13,fontWeight:700,cursor:"pointer",background:"var(--card-bg)",color:"var(--foreground)"},children:[1,2,4,8,16,32].map(e=>(0,t.jsx)("option",{value:e,children:e},e))})]}),(0,t.jsx)("div",{style:{fontSize:12,color:"var(--foreground-secondary)",lineHeight:1.4},children:"zh"===Z?`当前配置:${sS} 样本 * 2 组 * ${eB} 轮 = ${2*sS*eB} 次执行 | 最大并发:${eM}`:`Current Config: ${sS} samples * 2 groups * ${eB} rounds = ${2*sS*eB} runs | Max concurrency: ${eM}`})]})]})]}),(0,t.jsxs)("div",{className:"v2-stage-card s1",style:{background:"var(--card-bg)",border:"1px solid var(--border)",marginBottom:0},"data-collapsible":O?"1":void 0,"data-collapsed":O?tr.exec?"1":"0":void 0,children:[(0,t.jsxs)("div",{className:"v2-stage-card-header",style:{borderBottom:"1px solid var(--border)"},onClick:O?()=>tu("exec"):void 0,children:[(0,t.jsx)("div",{className:"v2-stage-num-badge",style:{background:"var(--primary)",color:"var(--primary-foreground)",justifyContent:"center",alignItems:"center"},children:(0,t.jsx)(B,{})}),(0,t.jsxs)("div",{className:"v2-stage-title-block",children:[(0,t.jsx)("div",{className:"v2-stage-card-title",children:(0,t.jsx)("span",{children:"zh"===Z?"执行 A/B 测试":"Execute A/B Testing"})}),(0,t.jsx)("div",{className:"v2-stage-card-subtitle",children:"zh"===Z?`对照组 (${sx(eb.find(e=>e.id===eN)||eN)}) vs 实验组 (${sx(eb.find(e=>e.id===ew)||ew)}) \xb7 每次执行的过程数据`:`Control (${sx(eb.find(e=>e.id===eN)||eN)}) vs Experiment (${sx(eb.find(e=>e.id===ew)||ew)}) \xb7 Exposing raw execution steps`})]}),O&&(0,t.jsx)("button",{type:"button",className:"gh-card-chev","aria-label":tr.exec?"zh"===Z?"展开":"Expand":"zh"===Z?"折叠":"Collapse",onClick:e=>{e.stopPropagation(),tu("exec")}})]}),(0,t.jsx)("div",{className:"v2-stage-card-body",style:{padding:18},children:(0,t.jsxs)("div",{className:"v2-compare-grid",style:{gridTemplateColumns:"1fr 20px 1fr"},children:[(0,t.jsxs)("div",{className:"v2-compare-col baseline ab-col-a",children:[(0,t.jsxs)("div",{className:"v2-col-header",children:[(0,t.jsx)("div",{className:"v2-col-tag a",children:"A"}),(0,t.jsxs)("div",{className:"v2-col-name-block",children:[(0,t.jsx)("div",{className:"v2-col-name",children:"zh"===Z?`对照组: ${ab(eN||t_)}`:`Control: ${ab(eN||t_)}`}),(0,t.jsxs)("div",{className:"v2-col-variant-line",children:[(0,t.jsxs)("span",{className:`v2-skill-state ${eN===t_?"off":"on"} ab-skill-state`,children:["Skill: ",eN===t_?"zh"===Z?"无 Skill":"No Skill":`${sw?.name||"cpu-model-query"} ${sx(eb.find(e=>e.id===eN)||eN)}`]}),(0,t.jsxs)("span",{className:"ab-agent-state",title:af(eN||t_),children:["Agent: ",af(eN||t_)]})]})]}),(0,t.jsx)(l.StatusBadge,{status:sM?"success":sO?"error":sW||"running"===sB.status?"running":"pending",label:sM?"zh"===Z?"完成":"Done":sO?"zh"===Z?"失败":"Failed":sW?"zh"===Z?"评估中":"Evaluating":"running"===sB.status?"zh"===Z?"执行中":"Running":"zh"===Z?"未执行":"Pending"})]}),(0,t.jsxs)("div",{className:"v2-col-body",style:{padding:16},children:[(0,t.jsx)("div",{className:"v2-exec-result",style:{paddingBottom:12},children:sM?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"v2-result-icon success",style:{color:"var(--success)",background:"var(--success-subtle)",width:44,height:44,fontSize:20},children:"✓"}),(0,t.jsx)("div",{className:"v2-result-text",style:{fontSize:14},children:sB.runsCompleted}),(0,t.jsxs)("div",{className:"v2-result-sub",children:["平均耗时 ",sB.timeCost," · ",sR,"轮重复"]})]}):sO?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"v2-result-icon",style:{color:"var(--error)",background:"var(--error-subtle)",width:44,height:44,fontSize:20},children:"!"}),(0,t.jsx)("div",{className:"v2-result-text",style:{fontSize:14},children:sB.runsCompleted}),(0,t.jsx)("div",{className:"v2-result-sub",children:"zh"===Z?"存在未完整执行的记录":"Some runs did not finish"})]}):"running"===sB.status?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"v2-result-icon ab-icon-running",style:{width:44,height:44,fontSize:20},children:"⚡"}),(0,t.jsx)("div",{className:"v2-result-text",style:{fontSize:14},children:sB.runsCompleted}),(0,t.jsx)("div",{className:"v2-result-sub",children:"zh"===Z?"执行记录生成中...":"Generating execution records..."})]}):sW?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"v2-result-icon ab-icon-eval",style:{width:44,height:44,fontSize:20},children:"◌"}),(0,t.jsx)("div",{className:"v2-result-text",style:{fontSize:14},children:sB.runsCompleted}),(0,t.jsx)("div",{className:"v2-result-sub",children:"zh"===Z?"评估记录生成中...":"Generating evaluation records..."})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"v2-result-icon ab-icon-pending",style:{width:44,height:44,fontSize:20},children:"⏳"}),(0,t.jsx)("div",{className:"v2-result-text",style:{fontSize:14},children:sB.runsCompleted}),(0,t.jsx)("div",{className:"v2-result-sub",children:"zh"===Z?"等待执行评测":"Awaiting execution"})]})}),(0,t.jsxs)("div",{className:"v2-process-data",children:[(0,t.jsxs)("div",{className:"v2-process-row",children:[(0,t.jsx)("span",{className:"v2-process-label",children:"zh"===Z?"Skill 触发":"Skill triggers"}),(0,t.jsx)("span",{className:"v2-process-value text-foreground-muted",children:sB.triggerRate})]}),(0,t.jsxs)("div",{className:"v2-process-row",children:[(0,t.jsx)("span",{className:"v2-process-label",children:"zh"===Z?"工具调用":"Tool calls"}),(0,t.jsx)("span",{className:"v2-process-value font-mono text-[11px] bg-background-secondary rounded px-1.5 py-0.5",children:sB.toolCall})]}),(0,t.jsxs)("div",{className:"v2-process-row",children:[(0,t.jsx)("span",{className:"v2-process-label",children:"zh"===Z?"答案准确性":"Accuracy"}),(0,t.jsx)("span",{className:"v2-process-value text-[var(--error)] font-bold",children:sB.accuracy})]})]}),(0,t.jsxs)("div",{className:"v2-metric-row",style:{borderRadius:8,overflow:"hidden",marginTop:12},children:[(0,t.jsxs)("div",{className:"v2-metric-cell",children:[(0,t.jsx)("div",{className:"label",children:"zh"===Z?"耗时":"Cost"}),(0,t.jsx)("div",{className:"value",children:(0,t.jsx)(o.MetricValue,{value:sB.timeCost,size:"md"})})]}),(0,t.jsxs)("div",{className:"v2-metric-cell",children:[(0,t.jsx)("div",{className:"label",children:"TOKEN"}),(0,t.jsx)("div",{className:"value",children:(0,t.jsx)(o.MetricValue,{value:sB.tokenUsage,format:"compact",size:"md"})})]}),(0,t.jsxs)("div",{className:`v2-metric-cell text-center ${"number"==typeof sB.score?"ab-score-highlight":""}`,children:[(0,t.jsx)("div",{className:"label",children:"zh"===Z?"评分":"Score"}),(0,t.jsx)("div",{className:"value",children:(0,t.jsx)(o.MetricValue,{value:"number"==typeof sB.score?sB.score:null,size:"md",tone:"number"==typeof sB.score?"default":"muted"})})]})]})]}),(0,t.jsxs)("div",{className:"v2-col-actions",style:{background:"var(--background-secondary)",borderTop:"1px solid var(--border)",display:"flex",alignItems:"center",gap:8,padding:"8px 12px"},children:[(0,t.jsxs)(i.Button,{variant:"ghost",size:"sm",onClick:()=>eU({title:"zh"===Z?"A 对照组执行记录":"A Control Records",side:"a"}),children:[(0,t.jsx)(u.ExternalLink,{})," ","zh"===Z?"执行记录":"Records"]}),(0,t.jsx)(i.Button,{variant:"default",size:"sm",onClick:()=>so(eT,"a"),children:"zh"===Z?"✓ 评测":"Evaluate"}),(0,t.jsx)("span",{className:"v2-trace-id",children:sB.sessionId})]})]}),(0,t.jsx)("div",{className:"v2-compare-vs",children:(0,t.jsx)("span",{children:"VS"})}),(0,t.jsxs)("div",{className:"v2-compare-col candidate ab-col-b",children:[(0,t.jsxs)("div",{className:"v2-col-header",children:[(0,t.jsx)("div",{className:"v2-col-tag b",children:"B"}),(0,t.jsxs)("div",{className:"v2-col-name-block",children:[(0,t.jsx)("div",{className:"v2-col-name",children:"zh"===Z?`实验组: ${ab(ew||t_)}`:`Experiment: ${ab(ew||t_)}`}),(0,t.jsxs)("div",{className:"v2-col-variant-line",children:[(0,t.jsxs)("span",{className:`v2-skill-state ${ew===t_?"off":"on"} ab-skill-state`,children:["Skill: ",ew===t_?"zh"===Z?"无 Skill":"No Skill":`${sw?.name||"cpu-model-query"} ${sx(eb.find(e=>e.id===ew)||ew)}`]}),(0,t.jsxs)("span",{className:"ab-agent-state",title:af(ew||t_),children:["Agent: ",af(ew||t_)]})]})]}),(0,t.jsx)(l.StatusBadge,{status:sP?"success":sU?"error":sL||"running"===sD.status?"running":"pending",label:sP?"zh"===Z?"完成":"Done":sU?"zh"===Z?"失败":"Failed":sL?"zh"===Z?"评估中":"Evaluating":"running"===sD.status?"zh"===Z?"执行中":"Running":"zh"===Z?"未执行":"Pending"})]}),(0,t.jsxs)("div",{className:"v2-col-body",style:{padding:16},children:[(0,t.jsx)("div",{className:"v2-exec-result",style:{paddingBottom:12},children:sP?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"v2-result-icon success",style:{color:"var(--success)",background:"var(--success-subtle)",width:44,height:44,fontSize:20},children:"✓"}),(0,t.jsx)("div",{className:"v2-result-text",style:{fontSize:14},children:sD.runsCompleted}),(0,t.jsxs)("div",{className:"v2-result-sub",children:["平均耗时 ",sD.timeCost," · ",sR,"轮重复"]})]}):sU?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"v2-result-icon",style:{color:"var(--error)",background:"var(--error-subtle)",width:44,height:44,fontSize:20},children:"!"}),(0,t.jsx)("div",{className:"v2-result-text",style:{fontSize:14},children:sD.runsCompleted}),(0,t.jsx)("div",{className:"v2-result-sub",children:"zh"===Z?"存在未完整执行的记录":"Some runs did not finish"})]}):"running"===sD.status?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"v2-result-icon ab-icon-running",style:{width:44,height:44,fontSize:20},children:"⚡"}),(0,t.jsx)("div",{className:"v2-result-text",style:{fontSize:14},children:sD.runsCompleted}),(0,t.jsx)("div",{className:"v2-result-sub",children:"zh"===Z?"执行记录生成中...":"Generating execution records..."})]}):sL?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"v2-result-icon ab-icon-eval",style:{width:44,height:44,fontSize:20},children:"◌"}),(0,t.jsx)("div",{className:"v2-result-text",style:{fontSize:14},children:sD.runsCompleted}),(0,t.jsx)("div",{className:"v2-result-sub",children:"zh"===Z?"评估记录生成中...":"Generating evaluation records..."})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"v2-result-icon ab-icon-pending",style:{width:44,height:44,fontSize:20},children:"⏳"}),(0,t.jsx)("div",{className:"v2-result-text",style:{fontSize:14},children:sD.runsCompleted}),(0,t.jsx)("div",{className:"v2-result-sub",children:"zh"===Z?"等待执行评测":"Awaiting execution"})]})}),(0,t.jsxs)("div",{className:"v2-process-data",children:[(0,t.jsxs)("div",{className:"v2-process-row",children:[(0,t.jsx)("span",{className:"v2-process-label",children:"zh"===Z?"Skill 触发":"Skill triggers"}),(0,t.jsx)("span",{className:"v2-process-value text-[var(--success)] font-bold",children:sD.triggerRate})]}),(0,t.jsxs)("div",{className:"v2-process-row",children:[(0,t.jsx)("span",{className:"v2-process-label",children:"zh"===Z?"工具调用":"Tool calls"}),(0,t.jsx)("span",{className:"v2-process-value font-mono text-[11px] bg-background-secondary rounded px-1.5 py-0.5",children:sD.toolCall})]}),(0,t.jsxs)("div",{className:"v2-process-row",children:[(0,t.jsx)("span",{className:"v2-process-label",children:"zh"===Z?"答案准确性":"Accuracy"}),(0,t.jsx)("span",{className:"v2-process-value text-[var(--success)] font-bold",children:sD.accuracy})]})]}),(0,t.jsxs)("div",{className:"v2-metric-row",style:{borderRadius:8,overflow:"hidden",marginTop:12},children:[(0,t.jsxs)("div",{className:"v2-metric-cell",children:[(0,t.jsx)("div",{className:"label",children:"zh"===Z?"耗时":"Cost"}),(0,t.jsx)("div",{className:"value",children:(0,t.jsx)(o.MetricValue,{value:sD.timeCost,size:"md"})})]}),(0,t.jsxs)("div",{className:"v2-metric-cell",children:[(0,t.jsx)("div",{className:"label",children:"TOKEN"}),(0,t.jsx)("div",{className:"value",children:(0,t.jsx)(o.MetricValue,{value:sD.tokenUsage,format:"compact",size:"md"})})]}),(0,t.jsxs)("div",{className:`v2-metric-cell text-center ${"number"==typeof sD.score?"ab-score-highlight":""}`,children:[(0,t.jsx)("div",{className:"label",children:"zh"===Z?"评分":"Score"}),(0,t.jsx)("div",{className:"value",children:(0,t.jsx)(o.MetricValue,{value:"number"==typeof sD.score?sD.score:null,size:"md",tone:"number"==typeof sD.score?"success":"muted"})})]})]})]}),(0,t.jsxs)("div",{className:"v2-col-actions",style:{background:"var(--background-secondary)",borderTop:"1px solid var(--border)",display:"flex",alignItems:"center",gap:8,padding:"8px 12px"},children:[(0,t.jsxs)(i.Button,{variant:"ghost",size:"sm",onClick:()=>eU({title:"zh"===Z?"B 实验组执行记录":"B Experiment Records",side:"b"}),children:[(0,t.jsx)(u.ExternalLink,{})," ","zh"===Z?"执行记录":"Records"]}),(0,t.jsx)(i.Button,{variant:"default",size:"sm",onClick:()=>so(eT,"b"),children:"zh"===Z?"✓ 评测":"Evaluate"}),(0,t.jsx)("span",{className:"v2-trace-id",children:sD.sessionId})]})]})]})})]}),(0,t.jsxs)("div",{className:"v2-stage-card s3",style:{background:"white",border:"0.5px solid rgba(0,0,0,0.08)",marginBottom:0,borderLeft:"4px solid #BA7517"},"data-collapsible":O?"1":void 0,"data-collapsed":O?tr.result?"1":"0":void 0,children:[(0,t.jsxs)("div",{className:"v2-stage-card-header",style:{borderBottom:"0.5px solid rgba(0,0,0,0.08)"},onClick:O?()=>tu("result"):void 0,children:[(0,t.jsx)("div",{className:"v2-stage-num-badge",style:{background:"#BA7517",color:"white",justifyContent:"center",alignItems:"center"},children:(0,t.jsx)(D,{})}),(0,t.jsxs)("div",{className:"v2-stage-title-block",children:[(0,t.jsxs)("div",{className:"v2-stage-card-title",style:{display:"flex",justifyContent:"space-between",width:"100%",alignItems:"center"},children:[(0,t.jsx)("span",{children:"zh"===Z?"测评结果":"Evaluation Result"}),(0,t.jsx)("span",{className:"v2-stage-pill active",style:{background:sQ?"#E1F5EE":"#FAEEDA",color:sQ?"#0F6E56":"#854F0B",fontSize:11},children:sQ?"zh"===Z?"✓ 可决策":"Ready":"zh"===Z?"⚡ 等待决策":"Waiting"})]}),(0,t.jsx)("div",{className:"v2-stage-card-subtitle",children:s6})]}),O&&(0,t.jsx)("button",{type:"button",className:"gh-card-chev","aria-label":tr.result?"zh"===Z?"展开":"Expand":"zh"===Z?"折叠":"Collapse",onClick:e=>{e.stopPropagation(),tu("result")}})]}),(0,t.jsx)("div",{className:"v2-stage-card-body",style:{padding:24,display:"flex",flexDirection:"column",gap:16},children:O?(()=>{let e="direct-release"===s5.decision?"pass":"reject"===s5.decision?"reject":"monitor-release"===s5.decision?"warn":"idle",s=(e,t=1)=>"number"==typeof e&&Number.isFinite(e)?e.toFixed(t).replace(/\.0$/,""):"—",a=(e,t=1)=>"number"==typeof e&&Number.isFinite(e)?(e>=0?"+":"")+e.toFixed(t).replace(/\.0$/,"")+"%":"—",n=(e,t=1)=>"number"==typeof e&&Number.isFinite(e)?(e>0?"+":"")+e.toFixed(t).replace(/\.0$/,""):"—",l=eb.find(e=>e.id===ew),i=l?`v${l.semanticVersion||l.version}`:"",r=eN===t_?"zh"===Z?"无 Skill":"No Skill":`v${sx(eb.find(e=>e.id===eN)||eN)}`,o=ew===t_?"zh"===Z?"无 Skill":"No Skill":"zh"===Z?"开 Skill":"With Skill",d=s5.capability,c=s5.cost,u=s5.stability;if(!sQ)return(0,t.jsxs)("div",{className:"gh-verdict-empty",children:[(0,t.jsxs)("div",{className:"gh-verdict-empty-title",children:["⚡ ","zh"===Z?"等待评分":"Waiting for scoring"]}),(0,t.jsx)("div",{className:"gh-verdict-empty-sub",children:"zh"===Z?`已收集 ${s5.sampleSize} 条 \xb7 等待 A/B 两侧执行 + 评测全部完成`:`Collected ${s5.sampleSize} so far \xb7 waiting for both sides to finish`})]});let h=[{key:"capability",label:"zh"===Z?"能力":"Capability",desc:"zh"===Z?"Skill 让 Agent 多做成了多少事":"How much the skill lifts the agent",data:d},{key:"cost",label:"zh"===Z?"成本":"Cost",desc:"zh"===Z?"多花了多少 token / 时间":"Extra tokens / time spent",data:c},{key:"stability",label:"zh"===Z?"稳定性":"Stability",desc:"zh"===Z?"该触发时触发了吗,结果稳吗":"Triggers correctly + stable output",data:u}];return(0,t.jsxs)("div",{className:"gh-verdict-block",children:[(0,t.jsxs)("div",{className:"gh-rc",children:[(0,t.jsxs)("span",{className:"gh-rc-skill",children:[sw?.name||"—",i&&(0,t.jsx)("span",{className:"gh-rc-ver",children:i})]}),(0,t.jsx)("span",{className:"gh-rc-sep",children:"·"}),(0,t.jsxs)("span",{className:"gh-rc-ab",children:[(0,t.jsx)("span",{className:"gh-rc-tag a",children:"A"}),r,(0,t.jsx)("span",{className:"gh-rc-vs",children:"zh"===Z?"对比":"vs"}),(0,t.jsx)("span",{className:"gh-rc-tag b",children:"B"}),o]}),(0,t.jsx)("span",{className:"gh-rc-policy",children:s5.policyVersion})]}),(0,t.jsxs)("div",{className:`gh-decision ${e}`,children:[(0,t.jsx)("div",{className:"gh-decision-verdict",children:(0,t.jsxs)("div",{className:"gh-decision-score",children:["zh"===Z?"综合":"Total"," ",(0,t.jsx)("b",{children:s(s5.totalScore,1)})," / 100"]})}),(0,t.jsxs)("div",{className:"gh-decision-body",children:[(0,t.jsx)("div",{className:"gh-decision-headline",children:s5.rejectCategory?(0,t.jsxs)(t.Fragment,{children:["zh"===Z?"短板在 ":"Bottleneck: ",(0,t.jsx)("span",{className:"hl",children:"capability"===s5.rejectCategory?"zh"===Z?"能力":"Capability":"cost"===s5.rejectCategory?"zh"===Z?"成本":"Cost":"zh"===Z?"稳定性":"Stability"}),"capability"===s5.rejectCategory&&(0,t.jsxs)(t.Fragment,{children:["zh"===Z?":评测均分由 ":" — eval avg ",(0,t.jsxs)("span",{className:"num",children:[s(d.avgEvalScoreA,1)," → ",s(d.avgEvalScoreB,1)]}),"zh"===Z?"(Δ ":" (Δ ",(0,t.jsx)("span",{className:"num",children:n(d.deltaScore,1)}),"zh"===Z?")":")"]}),"cost"===s5.rejectCategory&&(0,t.jsxs)(t.Fragment,{children:["zh"===Z?":ΔToken ":" — ΔToken ",(0,t.jsx)("span",{className:"num",children:a(c.deltaTokenPct,1)}),"zh"===Z?",耗时 ":", duration ",(0,t.jsx)("span",{className:"num",children:a(c.deltaDurationPct,1)})]}),"stability"===s5.rejectCategory&&(0,t.jsxs)(t.Fragment,{children:["zh"===Z?":触发率 ":" — invoke ",(0,t.jsxs)("span",{className:"num",children:[s(u.invokeRate,0),"%"]})]})]}):(0,t.jsx)("span",{children:"zh"===Z?`全维通过 \xb7 综合 ${s(s5.totalScore,1)} / 100`:`All dims pass \xb7 total ${s(s5.totalScore,1)} / 100`})}),s8&&(0,t.jsxs)("div",{className:"gh-decision-next",children:[(0,t.jsx)("b",{children:"zh"===Z?"下一步":"Next"})," · ",s8]})]}),(0,t.jsxs)("div",{className:"gh-decision-actions",children:[(0,t.jsx)("button",{type:"button",className:"gh-btn",onClick:()=>eU({title:"zh"===Z?"B 实验组执行记录":"B Experiment Records",side:"b"}),children:"zh"===Z?"查看 Trace":"View Trace"}),(0,t.jsx)("button",{type:"button",className:"gh-btn is-dark",onClick:su,disabled:sK,children:s_?"zh"===Z?"执行中…":"Running…":`▶ ${"zh"===Z?"复测":"Re-run"}`})]})]}),(0,t.jsxs)("div",{className:"gh-dims",children:[(0,t.jsxs)("div",{className:"gh-dims-row gh-dims-head",children:[(0,t.jsx)("div",{children:"zh"===Z?"维度":"DIM"}),(0,t.jsx)("div",{children:"zh"===Z?"分数":"SCORE"}),(0,t.jsx)("div",{children:"0 · 50 · 75 · 100"}),(0,t.jsx)("div",{children:"zh"===Z?"关键证据":"EVIDENCE"})]}),h.map(e=>{let l,i="green"===(l=e.data.tone)?"good":"amber"===l?"warn":"red"===l?"fail":"idle",r="number"==typeof e.data.score?e.data.score:null;return(0,t.jsxs)("div",{className:"gh-dims-row",children:[(0,t.jsxs)("div",{className:"gh-dim-name-cell",children:[(0,t.jsxs)("div",{className:"gh-dim-name-row",children:[(0,t.jsx)("span",{className:"gh-dim-name",children:e.label}),(0,t.jsx)("span",{className:`gh-dim-pill ${i}`,children:"zh"===Z&&"拒绝"===e.data.label?"高风险":e.data.label})]}),(0,t.jsx)("span",{className:"gh-dim-desc",children:e.desc})]}),(0,t.jsxs)("div",{className:`gh-dim-score ${i}`,children:[null==r?"—":s(r,1),(0,t.jsx)("span",{className:"gh-dim-outof",children:"/ 100"})]}),(0,t.jsx)("div",{className:"gh-dim-bar-cell",children:(0,t.jsx)("div",{className:"gh-dim-bar-track",children:(0,t.jsx)("div",{className:`gh-dim-bar-fill ${i}`,style:{width:`${Math.max(0,Math.min(100,r??0))}%`}})})}),(0,t.jsxs)("div",{className:"gh-dim-evidence",children:["capability"===e.key&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"row",children:["A ",(0,t.jsx)("span",{className:"num",children:s(d.avgEvalScoreA,1)})," ",(0,t.jsx)("span",{className:"arrow",children:"→"})," B ",(0,t.jsx)("span",{className:"num",children:s(d.avgEvalScoreB,1)})]}),(0,t.jsxs)("span",{className:"row",children:["zh"===Z?"评分变化":"Δscore"," ",(0,t.jsx)("span",{className:`delta ${(d.deltaScore??0)>=0?"up":"down"}`,children:n(d.deltaScore,1)})]})]}),"cost"===e.key&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"row",children:["ΔToken ",(0,t.jsx)("span",{className:`delta ${(c.deltaTokenPct??0)<=0?"up":"down"}`,children:a(c.deltaTokenPct,1)})," · ","zh"===Z?"耗时":"Duration"," ",(0,t.jsx)("span",{className:`delta ${(c.deltaDurationPct??0)<=0?"up":"down"}`,children:a(c.deltaDurationPct,1)})]}),"number"==typeof c.baseCost&&"number"==typeof c.score&&(0,t.jsxs)("span",{className:"row",children:["zh"===Z?"能力耦合":"Capability coupling"," ",(0,t.jsx)("span",{className:`delta ${c.score-c.baseCost>=0?"up":"down"}`,children:n(c.score-c.baseCost,0)})]})]}),"stability"===e.key&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"row",children:["zh"===Z?"触发率":"Invoke"," ",(0,t.jsxs)("span",{className:"num",children:[s(u.invokeRate,0),"%"]})]}),(0,t.jsxs)("span",{className:"row",children:["zh"===Z?"方差":"Variance"," ",u.varianceComputable?(0,t.jsx)("span",{className:"num",children:s(u.variance,2)}):(0,t.jsxs)(t.Fragment,{children:["— (R=",s5.repeatRounds,")"]})]})]})]})]},e.key)})]}),(0,t.jsxs)("div",{className:`gh-raw${th?"":" is-collapsed"}`,children:[(0,t.jsxs)("button",{type:"button",className:"gh-raw-head",onClick:()=>tp(e=>!e),children:[(0,t.jsx)("span",{className:"gh-raw-chev"}),(0,t.jsx)("span",{children:"zh"===Z?"原始数据与计算公式":"Raw data & formulas"}),(0,t.jsx)("span",{className:"gh-raw-formula",children:"min(capability, cost, stability)"})]}),(0,t.jsx)("div",{className:"gh-raw-body",children:(0,t.jsxs)("div",{className:"gh-raw-grid",children:[(0,t.jsxs)("div",{className:"gh-raw-card",children:[(0,t.jsxs)("div",{className:"gh-raw-card-head",children:[(0,t.jsx)("span",{className:"gh-raw-card-title",children:"zh"===Z?"能力":"Capability"}),(0,t.jsx)("span",{className:"gh-raw-card-tag",children:"capability"})]}),(0,t.jsxs)("div",{className:"kv",children:[(0,t.jsx)("span",{className:"k",children:"zh"===Z?"评测均分":"Eval avg"}),(0,t.jsx)("span",{className:"a",children:s(d.avgEvalScoreA,1)}),(0,t.jsx)("span",{className:"b",children:s(d.avgEvalScoreB,1)})]}),(0,t.jsxs)("div",{className:"kv",children:[(0,t.jsx)("span",{className:"k",children:"zh"===Z?"通过率":"Pass rate"}),(0,t.jsxs)("span",{className:"a",children:[s(d.passRateA,1),"%"]}),(0,t.jsxs)("span",{className:"b",children:[s(d.passRateB,1),"%"]})]}),(0,t.jsxs)("div",{className:"delta",children:[(0,t.jsx)("span",{className:"k",children:"zh"===Z?"评分变化":"Δscore"}),(0,t.jsx)("span",{className:`v ${(d.deltaScore??0)>=0?"up":"down"}`,children:n(d.deltaScore,1)})]}),d.breakdown?.formula&&(0,t.jsx)("div",{className:"formula",children:d.breakdown.formula})]}),(0,t.jsxs)("div",{className:"gh-raw-card",children:[(0,t.jsxs)("div",{className:"gh-raw-card-head",children:[(0,t.jsx)("span",{className:"gh-raw-card-title",children:"zh"===Z?"成本":"Cost"}),(0,t.jsx)("span",{className:"gh-raw-card-tag",children:"cost"})]}),(0,t.jsxs)("div",{className:"kv",children:[(0,t.jsx)("span",{className:"k",children:"Token"}),(0,t.jsx)("span",{className:"a",children:s(c.avgTokensA,0)}),(0,t.jsx)("span",{className:"b",children:s(c.avgTokensB,0)})]}),(0,t.jsxs)("div",{className:"kv",children:[(0,t.jsxs)("span",{className:"k",children:["zh"===Z?"耗时":"Duration","(s)"]}),(0,t.jsx)("span",{className:"a",children:s(c.avgDurationA,1)}),(0,t.jsx)("span",{className:"b",children:s(c.avgDurationB,1)})]}),(0,t.jsxs)("div",{className:"kv",children:[(0,t.jsx)("span",{className:"k",children:"zh"===Z?"步数":"Steps"}),(0,t.jsx)("span",{className:"a",children:s(c.avgStepsA,1)}),(0,t.jsx)("span",{className:"b",children:s(c.avgStepsB,1)})]}),(0,t.jsxs)("div",{className:"delta",children:[(0,t.jsx)("span",{className:"k",children:"ΔToken"}),(0,t.jsx)("span",{className:`v ${(c.deltaTokenPct??0)<=0?"up":"down"}`,children:a(c.deltaTokenPct,1)})]}),c.breakdown?.formula&&(0,t.jsx)("div",{className:"formula",children:c.breakdown.formula})]}),(0,t.jsxs)("div",{className:"gh-raw-card",children:[(0,t.jsxs)("div",{className:"gh-raw-card-head",children:[(0,t.jsx)("span",{className:"gh-raw-card-title",children:"zh"===Z?"稳定性":"Stability"}),(0,t.jsx)("span",{className:"gh-raw-card-tag",children:"stability"})]}),(0,t.jsxs)("div",{className:"kv",children:[(0,t.jsx)("span",{className:"k",children:"zh"===Z?"触发率":"Invoke rate"}),(0,t.jsx)("span",{className:"a",children:"—"}),(0,t.jsxs)("span",{className:"b",children:[s(u.invokeRate,0),"%"]})]}),(0,t.jsxs)("div",{className:"kv",children:[(0,t.jsx)("span",{className:"k",children:"zh"===Z?"方差":"Variance"}),(0,t.jsx)("span",{className:"a",children:"—"}),(0,t.jsx)("span",{className:"b",children:u.varianceComputable?s(u.variance,3):`— (R=${s5.repeatRounds})`})]}),u.dataQualityIssue&&(0,t.jsxs)("div",{className:"delta",children:[(0,t.jsx)("span",{className:"k",children:"zh"===Z?"告警":"Warning"}),(0,t.jsx)("span",{className:"v warn",children:u.dataQualityIssue})]}),u.breakdown?.formula&&(0,t.jsx)("div",{className:"formula",children:u.breakdown.formula})]}),(0,t.jsxs)("div",{className:"gh-raw-card",children:[(0,t.jsxs)("div",{className:"gh-raw-card-head",children:[(0,t.jsx)("span",{className:"gh-raw-card-title",children:"zh"===Z?"综合(短板原则)":"Verdict (min)"}),(0,t.jsx)("span",{className:"gh-raw-card-tag",children:"verdict"})]}),(0,t.jsxs)("div",{className:"kv",children:[(0,t.jsx)("span",{className:"k",children:"capability"}),(0,t.jsx)("span",{className:"b",style:{color:"var(--gh-st-fail)"},children:s(d.score,1)})]}),(0,t.jsxs)("div",{className:"kv",children:[(0,t.jsx)("span",{className:"k",children:"cost"}),(0,t.jsx)("span",{className:"b",style:{color:"var(--gh-st-warn)"},children:s(c.score,1)})]}),(0,t.jsxs)("div",{className:"kv",children:[(0,t.jsx)("span",{className:"k",children:"stability"}),(0,t.jsx)("span",{className:"b",style:{color:"var(--gh-st-done)"},children:s(u.score,1)})]}),s5.hardGates.length>0&&(0,t.jsxs)("div",{className:"delta",children:[(0,t.jsx)("span",{className:"k",children:"zh"===Z?"命中 hard gate":"Hard gates"}),(0,t.jsx)("span",{className:"v down",children:s5.hardGates.map(e=>e.label).join("、")})]}),(0,t.jsxs)("div",{className:"formula",children:["verdict = min(capability, cost, stability) = ",s(s5.totalScore,1)," → ",s5.gradeLabel||s5.grade]})]})]})})]})]})})():(0,t.jsx)(C,{decisionReady:sQ,abScoring:s5,sampleSize:s5.sampleSize,repeatRounds:s5.repeatRounds,recommendedSampleSize:x.DEFAULT_AB_SCORING_POLICY.recommendedSampleSize,policy:x.DEFAULT_AB_SCORING_POLICY,decisionTitle:s4,decisionAdvice:s8,onViewTrace:()=>eU({title:"zh"===Z?"B 实验组执行记录":"B Experiment Records",side:"b"}),locale:Z,toneColor:e=>"green"===e?"#0F6E56":"red"===e?"#DC2626":"amber"===e?"#BA7517":"#5F5E5A",toneBg:e=>"green"===e?"#E1F5EE":"red"===e?"#FEE2E2":"amber"===e?"#FAEEDA":"#F5F4EE"})})]})]}),tl&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"d-drawer-mask",onClick:()=>ti(!1)}),(0,t.jsx)("div",{className:"d-history-drawer",children:(0,t.jsxs)("div",{className:"d-history-panel",children:[(0,t.jsxs)("div",{className:"d-history-head",children:[(0,t.jsxs)("div",{className:"d-history-head-title",children:[(0,t.jsx)(F,{}),"zh"===Z?"历史任务":"Task History",(0,t.jsxs)("span",{style:{fontWeight:400,color:"var(--ink-4)",fontSize:11,marginLeft:6},children:[sg.length,"zh"===Z?" 条":" tasks"]})]}),(0,t.jsx)("button",{className:"d-drawer-close",onClick:()=>ti(!1),children:"×"})]}),(0,t.jsxs)("div",{className:"d-history-body",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>{sp(),ti(!1)},style:{width:"100%",textAlign:"left",padding:"10px 12px",borderRadius:8,border:"1px dashed var(--accent)",background:"var(--accent-soft)",color:"var(--accent)",fontSize:13,fontWeight:600,cursor:"pointer",marginBottom:10},children:["+ ","zh"===Z?"新建 A/B 任务":"New A/B Task"]}),0===sg.length?(0,t.jsx)("div",{style:{padding:"32px 16px",textAlign:"center",color:"var(--ink-4)",fontSize:12},children:"zh"===Z?"暂无历史任务":"No task history"}):sg.slice().reverse().map(e=>(0,t.jsxs)("div",{className:"d-history-item",style:es?.id===e.id?{borderColor:"var(--accent)",background:"var(--accent-soft)"}:{},onClick:()=>{I&&e.skillId!==I&&e.configJson?.skillId!==I?tQ(I):tZ(e),ti(!1)},children:[(0,t.jsxs)("div",{className:"d-history-item-top",children:[(0,t.jsx)("div",{className:"d-history-item-title",style:es?.id===e.id?{color:"var(--accent)"}:{},children:e.taskName}),(0,t.jsx)("span",{className:"d-history-item-id",children:new Date(e.createdAt).toLocaleString("zh"===Z?"zh-CN":"en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})})]}),e.configJson?.taskDescription&&(0,t.jsx)("div",{className:"d-history-item-query",children:e.configJson.taskDescription})]},e.id))]})]})})]}),e7&&(0,t.jsx)("div",{className:"d-modal-mask",onClick:()=>e3(!1),children:(0,t.jsxs)("div",{className:"d-modal",style:{width:440},onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"d-modal-head",children:[(0,t.jsx)("div",{className:"d-modal-title",children:"zh"===Z?"新建数据集":"New Dataset"}),(0,t.jsx)("button",{className:"d-modal-close",onClick:()=>e3(!1),children:"×"})]}),(0,t.jsxs)("div",{className:"d-modal-body",children:[(0,t.jsxs)("div",{className:"gray-field",children:[(0,t.jsx)("div",{className:"gray-field-label",children:"zh"===Z?"数据集名称":"Dataset Name"}),(0,t.jsx)("input",{className:"gray-input",value:e9,onChange:e=>te(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.nativeEvent.isComposing||sm(),"Escape"===e.key&&e3(!1)},placeholder:"zh"===Z?"请输入数据集名称…":"Enter dataset name…",autoFocus:!0})]}),(0,t.jsx)("div",{style:{marginTop:10,fontSize:12,color:"var(--ink-3)",lineHeight:1.5},children:"zh"===Z?"创建后将自动关联到当前评测任务,可在数据集管理中添加测试用例。":"The dataset will be linked to the current task. Add test cases in Dataset Management."})]}),(0,t.jsxs)("div",{className:"d-modal-foot",children:[(0,t.jsx)("button",{className:"d-btn sm",onClick:()=>e3(!1),children:"zh"===Z?"取消":"Cancel"}),(0,t.jsx)("button",{className:"d-btn sm primary",onClick:sm,disabled:!e9.trim()||tt,children:tt?"zh"===Z?"创建中…":"Creating…":"zh"===Z?"创建":"Create"})]})]})}),(0,t.jsx)(f.NewEvaluationBatchDialog,{open:tx,user:ee||"",defaultTitle:es?.taskName,evaluators:e1,onClose:()=>tv(!1),onCreated:t9}),eW&&(0,t.jsx)("div",{className:"output-modal-overlay",onClick:()=>eL(null),children:(0,t.jsxs)("div",{className:"output-modal",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"output-modal-header",children:[(0,t.jsx)("span",{className:"output-modal-title",children:eW.title}),(0,t.jsx)("button",{className:"output-modal-close",onClick:()=>eL(null),"aria-label":"close",children:"×"})]}),(0,t.jsx)("pre",{className:"output-modal-body",children:eW.content||("zh"===Z?"(空)":"(empty)")})]})}),eO&&(0,t.jsx)("div",{className:"output-modal-overlay",onClick:()=>eU(null),children:(0,t.jsxs)("div",{className:"output-modal",style:{width:"min(980px, calc(100vw - 48px))",maxHeight:"82vh"},onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"output-modal-header",children:[(0,t.jsx)("span",{className:"output-modal-title",children:eO.title}),(0,t.jsx)("button",{className:"output-modal-close",onClick:()=>eU(null),"aria-label":"close",children:"×"})]}),(0,t.jsxs)("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:14},children:[(0,t.jsx)("div",{style:{color:"#5F5E5A",fontSize:13},children:"zh"===Z?"仅展示当前组所有轮次的执行 session id 与评估 session id。点击任一 session id 可跳转链路详情。":"Execution session ids and evaluation session ids for this group only. Click any session id to open its trace detail."}),(H=U=eO.side,q=(sA.length>0?sA:sy?.id?[sy.id]:[]).flatMap(e=>(tz[e]?.[H]?.runs||[]).map(t=>({caseId:e,roundIndex:t.roundIndex||t.runIndex,executionTraceId:t.sessionId||"",evaluationTraceId:t.evaluationTraceId||"",evaluatorRunId:t.evaluatorRunId||"",evaluationResultId:t.evaluationResultId||"",evaluations:t.evaluations||[],status:t.status,score:t.score,failureType:t.failureType,failureDetail:t.failureDetail,output:t.output}))),K="a"===U?"#BA7517":"#1D9E75",X="a"===U?"zh"===Z?"A 对照组":"A Control":"zh"===Z?"B 实验组":"B Experiment",(0,t.jsxs)("div",{style:{border:"1px solid #E7E5E4",borderRadius:8,overflow:"hidden",background:"white"},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px 12px",background:"#FAFAF7",borderBottom:"1px solid #E7E5E4"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontWeight:700,color:"#2C2C2A"},children:[(0,t.jsx)("span",{style:{width:22,height:22,borderRadius:6,background:K,color:"white",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:12},children:U.toUpperCase()}),X]}),(0,t.jsxs)("span",{style:{fontSize:12,color:"#888780"},children:[q.length," traces"]})]}),0===q.length?(0,t.jsx)("div",{style:{padding:14,color:"#888780",fontSize:13},children:"zh"===Z?"暂无执行记录":"No execution records yet"}):(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",maxHeight:420,overflowY:"auto"},children:[(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"140px 1fr 1fr 90px 60px 70px",gap:12,padding:"8px 12px",background:"#FAFAF7",borderBottom:"1px solid #E7E5E4",fontSize:11,fontWeight:700,color:"#5F5E5A",textTransform:"none",letterSpacing:0,position:"sticky",top:0,zIndex:1},children:[(0,t.jsx)("div",{children:"Case ID"}),(0,t.jsx)("div",{children:"zh"===Z?"执行 session id":"Execution session id"}),(0,t.jsx)("div",{children:"zh"===Z?"评估器":"Evaluators"}),(0,t.jsx)("div",{children:"zh"===Z?"评测结果":"Eval result"}),(0,t.jsx)("div",{style:{textAlign:"right"},children:"zh"===Z?"分数":"Score"}),(0,t.jsx)("div",{style:{textAlign:"right"},children:"zh"===Z?"操作":"Action"})]}),q.map((e,s)=>{let a,n,l,i,r,o,d=!!e.failureType,c=d||"fail"!==e.status?"":e.output||"评测失败",u=e.evaluations&&e.evaluations.length>0?e.evaluations:e.evaluatorRunId?[{evaluatorId:eZ,evaluatorName:au.get(eZ)||eZ,status:"pass"===e.status?"done":"fail"!==e.status||d?"evaluating"===e.status?"running":"pending":"failed",evaluatorRunId:e.evaluatorRunId,evaluationTraceId:e.evaluationTraceId,score:e.score,errorMessage:c}]:[],{exec:h,evaluation:p}=function(e){let t,{status:s,hasExecFailure:a,evaluations:n,evaluatorRunId:l}=e,i=s??"pending",r=n||[],o=!!l||r.length>0,d=r.some(e=>"pending"===e.status||"running"===e.status),c=r.some(e=>"failed"===e.status),u=r.some(e=>"done"===e.status);return(t="fail"===i&&a&&!o?{label:"执行失败",tone:"fail"}:"pending"===i?{label:"排队中",tone:"pending"}:"running"===i?{label:"执行中",tone:"running"}:{label:"执行完成",tone:"done"},"pending"===i||"running"===i||"fail"===i&&a)?{exec:t,evaluation:null}:{exec:t,evaluation:d?{label:"评测中",tone:"running"}:"executed"!==i||o?u&&!c?{label:"已评测",tone:"done"}:c?{label:"评测失败",tone:"fail"}:"evaluating"===i?{label:"评测中",tone:"running"}:"pass"===i?{label:"已评测",tone:"done"}:{label:"评测失败",tone:"fail"}:{label:"待评测",tone:"pending"}}}({status:e.status,hasExecFailure:d,evaluations:u,evaluatorRunId:e.evaluatorRunId}),g=d?`[${e.failureType}] ${e.failureDetail||e.output||"执行失败"}`:"",m=!d&&("fail"===e.status||u.some(e=>"failed"===e.status))?c||u.find(e=>"failed"===e.status)?.errorMessage||"评测失败":"",x=T({evaluations:u},e1),v=sb.get(e.caseId),f=v?.datasetId||es?.configJson?.selectedDatasetId,b=v?.sourceType==="trace"?v.sourceExecutionSessionId?`/trace?taskId=${encodeURIComponent(v.sourceExecutionSessionId)}`:null:f&&e.caseId?`/dataset/${encodeURIComponent(f)}?case=${encodeURIComponent(e.caseId)}`:null,y=(u||[]).find(e=>!!e.evaluationResultId&&!!e.evaluatorRunId&&"done"===e.status)||(u||[]).find(e=>!!e.evaluationResultId&&!!e.evaluatorRunId),j=y?.evaluatorRunId||e.evaluatorRunId,k=y?.evaluationResultId||e.evaluationResultId,N=e.executionTraceId&&j&&k?(a=new URLSearchParams({runId:j,resultId:k}),f&&a.set("datasetId",f),`/eval/trajectory/${encodeURIComponent(e.executionTraceId)}?${a.toString()}`):"",S=u.some(e=>"done"===e.status&&"number"==typeof e.score)||"number"==typeof e.score,C=v?.sourceType==="trace"?[v.sourceDatasetName?`dataset: ${v.sourceDatasetName}`:"",v.sourceUploadId?`upload: ${v.sourceUploadId}`:"",v.sourceExecutionSessionId?`execution: ${v.sourceExecutionSessionId}`:""].filter(Boolean).join(" | "):`R${e.roundIndex||"-"} \xb7 ${e.caseId}`;return(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"140px 1fr 1fr 90px 60px 70px",gap:12,alignItems:"center",padding:"10px 12px",borderTop:"1px solid #F1EFE8",fontSize:12},children:[(0,t.jsxs)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},title:C,children:[(0,t.jsxs)("span",{style:{color:"#5F5E5A",fontWeight:600,marginRight:4},children:["R",e.roundIndex||"-"]}),b?(0,t.jsx)("a",{href:b,target:"_blank",rel:"noopener noreferrer",style:{fontFamily:"ui-monospace, monospace",fontSize:11,color:"#185FA5",textDecoration:"none"},onMouseEnter:e=>e.currentTarget.style.textDecoration="underline",onMouseLeave:e=>e.currentTarget.style.textDecoration="none",children:e.caseId}):(0,t.jsx)("span",{style:{fontFamily:"ui-monospace, monospace",fontSize:11,color:"#5F5E5A"},children:e.caseId})]}),(0,t.jsx)("div",{style:{minWidth:0},children:"fail"===h.tone?(0,t.jsx)(w,{trigger:(0,t.jsx)(z,{label:h.label,tone:"fail"}),content:g}):"pending"===h.tone||"running"===h.tone?(0,t.jsx)(z,{label:h.label,tone:h.tone}):e.executionTraceId?(0,t.jsx)("button",{className:"v2-action-btn",style:{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"ui-monospace, monospace"},onClick:()=>window.open(`/trace?taskId=${encodeURIComponent(e.executionTraceId)}`,"_blank"),children:e.executionTraceId}):(0,t.jsx)("span",{style:{color:"#B8B6AE"},children:"—"})}),(0,t.jsx)("div",{style:{minWidth:0},children:p?"fail"===p.tone&&0===u.length?(0,t.jsx)(w,{trigger:(0,t.jsx)(z,{label:p.label,tone:"fail"}),content:m}):("pending"===p.tone||"running"===p.tone)&&0===u.length?(0,t.jsx)(z,{label:p.label,tone:p.tone}):(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6,minWidth:0},children:(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:11,color:"#5F5E5A"},children:u.map(e=>{let s="done"===e.status?"done":"failed"===e.status?"fail":"running"===e.status?"running":"pending";return(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(96px, 1fr) minmax(80px, 1fr) 44px",gap:6,alignItems:"center"},children:[(0,t.jsx)("span",{title:e.evaluatorName,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.evaluatorName}),e.evaluationTraceId?(0,t.jsx)("button",{className:"v2-action-btn",style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"ui-monospace, monospace"},onClick:()=>window.open(`/trace?taskId=${encodeURIComponent(e.evaluationTraceId||"")}`,"_blank"),title:e.evaluatorRunId?`runId: ${e.evaluatorRunId}`:void 0,children:e.evaluationTraceId}):(0,t.jsx)(z,{label:"done"===e.status?"已评测":"failed"===e.status?"失败":"running"===e.status?"评测中":"待评",tone:s}),(0,t.jsx)("span",{style:{textAlign:"right",fontWeight:700,color:"failed"===e.status?"#B91C1C":K},children:"number"==typeof e.score?e.score:"—"})]}),"failed"===e.status&&e.errorMessage?(0,t.jsxs)("div",{style:{fontSize:10.5,color:"#B91C1C",lineHeight:1.4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.errorMessage,children:["⚠ ",e.errorMessage]}):null]},`${e.evaluatorId}-${e.evaluatorRunId||""}`)})})}):(0,t.jsx)("span",{style:{color:"#B8B6AE"},children:"—"})}),(0,t.jsx)("div",{children:N&&S?(0,t.jsxs)("button",{className:"v2-action-btn",style:{fontSize:11,padding:"3px 8px",background:"#EEF2FF",color:"#4F46E5",border:"1px solid rgba(79,70,229,.25)",borderRadius:4,cursor:"pointer",fontWeight:600,whiteSpace:"nowrap"},title:`跳转到单条评测详情 runId=${j}, trace=${e.executionTraceId}, resultId=${k}`,onClick:()=>window.open(N,"_blank"),children:["📋 ","zh"===Z?"查看":"View"]}):p?(0,t.jsx)(z,{label:p.label,tone:p.tone}):e.evaluatorRunId?(0,t.jsx)(z,{label:"zh"===Z?"结果未绑定":"Unbound",tone:"fail"}):(0,t.jsx)("span",{style:{color:"#B8B6AE",fontSize:11},children:"—"})}),(0,t.jsx)("div",{style:{textAlign:"right",color:K,fontWeight:700,fontSize:14},children:"number"==typeof e.score?e.score:"—"}),(0,t.jsx)("div",{style:{textAlign:"right"},children:(n=e.roundIndex||1,l=tB(e.caseId,U,n),i=tR.has(l),r="fail"===h.tone||p&&"fail"===p.tone,o=!d&&!!(p&&"fail"===p.tone),i?(0,t.jsxs)("button",{className:"v2-action-btn",disabled:!0,style:{fontSize:11,padding:"4px 8px",background:"#E7E5E4",color:"#78716C",border:"none",borderRadius:4,cursor:"not-allowed",whiteSpace:"nowrap",opacity:.85},title:"zh"===Z?"重试进行中, 请等待结果。如需打断, 点击顶部「终止」按钮。":"Retry in progress; wait for result or use top Abort button to interrupt.",children:["⏳ ","zh"===Z?"重试中":"Retrying"]}):r?(0,t.jsxs)("button",{className:"v2-action-btn",style:{fontSize:11,padding:"4px 8px",background:"#1C1917",color:"white",border:"none",borderRadius:4,cursor:"pointer",whiteSpace:"nowrap"},title:d?"zh"===Z?"执行失败 → 从执行重试 (会自动评测)":"Retry from execution (auto-evaluate)":"zh"===Z?"评测失败 → 仅重新评失败或缺失的评估器 (复用现有 session)":"Retry failed or missing evaluators only",onClick:()=>{d?st(e.caseId,U,n):ss(e.caseId,U,n,x)},children:["🔁 ",o?"zh"===Z?"重评":"Re-evaluate":"zh"===Z?"重跑":"Rerun"]}):(0,t.jsx)("span",{style:{color:"#B8B6AE",fontSize:11},children:"—"}))})]},`${U}-${e.caseId}-${e.roundIndex}-${s}`)})]})]}))]})]})})]})}e.s(["GrayscaleEvaluation",()=>O,"default",()=>y])}]);
|