agent-insight 0.5.2 → 0.5.4

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.
Files changed (852) hide show
  1. package/.env.example +6 -0
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/app-path-routes-manifest.json +9 -0
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/prerender-manifest.json +51 -3
  6. package/.next/standalone/.next/routes-manifest.json +60 -0
  7. package/.next/standalone/.next/server/app/(main)/accessconfig/channels/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(main)/accessconfig/health/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(main)/accessconfig/install/page.js.nft.json +1 -1
  10. package/.next/standalone/.next/server/app/(main)/accessconfig/install/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(main)/accessconfig/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(main)/accessconfig/webhooks/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(main)/agents/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(main)/agents/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(main)/dashboard/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(main)/dataset/[id]/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(main)/dataset/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(main)/eval/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(main)/eval/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(main)/eval/run/[runId]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(main)/eval/trajectory/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/(main)/evaluation/[id]/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(main)/fault/page.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/(main)/fault/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/(main)/infra/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(main)/infra/sources/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/(main)/memory/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(main)/metrics/evaluators/[id]/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(main)/metrics/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/(main)/metrics/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(main)/modelconfig/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/(main)/optapi/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/(main)/quality/page.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/(main)/quality/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/(main)/security/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/(main)/skill-eval/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/(main)/skill-eval/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/(main)/skill-eval/trigger/[skillName]/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/(main)/skill-generator/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/(main)/skill-history/page.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/(main)/skill-history/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/(main)/skill-opt/[name]/[version]/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/(main)/skill-opt/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/(main)/skill-release/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/(main)/skills/page.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/(main)/skills/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/(main)/trace/page.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/(main)/trace/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/(main)/version-analysis/page/app-paths-manifest.json +3 -0
  61. package/.next/standalone/.next/server/app/(main)/version-analysis/page/build-manifest.json +17 -0
  62. package/.next/standalone/.next/server/app/(main)/version-analysis/page/next-font-manifest.json +6 -0
  63. package/.next/standalone/.next/server/app/(main)/version-analysis/page/react-loadable-manifest.json +1 -0
  64. package/.next/standalone/.next/server/app/(main)/version-analysis/page/server-reference-manifest.json +4 -0
  65. package/.next/standalone/.next/server/app/(main)/version-analysis/page.js +17 -0
  66. package/.next/standalone/.next/server/app/(main)/version-analysis/page.js.map +5 -0
  67. package/.next/standalone/.next/server/app/(main)/version-analysis/page.js.nft.json +1 -0
  68. package/.next/standalone/.next/server/app/(main)/version-analysis/page_client-reference-manifest.js +2 -0
  69. package/.next/standalone/.next/server/app/(main)/version-management/page/app-paths-manifest.json +3 -0
  70. package/.next/standalone/.next/server/app/(main)/version-management/page/build-manifest.json +17 -0
  71. package/.next/standalone/.next/server/app/(main)/version-management/page/next-font-manifest.json +6 -0
  72. package/.next/standalone/.next/server/app/(main)/version-management/page/react-loadable-manifest.json +1 -0
  73. package/.next/standalone/.next/server/app/(main)/version-management/page/server-reference-manifest.json +4 -0
  74. package/.next/standalone/.next/server/app/(main)/version-management/page.js +17 -0
  75. package/.next/standalone/.next/server/app/(main)/version-management/page.js.map +5 -0
  76. package/.next/standalone/.next/server/app/(main)/version-management/page.js.nft.json +1 -0
  77. package/.next/standalone/.next/server/app/(main)/version-management/page_client-reference-manifest.js +2 -0
  78. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  79. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  80. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  81. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  82. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  83. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  84. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  85. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  87. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  88. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  89. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  90. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  91. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  92. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  93. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  94. package/.next/standalone/.next/server/app/accessconfig/channels.html +1 -1
  95. package/.next/standalone/.next/server/app/accessconfig/channels.rsc +5 -5
  96. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels/__PAGE__.segment.rsc +2 -2
  97. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels.segment.rsc +1 -1
  98. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  99. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p.segment.rsc +2 -2
  100. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_full.segment.rsc +5 -5
  101. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_head.segment.rsc +1 -1
  102. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_index.segment.rsc +3 -3
  103. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_tree.segment.rsc +2 -2
  104. package/.next/standalone/.next/server/app/accessconfig/health.html +1 -1
  105. package/.next/standalone/.next/server/app/accessconfig/health.rsc +5 -5
  106. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health/__PAGE__.segment.rsc +2 -2
  107. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health.segment.rsc +1 -1
  108. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  109. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p.segment.rsc +2 -2
  110. package/.next/standalone/.next/server/app/accessconfig/health.segments/_full.segment.rsc +5 -5
  111. package/.next/standalone/.next/server/app/accessconfig/health.segments/_head.segment.rsc +1 -1
  112. package/.next/standalone/.next/server/app/accessconfig/health.segments/_index.segment.rsc +3 -3
  113. package/.next/standalone/.next/server/app/accessconfig/health.segments/_tree.segment.rsc +2 -2
  114. package/.next/standalone/.next/server/app/accessconfig/install.html +2 -2
  115. package/.next/standalone/.next/server/app/accessconfig/install.rsc +5 -5
  116. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install/__PAGE__.segment.rsc +2 -2
  117. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install.segment.rsc +1 -1
  118. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  119. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p.segment.rsc +2 -2
  120. package/.next/standalone/.next/server/app/accessconfig/install.segments/_full.segment.rsc +5 -5
  121. package/.next/standalone/.next/server/app/accessconfig/install.segments/_head.segment.rsc +1 -1
  122. package/.next/standalone/.next/server/app/accessconfig/install.segments/_index.segment.rsc +3 -3
  123. package/.next/standalone/.next/server/app/accessconfig/install.segments/_tree.segment.rsc +2 -2
  124. package/.next/standalone/.next/server/app/accessconfig/webhooks.html +1 -1
  125. package/.next/standalone/.next/server/app/accessconfig/webhooks.rsc +5 -5
  126. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks/__PAGE__.segment.rsc +2 -2
  127. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks.segment.rsc +1 -1
  128. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  129. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p.segment.rsc +2 -2
  130. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_full.segment.rsc +5 -5
  131. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_head.segment.rsc +1 -1
  132. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_index.segment.rsc +3 -3
  133. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_tree.segment.rsc +2 -2
  134. package/.next/standalone/.next/server/app/accessconfig.html +1 -1
  135. package/.next/standalone/.next/server/app/accessconfig.rsc +4 -4
  136. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig/__PAGE__.segment.rsc +1 -1
  137. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  138. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p.segment.rsc +2 -2
  139. package/.next/standalone/.next/server/app/accessconfig.segments/_full.segment.rsc +4 -4
  140. package/.next/standalone/.next/server/app/accessconfig.segments/_head.segment.rsc +1 -1
  141. package/.next/standalone/.next/server/app/accessconfig.segments/_index.segment.rsc +3 -3
  142. package/.next/standalone/.next/server/app/accessconfig.segments/_tree.segment.rsc +2 -2
  143. package/.next/standalone/.next/server/app/agents.html +1 -1
  144. package/.next/standalone/.next/server/app/agents.rsc +5 -5
  145. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +2 -2
  146. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +1 -1
  147. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +2 -2
  148. package/.next/standalone/.next/server/app/agents.segments/_full.segment.rsc +5 -5
  149. package/.next/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  150. package/.next/standalone/.next/server/app/agents.segments/_index.segment.rsc +3 -3
  151. package/.next/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  152. package/.next/standalone/.next/server/app/api/agent/run/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/agent/stream/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/agent-datasets/[id]/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/agent-datasets/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/agents/[id]/route.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/app/api/agents/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/auth/apikey/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/auth/organization/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/dashboard/stats/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/debug/batch-tasks/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/debug/execute/[jobId]/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/debug/execute/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js +10 -10
  166. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/debug/history/[id]/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/debug/history/route.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js +6 -6
  171. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/eval/config/create/route.js.nft.json +1 -1
  173. package/.next/standalone/.next/server/app/api/eval/config/reparse/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/eval/config/route.js +6 -6
  175. package/.next/standalone/.next/server/app/api/eval/config/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/eval/config/status/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/eval/evaluation/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js +6 -6
  179. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/eval/settings/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/eval/settings/test/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js.nft.json +1 -1
  183. package/.next/standalone/.next/server/app/api/eval/trajectory/results/[id]/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/eval/trajectory/results/route.js +5 -5
  185. package/.next/standalone/.next/server/app/api/eval/trajectory/results/route.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js +13 -13
  187. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/eval/trajectory/runs/route.js.nft.json +1 -1
  189. package/.next/standalone/.next/server/app/api/evaluation/[id]/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/evaluation/cancel/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/fault/diagnosis/session/route.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/app/api/fleet/agent/route/app-paths-manifest.json +3 -0
  194. package/.next/standalone/.next/server/app/api/fleet/agent/route/build-manifest.json +11 -0
  195. package/.next/standalone/.next/server/app/api/fleet/agent/route/server-reference-manifest.json +4 -0
  196. package/.next/standalone/.next/server/app/api/fleet/agent/route.js +8 -0
  197. package/.next/standalone/.next/server/app/api/fleet/agent/route.js.map +5 -0
  198. package/.next/standalone/.next/server/app/api/fleet/agent/route.js.nft.json +1 -0
  199. package/.next/standalone/.next/server/app/api/fleet/agent/route_client-reference-manifest.js +2 -0
  200. package/.next/standalone/.next/server/app/api/fleet/breakdowns/route.js +1 -1
  201. package/.next/standalone/.next/server/app/api/fleet/breakdowns/route.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/app/api/fleet/trends/route.js +2 -2
  203. package/.next/standalone/.next/server/app/api/fleet/trends/route.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/app/api/guide/route.js.nft.json +1 -1
  205. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js +3 -3
  206. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js.nft.json +1 -1
  207. package/.next/standalone/.next/server/app/api/ingest/otel/v1/logs/route.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/api/ingest/otel/v1/metrics/route.js.nft.json +1 -1
  209. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js +5 -5
  210. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
  212. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js +9 -9
  213. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/start/route.js.nft.json +1 -1
  215. package/.next/standalone/.next/server/app/api/ingest/sync/manifest/route.js.nft.json +1 -1
  216. package/.next/standalone/.next/server/app/api/ingest/sync/opencode/route.js.nft.json +1 -1
  217. package/.next/standalone/.next/server/app/api/ingest/upload/route.js +8 -8
  218. package/.next/standalone/.next/server/app/api/ingest/upload/route.js.nft.json +1 -1
  219. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route/app-paths-manifest.json +3 -0
  220. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route/build-manifest.json +11 -0
  221. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route/server-reference-manifest.json +4 -0
  222. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route.js +8 -0
  223. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route.js.map +5 -0
  224. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route.js.nft.json +1 -0
  225. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route_client-reference-manifest.js +2 -0
  226. package/.next/standalone/.next/server/app/api/observe/data/route.js +3 -3
  227. package/.next/standalone/.next/server/app/api/observe/data/route.js.nft.json +1 -1
  228. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js.nft.json +1 -1
  229. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js +13 -13
  230. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js.nft.json +1 -1
  231. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
  232. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route.js.nft.json +1 -1
  233. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route/app-paths-manifest.json +3 -0
  234. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route/build-manifest.json +11 -0
  235. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route/server-reference-manifest.json +4 -0
  236. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route.js +8 -0
  237. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route.js.map +5 -0
  238. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route.js.nft.json +1 -0
  239. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route_client-reference-manifest.js +2 -0
  240. package/.next/standalone/.next/server/app/api/observe/infra/history/route.js.nft.json +1 -1
  241. package/.next/standalone/.next/server/app/api/observe/infra/poll/route.js.nft.json +1 -1
  242. package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route.js.nft.json +1 -1
  243. package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route.js.nft.json +1 -1
  244. package/.next/standalone/.next/server/app/api/observe/infra/sources/route.js.nft.json +1 -1
  245. package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route.js.nft.json +1 -1
  246. package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route.js.nft.json +1 -1
  247. package/.next/standalone/.next/server/app/api/observe/session/route.js.nft.json +1 -1
  248. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js +3 -3
  249. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route/app-paths-manifest.json +3 -0
  251. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route/build-manifest.json +11 -0
  252. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route/server-reference-manifest.json +4 -0
  253. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route.js +8 -0
  254. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route.js.map +5 -0
  255. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route.js.nft.json +1 -0
  256. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route_client-reference-manifest.js +2 -0
  257. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route/app-paths-manifest.json +3 -0
  258. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route/build-manifest.json +11 -0
  259. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route/server-reference-manifest.json +4 -0
  260. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route.js +8 -0
  261. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route.js.map +5 -0
  262. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route.js.nft.json +1 -0
  263. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route_client-reference-manifest.js +2 -0
  264. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js +5 -5
  265. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js.nft.json +1 -1
  266. package/.next/standalone/.next/server/app/api/quality/agents/route.js +7 -7
  267. package/.next/standalone/.next/server/app/api/quality/agents/route.js.nft.json +1 -1
  268. package/.next/standalone/.next/server/app/api/quality/backfill/route.js.nft.json +1 -1
  269. package/.next/standalone/.next/server/app/api/quality/executions/route.js +7 -7
  270. package/.next/standalone/.next/server/app/api/quality/executions/route.js.nft.json +1 -1
  271. package/.next/standalone/.next/server/app/api/quality/report/route.js.nft.json +1 -1
  272. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/draft/route.js.nft.json +1 -1
  273. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/route.js.nft.json +1 -1
  274. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/[runId]/cancel/route.js.nft.json +1 -1
  275. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js.nft.json +1 -1
  276. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/runs/route.js.nft.json +1 -1
  277. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/upload/route.js.nft.json +1 -1
  278. package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js.nft.json +1 -1
  279. package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js.nft.json +1 -1
  280. package/.next/standalone/.next/server/app/api/skill-generator/download/[sessionId]/route.js.nft.json +1 -1
  281. package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js.nft.json +1 -1
  282. package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js.nft.json +1 -1
  283. package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js.nft.json +1 -1
  284. package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js.nft.json +1 -1
  285. package/.next/standalone/.next/server/app/api/skill-generator/sessions/[id]/route.js.nft.json +1 -1
  286. package/.next/standalone/.next/server/app/api/skill-generator/sessions/route.js.nft.json +1 -1
  287. package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js.nft.json +1 -1
  288. package/.next/standalone/.next/server/app/api/skill-opt/plan/items/[id]/route.js.nft.json +1 -1
  289. package/.next/standalone/.next/server/app/api/skill-opt/plan/route.js.nft.json +1 -1
  290. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/[draftNumber]/apply/route.js.nft.json +1 -1
  291. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/route.js.nft.json +1 -1
  292. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/route.js.nft.json +1 -1
  293. package/.next/standalone/.next/server/app/api/skill-opt/sessions/route.js.nft.json +1 -1
  294. package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js.nft.json +1 -1
  295. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js +7 -7
  296. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js.nft.json +1 -1
  297. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js +2 -2
  298. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js.nft.json +1 -1
  299. package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js.nft.json +1 -1
  300. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
  301. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluate/route.js.nft.json +1 -1
  302. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluation-summary/route.js.nft.json +1 -1
  303. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/files/[...path]/route.js.nft.json +1 -1
  304. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
  305. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
  306. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js.nft.json +1 -1
  307. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
  308. package/.next/standalone/.next/server/app/api/skills/automation/push/route.js.nft.json +1 -1
  309. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/analysis-diagnosis/route.js.nft.json +1 -1
  310. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/resolve/route.js.nft.json +1 -1
  311. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/route.js.nft.json +1 -1
  312. package/.next/standalone/.next/server/app/api/skills/by-name/route.js.nft.json +1 -1
  313. package/.next/standalone/.next/server/app/api/skills/logs/route.js +6 -6
  314. package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
  315. package/.next/standalone/.next/server/app/api/skills/publish/route.js.nft.json +1 -1
  316. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  317. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.nft.json +1 -1
  318. package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
  319. package/.next/standalone/.next/server/app/api/tags/[id]/route/app-paths-manifest.json +3 -0
  320. package/.next/standalone/.next/server/app/api/tags/[id]/route/build-manifest.json +11 -0
  321. package/.next/standalone/.next/server/app/api/tags/[id]/route/server-reference-manifest.json +4 -0
  322. package/.next/standalone/.next/server/app/api/tags/[id]/route.js +8 -0
  323. package/.next/standalone/.next/server/app/api/tags/[id]/route.js.map +5 -0
  324. package/.next/standalone/.next/server/app/api/tags/[id]/route.js.nft.json +1 -0
  325. package/.next/standalone/.next/server/app/api/tags/[id]/route_client-reference-manifest.js +2 -0
  326. package/.next/standalone/.next/server/app/api/tags/route/app-paths-manifest.json +3 -0
  327. package/.next/standalone/.next/server/app/api/tags/route/build-manifest.json +11 -0
  328. package/.next/standalone/.next/server/app/api/tags/route/server-reference-manifest.json +4 -0
  329. package/.next/standalone/.next/server/app/api/tags/route.js +8 -0
  330. package/.next/standalone/.next/server/app/api/tags/route.js.map +5 -0
  331. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -0
  332. package/.next/standalone/.next/server/app/api/tags/route_client-reference-manifest.js +2 -0
  333. package/.next/standalone/.next/server/app/api/user-evaluators/route.js.nft.json +1 -1
  334. package/.next/standalone/.next/server/app/dashboard.html +1 -1
  335. package/.next/standalone/.next/server/app/dashboard.rsc +5 -5
  336. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard/__PAGE__.segment.rsc +2 -2
  337. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard.segment.rsc +1 -1
  338. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p.segment.rsc +2 -2
  339. package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +5 -5
  340. package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  341. package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +3 -3
  342. package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  343. package/.next/standalone/.next/server/app/dataset.html +1 -1
  344. package/.next/standalone/.next/server/app/dataset.rsc +5 -5
  345. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset/__PAGE__.segment.rsc +2 -2
  346. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset.segment.rsc +1 -1
  347. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p.segment.rsc +2 -2
  348. package/.next/standalone/.next/server/app/dataset.segments/_full.segment.rsc +5 -5
  349. package/.next/standalone/.next/server/app/dataset.segments/_head.segment.rsc +1 -1
  350. package/.next/standalone/.next/server/app/dataset.segments/_index.segment.rsc +3 -3
  351. package/.next/standalone/.next/server/app/dataset.segments/_tree.segment.rsc +2 -2
  352. package/.next/standalone/.next/server/app/eval/trajectory.html +1 -1
  353. package/.next/standalone/.next/server/app/eval/trajectory.rsc +5 -5
  354. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory/__PAGE__.segment.rsc +2 -2
  355. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory.segment.rsc +1 -1
  356. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval.segment.rsc +1 -1
  357. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p.segment.rsc +2 -2
  358. package/.next/standalone/.next/server/app/eval/trajectory.segments/_full.segment.rsc +5 -5
  359. package/.next/standalone/.next/server/app/eval/trajectory.segments/_head.segment.rsc +1 -1
  360. package/.next/standalone/.next/server/app/eval/trajectory.segments/_index.segment.rsc +3 -3
  361. package/.next/standalone/.next/server/app/eval/trajectory.segments/_tree.segment.rsc +2 -2
  362. package/.next/standalone/.next/server/app/eval.html +1 -1
  363. package/.next/standalone/.next/server/app/eval.rsc +5 -5
  364. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval/__PAGE__.segment.rsc +2 -2
  365. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval.segment.rsc +1 -1
  366. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p.segment.rsc +2 -2
  367. package/.next/standalone/.next/server/app/eval.segments/_full.segment.rsc +5 -5
  368. package/.next/standalone/.next/server/app/eval.segments/_head.segment.rsc +1 -1
  369. package/.next/standalone/.next/server/app/eval.segments/_index.segment.rsc +3 -3
  370. package/.next/standalone/.next/server/app/eval.segments/_tree.segment.rsc +2 -2
  371. package/.next/standalone/.next/server/app/fault.html +1 -1
  372. package/.next/standalone/.next/server/app/fault.rsc +5 -5
  373. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault/__PAGE__.segment.rsc +2 -2
  374. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault.segment.rsc +1 -1
  375. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p.segment.rsc +2 -2
  376. package/.next/standalone/.next/server/app/fault.segments/_full.segment.rsc +5 -5
  377. package/.next/standalone/.next/server/app/fault.segments/_head.segment.rsc +1 -1
  378. package/.next/standalone/.next/server/app/fault.segments/_index.segment.rsc +3 -3
  379. package/.next/standalone/.next/server/app/fault.segments/_tree.segment.rsc +2 -2
  380. package/.next/standalone/.next/server/app/index.html +1 -1
  381. package/.next/standalone/.next/server/app/index.rsc +3 -3
  382. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  383. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  384. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  385. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  386. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  387. package/.next/standalone/.next/server/app/infra/sources.html +1 -1
  388. package/.next/standalone/.next/server/app/infra/sources.rsc +5 -5
  389. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources/__PAGE__.segment.rsc +2 -2
  390. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources.segment.rsc +1 -1
  391. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra.segment.rsc +1 -1
  392. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p.segment.rsc +2 -2
  393. package/.next/standalone/.next/server/app/infra/sources.segments/_full.segment.rsc +5 -5
  394. package/.next/standalone/.next/server/app/infra/sources.segments/_head.segment.rsc +1 -1
  395. package/.next/standalone/.next/server/app/infra/sources.segments/_index.segment.rsc +3 -3
  396. package/.next/standalone/.next/server/app/infra/sources.segments/_tree.segment.rsc +2 -2
  397. package/.next/standalone/.next/server/app/infra.html +1 -1
  398. package/.next/standalone/.next/server/app/infra.rsc +5 -5
  399. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra/__PAGE__.segment.rsc +2 -2
  400. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra.segment.rsc +1 -1
  401. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p.segment.rsc +2 -2
  402. package/.next/standalone/.next/server/app/infra.segments/_full.segment.rsc +5 -5
  403. package/.next/standalone/.next/server/app/infra.segments/_head.segment.rsc +1 -1
  404. package/.next/standalone/.next/server/app/infra.segments/_index.segment.rsc +3 -3
  405. package/.next/standalone/.next/server/app/infra.segments/_tree.segment.rsc +2 -2
  406. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  407. package/.next/standalone/.next/server/app/login.html +1 -1
  408. package/.next/standalone/.next/server/app/login.rsc +4 -4
  409. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +4 -4
  410. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  411. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
  412. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  413. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  414. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  415. package/.next/standalone/.next/server/app/memory.html +1 -1
  416. package/.next/standalone/.next/server/app/memory.rsc +5 -5
  417. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory/__PAGE__.segment.rsc +2 -2
  418. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory.segment.rsc +1 -1
  419. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p.segment.rsc +2 -2
  420. package/.next/standalone/.next/server/app/memory.segments/_full.segment.rsc +5 -5
  421. package/.next/standalone/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  422. package/.next/standalone/.next/server/app/memory.segments/_index.segment.rsc +3 -3
  423. package/.next/standalone/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
  424. package/.next/standalone/.next/server/app/metrics.html +1 -1
  425. package/.next/standalone/.next/server/app/metrics.rsc +5 -5
  426. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics/__PAGE__.segment.rsc +2 -2
  427. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics.segment.rsc +1 -1
  428. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p.segment.rsc +2 -2
  429. package/.next/standalone/.next/server/app/metrics.segments/_full.segment.rsc +5 -5
  430. package/.next/standalone/.next/server/app/metrics.segments/_head.segment.rsc +1 -1
  431. package/.next/standalone/.next/server/app/metrics.segments/_index.segment.rsc +3 -3
  432. package/.next/standalone/.next/server/app/metrics.segments/_tree.segment.rsc +2 -2
  433. package/.next/standalone/.next/server/app/modelconfig/registry.html +1 -1
  434. package/.next/standalone/.next/server/app/modelconfig/registry.rsc +5 -5
  435. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry/__PAGE__.segment.rsc +2 -2
  436. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry.segment.rsc +1 -1
  437. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  438. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p.segment.rsc +2 -2
  439. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_full.segment.rsc +5 -5
  440. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_head.segment.rsc +1 -1
  441. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_index.segment.rsc +3 -3
  442. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_tree.segment.rsc +2 -2
  443. package/.next/standalone/.next/server/app/modelconfig/web-search.html +1 -1
  444. package/.next/standalone/.next/server/app/modelconfig/web-search.rsc +5 -5
  445. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search/__PAGE__.segment.rsc +2 -2
  446. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search.segment.rsc +1 -1
  447. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  448. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p.segment.rsc +2 -2
  449. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_full.segment.rsc +5 -5
  450. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_head.segment.rsc +1 -1
  451. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_index.segment.rsc +3 -3
  452. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_tree.segment.rsc +2 -2
  453. package/.next/standalone/.next/server/app/modelconfig.html +1 -1
  454. package/.next/standalone/.next/server/app/modelconfig.rsc +4 -4
  455. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig/__PAGE__.segment.rsc +1 -1
  456. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  457. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p.segment.rsc +2 -2
  458. package/.next/standalone/.next/server/app/modelconfig.segments/_full.segment.rsc +4 -4
  459. package/.next/standalone/.next/server/app/modelconfig.segments/_head.segment.rsc +1 -1
  460. package/.next/standalone/.next/server/app/modelconfig.segments/_index.segment.rsc +3 -3
  461. package/.next/standalone/.next/server/app/modelconfig.segments/_tree.segment.rsc +2 -2
  462. package/.next/standalone/.next/server/app/optapi.html +1 -1
  463. package/.next/standalone/.next/server/app/optapi.rsc +5 -5
  464. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi/__PAGE__.segment.rsc +2 -2
  465. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi.segment.rsc +1 -1
  466. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p.segment.rsc +2 -2
  467. package/.next/standalone/.next/server/app/optapi.segments/_full.segment.rsc +5 -5
  468. package/.next/standalone/.next/server/app/optapi.segments/_head.segment.rsc +1 -1
  469. package/.next/standalone/.next/server/app/optapi.segments/_index.segment.rsc +3 -3
  470. package/.next/standalone/.next/server/app/optapi.segments/_tree.segment.rsc +2 -2
  471. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  472. package/.next/standalone/.next/server/app/quality.html +1 -1
  473. package/.next/standalone/.next/server/app/quality.rsc +5 -5
  474. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality/__PAGE__.segment.rsc +2 -2
  475. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality.segment.rsc +1 -1
  476. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p.segment.rsc +2 -2
  477. package/.next/standalone/.next/server/app/quality.segments/_full.segment.rsc +5 -5
  478. package/.next/standalone/.next/server/app/quality.segments/_head.segment.rsc +1 -1
  479. package/.next/standalone/.next/server/app/quality.segments/_index.segment.rsc +3 -3
  480. package/.next/standalone/.next/server/app/quality.segments/_tree.segment.rsc +2 -2
  481. package/.next/standalone/.next/server/app/security.html +1 -1
  482. package/.next/standalone/.next/server/app/security.rsc +5 -5
  483. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security/__PAGE__.segment.rsc +2 -2
  484. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security.segment.rsc +1 -1
  485. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p.segment.rsc +2 -2
  486. package/.next/standalone/.next/server/app/security.segments/_full.segment.rsc +5 -5
  487. package/.next/standalone/.next/server/app/security.segments/_head.segment.rsc +1 -1
  488. package/.next/standalone/.next/server/app/security.segments/_index.segment.rsc +3 -3
  489. package/.next/standalone/.next/server/app/security.segments/_tree.segment.rsc +2 -2
  490. package/.next/standalone/.next/server/app/skill-detail/page_client-reference-manifest.js +1 -1
  491. package/.next/standalone/.next/server/app/skill-detail.html +1 -1
  492. package/.next/standalone/.next/server/app/skill-detail.rsc +4 -4
  493. package/.next/standalone/.next/server/app/skill-detail.segments/_full.segment.rsc +4 -4
  494. package/.next/standalone/.next/server/app/skill-detail.segments/_head.segment.rsc +1 -1
  495. package/.next/standalone/.next/server/app/skill-detail.segments/_index.segment.rsc +3 -3
  496. package/.next/standalone/.next/server/app/skill-detail.segments/_tree.segment.rsc +2 -2
  497. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail/__PAGE__.segment.rsc +2 -2
  498. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail.segment.rsc +1 -1
  499. package/.next/standalone/.next/server/app/skill-eval/grayscale.html +2 -2
  500. package/.next/standalone/.next/server/app/skill-eval/grayscale.rsc +6 -6
  501. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale/__PAGE__.segment.rsc +2 -2
  502. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale.segment.rsc +1 -1
  503. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  504. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p.segment.rsc +2 -2
  505. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_full.segment.rsc +6 -6
  506. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_head.segment.rsc +1 -1
  507. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_index.segment.rsc +3 -3
  508. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_tree.segment.rsc +2 -2
  509. package/.next/standalone/.next/server/app/skill-eval.html +1 -1
  510. package/.next/standalone/.next/server/app/skill-eval.rsc +6 -6
  511. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval/__PAGE__.segment.rsc +2 -2
  512. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  513. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p.segment.rsc +2 -2
  514. package/.next/standalone/.next/server/app/skill-eval.segments/_full.segment.rsc +6 -6
  515. package/.next/standalone/.next/server/app/skill-eval.segments/_head.segment.rsc +1 -1
  516. package/.next/standalone/.next/server/app/skill-eval.segments/_index.segment.rsc +3 -3
  517. package/.next/standalone/.next/server/app/skill-eval.segments/_tree.segment.rsc +2 -2
  518. package/.next/standalone/.next/server/app/skill-generator.html +1 -1
  519. package/.next/standalone/.next/server/app/skill-generator.rsc +5 -5
  520. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator/__PAGE__.segment.rsc +2 -2
  521. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator.segment.rsc +1 -1
  522. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p.segment.rsc +2 -2
  523. package/.next/standalone/.next/server/app/skill-generator.segments/_full.segment.rsc +5 -5
  524. package/.next/standalone/.next/server/app/skill-generator.segments/_head.segment.rsc +1 -1
  525. package/.next/standalone/.next/server/app/skill-generator.segments/_index.segment.rsc +3 -3
  526. package/.next/standalone/.next/server/app/skill-generator.segments/_tree.segment.rsc +2 -2
  527. package/.next/standalone/.next/server/app/skill-history.html +1 -1
  528. package/.next/standalone/.next/server/app/skill-history.rsc +6 -6
  529. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history/__PAGE__.segment.rsc +2 -2
  530. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history.segment.rsc +1 -1
  531. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p.segment.rsc +2 -2
  532. package/.next/standalone/.next/server/app/skill-history.segments/_full.segment.rsc +6 -6
  533. package/.next/standalone/.next/server/app/skill-history.segments/_head.segment.rsc +1 -1
  534. package/.next/standalone/.next/server/app/skill-history.segments/_index.segment.rsc +3 -3
  535. package/.next/standalone/.next/server/app/skill-history.segments/_tree.segment.rsc +2 -2
  536. package/.next/standalone/.next/server/app/skill-opt.html +1 -1
  537. package/.next/standalone/.next/server/app/skill-opt.rsc +5 -5
  538. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt/__PAGE__.segment.rsc +2 -2
  539. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt.segment.rsc +1 -1
  540. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p.segment.rsc +2 -2
  541. package/.next/standalone/.next/server/app/skill-opt.segments/_full.segment.rsc +5 -5
  542. package/.next/standalone/.next/server/app/skill-opt.segments/_head.segment.rsc +1 -1
  543. package/.next/standalone/.next/server/app/skill-opt.segments/_index.segment.rsc +3 -3
  544. package/.next/standalone/.next/server/app/skill-opt.segments/_tree.segment.rsc +2 -2
  545. package/.next/standalone/.next/server/app/skill-release.html +1 -1
  546. package/.next/standalone/.next/server/app/skill-release.rsc +5 -5
  547. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release/__PAGE__.segment.rsc +2 -2
  548. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release.segment.rsc +1 -1
  549. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p.segment.rsc +2 -2
  550. package/.next/standalone/.next/server/app/skill-release.segments/_full.segment.rsc +5 -5
  551. package/.next/standalone/.next/server/app/skill-release.segments/_head.segment.rsc +1 -1
  552. package/.next/standalone/.next/server/app/skill-release.segments/_index.segment.rsc +3 -3
  553. package/.next/standalone/.next/server/app/skill-release.segments/_tree.segment.rsc +2 -2
  554. package/.next/standalone/.next/server/app/skills.html +1 -1
  555. package/.next/standalone/.next/server/app/skills.rsc +5 -5
  556. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills/__PAGE__.segment.rsc +2 -2
  557. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills.segment.rsc +1 -1
  558. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p.segment.rsc +2 -2
  559. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
  560. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  561. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
  562. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  563. package/.next/standalone/.next/server/app/trace.html +1 -1
  564. package/.next/standalone/.next/server/app/trace.rsc +8 -8
  565. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace/__PAGE__.segment.rsc +2 -2
  566. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace.segment.rsc +1 -1
  567. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p.segment.rsc +2 -2
  568. package/.next/standalone/.next/server/app/trace.segments/_full.segment.rsc +8 -8
  569. package/.next/standalone/.next/server/app/trace.segments/_head.segment.rsc +1 -1
  570. package/.next/standalone/.next/server/app/trace.segments/_index.segment.rsc +3 -3
  571. package/.next/standalone/.next/server/app/trace.segments/_tree.segment.rsc +2 -2
  572. package/.next/standalone/.next/server/app/version-analysis.html +1 -0
  573. package/.next/standalone/.next/server/app/version-analysis.meta +16 -0
  574. package/.next/standalone/.next/server/app/version-analysis.rsc +23 -0
  575. package/.next/standalone/.next/server/app/version-analysis.segments/!KG1haW4p/version-analysis/__PAGE__.segment.rsc +9 -0
  576. package/.next/standalone/.next/server/app/version-analysis.segments/!KG1haW4p/version-analysis.segment.rsc +4 -0
  577. package/.next/standalone/.next/server/app/version-analysis.segments/!KG1haW4p.segment.rsc +7 -0
  578. package/.next/standalone/.next/server/app/version-analysis.segments/_full.segment.rsc +23 -0
  579. package/.next/standalone/.next/server/app/version-analysis.segments/_head.segment.rsc +6 -0
  580. package/.next/standalone/.next/server/app/version-analysis.segments/_index.segment.rsc +6 -0
  581. package/.next/standalone/.next/server/app/version-analysis.segments/_tree.segment.rsc +2 -0
  582. package/.next/standalone/.next/server/app/version-management.html +1 -0
  583. package/.next/standalone/.next/server/app/version-management.meta +16 -0
  584. package/.next/standalone/.next/server/app/version-management.rsc +22 -0
  585. package/.next/standalone/.next/server/app/version-management.segments/!KG1haW4p/version-management/__PAGE__.segment.rsc +9 -0
  586. package/.next/standalone/.next/server/app/version-management.segments/!KG1haW4p/version-management.segment.rsc +4 -0
  587. package/.next/standalone/.next/server/app/version-management.segments/!KG1haW4p.segment.rsc +7 -0
  588. package/.next/standalone/.next/server/app/version-management.segments/_full.segment.rsc +22 -0
  589. package/.next/standalone/.next/server/app/version-management.segments/_head.segment.rsc +6 -0
  590. package/.next/standalone/.next/server/app/version-management.segments/_index.segment.rsc +6 -0
  591. package/.next/standalone/.next/server/app/version-management.segments/_tree.segment.rsc +2 -0
  592. package/.next/standalone/.next/server/app-paths-manifest.json +9 -0
  593. package/.next/standalone/.next/server/chunks/[root-of-the-server]__096d00c3._.js +3 -0
  594. package/.next/standalone/.next/server/chunks/[root-of-the-server]__28078c4e._.js +1 -1
  595. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4509f30c._.js +1 -1
  596. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5386e9b4._.js +22 -0
  597. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5cb21a03._.js +3 -0
  598. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fe0c73e._.js +1 -1
  599. package/.next/standalone/.next/server/chunks/[root-of-the-server]__88e070f0._.js +1 -1
  600. package/.next/standalone/.next/server/chunks/[root-of-the-server]__98ce63c7._.js +1 -1
  601. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9f6a4627._.js +1 -1
  602. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b0d1e6e5._.js +22 -0
  603. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c60fa3da._.js +22 -0
  604. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c875b500._.js +3 -0
  605. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c8b9af98._.js +1 -1
  606. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cfcf074d._.js +3 -0
  607. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d754b2c2._.js +3 -0
  608. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e60b9568._.js +22 -0
  609. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8b9c639._.js +22 -0
  610. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f30eea21._.js +3 -0
  611. package/.next/standalone/.next/server/chunks/_05c80664._.js +1 -1
  612. package/.next/standalone/.next/server/chunks/_0ce5f29d._.js +1 -1
  613. package/.next/standalone/.next/server/chunks/_0e34c123._.js +3 -3
  614. package/.next/standalone/.next/server/chunks/_1c2f3589._.js +1 -1
  615. package/.next/standalone/.next/server/chunks/{_1a32fa23._.js → _5090183e._.js} +2 -2
  616. package/.next/standalone/.next/server/chunks/{_e84c3e5f._.js → _6a203624._.js} +1 -1
  617. package/.next/standalone/.next/server/chunks/{_a0074544._.js → _70b9b972._.js} +1 -1
  618. package/.next/standalone/.next/server/chunks/_78c6471e._.js +1 -1
  619. package/.next/standalone/.next/server/chunks/_adf9e9c5._.js +1 -1
  620. package/.next/standalone/.next/server/chunks/_b172b746._.js +3 -3
  621. package/.next/standalone/.next/server/chunks/_cfa898f4._.js +1 -1
  622. package/.next/standalone/.next/server/chunks/{_547fcde4._.js → _d02fac80._.js} +2 -2
  623. package/.next/standalone/.next/server/chunks/_d043f698._.js +1 -1
  624. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_fleet_agent_route_actions_b98e2c99.js +3 -0
  625. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_modelconfig_pricing_route_actions_bca6856d.js +3 -0
  626. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_tags_[id]_route_actions_a6f8b324.js +3 -0
  627. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_tags_route_actions_caf13f5f.js +3 -0
  628. package/.next/standalone/.next/server/chunks/bec2d_app_api_observe_version-analysis_tags_[tagId]_traces_route_actions_ff37f2d3.js +3 -0
  629. package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_executions_[executionId]_tags_route_actions_08aa41a4.js +3 -0
  630. package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_version-analysis_compare_route_actions_b48ab573.js +3 -0
  631. package/.next/standalone/.next/server/chunks/src_lib_266d6cf4._.js +51 -0
  632. package/.next/standalone/.next/server/chunks/src_lib_5d95b500._.js +3 -0
  633. package/.next/standalone/.next/server/chunks/src_lib_67530201._.js +51 -0
  634. package/.next/standalone/.next/server/chunks/src_lib_9513f84d._.js +48 -0
  635. package/.next/standalone/.next/server/chunks/src_lib_9d09752c._.js +1 -1
  636. package/.next/standalone/.next/server/chunks/src_lib_a03a423b._.js +48 -0
  637. package/.next/standalone/.next/server/chunks/src_lib_a2a34aa6._.js +1 -1
  638. package/.next/standalone/.next/server/chunks/{src_lib_4751db31._.js → src_lib_dc72b90b._.js} +1 -1
  639. package/.next/standalone/.next/server/chunks/src_lib_ea85a447._.js +1 -1
  640. package/.next/standalone/.next/server/chunks/src_lib_engine_general-agent_970b1dfe._.js +2 -2
  641. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0eb5d21d._.js +3 -0
  642. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__83687057._.js +3 -0
  643. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__85e7edfe._.js +3 -0
  644. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__b8d3d1c3._.js +8 -0
  645. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c69baa4a._.js +3 -0
  646. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__f82e551e._.js +3 -0
  647. package/.next/standalone/.next/server/chunks/ssr/_051b1443._.js +3 -0
  648. package/.next/standalone/.next/server/chunks/ssr/_0ae78458._.js +3 -0
  649. package/.next/standalone/.next/server/chunks/ssr/{_400d0da3._.js → _1278164d._.js} +2 -2
  650. package/.next/standalone/.next/server/chunks/ssr/_15e714f2._.js +3 -0
  651. package/.next/standalone/.next/server/chunks/ssr/_2f20fbfc._.js +3 -0
  652. package/.next/standalone/.next/server/chunks/ssr/_4e720925._.js +3 -0
  653. package/.next/standalone/.next/server/chunks/ssr/_5aa55aa6._.js +3 -0
  654. package/.next/standalone/.next/server/chunks/ssr/_8b68f69f._.js +3 -0
  655. package/.next/standalone/.next/server/chunks/ssr/_8d4b753e._.js +3 -0
  656. package/.next/standalone/.next/server/chunks/ssr/_976dfbab._.js +4 -0
  657. package/.next/standalone/.next/server/chunks/ssr/_aab048d0._.js +1 -1
  658. package/.next/standalone/.next/server/chunks/ssr/_be1ffbbf._.js +12 -0
  659. package/.next/standalone/.next/server/chunks/ssr/_c815e0e7._.js +4 -0
  660. package/.next/standalone/.next/server/chunks/ssr/_e4c81263._.js +3 -0
  661. package/.next/standalone/.next/server/chunks/ssr/{_a3d5f9bc._.js → _e5ee8977._.js} +2 -2
  662. package/.next/standalone/.next/server/chunks/ssr/_f634ea15._.js +12 -0
  663. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_(main)_version-analysis_page_actions_479d49a7.js +3 -0
  664. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_(main)_version-management_page_actions_aea5ae93.js +3 -0
  665. package/.next/standalone/.next/server/chunks/ssr/node_modules_11388c48._.js +3 -0
  666. package/.next/standalone/.next/server/chunks/ssr/node_modules_32596a86._.js +3 -0
  667. package/.next/standalone/.next/server/chunks/ssr/{node_modules_a443e166._.js → node_modules_3b1fd8eb._.js} +2 -2
  668. package/.next/standalone/.next/server/chunks/ssr/node_modules_7680a21d._.js +3 -0
  669. package/.next/standalone/.next/server/chunks/ssr/node_modules_bfffaa78._.js +3 -0
  670. package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_2e7afafc._.js +3 -0
  671. package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_cd0b182b._.js +3 -0
  672. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_accessconfig_install_page_tsx_6f4ef3fc._.js +3 -3
  673. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_dashboard_page_tsx_7eac7774._.js +1 -1
  674. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_fault_page_tsx_96431a5d._.js +2 -2
  675. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_metrics_page_tsx_f1599761._.js +1 -1
  676. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_modelconfig_registry_page_tsx_1ead2fd4._.js +1 -1
  677. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_quality_page_tsx_26bb8e80._.js +1 -1
  678. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_trace_page_tsx_41e7865d._.js +1 -1
  679. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_version-analysis_page_tsx_63ae8791._.js +3 -0
  680. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_version-management_page_tsx_87fe0372._.js +3 -0
  681. package/.next/standalone/.next/server/chunks/ssr/src_components_ui_select_tsx_4c0f64d8._.js +1 -1
  682. package/.next/standalone/.next/server/chunks/ssr/{src_lib_evaluators_7597c2fd._.js → src_lib_070bb60a._.js} +2 -2
  683. package/.next/standalone/.next/server/chunks/ssr/src_lib_client_locale-context_tsx_7184d9aa._.js +1 -1
  684. package/.next/standalone/.next/server/pages/404.html +1 -1
  685. package/.next/standalone/.next/server/pages/500.html +2 -2
  686. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  687. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  688. package/.next/standalone/.next/static/chunks/0257c68e82e9f2b0.js +1 -0
  689. package/.next/standalone/.next/static/chunks/{8754e0cf40813330.js → 06ac4297aa02f40a.js} +1 -1
  690. package/.next/standalone/.next/static/chunks/151b95e65092aa16.js +1 -0
  691. package/.next/standalone/.next/static/chunks/1624a1adcb73d784.js +1 -0
  692. package/.next/standalone/.next/static/chunks/1f173de64ad85757.js +10 -0
  693. package/.next/standalone/.next/static/chunks/{4dcd21eef469e66b.js → 2064add303799ffc.js} +1 -1
  694. package/.next/standalone/.next/static/chunks/2fb55cc737806639.js +1 -0
  695. package/.next/standalone/.next/static/chunks/3184105f3d2b47a1.js +10 -0
  696. package/.next/standalone/.next/static/chunks/379315313d164a57.js +1 -0
  697. package/.next/standalone/.next/static/chunks/39157b51ed6489eb.js +1 -0
  698. package/.next/standalone/.next/static/chunks/{dc22f906bd43e9a3.js → 46308ae9f83ac112.js} +3 -3
  699. package/.next/standalone/.next/static/chunks/4d2c017f2f4c9160.css +1 -0
  700. package/.next/standalone/.next/static/chunks/54538e1a80e53392.js +1 -0
  701. package/.next/standalone/.next/static/chunks/599fdc4cf6eb9e95.js +1 -0
  702. package/.next/standalone/.next/static/chunks/5be4d965983c6b40.js +6 -0
  703. package/.next/standalone/.next/static/chunks/63220d0acc5073cc.js +1 -0
  704. package/.next/standalone/.next/static/chunks/6da1d3424f804755.js +1 -0
  705. package/.next/standalone/.next/static/chunks/{04bc84975996b76d.js → 7884153c8f8649dd.js} +1 -1
  706. package/.next/{static/chunks/6b2552d3da7451ee.js → standalone/.next/static/chunks/85ce12a5c9536a2d.js} +1 -1
  707. package/.next/standalone/.next/static/chunks/8668d6f4c34d1e67.js +3 -0
  708. package/.next/standalone/.next/static/chunks/913c61f4f0a12da4.js +1 -0
  709. package/.next/standalone/.next/static/chunks/97822ca2c186f93d.js +1 -0
  710. package/.next/{static/chunks/96c7e2e47438553a.js → standalone/.next/static/chunks/98588c35b1e00bea.js} +1 -1
  711. package/.next/standalone/.next/static/chunks/a99fb4f44f9a41f3.js +1 -0
  712. package/.next/standalone/.next/static/chunks/b11e37b43e38eb95.js +1 -0
  713. package/.next/standalone/.next/static/chunks/b223106f6c610a67.js +1 -0
  714. package/.next/standalone/.next/static/chunks/cc9a7b6a8edabe81.js +1 -0
  715. package/.next/standalone/.next/static/chunks/cf0b4e5d7b804bf5.js +1 -0
  716. package/.next/standalone/.next/static/chunks/cfb3924a60d22c64.js +1 -0
  717. package/.next/standalone/.next/static/chunks/d15d7f6146b85000.js +1 -0
  718. package/.next/standalone/.next/static/chunks/dee90c3e29cd39bb.js +1 -0
  719. package/.next/standalone/.next/static/chunks/df6f2eedbe05162e.js +1 -0
  720. package/.next/standalone/.next/static/chunks/e0af9e5baf811284.js +4 -0
  721. package/.next/standalone/.next/static/chunks/f61ffd647f90b66c.js +1 -0
  722. package/.next/standalone/.next/static/chunks/{bf909bd0ff1898e4.js → f6954ae67d81050e.js} +1 -1
  723. package/.next/standalone/.next/static/chunks/fc7f5db841a7032a.js +1 -0
  724. package/.next/standalone/docker-compose.amd64.yml +2 -1
  725. package/.next/standalone/docker-compose.arm64.yml +11 -0
  726. package/.next/standalone/node_modules/.prisma/client/edge.js +26 -3
  727. package/.next/standalone/node_modules/.prisma/client/index-browser.js +23 -0
  728. package/.next/standalone/node_modules/.prisma/client/index.js +26 -3
  729. package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
  730. package/.next/standalone/node_modules/.prisma/client/schema.prisma +39 -0
  731. package/.next/standalone/node_modules/.prisma/client/wasm.js +23 -0
  732. package/.next/standalone/package.json +1 -1
  733. package/.next/standalone/prisma/schema.prisma +38 -0
  734. package/.next/static/chunks/0257c68e82e9f2b0.js +1 -0
  735. package/.next/static/chunks/{8754e0cf40813330.js → 06ac4297aa02f40a.js} +1 -1
  736. package/.next/static/chunks/151b95e65092aa16.js +1 -0
  737. package/.next/static/chunks/1624a1adcb73d784.js +1 -0
  738. package/.next/static/chunks/1f173de64ad85757.js +10 -0
  739. package/.next/static/chunks/{4dcd21eef469e66b.js → 2064add303799ffc.js} +1 -1
  740. package/.next/static/chunks/2fb55cc737806639.js +1 -0
  741. package/.next/static/chunks/3184105f3d2b47a1.js +10 -0
  742. package/.next/static/chunks/379315313d164a57.js +1 -0
  743. package/.next/static/chunks/39157b51ed6489eb.js +1 -0
  744. package/.next/static/chunks/{dc22f906bd43e9a3.js → 46308ae9f83ac112.js} +3 -3
  745. package/.next/static/chunks/4d2c017f2f4c9160.css +1 -0
  746. package/.next/static/chunks/54538e1a80e53392.js +1 -0
  747. package/.next/static/chunks/599fdc4cf6eb9e95.js +1 -0
  748. package/.next/static/chunks/5be4d965983c6b40.js +6 -0
  749. package/.next/static/chunks/63220d0acc5073cc.js +1 -0
  750. package/.next/static/chunks/6da1d3424f804755.js +1 -0
  751. package/.next/static/chunks/{04bc84975996b76d.js → 7884153c8f8649dd.js} +1 -1
  752. package/.next/{standalone/.next/static/chunks/6b2552d3da7451ee.js → static/chunks/85ce12a5c9536a2d.js} +1 -1
  753. package/.next/static/chunks/8668d6f4c34d1e67.js +3 -0
  754. package/.next/static/chunks/913c61f4f0a12da4.js +1 -0
  755. package/.next/static/chunks/97822ca2c186f93d.js +1 -0
  756. package/.next/{standalone/.next/static/chunks/96c7e2e47438553a.js → static/chunks/98588c35b1e00bea.js} +1 -1
  757. package/.next/static/chunks/a99fb4f44f9a41f3.js +1 -0
  758. package/.next/static/chunks/b11e37b43e38eb95.js +1 -0
  759. package/.next/static/chunks/b223106f6c610a67.js +1 -0
  760. package/.next/static/chunks/cc9a7b6a8edabe81.js +1 -0
  761. package/.next/static/chunks/cf0b4e5d7b804bf5.js +1 -0
  762. package/.next/static/chunks/cfb3924a60d22c64.js +1 -0
  763. package/.next/static/chunks/d15d7f6146b85000.js +1 -0
  764. package/.next/static/chunks/dee90c3e29cd39bb.js +1 -0
  765. package/.next/static/chunks/df6f2eedbe05162e.js +1 -0
  766. package/.next/static/chunks/e0af9e5baf811284.js +4 -0
  767. package/.next/static/chunks/f61ffd647f90b66c.js +1 -0
  768. package/.next/static/chunks/{bf909bd0ff1898e4.js → f6954ae67d81050e.js} +1 -1
  769. package/.next/static/chunks/fc7f5db841a7032a.js +1 -0
  770. package/package.json +1 -1
  771. package/prisma/schema.prisma +38 -0
  772. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2574e6ed._.js +0 -3
  773. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2710fb53._.js +0 -3
  774. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8cc92af1._.js +0 -3
  775. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d2e5f60._.js +0 -3
  776. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd3dc3ab._.js +0 -3
  777. package/.next/standalone/.next/server/chunks/src_lib_6cb48964._.js +0 -32
  778. package/.next/standalone/.next/server/chunks/src_lib_a3155704._.js +0 -3
  779. package/.next/standalone/.next/server/chunks/src_lib_baaf83ef._.js +0 -29
  780. package/.next/standalone/.next/server/chunks/src_lib_bf0ee699._.js +0 -32
  781. package/.next/standalone/.next/server/chunks/src_lib_dbf3c792._.js +0 -29
  782. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2ec2bb09._.js +0 -3
  783. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3cb83dc3._.js +0 -3
  784. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c9cf8076._.js +0 -8
  785. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__fc94ba06._.js +0 -3
  786. package/.next/standalone/.next/server/chunks/ssr/_0141e5c7._.js +0 -3
  787. package/.next/standalone/.next/server/chunks/ssr/_0acdaaae._.js +0 -3
  788. package/.next/standalone/.next/server/chunks/ssr/_231821bd._.js +0 -3
  789. package/.next/standalone/.next/server/chunks/ssr/_5d1f8671._.js +0 -12
  790. package/.next/standalone/.next/server/chunks/ssr/_8bba8b8d._.js +0 -3
  791. package/.next/standalone/.next/server/chunks/ssr/_96725836._.js +0 -12
  792. package/.next/standalone/.next/server/chunks/ssr/_b08dc931._.js +0 -3
  793. package/.next/standalone/.next/server/chunks/ssr/_c4db9cec._.js +0 -3
  794. package/.next/standalone/.next/server/chunks/ssr/node_modules_8bfa35b3._.js +0 -3
  795. package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_30858f09._.js +0 -3
  796. package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_f1e06ad8._.js +0 -3
  797. package/.next/standalone/.next/static/chunks/0b6bd84bf10579a4.js +0 -10
  798. package/.next/standalone/.next/static/chunks/0bca64d67dceae3f.js +0 -1
  799. package/.next/standalone/.next/static/chunks/16047b19dda5c90d.js +0 -10
  800. package/.next/standalone/.next/static/chunks/3a0f454536f3ebc8.js +0 -1
  801. package/.next/standalone/.next/static/chunks/3d19f62114122bd3.js +0 -1
  802. package/.next/standalone/.next/static/chunks/3d6127f72467176d.js +0 -1
  803. package/.next/standalone/.next/static/chunks/44545e70bb7a33b8.js +0 -1
  804. package/.next/standalone/.next/static/chunks/4e52a5c5e332595a.js +0 -1
  805. package/.next/standalone/.next/static/chunks/6238734a2f04b1f9.js +0 -1
  806. package/.next/standalone/.next/static/chunks/66b23011cd8544ad.js +0 -1
  807. package/.next/standalone/.next/static/chunks/7a758615e3d35d6d.js +0 -1
  808. package/.next/standalone/.next/static/chunks/7a7dc24eed0484dc.js +0 -1
  809. package/.next/standalone/.next/static/chunks/7d4fa817c5229801.js +0 -1
  810. package/.next/standalone/.next/static/chunks/8f18a711543d804a.js +0 -1
  811. package/.next/standalone/.next/static/chunks/9155a6c07dc0502d.js +0 -6
  812. package/.next/standalone/.next/static/chunks/94fdb955b1dc512a.js +0 -1
  813. package/.next/standalone/.next/static/chunks/97b8d7ea5d04e2a2.js +0 -1
  814. package/.next/standalone/.next/static/chunks/a31bf4e176b5e90c.js +0 -3
  815. package/.next/standalone/.next/static/chunks/b9597989b5b0abd3.js +0 -1
  816. package/.next/standalone/.next/static/chunks/d170174df1128338.js +0 -1
  817. package/.next/standalone/.next/static/chunks/d91c2c0bbe0b59ab.js +0 -1
  818. package/.next/standalone/.next/static/chunks/e159d293fc72e91b.css +0 -1
  819. package/.next/standalone/.next/static/chunks/e45a4e085c7ce03c.js +0 -1
  820. package/.next/standalone/.next/static/chunks/efe225251ea151f0.js +0 -4
  821. package/.next/standalone/.next/static/chunks/ffd21617593aaafd.js +0 -1
  822. package/.next/static/chunks/0b6bd84bf10579a4.js +0 -10
  823. package/.next/static/chunks/0bca64d67dceae3f.js +0 -1
  824. package/.next/static/chunks/16047b19dda5c90d.js +0 -10
  825. package/.next/static/chunks/3a0f454536f3ebc8.js +0 -1
  826. package/.next/static/chunks/3d19f62114122bd3.js +0 -1
  827. package/.next/static/chunks/3d6127f72467176d.js +0 -1
  828. package/.next/static/chunks/44545e70bb7a33b8.js +0 -1
  829. package/.next/static/chunks/4e52a5c5e332595a.js +0 -1
  830. package/.next/static/chunks/6238734a2f04b1f9.js +0 -1
  831. package/.next/static/chunks/66b23011cd8544ad.js +0 -1
  832. package/.next/static/chunks/7a758615e3d35d6d.js +0 -1
  833. package/.next/static/chunks/7a7dc24eed0484dc.js +0 -1
  834. package/.next/static/chunks/7d4fa817c5229801.js +0 -1
  835. package/.next/static/chunks/8f18a711543d804a.js +0 -1
  836. package/.next/static/chunks/9155a6c07dc0502d.js +0 -6
  837. package/.next/static/chunks/94fdb955b1dc512a.js +0 -1
  838. package/.next/static/chunks/97b8d7ea5d04e2a2.js +0 -1
  839. package/.next/static/chunks/a31bf4e176b5e90c.js +0 -3
  840. package/.next/static/chunks/b9597989b5b0abd3.js +0 -1
  841. package/.next/static/chunks/d170174df1128338.js +0 -1
  842. package/.next/static/chunks/d91c2c0bbe0b59ab.js +0 -1
  843. package/.next/static/chunks/e159d293fc72e91b.css +0 -1
  844. package/.next/static/chunks/e45a4e085c7ce03c.js +0 -1
  845. package/.next/static/chunks/efe225251ea151f0.js +0 -4
  846. package/.next/static/chunks/ffd21617593aaafd.js +0 -1
  847. /package/.next/standalone/.next/static/{iE8084jR9Kgb7Bhs3Xokh → pzAy0mrZCL0PmE4h3HDut}/_buildManifest.js +0 -0
  848. /package/.next/standalone/.next/static/{iE8084jR9Kgb7Bhs3Xokh → pzAy0mrZCL0PmE4h3HDut}/_clientMiddlewareManifest.json +0 -0
  849. /package/.next/standalone/.next/static/{iE8084jR9Kgb7Bhs3Xokh → pzAy0mrZCL0PmE4h3HDut}/_ssgManifest.js +0 -0
  850. /package/.next/static/{iE8084jR9Kgb7Bhs3Xokh → pzAy0mrZCL0PmE4h3HDut}/_buildManifest.js +0 -0
  851. /package/.next/static/{iE8084jR9Kgb7Bhs3Xokh → pzAy0mrZCL0PmE4h3HDut}/_clientMiddlewareManifest.json +0 -0
  852. /package/.next/static/{iE8084jR9Kgb7Bhs3Xokh → pzAy0mrZCL0PmE4h3HDut}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,76706,861171,e=>{"use strict";function t(e,r=1){return null==e||Number.isNaN(e)?"--":(100*e).toFixed(r)}e.s(["fmtPercentScore",()=>t],76706);let r="[no-evaluable-case]",n="preset-agent-trace-quality",a={trace:"Trace 数据问题",dataset:"评测集配置问题",case:"Case 配置问题",skill:"Skill 归因问题",model:"模型调用问题",evaluator:"评测器问题",system:"系统问题"},s={trace_missing_input:{errorCategory:"trace",shortStatus:"Trace 缺输入",userMessage:"Trace 缺少实际输入,无法匹配评测集 case。",reason:"系统没有从本次执行记录中提取到可用于匹配 case 的任务输入。",nextAction:"检查 trace 采集是否包含用户任务输入;必要时重新采集或重新执行该任务。",retryable:!1,stage:"case-match"},trace_missing_output:{errorCategory:"trace",shortStatus:"Trace 缺输出",userMessage:"Trace 缺少实际输出,无法做任务完成度评测。",reason:"本次 trace 没有提取到 Agent 最终输出,也没有可用的 execution.finalResult fallback。",nextAction:"检查 Agent 是否产出最终回复;确认 trace 采集包含 assistant final message;必要时重新跑该 case。",retryable:!1,stage:"result-artifact"},task_output_extraction_failed:{errorCategory:"trace",shortStatus:"任务输出提取失败",userMessage:"无法从 trace 中提取任务输出。",reason:"任务输出提取流程没有定位到可用于任务完成度评测的最终输出,且没有 fallback 可用。",nextAction:"检查 trace 中是否包含最终回复或关键工具输出;必要时重试评测或重新采集 trace。",retryable:!0,stage:"result-artifact"},trace_data_empty:{errorCategory:"trace",shortStatus:"Trace 数据为空",userMessage:"Trace 数据为空,无法评测。",reason:"系统没有找到可用的 session interactions,也没有足够的 query/finalResult 生成兜底交互。",nextAction:"检查 trace 采集、上传或执行记录入库是否完整。",retryable:!1,stage:"trace-load"},trace_parse_failed:{errorCategory:"trace",shortStatus:"Trace 解析失败",userMessage:"Trace 数据解析失败,无法评测。",reason:"Session.interactions 不是合法 JSON 或结构不兼容。",nextAction:"检查 trace 采集数据格式,必要时重新上传或修复采集链路。",retryable:!1,stage:"trace-parse"},case_not_matched:{errorCategory:"case",shortStatus:"无匹配 case",userMessage:"Trace 输入没有匹配到可用于评测的 case。",reason:"本次任务输入与当前评测集中的 case.input 没有达到可用匹配。",nextAction:"补充对应 case,或确认本次 trace 的任务输入与评测集 case.input 是否一致。",retryable:!1,stage:"case-match"},case_match_failed:{errorCategory:"case",shortStatus:"匹配 case 失败",userMessage:"无法根据 trace 输入自动定位可用于评测的 case。",reason:"trace 输入没有精确匹配到评测集 case,后台自动匹配也没有得到可用结果。",nextAction:"检查本次 trace 的任务输入是否与评测集 case.input 对齐;必要时补充 case 或重新选择评测集。",retryable:!0,stage:"case-match"},dataset_missing:{errorCategory:"dataset",shortStatus:"评测集不存在",userMessage:"评测集不存在,无法匹配可评测 case。",reason:"评测结果关联的数据集已经不存在,或当前用户不可访问。",nextAction:"重新选择评测集后再发起评测。",retryable:!1,stage:"dataset-load"},dataset_empty:{errorCategory:"dataset",shortStatus:"评测集为空",userMessage:"评测集没有可评测 case。",reason:"当前匹配范围内没有可用于评测的 case。",nextAction:"补充评测集 case 后重新评测。",retryable:!1,stage:"dataset-load"},case_missing_expected_output:{errorCategory:"case",shortStatus:"Case 缺预期结果",userMessage:"Case 缺少预期结果,无法做任务完成度评测。",reason:"已匹配到 case,但 expectedOutput 为空。",nextAction:"为该 case 补充 expectedOutput 后重新评测。",retryable:!1,stage:"case-match"},custom_reference_missing:{errorCategory:"case",shortStatus:"缺 reference_output",userMessage:"自定义评估器缺少 reference_output。",reason:"自定义评估器 prompt 引用了 reference_output,但没有匹配到带预期结果的 case。",nextAction:"补充评测集 expectedOutput,或调整自定义评估器 prompt。",retryable:!1,stage:"custom-evaluator"},trace_step_analysis_failed:{errorCategory:"model",shortStatus:"步骤抽取失败",userMessage:"Trace 步骤动态分析失败。",reason:"系统尝试从 trace 中抽取实际执行步骤时失败,通常与模型配置或调用异常有关。",nextAction:"检查评测模型配置和服务状态后重试。",retryable:!0,stage:"trace-step-analysis"},trace_no_steps:{errorCategory:"trace",shortStatus:"Trace 无步骤",userMessage:"Trace 无可提取执行步骤,无法做轨迹评测。",reason:"系统没有从本次 trace 中提取到可用于轨迹评测的实际执行步骤。",nextAction:"检查 trace 质量、采集粒度或执行记录是否完整。",retryable:!1,stage:"trace-step-analysis"},evaluator_timeout:{errorCategory:"evaluator",shortStatus:"评测超时",userMessage:"评测器运行超时。",reason:"评测器在限定时间内没有返回结果。",nextAction:"重试评测;如果持续出现,请检查模型服务响应时间。",retryable:!0,stage:"evaluator"},evaluator_output_invalid:{errorCategory:"evaluator",shortStatus:"评测器输出异常",userMessage:"评测器未返回有效结构化结果。",reason:"评测器输出无法解析为系统需要的 JSON/评分结构。",nextAction:"重试评测;如果持续出现,请检查评测器模型输出。",retryable:!0,stage:"evaluator"},result_evaluator_failed:{errorCategory:"evaluator",shortStatus:"结果评测失败",userMessage:"任务完成度评测失败。",reason:"任务完成度评测器没有产出可用评分或评测 session。",nextAction:"重试评测;如果持续出现,请检查模型配置和评测器日志。",retryable:!0,stage:"result-evaluator"},persist_failed:{errorCategory:"system",shortStatus:"保存失败",userMessage:"评测结果保存失败。",reason:"评测已执行,但结果写入数据库时失败。",nextAction:"检查数据库或服务状态后重试。",retryable:!0,stage:"persist"},evaluator_recovered_failed:{errorCategory:"system",shortStatus:"评测进程异常",userMessage:"评测进程异常中断。",reason:"后台恢复逻辑发现该评测长期停留在 pending/running 状态。",nextAction:"重试评测,并查看服务日志确认是否有进程异常。",retryable:!0,stage:"recover"}};function i(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function o(e){return"number"==typeof e&&Number.isFinite(e)}function l(e){return i(e?.rawAnalysis)}function c(e){return Array.isArray(e.selectedEvaluators)?e.selectedEvaluators:[]}function d(e,t){let r=c(e);return 0===r.length?t===n:r.includes(t)}function u(e){return!!(d(e,n)&&o(e.trajectoryScore)||d(e,"preset-agent-task-completion")&&null!=function(e){if(o(e.resultEvaluationScore))return e.resultEvaluationScore;let t=i(l(e).resultEvaluation);return o(t.score)?t.score:null}(e))||!!c(e).some(e=>e.startsWith("custom-"))&&null!=function(e){if(o(e.customEvaluationScore))return e.customEvaluationScore;let t=(Array.isArray(e.customEvaluations)?e.customEvaluations:e.customEvaluations&&"object"==typeof e.customEvaluations?Object.values(e.customEvaluations):[]).map(e=>i(e).score).filter(o);return t.length>0?t.reduce((e,t)=>e+t,0)/t.length:null}(e)}function g(e,t={}){let r=s[e]??{errorCategory:"system",shortStatus:"评测失败",userMessage:"评测执行失败。",reason:"评测执行过程中出现未分类异常。",nextAction:"重试评测;如果持续出现,请查看服务日志。",retryable:!0,stage:"unknown"};return{errorCode:e,errorCategory:r.errorCategory,shortStatus:r.shortStatus,userMessage:t.userMessage||r.userMessage,reason:t.reason||r.reason,nextAction:t.nextAction||r.nextAction,retryable:"boolean"==typeof t.retryable?t.retryable:r.retryable,stage:t.stage||r.stage,...t.details?{details:t.details}:{},...t.internal?{internal:t.internal}:{}}}function f(e){if(!e)return null;let t=e.diagnostic;if(t&&"object"==typeof t&&!Array.isArray(t))return t;let n=l(e),a=n.diagnostic;if(a&&"object"==typeof a&&!Array.isArray(a))return a;let s="string"==typeof n.resultEvaluationError?n.resultEvaluationError.trim():"",i=String(e.resultEvaluationError||s||"").trim();if(i)return g(i.includes("结果输出提取失败")||i.includes("任务输出提取")?"task_output_extraction_failed":"result_evaluator_failed",{details:i,reason:i});let o=String(e.errorMessage||"").trim();return o?o.includes(r)?g("case_not_matched",{details:v(o),reason:v(o)}):"failed"===e.status&&o.includes("[recover]")?g("evaluator_recovered_failed",{details:o,reason:o}):null:null}function p(e){return"done"===e||"failed"===e}function h(e){return"pending"===e.status?"pending":"running"===e.status?"running":f(e)?"done"===e.status&&u(e)?"partial_failed":"failed":e.status}function x(e){if("pending"===e.status)return"待评测";if("running"===e.status)return"评测中";let t=f(e);return t?"done"===e.status&&u(e)?"部分评测失败":t.shortStatus:"done"===e.status?"已评测":"评测失败"}function y(e){if("pending"===e.status)return"muted";if("running"===e.status)return"running";let t=f(e);return t?"done"===e.status&&u(e)||["trace","dataset","case","skill"].includes(t.errorCategory)?"warning":"danger":"done"===e.status?"success":"danger"}function m(e){if("pending"===e.status||"running"===e.status)return"";let t=f(e);return t?[t.userMessage,t.reason?`具体原因:${t.reason}`:"",t.nextAction?`下一步建议:${t.nextAction}`:"",t.details?`详细信息:${t.details}`:""].filter(Boolean).join("\n"):String(e.errorMessage||e.resultEvaluationError||"").trim()}function j(e,t={}){if(!e)return"该执行尚未评测";let r=f(e);if(r&&"pending"!==e.status&&"running"!==e.status)return[r.userMessage,"",`错误分类:${a[r.errorCategory]}`,`具体原因:${r.reason}`,`下一步建议:${r.nextAction}`,r.details?`详细信息:${r.details}`:""].filter(e=>""!==e).join("\n");let n=t.composite??null;return null!=n&&Number.isFinite(n)?n>=.8?"该执行在结果与过程两个维度均表现良好":n>=.5?"该执行结果基本可用,但部分关键动作覆盖不足":"该执行关键动作覆盖不足,建议优先排查":"该执行尚未评测"}function v(e){return e.replace(r,"").trim()||"未匹配到可评测 case"}e.s(["getTrajectoryDisplayStatus",()=>h,"getTrajectoryOverallConclusion",()=>j,"getTrajectoryStatusLabel",()=>x,"getTrajectoryStatusTitle",()=>m,"getTrajectoryStatusTone",()=>y,"isTrajectoryEvaluationTerminal",()=>p,"parseTrajectoryDiagnostic",()=>f],861171)},642726,e=>{"use strict";let t=["evaluator","checker","judge","locator","assessor","grader","评估器"],r=["你是「轨迹评估器」的总协调者","你是「Agent 任务完成度」评估器","trace-quality-evaluator","task-completion-evaluator","reference_trajectory","actual_trace","key_point_findings","key-points-checker","detect_redundancy_and_loops","已写入 final_result.json"],n=new Set(["trace-quality-evaluator","task-completion-evaluator"]);function a(e){let r=String(e||"").trim().toLowerCase();return!!r&&(!!n.has(r)||t.some(e=>r.includes(e)))}function s(e){return!!e&&(a(e.name)||a(e.parentAgent))}function i(e){return!!e&&(!![e.agentName,e.agent,...Array.isArray(e.agents)?e.agents:[]].some(e=>a(e))||!!e&&[e.query,e.final_result,e.label].some(e=>{let t=String(e||"");return!!t&&r.some(e=>t.includes(e))}))}function o(e){return e?String([e.agentName,e.agent,...Array.isArray(e.agents)?e.agents:[]].find(e=>{let t=String(e||"").trim();return t&&!a(t)})||"").trim():""}e.s(["getPrimaryExecutionAgentName",()=>o,"isEvaluatorAgent",()=>s,"isEvaluatorTraceRecord",()=>i])},573474,e=>{"use strict";let t=(0,e.i(456420).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],573474)},347101,e=>{"use strict";var t=e.i(843476),r=e.i(271645),n=e.i(853138),a=e.i(776639),s=e.i(519455),i=e.i(975157);function o({open:e,onOpenChange:o,title:l,description:c,confirmText:d="确认",cancelText:u="取消",tone:g="normal",onConfirm:f}){let[p,h]=r.useState(!1),x=async()=>{try{h(!0),await f(),o(!1)}finally{h(!1)}};return(0,t.jsx)(a.Dialog,{open:e,onOpenChange:e=>!p&&o(e),children:(0,t.jsxs)(a.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsxs)(a.DialogHeader,{children:[(0,t.jsxs)(a.DialogTitle,{className:(0,i.cn)("flex items-center gap-2","danger"===g&&"text-destructive"),children:["danger"===g&&(0,t.jsx)(n.AlertTriangle,{className:"size-4"}),l]}),c&&(0,t.jsx)(a.DialogDescription,{children:c})]}),(0,t.jsxs)(a.DialogFooter,{children:[(0,t.jsx)(s.Button,{variant:"outline",onClick:()=>o(!1),disabled:p,children:u}),(0,t.jsx)(s.Button,{onClick:x,disabled:p,className:(0,i.cn)("danger"===g&&"bg-error text-error-foreground hover:bg-error/90"),children:p?"处理中…":d})]})]})})}e.s(["ConfirmDialog",()=>o])},111298,e=>{"use strict";var t=e.i(843476),r=e.i(271645),n=e.i(618566),a=e.i(573474),s=e.i(846696),i=e.i(183752),o=e.i(927643),l=e.i(540568),c=e.i(726526),d=e.i(347101),u=e.i(76706),g=e.i(861171),f=e.i(642726),p=e.i(460435);let h="#534AB7",x="#EEEDFE",y="#0F6E56",m="#A32D2D",j="#FFEBEB",v="#9A7311",b="#eceae4",S="#f3f2ee",w="#f9f9fb",k="#1a1a18",A="#2c2b28",C="#6b6a66",T="#8a8884",I="agent-insight:eval-history-state";function E(e){if(!e)return"--";try{return new Date(e).toLocaleString("zh-CN",{hour12:!1})}catch{return e}}function _(e){if(!e)return"--";try{let t=new Date(e),r=Date.now()-t.getTime();if(r<6e4)return"刚刚";if(r<36e5)return`${Math.floor(r/6e4)} 分钟前`;if(r<864e5)return`${Math.floor(r/36e5)} 小时前`;return`${Math.floor(r/864e5)} 天前`}catch{return e}}function $(e){return e&&e.slice(0,14)||"--"}function F(...e){for(let t of e){if("string"!=typeof t)continue;let e=t.trim();if(e)return e}return""}function W(e,t){let r=Array.isArray(e.selectedEvaluators)?e.selectedEvaluators:[];return 0===r.length?"preset-agent-trace-quality"===t:r.includes(t)}function M(e){let t=e.evaluatorName?e.evaluatorName.split("、").map(e=>e.trim()):[],r=e.evaluatorIds.map((e,r)=>e.startsWith("custom-")?"":t[r]?t[r]:"preset-agent-task-completion"===e?"Agent 任务完成度":"preset-agent-trace-quality"===e?"Agent 轨迹质量":e).filter(Boolean);return r.length>0?Array.from(new Set(r)).join("、"):"—"}function D(){let{t:e}=(0,c.useLocale)(),{user:a}=(0,o.useAuth)(),u=(0,n.useRouter)(),g=(0,n.useSearchParams)(),f=g?.get("runId")||"",y=g?.get("autoWatchOnly")==="1"||g?.get("autoWatchOnly")==="true",[m,j]=(0,r.useState)([]),[v,S]=(0,r.useState)([]),[w,A]=(0,r.useState)([]),[T,E]=(0,r.useState)(10),[_,$]=(0,r.useState)(!1),[F,W]=(0,r.useState)(!1),[M,D]=(0,r.useState)(null),[z,O]=(0,r.useState)(!0),[P,q]=(0,r.useState)(""),[H,U]=(0,r.useState)(!1),[J,K]=(0,r.useState)(y),[V,X]=(0,r.useState)(null),[Y,G]=(0,r.useState)(null),Q=(0,r.useRef)(null),Z=(0,r.useRef)(null),ee=(0,r.useRef)(!1),et=(0,r.useRef)("");(0,r.useEffect)(()=>{if(!a)return;let e=!1;return(async()=>{if(f&&!ee.current&&1){let e=window.sessionStorage.getItem(I);if(e)try{let t=JSON.parse(e);if(Date.now()-Number(t.savedAt||0)<6e5&&t.user===a&&t.selectedRunId===f&&t.autoWatchOnly===y&&Array.isArray(t.runSummaries)&&t.runSummaries.some(e=>e.runId===f)){ee.current=!0,A(t.runSummaries),E(t.historyOffset||10),$(!!t.historyHasMore),D(f),K(t.autoWatchOnly),U(t.historyOpen),j([]),S([]),q(""),O(!1),requestAnimationFrame(()=>{Z.current&&(Z.current.scrollTop=t.historyScrollTop||0)});return}}catch{window.sessionStorage.removeItem(I)}}e||(O(!0),A([]),j([]),S([]),E(10),$(!1),D(null));try{let t=new URLSearchParams({user:a,limit:String(10)}),r=f||et.current;r&&t.set("includeRunId",r),J&&t.set("autoWatchOnly","1");let n=await (0,i.apiFetch)(`/api/eval/trajectory/runs?${t.toString()}`),s=await n.json();if(!n.ok)throw Error(s?.error||n.statusText);let o=Array.isArray(s?.runs)?s.runs:[];if(!e){A(o),E("number"==typeof s?.nextOffset?s.nextOffset:10),$(!!s?.hasMore);let e=f||et.current,t=e?o.find(t=>t.runId===e):null;D(t?.runId||o[0]?.runId||null),et.current="",q("")}}catch(r){let t=r instanceof Error?r.message:String(r);e||q(`加载失败:${t}`)}finally{e||O(!1)}})(),()=>{e=!0}},[a,J,f,y]),(0,r.useEffect)(()=>{if(!a||!M)return;let e=!1,t=async()=>{try{let t=await (0,i.apiFetch)(`/api/eval/trajectory/results?user=${encodeURIComponent(a)}&runId=${encodeURIComponent(M)}&limit=500`),r=await t.json();if(!t.ok)throw Error(r?.error||t.statusText);let n=Array.isArray(r?.results)?r.results:[],s=Array.from(new Set(n.map(e=>e.taskId||"").filter(Boolean))),o=[];if(s.length>0){let e=new URLSearchParams({user:a,taskIds:s.join(","),skipAutoEvalReady:"1"}),t=await (0,i.apiFetch)(`/api/observe/data?${e.toString()}`),r=await t.json();if(!t.ok)throw Error(r?.error||t.statusText);o=Array.isArray(r)?r:[]}e||(j(n),S(o),q(""))}catch(r){let t=r instanceof Error?r.message:String(r);e||q(`加载失败:${t}`)}};t();let r=setInterval(t,5e3);return()=>{e=!0,clearInterval(r)}},[M,a]),(0,r.useEffect)(()=>{M||(j([]),S([]))},[M]),(0,r.useEffect)(()=>{let e=Q.current;if(!e||!a||!_||F)return;let t=new IntersectionObserver(e=>{if(!e.some(e=>e.isIntersecting))return;W(!0);let t=new URLSearchParams({user:a,limit:String(10)});t.set("offset",String(T)),J&&t.set("autoWatchOnly","1"),(0,i.apiFetch)(`/api/eval/trajectory/runs?${t.toString()}`).then(async e=>{let t=await e.json();if(!e.ok)throw Error(t?.error||e.statusText);let r=Array.isArray(t?.runs)?t.runs:[];A(e=>{let t=new Set(e.map(e=>e.runId));return[...e,...r.filter(e=>!t.has(e.runId))]}),E("number"==typeof t?.nextOffset?t.nextOffset:T+10),$(!!t?.hasMore)}).catch(e=>q(`加载历史任务失败:${e instanceof Error?e.message:String(e)}`)).finally(()=>W(!1))},{rootMargin:"180px"});return t.observe(e),()=>t.disconnect()},[J,_,F,T,a]);let er=(0,r.useMemo)(()=>{let e=new Map;for(let t of v)t.task_id&&e.set(t.task_id,t),t.upload_id&&e.set(t.upload_id,t);return e},[v]),en=(0,r.useMemo)(()=>w.find(e=>e.runId===M)||null,[w,M]),ea=(0,r.useMemo)(()=>m.filter(e=>!e.watchPlaceholder),[m]),es=async()=>{if(a&&V){G(V.runId);try{let e=await (0,i.apiFetch)("/api/eval/trajectory/runs",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:a,runId:V.runId})}),t=await e.json();if(!e.ok)throw Error(t?.error||e.statusText);let r=w.findIndex(e=>e.runId===V.runId),n=w.filter(e=>e.runId!==V.runId),o=M===V.runId?n[r]?.runId||n[r-1]?.runId||n[0]?.runId||null:M;A(n),M===V.runId&&(D(o),j([]),S([])),X(null),q(""),s.toast.success(`已删除评测批次「${V.taskTitle}」`)}catch(e){throw s.toast.error(`删除失败:${e instanceof Error?e.message:String(e)}`),e}finally{G(null)}}},ei=(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,t.jsxs)("button",{onClick:()=>U(e=>!e),title:H?"收起历史任务":"展开历史任务",style:{display:"flex",alignItems:"center",gap:5,padding:"5px 10px",background:H?x:"transparent",color:H?h:C,border:`1px solid ${H?h:b}`,borderRadius:6,fontSize:12,fontWeight:500,cursor:"pointer",transition:"all 0.15s"},children:[(0,t.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",children:[(0,t.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5.5",stroke:"currentColor",strokeWidth:"1.3"}),(0,t.jsx)("path",{d:"M6.5 3.5v3l2 1",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]}),"历史任务"]}),(0,t.jsx)("button",{onClick:()=>u.push("/eval/trajectory"),style:{padding:"6px 14px",background:h,color:"#fff",border:"none",borderRadius:6,fontSize:12,fontWeight:500,cursor:"pointer"},children:"+ 发起新评测"})]});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.AppTopBar,{title:(0,t.jsx)(p.Term,{id:"eval-batch",label:e("nav.eval")}),actions:ei,showDefaultActions:!1}),(0,t.jsxs)("div",{style:{flex:1,display:"flex",overflow:"hidden",minHeight:0},children:[(0,t.jsx)("main",{style:{flex:1,overflowY:"auto",minWidth:0,color:k},children:z?(0,t.jsx)("div",{style:{padding:24,color:C},children:"正在加载评测批次..."}):0!==w.length||J?0===w.length?(0,t.jsx)(L,{onClear:()=>K(!1)}):en?(0,t.jsx)(R,{run:en,results:ea,records:v,recordMap:er,router:u,user:a,error:P,autoWatchOnly:J,onBeforeOpenTrace:function(e){if(!a)return;let t={user:a,selectedRunId:e,autoWatchOnly:J,historyOpen:H,historyOffset:T,historyHasMore:_,historyScrollTop:Z.current?.scrollTop||0,runSummaries:w,savedAt:Date.now()};window.sessionStorage.setItem(I,JSON.stringify(t))},onDeleteRun:()=>X(en),deleteDisabled:en.runningCount>0||Y===en.runId,deleting:Y===en.runId},en.runId):null:(0,t.jsx)(N,{onCreate:()=>u.push("/eval/trajectory"),error:P})}),(0,t.jsxs)("aside",{style:{width:300*!!H,flexShrink:0,borderLeft:H?`1px solid ${b}`:"none",background:"#FBFAF6",display:"flex",flexDirection:"column",overflow:"hidden",transition:"width 0.2s ease"},children:[(0,t.jsxs)("header",{style:{display:"flex",alignItems:"center",padding:"12px 16px",borderBottom:`1px solid ${b}`,flexShrink:0,whiteSpace:"nowrap"},children:[(0,t.jsxs)("div",{style:{fontSize:13,fontWeight:600,color:k,display:"flex",alignItems:"center",gap:6},children:[(0,t.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",children:[(0,t.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5.5",stroke:"currentColor",strokeWidth:"1.3"}),(0,t.jsx)("path",{d:"M6.5 3.5v3l2 1",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]}),"历史任务"]}),(0,t.jsxs)("button",{type:"button",onClick:function(){et.current=M||"",K(e=>!e)},title:J?"查看全部历史任务":"只看自动观测任务",style:{marginLeft:8,padding:"5px 10px",height:28,borderRadius:8,border:`1px solid ${J?h:b}`,background:J?x:"#fff",color:J?h:C,display:"flex",alignItems:"center",gap:6,fontSize:12,fontWeight:500,cursor:"pointer"},children:[(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 13 13",fill:"none","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M2 3h9M3.5 6.5h6M5.2 10h2.6",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})}),(0,t.jsx)("span",{children:J?"全部任务":"自动观测任务"})]})]}),(0,t.jsxs)("div",{ref:Z,style:{flex:1,overflowY:"auto",padding:10,display:"flex",flexDirection:"column",gap:6},children:[0===w.length?(0,t.jsx)("div",{style:{padding:24,textAlign:"center",fontSize:12,color:C},children:J?"没有自动观测任务":"还没有任何评测任务"}):w.map(e=>(0,t.jsx)(B,{run:e,active:e.runId===M,onClick:()=>D(e.runId),onDelete:()=>X(e),deleteDisabled:e.runningCount>0||Y===e.runId,deleting:Y===e.runId},e.runId)),(0,t.jsx)("div",{ref:Q,style:{height:1}}),F&&(0,t.jsx)("div",{style:{padding:8,textAlign:"center",fontSize:11,color:C},children:"正在加载更多..."})]})]})]}),(0,t.jsx)(d.ConfirmDialog,{open:!!V,onOpenChange:e=>{(e||!Y)&&(e||X(null))},title:"删除这次评测执行?",description:V?`会删除该批次下的评测结果和由本批次派生的优化点数据,原始 trace 会保留,可稍后重新评测。任务:${V.taskTitle}`:void 0,confirmText:"删除批次",cancelText:"取消",tone:"danger",onConfirm:es})]})}function z(){return(0,t.jsx)(r.Suspense,{fallback:(0,t.jsx)("div",{style:{padding:24,color:C},children:"Loading..."}),children:(0,t.jsx)(D,{})})}function R({run:e,results:n,records:s,recordMap:o,router:l,user:c,error:d,autoWatchOnly:I,onBeforeOpenTrace:D,onDeleteRun:z,deleteDisabled:R,deleting:B}){let[O,N]=(0,r.useState)(!1),[L,V]=(0,r.useState)(new Set),[X,Y]=(0,r.useState)(!1),[G,Q]=(0,r.useState)(""),[Z,ee]=(0,r.useState)(""),[et,er]=(0,r.useState)([]),[en,ea]=(0,r.useState)(!1),[es,ei]=(0,r.useState)(null),eo=es??e.autoWatch,el=O?et:s,ec=(0,r.useMemo)(()=>new Set(n.map(e=>e.taskId||e.executionId||"").filter(Boolean)),[n]),ed=(0,r.useMemo)(()=>{let t=e.watchedAgent||e.executionAgent;return el.filter(e=>!!e.task_id).filter(e=>!(0,f.isEvaluatorTraceRecord)(e)).filter(e=>!ec.has(e.task_id||"")).filter(e=>(0,f.getPrimaryExecutionAgentName)(e)===t).sort((e,t)=>{let r=e.timestamp?new Date(e.timestamp).getTime():0;return(t.timestamp?new Date(t.timestamp).getTime():0)-r})},[ec,el,e.executionAgent,e.watchedAgent]);(0,r.useEffect)(()=>{if(!O||!c||et.length>0)return;let e=!1,t=new URLSearchParams({user:c,skipAutoEvalReady:"1"});return(0,i.apiFetch)(`/api/observe/data?${t.toString()}`).then(async t=>{let r=await t.json();if(!t.ok)throw Error(r?.error||t.statusText);e||er(Array.isArray(r)?r:[])}).catch(t=>{e||ee(`加载可追加 trace 失败:${t instanceof Error?t.message:String(t)}`)}),()=>{e=!0}},[et.length,O,c]);let eu=async()=>{if(!c)return void ee("请先登录");let t=Array.from(L);if(0===t.length)return void ee("请至少选择一条 trace");Y(!0),ee(""),Q("");try{let r=await (0,i.apiFetch)("/api/eval/trajectory/run",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:c,evaluatorRunId:e.runId,taskIds:t,evaluators:e.evaluatorIds})}),n=await r.json();if(!r.ok)return void ee(`追加失败:${n?.error||r.statusText}`);Q(`已追加 ${n.created?.length??0} 条 trace 到本批次`),V(new Set),N(!1)}catch(e){ee(`追加失败:${e instanceof Error?e.message:String(e)}`)}finally{Y(!1)}},eg=async t=>{if(!c)return void ee("请先登录");ea(!0),ee(""),Q(""),ei(t);try{let r=await (0,i.apiFetch)("/api/eval/trajectory/run",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:c,evaluatorRunId:e.runId,autoWatch:t})}),n=await r.json();if(!r.ok){ei(e.autoWatch),ee(`${t?"开启":"关闭"}自动观测失败:${n?.error||r.statusText}`);return}Q(t?"已重新开启自动观测":"已关闭自动观测,后续新 trace 不会再自动追加")}catch(r){ei(e.autoWatch),ee(`${t?"开启":"关闭"}自动观测失败:${r instanceof Error?r.message:String(r)}`)}finally{ea(!1)}};return(0,t.jsxs)("div",{style:{padding:"18px 22px 28px"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:14,flexWrap:"wrap"},children:[(0,t.jsx)("span",{style:H(x,h),children:"评测批次"}),eo&&(0,t.jsx)("span",{style:H("#EAF7F1",y),children:"自动观测"}),(0,t.jsx)("span",{style:{fontSize:12,color:C},children:"任务已同步到历史卡片与详情页"}),(0,t.jsx)("div",{style:{flex:1}}),(0,t.jsx)("button",{type:"button","aria-label":`删除评测批次 ${e.taskTitle}`,title:B?"删除中...":R?"评测进行中,暂时不能删除":"删除该评测批次",disabled:R,onClick:z,style:{width:28,height:28,borderRadius:8,border:`1px solid ${R?b:"#F1D1D1"}`,background:B?j:"#fff",color:R?T:m,display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:R?"not-allowed":"pointer",opacity:R?.6:1},children:(0,t.jsx)(a.Trash2,{size:14,strokeWidth:2.1})}),(0,t.jsxs)("span",{style:{fontSize:11,color:C},children:["发起时间:",E(e.createdAt)]})]}),d&&(0,t.jsx)("div",{style:U(m,j,"#FFD4D4"),children:d}),(0,t.jsxs)("div",{style:{background:"linear-gradient(135deg, #FBFAF6 0%, #FFFFFF 100%)",border:`1px solid ${b}`,borderRadius:8,padding:16,marginBottom:14},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:16,alignItems:"flex-start",flexWrap:"wrap"},children:[(0,t.jsxs)("div",{style:{minWidth:0,flex:"1 1 420px"},children:[(0,t.jsx)("div",{style:{fontSize:12,color:C,marginBottom:6},children:"评测任务"}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,t.jsx)("div",{style:{fontSize:20,fontWeight:700,color:k,lineHeight:1.3},children:e.taskTitle}),eo&&(0,t.jsx)("span",{style:H("#EAF7F1",y,!0),children:"自动观测"})]}),(0,t.jsx)("div",{style:{marginTop:6,fontSize:12.5,color:e.taskDescription?A:T,lineHeight:1.6},children:e.taskDescription||""})]}),(0,t.jsx)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",justifyContent:"flex-end",minWidth:408},children:(0,t.jsxs)("div",{style:{minWidth:200,flex:"0 0 200px",padding:"12px 14px",borderRadius:10,border:`1px solid ${eo?"#CDECDD":b}`,background:eo?"#F6FFFA":"#fff",display:"flex",alignItems:"center",justifyContent:"space-between",gap:14},children:[(0,t.jsxs)("div",{style:{minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:11.5,color:C,marginBottom:4},children:(0,t.jsx)(p.Term,{id:"auto-observe",label:"自动观测"})}),(0,t.jsx)("div",{style:{fontSize:14,color:eo?y:T,fontWeight:700},children:eo?"开启中":"已关闭"})]}),(0,t.jsx)(q,{checked:eo,disabled:en,onChange:eg,"aria-label":"切换自动观测"})]})})]}),(0,t.jsxs)("div",{style:{marginTop:16,paddingTop:16,borderTop:`1px solid ${S}`,display:"grid",gridTemplateColumns:"minmax(220px, 1.25fr) minmax(180px, 1.15fr) repeat(3, minmax(120px, 1fr))",gap:14},children:[(0,t.jsx)(P,{label:(0,t.jsx)(p.Term,{id:"eval-agent",label:"执行 Agent"}),value:e.executionAgent||"—",mono:!0,primary:!0,truncate:!0}),(0,t.jsx)(P,{label:(0,t.jsx)(p.Term,{id:"evaluator",label:"评估器"}),value:M(e),truncate:!0}),(0,t.jsx)(P,{label:"trace 总数",value:String(e.traceCount)}),(0,t.jsx)(P,{label:"评测进度",value:`${e.doneCount} / ${e.traceCount}`,detail:(0,t.jsxs)("span",{style:{fontSize:11},children:[(0,t.jsxs)("span",{style:{color:y},children:["完成 ",e.doneCount]}),e.runningCount>0&&(0,t.jsxs)("span",{style:{color:"#1677ff"},children:[" · 进行中 ",e.runningCount]}),e.failedCount>0&&(0,t.jsxs)("span",{style:{color:m},children:[" · 失败 ",e.failedCount]})]})}),(0,t.jsx)(P,{label:"平均分",value:null!=e.avgScore?`${(0,u.fmtPercentScore)(e.avgScore)} / 100`:"--",valueColor:null!=e.avgScore?e.avgScore>=.8?y:e.avgScore>=.5?v:m:T})]})]}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,t.jsx)("div",{style:{fontSize:13,fontWeight:600,color:k},children:"本批次 trace 评测列表"}),(0,t.jsx)("div",{style:{fontSize:12,color:C},children:"点行查看单条 trace 的评测细节"}),(0,t.jsx)("div",{style:{flex:1}}),(0,t.jsx)("button",{type:"button",onClick:()=>{N(e=>!e),ee(""),Q("")},style:{padding:"5px 11px",borderRadius:6,border:`1px solid ${h}`,background:O?x:"#fff",color:h,fontSize:12,fontWeight:500,cursor:"pointer"},children:"+ 增加评测 trace"})]}),(O||G||Z)&&(0,t.jsxs)("div",{style:{border:`1px solid ${b}`,borderRadius:8,background:"#fff",padding:12,marginBottom:10},children:[Z&&(0,t.jsx)("div",{style:U(m,j,"#FFD4D4"),children:Z}),G&&(0,t.jsx)("div",{style:U(y,"#F0F7F4","#D1EAE2"),children:G}),O?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,t.jsxs)("div",{style:{fontSize:12,color:C},children:["可追加 trace:",ed.length]}),(0,t.jsx)("div",{style:{flex:1}}),(0,t.jsx)("button",{type:"button",disabled:X||0===L.size,onClick:eu,style:{padding:"5px 12px",borderRadius:6,border:"none",background:X||0===L.size?"#bdb8df":h,color:"#fff",fontSize:12,cursor:X||0===L.size?"not-allowed":"pointer"},children:X?"追加中...":`开始评测 (${L.size})`})]}),0===ed.length?(0,t.jsx)("div",{style:{padding:16,textAlign:"center",fontSize:12,color:C},children:"没有可追加的 trace。"}):(0,t.jsxs)("div",{style:{maxHeight:260,overflow:"auto",border:`1px solid ${S}`,borderRadius:6},children:[(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"28px minmax(170px, 220px) minmax(0, 1fr) minmax(0, 1fr) 84px",gap:10,alignItems:"center",padding:"8px 10px",borderBottom:`1px solid ${S}`,background:w,color:C,fontSize:11,fontWeight:500},children:[(0,t.jsx)("span",{}),(0,t.jsx)("span",{children:"TRACE ID"}),(0,t.jsx)("span",{children:"Trace 任务输入"}),(0,t.jsx)("span",{children:"Trace 任务输出"}),(0,t.jsx)("span",{style:{textAlign:"right"},children:"执行时间"})]}),ed.map(e=>{let r=e.task_id||"";return(0,t.jsxs)("label",{style:{display:"grid",gridTemplateColumns:"28px minmax(170px, 220px) minmax(0, 1fr) minmax(0, 1fr) 84px",gap:10,alignItems:"center",padding:"8px 10px",borderBottom:`1px solid ${S}`,cursor:"pointer",fontSize:12},children:[(0,t.jsx)("input",{type:"checkbox",checked:L.has(r),onChange:()=>{V(e=>{let t=new Set(e);return t.has(r)?t.delete(r):t.add(r),t})}}),(0,t.jsx)("code",{style:{color:C,fontFamily:"var(--font-mono)",whiteSpace:"nowrap"},title:r,children:$(r)}),(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.query||"",children:e.query||"(空输入)"}),(0,t.jsxs)("span",{style:{minWidth:0},children:[(0,t.jsx)("span",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.final_result||"",children:e.final_result||"—"}),(0,t.jsxs)("span",{style:{display:"block",color:T,fontSize:10,marginTop:2},children:[e.framework||"",e.model?` \xb7 ${e.model}`:""]})]}),(0,t.jsx)("span",{style:{color:C,textAlign:"right"},children:_(e.timestamp)})]},r)})]})]}):null]}),(0,t.jsx)("div",{style:{border:`1px solid ${b}`,borderRadius:9,overflow:"hidden",background:"#fff"},children:(0,t.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{style:{background:w,borderBottom:`1px solid ${b}`},children:[(0,t.jsx)("th",{style:J(170,"left"),children:(0,t.jsx)(p.Term,{id:"trace",label:"TRACE ID"})}),(0,t.jsx)("th",{style:J(void 0,"left"),children:(0,t.jsx)(p.Term,{id:"trace",label:"Trace 任务输入"})}),(0,t.jsx)("th",{style:J(void 0,"left"),children:(0,t.jsx)(p.Term,{id:"trace",label:"Trace 任务输出"})}),(0,t.jsx)("th",{style:J(80,"center"),children:"评测状态"}),(0,t.jsx)("th",{style:J(92,"left"),children:"得分"}),(0,t.jsx)("th",{style:J(110,"left"),children:"评测时间"})]})}),(0,t.jsx)("tbody",{children:n.map(r=>{let n,a=r.taskId||r.executionId||"",s=o.get(a),i=!!a,c=function(e){if(!(0,g.isTrajectoryEvaluationTerminal)(e.status)||"done"!==(0,g.getTrajectoryDisplayStatus)(e))return null;let t=W(e,"preset-agent-trace-quality")?e.trajectoryScore:null,r=W(e,"preset-agent-task-completion")?e.resultEvaluationScore??null:null;if(W(e,"preset-agent-trace-quality")&&(null==t||!Number.isFinite(t))||W(e,"preset-agent-task-completion")&&(null==r||!Number.isFinite(r)))return null;let n=[t,r].filter(e=>"number"==typeof e&&Number.isFinite(e));return n.length>0?n.reduce((e,t)=>e+t,0)/n.length:null}(r),d=F(r.traceInput,s?.query),f=F(r.traceOutput,s?.final_result),p=[F(s?.framework,r.traceFramework),F(s?.model,r.traceModel)].filter(Boolean).join(" · ");return(0,t.jsxs)("tr",{onClick:()=>{if(!a)return;D(e.runId);let t=new URLSearchParams({runId:e.runId,datasetId:r.datasetId,resultId:r.id});I&&t.set("autoWatchOnly","1"),l.push(`/eval/trajectory/${encodeURIComponent(a)}?${t.toString()}`)},style:{borderBottom:`1px solid ${S}`,cursor:i?"pointer":"default"},onMouseEnter:e=>{i&&(e.currentTarget.style.background=w)},onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,t.jsx)("td",{style:{...K("left"),fontFamily:"var(--font-mono)",color:A,whiteSpace:"nowrap"},title:a,children:$(a)}),(0,t.jsx)("td",{style:{...K("left"),maxWidth:280},title:d,children:d?(0,t.jsx)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d}):(0,t.jsx)("span",{style:{color:T},children:"未提取到任务输入"})}),(0,t.jsx)("td",{style:{...K("left"),maxWidth:280},title:f,children:f?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:f}),p&&(0,t.jsx)("div",{style:{fontSize:11,color:T,marginTop:2},children:p})]}):(0,t.jsx)("span",{style:{color:T},children:"未提取到任务输出"})}),(0,t.jsx)("td",{style:K("center"),children:(0,t.jsx)("span",{style:{color:"warning"===(n=(0,g.getTrajectoryStatusTone)(r))?v:"danger"===n?m:"running"===n?"#1677ff":"success"===n?y:T,fontWeight:500},title:(0,g.getTrajectoryStatusTitle)(r),children:(0,g.getTrajectoryStatusLabel)(r)})}),(0,t.jsx)("td",{style:{...K("left"),minWidth:92,color:null!=c?h:T,fontWeight:600},children:null!=c?`${(0,u.fmtPercentScore)(c)} 分`:"--"}),(0,t.jsx)("td",{style:{...K("left"),color:C},children:E(r.createdAt)})]},r.id)})})]})})]})}function B({run:e,active:r,onClick:n,onDelete:s,deleteDisabled:i,deleting:o}){let l=null!=e.avgScore?`${(0,u.fmtPercentScore)(e.avgScore)} / 100`:"—",c=M(e);return(0,t.jsxs)("div",{onClick:n,style:{padding:12,border:`1px solid ${r?h:b}`,borderRadius:6,background:r?x:"#fff",cursor:"pointer",transition:"border-color 0.15s, background 0.15s"},onMouseEnter:e=>{r||(e.currentTarget.style.borderColor="#d8d6cf")},onMouseLeave:e=>{r||(e.currentTarget.style.borderColor=b)},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},children:[(0,t.jsxs)("div",{style:{minWidth:0,display:"flex",alignItems:"center",gap:8,flex:1},children:[(0,t.jsx)("span",{style:{fontSize:12.5,fontWeight:600,color:k,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.taskTitle,children:e.taskTitle}),(0,t.jsx)("button",{type:"button","aria-label":`删除评测批次 ${e.taskTitle}`,title:o?"删除中...":i?"评测进行中,暂时不能删除":"删除该评测批次",disabled:i,onClick:e=>{e.stopPropagation(),i||s()},style:{flexShrink:0,width:22,height:22,borderRadius:6,border:"none",background:o?j:"transparent",color:i?T:C,display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:i?"not-allowed":"pointer",opacity:i?.5:.9},children:(0,t.jsx)(a.Trash2,{size:13,strokeWidth:2.1})})]}),(0,t.jsx)("span",{style:{fontSize:11,color:C,flexShrink:0},children:_(e.createdAt)})]}),e.autoWatch&&(0,t.jsx)("div",{style:{marginBottom:8},children:(0,t.jsx)("span",{style:H("#EAF7F1",y,!0),children:"自动观测"})}),(0,t.jsx)("div",{style:{fontSize:11.5,color:e.taskDescription?A:T,marginBottom:8,lineHeight:1.5,display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"},title:e.taskDescription||"",children:e.taskDescription||""}),(0,t.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:(0,t.jsx)("span",{style:{fontSize:11,color:C,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.executionAgent||"未识别 Agent"})}),(0,t.jsxs)("div",{style:{fontSize:11,color:C,marginBottom:8,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:c,children:["评估器:",c]}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11},children:[(0,t.jsx)(O,{done:e.doneCount,running:e.runningCount,failed:e.failedCount,total:e.traceCount}),(0,t.jsxs)("span",{style:{color:C},children:[e.doneCount,"/",e.traceCount]}),(0,t.jsx)("span",{style:{flex:1}}),(0,t.jsx)("span",{style:{color:null!=e.avgScore?h:T,fontWeight:600},children:l})]})]})}function O({done:e,running:r,failed:n,total:a}){return 0===a?null:(0,t.jsxs)("div",{style:{display:"flex",height:4,width:60,background:w,borderRadius:2,overflow:"hidden"},children:[(0,t.jsx)("div",{style:{width:`${e/a*100}%`,background:y}}),(0,t.jsx)("div",{style:{width:`${r/a*100}%`,background:"#1677ff"}}),(0,t.jsx)("div",{style:{width:`${n/a*100}%`,background:m}})]})}function N({onCreate:e,error:r}){return(0,t.jsxs)("div",{style:{padding:"60px 22px",textAlign:"center",color:C},children:[(0,t.jsx)("div",{style:{marginBottom:12,fontSize:14},children:"还没有任何评测批次"}),r&&(0,t.jsx)("div",{style:{...U(m,j,"#FFD4D4"),maxWidth:480,margin:"0 auto 12px"},children:r}),(0,t.jsx)("button",{onClick:e,style:{padding:"8px 18px",background:h,color:"#fff",border:"none",borderRadius:6,fontSize:13,fontWeight:500,cursor:"pointer"},children:"发起首次评测 →"})]})}function L({onClear:e}){return(0,t.jsxs)("div",{style:{padding:"60px 22px",textAlign:"center",color:C},children:[(0,t.jsx)("div",{style:{marginBottom:12,fontSize:14},children:"没有自动观测历史任务"}),(0,t.jsx)("button",{onClick:e,style:{padding:"8px 18px",background:"#fff",color:h,border:`1px solid ${h}`,borderRadius:6,fontSize:13,fontWeight:500,cursor:"pointer"},children:"查看全部历史任务"})]})}function P({label:e,value:r,detail:n,primary:a,mono:s,valueColor:i,truncate:o}){return(0,t.jsxs)("div",{style:{minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:12,color:C,marginBottom:4},children:e}),(0,t.jsx)("div",{title:o?r:void 0,style:{fontSize:14,fontWeight:600,color:i||(a?k:A),fontFamily:s?"monospace":void 0,lineHeight:1.35,...o?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},children:r}),n?(0,t.jsx)("div",{style:{marginTop:3},children:n}):null]})}function q({checked:e,disabled:r,onChange:n,"aria-label":a}){return(0,t.jsx)("button",{type:"button",role:"switch","aria-checked":e,"aria-label":a,disabled:r,onClick:()=>n(!e),style:{width:42,height:22,borderRadius:999,border:`1px solid ${e?"#21A36B":"#C9CDD3"}`,background:e?"#23B26F":"#D6D8DC",padding:2,cursor:r?"not-allowed":"pointer",opacity:r?.6:1,boxShadow:e?"inset 0 0 0 1px rgba(255,255,255,0.2), 0 1px 4px rgba(18, 128, 79, 0.16)":"inset 0 0 0 1px rgba(255,255,255,0.35)",transition:"background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease"},children:(0,t.jsx)("span",{style:{display:"block",width:16,height:16,borderRadius:"50%",background:"#fff",transform:e?"translateX(20px)":"translateX(0)",boxShadow:"0 1px 4px rgba(24, 24, 27, 0.2)",transition:"transform 0.16s ease"}})})}function H(e,t,r){return{display:"inline-block",padding:r?"1px 6px":"2px 8px",background:e,color:t,borderRadius:4,fontSize:r?10:11,fontWeight:500,whiteSpace:"nowrap"}}function U(e,t,r){return{padding:10,marginBottom:12,borderRadius:6,background:t,border:`1px solid ${r}`,color:e,fontSize:12}}function J(e,t="left"){return{padding:"9px 10px",textAlign:t,fontWeight:500,color:C,fontSize:12,...e?{width:e}:{}}}function K(e="left"){return{padding:"9px 10px",textAlign:e,verticalAlign:"middle",fontSize:13}}e.s(["default",()=>z])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,573474,e=>{"use strict";let t=(0,e.i(456420).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],573474)},347101,e=>{"use strict";var t=e.i(843476),r=e.i(271645),n=e.i(853138),a=e.i(776639),s=e.i(519455),i=e.i(975157);function o({open:e,onOpenChange:o,title:l,description:c,confirmText:d="确认",cancelText:u="取消",tone:g="normal",onConfirm:f}){let[p,h]=r.useState(!1),x=async()=>{try{h(!0),await f(),o(!1)}finally{h(!1)}};return(0,t.jsx)(a.Dialog,{open:e,onOpenChange:e=>!p&&o(e),children:(0,t.jsxs)(a.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsxs)(a.DialogHeader,{children:[(0,t.jsxs)(a.DialogTitle,{className:(0,i.cn)("flex items-center gap-2","danger"===g&&"text-destructive"),children:["danger"===g&&(0,t.jsx)(n.AlertTriangle,{className:"size-4"}),l]}),c&&(0,t.jsx)(a.DialogDescription,{children:c})]}),(0,t.jsxs)(a.DialogFooter,{children:[(0,t.jsx)(s.Button,{variant:"outline",onClick:()=>o(!1),disabled:p,children:u}),(0,t.jsx)(s.Button,{onClick:x,disabled:p,className:(0,i.cn)("danger"===g&&"bg-error text-error-foreground hover:bg-error/90"),children:p?"处理中…":d})]})]})})}e.s(["ConfirmDialog",()=>o])},76706,861171,e=>{"use strict";function t(e,r=1){return null==e||Number.isNaN(e)?"--":(100*e).toFixed(r)}e.s(["fmtPercentScore",()=>t],76706);let r="[no-evaluable-case]",n="preset-agent-trace-quality",a={trace:"Trace 数据问题",dataset:"评测集配置问题",case:"Case 配置问题",skill:"Skill 归因问题",model:"模型调用问题",evaluator:"评测器问题",system:"系统问题"},s={trace_missing_input:{errorCategory:"trace",shortStatus:"Trace 缺输入",userMessage:"Trace 缺少实际输入,无法匹配评测集 case。",reason:"系统没有从本次执行记录中提取到可用于匹配 case 的任务输入。",nextAction:"检查 trace 采集是否包含用户任务输入;必要时重新采集或重新执行该任务。",retryable:!1,stage:"case-match"},trace_missing_output:{errorCategory:"trace",shortStatus:"Trace 缺输出",userMessage:"Trace 缺少实际输出,无法做任务完成度评测。",reason:"本次 trace 没有提取到 Agent 最终输出,也没有可用的 execution.finalResult fallback。",nextAction:"检查 Agent 是否产出最终回复;确认 trace 采集包含 assistant final message;必要时重新跑该 case。",retryable:!1,stage:"result-artifact"},task_output_extraction_failed:{errorCategory:"trace",shortStatus:"任务输出提取失败",userMessage:"无法从 trace 中提取任务输出。",reason:"任务输出提取流程没有定位到可用于任务完成度评测的最终输出,且没有 fallback 可用。",nextAction:"检查 trace 中是否包含最终回复或关键工具输出;必要时重试评测或重新采集 trace。",retryable:!0,stage:"result-artifact"},trace_data_empty:{errorCategory:"trace",shortStatus:"Trace 数据为空",userMessage:"Trace 数据为空,无法评测。",reason:"系统没有找到可用的 session interactions,也没有足够的 query/finalResult 生成兜底交互。",nextAction:"检查 trace 采集、上传或执行记录入库是否完整。",retryable:!1,stage:"trace-load"},trace_parse_failed:{errorCategory:"trace",shortStatus:"Trace 解析失败",userMessage:"Trace 数据解析失败,无法评测。",reason:"Session.interactions 不是合法 JSON 或结构不兼容。",nextAction:"检查 trace 采集数据格式,必要时重新上传或修复采集链路。",retryable:!1,stage:"trace-parse"},case_not_matched:{errorCategory:"case",shortStatus:"无匹配 case",userMessage:"Trace 输入没有匹配到可用于评测的 case。",reason:"本次任务输入与当前评测集中的 case.input 没有达到可用匹配。",nextAction:"补充对应 case,或确认本次 trace 的任务输入与评测集 case.input 是否一致。",retryable:!1,stage:"case-match"},case_match_failed:{errorCategory:"case",shortStatus:"匹配 case 失败",userMessage:"无法根据 trace 输入自动定位可用于评测的 case。",reason:"trace 输入没有精确匹配到评测集 case,后台自动匹配也没有得到可用结果。",nextAction:"检查本次 trace 的任务输入是否与评测集 case.input 对齐;必要时补充 case 或重新选择评测集。",retryable:!0,stage:"case-match"},dataset_missing:{errorCategory:"dataset",shortStatus:"评测集不存在",userMessage:"评测集不存在,无法匹配可评测 case。",reason:"评测结果关联的数据集已经不存在,或当前用户不可访问。",nextAction:"重新选择评测集后再发起评测。",retryable:!1,stage:"dataset-load"},dataset_empty:{errorCategory:"dataset",shortStatus:"评测集为空",userMessage:"评测集没有可评测 case。",reason:"当前匹配范围内没有可用于评测的 case。",nextAction:"补充评测集 case 后重新评测。",retryable:!1,stage:"dataset-load"},case_missing_expected_output:{errorCategory:"case",shortStatus:"Case 缺预期结果",userMessage:"Case 缺少预期结果,无法做任务完成度评测。",reason:"已匹配到 case,但 expectedOutput 为空。",nextAction:"为该 case 补充 expectedOutput 后重新评测。",retryable:!1,stage:"case-match"},custom_reference_missing:{errorCategory:"case",shortStatus:"缺 reference_output",userMessage:"自定义评估器缺少 reference_output。",reason:"自定义评估器 prompt 引用了 reference_output,但没有匹配到带预期结果的 case。",nextAction:"补充评测集 expectedOutput,或调整自定义评估器 prompt。",retryable:!1,stage:"custom-evaluator"},trace_step_analysis_failed:{errorCategory:"model",shortStatus:"步骤抽取失败",userMessage:"Trace 步骤动态分析失败。",reason:"系统尝试从 trace 中抽取实际执行步骤时失败,通常与模型配置或调用异常有关。",nextAction:"检查评测模型配置和服务状态后重试。",retryable:!0,stage:"trace-step-analysis"},trace_no_steps:{errorCategory:"trace",shortStatus:"Trace 无步骤",userMessage:"Trace 无可提取执行步骤,无法做轨迹评测。",reason:"系统没有从本次 trace 中提取到可用于轨迹评测的实际执行步骤。",nextAction:"检查 trace 质量、采集粒度或执行记录是否完整。",retryable:!1,stage:"trace-step-analysis"},evaluator_timeout:{errorCategory:"evaluator",shortStatus:"评测超时",userMessage:"评测器运行超时。",reason:"评测器在限定时间内没有返回结果。",nextAction:"重试评测;如果持续出现,请检查模型服务响应时间。",retryable:!0,stage:"evaluator"},evaluator_output_invalid:{errorCategory:"evaluator",shortStatus:"评测器输出异常",userMessage:"评测器未返回有效结构化结果。",reason:"评测器输出无法解析为系统需要的 JSON/评分结构。",nextAction:"重试评测;如果持续出现,请检查评测器模型输出。",retryable:!0,stage:"evaluator"},result_evaluator_failed:{errorCategory:"evaluator",shortStatus:"结果评测失败",userMessage:"任务完成度评测失败。",reason:"任务完成度评测器没有产出可用评分或评测 session。",nextAction:"重试评测;如果持续出现,请检查模型配置和评测器日志。",retryable:!0,stage:"result-evaluator"},persist_failed:{errorCategory:"system",shortStatus:"保存失败",userMessage:"评测结果保存失败。",reason:"评测已执行,但结果写入数据库时失败。",nextAction:"检查数据库或服务状态后重试。",retryable:!0,stage:"persist"},evaluator_recovered_failed:{errorCategory:"system",shortStatus:"评测进程异常",userMessage:"评测进程异常中断。",reason:"后台恢复逻辑发现该评测长期停留在 pending/running 状态。",nextAction:"重试评测,并查看服务日志确认是否有进程异常。",retryable:!0,stage:"recover"}};function i(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function o(e){return"number"==typeof e&&Number.isFinite(e)}function l(e){return i(e?.rawAnalysis)}function c(e){return Array.isArray(e.selectedEvaluators)?e.selectedEvaluators:[]}function d(e,t){let r=c(e);return 0===r.length?t===n:r.includes(t)}function u(e){return!!(d(e,n)&&o(e.trajectoryScore)||d(e,"preset-agent-task-completion")&&null!=function(e){if(o(e.resultEvaluationScore))return e.resultEvaluationScore;let t=i(l(e).resultEvaluation);return o(t.score)?t.score:null}(e))||!!c(e).some(e=>e.startsWith("custom-"))&&null!=function(e){if(o(e.customEvaluationScore))return e.customEvaluationScore;let t=(Array.isArray(e.customEvaluations)?e.customEvaluations:e.customEvaluations&&"object"==typeof e.customEvaluations?Object.values(e.customEvaluations):[]).map(e=>i(e).score).filter(o);return t.length>0?t.reduce((e,t)=>e+t,0)/t.length:null}(e)}function g(e,t={}){let r=s[e]??{errorCategory:"system",shortStatus:"评测失败",userMessage:"评测执行失败。",reason:"评测执行过程中出现未分类异常。",nextAction:"重试评测;如果持续出现,请查看服务日志。",retryable:!0,stage:"unknown"};return{errorCode:e,errorCategory:r.errorCategory,shortStatus:r.shortStatus,userMessage:t.userMessage||r.userMessage,reason:t.reason||r.reason,nextAction:t.nextAction||r.nextAction,retryable:"boolean"==typeof t.retryable?t.retryable:r.retryable,stage:t.stage||r.stage,...t.details?{details:t.details}:{},...t.internal?{internal:t.internal}:{}}}function f(e){if(!e)return null;let t=e.diagnostic;if(t&&"object"==typeof t&&!Array.isArray(t))return t;let n=l(e),a=n.diagnostic;if(a&&"object"==typeof a&&!Array.isArray(a))return a;let s="string"==typeof n.resultEvaluationError?n.resultEvaluationError.trim():"",i=String(e.resultEvaluationError||s||"").trim();if(i)return g(i.includes("结果输出提取失败")||i.includes("任务输出提取")?"task_output_extraction_failed":"result_evaluator_failed",{details:i,reason:i});let o=String(e.errorMessage||"").trim();return o?o.includes(r)?g("case_not_matched",{details:v(o),reason:v(o)}):"failed"===e.status&&o.includes("[recover]")?g("evaluator_recovered_failed",{details:o,reason:o}):null:null}function p(e){return"done"===e||"failed"===e}function h(e){return"pending"===e.status?"pending":"running"===e.status?"running":f(e)?"done"===e.status&&u(e)?"partial_failed":"failed":e.status}function x(e){if("pending"===e.status)return"待评测";if("running"===e.status)return"评测中";let t=f(e);return t?"done"===e.status&&u(e)?"部分评测失败":t.shortStatus:"done"===e.status?"已评测":"评测失败"}function y(e){if("pending"===e.status)return"muted";if("running"===e.status)return"running";let t=f(e);return t?"done"===e.status&&u(e)||["trace","dataset","case","skill"].includes(t.errorCategory)?"warning":"danger":"done"===e.status?"success":"danger"}function m(e){if("pending"===e.status||"running"===e.status)return"";let t=f(e);return t?[t.userMessage,t.reason?`具体原因:${t.reason}`:"",t.nextAction?`下一步建议:${t.nextAction}`:"",t.details?`详细信息:${t.details}`:""].filter(Boolean).join("\n"):String(e.errorMessage||e.resultEvaluationError||"").trim()}function j(e,t={}){if(!e)return"该执行尚未评测";let r=f(e);if(r&&"pending"!==e.status&&"running"!==e.status)return[r.userMessage,"",`错误分类:${a[r.errorCategory]}`,`具体原因:${r.reason}`,`下一步建议:${r.nextAction}`,r.details?`详细信息:${r.details}`:""].filter(e=>""!==e).join("\n");let n=t.composite??null;return null!=n&&Number.isFinite(n)?n>=.8?"该执行在结果与过程两个维度均表现良好":n>=.5?"该执行结果基本可用,但部分关键动作覆盖不足":"该执行关键动作覆盖不足,建议优先排查":"该执行尚未评测"}function v(e){return e.replace(r,"").trim()||"未匹配到可评测 case"}e.s(["getTrajectoryDisplayStatus",()=>h,"getTrajectoryOverallConclusion",()=>j,"getTrajectoryStatusLabel",()=>x,"getTrajectoryStatusTitle",()=>m,"getTrajectoryStatusTone",()=>y,"isTrajectoryEvaluationTerminal",()=>p,"parseTrajectoryDiagnostic",()=>f],861171)},642726,e=>{"use strict";let t=["evaluator","checker","judge","locator","assessor","grader","评估器"],r=["你是「轨迹评估器」的总协调者","你是「Agent 任务完成度」评估器","trace-quality-evaluator","task-completion-evaluator","reference_trajectory","actual_trace","key_point_findings","key-points-checker","detect_redundancy_and_loops","已写入 final_result.json"],n=new Set(["trace-quality-evaluator","task-completion-evaluator"]);function a(e){let r=String(e||"").trim().toLowerCase();return!!r&&(!!n.has(r)||t.some(e=>r.includes(e)))}function s(e){return!!e&&(a(e.name)||a(e.parentAgent))}function i(e){return!!e&&(!![e.agentName,e.agent,...Array.isArray(e.agents)?e.agents:[]].some(e=>a(e))||!!e&&[e.query,e.final_result,e.label].some(e=>{let t=String(e||"");return!!t&&r.some(e=>t.includes(e))}))}function o(e){return e?String([e.agentName,e.agent,...Array.isArray(e.agents)?e.agents:[]].find(e=>{let t=String(e||"").trim();return t&&!a(t)})||"").trim():""}e.s(["getPrimaryExecutionAgentName",()=>o,"isEvaluatorAgent",()=>s,"isEvaluatorTraceRecord",()=>i])},111298,e=>{"use strict";var t=e.i(843476),r=e.i(271645),n=e.i(618566),a=e.i(573474),s=e.i(846696),i=e.i(183752),o=e.i(927643),l=e.i(540568),c=e.i(726526),d=e.i(347101),u=e.i(76706),g=e.i(861171),f=e.i(642726),p=e.i(460435);let h="#534AB7",x="#EEEDFE",y="#0F6E56",m="#A32D2D",j="#FFEBEB",v="#9A7311",b="#eceae4",S="#f3f2ee",w="#f9f9fb",k="#1a1a18",A="#2c2b28",C="#6b6a66",T="#8a8884",I="agent-insight:eval-history-state";function E(e){if(!e)return"--";try{return new Date(e).toLocaleString("zh-CN",{hour12:!1})}catch{return e}}function _(e){if(!e)return"--";try{let t=new Date(e),r=Date.now()-t.getTime();if(r<6e4)return"刚刚";if(r<36e5)return`${Math.floor(r/6e4)} 分钟前`;if(r<864e5)return`${Math.floor(r/36e5)} 小时前`;return`${Math.floor(r/864e5)} 天前`}catch{return e}}function $(e){return e&&e.slice(0,14)||"--"}function F(...e){for(let t of e){if("string"!=typeof t)continue;let e=t.trim();if(e)return e}return""}function W(e,t){let r=Array.isArray(e.selectedEvaluators)?e.selectedEvaluators:[];return 0===r.length?"preset-agent-trace-quality"===t:r.includes(t)}function M(e){let t=e.evaluatorName?e.evaluatorName.split("、").map(e=>e.trim()):[],r=e.evaluatorIds.map((e,r)=>e.startsWith("custom-")?"":t[r]?t[r]:"preset-agent-task-completion"===e?"Agent 任务完成度":"preset-agent-trace-quality"===e?"Agent 轨迹质量":e).filter(Boolean);return r.length>0?Array.from(new Set(r)).join("、"):"—"}function D(){let{t:e}=(0,c.useLocale)(),{user:a}=(0,o.useAuth)(),u=(0,n.useRouter)(),g=(0,n.useSearchParams)(),f=g?.get("runId")||"",y=g?.get("autoWatchOnly")==="1"||g?.get("autoWatchOnly")==="true",[m,j]=(0,r.useState)([]),[v,S]=(0,r.useState)([]),[w,A]=(0,r.useState)([]),[T,E]=(0,r.useState)(10),[_,$]=(0,r.useState)(!1),[F,W]=(0,r.useState)(!1),[M,D]=(0,r.useState)(null),[z,O]=(0,r.useState)(!0),[P,q]=(0,r.useState)(""),[H,U]=(0,r.useState)(!1),[J,K]=(0,r.useState)(y),[V,X]=(0,r.useState)(null),[Y,G]=(0,r.useState)(null),Q=(0,r.useRef)(null),Z=(0,r.useRef)(null),ee=(0,r.useRef)(!1),et=(0,r.useRef)("");(0,r.useEffect)(()=>{if(!a)return;let e=!1;return(async()=>{if(f&&!ee.current&&1){let e=window.sessionStorage.getItem(I);if(e)try{let t=JSON.parse(e);if(Date.now()-Number(t.savedAt||0)<6e5&&t.user===a&&t.selectedRunId===f&&t.autoWatchOnly===y&&Array.isArray(t.runSummaries)&&t.runSummaries.some(e=>e.runId===f)){ee.current=!0,A(t.runSummaries),E(t.historyOffset||10),$(!!t.historyHasMore),D(f),K(t.autoWatchOnly),U(t.historyOpen),j([]),S([]),q(""),O(!1),requestAnimationFrame(()=>{Z.current&&(Z.current.scrollTop=t.historyScrollTop||0)});return}}catch{window.sessionStorage.removeItem(I)}}e||(O(!0),A([]),j([]),S([]),E(10),$(!1),D(null));try{let t=new URLSearchParams({user:a,limit:String(10)}),r=f||et.current;r&&t.set("includeRunId",r),J&&t.set("autoWatchOnly","1");let n=await (0,i.apiFetch)(`/api/eval/trajectory/runs?${t.toString()}`),s=await n.json();if(!n.ok)throw Error(s?.error||n.statusText);let o=Array.isArray(s?.runs)?s.runs:[];if(!e){A(o),E("number"==typeof s?.nextOffset?s.nextOffset:10),$(!!s?.hasMore);let e=f||et.current,t=e?o.find(t=>t.runId===e):null;D(t?.runId||o[0]?.runId||null),et.current="",q("")}}catch(r){let t=r instanceof Error?r.message:String(r);e||q(`加载失败:${t}`)}finally{e||O(!1)}})(),()=>{e=!0}},[a,J,f,y]),(0,r.useEffect)(()=>{if(!a||!M)return;let e=!1,t=async()=>{try{let t=await (0,i.apiFetch)(`/api/eval/trajectory/results?user=${encodeURIComponent(a)}&runId=${encodeURIComponent(M)}&limit=500`),r=await t.json();if(!t.ok)throw Error(r?.error||t.statusText);let n=Array.isArray(r?.results)?r.results:[],s=Array.from(new Set(n.map(e=>e.taskId||"").filter(Boolean))),o=[];if(s.length>0){let e=new URLSearchParams({user:a,taskIds:s.join(","),skipAutoEvalReady:"1"}),t=await (0,i.apiFetch)(`/api/observe/data?${e.toString()}`),r=await t.json();if(!t.ok)throw Error(r?.error||t.statusText);o=Array.isArray(r)?r:[]}e||(j(n),S(o),q(""))}catch(r){let t=r instanceof Error?r.message:String(r);e||q(`加载失败:${t}`)}};t();let r=setInterval(t,5e3);return()=>{e=!0,clearInterval(r)}},[M,a]),(0,r.useEffect)(()=>{M||(j([]),S([]))},[M]),(0,r.useEffect)(()=>{let e=Q.current;if(!e||!a||!_||F)return;let t=new IntersectionObserver(e=>{if(!e.some(e=>e.isIntersecting))return;W(!0);let t=new URLSearchParams({user:a,limit:String(10)});t.set("offset",String(T)),J&&t.set("autoWatchOnly","1"),(0,i.apiFetch)(`/api/eval/trajectory/runs?${t.toString()}`).then(async e=>{let t=await e.json();if(!e.ok)throw Error(t?.error||e.statusText);let r=Array.isArray(t?.runs)?t.runs:[];A(e=>{let t=new Set(e.map(e=>e.runId));return[...e,...r.filter(e=>!t.has(e.runId))]}),E("number"==typeof t?.nextOffset?t.nextOffset:T+10),$(!!t?.hasMore)}).catch(e=>q(`加载历史任务失败:${e instanceof Error?e.message:String(e)}`)).finally(()=>W(!1))},{rootMargin:"180px"});return t.observe(e),()=>t.disconnect()},[J,_,F,T,a]);let er=(0,r.useMemo)(()=>{let e=new Map;for(let t of v)t.task_id&&e.set(t.task_id,t),t.upload_id&&e.set(t.upload_id,t);return e},[v]),en=(0,r.useMemo)(()=>w.find(e=>e.runId===M)||null,[w,M]),ea=(0,r.useMemo)(()=>m.filter(e=>!e.watchPlaceholder),[m]),es=async()=>{if(a&&V){G(V.runId);try{let e=await (0,i.apiFetch)("/api/eval/trajectory/runs",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:a,runId:V.runId})}),t=await e.json();if(!e.ok)throw Error(t?.error||e.statusText);let r=w.findIndex(e=>e.runId===V.runId),n=w.filter(e=>e.runId!==V.runId),o=M===V.runId?n[r]?.runId||n[r-1]?.runId||n[0]?.runId||null:M;A(n),M===V.runId&&(D(o),j([]),S([])),X(null),q(""),s.toast.success(`已删除评测批次「${V.taskTitle}」`)}catch(e){throw s.toast.error(`删除失败:${e instanceof Error?e.message:String(e)}`),e}finally{G(null)}}},ei=(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,t.jsxs)("button",{onClick:()=>U(e=>!e),title:H?"收起历史任务":"展开历史任务",style:{display:"flex",alignItems:"center",gap:5,padding:"5px 10px",background:H?x:"transparent",color:H?h:C,border:`1px solid ${H?h:b}`,borderRadius:6,fontSize:12,fontWeight:500,cursor:"pointer",transition:"all 0.15s"},children:[(0,t.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",children:[(0,t.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5.5",stroke:"currentColor",strokeWidth:"1.3"}),(0,t.jsx)("path",{d:"M6.5 3.5v3l2 1",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]}),"历史任务"]}),(0,t.jsx)("button",{onClick:()=>u.push("/eval/trajectory"),style:{padding:"6px 14px",background:h,color:"#fff",border:"none",borderRadius:6,fontSize:12,fontWeight:500,cursor:"pointer"},children:"+ 发起新评测"})]});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.AppTopBar,{title:(0,t.jsx)(p.Term,{id:"eval-batch",label:e("nav.eval")}),actions:ei,showDefaultActions:!1}),(0,t.jsxs)("div",{style:{flex:1,display:"flex",overflow:"hidden",minHeight:0},children:[(0,t.jsx)("main",{style:{flex:1,overflowY:"auto",minWidth:0,color:k},children:z?(0,t.jsx)("div",{style:{padding:24,color:C},children:"正在加载评测批次..."}):0!==w.length||J?0===w.length?(0,t.jsx)(L,{onClear:()=>K(!1)}):en?(0,t.jsx)(R,{run:en,results:ea,records:v,recordMap:er,router:u,user:a,error:P,autoWatchOnly:J,onBeforeOpenTrace:function(e){if(!a)return;let t={user:a,selectedRunId:e,autoWatchOnly:J,historyOpen:H,historyOffset:T,historyHasMore:_,historyScrollTop:Z.current?.scrollTop||0,runSummaries:w,savedAt:Date.now()};window.sessionStorage.setItem(I,JSON.stringify(t))},onDeleteRun:()=>X(en),deleteDisabled:en.runningCount>0||Y===en.runId,deleting:Y===en.runId},en.runId):null:(0,t.jsx)(N,{onCreate:()=>u.push("/eval/trajectory"),error:P})}),(0,t.jsxs)("aside",{style:{width:300*!!H,flexShrink:0,borderLeft:H?`1px solid ${b}`:"none",background:"#FBFAF6",display:"flex",flexDirection:"column",overflow:"hidden",transition:"width 0.2s ease"},children:[(0,t.jsxs)("header",{style:{display:"flex",alignItems:"center",padding:"12px 16px",borderBottom:`1px solid ${b}`,flexShrink:0,whiteSpace:"nowrap"},children:[(0,t.jsxs)("div",{style:{fontSize:13,fontWeight:600,color:k,display:"flex",alignItems:"center",gap:6},children:[(0,t.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 13 13",fill:"none",children:[(0,t.jsx)("circle",{cx:"6.5",cy:"6.5",r:"5.5",stroke:"currentColor",strokeWidth:"1.3"}),(0,t.jsx)("path",{d:"M6.5 3.5v3l2 1",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]}),"历史任务"]}),(0,t.jsxs)("button",{type:"button",onClick:function(){et.current=M||"",K(e=>!e)},title:J?"查看全部历史任务":"只看自动观测任务",style:{marginLeft:8,padding:"5px 10px",height:28,borderRadius:8,border:`1px solid ${J?h:b}`,background:J?x:"#fff",color:J?h:C,display:"flex",alignItems:"center",gap:6,fontSize:12,fontWeight:500,cursor:"pointer"},children:[(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 13 13",fill:"none","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M2 3h9M3.5 6.5h6M5.2 10h2.6",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})}),(0,t.jsx)("span",{children:J?"全部任务":"自动观测任务"})]})]}),(0,t.jsxs)("div",{ref:Z,style:{flex:1,overflowY:"auto",padding:10,display:"flex",flexDirection:"column",gap:6},children:[0===w.length?(0,t.jsx)("div",{style:{padding:24,textAlign:"center",fontSize:12,color:C},children:J?"没有自动观测任务":"还没有任何评测任务"}):w.map(e=>(0,t.jsx)(B,{run:e,active:e.runId===M,onClick:()=>D(e.runId),onDelete:()=>X(e),deleteDisabled:e.runningCount>0||Y===e.runId,deleting:Y===e.runId},e.runId)),(0,t.jsx)("div",{ref:Q,style:{height:1}}),F&&(0,t.jsx)("div",{style:{padding:8,textAlign:"center",fontSize:11,color:C},children:"正在加载更多..."})]})]})]}),(0,t.jsx)(d.ConfirmDialog,{open:!!V,onOpenChange:e=>{(e||!Y)&&(e||X(null))},title:"删除这次评测执行?",description:V?`会删除该批次下的评测结果和由本批次派生的优化点数据,原始 trace 会保留,可稍后重新评测。任务:${V.taskTitle}`:void 0,confirmText:"删除批次",cancelText:"取消",tone:"danger",onConfirm:es})]})}function z(){return(0,t.jsx)(r.Suspense,{fallback:(0,t.jsx)("div",{style:{padding:24,color:C},children:"Loading..."}),children:(0,t.jsx)(D,{})})}function R({run:e,results:n,records:s,recordMap:o,router:l,user:c,error:d,autoWatchOnly:I,onBeforeOpenTrace:D,onDeleteRun:z,deleteDisabled:R,deleting:B}){let[O,N]=(0,r.useState)(!1),[L,V]=(0,r.useState)(new Set),[X,Y]=(0,r.useState)(!1),[G,Q]=(0,r.useState)(""),[Z,ee]=(0,r.useState)(""),[et,er]=(0,r.useState)([]),[en,ea]=(0,r.useState)(!1),[es,ei]=(0,r.useState)(null),eo=es??e.autoWatch,el=O?et:s,ec=(0,r.useMemo)(()=>new Set(n.map(e=>e.taskId||e.executionId||"").filter(Boolean)),[n]),ed=(0,r.useMemo)(()=>{let t=e.watchedAgent||e.executionAgent;return el.filter(e=>!!e.task_id).filter(e=>!(0,f.isEvaluatorTraceRecord)(e)).filter(e=>!ec.has(e.task_id||"")).filter(e=>(0,f.getPrimaryExecutionAgentName)(e)===t).sort((e,t)=>{let r=e.timestamp?new Date(e.timestamp).getTime():0;return(t.timestamp?new Date(t.timestamp).getTime():0)-r})},[ec,el,e.executionAgent,e.watchedAgent]);(0,r.useEffect)(()=>{if(!O||!c||et.length>0)return;let e=!1,t=new URLSearchParams({user:c,skipAutoEvalReady:"1"});return(0,i.apiFetch)(`/api/observe/data?${t.toString()}`).then(async t=>{let r=await t.json();if(!t.ok)throw Error(r?.error||t.statusText);e||er(Array.isArray(r)?r:[])}).catch(t=>{e||ee(`加载可追加 trace 失败:${t instanceof Error?t.message:String(t)}`)}),()=>{e=!0}},[et.length,O,c]);let eu=async()=>{if(!c)return void ee("请先登录");let t=Array.from(L);if(0===t.length)return void ee("请至少选择一条 trace");Y(!0),ee(""),Q("");try{let r=await (0,i.apiFetch)("/api/eval/trajectory/run",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:c,evaluatorRunId:e.runId,taskIds:t,evaluators:e.evaluatorIds})}),n=await r.json();if(!r.ok)return void ee(`追加失败:${n?.error||r.statusText}`);Q(`已追加 ${n.created?.length??0} 条 trace 到本批次`),V(new Set),N(!1)}catch(e){ee(`追加失败:${e instanceof Error?e.message:String(e)}`)}finally{Y(!1)}},eg=async t=>{if(!c)return void ee("请先登录");ea(!0),ee(""),Q(""),ei(t);try{let r=await (0,i.apiFetch)("/api/eval/trajectory/run",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:c,evaluatorRunId:e.runId,autoWatch:t})}),n=await r.json();if(!r.ok){ei(e.autoWatch),ee(`${t?"开启":"关闭"}自动观测失败:${n?.error||r.statusText}`);return}Q(t?"已重新开启自动观测":"已关闭自动观测,后续新 trace 不会再自动追加")}catch(r){ei(e.autoWatch),ee(`${t?"开启":"关闭"}自动观测失败:${r instanceof Error?r.message:String(r)}`)}finally{ea(!1)}};return(0,t.jsxs)("div",{style:{padding:"18px 22px 28px"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:14,flexWrap:"wrap"},children:[(0,t.jsx)("span",{style:H(x,h),children:"评测批次"}),eo&&(0,t.jsx)("span",{style:H("#EAF7F1",y),children:"自动观测"}),(0,t.jsx)("span",{style:{fontSize:12,color:C},children:"任务已同步到历史卡片与详情页"}),(0,t.jsx)("div",{style:{flex:1}}),(0,t.jsx)("button",{type:"button","aria-label":`删除评测批次 ${e.taskTitle}`,title:B?"删除中...":R?"评测进行中,暂时不能删除":"删除该评测批次",disabled:R,onClick:z,style:{width:28,height:28,borderRadius:8,border:`1px solid ${R?b:"#F1D1D1"}`,background:B?j:"#fff",color:R?T:m,display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:R?"not-allowed":"pointer",opacity:R?.6:1},children:(0,t.jsx)(a.Trash2,{size:14,strokeWidth:2.1})}),(0,t.jsxs)("span",{style:{fontSize:11,color:C},children:["发起时间:",E(e.createdAt)]})]}),d&&(0,t.jsx)("div",{style:U(m,j,"#FFD4D4"),children:d}),(0,t.jsxs)("div",{style:{background:"linear-gradient(135deg, #FBFAF6 0%, #FFFFFF 100%)",border:`1px solid ${b}`,borderRadius:8,padding:16,marginBottom:14},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:16,alignItems:"flex-start",flexWrap:"wrap"},children:[(0,t.jsxs)("div",{style:{minWidth:0,flex:"1 1 420px"},children:[(0,t.jsx)("div",{style:{fontSize:12,color:C,marginBottom:6},children:"评测任务"}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,t.jsx)("div",{style:{fontSize:20,fontWeight:700,color:k,lineHeight:1.3},children:e.taskTitle}),eo&&(0,t.jsx)("span",{style:H("#EAF7F1",y,!0),children:"自动观测"})]}),(0,t.jsx)("div",{style:{marginTop:6,fontSize:12.5,color:e.taskDescription?A:T,lineHeight:1.6},children:e.taskDescription||""})]}),(0,t.jsx)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",justifyContent:"flex-end",minWidth:408},children:(0,t.jsxs)("div",{style:{minWidth:200,flex:"0 0 200px",padding:"12px 14px",borderRadius:10,border:`1px solid ${eo?"#CDECDD":b}`,background:eo?"#F6FFFA":"#fff",display:"flex",alignItems:"center",justifyContent:"space-between",gap:14},children:[(0,t.jsxs)("div",{style:{minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:11.5,color:C,marginBottom:4},children:(0,t.jsx)(p.Term,{id:"auto-observe",label:"自动观测"})}),(0,t.jsx)("div",{style:{fontSize:14,color:eo?y:T,fontWeight:700},children:eo?"开启中":"已关闭"})]}),(0,t.jsx)(q,{checked:eo,disabled:en,onChange:eg,"aria-label":"切换自动观测"})]})})]}),(0,t.jsxs)("div",{style:{marginTop:16,paddingTop:16,borderTop:`1px solid ${S}`,display:"grid",gridTemplateColumns:"minmax(220px, 1.25fr) minmax(180px, 1.15fr) repeat(3, minmax(120px, 1fr))",gap:14},children:[(0,t.jsx)(P,{label:(0,t.jsx)(p.Term,{id:"eval-agent",label:"执行 Agent"}),value:e.executionAgent||"—",mono:!0,primary:!0,truncate:!0}),(0,t.jsx)(P,{label:(0,t.jsx)(p.Term,{id:"evaluator",label:"评估器"}),value:M(e),truncate:!0}),(0,t.jsx)(P,{label:"trace 总数",value:String(e.traceCount)}),(0,t.jsx)(P,{label:"评测进度",value:`${e.doneCount} / ${e.traceCount}`,detail:(0,t.jsxs)("span",{style:{fontSize:11},children:[(0,t.jsxs)("span",{style:{color:y},children:["完成 ",e.doneCount]}),e.runningCount>0&&(0,t.jsxs)("span",{style:{color:"#1677ff"},children:[" · 进行中 ",e.runningCount]}),e.failedCount>0&&(0,t.jsxs)("span",{style:{color:m},children:[" · 失败 ",e.failedCount]})]})}),(0,t.jsx)(P,{label:"平均分",value:null!=e.avgScore?`${(0,u.fmtPercentScore)(e.avgScore)} / 100`:"--",valueColor:null!=e.avgScore?e.avgScore>=.8?y:e.avgScore>=.5?v:m:T})]})]}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,t.jsx)("div",{style:{fontSize:13,fontWeight:600,color:k},children:"本批次 trace 评测列表"}),(0,t.jsx)("div",{style:{fontSize:12,color:C},children:"点行查看单条 trace 的评测细节"}),(0,t.jsx)("div",{style:{flex:1}}),(0,t.jsx)("button",{type:"button",onClick:()=>{N(e=>!e),ee(""),Q("")},style:{padding:"5px 11px",borderRadius:6,border:`1px solid ${h}`,background:O?x:"#fff",color:h,fontSize:12,fontWeight:500,cursor:"pointer"},children:"+ 增加评测 trace"})]}),(O||G||Z)&&(0,t.jsxs)("div",{style:{border:`1px solid ${b}`,borderRadius:8,background:"#fff",padding:12,marginBottom:10},children:[Z&&(0,t.jsx)("div",{style:U(m,j,"#FFD4D4"),children:Z}),G&&(0,t.jsx)("div",{style:U(y,"#F0F7F4","#D1EAE2"),children:G}),O?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,t.jsxs)("div",{style:{fontSize:12,color:C},children:["可追加 trace:",ed.length]}),(0,t.jsx)("div",{style:{flex:1}}),(0,t.jsx)("button",{type:"button",disabled:X||0===L.size,onClick:eu,style:{padding:"5px 12px",borderRadius:6,border:"none",background:X||0===L.size?"#bdb8df":h,color:"#fff",fontSize:12,cursor:X||0===L.size?"not-allowed":"pointer"},children:X?"追加中...":`开始评测 (${L.size})`})]}),0===ed.length?(0,t.jsx)("div",{style:{padding:16,textAlign:"center",fontSize:12,color:C},children:"没有可追加的 trace。"}):(0,t.jsxs)("div",{style:{maxHeight:260,overflow:"auto",border:`1px solid ${S}`,borderRadius:6},children:[(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"28px minmax(170px, 220px) minmax(0, 1fr) minmax(0, 1fr) 84px",gap:10,alignItems:"center",padding:"8px 10px",borderBottom:`1px solid ${S}`,background:w,color:C,fontSize:11,fontWeight:500},children:[(0,t.jsx)("span",{}),(0,t.jsx)("span",{children:"TRACE ID"}),(0,t.jsx)("span",{children:"Trace 任务输入"}),(0,t.jsx)("span",{children:"Trace 任务输出"}),(0,t.jsx)("span",{style:{textAlign:"right"},children:"执行时间"})]}),ed.map(e=>{let r=e.task_id||"";return(0,t.jsxs)("label",{style:{display:"grid",gridTemplateColumns:"28px minmax(170px, 220px) minmax(0, 1fr) minmax(0, 1fr) 84px",gap:10,alignItems:"center",padding:"8px 10px",borderBottom:`1px solid ${S}`,cursor:"pointer",fontSize:12},children:[(0,t.jsx)("input",{type:"checkbox",checked:L.has(r),onChange:()=>{V(e=>{let t=new Set(e);return t.has(r)?t.delete(r):t.add(r),t})}}),(0,t.jsx)("code",{style:{color:C,fontFamily:"var(--font-mono)",whiteSpace:"nowrap"},title:r,children:$(r)}),(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.query||"",children:e.query||"(空输入)"}),(0,t.jsxs)("span",{style:{minWidth:0},children:[(0,t.jsx)("span",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.final_result||"",children:e.final_result||"—"}),(0,t.jsxs)("span",{style:{display:"block",color:T,fontSize:10,marginTop:2},children:[e.framework||"",e.model?` \xb7 ${e.model}`:""]})]}),(0,t.jsx)("span",{style:{color:C,textAlign:"right"},children:_(e.timestamp)})]},r)})]})]}):null]}),(0,t.jsx)("div",{style:{border:`1px solid ${b}`,borderRadius:9,overflow:"hidden",background:"#fff"},children:(0,t.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{style:{background:w,borderBottom:`1px solid ${b}`},children:[(0,t.jsx)("th",{style:J(170,"left"),children:(0,t.jsx)(p.Term,{id:"trace",label:"TRACE ID"})}),(0,t.jsx)("th",{style:J(void 0,"left"),children:(0,t.jsx)(p.Term,{id:"trace",label:"Trace 任务输入"})}),(0,t.jsx)("th",{style:J(void 0,"left"),children:(0,t.jsx)(p.Term,{id:"trace",label:"Trace 任务输出"})}),(0,t.jsx)("th",{style:J(80,"center"),children:"评测状态"}),(0,t.jsx)("th",{style:J(92,"left"),children:"得分"}),(0,t.jsx)("th",{style:J(110,"left"),children:"评测时间"})]})}),(0,t.jsx)("tbody",{children:n.map(r=>{let n,a=r.taskId||r.executionId||"",s=o.get(a),i=!!a,c=function(e){if(!(0,g.isTrajectoryEvaluationTerminal)(e.status)||"done"!==(0,g.getTrajectoryDisplayStatus)(e))return null;let t=W(e,"preset-agent-trace-quality")?e.trajectoryScore:null,r=W(e,"preset-agent-task-completion")?e.resultEvaluationScore??null:null;if(W(e,"preset-agent-trace-quality")&&(null==t||!Number.isFinite(t))||W(e,"preset-agent-task-completion")&&(null==r||!Number.isFinite(r)))return null;let n=[t,r].filter(e=>"number"==typeof e&&Number.isFinite(e));return n.length>0?n.reduce((e,t)=>e+t,0)/n.length:null}(r),d=F(r.traceInput,s?.query),f=F(r.traceOutput,s?.final_result),p=[F(s?.framework,r.traceFramework),F(s?.model,r.traceModel)].filter(Boolean).join(" · ");return(0,t.jsxs)("tr",{onClick:()=>{if(!a)return;D(e.runId);let t=new URLSearchParams({runId:e.runId,datasetId:r.datasetId,resultId:r.id});I&&t.set("autoWatchOnly","1"),l.push(`/eval/trajectory/${encodeURIComponent(a)}?${t.toString()}`)},style:{borderBottom:`1px solid ${S}`,cursor:i?"pointer":"default"},onMouseEnter:e=>{i&&(e.currentTarget.style.background=w)},onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,t.jsx)("td",{style:{...K("left"),fontFamily:"var(--font-mono)",color:A,whiteSpace:"nowrap"},title:a,children:$(a)}),(0,t.jsx)("td",{style:{...K("left"),maxWidth:280},title:d,children:d?(0,t.jsx)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d}):(0,t.jsx)("span",{style:{color:T},children:"未提取到任务输入"})}),(0,t.jsx)("td",{style:{...K("left"),maxWidth:280},title:f,children:f?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:f}),p&&(0,t.jsx)("div",{style:{fontSize:11,color:T,marginTop:2},children:p})]}):(0,t.jsx)("span",{style:{color:T},children:"未提取到任务输出"})}),(0,t.jsx)("td",{style:K("center"),children:(0,t.jsx)("span",{style:{color:"warning"===(n=(0,g.getTrajectoryStatusTone)(r))?v:"danger"===n?m:"running"===n?"#1677ff":"success"===n?y:T,fontWeight:500},title:(0,g.getTrajectoryStatusTitle)(r),children:(0,g.getTrajectoryStatusLabel)(r)})}),(0,t.jsx)("td",{style:{...K("left"),minWidth:92,color:null!=c?h:T,fontWeight:600},children:null!=c?`${(0,u.fmtPercentScore)(c)} 分`:"--"}),(0,t.jsx)("td",{style:{...K("left"),color:C},children:E(r.createdAt)})]},r.id)})})]})})]})}function B({run:e,active:r,onClick:n,onDelete:s,deleteDisabled:i,deleting:o}){let l=null!=e.avgScore?`${(0,u.fmtPercentScore)(e.avgScore)} / 100`:"—",c=M(e);return(0,t.jsxs)("div",{onClick:n,style:{padding:12,border:`1px solid ${r?h:b}`,borderRadius:6,background:r?x:"#fff",cursor:"pointer",transition:"border-color 0.15s, background 0.15s"},onMouseEnter:e=>{r||(e.currentTarget.style.borderColor="#d8d6cf")},onMouseLeave:e=>{r||(e.currentTarget.style.borderColor=b)},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},children:[(0,t.jsxs)("div",{style:{minWidth:0,display:"flex",alignItems:"center",gap:8,flex:1},children:[(0,t.jsx)("span",{style:{fontSize:12.5,fontWeight:600,color:k,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.taskTitle,children:e.taskTitle}),(0,t.jsx)("button",{type:"button","aria-label":`删除评测批次 ${e.taskTitle}`,title:o?"删除中...":i?"评测进行中,暂时不能删除":"删除该评测批次",disabled:i,onClick:e=>{e.stopPropagation(),i||s()},style:{flexShrink:0,width:22,height:22,borderRadius:6,border:"none",background:o?j:"transparent",color:i?T:C,display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:i?"not-allowed":"pointer",opacity:i?.5:.9},children:(0,t.jsx)(a.Trash2,{size:13,strokeWidth:2.1})})]}),(0,t.jsx)("span",{style:{fontSize:11,color:C,flexShrink:0},children:_(e.createdAt)})]}),e.autoWatch&&(0,t.jsx)("div",{style:{marginBottom:8},children:(0,t.jsx)("span",{style:H("#EAF7F1",y,!0),children:"自动观测"})}),(0,t.jsx)("div",{style:{fontSize:11.5,color:e.taskDescription?A:T,marginBottom:8,lineHeight:1.5,display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"},title:e.taskDescription||"",children:e.taskDescription||""}),(0,t.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:(0,t.jsx)("span",{style:{fontSize:11,color:C,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.executionAgent||"未识别 Agent"})}),(0,t.jsxs)("div",{style:{fontSize:11,color:C,marginBottom:8,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:c,children:["评估器:",c]}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11},children:[(0,t.jsx)(O,{done:e.doneCount,running:e.runningCount,failed:e.failedCount,total:e.traceCount}),(0,t.jsxs)("span",{style:{color:C},children:[e.doneCount,"/",e.traceCount]}),(0,t.jsx)("span",{style:{flex:1}}),(0,t.jsx)("span",{style:{color:null!=e.avgScore?h:T,fontWeight:600},children:l})]})]})}function O({done:e,running:r,failed:n,total:a}){return 0===a?null:(0,t.jsxs)("div",{style:{display:"flex",height:4,width:60,background:w,borderRadius:2,overflow:"hidden"},children:[(0,t.jsx)("div",{style:{width:`${e/a*100}%`,background:y}}),(0,t.jsx)("div",{style:{width:`${r/a*100}%`,background:"#1677ff"}}),(0,t.jsx)("div",{style:{width:`${n/a*100}%`,background:m}})]})}function N({onCreate:e,error:r}){return(0,t.jsxs)("div",{style:{padding:"60px 22px",textAlign:"center",color:C},children:[(0,t.jsx)("div",{style:{marginBottom:12,fontSize:14},children:"还没有任何评测批次"}),r&&(0,t.jsx)("div",{style:{...U(m,j,"#FFD4D4"),maxWidth:480,margin:"0 auto 12px"},children:r}),(0,t.jsx)("button",{onClick:e,style:{padding:"8px 18px",background:h,color:"#fff",border:"none",borderRadius:6,fontSize:13,fontWeight:500,cursor:"pointer"},children:"发起首次评测 →"})]})}function L({onClear:e}){return(0,t.jsxs)("div",{style:{padding:"60px 22px",textAlign:"center",color:C},children:[(0,t.jsx)("div",{style:{marginBottom:12,fontSize:14},children:"没有自动观测历史任务"}),(0,t.jsx)("button",{onClick:e,style:{padding:"8px 18px",background:"#fff",color:h,border:`1px solid ${h}`,borderRadius:6,fontSize:13,fontWeight:500,cursor:"pointer"},children:"查看全部历史任务"})]})}function P({label:e,value:r,detail:n,primary:a,mono:s,valueColor:i,truncate:o}){return(0,t.jsxs)("div",{style:{minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:12,color:C,marginBottom:4},children:e}),(0,t.jsx)("div",{title:o?r:void 0,style:{fontSize:14,fontWeight:600,color:i||(a?k:A),fontFamily:s?"monospace":void 0,lineHeight:1.35,...o?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},children:r}),n?(0,t.jsx)("div",{style:{marginTop:3},children:n}):null]})}function q({checked:e,disabled:r,onChange:n,"aria-label":a}){return(0,t.jsx)("button",{type:"button",role:"switch","aria-checked":e,"aria-label":a,disabled:r,onClick:()=>n(!e),style:{width:42,height:22,borderRadius:999,border:`1px solid ${e?"#21A36B":"#C9CDD3"}`,background:e?"#23B26F":"#D6D8DC",padding:2,cursor:r?"not-allowed":"pointer",opacity:r?.6:1,boxShadow:e?"inset 0 0 0 1px rgba(255,255,255,0.2), 0 1px 4px rgba(18, 128, 79, 0.16)":"inset 0 0 0 1px rgba(255,255,255,0.35)",transition:"background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease"},children:(0,t.jsx)("span",{style:{display:"block",width:16,height:16,borderRadius:"50%",background:"#fff",transform:e?"translateX(20px)":"translateX(0)",boxShadow:"0 1px 4px rgba(24, 24, 27, 0.2)",transition:"transform 0.16s ease"}})})}function H(e,t,r){return{display:"inline-block",padding:r?"1px 6px":"2px 8px",background:e,color:t,borderRadius:4,fontSize:r?10:11,fontWeight:500,whiteSpace:"nowrap"}}function U(e,t,r){return{padding:10,marginBottom:12,borderRadius:6,background:t,border:`1px solid ${r}`,color:e,fontSize:12}}function J(e,t="left"){return{padding:"9px 10px",textAlign:t,fontWeight:500,color:C,fontSize:12,...e?{width:e}:{}}}function K(e="left"){return{padding:"9px 10px",textAlign:e,verticalAlign:"middle",fontSize:13}}e.s(["default",()=>z])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,615408,e=>{"use strict";e.s(["presetEvaluators",0,[{id:"preset-agent-task-completion",name:"Agent 任务完成度",description:"评估 Agent 是否成功、完整地实现了用户目标,适合回归集和上线验收。",evaluatorType:"LLM",source:"preset",targetTypes:["结果"],objectives:["任务完成","内容质量"],scenarios:["Agent通用评测"],runMode:"LLM Judge",scoreRange:"0-1",popularity:96,mappedMetrics:["目标达成","步骤完整","答案可用"],status:"ready",runtimeHref:"/eval/trajectory",runtimeNote:"opencode-task-completion-evaluator.ts (single opencode agent)"},{id:"preset-agent-trace-quality",name:"Agent 轨迹质量",description:"评估 Agent 内部执行轨迹是否准确、稳定,关注规划、调用和中间结果。基于 opencode 单主评估器完成 completeness / tool-choice / attribution 判断,并结合规则冗余检测。",evaluatorType:"LLM",source:"preset",targetTypes:["轨迹"],objectives:["轨迹质量"],scenarios:["Agent通用评测","轨迹评测"],runMode:"Trace Judge (opencode)",scoreRange:"0-1",popularity:91,mappedMetrics:["轨迹准确性","推理连续性","异常处理"],status:"ready",runtimeHref:"/eval/trajectory",runtimeNote:"opencode-trajectory-evaluator.ts (single opencode agent)"}]])},482022,e=>{"use strict";let t=(0,e.i(456420).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],482022)},741120,e=>{"use strict";let t=(0,e.i(456420).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],741120)},77071,e=>{"use strict";let t=(0,e.i(456420).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],77071)},853138,e=>{"use strict";let t=(0,e.i(456420).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",()=>t],853138)},716327,e=>{"use strict";let t=(0,e.i(456420).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],716327)},867927,e=>{"use strict";let t=(0,e.i(456420).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],867927)},583967,e=>{"use strict";let t=(0,e.i(456420).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",()=>t],583967)},632781,e=>{"use strict";let t=(0,e.i(456420).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],632781)},616933,e=>{"use strict";let t=(0,e.i(456420).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["default",()=>t])},847211,e=>{"use strict";let t=(0,e.i(456420).default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);e.s(["Ban",()=>t],847211)},551757,e=>{"use strict";var t=e.i(616933);e.s(["CheckCircle2",()=>t.default])},474544,e=>{"use strict";let t=(0,e.i(456420).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",()=>t],474544)},51907,e=>{"use strict";var t=e.i(843476),r=e.i(853138),a=e.i(847211),s=e.i(551757),n=e.i(474544),l=e.i(632781),o=e.i(583967),c=e.i(975157);let i={running:{subtle:"bg-blue-50 text-blue-700 border-blue-200 dark:bg-blue-500/10 dark:text-blue-300 dark:border-blue-400/30",outline:"bg-transparent text-blue-700 border-blue-300 dark:text-blue-300 dark:border-blue-400/40",iconClass:"animate-spin"},success:{subtle:"bg-success-subtle text-success border-success-border",outline:"bg-transparent text-success border-success/40"},warning:{subtle:"bg-warning-subtle text-warning border-warning-border",outline:"bg-transparent text-warning border-warning/40"},error:{subtle:"bg-error-subtle text-error border-error-border",outline:"bg-transparent text-error border-error/40"},cancelled:{subtle:"bg-background-secondary text-foreground-muted border-border",outline:"bg-transparent text-foreground-muted border-border-dark"},pending:{subtle:"bg-background-secondary text-foreground-muted border-border",outline:"bg-transparent text-foreground-muted border-border"}},d={running:l.Loader2,success:s.CheckCircle2,warning:r.AlertTriangle,error:o.XCircle,cancelled:a.Ban,pending:n.Clock};function u({status:e,label:r,variant:a="subtle",size:s="sm",className:n,...l}){let o=d[e],u=i[e];return(0,t.jsxs)("span",{role:"status",className:(0,c.cn)("inline-flex items-center rounded-sm border font-medium whitespace-nowrap","sm"===s?"h-5 px-1.5 text-xs gap-1":"h-6 px-2 text-sm gap-1.5",u[a],n),...l,children:[(0,t.jsx)(o,{className:(0,c.cn)("size-3.5 shrink-0",u.iconClass),"aria-hidden":!0}),(0,t.jsx)("span",{children:r})]})}e.s(["StatusBadge",()=>u])},994004,e=>{"use strict";let t=(0,e.i(456420).default)("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);e.s(["History",()=>t],994004)}]);
@@ -1,6 +1,6 @@
1
1
  services:
2
2
  agent-insight:
3
- image: karaggagent/agent-insight:0.5.1-amd64
3
+ image: karaggagent/agent-insight:0.5.3-amd64
4
4
  container_name: agent-insight
5
5
  platform: linux/amd64
6
6
  restart: unless-stopped
@@ -8,3 +8,4 @@ services:
8
8
  - "3033:3000"
9
9
  volumes:
10
10
  - ${HOME}/.agent-insight:/data/agent-insight
11
+ - ${HOME}/.agent-insight:/home/node/.agent-insight
@@ -0,0 +1,11 @@
1
+ services:
2
+ agent-insight:
3
+ image: karaggagent/agent-insight:0.5.3-arm64
4
+ container_name: agent-insight
5
+ platform: linux/arm64
6
+ restart: unless-stopped
7
+ ports:
8
+ - "3033:3000"
9
+ volumes:
10
+ - ${HOME}/.agent-insight:/data/agent-insight
11
+ - ${HOME}/.agent-insight:/home/node/.agent-insight