agent-insight 0.4.1 → 0.4.2

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 (1191) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +13 -0
  3. package/.next/standalone/.next/build-manifest.json +2 -2
  4. package/.next/standalone/.next/prerender-manifest.json +51 -3
  5. package/.next/standalone/.next/routes-manifest.json +82 -0
  6. package/.next/standalone/.next/server/app/(main)/accessconfig/channels/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(main)/accessconfig/health/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(main)/accessconfig/install/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/(main)/accessconfig/install/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(main)/accessconfig/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(main)/accessconfig/webhooks/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(main)/agents/page.js.nft.json +1 -1
  13. package/.next/standalone/.next/server/app/(main)/agents/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(main)/dashboard/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(main)/dataset/[id]/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(main)/dataset/page.js.nft.json +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.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/(main)/eval/run/[runId]/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(main)/eval/trajectory/page.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/(main)/eval/trajectory/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/(main)/evaluation/[id]/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(main)/fault/page.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/(main)/fault/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/(main)/infra/page/app-paths-manifest.json +3 -0
  33. package/.next/standalone/.next/server/app/(main)/infra/page/build-manifest.json +17 -0
  34. package/.next/standalone/.next/server/app/(main)/infra/page/next-font-manifest.json +6 -0
  35. package/.next/standalone/.next/server/app/(main)/infra/page/react-loadable-manifest.json +1 -0
  36. package/.next/standalone/.next/server/app/(main)/infra/page/server-reference-manifest.json +4 -0
  37. package/.next/standalone/.next/server/app/(main)/infra/page.js +17 -0
  38. package/.next/standalone/.next/server/app/(main)/infra/page.js.map +5 -0
  39. package/.next/standalone/.next/server/app/(main)/infra/page.js.nft.json +1 -0
  40. package/.next/standalone/.next/server/app/(main)/infra/page_client-reference-manifest.js +2 -0
  41. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page/app-paths-manifest.json +3 -0
  42. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page/build-manifest.json +17 -0
  43. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page/next-font-manifest.json +6 -0
  44. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page/react-loadable-manifest.json +1 -0
  45. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page/server-reference-manifest.json +4 -0
  46. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page.js +17 -0
  47. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page.js.map +5 -0
  48. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page.js.nft.json +1 -0
  49. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page_client-reference-manifest.js +2 -0
  50. package/.next/standalone/.next/server/app/(main)/infra/sources/page/app-paths-manifest.json +3 -0
  51. package/.next/standalone/.next/server/app/(main)/infra/sources/page/build-manifest.json +17 -0
  52. package/.next/standalone/.next/server/app/(main)/infra/sources/page/next-font-manifest.json +6 -0
  53. package/.next/standalone/.next/server/app/(main)/infra/sources/page/react-loadable-manifest.json +1 -0
  54. package/.next/standalone/.next/server/app/(main)/infra/sources/page/server-reference-manifest.json +4 -0
  55. package/.next/standalone/.next/server/app/(main)/infra/sources/page.js +17 -0
  56. package/.next/standalone/.next/server/app/(main)/infra/sources/page.js.map +5 -0
  57. package/.next/standalone/.next/server/app/(main)/infra/sources/page.js.nft.json +1 -0
  58. package/.next/standalone/.next/server/app/(main)/infra/sources/page_client-reference-manifest.js +2 -0
  59. package/.next/standalone/.next/server/app/(main)/memory/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/(main)/metrics/evaluators/[id]/page.js.nft.json +1 -1
  61. package/.next/standalone/.next/server/app/(main)/metrics/evaluators/[id]/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/(main)/metrics/page.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/(main)/metrics/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/(main)/modelconfig/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/(main)/optapi/page_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/(main)/quality/page.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/(main)/quality/page_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/(main)/security/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/(main)/skill-eval/page.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/(main)/skill-eval/page_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/(main)/skill-eval/trigger/[skillName]/page_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/(main)/skill-generator/page.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/(main)/skill-generator/page_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/(main)/skill-history/page.js.nft.json +1 -1
  81. package/.next/standalone/.next/server/app/(main)/skill-history/page_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/(main)/skill-opt/[name]/[version]/page.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/(main)/skill-opt/[name]/[version]/page_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/(main)/skill-opt/page.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/(main)/skill-opt/page_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/(main)/skill-release/page_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/(main)/skills/page.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/(main)/skills/page_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/(main)/trace/page.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/(main)/trace/page_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  92. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  93. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  94. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  95. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  96. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  97. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  98. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  100. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  101. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  102. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  103. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  104. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  105. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  106. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  107. package/.next/standalone/.next/server/app/accessconfig/channels.html +1 -1
  108. package/.next/standalone/.next/server/app/accessconfig/channels.rsc +5 -5
  109. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels/__PAGE__.segment.rsc +2 -2
  110. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels.segment.rsc +1 -1
  111. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  112. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p.segment.rsc +2 -2
  113. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_full.segment.rsc +5 -5
  114. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_head.segment.rsc +1 -1
  115. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_index.segment.rsc +3 -3
  116. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_tree.segment.rsc +2 -2
  117. package/.next/standalone/.next/server/app/accessconfig/health.html +1 -1
  118. package/.next/standalone/.next/server/app/accessconfig/health.rsc +5 -5
  119. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health/__PAGE__.segment.rsc +2 -2
  120. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health.segment.rsc +1 -1
  121. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  122. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p.segment.rsc +2 -2
  123. package/.next/standalone/.next/server/app/accessconfig/health.segments/_full.segment.rsc +5 -5
  124. package/.next/standalone/.next/server/app/accessconfig/health.segments/_head.segment.rsc +1 -1
  125. package/.next/standalone/.next/server/app/accessconfig/health.segments/_index.segment.rsc +3 -3
  126. package/.next/standalone/.next/server/app/accessconfig/health.segments/_tree.segment.rsc +2 -2
  127. package/.next/standalone/.next/server/app/accessconfig/install.html +3 -1
  128. package/.next/standalone/.next/server/app/accessconfig/install.rsc +5 -5
  129. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install/__PAGE__.segment.rsc +2 -2
  130. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install.segment.rsc +1 -1
  131. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  132. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p.segment.rsc +2 -2
  133. package/.next/standalone/.next/server/app/accessconfig/install.segments/_full.segment.rsc +5 -5
  134. package/.next/standalone/.next/server/app/accessconfig/install.segments/_head.segment.rsc +1 -1
  135. package/.next/standalone/.next/server/app/accessconfig/install.segments/_index.segment.rsc +3 -3
  136. package/.next/standalone/.next/server/app/accessconfig/install.segments/_tree.segment.rsc +2 -2
  137. package/.next/standalone/.next/server/app/accessconfig/webhooks.html +1 -1
  138. package/.next/standalone/.next/server/app/accessconfig/webhooks.rsc +5 -5
  139. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks/__PAGE__.segment.rsc +2 -2
  140. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks.segment.rsc +1 -1
  141. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  142. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p.segment.rsc +2 -2
  143. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_full.segment.rsc +5 -5
  144. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_head.segment.rsc +1 -1
  145. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_index.segment.rsc +3 -3
  146. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_tree.segment.rsc +2 -2
  147. package/.next/standalone/.next/server/app/accessconfig.html +1 -1
  148. package/.next/standalone/.next/server/app/accessconfig.rsc +4 -4
  149. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig/__PAGE__.segment.rsc +1 -1
  150. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  151. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p.segment.rsc +2 -2
  152. package/.next/standalone/.next/server/app/accessconfig.segments/_full.segment.rsc +4 -4
  153. package/.next/standalone/.next/server/app/accessconfig.segments/_head.segment.rsc +1 -1
  154. package/.next/standalone/.next/server/app/accessconfig.segments/_index.segment.rsc +3 -3
  155. package/.next/standalone/.next/server/app/accessconfig.segments/_tree.segment.rsc +2 -2
  156. package/.next/standalone/.next/server/app/agents.html +1 -1
  157. package/.next/standalone/.next/server/app/agents.rsc +5 -5
  158. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +2 -2
  159. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +1 -1
  160. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +2 -2
  161. package/.next/standalone/.next/server/app/agents.segments/_full.segment.rsc +5 -5
  162. package/.next/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  163. package/.next/standalone/.next/server/app/agents.segments/_index.segment.rsc +3 -3
  164. package/.next/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  165. package/.next/standalone/.next/server/app/api/agent/run/route.js +5 -4
  166. package/.next/standalone/.next/server/app/api/agent/run/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/agent/stream/route.js +5 -4
  168. package/.next/standalone/.next/server/app/api/agent/stream/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/agent-datasets/[id]/route.js +5 -4
  170. package/.next/standalone/.next/server/app/api/agent-datasets/[id]/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/agent-datasets/route.js +6 -5
  172. package/.next/standalone/.next/server/app/api/agent-datasets/route.js.nft.json +1 -1
  173. package/.next/standalone/.next/server/app/api/agents/[id]/route.js +3 -3
  174. package/.next/standalone/.next/server/app/api/agents/[id]/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/agents/route.js +2 -2
  176. package/.next/standalone/.next/server/app/api/agents/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/auth/apikey/route.js +5 -5
  178. package/.next/standalone/.next/server/app/api/auth/apikey/route.js.nft.json +1 -1
  179. package/.next/standalone/.next/server/app/api/auth/organization/route.js +3 -3
  180. package/.next/standalone/.next/server/app/api/auth/organization/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/dashboard/stats/route.js +3 -3
  182. package/.next/standalone/.next/server/app/api/dashboard/stats/route.js.nft.json +1 -1
  183. package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js +6 -5
  184. package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js.nft.json +1 -1
  185. package/.next/standalone/.next/server/app/api/debug/batch-tasks/route.js +2 -2
  186. package/.next/standalone/.next/server/app/api/debug/batch-tasks/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/debug/execute/[jobId]/route.js +2 -2
  188. package/.next/standalone/.next/server/app/api/debug/execute/[jobId]/route.js.nft.json +1 -1
  189. package/.next/standalone/.next/server/app/api/debug/execute/route.js +5 -4
  190. package/.next/standalone/.next/server/app/api/debug/execute/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js +14 -13
  192. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/route.js +2 -2
  194. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/route.js.nft.json +1 -1
  195. package/.next/standalone/.next/server/app/api/debug/history/[id]/route.js +2 -2
  196. package/.next/standalone/.next/server/app/api/debug/history/[id]/route.js.nft.json +1 -1
  197. package/.next/standalone/.next/server/app/api/debug/history/route.js +2 -2
  198. package/.next/standalone/.next/server/app/api/debug/history/route.js.nft.json +1 -1
  199. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js +7 -6
  200. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js.nft.json +1 -1
  201. package/.next/standalone/.next/server/app/api/eval/config/create/route.js +6 -5
  202. package/.next/standalone/.next/server/app/api/eval/config/create/route.js.nft.json +1 -1
  203. package/.next/standalone/.next/server/app/api/eval/config/reparse/route.js +5 -4
  204. package/.next/standalone/.next/server/app/api/eval/config/reparse/route.js.nft.json +1 -1
  205. package/.next/standalone/.next/server/app/api/eval/config/route.js +9 -8
  206. package/.next/standalone/.next/server/app/api/eval/config/route.js.nft.json +1 -1
  207. package/.next/standalone/.next/server/app/api/eval/config/status/route.js +3 -3
  208. package/.next/standalone/.next/server/app/api/eval/config/status/route.js.nft.json +1 -1
  209. package/.next/standalone/.next/server/app/api/eval/evaluation/route.js +1 -1
  210. package/.next/standalone/.next/server/app/api/eval/evaluation/route.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js +9 -8
  212. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js.nft.json +1 -1
  213. package/.next/standalone/.next/server/app/api/eval/settings/route.js +4 -3
  214. package/.next/standalone/.next/server/app/api/eval/settings/route.js.nft.json +1 -1
  215. package/.next/standalone/.next/server/app/api/eval/settings/test/route.js +5 -4
  216. package/.next/standalone/.next/server/app/api/eval/settings/test/route.js.nft.json +1 -1
  217. package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js +6 -5
  218. package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js.nft.json +1 -1
  219. package/.next/standalone/.next/server/app/api/eval/trajectory/results/[id]/route.js +3 -3
  220. package/.next/standalone/.next/server/app/api/eval/trajectory/results/[id]/route.js.nft.json +1 -1
  221. package/.next/standalone/.next/server/app/api/eval/trajectory/results/route.js +6 -5
  222. package/.next/standalone/.next/server/app/api/eval/trajectory/results/route.js.nft.json +1 -1
  223. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js +17 -16
  224. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js.nft.json +1 -1
  225. package/.next/standalone/.next/server/app/api/eval/trajectory/runs/route.js +2 -2
  226. package/.next/standalone/.next/server/app/api/eval/trajectory/runs/route.js.nft.json +1 -1
  227. package/.next/standalone/.next/server/app/api/evaluation/[id]/route.js +6 -5
  228. package/.next/standalone/.next/server/app/api/evaluation/[id]/route.js.nft.json +1 -1
  229. package/.next/standalone/.next/server/app/api/evaluation/cancel/route.js +3 -3
  230. package/.next/standalone/.next/server/app/api/evaluation/cancel/route.js.nft.json +1 -1
  231. package/.next/standalone/.next/server/app/api/fault/diagnosis/session/route.js +2 -2
  232. package/.next/standalone/.next/server/app/api/fault/diagnosis/session/route.js.nft.json +1 -1
  233. package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js +6 -5
  234. package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js.nft.json +1 -1
  235. package/.next/standalone/.next/server/app/api/guide/route.js +3 -3
  236. package/.next/standalone/.next/server/app/api/guide/route.js.nft.json +1 -1
  237. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js +7 -6
  238. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js.nft.json +1 -1
  239. package/.next/standalone/.next/server/app/api/ingest/otel/v1/logs/route.js +2 -2
  240. package/.next/standalone/.next/server/app/api/ingest/otel/v1/logs/route.js.nft.json +1 -1
  241. package/.next/standalone/.next/server/app/api/ingest/otel/v1/metrics/route.js +5 -2
  242. package/.next/standalone/.next/server/app/api/ingest/otel/v1/metrics/route.js.nft.json +1 -1
  243. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js +9 -8
  244. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js.nft.json +1 -1
  245. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/[...path]/route.js +4 -3
  246. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
  247. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js +12 -11
  248. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js.nft.json +1 -1
  249. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/start/route.js +3 -3
  250. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/start/route.js.nft.json +1 -1
  251. package/.next/standalone/.next/server/app/api/ingest/sync/manifest/route.js +3 -3
  252. package/.next/standalone/.next/server/app/api/ingest/sync/manifest/route.js.nft.json +1 -1
  253. package/.next/standalone/.next/server/app/api/ingest/sync/opencode/route.js +3 -3
  254. package/.next/standalone/.next/server/app/api/ingest/sync/opencode/route.js.nft.json +1 -1
  255. package/.next/standalone/.next/server/app/api/ingest/upload/route.js +14 -13
  256. package/.next/standalone/.next/server/app/api/ingest/upload/route.js.nft.json +1 -1
  257. package/.next/standalone/.next/server/app/api/observe/data/route.js +9 -8
  258. package/.next/standalone/.next/server/app/api/observe/data/route.js.nft.json +1 -1
  259. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js +10 -9
  260. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js.nft.json +1 -1
  261. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js +12 -11
  262. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js.nft.json +1 -1
  263. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/analyze-match/route.js +7 -6
  264. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
  265. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route/app-paths-manifest.json +3 -0
  266. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route/build-manifest.json +11 -0
  267. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route/server-reference-manifest.json +4 -0
  268. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route.js +9 -0
  269. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route.js.map +5 -0
  270. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route.js.nft.json +1 -0
  271. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route_client-reference-manifest.js +2 -0
  272. package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route/app-paths-manifest.json +3 -0
  273. package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route/build-manifest.json +11 -0
  274. package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route/server-reference-manifest.json +4 -0
  275. package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route.js +7 -0
  276. package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route.js.map +5 -0
  277. package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route.js.nft.json +1 -0
  278. package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route_client-reference-manifest.js +2 -0
  279. package/.next/standalone/.next/server/app/api/observe/infra/history/route/app-paths-manifest.json +3 -0
  280. package/.next/standalone/.next/server/app/api/observe/infra/history/route/build-manifest.json +11 -0
  281. package/.next/standalone/.next/server/app/api/observe/infra/history/route/server-reference-manifest.json +4 -0
  282. package/.next/standalone/.next/server/app/api/observe/infra/history/route.js +8 -0
  283. package/.next/standalone/.next/server/app/api/observe/infra/history/route.js.map +5 -0
  284. package/.next/standalone/.next/server/app/api/observe/infra/history/route.js.nft.json +1 -0
  285. package/.next/standalone/.next/server/app/api/observe/infra/history/route_client-reference-manifest.js +2 -0
  286. package/.next/standalone/.next/server/app/api/observe/infra/poll/route/app-paths-manifest.json +3 -0
  287. package/.next/standalone/.next/server/app/api/observe/infra/poll/route/build-manifest.json +11 -0
  288. package/.next/standalone/.next/server/app/api/observe/infra/poll/route/server-reference-manifest.json +4 -0
  289. package/.next/standalone/.next/server/app/api/observe/infra/poll/route.js +8 -0
  290. package/.next/standalone/.next/server/app/api/observe/infra/poll/route.js.map +5 -0
  291. package/.next/standalone/.next/server/app/api/observe/infra/poll/route.js.nft.json +1 -0
  292. package/.next/standalone/.next/server/app/api/observe/infra/poll/route_client-reference-manifest.js +2 -0
  293. package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route/app-paths-manifest.json +3 -0
  294. package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route/build-manifest.json +11 -0
  295. package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route/server-reference-manifest.json +4 -0
  296. package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route.js +8 -0
  297. package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route.js.map +5 -0
  298. package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route.js.nft.json +1 -0
  299. package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route_client-reference-manifest.js +2 -0
  300. package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route/app-paths-manifest.json +3 -0
  301. package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route/build-manifest.json +11 -0
  302. package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route/server-reference-manifest.json +4 -0
  303. package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route.js +8 -0
  304. package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route.js.map +5 -0
  305. package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route.js.nft.json +1 -0
  306. package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route_client-reference-manifest.js +2 -0
  307. package/.next/standalone/.next/server/app/api/observe/infra/sources/route/app-paths-manifest.json +3 -0
  308. package/.next/standalone/.next/server/app/api/observe/infra/sources/route/build-manifest.json +11 -0
  309. package/.next/standalone/.next/server/app/api/observe/infra/sources/route/server-reference-manifest.json +4 -0
  310. package/.next/standalone/.next/server/app/api/observe/infra/sources/route.js +8 -0
  311. package/.next/standalone/.next/server/app/api/observe/infra/sources/route.js.map +5 -0
  312. package/.next/standalone/.next/server/app/api/observe/infra/sources/route.js.nft.json +1 -0
  313. package/.next/standalone/.next/server/app/api/observe/infra/sources/route_client-reference-manifest.js +2 -0
  314. package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route/app-paths-manifest.json +3 -0
  315. package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route/build-manifest.json +11 -0
  316. package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route/server-reference-manifest.json +4 -0
  317. package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route.js +8 -0
  318. package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route.js.map +5 -0
  319. package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route.js.nft.json +1 -0
  320. package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route_client-reference-manifest.js +2 -0
  321. package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route/app-paths-manifest.json +3 -0
  322. package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route/build-manifest.json +11 -0
  323. package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route/server-reference-manifest.json +4 -0
  324. package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route.js +8 -0
  325. package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route.js.map +5 -0
  326. package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route.js.nft.json +1 -0
  327. package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route_client-reference-manifest.js +2 -0
  328. package/.next/standalone/.next/server/app/api/observe/session/route.js +5 -4
  329. package/.next/standalone/.next/server/app/api/observe/session/route.js.nft.json +1 -1
  330. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js +8 -7
  331. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js.nft.json +1 -1
  332. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route/app-paths-manifest.json +3 -0
  333. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route/build-manifest.json +11 -0
  334. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route/server-reference-manifest.json +4 -0
  335. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js +17 -0
  336. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js.map +5 -0
  337. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js.nft.json +1 -0
  338. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route_client-reference-manifest.js +2 -0
  339. package/.next/standalone/.next/server/app/api/quality/agents/route.js +9 -8
  340. package/.next/standalone/.next/server/app/api/quality/agents/route.js.nft.json +1 -1
  341. package/.next/standalone/.next/server/app/api/quality/backfill/route.js +11 -10
  342. package/.next/standalone/.next/server/app/api/quality/backfill/route.js.nft.json +1 -1
  343. package/.next/standalone/.next/server/app/api/quality/executions/route.js +9 -8
  344. package/.next/standalone/.next/server/app/api/quality/executions/route.js.nft.json +1 -1
  345. package/.next/standalone/.next/server/app/api/quality/report/route.js +3 -3
  346. package/.next/standalone/.next/server/app/api/quality/report/route.js.nft.json +1 -1
  347. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/draft/route.js +7 -6
  348. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/draft/route.js.nft.json +1 -1
  349. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/route.js +3 -3
  350. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/route.js.nft.json +1 -1
  351. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/[runId]/cancel/route.js +2 -2
  352. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/[runId]/cancel/route.js.nft.json +1 -1
  353. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js +8 -7
  354. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js.nft.json +1 -1
  355. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/runs/route.js +3 -3
  356. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/runs/route.js.nft.json +1 -1
  357. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/upload/route.js +3 -3
  358. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/upload/route.js.nft.json +1 -1
  359. package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js +1 -1
  360. package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js.nft.json +1 -1
  361. package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js +7 -6
  362. package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js.nft.json +1 -1
  363. package/.next/standalone/.next/server/app/api/skill-generator/download/[sessionId]/route.js +3 -3
  364. package/.next/standalone/.next/server/app/api/skill-generator/download/[sessionId]/route.js.nft.json +1 -1
  365. package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js +1 -1
  366. package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js.nft.json +1 -1
  367. package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js +1 -1
  368. package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js.nft.json +1 -1
  369. package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js +1 -1
  370. package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js.nft.json +1 -1
  371. package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js +1 -1
  372. package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js.nft.json +1 -1
  373. package/.next/standalone/.next/server/app/api/skill-generator/sessions/[id]/route.js +2 -2
  374. package/.next/standalone/.next/server/app/api/skill-generator/sessions/[id]/route.js.nft.json +1 -1
  375. package/.next/standalone/.next/server/app/api/skill-generator/sessions/route.js +2 -2
  376. package/.next/standalone/.next/server/app/api/skill-generator/sessions/route.js.nft.json +1 -1
  377. package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js +11 -10
  378. package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js.nft.json +1 -1
  379. package/.next/standalone/.next/server/app/api/skill-opt/plan/items/[id]/route.js +3 -3
  380. package/.next/standalone/.next/server/app/api/skill-opt/plan/items/[id]/route.js.nft.json +1 -1
  381. package/.next/standalone/.next/server/app/api/skill-opt/plan/route.js +6 -5
  382. package/.next/standalone/.next/server/app/api/skill-opt/plan/route.js.nft.json +1 -1
  383. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/[draftNumber]/apply/route.js +8 -7
  384. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/[draftNumber]/apply/route.js.nft.json +1 -1
  385. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/route.js +2 -2
  386. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/route.js.nft.json +1 -1
  387. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/route.js +2 -2
  388. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/route.js.nft.json +1 -1
  389. package/.next/standalone/.next/server/app/api/skill-opt/sessions/route.js +2 -2
  390. package/.next/standalone/.next/server/app/api/skill-opt/sessions/route.js.nft.json +1 -1
  391. package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js +3 -3
  392. package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js.nft.json +1 -1
  393. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js +10 -9
  394. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js.nft.json +1 -1
  395. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js +7 -6
  396. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js.nft.json +1 -1
  397. package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js +3 -3
  398. package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js.nft.json +1 -1
  399. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js +3 -3
  400. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
  401. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluate/route.js +6 -5
  402. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluate/route.js.nft.json +1 -1
  403. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluation-summary/route.js +6 -5
  404. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluation-summary/route.js.nft.json +1 -1
  405. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/files/[...path]/route.js +3 -3
  406. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/files/[...path]/route.js.nft.json +1 -1
  407. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js +6 -5
  408. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
  409. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js +3 -3
  410. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
  411. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js +7 -6
  412. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js.nft.json +1 -1
  413. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js +6 -5
  414. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
  415. package/.next/standalone/.next/server/app/api/skills/automation/push/route.js +3 -3
  416. package/.next/standalone/.next/server/app/api/skills/automation/push/route.js.nft.json +1 -1
  417. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/analysis-diagnosis/route.js +5 -4
  418. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/analysis-diagnosis/route.js.nft.json +1 -1
  419. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/resolve/route.js +2 -2
  420. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/resolve/route.js.nft.json +1 -1
  421. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/route.js +2 -2
  422. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/route.js.nft.json +1 -1
  423. package/.next/standalone/.next/server/app/api/skills/by-name/route.js +3 -3
  424. package/.next/standalone/.next/server/app/api/skills/by-name/route.js.nft.json +1 -1
  425. package/.next/standalone/.next/server/app/api/skills/logs/route.js +7 -6
  426. package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
  427. package/.next/standalone/.next/server/app/api/skills/publish/route.js +6 -5
  428. package/.next/standalone/.next/server/app/api/skills/publish/route.js.nft.json +1 -1
  429. package/.next/standalone/.next/server/app/api/skills/route.js +4 -4
  430. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  431. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js +3 -3
  432. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.nft.json +1 -1
  433. package/.next/standalone/.next/server/app/api/skills/upload/route.js +7 -6
  434. package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
  435. package/.next/standalone/.next/server/app/api/user-evaluators/route.js +3 -2
  436. package/.next/standalone/.next/server/app/api/user-evaluators/route.js.nft.json +1 -1
  437. package/.next/standalone/.next/server/app/dashboard.html +1 -1
  438. package/.next/standalone/.next/server/app/dashboard.rsc +5 -5
  439. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard/__PAGE__.segment.rsc +2 -2
  440. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard.segment.rsc +1 -1
  441. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p.segment.rsc +2 -2
  442. package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +5 -5
  443. package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  444. package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +3 -3
  445. package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  446. package/.next/standalone/.next/server/app/dataset.html +1 -1
  447. package/.next/standalone/.next/server/app/dataset.rsc +5 -5
  448. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset/__PAGE__.segment.rsc +2 -2
  449. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset.segment.rsc +1 -1
  450. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p.segment.rsc +2 -2
  451. package/.next/standalone/.next/server/app/dataset.segments/_full.segment.rsc +5 -5
  452. package/.next/standalone/.next/server/app/dataset.segments/_head.segment.rsc +1 -1
  453. package/.next/standalone/.next/server/app/dataset.segments/_index.segment.rsc +3 -3
  454. package/.next/standalone/.next/server/app/dataset.segments/_tree.segment.rsc +2 -2
  455. package/.next/standalone/.next/server/app/eval/trajectory.html +1 -1
  456. package/.next/standalone/.next/server/app/eval/trajectory.rsc +5 -5
  457. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory/__PAGE__.segment.rsc +2 -2
  458. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory.segment.rsc +1 -1
  459. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval.segment.rsc +1 -1
  460. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p.segment.rsc +2 -2
  461. package/.next/standalone/.next/server/app/eval/trajectory.segments/_full.segment.rsc +5 -5
  462. package/.next/standalone/.next/server/app/eval/trajectory.segments/_head.segment.rsc +1 -1
  463. package/.next/standalone/.next/server/app/eval/trajectory.segments/_index.segment.rsc +3 -3
  464. package/.next/standalone/.next/server/app/eval/trajectory.segments/_tree.segment.rsc +2 -2
  465. package/.next/standalone/.next/server/app/eval.html +1 -1
  466. package/.next/standalone/.next/server/app/eval.rsc +5 -5
  467. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval/__PAGE__.segment.rsc +2 -2
  468. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval.segment.rsc +1 -1
  469. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p.segment.rsc +2 -2
  470. package/.next/standalone/.next/server/app/eval.segments/_full.segment.rsc +5 -5
  471. package/.next/standalone/.next/server/app/eval.segments/_head.segment.rsc +1 -1
  472. package/.next/standalone/.next/server/app/eval.segments/_index.segment.rsc +3 -3
  473. package/.next/standalone/.next/server/app/eval.segments/_tree.segment.rsc +2 -2
  474. package/.next/standalone/.next/server/app/fault.html +1 -1
  475. package/.next/standalone/.next/server/app/fault.rsc +5 -5
  476. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault/__PAGE__.segment.rsc +2 -2
  477. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault.segment.rsc +1 -1
  478. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p.segment.rsc +2 -2
  479. package/.next/standalone/.next/server/app/fault.segments/_full.segment.rsc +5 -5
  480. package/.next/standalone/.next/server/app/fault.segments/_head.segment.rsc +1 -1
  481. package/.next/standalone/.next/server/app/fault.segments/_index.segment.rsc +3 -3
  482. package/.next/standalone/.next/server/app/fault.segments/_tree.segment.rsc +2 -2
  483. package/.next/standalone/.next/server/app/index.html +1 -1
  484. package/.next/standalone/.next/server/app/index.rsc +3 -3
  485. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  486. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  487. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  488. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  489. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  490. package/.next/standalone/.next/server/app/infra/sources.html +1 -0
  491. package/.next/standalone/.next/server/app/infra/sources.meta +17 -0
  492. package/.next/standalone/.next/server/app/infra/sources.rsc +22 -0
  493. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources/__PAGE__.segment.rsc +9 -0
  494. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources.segment.rsc +4 -0
  495. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra.segment.rsc +4 -0
  496. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p.segment.rsc +7 -0
  497. package/.next/standalone/.next/server/app/infra/sources.segments/_full.segment.rsc +22 -0
  498. package/.next/standalone/.next/server/app/infra/sources.segments/_head.segment.rsc +6 -0
  499. package/.next/standalone/.next/server/app/infra/sources.segments/_index.segment.rsc +6 -0
  500. package/.next/standalone/.next/server/app/infra/sources.segments/_tree.segment.rsc +2 -0
  501. package/.next/standalone/.next/server/app/infra.html +1 -0
  502. package/.next/standalone/.next/server/app/infra.meta +16 -0
  503. package/.next/standalone/.next/server/app/infra.rsc +22 -0
  504. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra/__PAGE__.segment.rsc +9 -0
  505. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra.segment.rsc +4 -0
  506. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p.segment.rsc +7 -0
  507. package/.next/standalone/.next/server/app/infra.segments/_full.segment.rsc +22 -0
  508. package/.next/standalone/.next/server/app/infra.segments/_head.segment.rsc +6 -0
  509. package/.next/standalone/.next/server/app/infra.segments/_index.segment.rsc +6 -0
  510. package/.next/standalone/.next/server/app/infra.segments/_tree.segment.rsc +2 -0
  511. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  512. package/.next/standalone/.next/server/app/login.html +1 -1
  513. package/.next/standalone/.next/server/app/login.rsc +4 -4
  514. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +4 -4
  515. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  516. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
  517. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  518. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  519. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  520. package/.next/standalone/.next/server/app/memory.html +1 -1
  521. package/.next/standalone/.next/server/app/memory.rsc +5 -5
  522. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory/__PAGE__.segment.rsc +2 -2
  523. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory.segment.rsc +1 -1
  524. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p.segment.rsc +2 -2
  525. package/.next/standalone/.next/server/app/memory.segments/_full.segment.rsc +5 -5
  526. package/.next/standalone/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  527. package/.next/standalone/.next/server/app/memory.segments/_index.segment.rsc +3 -3
  528. package/.next/standalone/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
  529. package/.next/standalone/.next/server/app/metrics.html +1 -1
  530. package/.next/standalone/.next/server/app/metrics.rsc +5 -5
  531. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics/__PAGE__.segment.rsc +2 -2
  532. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics.segment.rsc +1 -1
  533. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p.segment.rsc +2 -2
  534. package/.next/standalone/.next/server/app/metrics.segments/_full.segment.rsc +5 -5
  535. package/.next/standalone/.next/server/app/metrics.segments/_head.segment.rsc +1 -1
  536. package/.next/standalone/.next/server/app/metrics.segments/_index.segment.rsc +3 -3
  537. package/.next/standalone/.next/server/app/metrics.segments/_tree.segment.rsc +2 -2
  538. package/.next/standalone/.next/server/app/modelconfig/registry.html +1 -1
  539. package/.next/standalone/.next/server/app/modelconfig/registry.rsc +5 -5
  540. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry/__PAGE__.segment.rsc +2 -2
  541. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry.segment.rsc +1 -1
  542. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  543. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p.segment.rsc +2 -2
  544. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_full.segment.rsc +5 -5
  545. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_head.segment.rsc +1 -1
  546. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_index.segment.rsc +3 -3
  547. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_tree.segment.rsc +2 -2
  548. package/.next/standalone/.next/server/app/modelconfig/web-search.html +1 -1
  549. package/.next/standalone/.next/server/app/modelconfig/web-search.rsc +5 -5
  550. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search/__PAGE__.segment.rsc +2 -2
  551. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search.segment.rsc +1 -1
  552. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  553. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p.segment.rsc +2 -2
  554. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_full.segment.rsc +5 -5
  555. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_head.segment.rsc +1 -1
  556. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_index.segment.rsc +3 -3
  557. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_tree.segment.rsc +2 -2
  558. package/.next/standalone/.next/server/app/modelconfig.html +1 -1
  559. package/.next/standalone/.next/server/app/modelconfig.rsc +4 -4
  560. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig/__PAGE__.segment.rsc +1 -1
  561. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  562. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p.segment.rsc +2 -2
  563. package/.next/standalone/.next/server/app/modelconfig.segments/_full.segment.rsc +4 -4
  564. package/.next/standalone/.next/server/app/modelconfig.segments/_head.segment.rsc +1 -1
  565. package/.next/standalone/.next/server/app/modelconfig.segments/_index.segment.rsc +3 -3
  566. package/.next/standalone/.next/server/app/modelconfig.segments/_tree.segment.rsc +2 -2
  567. package/.next/standalone/.next/server/app/optapi.html +1 -1
  568. package/.next/standalone/.next/server/app/optapi.rsc +5 -5
  569. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi/__PAGE__.segment.rsc +2 -2
  570. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi.segment.rsc +1 -1
  571. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p.segment.rsc +2 -2
  572. package/.next/standalone/.next/server/app/optapi.segments/_full.segment.rsc +5 -5
  573. package/.next/standalone/.next/server/app/optapi.segments/_head.segment.rsc +1 -1
  574. package/.next/standalone/.next/server/app/optapi.segments/_index.segment.rsc +3 -3
  575. package/.next/standalone/.next/server/app/optapi.segments/_tree.segment.rsc +2 -2
  576. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  577. package/.next/standalone/.next/server/app/quality.html +1 -1
  578. package/.next/standalone/.next/server/app/quality.rsc +10 -9
  579. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality/__PAGE__.segment.rsc +2 -2
  580. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality.segment.rsc +1 -1
  581. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p.segment.rsc +2 -2
  582. package/.next/standalone/.next/server/app/quality.segments/_full.segment.rsc +10 -9
  583. package/.next/standalone/.next/server/app/quality.segments/_head.segment.rsc +1 -1
  584. package/.next/standalone/.next/server/app/quality.segments/_index.segment.rsc +3 -3
  585. package/.next/standalone/.next/server/app/quality.segments/_tree.segment.rsc +2 -2
  586. package/.next/standalone/.next/server/app/security.html +1 -1
  587. package/.next/standalone/.next/server/app/security.rsc +5 -5
  588. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security/__PAGE__.segment.rsc +2 -2
  589. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security.segment.rsc +1 -1
  590. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p.segment.rsc +2 -2
  591. package/.next/standalone/.next/server/app/security.segments/_full.segment.rsc +5 -5
  592. package/.next/standalone/.next/server/app/security.segments/_head.segment.rsc +1 -1
  593. package/.next/standalone/.next/server/app/security.segments/_index.segment.rsc +3 -3
  594. package/.next/standalone/.next/server/app/security.segments/_tree.segment.rsc +2 -2
  595. package/.next/standalone/.next/server/app/skill-detail/page_client-reference-manifest.js +1 -1
  596. package/.next/standalone/.next/server/app/skill-detail.html +1 -1
  597. package/.next/standalone/.next/server/app/skill-detail.rsc +4 -4
  598. package/.next/standalone/.next/server/app/skill-detail.segments/_full.segment.rsc +4 -4
  599. package/.next/standalone/.next/server/app/skill-detail.segments/_head.segment.rsc +1 -1
  600. package/.next/standalone/.next/server/app/skill-detail.segments/_index.segment.rsc +3 -3
  601. package/.next/standalone/.next/server/app/skill-detail.segments/_tree.segment.rsc +2 -2
  602. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail/__PAGE__.segment.rsc +2 -2
  603. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail.segment.rsc +1 -1
  604. package/.next/standalone/.next/server/app/skill-eval/grayscale.html +2 -2
  605. package/.next/standalone/.next/server/app/skill-eval/grayscale.rsc +7 -7
  606. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale/__PAGE__.segment.rsc +2 -2
  607. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale.segment.rsc +1 -1
  608. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  609. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p.segment.rsc +2 -2
  610. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_full.segment.rsc +7 -7
  611. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_head.segment.rsc +1 -1
  612. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_index.segment.rsc +3 -3
  613. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_tree.segment.rsc +2 -2
  614. package/.next/standalone/.next/server/app/skill-eval.html +1 -1
  615. package/.next/standalone/.next/server/app/skill-eval.rsc +7 -7
  616. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval/__PAGE__.segment.rsc +2 -2
  617. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  618. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p.segment.rsc +2 -2
  619. package/.next/standalone/.next/server/app/skill-eval.segments/_full.segment.rsc +7 -7
  620. package/.next/standalone/.next/server/app/skill-eval.segments/_head.segment.rsc +1 -1
  621. package/.next/standalone/.next/server/app/skill-eval.segments/_index.segment.rsc +3 -3
  622. package/.next/standalone/.next/server/app/skill-eval.segments/_tree.segment.rsc +2 -2
  623. package/.next/standalone/.next/server/app/skill-generator.html +1 -1
  624. package/.next/standalone/.next/server/app/skill-generator.rsc +6 -6
  625. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator/__PAGE__.segment.rsc +2 -2
  626. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator.segment.rsc +1 -1
  627. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p.segment.rsc +2 -2
  628. package/.next/standalone/.next/server/app/skill-generator.segments/_full.segment.rsc +6 -6
  629. package/.next/standalone/.next/server/app/skill-generator.segments/_head.segment.rsc +1 -1
  630. package/.next/standalone/.next/server/app/skill-generator.segments/_index.segment.rsc +3 -3
  631. package/.next/standalone/.next/server/app/skill-generator.segments/_tree.segment.rsc +2 -2
  632. package/.next/standalone/.next/server/app/skill-history.html +1 -1
  633. package/.next/standalone/.next/server/app/skill-history.rsc +18 -14
  634. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history/__PAGE__.segment.rsc +2 -2
  635. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history.segment.rsc +1 -1
  636. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p.segment.rsc +2 -2
  637. package/.next/standalone/.next/server/app/skill-history.segments/_full.segment.rsc +18 -14
  638. package/.next/standalone/.next/server/app/skill-history.segments/_head.segment.rsc +1 -1
  639. package/.next/standalone/.next/server/app/skill-history.segments/_index.segment.rsc +3 -3
  640. package/.next/standalone/.next/server/app/skill-history.segments/_tree.segment.rsc +2 -2
  641. package/.next/standalone/.next/server/app/skill-opt.html +1 -1
  642. package/.next/standalone/.next/server/app/skill-opt.rsc +5 -5
  643. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt/__PAGE__.segment.rsc +2 -2
  644. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt.segment.rsc +1 -1
  645. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p.segment.rsc +2 -2
  646. package/.next/standalone/.next/server/app/skill-opt.segments/_full.segment.rsc +5 -5
  647. package/.next/standalone/.next/server/app/skill-opt.segments/_head.segment.rsc +1 -1
  648. package/.next/standalone/.next/server/app/skill-opt.segments/_index.segment.rsc +3 -3
  649. package/.next/standalone/.next/server/app/skill-opt.segments/_tree.segment.rsc +2 -2
  650. package/.next/standalone/.next/server/app/skill-release.html +1 -1
  651. package/.next/standalone/.next/server/app/skill-release.rsc +5 -5
  652. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release/__PAGE__.segment.rsc +2 -2
  653. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release.segment.rsc +1 -1
  654. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p.segment.rsc +2 -2
  655. package/.next/standalone/.next/server/app/skill-release.segments/_full.segment.rsc +5 -5
  656. package/.next/standalone/.next/server/app/skill-release.segments/_head.segment.rsc +1 -1
  657. package/.next/standalone/.next/server/app/skill-release.segments/_index.segment.rsc +3 -3
  658. package/.next/standalone/.next/server/app/skill-release.segments/_tree.segment.rsc +2 -2
  659. package/.next/standalone/.next/server/app/skills.html +1 -1
  660. package/.next/standalone/.next/server/app/skills.rsc +5 -5
  661. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills/__PAGE__.segment.rsc +2 -2
  662. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills.segment.rsc +1 -1
  663. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p.segment.rsc +2 -2
  664. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
  665. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  666. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
  667. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  668. package/.next/standalone/.next/server/app/trace.html +1 -1
  669. package/.next/standalone/.next/server/app/trace.rsc +20 -17
  670. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace/__PAGE__.segment.rsc +2 -2
  671. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace.segment.rsc +1 -1
  672. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p.segment.rsc +2 -2
  673. package/.next/standalone/.next/server/app/trace.segments/_full.segment.rsc +20 -17
  674. package/.next/standalone/.next/server/app/trace.segments/_head.segment.rsc +1 -1
  675. package/.next/standalone/.next/server/app/trace.segments/_index.segment.rsc +3 -3
  676. package/.next/standalone/.next/server/app/trace.segments/_tree.segment.rsc +2 -2
  677. package/.next/standalone/.next/server/app-paths-manifest.json +13 -0
  678. package/.next/standalone/.next/server/chunks/[externals]__9fdb9c7d._.js +3 -0
  679. package/.next/standalone/.next/server/chunks/[root-of-the-server]__006f015e._.js +3 -0
  680. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0267beef._.js +3 -0
  681. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02c8a296._.js +3 -0
  682. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__fe35f136._.js → [root-of-the-server]__040c0eb8._.js} +2 -2
  683. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0984a1fa._.js +3 -0
  684. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e446f5e._.js +3 -0
  685. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10150e61._.js +5 -0
  686. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10dc192b._.js +3 -0
  687. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12f2f819._.js +3 -0
  688. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1307c1ad._.js +3 -0
  689. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13eb0d25._.js +3 -0
  690. package/.next/standalone/.next/server/chunks/[root-of-the-server]__146d0997._.js +3 -0
  691. package/.next/standalone/.next/server/chunks/[root-of-the-server]__14f6c06c._.js +3 -0
  692. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1596a789._.js +1 -1
  693. package/.next/standalone/.next/server/chunks/[root-of-the-server]__170fbfb7._.js +5 -0
  694. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1917f41f._.js +3 -0
  695. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19f66254._.js +3 -0
  696. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1dac3981._.js +3 -0
  697. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__46adf712._.js → [root-of-the-server]__1e4ede06._.js} +2 -2
  698. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__32ce67c7._.js → [root-of-the-server]__1eb9a6ee._.js} +2 -2
  699. package/.next/standalone/.next/server/chunks/[root-of-the-server]__27ca3a21._.js +3 -0
  700. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2b6716cd._.js +3 -0
  701. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2b7f3823._.js +3 -0
  702. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2d398403._.js +3 -0
  703. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2dd8ff54._.js +3 -0
  704. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2ec78f3e._.js +3 -0
  705. package/.next/standalone/.next/server/chunks/[root-of-the-server]__31f85657._.js +3 -0
  706. package/.next/standalone/.next/server/chunks/[root-of-the-server]__379129ab._.js +3 -0
  707. package/.next/standalone/.next/server/chunks/[root-of-the-server]__39dd5a92._.js +3 -0
  708. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3a70614f._.js +3 -0
  709. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3d91ff40._.js +3 -0
  710. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4299e672._.js +3 -0
  711. package/.next/standalone/.next/server/chunks/[root-of-the-server]__43edd917._.js +3 -0
  712. package/.next/standalone/.next/server/chunks/[root-of-the-server]__44e72985._.js +5 -0
  713. package/.next/standalone/.next/server/chunks/[root-of-the-server]__49fe2c7e._.js +3 -0
  714. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a0ac677._.js +3 -0
  715. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4ce39c11._.js +3 -0
  716. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4fa7606a._.js +3 -0
  717. package/.next/standalone/.next/server/chunks/[root-of-the-server]__528e2fde._.js +3 -0
  718. package/.next/standalone/.next/server/chunks/[root-of-the-server]__592b8090._.js +3 -0
  719. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__19ede63b._.js → [root-of-the-server]__626d0308._.js} +2 -2
  720. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__b74d3160._.js → [root-of-the-server]__65c43993._.js} +2 -2
  721. package/.next/standalone/.next/server/chunks/[root-of-the-server]__67c69839._.js +3 -0
  722. package/.next/standalone/.next/server/chunks/[root-of-the-server]__682d0ba0._.js +3 -0
  723. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6b22780d._.js +3 -0
  724. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c350697._.js +3 -0
  725. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6d948bdc._.js +3 -0
  726. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6ecfaae0._.js +5 -0
  727. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fafd86f._.js +3 -0
  728. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fe0c73e._.js +3 -0
  729. package/.next/standalone/.next/server/chunks/[root-of-the-server]__70f19ec4._.js +3 -0
  730. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7582bf4c._.js +3 -0
  731. package/.next/standalone/.next/server/chunks/[root-of-the-server]__79ada3fa._.js +3 -0
  732. package/.next/standalone/.next/server/chunks/[root-of-the-server]__85a7678b._.js +3 -0
  733. package/.next/standalone/.next/server/chunks/[root-of-the-server]__85c943bd._.js +6 -0
  734. package/.next/standalone/.next/server/chunks/[root-of-the-server]__87677b37._.js +3 -0
  735. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__8af85028._.js → [root-of-the-server]__892e3377._.js} +2 -2
  736. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8ab933cd._.js +3 -0
  737. package/.next/standalone/.next/server/chunks/[root-of-the-server]__930e22bb._.js +7 -0
  738. package/.next/standalone/.next/server/chunks/[root-of-the-server]__93970ae1._.js +3 -3
  739. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__1fb9a578._.js → [root-of-the-server]__968974bd._.js} +2 -2
  740. package/.next/standalone/.next/server/chunks/[root-of-the-server]__97045cfa._.js +3 -0
  741. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__d62326e3._.js → [root-of-the-server]__970b099f._.js} +2 -2
  742. package/.next/standalone/.next/server/chunks/[root-of-the-server]__99ad309a._.js +3 -0
  743. package/.next/standalone/.next/server/chunks/[root-of-the-server]__99c6aa2d._.js +13 -0
  744. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9f278f61._.js +3 -0
  745. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9fd05c54._.js +3 -0
  746. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a1182ad1._.js +3 -0
  747. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a51b64ae._.js +3 -0
  748. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a6900486._.js +3 -0
  749. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a7a740bb._.js +3 -0
  750. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad4b402b._.js +3 -0
  751. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad9bbfad._.js +3 -0
  752. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b238a277._.js +3 -0
  753. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b4b7e8ef._.js +3 -0
  754. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b7f142c3._.js +3 -0
  755. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bac6c232._.js +3 -0
  756. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bb4f4492._.js +3 -0
  757. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bc21598f._.js +3 -0
  758. package/.next/standalone/.next/server/chunks/[root-of-the-server]__beb32ef1._.js +3 -0
  759. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c10b74c1._.js +3 -0
  760. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c12d7aad._.js +3 -0
  761. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c16c84b6._.js +5 -0
  762. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c8611482._.js +3 -0
  763. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ceb630e2._.js +3 -0
  764. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ced5e5ca._.js +3 -0
  765. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cedc21b1._.js +3 -0
  766. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d178c81c._.js +3 -0
  767. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d80a36e0._.js +3 -0
  768. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8e819a1._.js +3 -0
  769. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e0e69916._.js +3 -0
  770. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e84bc7ce._.js +3 -0
  771. package/.next/standalone/.next/server/chunks/[root-of-the-server]__edf01394._.js +3 -0
  772. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fd09870b._.js +3 -0
  773. package/.next/standalone/.next/server/chunks/_048f2013._.js +1 -1
  774. package/.next/standalone/.next/server/chunks/_05c80664._.js +1 -1
  775. package/.next/standalone/.next/server/chunks/_08c6dd4c._.js +3 -3
  776. package/.next/standalone/.next/server/chunks/{_5041b697._.js → _1a32fa23._.js} +2 -2
  777. package/.next/standalone/.next/server/chunks/_28b9b733._.js +32 -0
  778. package/.next/standalone/.next/server/chunks/_2ac292b0._.js +1 -1
  779. package/.next/standalone/.next/server/chunks/_3f71c366._.js +4 -4
  780. package/.next/standalone/.next/server/chunks/_40f80932._.js +3 -0
  781. package/.next/standalone/.next/server/chunks/{_0ea4c12b._.js → _45a619b0._.js} +1 -1
  782. package/.next/standalone/.next/server/chunks/_49e36e44._.js +1 -1
  783. package/.next/standalone/.next/server/chunks/_4ec439ea._.js +3 -3
  784. package/.next/standalone/.next/server/chunks/_4ffe9f62._.js +3 -0
  785. package/.next/standalone/.next/server/chunks/{_19441465._.js → _547fcde4._.js} +2 -2
  786. package/.next/standalone/.next/server/chunks/_5936e19d._.js +3 -0
  787. package/.next/standalone/.next/server/chunks/_6842a9ba._.js +1 -1
  788. package/.next/standalone/.next/server/chunks/{_bc01feba._.js → _68685b8c._.js} +7 -7
  789. package/.next/standalone/.next/server/chunks/_694f4232._.js +3 -0
  790. package/.next/standalone/.next/server/chunks/_6ed9d796._.js +4 -4
  791. package/.next/standalone/.next/server/chunks/_78078171._.js +3 -0
  792. package/.next/standalone/.next/server/chunks/_78c6471e._.js +1 -1
  793. package/.next/standalone/.next/server/chunks/_8603f9ca._.js +1 -1
  794. package/.next/standalone/.next/server/chunks/_89a3536c._.js +1 -1
  795. package/.next/standalone/.next/server/chunks/_a2ff108d._.js +1 -1
  796. package/.next/standalone/.next/server/chunks/_a305d8b8._.js +3 -3
  797. package/.next/standalone/.next/server/chunks/_adf9e9c5._.js +1 -1
  798. package/.next/standalone/.next/server/chunks/_b30c2ca8._.js +1 -1
  799. package/.next/standalone/.next/server/chunks/{_cdaee29d._.js → _c707acf8._.js} +2 -2
  800. package/.next/standalone/.next/server/chunks/_d0e3dc8c._.js +1 -1
  801. package/.next/standalone/.next/server/chunks/_d4d51026._.js +1 -1
  802. package/.next/standalone/.next/server/chunks/_d5fd7ab4._.js +3 -0
  803. package/.next/standalone/.next/server/chunks/_d8e04766._.js +1 -1
  804. package/.next/standalone/.next/server/chunks/_e0cf0d37._.js +3 -0
  805. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_observe_infra_diagnose_route_actions_31275b71.js +3 -0
  806. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_observe_infra_history_route_actions_2e62a90f.js +3 -0
  807. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_observe_infra_poll_route_actions_e79f2641.js +3 -0
  808. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_observe_infra_sources_route_actions_0b142b73.js +3 -0
  809. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_observe_infra_sources_test_route_actions_1d51e227.js +3 -0
  810. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_public_otel_v1_traces_route_actions_c13e2c65.js +3 -0
  811. package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_executions_[executionId]_infra_route_actions_0e9e320e.js +3 -0
  812. package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_infra_sources_derive_route_actions_4888b1cf.js +3 -0
  813. package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_infra_sources_overview_route_actions_e027c8e7.js +3 -0
  814. package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_infra_sources_sessions_route_actions_9005a00a.js +3 -0
  815. package/.next/standalone/.next/server/chunks/{src_49f0d71c._.js → src_08719fbb._.js} +2 -2
  816. package/.next/standalone/.next/server/chunks/src_34fb142e._.js +4 -4
  817. package/.next/standalone/.next/server/chunks/src_4fe54147._.js +1 -1
  818. package/.next/standalone/.next/server/chunks/src_9c08bd78._.js +1 -1
  819. package/.next/standalone/.next/server/chunks/src_lib_7bae418f._.js +1 -1
  820. package/.next/standalone/.next/server/chunks/src_lib_84cf46e8._.js +3 -0
  821. package/.next/standalone/.next/server/chunks/src_lib_9cf1dab3._.js +29 -0
  822. package/.next/standalone/.next/server/chunks/src_lib_a2a34aa6._.js +7 -7
  823. package/.next/standalone/.next/server/chunks/src_lib_engine_general-agent_970b1dfe._.js +2 -2
  824. package/.next/standalone/.next/server/chunks/src_lib_engine_skill-generation_opencode-agent-cli_opencode-manager_ts_94c7d385._.js +3 -3
  825. package/.next/standalone/.next/server/chunks/src_lib_engine_skill-issues_static-evaluator_5e9f2d8a._.js +4 -4
  826. package/.next/standalone/.next/server/chunks/src_lib_f12f8b56._.js +32 -0
  827. package/.next/standalone/.next/server/chunks/{src_lib_bc5e5c04._.js → src_lib_fca90805._.js} +1 -1
  828. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15099475._.js +3 -0
  829. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15600e29._.js +1 -1
  830. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2505addc._.js +3 -0
  831. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__30536471._.js +3 -0
  832. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__ad69e0c0._.js +3 -0
  833. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__920fa087._.js → [root-of-the-server]__c9cf8076._.js} +2 -2
  834. package/.next/standalone/.next/server/chunks/ssr/_0141e5c7._.js +1 -1
  835. package/.next/standalone/.next/server/chunks/ssr/_0acdaaae._.js +3 -0
  836. package/.next/standalone/.next/server/chunks/ssr/_0d3145ea._.js +3 -0
  837. package/.next/standalone/.next/server/chunks/ssr/_1568477b._.js +3 -0
  838. package/.next/standalone/.next/server/chunks/ssr/_1f67a52d._.js +4 -0
  839. package/.next/standalone/.next/server/chunks/ssr/_231821bd._.js +1 -1
  840. package/.next/standalone/.next/server/chunks/ssr/_23385550._.js +1 -1
  841. package/.next/standalone/.next/server/chunks/ssr/_2534caac._.js +3 -0
  842. package/.next/standalone/.next/server/chunks/ssr/_3b019a38._.js +3 -0
  843. package/.next/standalone/.next/server/chunks/ssr/_44e49071._.js +4 -0
  844. package/.next/standalone/.next/server/chunks/ssr/_4796bd79._.js +1 -1
  845. package/.next/standalone/.next/server/chunks/ssr/_4b46054f._.js +3 -0
  846. package/.next/standalone/.next/server/chunks/ssr/_5d1986bf._.js +3 -0
  847. package/.next/standalone/.next/server/chunks/ssr/_5d1f8671._.js +12 -0
  848. package/.next/standalone/.next/server/chunks/ssr/_5e0dfc4e._.js +1 -1
  849. package/.next/standalone/.next/server/chunks/ssr/_5ea9f29c._.js +1 -1
  850. package/.next/standalone/.next/server/chunks/ssr/_640e1d24._.js +3 -0
  851. package/.next/standalone/.next/server/chunks/ssr/_70e4bd42._.js +3 -0
  852. package/.next/standalone/.next/server/chunks/ssr/_8bba8b8d._.js +1 -1
  853. package/.next/standalone/.next/server/chunks/ssr/_96725836._.js +12 -0
  854. package/.next/standalone/.next/server/chunks/ssr/_a8c793c2._.js +3 -0
  855. package/.next/standalone/.next/server/chunks/ssr/_aab048d0._.js +1 -1
  856. package/.next/standalone/.next/server/chunks/ssr/_aab6dc4c._.js +3 -0
  857. package/.next/standalone/.next/server/chunks/ssr/_aea60571._.js +1 -1
  858. package/.next/standalone/.next/server/chunks/ssr/_c16d64b3._.js +1 -1
  859. package/.next/standalone/.next/server/chunks/ssr/_cebf2190._.js +1 -1
  860. package/.next/standalone/.next/server/chunks/ssr/_cfe5178e._.js +1 -1
  861. package/.next/standalone/.next/server/chunks/ssr/_fc22c215._.js +4 -0
  862. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_(main)_infra_page_actions_df5e07da.js +3 -0
  863. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_(main)_infra_source_[id]_page_actions_3d61ac95.js +3 -0
  864. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_(main)_infra_sources_page_actions_135a5ab7.js +3 -0
  865. package/.next/standalone/.next/server/chunks/ssr/node_modules_1d12ce21._.js +3 -0
  866. package/.next/standalone/.next/server/chunks/ssr/node_modules_23404e09._.js +3 -0
  867. package/.next/standalone/.next/server/chunks/ssr/{node_modules_6d029f8e._.js → node_modules_278cdc27._.js} +2 -2
  868. package/.next/standalone/.next/server/chunks/ssr/node_modules_285bde65._.js +17 -0
  869. package/.next/standalone/.next/server/chunks/ssr/node_modules_32b85991._.js +3 -0
  870. package/.next/standalone/.next/server/chunks/ssr/node_modules_35a4a3d2._.js +3 -0
  871. package/.next/standalone/.next/server/chunks/ssr/node_modules_37be0399._.js +3 -0
  872. package/.next/standalone/.next/server/chunks/ssr/node_modules_55cbf86b._.js +17 -0
  873. package/.next/standalone/.next/server/chunks/ssr/node_modules_5f7174a8._.js +3 -0
  874. package/.next/standalone/.next/server/chunks/ssr/node_modules_778a153f._.js +3 -0
  875. package/.next/standalone/.next/server/chunks/ssr/node_modules_7e6a708b._.js +3 -0
  876. package/.next/standalone/.next/server/chunks/ssr/node_modules_855a50c1._.js +3 -0
  877. package/.next/standalone/.next/server/chunks/ssr/node_modules_878c20b4._.js +3 -0
  878. package/.next/standalone/.next/server/chunks/ssr/node_modules_9b301091._.js +24 -0
  879. package/.next/standalone/.next/server/chunks/ssr/node_modules_b3078440._.js +3 -0
  880. package/.next/standalone/.next/server/chunks/ssr/node_modules_b3fd4e7e._.js +17 -0
  881. package/.next/standalone/.next/server/chunks/ssr/node_modules_c0554e87._.js +3 -0
  882. package/.next/standalone/.next/server/chunks/ssr/node_modules_cfcb6a3a._.js +3 -0
  883. package/.next/standalone/.next/server/chunks/ssr/node_modules_da0a7049._.js +3 -0
  884. package/.next/standalone/.next/server/chunks/ssr/node_modules_e0cd63d9._.js +17 -0
  885. package/.next/standalone/.next/server/chunks/ssr/{node_modules_lucide-react_dist_esm_icons_f712a172._.js → node_modules_lucide-react_dist_esm_icons_f1e06ad8._.js} +2 -2
  886. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_9774470f._.js +1 -1
  887. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_45780354.js +1 -1
  888. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js +1 -1
  889. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_accessconfig_install_page_tsx_6f4ef3fc._.js +3 -1
  890. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_infra_source_[id]_page_tsx_b48521fc._.js +19 -0
  891. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_modelconfig_registry_page_tsx_1ead2fd4._.js +1 -1
  892. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_quality_page_tsx_26bb8e80._.js +3 -0
  893. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_trace_page_tsx_41e7865d._.js +1 -1
  894. package/.next/standalone/.next/server/chunks/ssr/src_lib_client_locale-context_tsx_7184d9aa._.js +1 -1
  895. package/.next/standalone/.next/server/pages/404.html +1 -1
  896. package/.next/standalone/.next/server/pages/500.html +2 -2
  897. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  898. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  899. package/.next/standalone/.next/static/chunks/012f27d0d790dc0f.js +1 -0
  900. package/.next/standalone/.next/static/chunks/07b2d7e6b58603c1.js +1 -0
  901. package/.next/standalone/.next/static/chunks/1626d47d4b84fc8b.js +1 -0
  902. package/.next/standalone/.next/static/chunks/175e0609137d7eed.js +1 -0
  903. package/.next/standalone/.next/static/chunks/1aa5156b12972154.js +1 -0
  904. package/.next/standalone/.next/static/chunks/2dc7fabb2f12bf39.js +1 -0
  905. package/.next/{static/chunks/819be4f6dc602b73.js → standalone/.next/static/chunks/3d040755d3686976.js} +1 -1
  906. package/.next/standalone/.next/static/chunks/466edc01ad624a7e.js +1 -0
  907. package/.next/standalone/.next/static/chunks/48fba91726a41a66.js +1 -0
  908. package/.next/standalone/.next/static/chunks/5c301dcc3995f72c.js +1 -0
  909. package/.next/standalone/.next/static/chunks/60f3a73e9fa6c625.js +1 -0
  910. package/.next/standalone/.next/static/chunks/61003f0aededf3d6.js +1 -0
  911. package/.next/{static/chunks/f08011a9c5cd16a6.js → standalone/.next/static/chunks/6238734a2f04b1f9.js} +1 -1
  912. package/.next/standalone/.next/static/chunks/{314eea8ce9b18ba1.js → 66de628824ded594.js} +1 -1
  913. package/.next/standalone/.next/static/chunks/6f6e529cc8a0535d.js +1 -0
  914. package/.next/standalone/.next/static/chunks/747a8d06793299fa.js +1 -0
  915. package/.next/standalone/.next/static/chunks/755c604ba44e0e9b.js +1 -0
  916. package/.next/standalone/.next/static/chunks/76a6d562e6507740.js +1 -0
  917. package/.next/standalone/.next/static/chunks/77a10bcb350555d9.js +1 -0
  918. package/.next/standalone/.next/static/chunks/7837bb465385ecd8.js +1 -0
  919. package/.next/standalone/.next/static/chunks/7dc8bfae4aed86c2.js +1 -0
  920. package/.next/{static/chunks/264991644d73270c.js → standalone/.next/static/chunks/80f28b2193bf35d3.js} +1 -1
  921. package/.next/standalone/.next/static/chunks/85f356e3e23b09ab.js +1 -0
  922. package/.next/standalone/.next/static/chunks/{3e55642a8eb5ba23.js → 8754e0cf40813330.js} +1 -1
  923. package/.next/{static/chunks/5d0423a5cf33f34e.js → standalone/.next/static/chunks/8dff7ffbfcc5cc39.js} +1 -1
  924. package/.next/standalone/.next/static/chunks/{f2228519196f8f44.js → 9155a6c07dc0502d.js} +2 -2
  925. package/.next/standalone/.next/static/chunks/96823b122a037ed1.js +1 -0
  926. package/.next/standalone/.next/static/chunks/96c7e2e47438553a.js +1 -0
  927. package/.next/standalone/.next/static/chunks/9adb155358e88cb2.js +1 -0
  928. package/.next/standalone/.next/static/chunks/a31bf4e176b5e90c.js +3 -0
  929. package/.next/standalone/.next/static/chunks/a534005e8a8ec626.js +1 -0
  930. package/.next/standalone/.next/static/chunks/aa2b0b8c9ed6b185.js +2 -0
  931. package/.next/standalone/.next/static/chunks/b0fb37ef626a34a0.js +1 -0
  932. package/.next/standalone/.next/static/chunks/c1a9ea80807777b8.js +10 -0
  933. package/.next/standalone/.next/static/chunks/c7e8296357638830.js +1 -0
  934. package/.next/standalone/.next/static/chunks/cc6c6efcf6de727b.js +17 -0
  935. package/.next/standalone/.next/static/chunks/d6af33336f13dd65.js +1 -0
  936. package/.next/standalone/.next/static/chunks/d7ff390550d8ae02.js +1 -0
  937. package/.next/standalone/.next/static/chunks/d91c2c0bbe0b59ab.js +1 -0
  938. package/.next/standalone/.next/static/chunks/daad76cdc09960bb.js +10 -0
  939. package/.next/{static/chunks/e396958d5e8ecaf8.js → standalone/.next/static/chunks/dc22f906bd43e9a3.js} +3 -3
  940. package/.next/standalone/.next/static/chunks/e159d293fc72e91b.css +1 -0
  941. package/.next/standalone/.next/static/chunks/e6bdd7840d3e35e8.js +1 -0
  942. package/.next/standalone/.next/static/chunks/e8b69a66912006d0.js +1 -0
  943. package/.next/standalone/.next/static/chunks/eb6a581f1851670e.js +1 -0
  944. package/.next/standalone/.next/static/chunks/fc00d1dd80dd9357.js +1 -0
  945. package/.next/standalone/.opencode/bun.lock +18 -0
  946. package/.next/standalone/.opencode/package.json +5 -0
  947. package/.next/standalone/Dockerfile +1 -0
  948. package/.next/standalone/RELEASE.md +6 -0
  949. package/.next/standalone/node_modules/.prisma/client/edge.js +43 -4
  950. package/.next/standalone/node_modules/.prisma/client/index-browser.js +40 -1
  951. package/.next/standalone/node_modules/.prisma/client/index.js +43 -4
  952. package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
  953. package/.next/standalone/node_modules/.prisma/client/schema.prisma +53 -0
  954. package/.next/standalone/node_modules/.prisma/client/wasm.js +40 -1
  955. package/.next/standalone/package.json +1 -1
  956. package/.next/standalone/prisma/schema.prisma +53 -0
  957. package/.next/standalone/scripts/__pycache__/hermes_agent_insight_plugin.cpython-312.pyc +0 -0
  958. package/.next/standalone/scripts/dryrun_readrecords_batched.ts +3 -2
  959. package/.next/standalone/scripts/infra-vllm-loadcheck.ts +84 -0
  960. package/.next/standalone/scripts/infra-vllm-probe.ts +57 -0
  961. package/.next/standalone/scripts/ping_monitor.ts +2 -1
  962. package/.next/standalone/scripts/start.sh +23 -3
  963. package/.next/standalone/skills/agent-debug-diagnosis/scripts/__pycache__/agentdebug_common.cpython-312.pyc +0 -0
  964. package/.next/static/chunks/012f27d0d790dc0f.js +1 -0
  965. package/.next/static/chunks/07b2d7e6b58603c1.js +1 -0
  966. package/.next/static/chunks/1626d47d4b84fc8b.js +1 -0
  967. package/.next/static/chunks/175e0609137d7eed.js +1 -0
  968. package/.next/static/chunks/1aa5156b12972154.js +1 -0
  969. package/.next/static/chunks/2dc7fabb2f12bf39.js +1 -0
  970. package/.next/{standalone/.next/static/chunks/819be4f6dc602b73.js → static/chunks/3d040755d3686976.js} +1 -1
  971. package/.next/static/chunks/466edc01ad624a7e.js +1 -0
  972. package/.next/static/chunks/48fba91726a41a66.js +1 -0
  973. package/.next/static/chunks/5c301dcc3995f72c.js +1 -0
  974. package/.next/static/chunks/60f3a73e9fa6c625.js +1 -0
  975. package/.next/static/chunks/61003f0aededf3d6.js +1 -0
  976. package/.next/{standalone/.next/static/chunks/f08011a9c5cd16a6.js → static/chunks/6238734a2f04b1f9.js} +1 -1
  977. package/.next/static/chunks/{314eea8ce9b18ba1.js → 66de628824ded594.js} +1 -1
  978. package/.next/static/chunks/6f6e529cc8a0535d.js +1 -0
  979. package/.next/static/chunks/747a8d06793299fa.js +1 -0
  980. package/.next/static/chunks/755c604ba44e0e9b.js +1 -0
  981. package/.next/static/chunks/76a6d562e6507740.js +1 -0
  982. package/.next/static/chunks/77a10bcb350555d9.js +1 -0
  983. package/.next/static/chunks/7837bb465385ecd8.js +1 -0
  984. package/.next/static/chunks/7dc8bfae4aed86c2.js +1 -0
  985. package/.next/{standalone/.next/static/chunks/264991644d73270c.js → static/chunks/80f28b2193bf35d3.js} +1 -1
  986. package/.next/static/chunks/85f356e3e23b09ab.js +1 -0
  987. package/.next/static/chunks/{3e55642a8eb5ba23.js → 8754e0cf40813330.js} +1 -1
  988. package/.next/{standalone/.next/static/chunks/5d0423a5cf33f34e.js → static/chunks/8dff7ffbfcc5cc39.js} +1 -1
  989. package/.next/static/chunks/{f2228519196f8f44.js → 9155a6c07dc0502d.js} +2 -2
  990. package/.next/static/chunks/96823b122a037ed1.js +1 -0
  991. package/.next/static/chunks/96c7e2e47438553a.js +1 -0
  992. package/.next/static/chunks/9adb155358e88cb2.js +1 -0
  993. package/.next/static/chunks/a31bf4e176b5e90c.js +3 -0
  994. package/.next/static/chunks/a534005e8a8ec626.js +1 -0
  995. package/.next/static/chunks/aa2b0b8c9ed6b185.js +2 -0
  996. package/.next/static/chunks/b0fb37ef626a34a0.js +1 -0
  997. package/.next/static/chunks/c1a9ea80807777b8.js +10 -0
  998. package/.next/static/chunks/c7e8296357638830.js +1 -0
  999. package/.next/static/chunks/cc6c6efcf6de727b.js +17 -0
  1000. package/.next/static/chunks/d6af33336f13dd65.js +1 -0
  1001. package/.next/static/chunks/d7ff390550d8ae02.js +1 -0
  1002. package/.next/static/chunks/d91c2c0bbe0b59ab.js +1 -0
  1003. package/.next/static/chunks/daad76cdc09960bb.js +10 -0
  1004. package/.next/{standalone/.next/static/chunks/e396958d5e8ecaf8.js → static/chunks/dc22f906bd43e9a3.js} +3 -3
  1005. package/.next/static/chunks/e159d293fc72e91b.css +1 -0
  1006. package/.next/static/chunks/e6bdd7840d3e35e8.js +1 -0
  1007. package/.next/static/chunks/e8b69a66912006d0.js +1 -0
  1008. package/.next/static/chunks/eb6a581f1851670e.js +1 -0
  1009. package/.next/static/chunks/fc00d1dd80dd9357.js +1 -0
  1010. package/package.json +1 -1
  1011. package/prisma/schema.prisma +53 -0
  1012. package/scripts/__pycache__/hermes_agent_insight_plugin.cpython-312.pyc +0 -0
  1013. package/scripts/dryrun_readrecords_batched.ts +3 -2
  1014. package/scripts/infra-vllm-loadcheck.ts +84 -0
  1015. package/scripts/infra-vllm-probe.ts +57 -0
  1016. package/scripts/ping_monitor.ts +2 -1
  1017. package/scripts/start.sh +23 -3
  1018. package/.next/standalone/.next/server/chunks/[externals]__f458ab79._.js +0 -3
  1019. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0068c1fc._.js +0 -3
  1020. package/.next/standalone/.next/server/chunks/[root-of-the-server]__040b569f._.js +0 -3
  1021. package/.next/standalone/.next/server/chunks/[root-of-the-server]__045587bf._.js +0 -6
  1022. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0644629d._.js +0 -5
  1023. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0805dbf7._.js +0 -3
  1024. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08ae7361._.js +0 -3
  1025. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0aa7083b._.js +0 -3
  1026. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c3644ff._.js +0 -3
  1027. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e81c059._.js +0 -3
  1028. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10970a34._.js +0 -3
  1029. package/.next/standalone/.next/server/chunks/[root-of-the-server]__151a437e._.js +0 -3
  1030. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15f53674._.js +0 -3
  1031. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1b7feef9._.js +0 -5
  1032. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1b902b9e._.js +0 -3
  1033. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1dd8d4fe._.js +0 -3
  1034. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1def0351._.js +0 -3
  1035. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1e033f42._.js +0 -3
  1036. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ffaeedd._.js +0 -5
  1037. package/.next/standalone/.next/server/chunks/[root-of-the-server]__25a767e5._.js +0 -7
  1038. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2d337f2e._.js +0 -3
  1039. package/.next/standalone/.next/server/chunks/[root-of-the-server]__326abfd9._.js +0 -3
  1040. package/.next/standalone/.next/server/chunks/[root-of-the-server]__35b27244._.js +0 -3
  1041. package/.next/standalone/.next/server/chunks/[root-of-the-server]__363f8caf._.js +0 -3
  1042. package/.next/standalone/.next/server/chunks/[root-of-the-server]__39374c1f._.js +0 -3
  1043. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3943f2d4._.js +0 -3
  1044. package/.next/standalone/.next/server/chunks/[root-of-the-server]__39b0a6a8._.js +0 -3
  1045. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3a23ad34._.js +0 -3
  1046. package/.next/standalone/.next/server/chunks/[root-of-the-server]__45f15a40._.js +0 -3
  1047. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4d9694c3._.js +0 -3
  1048. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5231c174._.js +0 -3
  1049. package/.next/standalone/.next/server/chunks/[root-of-the-server]__549af36b._.js +0 -3
  1050. package/.next/standalone/.next/server/chunks/[root-of-the-server]__57e6d2a2._.js +0 -3
  1051. package/.next/standalone/.next/server/chunks/[root-of-the-server]__59ad7214._.js +0 -3
  1052. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c39010e._.js +0 -3
  1053. package/.next/standalone/.next/server/chunks/[root-of-the-server]__60643e13._.js +0 -3
  1054. package/.next/standalone/.next/server/chunks/[root-of-the-server]__67c90eea._.js +0 -3
  1055. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6bd638de._.js +0 -5
  1056. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6f67398a._.js +0 -3
  1057. package/.next/standalone/.next/server/chunks/[root-of-the-server]__72038149._.js +0 -13
  1058. package/.next/standalone/.next/server/chunks/[root-of-the-server]__79874fb4._.js +0 -3
  1059. package/.next/standalone/.next/server/chunks/[root-of-the-server]__79918828._.js +0 -3
  1060. package/.next/standalone/.next/server/chunks/[root-of-the-server]__872ecf84._.js +0 -3
  1061. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8a8c1c09._.js +0 -3
  1062. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8b738c2a._.js +0 -3
  1063. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9a4686fd._.js +0 -3
  1064. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e377fa0._.js +0 -3
  1065. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a01fde2c._.js +0 -3
  1066. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a0a8a394._.js +0 -3
  1067. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a1fdf600._.js +0 -3
  1068. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a60f0985._.js +0 -3
  1069. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a62c8374._.js +0 -3
  1070. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9d5005d._.js +0 -3
  1071. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac03d782._.js +0 -5
  1072. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b63dd7b6._.js +0 -3
  1073. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b853df47._.js +0 -3
  1074. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b9ba9fe9._.js +0 -3
  1075. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b9ea78fe._.js +0 -3
  1076. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bb26d00a._.js +0 -3
  1077. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd6a35b1._.js +0 -3
  1078. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c139b60a._.js +0 -3
  1079. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c15e98e6._.js +0 -3
  1080. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ca706dfb._.js +0 -3
  1081. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cb09a0f9._.js +0 -3
  1082. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cc3948c5._.js +0 -3
  1083. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cca882cf._.js +0 -3
  1084. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d03fa951._.js +0 -3
  1085. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d9c98a95._.js +0 -3
  1086. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dc598d38._.js +0 -3
  1087. package/.next/standalone/.next/server/chunks/[root-of-the-server]__de3c01d3._.js +0 -3
  1088. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8b45be8._.js +0 -3
  1089. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb9c84fc._.js +0 -3
  1090. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f43a6132._.js +0 -3
  1091. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fef5bbd7._.js +0 -3
  1092. package/.next/standalone/.next/server/chunks/_098d414d._.js +0 -3
  1093. package/.next/standalone/.next/server/chunks/_f53757b9._.js +0 -3
  1094. package/.next/standalone/.next/server/chunks/src_lib_1466262d._.js +0 -29
  1095. package/.next/standalone/.next/server/chunks/src_lib_beee2d37._.js +0 -32
  1096. package/.next/standalone/.next/server/chunks/src_lib_c6d9db51._.js +0 -3
  1097. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c0f4a8e3._.js +0 -3
  1098. package/.next/standalone/.next/server/chunks/ssr/_338db557._.js +0 -3
  1099. package/.next/standalone/.next/server/chunks/ssr/_434d90cf._.js +0 -3
  1100. package/.next/standalone/.next/server/chunks/ssr/_54f7cd42._.js +0 -3
  1101. package/.next/standalone/.next/server/chunks/ssr/_715ced03._.js +0 -12
  1102. package/.next/standalone/.next/server/chunks/ssr/_86e4a207._.js +0 -12
  1103. package/.next/standalone/.next/server/chunks/ssr/_9adbeadd._.js +0 -3
  1104. package/.next/standalone/.next/server/chunks/ssr/_9e56acbd._.js +0 -3
  1105. package/.next/standalone/.next/server/chunks/ssr/_ad052dd8._.js +0 -3
  1106. package/.next/standalone/.next/server/chunks/ssr/_d4c77173._.js +0 -3
  1107. package/.next/standalone/.next/server/chunks/ssr/_f778c2ae._.js +0 -3
  1108. package/.next/standalone/.next/server/chunks/ssr/node_modules_0446465d._.js +0 -3
  1109. package/.next/standalone/.next/server/chunks/ssr/node_modules_14fdec98._.js +0 -17
  1110. package/.next/standalone/.next/server/chunks/ssr/node_modules_39b590d2._.js +0 -3
  1111. package/.next/standalone/.next/server/chunks/ssr/node_modules_5765f642._.js +0 -3
  1112. package/.next/standalone/.next/server/chunks/ssr/node_modules_5a7ce65f._.js +0 -17
  1113. package/.next/standalone/.next/server/chunks/ssr/node_modules_67a600ea._.js +0 -24
  1114. package/.next/standalone/.next/server/chunks/ssr/node_modules_73b73ed2._.js +0 -17
  1115. package/.next/standalone/.next/server/chunks/ssr/node_modules_88623ea5._.js +0 -3
  1116. package/.next/standalone/.next/server/chunks/ssr/node_modules_9a06f164._.js +0 -3
  1117. package/.next/standalone/.next/server/chunks/ssr/node_modules_9ad38d6b._.js +0 -3
  1118. package/.next/standalone/.next/server/chunks/ssr/node_modules_c5bc32c0._.js +0 -3
  1119. package/.next/standalone/.next/server/chunks/ssr/node_modules_c8b340b1._.js +0 -3
  1120. package/.next/standalone/.next/server/chunks/ssr/node_modules_c93bc0d4._.js +0 -3
  1121. package/.next/standalone/.next/server/chunks/ssr/node_modules_d492394b._.js +0 -3
  1122. package/.next/standalone/.next/server/chunks/ssr/node_modules_e9abd531._.js +0 -17
  1123. package/.next/standalone/.next/server/chunks/ssr/node_modules_f69e47e0._.js +0 -3
  1124. package/.next/standalone/.next/static/chunks/130e114057a9ebcd.js +0 -1
  1125. package/.next/standalone/.next/static/chunks/1e5b3e371cbf00f5.js +0 -1
  1126. package/.next/standalone/.next/static/chunks/34a7894eb476b8eb.js +0 -1
  1127. package/.next/standalone/.next/static/chunks/373d7e41b5d2192a.js +0 -1
  1128. package/.next/standalone/.next/static/chunks/43df5d7cd8ec46ff.js +0 -1
  1129. package/.next/standalone/.next/static/chunks/463b43ecde7acc6b.js +0 -1
  1130. package/.next/standalone/.next/static/chunks/4b3b11e28e77c3fe.js +0 -1
  1131. package/.next/standalone/.next/static/chunks/53af8dcc7be02445.js +0 -1
  1132. package/.next/standalone/.next/static/chunks/558b2944268322c0.js +0 -1
  1133. package/.next/standalone/.next/static/chunks/5f48fb5ff13515f9.js +0 -10
  1134. package/.next/standalone/.next/static/chunks/662ee72c2b3f282f.js +0 -1
  1135. package/.next/standalone/.next/static/chunks/72fce1376de53ff1.js +0 -1
  1136. package/.next/standalone/.next/static/chunks/7aff5373689149f6.css +0 -1
  1137. package/.next/standalone/.next/static/chunks/83910a2aebec21cd.js +0 -1
  1138. package/.next/standalone/.next/static/chunks/85dc1714d62ff17c.js +0 -1
  1139. package/.next/standalone/.next/static/chunks/880f54e2ee46369a.js +0 -1
  1140. package/.next/standalone/.next/static/chunks/90356ff82a1a4b7b.js +0 -1
  1141. package/.next/standalone/.next/static/chunks/91118d4316b25490.js +0 -2
  1142. package/.next/standalone/.next/static/chunks/9190bb5077c01f1d.js +0 -1
  1143. package/.next/standalone/.next/static/chunks/ac4d824ecef761ad.js +0 -1
  1144. package/.next/standalone/.next/static/chunks/b7afe26e3f5150a6.js +0 -1
  1145. package/.next/standalone/.next/static/chunks/c6fc32540074c5d9.js +0 -1
  1146. package/.next/standalone/.next/static/chunks/ca321802d5bec89a.js +0 -1
  1147. package/.next/standalone/.next/static/chunks/d3d4e0d0251fae88.js +0 -1
  1148. package/.next/standalone/.next/static/chunks/d4b8cecb3e0e7d14.js +0 -1
  1149. package/.next/standalone/.next/static/chunks/e1ca3a6b74761a34.js +0 -1
  1150. package/.next/standalone/.next/static/chunks/f078268d4167c317.js +0 -1
  1151. package/.next/standalone/.next/static/chunks/f3601c4fe7c72e05.js +0 -1
  1152. package/.next/standalone/.next/static/chunks/f6bada18c43a7d59.js +0 -1
  1153. package/.next/standalone/.next/static/chunks/f73f243ebf49bd78.js +0 -10
  1154. package/.next/standalone/.next/static/chunks/fff45888c8c81b7a.js +0 -1
  1155. package/.next/static/chunks/130e114057a9ebcd.js +0 -1
  1156. package/.next/static/chunks/1e5b3e371cbf00f5.js +0 -1
  1157. package/.next/static/chunks/34a7894eb476b8eb.js +0 -1
  1158. package/.next/static/chunks/373d7e41b5d2192a.js +0 -1
  1159. package/.next/static/chunks/43df5d7cd8ec46ff.js +0 -1
  1160. package/.next/static/chunks/463b43ecde7acc6b.js +0 -1
  1161. package/.next/static/chunks/4b3b11e28e77c3fe.js +0 -1
  1162. package/.next/static/chunks/53af8dcc7be02445.js +0 -1
  1163. package/.next/static/chunks/558b2944268322c0.js +0 -1
  1164. package/.next/static/chunks/5f48fb5ff13515f9.js +0 -10
  1165. package/.next/static/chunks/662ee72c2b3f282f.js +0 -1
  1166. package/.next/static/chunks/72fce1376de53ff1.js +0 -1
  1167. package/.next/static/chunks/7aff5373689149f6.css +0 -1
  1168. package/.next/static/chunks/83910a2aebec21cd.js +0 -1
  1169. package/.next/static/chunks/85dc1714d62ff17c.js +0 -1
  1170. package/.next/static/chunks/880f54e2ee46369a.js +0 -1
  1171. package/.next/static/chunks/90356ff82a1a4b7b.js +0 -1
  1172. package/.next/static/chunks/91118d4316b25490.js +0 -2
  1173. package/.next/static/chunks/9190bb5077c01f1d.js +0 -1
  1174. package/.next/static/chunks/ac4d824ecef761ad.js +0 -1
  1175. package/.next/static/chunks/b7afe26e3f5150a6.js +0 -1
  1176. package/.next/static/chunks/c6fc32540074c5d9.js +0 -1
  1177. package/.next/static/chunks/ca321802d5bec89a.js +0 -1
  1178. package/.next/static/chunks/d3d4e0d0251fae88.js +0 -1
  1179. package/.next/static/chunks/d4b8cecb3e0e7d14.js +0 -1
  1180. package/.next/static/chunks/e1ca3a6b74761a34.js +0 -1
  1181. package/.next/static/chunks/f078268d4167c317.js +0 -1
  1182. package/.next/static/chunks/f3601c4fe7c72e05.js +0 -1
  1183. package/.next/static/chunks/f6bada18c43a7d59.js +0 -1
  1184. package/.next/static/chunks/f73f243ebf49bd78.js +0 -10
  1185. package/.next/static/chunks/fff45888c8c81b7a.js +0 -1
  1186. /package/.next/standalone/.next/static/{OsR67Q2lFVMHMaAqxt_js → w5kcVDBsBKgqTtNX9-Kqj}/_buildManifest.js +0 -0
  1187. /package/.next/standalone/.next/static/{OsR67Q2lFVMHMaAqxt_js → w5kcVDBsBKgqTtNX9-Kqj}/_clientMiddlewareManifest.json +0 -0
  1188. /package/.next/standalone/.next/static/{OsR67Q2lFVMHMaAqxt_js → w5kcVDBsBKgqTtNX9-Kqj}/_ssgManifest.js +0 -0
  1189. /package/.next/static/{OsR67Q2lFVMHMaAqxt_js → w5kcVDBsBKgqTtNX9-Kqj}/_buildManifest.js +0 -0
  1190. /package/.next/static/{OsR67Q2lFVMHMaAqxt_js → w5kcVDBsBKgqTtNX9-Kqj}/_clientMiddlewareManifest.json +0 -0
  1191. /package/.next/static/{OsR67Q2lFVMHMaAqxt_js → w5kcVDBsBKgqTtNX9-Kqj}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,945536,e=>{"use strict";var r=e.i(843476),t=e.i(271645),i=e.i(618566),n=e.i(456420);let a=(0,n.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);var l=e.i(632781),o=e.i(540568),s=e.i(460435),d=e.i(726526),c=e.i(927643),u=e.i(183752);let p=["1d","1w","1m"];function g({agents:e,value:t,onChange:i,skills:n}){let{t:a}=(0,d.useLocale)(),l={"1d":a("quality.config.day"),"1w":a("quality.config.week"),"1m":a("quality.config.month")};return(0,r.jsxs)("section",{style:{display:"flex",alignItems:"center",gap:24,flexWrap:"wrap",background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:12,boxShadow:"0 1px 2px rgba(20,22,30,.04)",padding:"12px 18px",marginBottom:14},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,r.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"var(--foreground-muted)"},children:a("quality.config.agent")}),(0,r.jsxs)("div",{style:{position:"relative"},children:[(0,r.jsxs)("select",{value:t.agent,onChange:e=>i({agent:e.target.value}),style:{appearance:"none",WebkitAppearance:"none",border:"1px solid var(--border)",background:"var(--background)",borderRadius:8,padding:"7px 28px 7px 11px",fontSize:12.5,fontWeight:700,color:"var(--foreground)",cursor:"pointer",outline:"none",minWidth:150},children:[!t.agent&&(0,r.jsx)("option",{value:"",children:a("quality.config.selectAgent")}),e.map(e=>(0,r.jsxs)("option",{value:e.name,children:[e.name,null!=e.traceCount?` (${e.traceCount})`:""]},e.name))]}),(0,r.jsx)("span",{style:{position:"absolute",right:9,top:"50%",transform:"translateY(-50%)",fontSize:9,color:"var(--foreground-muted)",pointerEvents:"none"},children:"▾"})]})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,r.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"var(--foreground-muted)"},children:a("quality.config.timeRange")}),(0,r.jsx)("div",{style:{display:"inline-flex",background:"var(--background-secondary)",borderRadius:9,padding:3},children:p.map(e=>{let n=t.window===e;return(0,r.jsx)("button",{onClick:()=>i({window:e}),style:{border:"none",background:n?"var(--background)":"transparent",color:n?"var(--primary)":"var(--foreground-secondary)",fontWeight:n?700:600,fontSize:12,padding:"6px 13px",borderRadius:7,cursor:"pointer",boxShadow:n?"0 1px 2px rgba(20,22,30,.08)":"none"},children:l[e]},e)})})]}),(0,r.jsx)(y,{label:a("quality.config.skill"),value:t.skill,onChange:e=>i({skill:e}),options:[{value:"all",label:a("quality.config.all")},...n.map(e=>({value:e,label:e}))]}),(0,r.jsx)(y,{label:a("quality.config.status"),value:t.status,onChange:e=>i({status:e}),options:[{value:"all",label:a("quality.config.all")},{value:"达标",label:a("quality.status.达标")},{value:"关注",label:a("quality.status.关注")},{value:"异常",label:a("quality.status.异常")}]}),(0,r.jsx)("div",{style:{flex:1,minWidth:40}})]})}function y({label:e,value:t,onChange:i,options:n}){let a="all"!==t;return(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,r.jsx)("span",{style:{fontSize:11,color:"var(--foreground-muted)"},children:e}),(0,r.jsxs)("div",{style:{position:"relative"},children:[(0,r.jsx)("select",{value:t,onChange:e=>i(e.target.value),style:{appearance:"none",WebkitAppearance:"none",border:"1px solid var(--border)",borderRadius:7,padding:"5px 22px 5px 9px",fontSize:12,fontWeight:a?600:400,background:a?"var(--primary-subtle)":"var(--background)",color:a?"var(--primary)":"var(--foreground-secondary)",cursor:"pointer",outline:"none"},children:n.map(e=>(0,r.jsx)("option",{value:e.value,children:e.label},e.value))}),(0,r.jsx)("span",{style:{position:"absolute",right:7,top:"50%",transform:"translateY(-50%)",fontSize:8,color:"var(--foreground-muted)",pointerEvents:"none"},children:"▾"})]})]})}var x=e.i(328623);let h=(0,n.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var f=e.i(747925),m=e.i(51907);function v(e){return e>=85?"var(--success)":e>=70?"var(--warning)":"var(--error)"}function b(e){return"high"===e?"var(--error)":"medium"===e?"var(--warning)":"var(--foreground-muted)"}let j={agent逻辑:{bg:"var(--primary-subtle)",fg:"var(--primary)"},模型能力:{bg:"color-mix(in srgb, var(--primary) 10%, transparent)",fg:"var(--primary)"},"工具&infra":{bg:"var(--warning-subtle)",fg:"var(--warning)"},外部输入:{bg:"var(--success-subtle)",fg:"var(--success)"}};function S(e,r=1){return null!=e&&Number.isFinite(e)?(Math.round(e*10**r)/10**r).toString():"—"}let k={planning:"Planning·规划",action:"Action·执行",memory:"Memory·记忆",reflection:"Reflection·反思",system:"System·环境",others:"其他"},I=["var(--primary)","var(--warning)","#2c6bd1","var(--success)","var(--foreground-muted)","var(--error)"];function w({report:e,onDrillTrace:t,onAnchor:i}){var n;let{t:a}=(0,d.useLocale)(),{composite:l,meta:o,dimensions:c,problems:u,coverage:p,trend:g}=e,y=g.buckets.filter(e=>e.n_traces>0),h=y.length>=2?Math.round((y[y.length-1].composite-y[0].composite)*10)/10:null,b=p.total?Math.round(p.judged/p.total*100):0,j=b<30,k=o.lowSample?"var(--foreground-muted)":v(l.score),I=[[a("quality.dim.result"),c.result],[a("quality.dim.process"),c.process],[a("quality.dim.cost"),c.cost]].filter(([,e])=>e.coverage>0).sort((e,r)=>e[1].score-r[1].score)[0],w=u.slice(0,3),C=e.problemCounts.errorEvents,W=e.problemCounts.error,T=e.problemCounts.eval,E=e.problemCounts.total;return(0,r.jsx)("section",{id:"verdict",style:{background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:12,boxShadow:"0 1px 2px rgba(20,22,30,.04)",marginBottom:14,scrollMarginTop:56,padding:"18px 20px"},children:(0,r.jsxs)("div",{style:{display:"flex",gap:24,flexWrap:"wrap",alignItems:"stretch"},children:[(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8,minWidth:200,flex:"0 0 auto",justifyContent:"center"},children:[(0,r.jsxs)("div",{style:{fontSize:10.5,color:"var(--foreground-muted)",fontWeight:600,display:"flex",alignItems:"center",gap:4},children:[a("quality.summary.composite"),(0,r.jsx)(s.Term,{id:"quality-composite-score",render:"compact"})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:8},children:[(0,r.jsx)("span",{style:{fontSize:40,fontWeight:800,letterSpacing:"-0.02em",lineHeight:1,color:k},children:S(l.score)}),(0,r.jsx)("span",{style:{fontSize:13,color:"var(--foreground-muted)",fontWeight:600},children:"/100"}),null!=h&&(0,r.jsxs)("span",{title:a("quality.hero.windowTrend"),style:{fontSize:12,fontWeight:700,color:h>=0?"var(--success)":"var(--error)"},children:[h>=0?"▲":"▼"," ",S(Math.abs(h))]})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsx)(m.StatusBadge,{status:"达标"===(n=l.status)?"success":"关注"===n?"warning":"error",label:a(`quality.status.${l.status}`)}),l.capped&&(0,r.jsx)(m.StatusBadge,{status:"error",variant:"outline",label:a("quality.summary.capped")})]}),(0,r.jsxs)("div",{style:{fontSize:10.5,lineHeight:1.5,display:"flex",alignItems:"center",gap:4},children:[o.lowSample?(0,r.jsxs)("span",{style:{color:"var(--warning)",fontWeight:700},children:["⚠ ",a("quality.hero.lowSampleTag")]}):(0,r.jsxs)("span",{style:{color:j?"var(--warning)":"var(--foreground-muted)"},children:[j?`${a("quality.hero.deterministicTag")} \xb7 `:"",a("quality.hero.judgeCoverage")," ",b,"%"]}),(0,r.jsx)(s.Term,{id:j?"quality-deterministic-baseline":"quality-eval-coverage",render:"compact"})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:10,marginTop:2,alignItems:"flex-start"},children:[(0,r.jsx)(z,{tag:"P0",v:l.p0,tone:"var(--error)"}),(0,r.jsx)(z,{tag:"P1",v:l.p1,tone:"var(--warning)"}),(0,r.jsx)(z,{tag:"P2",v:l.p2,tone:"var(--foreground-muted)"}),(0,r.jsx)(s.Term,{id:"quality-priority-tiers",render:"compact"})]})]}),(0,r.jsxs)("div",{style:{flex:"1 1 320px",minWidth:280,display:"flex",flexDirection:"column",gap:10},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,r.jsx)(x.Sparkles,{size:13,style:{color:"var(--primary)"}}),(0,r.jsx)("span",{style:{fontSize:12,fontWeight:800},children:a("quality.hero.verdictLabel")})]}),(0,r.jsxs)("div",{style:{borderLeft:"3px solid var(--primary)",paddingLeft:12,fontSize:12.5,lineHeight:1.7,color:"var(--foreground)",display:"flex",flexDirection:"column",gap:3},children:[(0,r.jsxs)("span",{children:[(0,r.jsxs)("b",{style:{fontWeight:800},children:["整体处于「",a(`quality.status.${l.status}`),"」区间"]}),l.capped&&(0,r.jsx)("span",{style:{color:"var(--error)",fontWeight:700},children:"(安全护栏命中,综合分已硬降级)"})]}),(0,r.jsx)("span",{children:I?(0,r.jsxs)(r.Fragment,{children:["瓶颈集中在 ",(0,r.jsxs)("span",{style:{color:"var(--warning)",fontWeight:700},children:[I[0],"(",S(I[1].score),")"]})]}):(0,r.jsx)(r.Fragment,{children:"各维覆盖有限,建议先补足评测覆盖率"})}),w[0]&&(0,r.jsx)("span",{style:{color:"var(--foreground-secondary)"},children:"优先治理右侧 Top 问题,预计能最快抬升综合分"})]}),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:11.5,color:"var(--foreground-secondary)",borderTop:"1px solid var(--border)",paddingTop:10,marginTop:2},children:[(0,r.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,flexWrap:"wrap"},children:[a("quality.summary.evaluated")," ",(0,r.jsx)("b",{style:{color:"var(--foreground)"},children:o.n})," ",a("quality.summary.times")," · ",a("quality.summary.passRate")," ",(0,r.jsxs)("b",{style:{color:"var(--foreground)"},children:[S(o.passRate),"%"]}),(0,r.jsx)(s.Term,{id:"quality-pass-rate",render:"compact"})]}),(0,r.jsxs)("span",{children:[a("quality.summary.errors")," ",(0,r.jsx)("b",{style:{color:C?"var(--error)":"var(--foreground)"},children:C})," ",a("quality.summary.times")," · ",a("quality.summary.clusters")," ",(0,r.jsx)("b",{style:{color:"var(--foreground)"},children:W})," ",a("quality.summary.classes"),T>0&&(0,r.jsxs)(r.Fragment,{children:[" · ",a("quality.summary.evalIssues")," ",(0,r.jsx)("b",{style:{color:"var(--foreground)"},children:T})," ",a("quality.summary.itemsUnit")]})]})]})]}),(0,r.jsxs)("div",{style:{flex:"1 1 340px",minWidth:300,display:"flex",flexDirection:"column",gap:6},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7},children:[(0,r.jsx)(f.Wrench,{size:13,style:{color:"var(--error)"}}),(0,r.jsx)("span",{style:{fontSize:12,fontWeight:800},children:a("quality.hero.fixFirst")}),(0,r.jsx)("span",{style:{flex:1}}),E>0&&(0,r.jsxs)("button",{onClick:()=>i("problems"),style:A,children:[a("quality.hero.viewAll")," ",E," ",a("quality.hero.problemsUnit")," ↓"]})]}),0===w.length?(0,r.jsx)("div",{style:{fontSize:11.5,color:"var(--foreground-muted)",padding:"14px 0"},children:a("quality.hero.noProblems")}):w.map((e,i)=>(0,r.jsx)(q,{rank:i+1,p:e,meta:o,t:a,onDrillTrace:t},e.key))]})]})})}function q({rank:e,p:t,meta:i,t:n,onDrillTrace:a}){let l=j[t.attribution],o=function(e,r){if(!e.relatedTraces.length||!r.n)return null;let t=Math.min(e.relatedTraces.length/r.n*100,Math.max(0,100-r.passRate));return t<.05?null:`+${t<1?t.toFixed(1):Math.round(t)}pp`}(t,i);return(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",border:"1px solid var(--border)",borderRadius:9,background:"var(--background)"},children:[(0,r.jsx)("span",{style:{fontSize:11,fontWeight:800,color:b(t.severity),width:14,flex:"0 0 14px"},children:e}),(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsx)("div",{style:{fontSize:11.5,fontWeight:700,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.desc}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:3,flexWrap:"wrap"},children:[(0,r.jsx)("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:4,background:"错误"===t.source?"var(--error-subtle)":"var(--primary-subtle)",color:"错误"===t.source?"var(--error)":"var(--primary)"},children:t.source}),(0,r.jsx)("span",{style:{fontSize:9,fontWeight:600,padding:"1px 5px",borderRadius:4,background:l.bg,color:l.fg},children:t.attribution}),(0,r.jsxs)("span",{style:{fontSize:10,color:"var(--foreground-muted)"},children:[t.frequency," 次"]}),o&&(0,r.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:2,fontSize:10,fontWeight:700,color:"var(--success)"},children:[n("quality.hero.expectedGain")," ",o,(0,r.jsx)("sup",{style:{fontSize:8},children:"估"}),(0,r.jsx)(s.Term,{id:"quality-expected-gain",render:"compact"})]})]})]}),(0,r.jsxs)("span",{style:{display:"inline-flex",gap:6,flex:"0 0 auto"},children:[t.skillRef&&(0,r.jsx)("a",{href:`/skill-opt/${encodeURIComponent(t.skillRef.name)}/${t.skillRef.version??0}`,title:`${t.skillRef.name}@v${t.skillRef.version??0} \xb7 ${n("quality.problems.optimize")}`,style:{...A,color:"var(--success)",display:"inline-flex",alignItems:"center"},children:(0,r.jsx)(f.Wrench,{size:12})}),t.relatedTraces.length>0&&(0,r.jsx)("button",{onClick:()=>a(t.relatedTraces[0]),title:n("quality.hero.drill"),style:{...A,display:"inline-flex",alignItems:"center",gap:2},children:(0,r.jsx)(h,{size:13})})]})]})}function z({tag:e,v:t,tone:i}){return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:3,minWidth:52},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,fontSize:9.5,fontWeight:700},children:[(0,r.jsx)("span",{style:{padding:"1px 4px",borderRadius:3,background:"color-mix(in srgb, "+i+" 14%, transparent)",color:i},children:e}),(0,r.jsx)("span",{style:{color:"var(--foreground)"},children:null==t?"N/A":S(t)})]}),(0,r.jsx)("div",{style:{height:4,borderRadius:3,background:"var(--background-secondary)",overflow:"hidden"},children:(0,r.jsx)("span",{style:{display:"block",height:"100%",width:`${t??0}%`,background:i,borderRadius:3}})})]})}let A={border:"none",background:"none",cursor:"pointer",fontSize:10.5,fontWeight:700,color:"var(--primary)",padding:0};var C=e.i(551757),W=e.i(269846);let T=(0,n.default)("coins",[["path",{d:"M13.744 17.736a6 6 0 1 1-7.48-7.48",key:"bq4yh3"}],["path",{d:"M15 6h1v4",key:"11y1tn"}],["path",{d:"m6.134 14.768.866-.5 2 3.464",key:"17snzx"}],["circle",{cx:"16",cy:"8",r:"6",key:"14bfc9"}]]);var E=e.i(853138);let O=(0,n.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),P={result:C.CheckCircle2,process:W.GitBranch,cost:T,error:E.AlertTriangle};function D({report:e,onAnchor:i}){var n;let a,{t:l}=(0,d.useLocale)(),{dimensions:o}=e,c=[{key:"result",name:l("quality.dim.result"),q:l("quality.dim.resultQ"),anchor:"result",score:o.result.coverage?S(o.result.score):"N/A",status:o.result.status,signal:o.result.signal||"",go:l("quality.dim.viewResult")},{key:"process",name:l("quality.dim.process"),q:l("quality.dim.processQ"),anchor:"process",score:S(o.process.score),status:o.process.status,signal:o.process.signal||(n=o.process,(a=n.metrics?.filter(e=>null!=e.score).sort((e,r)=>e.score-r.score)[0])?`${a.label} ${S(a.score)} 偏弱`:"过程信号覆盖有限"),go:l("quality.dim.viewProcess")},{key:"cost",name:l("quality.dim.cost"),q:l("quality.dim.costQ"),anchor:"cost",score:S(o.cost.score),status:o.cost.status,signal:o.cost.signal||"",go:l("quality.dim.viewTrend")},{key:"error",name:l("quality.dim.error"),q:l("quality.dim.errorQ"),anchor:"problems",score:S(o.error.score),status:o.error.status,signal:o.error.signal||"",go:l("quality.dim.viewErrors")}];return(0,r.jsxs)("section",{id:"analysis",style:R,children:[(0,r.jsxs)("div",{style:B,children:[(0,r.jsx)("span",{style:{...M,background:"var(--primary-subtle)",color:"var(--primary)"},children:(0,r.jsx)(x.Sparkles,{size:13})}),(0,r.jsx)("span",{style:{fontSize:13.5,fontWeight:800},children:l("quality.analysis.title")}),(0,r.jsx)("span",{style:{flex:1}}),(0,r.jsx)("span",{style:{fontSize:10.5,color:"var(--foreground-muted)"},children:l("quality.analysis.hint")})]}),(0,r.jsxs)("div",{style:{padding:"16px 18px"},children:[(0,r.jsxs)("div",{style:{fontSize:11,color:"var(--foreground-muted)",marginBottom:14,display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,r.jsx)("span",{children:l("quality.analysis.method")}),[l("quality.dim.result"),l("quality.dim.process"),l("quality.dim.cost"),l("quality.dim.error")].map((e,i)=>(0,r.jsxs)(t.default.Fragment,{children:[(0,r.jsx)("span",{style:{fontWeight:600,color:"var(--foreground-secondary)"},children:(0,r.jsx)("b",{style:{color:"var(--foreground)"},children:e})}),i<3&&(0,r.jsx)("span",{style:{color:"var(--border-dark)"},children:"×"})]},e)),(0,r.jsx)("span",{style:{flex:1}}),(0,r.jsx)("span",{style:{fontSize:10.5},children:l("quality.analysis.baseline")})]}),(0,r.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:12},children:c.map(e=>{var t;let n=P[e.key],a=o[e.key],d="result"===e.key&&0===a.coverage,c=d?"var(--foreground-muted)":v(a.score),u=d?"var(--foreground-muted)":"达标"===(t=a.status)?"var(--success)":"关注"===t?"var(--warning)":"var(--error)";return(0,r.jsxs)("button",{onClick:()=>i(e.anchor),style:$,children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,r.jsx)("span",{style:{...M,width:24,height:24,background:"color-mix(in srgb, "+c+" 13%, transparent)",color:c},children:(0,r.jsx)(n,{size:14})}),(0,r.jsx)("span",{style:{fontSize:12.5,fontWeight:800},children:e.name}),(0,r.jsx)("span",{onClick:e=>e.stopPropagation(),children:(0,r.jsx)(s.Term,{id:`quality-dim-${e.key}`,render:"compact"})}),(0,r.jsx)("span",{style:{fontSize:9.5,color:"var(--foreground-muted)",fontWeight:600,marginLeft:"auto"},children:e.q})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:6},children:[(0,r.jsx)("span",{style:{fontSize:24,fontWeight:800,letterSpacing:"-0.02em",color:c},children:e.score}),(0,r.jsx)("span",{style:{fontSize:10.5,fontWeight:700,padding:"3px 7px",borderRadius:5,background:"color-mix(in srgb, "+u+" 13%, transparent)",color:u},children:d?l("quality.analysis.na"):l(`quality.status.${a.status}`)}),a.coverage<1&&(0,r.jsxs)("span",{style:{fontSize:9.5,color:"var(--foreground-muted)",marginLeft:"auto"},children:[l("quality.analysis.naCoverage")," ",Math.round(100*a.coverage),"%"]})]}),(0,r.jsx)("div",{style:{fontSize:11,color:"var(--foreground-secondary)",lineHeight:1.5,minHeight:33},children:e.signal}),(0,r.jsxs)("div",{style:{fontSize:11,fontWeight:700,color:"var(--primary)",display:"flex",alignItems:"center",gap:5,marginTop:"auto"},children:[e.go," ",(0,r.jsx)(O,{size:13})]})]},e.key)})})]})]})}let R={background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:12,boxShadow:"0 1px 2px rgba(20,22,30,.04)",marginBottom:14,scrollMarginTop:56},B={padding:"13px 18px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",gap:8},M={width:22,height:22,borderRadius:6,display:"grid",placeItems:"center",flex:"0 0 22px"},$={border:"1px solid var(--border)",borderRadius:10,padding:14,display:"flex",flexDirection:"column",gap:9,background:"var(--card-bg)",cursor:"pointer",textAlign:"left",font:"inherit",color:"inherit"};function L({report:e,collapsed:t,onToggleCollapse:i}){let{t:n}=(0,d.useLocale)(),a=e.dimensions.process.metrics??[];return(0,r.jsxs)("section",{id:"process",style:K,children:[(0,r.jsxs)("div",{style:{..._,cursor:i?"pointer":void 0},onClick:i,children:[(0,r.jsx)("span",{style:{...G,background:"color-mix(in srgb, #2c6bd1 13%, transparent)",color:"#2c6bd1"},children:(0,r.jsx)(W.GitBranch,{size:13})}),(0,r.jsx)("span",{style:{fontSize:13.5,fontWeight:800},children:n("quality.process.title")}),(0,r.jsxs)("span",{style:{fontSize:10.5,color:"var(--foreground-muted)"},children:["· ",n("quality.process.hint")]}),(0,r.jsx)("span",{style:{flex:1}}),(0,r.jsxs)("span",{style:{fontSize:10.5,color:"var(--foreground-muted)"},children:[n("quality.process.coverage")," ",Math.round(100*e.dimensions.process.coverage),"%"]}),i&&(0,r.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--primary)"},children:t?n("quality.fold.expand")+" ▾":n("quality.fold.collapse")+" ▴"})]}),!t&&(0,r.jsx)("div",{style:{padding:"16px 18px",display:"flex",flexDirection:"column",gap:15},children:a.map(e=>(0,r.jsx)(N,{m:e,t:n},e.key))})]})}function N({m:e,t}){let i=null==e.score,n=i?"var(--foreground-muted)":v(e.score);return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:9,marginBottom:7},children:[(0,r.jsx)("span",{style:{fontSize:12.5,fontWeight:700},children:e.label}),(0,r.jsx)("span",{style:{fontSize:9,fontWeight:600,padding:"2px 5px",borderRadius:4,background:"color-mix(in srgb, "+F(e.priority)+" 13%, transparent)",color:F(e.priority)},children:e.priority}),e.note&&(0,r.jsx)("span",{style:{fontSize:9.5,fontWeight:600,color:"var(--foreground-muted)"},children:e.note}),(0,r.jsx)("span",{style:{marginLeft:"auto",fontSize:14,fontWeight:700,color:n},children:i?t("quality.process.na"):S(e.score)})]}),(0,r.jsx)("div",{style:{height:7,borderRadius:5,background:"var(--background-secondary)",overflow:"hidden"},children:(0,r.jsx)("span",{style:{display:"block",height:"100%",width:`${i?0:e.score}%`,background:n,borderRadius:5}})})]})}function F(e){return"P0"===e?"var(--error)":"P1"===e?"var(--warning)":"var(--foreground-muted)"}let K={background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:12,boxShadow:"0 1px 2px rgba(20,22,30,.04)",marginBottom:14,scrollMarginTop:56},_={padding:"13px 18px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",gap:8},G={width:22,height:22,borderRadius:6,display:"grid",placeItems:"center",flex:"0 0 22px"};var U=e.i(522016),H=e.i(716327),V=e.i(867927),Q=e.i(226091);let Z=(0,n.default)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);function Y(e){return[{title:"主张裁决表",headers:["主张ID","主张内容","裁决结果","裁决原因","证据与来源"],rows:ee(e.claims).map(J).map(e=>{var r;let t;return[String(e.claimId||""),String(e.claim||""),"supported"===(r=String(e.status||""))?"有证据支持":"contradicted"===r?"与证据矛盾":"not_covered"===r?"证据未覆盖":r||"",String(e.reason||""),(t=ee(e.citations).map(J)).length?t.map(e=>{let r=String(e.contextId||"").trim(),t=String(e.evidenceQuote||"").trim(),i=[String(e.toolName||"").trim(),String(e.toolCallId||"").trim(),null==e.interactionIndex?"":`interactionIndex=${String(e.interactionIndex)}`].filter(Boolean).join(";"),n=[r,t].filter(Boolean).join(":");return i?`${n}(${i})`:n}).filter(Boolean).join("\n"):"无"]})}]}function X(e){return[{title:"关键观点裁决表",headers:["观点ID","标准关键观点","判定结果","裁决原因","实际答案证据"],rows:ee(e.keyPointFindings).map(J).map(e=>{var r;return[String(e.keyPointId||""),String(e.content||""),"correct"===(r=String(e.status||""))?"正确":"partially_correct"===r?"部分正确":"wrong"===r?"错误":"not_mentioned"===r?"未提及":r||"",String(e.reason||""),String(e.actualEvidence||"")]})},{title:"额外错误表",headers:["错误类型","严重度","实际答案证据","错误原因"],rows:ee(e.additionalErrors).map(J).map(e=>{var r,t;return["incorrect_fact"===(r=String(e.kind||""))?"事实错误":"extra_content"===r?"额外编造":r||"","low"===(t=String(e.severity||""))?"低":"medium"===t?"中":"high"===t?"高":t||"",String(e.actual_evidence||""),String(e.reason||"")]})}]}function J(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function ee(e){return Array.isArray(e)?e:[]}function er(e){return"number"==typeof e&&Number.isFinite(e)?e:null}function et(e,r=0){return"number"==typeof e&&Number.isFinite(e)?e:r}function ei(e){let r=er(e);return null==r?"":Number.isInteger(r)?String(r):r.toFixed(1).replace(/\.0$/u,"")}function en(e){return"boolean"==typeof e?e?"是":"否":""}function ea(e){let r=ee(e).map(J);return r.length?r.map(e=>[String(e.quote||"").trim(),String(e.reason||"").trim()].filter(Boolean).join(":")).filter(Boolean).join("\n"):"无"}let el={faithfulness:"quality-result-faithfulness",instructionAdherence:"quality-result-instruction-adherence",answerQuality:"quality-result-answer-quality",accuracy:"quality-result-accuracy"},eo={约束ID:"quality-result-detail-constraint-id",约束内容:"quality-result-detail-constraint-text",裁决结果:"quality-result-detail-verdict-status",裁决原因:"quality-result-detail-verdict-reason",主张ID:"quality-result-detail-claim-id",主张内容:"quality-result-detail-claim-text",证据与来源:"quality-result-detail-evidence-source",观点ID:"quality-result-detail-key-point-id",标准关键观点:"quality-result-detail-key-point-content",判定结果:"quality-result-detail-judgement-status",实际答案证据:"quality-result-detail-actual-evidence",错误类型:"quality-result-detail-error-kind",严重度:"quality-result-detail-severity",错误原因:"quality-result-detail-error-reason",陈述ID:"quality-result-detail-statement-id",陈述内容:"quality-result-detail-statement-text",原文引用:"quality-result-detail-source-quote",相关性判定:"quality-result-detail-relevance-status",判定原因:"quality-result-detail-judgement-reason",要点ID:"quality-result-detail-requirement-id",任务要点:"quality-result-detail-requirement-text",覆盖状态:"quality-result-detail-coverage-status",结果证据:"quality-result-detail-result-evidence",检查项:"quality-result-detail-check-item",结果:"quality-result-detail-check-result",说明:"quality-result-detail-check-note"};function es({report:e}){let{t}=(0,d.useLocale)(),i=e.dimensions.result.metrics??[];return(0,r.jsxs)("section",{id:"result",style:eI,children:[(0,r.jsxs)("div",{style:ew,children:[(0,r.jsx)("span",{style:eq,children:(0,r.jsx)(Z,{size:13})}),(0,r.jsx)("span",{style:{fontSize:13.5,fontWeight:800},children:t("quality.result.title")}),(0,r.jsxs)("span",{style:{fontSize:10.5,color:"var(--foreground-muted)"},children:["· ",t("quality.result.hint")]}),(0,r.jsx)("span",{style:{flex:1}}),(0,r.jsxs)("span",{style:{fontSize:10.5,color:"var(--foreground-muted)"},children:[t("quality.result.coverage")," ",Math.round(100*e.dimensions.result.coverage),"%"]})]}),(0,r.jsx)("div",{style:{padding:"6px 18px 12px"},children:i.map(e=>(0,r.jsx)(ed,{metric:e,t:t},e.key))})]})}function ed({metric:e,t:i}){let[n,a]=(0,t.useState)(!1),[l,o]=(0,t.useState)(null),d=null==e.score,c=d?"var(--foreground-muted)":v(e.score),u=i(`quality.result.metric.${e.key}`),p=e.evidence??[],g=el[e.key];return(0,r.jsxs)("div",{style:{borderBottom:"1px solid var(--border)"},children:[(0,r.jsxs)("button",{onClick:()=>a(e=>!e),style:ez,children:[n?(0,r.jsx)(H.ChevronDown,{size:14}):(0,r.jsx)(V.ChevronRight,{size:14}),(0,r.jsxs)("div",{style:{minWidth:190},children:[(0,r.jsxs)("div",{style:eA,children:[(0,r.jsx)("span",{children:e.label}),g&&(0,r.jsx)("span",{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:(0,r.jsx)(s.Term,{id:g,render:"compact"})})]}),(0,r.jsx)("div",{style:{fontSize:11.5,color:"var(--foreground-secondary)",marginTop:3},children:u})]}),(0,r.jsxs)("span",{style:{fontSize:11,color:"var(--foreground-muted)"},children:[i("quality.result.coverage")," ",Math.round(100*e.coverage),"%",null!=e.confidence?` \xb7 ${i("quality.result.confidence")} ${Math.round(100*e.confidence)}%`:""]}),"accuracy"===e.key&&(0,r.jsx)("span",{style:eC,children:"GT"}),(0,r.jsx)("span",{style:{flex:1}}),(0,r.jsx)("span",{style:{fontSize:15,fontWeight:800,color:c},children:d?"N/A":`${S(e.score)}分`})]}),n&&(0,r.jsxs)("div",{style:eW,children:["instructionAdherence"!==e.key&&e.note&&(0,r.jsx)("div",{style:eT,children:e.note}),"instructionAdherence"!==e.key&&e.naReason&&(0,r.jsx)("div",{style:eT,children:e.naReason}),p.map(t=>{let i=`${e.key}:${t.executionId}`,n=l===i;return(0,r.jsx)("div",{style:eE,children:"answerQuality"===e.key?(0,r.jsx)(ep,{item:t,open:n,onToggle:()=>o(n?null:i)}):"instructionAdherence"===e.key?(0,r.jsx)(eu,{item:t,open:n,onToggle:()=>o(n?null:i)}):"faithfulness"===e.key?(0,r.jsx)(eg,{item:t,open:n,onToggle:()=>o(n?null:i),buildTables:Y}):"accuracy"===e.key?(0,r.jsx)(eg,{item:t,open:n,onToggle:()=>o(n?null:i),buildTables:X}):(0,r.jsx)(ec,{item:t})},`${t.executionId}:${t.reason}`)}),!e.note&&!e.naReason&&0===p.length&&(0,r.jsx)("div",{children:i("quality.result.noEvidence")})]})]})}function ec({item:e}){return(0,r.jsxs)("div",{style:eO,children:[(0,r.jsx)(ej,{id:e.executionId}),(0,r.jsx)("span",{style:eR,children:e.reason})]})}function eu({item:e,open:t,onToggle:i}){let n=eS(e.detail),a=function(e){var r;let t=J(e.detail),i=ee(t.constraints),n=ee(t.verdicts).map(J);if(null==e.score&&0===i.length&&0===n.length){let r=String(t.reason||e.reason||"本任务没有明确的输出约束");return{kind:"not-applicable",reason:`不适用:${r}`,showDetail:!1}}let a=J(t.summary),l=et(a.met,n.filter(e=>"met"===e.status).length),o=l+et(a.notMet,n.filter(e=>"not_met"===e.status).length);return{kind:"scored",scoreLabel:`得分 ${"number"==typeof(r=e.score)&&Number.isFinite(r)?`${ei(r)}分`:"N/A"}`,constraintLabel:o>0?`约束 ${l}/${o} 满足`:"约束 N/A",showDetail:!0}}({score:e.score,reason:e.reason,detail:n});return"not-applicable"===a.kind?(0,r.jsxs)("div",{style:eO,children:[(0,r.jsx)(ej,{id:e.executionId}),(0,r.jsx)("span",{style:eR,children:a.reason})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{style:eO,children:[(0,r.jsx)(ej,{id:e.executionId}),(0,r.jsx)("span",{style:eD,children:a.scoreLabel}),(0,r.jsx)("span",{style:eD,children:a.constraintLabel}),(0,r.jsx)(ey,{open:t,onClick:i})]}),t&&(0,r.jsx)(ex,{detail:n})]})}function ep({item:e,open:t,onToggle:i}){var n;let a,l,o,s,d,c,u=eS(e.detail),p=eS(u.subScores),g=(s=J(u.relevance),d=J(u.completeness),c=J(u.coherence),[function(e){let r=ee(e.verdicts).map(J),t=r.length;if(!t)return"";let i=r.filter(e=>"relevant"===e.verdict).length,n=r.filter(e=>"supporting"===e.verdict).length,a=r.filter(e=>"irrelevant"===e.verdict).length;return a>0?`相关性有偏离,${t} 条陈述中 ${a} 条不相关${n>0?`、${n} 条为支撑性内容`:""}`:n>0?`相关性较好,${t} 条陈述中 ${i} 条直接相关、${n} 条为支撑性内容`:`相关性较好,${t} 条陈述均直接相关`}(s),function(e){let r=ee(e.verdicts).map(J),t=r.length;if(!t)return"";let i=r.filter(e=>"covered"===e.status).length,n=r.filter(e=>"partial"===e.status).length,a=r.filter(e=>"missing"===e.status).length;return a>0||n>0?`完整性仍有缺口,${t} 个要点中 ${i} 个已覆盖${n>0?`、${n} 个部分覆盖`:""}${a>0?`、${a} 个缺失`:""}`:`完整性充分,${t} 个任务要点全部覆盖`}(d),(a=er((n=c).rating),o=[!1===(l=J(n.checks)).mainConclusionClear?"主结论不清晰":"",!1===l.logicalOrder?"结构顺序问题":"",!1===l.referenceConsistency?"指代不一致":"",ee(l.contradictions).length?"矛盾":"",ee(l.repetitions).length?"重复":"",ee(l.abruptTransitions).length?"跳跃":""].filter(Boolean),null==a?o.length?`连贯性存在${o.slice(0,2).join("、")}`:"":a>=4?"连贯性良好,结构清晰、表达一致":a>=3?o.length?`连贯性尚可,存在${o.slice(0,2).join("、")}`:"连贯性尚可,整体表达清楚":o.length?`连贯性偏弱,存在${o.slice(0,2).join("、")}`:"连贯性偏弱,需要改善结构和表达")].filter(Boolean).join(";")||e.reason);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{style:eO,children:[(0,r.jsx)(ej,{id:e.executionId}),(0,r.jsxs)("span",{style:eD,children:["总分 ",ek(e.score)]}),(0,r.jsxs)("span",{style:eD,children:["相关性 ",ek(p.relevance)]}),(0,r.jsxs)("span",{style:eD,children:["完整性 ",ek(p.completeness)]}),(0,r.jsxs)("span",{style:eD,children:["连贯性 ",ek(p.coherence)]}),g&&(0,r.jsx)("span",{style:eR,children:g}),(0,r.jsx)(ey,{open:t,onClick:i})]}),t&&(0,r.jsx)(eh,{detail:u})]})}function eg({item:e,open:t,onToggle:i,buildTables:n}){let a=eS(e.detail);return null==e.score?(0,r.jsxs)("div",{style:eO,children:[(0,r.jsx)(ej,{id:e.executionId}),(0,r.jsxs)("span",{style:eR,children:["不适用:",e.reason]})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{style:eO,children:[(0,r.jsx)(ej,{id:e.executionId}),(0,r.jsxs)("span",{style:eD,children:["得分 ",ek(e.score)]}),(0,r.jsx)("span",{style:eR,children:e.reason}),(0,r.jsx)(ey,{open:t,onClick:i})]}),t&&(0,r.jsx)(ef,{tables:n(a)})]})}function ey({open:e,onClick:t}){return(0,r.jsxs)("button",{type:"button",onClick:t,style:eB,title:"查看评测详情",children:[(0,r.jsx)(Q.FileText,{size:10}),e?"收起详情":"评测详情"]})}function ex({detail:e}){let t;return(0,r.jsx)(ef,{tables:(t=new Map(ee(e.constraints).map(J).map(e=>[String(e.id||""),e])),[{title:"约束裁决表",headers:["约束ID","约束内容","裁决结果","裁决原因"],rows:ee(e.verdicts).map(J).map(e=>{var r;let i=String(e.constraintId||""),n=t.get(i)??{};return[i,String(n.text||""),"met"===(r=String(e.status||""))?"满足":"not_met"===r?"未满足":"not_applicable"===r?"不适用":r||"",String(e.reason||"")]})}])})}function eh({detail:e}){var t,i,n,a;let l,o,s,d,c,u,p,g,y;return(0,r.jsx)(ef,{tables:(l=J(e.relevance),o=J(e.completeness),s=J(e.coherence),[(d=new Map(ee((t=l).statements).map(J).map(e=>[String(e.id||""),e])),{title:"相关性评测表",headers:["陈述ID","陈述内容","原文引用","相关性判定","判定原因"],rows:ee(t.verdicts).map(J).map(e=>{var r;let t=String(e.statementId||""),i=d.get(t)??{};return[t,String(i.text||""),String(i.sourceQuote||""),"relevant"===(r=String(e.verdict||""))?"相关":"supporting"===r?"支撑性内容":"irrelevant"===r?"不相关":r||"",String(e.reason||"")]})}),(c=new Map(ee((i=o).requirements).map(J).map(e=>[String(e.id||""),e])),{title:"完整性评测表",headers:["要点ID","任务要点","覆盖状态","裁决原因","结果证据"],rows:ee(i.verdicts).map(J).map(e=>{var r;let t=String(e.requirementId||""),i=c.get(t)??{};return[t,String(i.text||""),"covered"===(r=String(e.status||""))?"已覆盖":"partial"===r?"部分覆盖":"missing"===r?"缺失":r||"",String(e.reason||""),String(e.evidenceQuote||"")]})}),(n=s,a=J(e.subScores),u=J(n.checks),p=er(n.rating),g=er(a.coherence)??(null==p?null:25*p),{title:"连贯性评测表",headers:["检查项","结果","说明"],rows:[["连贯性评级",null==p?"":String(p),"0 到 4 的整数 rubric 分"],["连贯性子分",ei(g),"rating * 25"],["主结论是否清晰",en(u.mainConclusionClear),""],["结构顺序是否合理",en(u.logicalOrder),""],["指代是否一致",en(u.referenceConsistency),""],["矛盾问题",ea(u.contradictions),""],["重复问题",ea(u.repetitions),""],["跳跃问题",ea(u.abruptTransitions),""],["总体原因",String(n.reason||""),""],["置信度",null==(y=er(n.confidence))?"":`${Math.round(100*y)}%`,""]]})])})}function ef({tables:e}){return(0,r.jsx)("div",{style:eM,children:e.map(e=>(0,r.jsx)(em,{title:e.title,children:(0,r.jsx)(ev,{headers:e.headers,rows:e.rows})},e.title))})}function em({title:e,children:t}){return(0,r.jsxs)("div",{style:e$,children:[(0,r.jsx)("div",{style:eL,children:e}),t]})}function ev({headers:e,rows:t}){return(0,r.jsx)("div",{style:eN,children:(0,r.jsxs)("table",{style:eF,children:[(0,r.jsx)("thead",{children:(0,r.jsx)("tr",{children:e.map((t,i)=>(0,r.jsx)("th",{style:e_,children:(0,r.jsx)(eb,{label:t,align:i===e.length-1?"end":"start"})},t))})}),(0,r.jsx)("tbody",{children:t.length?t.map((t,i)=>(0,r.jsx)("tr",{children:e.map((e,i)=>(0,r.jsx)("td",{style:eG,children:t[i]||"—"},`${e}:${i}`))},i)):(0,r.jsx)("tr",{children:(0,r.jsx)("td",{colSpan:e.length,style:eG,children:"暂无明细"})})})]})})}function eb({label:e,align:t}){let i=eo[e];return(0,r.jsxs)("span",{style:eK,children:[(0,r.jsx)("span",{children:e}),i&&(0,r.jsx)(s.Term,{id:i,render:"compact",align:t})]})}function ej({id:e}){return(0,r.jsx)(U.default,{href:`/trace?taskId=${encodeURIComponent(e)}`,style:eP,title:"查看链路追踪",children:e.slice(0,10)})}function eS(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function ek(e){return"number"==typeof e&&Number.isFinite(e)?`${S(e)}分`:"N/A"}let eI={background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:12,boxShadow:"0 1px 2px rgba(20,22,30,.04)",marginBottom:14,scrollMarginTop:56},ew={padding:"13px 18px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",gap:8},eq={width:22,height:22,borderRadius:6,display:"grid",placeItems:"center",background:"var(--success-subtle)",color:"var(--success)"},ez={width:"100%",border:0,background:"transparent",color:"inherit",cursor:"pointer",display:"flex",alignItems:"center",gap:10,padding:"11px 0",textAlign:"left",font:"inherit"},eA={display:"flex",alignItems:"center",gap:4,fontSize:13.5,fontWeight:800},eC={fontSize:9,fontWeight:750,padding:"2px 5px",borderRadius:4,background:"var(--primary-subtle)",color:"var(--primary)"},eW={padding:"0 28px 10px",fontSize:12.5,color:"var(--foreground)",lineHeight:1.62},eT={margin:"2px 0 6px",color:"var(--foreground-secondary)",fontSize:12.5},eE={marginTop:2},eO={display:"flex",alignItems:"center",gap:7,flexWrap:"wrap",padding:"3px 6px",border:"1px solid color-mix(in srgb, var(--border) 72%, transparent)",borderRadius:6,background:"color-mix(in srgb, var(--background-secondary) 35%, var(--card-bg))"},eP={fontFamily:"var(--font-mono, monospace)",color:"var(--primary)",background:"transparent",borderRadius:0,padding:0,fontSize:12,fontWeight:750,flex:"0 0 auto",textDecoration:"underline",textUnderlineOffset:3,textDecorationThickness:"1px",display:"inline-flex",alignItems:"center"},eD={color:"var(--foreground)",background:"transparent",border:0,borderRadius:0,padding:0,fontSize:12,fontWeight:750,whiteSpace:"nowrap"},eR={color:"var(--foreground)",fontSize:12.5,fontWeight:600,flex:"0 1 auto",minWidth:0},eB={border:"1px solid var(--primary)",background:"var(--primary-subtle)",color:"var(--primary)",borderRadius:6,padding:"2px 6px",fontSize:10.5,fontWeight:750,cursor:"pointer",display:"inline-flex",alignItems:"center",gap:3,marginLeft:2,flex:"0 0 auto"},eM={display:"grid",gap:12,marginTop:10},e$={marginTop:2},eL={fontSize:12.5,fontWeight:800,color:"var(--foreground)",marginBottom:6},eN={overflowX:"auto",border:"1px solid var(--border)",borderRadius:8},eF={width:"100%",minWidth:720,borderCollapse:"collapse",background:"var(--card-bg)"},eK={display:"inline-flex",alignItems:"center",gap:4},e_={textAlign:"left",padding:"8px 10px",fontSize:11.5,fontWeight:800,color:"var(--foreground-secondary)",background:"var(--background-secondary)",borderBottom:"1px solid var(--border)",whiteSpace:"nowrap"},eG={padding:"8px 10px",borderBottom:"1px solid var(--border)",verticalAlign:"top",color:"var(--foreground)",minWidth:90,fontSize:11.5,lineHeight:1.55};var eU=e.i(925949),eH=e.i(433369),eV=["axis"],eQ=(0,t.forwardRef)((e,r)=>t.createElement(eH.CartesianChart,{chartName:"ComposedChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:eV,tooltipPayloadSearcher:eU.arrayTooltipSearcher,categoricalChartProps:e,ref:r})),eZ=t,eY=e.i(207670),eX=e.i(997865),eJ=e=>null;eJ.displayName="Cell";var e0=e.i(969212),e1=e.i(794395),e2=e.i(781977),e5=e.i(779812),e6=e.i(373393);e.i(167225);var e4=e.i(629905),e8=e.i(318519),e7=["option"],e3=e4.Rectangle;function e9(e){var r=e.option,i=function(e,r){if(null==e)return{};var t,i,n=function(e,r){if(null==e)return{};var t={};for(var i in e)if(({}).hasOwnProperty.call(e,i)){if(-1!==r.indexOf(i))continue;t[i]=e[i]}return t}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)t=a[i],-1===r.indexOf(t)&&({}).propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}(e,e7);return t.createElement(e8.Shape,{option:r,DefaultShape:e3,shapeProps:i,activeClassName:"recharts-active-bar",inActiveClassName:"recharts-inactive-bar"})}var re=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(t,i)=>{if((0,e1.isNumber)(e))return e;var n=(0,e1.isNumber)(t)||(0,e1.isNullish)(t);return n?e(t,i):(n||function(e,r){if(!e)throw Error("Invariant failed")}(!1,"minPointSize callback function received a value with type of ".concat(typeof t,". Currently only numbers or null/undefined are supported.")),r)}},rr=e.i(127241),rt=e.i(698982),ri=(e,r,t)=>{var i=(0,rr.useAppDispatch)();return(n,a)=>l=>{null==e||e(n,a,l),i((0,rt.setActiveMouseOverItemIndex)({activeIndex:String(a),activeDataKey:r,activeCoordinate:n.tooltipPosition,activeGraphicalItemId:t}))}},rn=e=>{var r=(0,rr.useAppDispatch)();return(t,i)=>n=>{null==e||e(t,i,n),r((0,rt.mouseLeaveItem)())}},ra=(e,r,t)=>{var i=(0,rr.useAppDispatch)();return(n,a)=>l=>{null==e||e(n,a,l),i((0,rt.setActiveClickItemIndex)({activeIndex:String(a),activeDataKey:r,activeCoordinate:n.tooltipPosition,activeGraphicalItemId:t}))}},rl=e.i(844),ro=e.i(945542),rs=e.i(659798),rd=e.i(846710),rc=e.i(661849),ru=e.i(661764),rp=e.i(992860),rg=e.i(541088),ry=e.i(377320),rx=e.i(910439);function rh(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,i=Array(r);t<r;t++)i[t]=e[t];return i}var rf=(e,r,t)=>{var i=null!=t?t:e;if(!(0,e1.isNullish)(i))return(0,e1.getPercentValue)(i,r,0)},rm=e.i(822075);function rv(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);r&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,i)}return t}function rb(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?rv(Object(t),!0).forEach(function(r){var i,n,a;i=e,n=r,a=t[r],(n=function(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var i=t.call(e,r||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==typeof r?r:r+""}(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):rv(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}var rj=e.i(291526),rS=e.i(929194);function rk(e,r){var t,i;return null!=(t=null==(i=e.graphicalItems.cartesianItems.find(e=>e.id===r))?void 0:i.xAxisId)?t:rS.defaultAxisId}function rI(e,r){var t,i;return null!=(t=null==(i=e.graphicalItems.cartesianItems.find(e=>e.id===r))?void 0:i.yAxisId)?t:rS.defaultAxisId}var rw=(0,rc.createSelector)([ru.selectUnfilteredCartesianItems,(e,r)=>r],(e,r)=>e.filter(e=>"bar"===e.type).find(e=>e.id===r)),rq=(0,rc.createSelector)([rw],e=>null==e?void 0:e.maxBarSize),rz=(0,rc.createSelector)([rd.selectChartLayout,ru.selectUnfilteredCartesianItems,rk,rI,(e,r,t)=>t],(e,r,t,i,n)=>r.filter(r=>"horizontal"===e?r.xAxisId===t:r.yAxisId===i).filter(e=>e.isPanorama===n).filter(e=>!1===e.hide).filter(e=>"bar"===e.type)),rA=(0,rc.createSelector)([rz,ry.selectRootBarSize,(e,r)=>{var t=(0,rd.selectChartLayout)(e),i=rk(e,r),n=rI(e,r);if(null!=i&&null!=n)return"horizontal"===t?(0,ru.selectCartesianAxisSize)(e,"xAxis",i):(0,ru.selectCartesianAxisSize)(e,"yAxis",n)}],(e,r,t)=>{var i=e.filter(rx.isStacked),n=e.filter(e=>null==e.stackId);return[...Object.entries(i.reduce((e,r)=>{var t=e[r.stackId];return null==t&&(t=[]),t.push(r),e[r.stackId]=t,e},{})).map(e=>{var i,n=function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var i,n,a,l,o=[],s=!0,d=!1;try{a=(t=t.call(e)).next,!1;for(;!(s=(i=a.call(t)).done)&&(o.push(i.value),2!==o.length);s=!0);}catch(e){d=!0,n=e}finally{try{if(!s&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(d)throw n}}return o}}(e,2)||function(e,r){if(e){if("string"==typeof e)return rh(e,2);var t=({}).toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?rh(e,2):void 0}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),a=n[0],l=n[1];return{stackId:a,dataKeys:l.map(e=>e.dataKey),barSize:rf(r,t,null==(i=l[0])?void 0:i.barSize)}}),...n.map(e=>({stackId:void 0,dataKeys:[e.dataKey].filter(e=>null!=e),barSize:rf(r,t,e.barSize)}))]}),rC=(e,r,t)=>{var i,n,a=(0,rd.selectChartLayout)(e),l=rk(e,r),o=rI(e,r);if(null!=l&&null!=o)return"horizontal"===a?(i=(0,ru.selectAxisWithScale)(e,"xAxis",l,t),n=(0,ru.selectTicksOfGraphicalItem)(e,"xAxis",l,t)):(i=(0,ru.selectAxisWithScale)(e,"yAxis",o,t),n=(0,ru.selectTicksOfGraphicalItem)(e,"yAxis",o,t)),(0,e5.getBandSizeOfAxis)(i,n)},rW=(0,rc.createSelector)([rA,ry.selectRootMaxBarSize,ry.selectBarGap,ry.selectBarCategoryGap,(e,r,t)=>{var i,n,a,l,o=rw(e,r);if(null==o)return 0;var s=rk(e,r),d=rI(e,r);if(null==s||null==d)return 0;var c=(0,rd.selectChartLayout)(e),u=(0,ry.selectRootMaxBarSize)(e),p=o.maxBarSize,g=(0,e1.isNullish)(p)?u:p;return"horizontal"===c?(a=(0,ru.selectAxisWithScale)(e,"xAxis",s,t),l=(0,ru.selectTicksOfGraphicalItem)(e,"xAxis",s,t)):(a=(0,ru.selectAxisWithScale)(e,"yAxis",d,t),l=(0,ru.selectTicksOfGraphicalItem)(e,"yAxis",d,t)),null!=(i=null!=(n=(0,e5.getBandSizeOfAxis)(a,l,!0))?n:g)?i:0},rC,rq],(e,r,t,i,n,a,l)=>{var o=function(e,r,t,i,n){var a,l,o=i.length;if(!(o<1)){var s=(0,e1.getPercentValue)(e,t,0,!0),d=[];if((0,rm.isWellBehavedNumber)(null==(a=i[0])?void 0:a.barSize)){var c=!1,u=t/o,p=i.reduce((e,r)=>e+(r.barSize||0),0);(p+=(o-1)*s)>=t&&(p-=(o-1)*s,s=0),p>=t&&u>0&&(c=!0,u*=.9,p=o*u);var g={offset:Math.round((t-p)/2)-s,size:0};l=i.reduce((e,r)=>{var t,i={stackId:r.stackId,dataKeys:r.dataKeys,position:{offset:g.offset+g.size+s,size:c?u:null!=(t=r.barSize)?t:0}},n=[...e,i];return g=i.position,n},d)}else{var y=(0,e1.getPercentValue)(r,t,0,!0);t-2*y-(o-1)*s<=0&&(s=0);var x=(t-2*y-(o-1)*s)/o;x>1&&(x=Math.round(x));var h=(0,rm.isWellBehavedNumber)(n)?Math.min(x,n):x;l=i.reduce((e,r,t)=>[...e,{stackId:r.stackId,dataKeys:r.dataKeys,position:{offset:y+(x+s)*t+(x-h)/2,size:h}}],d)}return l}}(t,i,n!==a?n:a,e,(0,e1.isNullish)(l)?r:l);return n!==a&&null!=o&&(o=o.map(e=>rb(rb({},e),{},{position:rb(rb({},e.position),{},{offset:e.position.offset-n/2})}))),o}),rT=(0,rc.createSelector)([rW,rw],(e,r)=>{if(null!=e&&null!=r){var t=e.find(e=>e.stackId===r.stackId&&null!=r.dataKey&&e.dataKeys.includes(r.dataKey));if(null!=t)return t.position}}),rE=(0,rc.createSelector)([(e,r,t)=>{var i=(0,rd.selectChartLayout)(e),n=rk(e,r),a=rI(e,r);if(null!=n&&null!=a)return"horizontal"===i?(0,ru.selectStackGroups)(e,"yAxis",a,t):(0,ru.selectStackGroups)(e,"xAxis",n,t)},rw],(e,r)=>{var t=(0,rj.getStackSeriesIdentifier)(r);if(!e||null==t||null==r)return;var i=r.stackId;if(null!=i){var n=e[i];if(n){var a=n.stackedData;if(a)return a.find(e=>e.key===t)}}}),rO=(0,rc.createSelector)([rg.selectChartOffsetInternal,rg.selectAxisViewBox,(e,r,t)=>{var i=rk(e,r);if(null!=i)return(0,ru.selectAxisWithScale)(e,"xAxis",i,t)},(e,r,t)=>{var i=rI(e,r);if(null!=i)return(0,ru.selectAxisWithScale)(e,"yAxis",i,t)},(e,r,t)=>{var i=rk(e,r);if(null!=i)return(0,ru.selectTicksOfGraphicalItem)(e,"xAxis",i,t)},(e,r,t)=>{var i=rI(e,r);if(null!=i)return(0,ru.selectTicksOfGraphicalItem)(e,"yAxis",i,t)},rT,rd.selectChartLayout,rp.selectChartDataWithIndexesIfNotInPanoramaPosition3,rC,rE,rw,(e,r,t,i)=>i],(e,r,t,i,n,a,l,o,s,d,c,u,p)=>{var g,y=s.chartData,x=s.dataStartIndex,h=s.dataEndIndex;if(null!=u&&null!=l&&null!=r&&("horizontal"===o||"vertical"===o)&&null!=t&&null!=i&&null!=n&&null!=a&&null!=d){var f,m,v,b,j,S,k,I,w,q,z,A,C,W,T,E,O,P,D,R,B,M,$=u.data;if(null!=(g=null!=$&&$.length>0?$:null==y?void 0:y.slice(x,h+1))){return m=(f={layout:o,barSettings:u,pos:l,parentViewBox:r,bandSize:d,xAxis:t,yAxis:i,xAxisTicks:n,yAxisTicks:a,stackedData:c,displayedData:g,offset:e,cells:p,dataStartIndex:x}).layout,b=(v=f.barSettings).dataKey,j=v.minPointSize,S=v.hasCustomShape,k=f.pos,I=f.bandSize,w=f.xAxis,q=f.yAxis,z=f.xAxisTicks,A=f.yAxisTicks,C=f.stackedData,W=f.displayedData,T=f.offset,E=f.cells,O=f.parentViewBox,P=f.dataStartIndex,D="horizontal"===m?q:w,R=C?D.scale.domain():null,B=(0,e5.getBaseValueOfBar)({numericAxis:D}),M=D.scale.map(B),W.map((e,r)=>{if(C){var t=C[r+P];if(null==t)return null;n=(0,e5.truncateByDomain)(t,R)}else Array.isArray(n=(0,e5.getValueByDataKey)(e,b))||(n=[B,n]);var i=re(j,0)(n[1],r);if("horizontal"===m){var n,a,l,o,s,d,c,u=q.scale.map(n[0]),p=q.scale.map(n[1]);if(null==u||null==p)return null;a=(0,e5.getCateCoordinateOfBar)({axis:w,ticks:z,bandSize:I,offset:k.offset,entry:e,index:r}),l=null!=(c=null!=p?p:u)?c:void 0,o=k.size;var g=u-p;if(s=(0,e1.isNan)(g)?0:g,d={x:a,y:T.top,width:o,height:T.height},Math.abs(i)>0&&Math.abs(s)<Math.abs(i)){var y=(0,e1.mathSign)(s||i)*(Math.abs(i)-Math.abs(s));l-=y,s+=y}}else{var x=w.scale.map(n[0]),h=w.scale.map(n[1]);if(null==x||null==h)return null;if(a=x,l=(0,e5.getCateCoordinateOfBar)({axis:q,ticks:A,bandSize:I,offset:k.offset,entry:e,index:r}),o=h-x,s=k.size,d={x:T.left,y:l,width:T.width,height:s},Math.abs(i)>0&&Math.abs(o)<Math.abs(i)){var f=(0,e1.mathSign)(o||i)*(Math.abs(i)-Math.abs(o));o+=f}}return null!=a&&null!=l&&null!=o&&null!=s&&(S||0!==o&&0!==s)?te(te({},e),{},{stackedBarStart:M,x:a,y:l,width:o,height:s,value:C?n:n[1],payload:e,background:d,tooltipPosition:{x:a+o/2,y:l+s/2},parentViewBox:O,originalDataIndex:r},E&&E[r]&&E[r].props):null}).filter(Boolean)}}}),rP=e.i(375337),rD=e.i(676735),rR=e.i(795146),rB=e.i(51883),rM=e.i(415549),r$=e.i(591187),rL=e.i(257999),rN=e.i(30174),rF=e.i(608436),rK=e.i(629601),r_=e.i(318457),rG=e.i(920135),rU=(e.i(319346),(e,r)=>r),rH=(e,r,t)=>t,rV=(0,rc.createSelector)([rU,ru.selectUnfilteredCartesianItems,rH],(e,r,t)=>r.filter(e=>"bar"===e.type).filter(r=>r.stackId===e).filter(e=>e.isPanorama===t).filter(e=>!e.hide)),rQ=(0,rc.createSelector)([rV],e=>e.map(e=>e.id)),rZ=(0,rc.createSelector)([e=>e,rU,rH],(e,r,t)=>{var i=rQ(e,r,t),n=[];return i.forEach(r=>{var i=rO(e,r,t,void 0);null==i||i.forEach(e=>{var r=e.originalDataIndex;n[r]=((e,r)=>{if(!e)return r;if(!r)return e;var t=Math.min(e.x,e.x+e.width,r.x,r.x+r.width),i=Math.min(e.y,e.y+e.height,r.y,r.y+r.height);return{x:t,y:i,width:Math.max(e.x,e.x+e.width,r.x,r.x+r.width)-t,height:Math.max(e.y,e.y+e.height,r.y,r.y+r.height)-i}})(n[r],e)})}),n}),rY=["index"];function rX(){return(rX=Object.assign.bind()).apply(null,arguments)}var rJ=(0,t.createContext)(void 0),r0=(e,r)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(r),r1=e=>{var r=e.index,i=function(e,r){if(null==e)return{};var t,i,n=function(e,r){if(null==e)return{};var t={};for(var i in e)if(({}).hasOwnProperty.call(e,i)){if(-1!==r.indexOf(i))continue;t[i]=e[i]}return t}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)t=a[i],-1===r.indexOf(t)&&({}).propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}(e,rY),n=(e=>{var r=(0,t.useContext)(rJ);if(null!=r){var i=r.stackId;return"url(#".concat(r0(i,e),")")}})(r);return t.createElement(eX.Layer,rX({className:"recharts-bar-stack-layer",clipPath:n},i))};rG.propsAreEqual;var r2=["onMouseEnter","onMouseLeave","onClick"],r5=["value","background","tooltipPosition"],r6=["id"],r4=["onMouseEnter","onClick","onMouseLeave"];function r8(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var i,n,a,l,o=[],s=!0,d=!1;try{if(a=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;s=!1}else for(;!(s=(i=a.call(t)).done)&&(o.push(i.value),o.length!==r);s=!0);}catch(e){d=!0,n=e}finally{try{if(!s&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(d)throw n}}return o}}(e,r)||function(e,r){if(e){if("string"==typeof e)return r7(e,r);var t=({}).toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?r7(e,r):void 0}}(e,r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r7(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,i=Array(r);t<r;t++)i[t]=e[t];return i}function r3(){return(r3=Object.assign.bind()).apply(null,arguments)}function r9(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);r&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,i)}return t}function te(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?r9(Object(t),!0).forEach(function(r){var i,n,a;i=e,n=r,a=t[r],(n=function(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var i=t.call(e,r||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==typeof r?r:r+""}(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r9(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function tr(e,r){if(null==e)return{};var t,i,n=function(e,r){if(null==e)return{};var t={};for(var i in e)if(({}).hasOwnProperty.call(e,i)){if(-1!==r.indexOf(i))continue;t[i]=e[i]}return t}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)t=a[i],-1===r.indexOf(t)&&({}).propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var tt=eZ.memo(e=>{var r=e.dataKey,t=e.stroke,i=e.strokeWidth,n=e.fill,a=e.name,l=e.hide,o=e.unit,s=e.formatter,d=e.tooltipType,c=e.id,u={dataDefinedOnItem:void 0,getPosition:e1.noop,settings:{stroke:t,strokeWidth:i,fill:n,dataKey:r,nameKey:void 0,name:(0,e5.getTooltipNameProp)(a,r),hide:l,type:d,color:n,unit:o,formatter:s,graphicalItemId:c}};return eZ.createElement(rl.SetTooltipEntrySettings,{tooltipEntrySettings:u})});function ti(e){var r,t=(0,rr.useAppSelector)(rD.selectActiveTooltipIndex),i=e.data,n=e.dataKey,a=e.background,l=e.allOtherBarProps,o=l.onMouseEnter,s=l.onMouseLeave,d=l.onClick,c=tr(l,r2),u=ri(o,n,l.id),p=rn(s),g=ra(d,n,l.id);if(!a||null==i)return null;var y=(0,rL.svgPropertiesNoEventsFromUnknown)(a);return eZ.createElement(rK.ZIndexLayer,{zIndex:(r=r_.DefaultZIndexes.barBackground,a&&"object"==typeof a&&"zIndex"in a&&"number"==typeof a.zIndex&&(0,rm.isWellBehavedNumber)(a.zIndex)?a.zIndex:r)},i.map((e,r)=>{e.value;var i=e.background,l=(e.tooltipPosition,tr(e,r5));if(!i)return null;var o=u(e,e.originalDataIndex),s=p(e,e.originalDataIndex),d=g(e,e.originalDataIndex),x=te(te(te(te(te({option:a,isActive:String(e.originalDataIndex)===t},l),{},{fill:"#eee"},i),y),(0,e6.adaptEventsOfChild)(c,e,r)),{},{onMouseEnter:o,onMouseLeave:s,onClick:d,dataKey:n,index:r,className:"recharts-bar-background-rectangle"});return eZ.createElement(e9,r3({key:"background-bar-".concat(r)},x))}))}function tn(e){var r=e.showLabels,t=e.children,i=e.rects,n=null==i?void 0:i.map(e=>{var r={x:e.x,y:e.y,width:e.width,lowerWidth:e.width,upperWidth:e.width,height:e.height};return te(te({},r),{},{value:e.value,payload:e.payload,parentViewBox:e.parentViewBox,viewBox:r,fill:e.fill})});return eZ.createElement(e0.CartesianLabelListContextProvider,{value:r?n:void 0},t)}function ta(e){var r,t=e.shape,i=e.activeBar,n=e.baseProps,a=e.entry,l=e.index,o=e.dataKey,s=(0,rr.useAppSelector)(rD.selectActiveTooltipIndex),d=(0,rr.useAppSelector)(rD.selectActiveTooltipDataKey),c=i&&String(a.originalDataIndex)===s&&(null==d||o===d),u=r8((0,eZ.useState)(!1),2),p=u[0],g=u[1],y=r8((0,eZ.useState)(!1),2),x=y[0],h=y[1];(0,eZ.useEffect)(()=>{var e;return c?(g(!0),e=requestAnimationFrame(()=>{h(!0)})):h(!1),()=>{cancelAnimationFrame(e)}},[c]);var f=(0,eZ.useCallback)(()=>{c||g(!1)},[c]),m=c&&x,v=c||p;r=c?!0===i?t:i:t;var b=eZ.createElement(e9,r3({},n,{name:String(n.name)},a,{isActive:m,option:r,index:l,dataKey:o,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:f}));return v?eZ.createElement(rK.ZIndexLayer,{zIndex:r_.DefaultZIndexes.activeBar},eZ.createElement(r1,{index:a.originalDataIndex},b)):b}function tl(e){var r=e.shape,t=e.baseProps,i=e.entry,n=e.index,a=e.dataKey;return eZ.createElement(e9,r3({},t,{name:String(t.name)},i,{isActive:!1,option:r,index:n,dataKey:a,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function to(e){var r,t=e.data,i=e.props,n=e.animationElapsedTime,a=e.isAnimating,l=e.isEntrance,o=null!=(r=(0,rL.svgPropertiesNoEvents)(i))?r:{},s=o.id,d=tr(o,r6),c=i.shape,u=i.dataKey,p=i.activeBar,g=i.onMouseEnter,y=i.onClick,x=i.onMouseLeave,h=tr(i,r4),f=ri(g,u,s),m=rn(x),v=ra(y,u,s);return t?eZ.createElement(eZ.Fragment,null,t.map((e,r)=>eZ.createElement(r1,r3({index:e.originalDataIndex,key:"rectangle-".concat(null==e?void 0:e.x,"-").concat(null==e?void 0:e.y,"-").concat(null==e?void 0:e.value,"-").concat(r),className:"recharts-bar-rectangle"},(0,e6.adaptEventsOfChild)(h,e,r),{onMouseEnter:f(e,e.originalDataIndex),onMouseLeave:m(e,e.originalDataIndex),onClick:v(e,e.originalDataIndex)}),p?eZ.createElement(ta,{shape:c,activeBar:p,baseProps:d,entry:e,index:r,dataKey:u,animationElapsedTime:n,isAnimating:a,isEntrance:l}):eZ.createElement(tl,{shape:c,baseProps:d,entry:e,index:r,dataKey:u,animationElapsedTime:n,isAnimating:a,isEntrance:l})))):null}function ts(e){var r=e.props,t=e.previousRectanglesRef,i=r.data,n=r.isAnimationActive,a=r.animationBegin,l=r.animationDuration,o=r.animationEasing,s=r.animationInterpolateFn,d=r.layout,c=(0,rN.useAnimationCallbacks)(r.onAnimationStart,r.onAnimationEnd),u=c.isAnimating,p=c.handleAnimationStart,g=c.handleAnimationEnd;return eZ.createElement(tn,{showLabels:!u,rects:i},eZ.createElement(rN.AnimatedItems,{animationInput:i,animationIdPrefix:"recharts-bar-",items:i,previousItemsRef:t,isAnimationActive:n,animationBegin:a,animationDuration:l,animationEasing:o,onAnimationStart:p,onAnimationEnd:g,animationInterpolateFn:s,animationMatchBy:r.animationMatchBy,layout:d},(e,t,i)=>eZ.createElement(eX.Layer,null,eZ.createElement(to,{props:r,data:e,animationElapsedTime:t,isAnimating:u||t<1,isEntrance:i}))),eZ.createElement(e0.LabelListFromLabelProp,{label:r.label}),r.children)}function td(e){var r=(0,eZ.useRef)(null);return eZ.createElement(ts,{previousRectanglesRef:r,props:e})}var tc=(e,r)=>{var t=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:t,errorVal:(0,e5.getValueByDataKey)(e,r)}};class tu extends eZ.PureComponent{render(){var e=this.props,r=e.hide,t=e.data,i=e.dataKey,n=e.className,a=e.xAxisId,l=e.yAxisId,o=e.needClip,s=e.background,d=e.id;if(r||null==t)return null;var c=(0,eY.clsx)("recharts-bar",n);return eZ.createElement(eX.Layer,{className:c,id:d},o&&eZ.createElement("defs",null,eZ.createElement(rs.GraphicalItemClipPath,{clipPathId:d,xAxisId:a,yAxisId:l})),eZ.createElement(eX.Layer,{className:"recharts-bar-rectangles",clipPath:o?"url(#clipPath-".concat(d,")"):void 0},eZ.createElement(ti,{data:t,dataKey:i,background:s,allOtherBarProps:this.props}),eZ.createElement(td,this.props)))}}var tp={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:(e,r,t)=>null==e?[]:1===r?e.flatMap(e=>"removed"===e.status?[]:[e.next]):e.flatMap(e=>{if("removed"===e.status)return"horizontal"===t?[te(te({},e.prev),{},{height:(0,e1.interpolate)(e.prev.height,0,r),y:(0,e1.interpolate)(e.prev.y,e.prev.y+e.prev.height,r)})]:[te(te({},e.prev),{},{width:(0,e1.interpolate)(e.prev.width,0,r)})];if("matched"===e.status)return[te(te({},e.next),{},{x:(0,e1.interpolate)(e.prev.x,e.next.x,r),y:(0,e1.interpolate)(e.prev.y,e.next.y,r),width:(0,e1.interpolate)(e.prev.width,e.next.width,r),height:(0,e1.interpolate)(e.prev.height,e.next.height,r)})];var i=e.next;return"horizontal"===t?[te(te({},i),{},{height:(0,e1.interpolate)(0,i.height,r),y:(0,e1.interpolate)(i.stackedBarStart,i.y,r)})]:[te(te({},i),{},{width:(0,e1.interpolate)(0,i.width,r),x:(0,e1.interpolate)(i.stackedBarStart,i.x,r)})]}),animationMatchBy:rF.matchAppend,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:0,shape:e3,xAxisId:0,yAxisId:0,zIndex:r_.DefaultZIndexes.bar};function tg(e){var r,t=e.xAxisId,i=e.yAxisId,n=e.hide,a=e.legendType,l=e.minPointSize,o=e.activeBar,s=e.animationBegin,d=e.animationDuration,c=e.animationEasing,u=e.isAnimationActive,p=(0,rs.useNeedsClip)(t,i).needClip,g=(0,rd.useChartLayout)(),y=(0,rP.useIsPanorama)(),x=(0,e2.findAllByType)(e.children,eJ),h=(0,rr.useAppSelector)(r=>rO(r,e.id,y,x));if("vertical"!==g&&"horizontal"!==g)return null;var f=null==h?void 0:h[0];return r=null==f||null==f.height||null==f.width?0:"vertical"===g?f.height/2:f.width/2,eZ.createElement(ro.SetErrorBarContext,{xAxisId:t,yAxisId:i,data:h,dataPointFormatter:tc,errorBarOffset:r},eZ.createElement(tu,r3({},e,{layout:g,needClip:p,data:h,xAxisId:t,yAxisId:i,hide:n,legendType:a,minPointSize:l,activeBar:o,animationBegin:s,animationDuration:d,animationEasing:c,isAnimationActive:u})))}var ty=eZ.memo(function(e){var r,i,n=(0,rB.resolveDefaultProps)(e,tp),a=(r=n.stackId,null!=(i=(0,t.useContext)(rJ))?i.stackId:null!=r?(0,e5.getNormalizedStackId)(r):void 0),l=(0,rP.useIsPanorama)();return eZ.createElement(rM.RegisterGraphicalItemId,{id:n.id,type:"bar"},e=>{var r,t,i,o;return eZ.createElement(eZ.Fragment,null,eZ.createElement(rR.SetLegendPayload,{legendPayload:(r=n.dataKey,t=n.name,i=n.fill,o=n.legendType,[{inactive:n.hide,dataKey:r,type:o,color:i,value:(0,e5.getTooltipNameProp)(t,r),payload:n}])}),eZ.createElement(tt,{dataKey:n.dataKey,stroke:n.stroke,strokeWidth:n.strokeWidth,fill:n.fill,name:n.name,hide:n.hide,unit:n.unit,formatter:n.formatter,tooltipType:n.tooltipType,id:e}),eZ.createElement(r$.SetCartesianGraphicalItem,{type:"bar",id:e,data:void 0,xAxisId:n.xAxisId,yAxisId:n.yAxisId,zAxisId:0,dataKey:n.dataKey,stackId:a,hide:n.hide,barSize:n.barSize,minPointSize:n.minPointSize,maxBarSize:n.maxBarSize,isPanorama:l,hasCustomShape:null!=n.shape&&n.shape!==e3}),eZ.createElement(rK.ZIndexLayer,{zIndex:n.zIndex},eZ.createElement(tg,r3({},n,{id:e}))))})},rG.propsAreEqual);ty.displayName="Bar";var tx=e.i(555706),th=e.i(785183),tf=e.i(93230),tm=e.i(872526),tv=e.i(234239),tb=e.i(731195),tj=e.i(800494),tS=e.i(844171),tk=e.i(531725),tI=e.i(89763),tw=e.i(43404),tq=e.i(823197);function tz(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);r&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,i)}return t}function tA(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?tz(Object(t),!0).forEach(function(r){var i,n,a;i=e,n=r,a=t[r],(n=function(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var i=t.call(e,r||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==typeof r?r:r+""}(n))in i?Object.defineProperty(i,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[n]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):tz(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function tC(){return(tC=Object.assign.bind()).apply(null,arguments)}function tW(e){var r=(0,rr.useAppDispatch)();return(0,t.useEffect)(()=>(r((0,tk.addLine)(e)),()=>{r((0,tk.removeLine)(e))})),null}function tT(e){var r=e.xAxisId,i=e.yAxisId,n=e.shape,a=e.className,l=e.ifOverflow,o=(0,rP.useIsPanorama)(),s=(0,tI.useClipPathId)(),d=(0,rr.useAppSelector)(e=>(0,ru.selectXAxisSettings)(e,r)),c=(0,rr.useAppSelector)(e=>(0,ru.selectYAxisSettings)(e,i)),u=(0,rr.useAppSelector)(e=>(0,ru.selectAxisScale)(e,"xAxis",r,o)),p=(0,rr.useAppSelector)(e=>(0,ru.selectAxisScale)(e,"yAxis",i,o)),g=(0,rd.useViewBox)();if(!s||!g||null==d||null==c||null==u||null==p)return null;var y=((e,r,t,i,n,a,l)=>{var o,s,d=l.x,c=l.y,u=l.segment,p=l.ifOverflow,g=(0,e1.isNumOrStr)(d);if((0,e1.isNumOrStr)(c)){var y=t.x,x=t.width,h=r.map(c,{position:i});if(!(0,rm.isWellBehavedNumber)(h)||"discard"===p&&!r.isInRange(h))return null;var f=[{x:y+x,y:h},{x:y,y:h}];return"left"===a?f.reverse():f}if(g){var m=t.y,v=t.height,b=e.map(d,{position:i});if(!(0,rm.isWellBehavedNumber)(b)||"discard"===p&&!e.isInRange(b))return null;var j=[{x:b,y:m+v},{x:b,y:m}];return"top"===n?j.reverse():j}return null!=u&&2===u.length?(s=[(o=new tq.CartesianScaleHelperImpl({x:e,y:r})).mapWithFallback(u[0],{position:i,fallback:"rangeMin"}),o.mapWithFallback(u[1],{position:i,fallback:"rangeMax"})],"discard"===p&&s.some(e=>!o.isInRange(e))?null:s):null})(u,p,g,e.position,d.orientation,c.orientation,e);if(!y)return null;var x=y[0],h=y[1];if(null==x||null==h)return null;var f=x.x,m=x.y,v=h.x,b=h.y,j=tA(tA({clipPath:"hidden"===l?"url(#".concat(s,")"):void 0},(0,tw.svgPropertiesAndEvents)(e)),{},{x1:f,y1:m,x2:v,y2:b}),S=(0,tS.rectWithCoords)({x1:f,y1:m,x2:v,y2:b});return t.createElement(rK.ZIndexLayer,{zIndex:e.zIndex},t.createElement(eX.Layer,{className:(0,eY.clsx)("recharts-reference-line",a)},((e,r)=>{var i;if(t.isValidElement(e))i=t.cloneElement(e,r);else if("function"==typeof e)i=e(r);else{if(!(0,rm.isWellBehavedNumber)(r.x1)||!(0,rm.isWellBehavedNumber)(r.y1)||!(0,rm.isWellBehavedNumber)(r.x2)||!(0,rm.isWellBehavedNumber)(r.y2))return null;i=t.createElement("line",tC({},r,{className:"recharts-reference-line-line"}))}return i})(n,j),t.createElement(tj.CartesianLabelContextProvider,tC({},S,{lowerWidth:S.width,upperWidth:S.width}),t.createElement(tj.CartesianLabelFromLabelProp,{label:e.label}),e.children)))}var tE={ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",label:!1,stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle",zIndex:r_.DefaultZIndexes.line};function tO(e){var r=(0,rB.resolveDefaultProps)(e,tE);return t.createElement(t.Fragment,null,t.createElement(tW,{yAxisId:r.yAxisId,xAxisId:r.xAxisId,ifOverflow:r.ifOverflow,x:r.x,y:r.y,segment:r.segment}),t.createElement(tT,r))}tO.displayName="ReferenceLine";let tP=(0,n.default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);var tD=e.i(451160);function tR({report:e,onBucketClick:i,collapsed:n,onToggleCollapse:a}){let{t:l}=(0,d.useLocale)(),o=(0,tD.useThemeColors)(),[s,c]=(0,t.useState)({comp:!0,res:!1,proc:!1,cost:!0}),u={comp:o.primary,res:o.success,proc:"#2c6bd1",cost:o.warning},p={comp:l("quality.trend.comp"),res:l("quality.trend.res"),proc:l("quality.trend.proc"),cost:l("quality.trend.cost")},g=e.trend.granularity,y=(0,t.useMemo)(()=>e.trend.buckets.map(e=>{var r;let t;return{label:(r=e.bucket_ts,t=new Date(r),"hour"===g?`${String(t.getHours()).padStart(2,"0")}:00`:`${t.getMonth()+1}/${t.getDate()}`),comp:e.composite,res:e.ratios.result,proc:e.ratios.toolCorrect??0,cost:e.ratios.cost??0,n:e.n_traces,latencyP95:e.percentiles?.latency?.p95??0,anomaly:+!!e.anomaly,_bucket:e}}),[e.trend.buckets,g]),x=Math.max(1,...y.map(e=>e.n)),h=l("hour"===g?"quality.trend.hourBuckets":"day"===g?"quality.trend.dayBuckets":"quality.trend.weekBuckets");return!y.length||y.every(e=>0===e.n)?(0,r.jsxs)("section",{id:"cost",style:t$,children:[(0,r.jsx)(tM,{t:l}),(0,r.jsx)("div",{style:{padding:40,textAlign:"center",color:"var(--foreground-muted)",fontSize:12},children:l("quality.trend.empty")})]}):(0,r.jsxs)("section",{id:"cost",style:t$,children:[(0,r.jsxs)("div",{style:{...tL,cursor:a?"pointer":void 0},onClick:a,children:[(0,r.jsx)("span",{style:{...tN,background:"var(--warning-subtle)",color:"var(--warning)"},children:(0,r.jsx)(tP,{size:13})}),(0,r.jsx)("span",{style:{fontSize:13.5,fontWeight:800},children:l("quality.trend.title")}),(0,r.jsxs)("span",{style:{fontSize:10.5,color:"var(--foreground-muted)"},children:["· ",l("quality.trend.hint")]}),(0,r.jsx)("span",{style:{flex:1}}),!n&&(0,r.jsx)("div",{style:{display:"flex",gap:6},onClick:e=>e.stopPropagation(),children:["comp","res","proc","cost"].map(e=>(0,r.jsxs)("button",{onClick:()=>c(r=>({...r,[e]:!r[e]})),style:{fontSize:11,fontWeight:600,padding:"5px 10px",borderRadius:7,cursor:"pointer",border:`1px ${s[e]?"solid":"dashed"} var(--border)`,opacity:s[e]?1:.55,background:"var(--card-bg)",color:s[e]?"var(--foreground)":"var(--foreground-muted)",display:"inline-flex",alignItems:"center",gap:6},children:[(0,r.jsx)("span",{style:{width:9,height:3,borderRadius:2,background:u[e]}}),p[e]]},e))}),a&&(0,r.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--primary)"},children:n?l("quality.fold.expand")+" ▾":l("quality.fold.collapse")+" ▴"})]}),n?null:(0,r.jsxs)("div",{style:{padding:"14px 18px"},children:[(0,r.jsxs)("div",{style:{fontSize:11,color:"var(--foreground-muted)",marginBottom:8},children:[l("quality.trend.window"),":",(0,r.jsxs)("b",{style:{color:"var(--foreground-secondary)"},children:[h," · ",y.length," ",l("quality.trend.bucketCount")]})," | ",l("quality.trend.percentileNote")," | ",(0,r.jsx)("span",{style:{color:"var(--primary)"},children:l("quality.trend.clickBucket")})]}),(0,r.jsx)("div",{style:{width:"100%",height:260},children:(0,r.jsx)(tb.ResponsiveContainer,{width:"100%",height:"100%",children:(0,r.jsxs)(eQ,{data:y,margin:{top:8,right:8,bottom:4,left:-16},onClick:e=>{let r=e?.activePayload?.[0]?.payload;r?._bucket&&(r.n??0)>0&&i(r._bucket)},children:[(0,r.jsx)(tm.CartesianGrid,{strokeDasharray:"3 3",stroke:o.border,vertical:!1}),(0,r.jsx)(th.XAxis,{dataKey:"label",stroke:o.fgMuted,tick:{fontSize:10},interval:"preserveStartEnd"}),(0,r.jsx)(tf.YAxis,{yAxisId:"score",domain:[0,100],stroke:o.fgMuted,tick:{fontSize:10}}),(0,r.jsx)(tf.YAxis,{yAxisId:"count",orientation:"right",domain:[0,3*x],stroke:o.fgMuted,tick:{fontSize:10},hide:!0}),(0,r.jsx)(tv.Tooltip,{content:(0,r.jsx)(tB,{names:p,colors:u,activeDims:s,t:l})}),(0,r.jsx)(tO,{yAxisId:"score",y:85,stroke:"#c9b6ef",strokeDasharray:"3 3"}),(0,r.jsx)(ty,{yAxisId:"count",dataKey:"n",fill:o.border,radius:[2,2,0,0],barSize:14,name:l("quality.trend.sample"),children:y.map((e,t)=>(0,r.jsx)(eJ,{fill:e.anomaly?"color-mix(in srgb, var(--error) 35%, transparent)":o.border},t))}),s.cost&&(0,r.jsx)(tx.Line,{yAxisId:"score",type:"monotone",dataKey:"cost",stroke:u.cost,strokeWidth:2,strokeDasharray:"5 4",dot:!1}),s.res&&(0,r.jsx)(tx.Line,{yAxisId:"score",type:"monotone",dataKey:"res",stroke:u.res,strokeWidth:2,dot:!1}),s.proc&&(0,r.jsx)(tx.Line,{yAxisId:"score",type:"monotone",dataKey:"proc",stroke:u.proc,strokeWidth:2,dot:!1}),s.comp&&(0,r.jsx)(tx.Line,{yAxisId:"score",type:"monotone",dataKey:"comp",stroke:u.comp,strokeWidth:2.6,dot:{r:2},activeDot:{r:5}})]})})})]})]})}function tB({activeDims:e,payload:t,label:i,names:n,colors:a,t:l}){if(!t?.length||!e)return null;let o=t[0]?.payload;return(0,r.jsxs)("div",{style:{background:"var(--card-bg)",border:"1px solid var(--border-dark)",borderRadius:9,padding:"9px 11px",fontSize:11,boxShadow:"0 6px 24px rgba(20,22,30,.12)",minWidth:130},children:[(0,r.jsxs)("div",{style:{fontWeight:700,marginBottom:6},children:[i,o?.anomaly?` \xb7 ⚠ ${l("quality.trend.anomaly")}`:""]}),["comp","res","proc","cost"].filter(r=>e[r]).map(e=>(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,margin:"3px 0",color:"var(--foreground-secondary)"},children:[(0,r.jsx)("span",{style:{width:8,height:8,borderRadius:2,background:a[e]}}),n[e],(0,r.jsx)("b",{style:{marginLeft:"auto",color:"var(--foreground)"},children:Math.round(10*o[e])/10})]},e)),(0,r.jsxs)("div",{style:{marginTop:6,paddingTop:6,borderTop:"1px solid var(--border)",fontSize:10,color:"var(--foreground-muted)"},children:[l("quality.trend.sample")," ",o.n," · latency p95 ",Math.round(o.latencyP95)]})]})}function tM({t:e}){return(0,r.jsxs)("div",{style:tL,children:[(0,r.jsx)("span",{style:{...tN,background:"var(--warning-subtle)",color:"var(--warning)"},children:(0,r.jsx)(tP,{size:13})}),(0,r.jsx)("span",{style:{fontSize:13.5,fontWeight:800},children:e("quality.trend.title")})]})}let t$={background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:12,boxShadow:"0 1px 2px rgba(20,22,30,.04)",marginBottom:14,scrollMarginTop:56},tL={padding:"13px 18px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},tN={width:22,height:22,borderRadius:6,display:"grid",placeItems:"center",flex:"0 0 22px"},tF=(0,n.default)("stethoscope",[["path",{d:"M11 2v2",key:"1539x4"}],["path",{d:"M5 2v2",key:"1yf1q8"}],["path",{d:"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1",key:"rb5t3r"}],["path",{d:"M8 15a6 6 0 0 0 12 0v-3",key:"x18d4x"}],["circle",{cx:"20",cy:"10",r:"2",key:"ts1r5v"}]]),tK=["var(--warning)","#2c6bd1","var(--primary)","var(--foreground-muted)","var(--success)"];function t_({report:e,onDrillTrace:i}){let{t:n}=(0,d.useLocale)(),a=e.problems,l=Math.max(1,...a.map(e=>e.impact)),o={high:n("quality.problems.high"),medium:n("quality.problems.medium"),low:n("quality.problems.low")},c=e.problemCounts.error,p=e.problemCounts.eval,[g,y]=(0,t.useState)(null),x=async()=>{let e=a.find(e=>"错误"===e.source&&e.relatedTraces.length>0&&!e.rootCauseModule)??a.find(e=>e.relatedTraces.length>0);if(e){y(n("quality.problems.diagSubmitting"));try{let r=await (0,u.apiFetch)(`/api/observe/executions/${encodeURIComponent(e.relatedTraces[0])}/agent-debug`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});y(r.ok||409===r.status?n("quality.problems.diagSubmitted"):n("quality.problems.diagFailed"))}catch{y(n("quality.problems.diagFailed"))}}};return(0,r.jsxs)("section",{id:"problems",style:tU,children:[(0,r.jsxs)("div",{style:tH,children:[(0,r.jsx)("span",{style:{...tV,background:"var(--error-subtle)",color:"var(--error)"},children:(0,r.jsx)(E.AlertTriangle,{size:13})}),(0,r.jsx)("span",{style:{fontSize:13.5,fontWeight:800},children:n("quality.problems.title")}),a.length>0&&(0,r.jsxs)("span",{style:{display:"inline-flex",gap:5},children:[(0,r.jsxs)("span",{style:{fontSize:10,fontWeight:700,padding:"2px 7px",borderRadius:5,background:"var(--error-subtle)",color:"var(--error)"},children:[n("quality.problems.sourceErr")," ",c]}),(0,r.jsxs)("span",{style:{fontSize:10,fontWeight:700,padding:"2px 7px",borderRadius:5,background:"var(--primary-subtle)",color:"var(--primary)"},children:[n("quality.problems.sourceEval")," ",p]})]}),(0,r.jsxs)("span",{style:{fontSize:10.5,color:"var(--foreground-muted)",display:"inline-flex",alignItems:"center",gap:4},children:["· ",n("quality.problems.hint"),(0,r.jsx)(s.Term,{id:"quality-impact",render:"compact"})]})]}),0===a.length&&0===e.skillDrag.length?(0,r.jsx)("div",{style:{padding:32,textAlign:"center",color:"var(--foreground-muted)",fontSize:12},children:n("quality.problems.empty")}):(0,r.jsxs)("div",{style:{padding:"16px 18px",display:"grid",gridTemplateColumns:"1.55fr 1fr",gap:18},children:[(0,r.jsx)("div",{children:a.slice(0,8).map((e,t)=>(0,r.jsx)(tG,{rank:t+1,p:e,maxImpact:l,sevLabel:o,t:n,onDrill:i},e.key))}),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,r.jsx)("div",{style:{fontSize:11.5,fontWeight:700,color:"var(--foreground-secondary)"},children:n("quality.problems.nodeDist")}),e.errorNodeDistribution.length>0?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{display:"flex",height:34,borderRadius:8,overflow:"hidden",border:"1px solid var(--border)"},children:e.errorNodeDistribution.map((e,t)=>(0,r.jsx)("div",{style:{width:`${e.pct}%`,background:tK[t%tK.length],display:"grid",placeItems:"center",color:"#fff",fontSize:10,fontWeight:700},children:e.pct>=10?`${e.pct}%`:""},e.node))}),(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:e.errorNodeDistribution.map((e,t)=>(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11.5,color:"var(--foreground-secondary)"},children:[(0,r.jsx)("span",{style:{width:9,height:9,borderRadius:3,background:tK[t%tK.length]}}),e.node,(0,r.jsxs)("b",{style:{marginLeft:"auto",color:"var(--foreground)"},children:[e.count," 次 · ",e.pct,"%"]})]},e.node))})]}):(0,r.jsx)("div",{style:{fontSize:11.5,color:"var(--foreground-muted)",padding:"8px 0"},children:"—"}),(0,r.jsxs)("div",{style:{borderTop:"1px solid var(--border)",paddingTop:12},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:8},children:[(0,r.jsx)(tF,{size:12,style:{color:"var(--primary)"}}),(0,r.jsx)("span",{style:{fontSize:11.5,fontWeight:700,color:"var(--foreground-secondary)"},children:n("quality.problems.moduleDist")}),(0,r.jsxs)("span",{style:{fontSize:9.5,color:"var(--foreground-muted)",marginLeft:"auto"},children:[n("quality.problems.diagCoverage")," ",e.diagnosisCoverage.diagnosed,"/",Math.max(e.diagnosisCoverage.errorish,e.diagnosisCoverage.diagnosed)]})]}),e.moduleFingerprint.length>0?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{display:"flex",height:26,borderRadius:7,overflow:"hidden",border:"1px solid var(--border)",marginBottom:8},children:e.moduleFingerprint.map((e,t)=>(0,r.jsx)("div",{style:{width:`${e.pct}%`,background:I[t%I.length],display:"grid",placeItems:"center",color:"#fff",fontSize:9.5,fontWeight:700},children:e.pct>=14?`${e.pct}%`:""},e.module))}),(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:e.moduleFingerprint.map((e,t)=>(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11,color:"var(--foreground-secondary)"},children:[(0,r.jsx)("span",{style:{width:8,height:8,borderRadius:2,background:I[t%I.length]}}),k[e.module]??e.module,(0,r.jsxs)("b",{style:{marginLeft:"auto",color:"var(--foreground)"},children:[e.count," · ",e.pct,"%"]})]},e.module))})]}):(0,r.jsx)("div",{style:{fontSize:11,color:"var(--foreground-muted)",lineHeight:1.5},children:n("quality.problems.diagEmpty")}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8},children:[(0,r.jsxs)("button",{onClick:x,style:{fontSize:10.5,fontWeight:700,padding:"4px 10px",borderRadius:6,cursor:"pointer",border:"1px solid var(--primary-subtle-border)",background:"var(--primary-subtle)",color:"var(--primary)",display:"inline-flex",alignItems:"center",gap:4},children:[(0,r.jsx)(tF,{size:11})," ",n("quality.problems.runDiag")]}),g&&(0,r.jsx)("span",{style:{fontSize:10,color:"var(--foreground-muted)"},children:g})]})]}),(0,r.jsxs)("div",{style:{fontSize:11,color:"var(--foreground-muted)",background:"var(--background-secondary)",border:"1px dashed var(--border)",borderRadius:8,padding:"9px 12px",lineHeight:1.5,display:"flex",alignItems:"center",gap:4},children:[n("quality.problems.pareto"),(0,r.jsx)(s.Term,{id:"quality-pareto",render:"compact"})]}),(0,r.jsxs)("div",{style:{borderTop:"1px solid var(--border)",paddingTop:12},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:8},children:[(0,r.jsx)("span",{style:{fontSize:11.5,fontWeight:700,color:"var(--foreground-secondary)"},children:n("quality.problems.skillDrag")}),(0,r.jsx)(s.Term,{id:"quality-skill-drag",render:"compact"}),(0,r.jsx)("span",{style:{fontSize:9.5,color:"var(--foreground-muted)"},children:n("quality.problems.skillDragHint")})]}),0===e.skillDrag.length?(0,r.jsx)("div",{style:{fontSize:11,color:"var(--foreground-muted)",padding:"2px 0"},children:n("quality.problems.skillDragEmpty")}):(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:e.skillDrag.slice(0,5).map(e=>(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11.5,flexWrap:"wrap"},children:[(0,r.jsxs)("span",{style:{fontWeight:700,color:"var(--foreground)"},children:[e.name,(0,r.jsxs)("span",{style:{color:"var(--foreground-muted)",fontWeight:500},children:["@v",e.version??0]})]}),(0,r.jsx)("span",{style:{fontSize:9.5,fontWeight:700,color:b(e.topSeverity)},children:o[e.topSeverity]}),(0,r.jsxs)("span",{style:{color:"var(--foreground-secondary)"},children:[n("quality.problems.unresolvedN")," ",(0,r.jsx)("b",{style:{color:"var(--foreground)"},children:e.unresolved})," · ",n("quality.problems.affected")," ",(0,r.jsxs)("b",{style:{color:"var(--foreground)"},children:[e.affectedPct,"%"]})]}),(0,r.jsxs)("a",{href:`/skill-opt/${encodeURIComponent(e.name)}/${e.version??0}`,style:{marginLeft:"auto",fontSize:10.5,fontWeight:700,color:"var(--success)",textDecoration:"none",whiteSpace:"nowrap"},children:[n("quality.problems.optimize")," →"]})]},`${e.name}@${e.version}`))})]})]})]})]})}function tG({rank:e,p:t,maxImpact:i,sevLabel:n,t:a,onDrill:l}){let o=j[t.attribution],s=t.relatedTraces.length>0;return(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:11,padding:"11px 0",borderBottom:"1px solid var(--border)"},children:[(0,r.jsx)("div",{style:{fontSize:12,fontWeight:700,color:"var(--foreground-muted)",width:16,fontVariantNumeric:"tabular-nums"},children:e}),(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsxs)("div",{style:{fontSize:12.5,fontWeight:700,display:"flex",alignItems:"center",gap:7,flexWrap:"wrap"},children:[(0,r.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis"},children:t.desc}),(0,r.jsx)("span",{style:{fontSize:9,fontWeight:700,padding:"2px 6px",borderRadius:4,background:"错误"===t.source?"var(--error-subtle)":"var(--primary-subtle)",color:"错误"===t.source?"var(--error)":"var(--primary)"},children:a("错误"===t.source?"quality.problems.sourceErr":"quality.problems.sourceEval")}),t.node&&(0,r.jsx)("span",{style:{fontSize:9,fontWeight:600,padding:"2px 6px",borderRadius:4,background:"var(--background-secondary)",color:"var(--foreground-secondary)"},children:t.node}),t.rootCauseModule&&(0,r.jsxs)("span",{title:`${a("quality.problems.diagnosed")} ${t.diagnosedTraces??1} trace`,style:{fontSize:9,fontWeight:700,padding:"2px 6px",borderRadius:4,background:"var(--primary-subtle)",color:"var(--primary)",display:"inline-flex",alignItems:"center",gap:3},children:["⚕ ",a("quality.problems.diagnosed")," · ",k[t.rootCauseModule]??t.rootCauseModule]})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:6,flexWrap:"wrap"},children:[(0,r.jsx)("span",{style:{flex:1,maxWidth:160,height:6,borderRadius:5,background:"var(--background-secondary)",overflow:"hidden"},children:(0,r.jsx)("span",{style:{display:"block",height:"100%",width:`${t.impact/i*100}%`,background:b(t.severity),borderRadius:5}})}),(0,r.jsxs)("span",{style:{fontSize:11,fontWeight:700,color:"var(--foreground-secondary)"},children:[t.frequency," 次"]}),null!=t.cumulativePct&&(0,r.jsxs)("span",{style:{fontSize:10,color:"var(--foreground-muted)"},children:[a("quality.problems.cumulative")," ",t.cumulativePct,"%"]}),(0,r.jsx)("span",{style:{fontSize:9.5,fontWeight:600,padding:"3px 7px",borderRadius:5,background:o.bg,color:o.fg},children:t.attribution}),(0,r.jsx)("span",{style:{fontSize:9.5,fontWeight:700,color:b(t.severity)},children:n[t.severity]}),(0,r.jsxs)("span",{style:{fontSize:10,color:"var(--foreground-muted)"},children:["· ",t.affectedDimensions.join("/")]}),s&&(0,r.jsxs)("button",{onClick:()=>l(t.relatedTraces[0]),style:{marginLeft:"auto",border:"none",background:"none",cursor:"pointer",fontSize:10.5,fontWeight:700,color:"var(--primary)",display:"inline-flex",alignItems:"center",gap:3},children:[a("quality.problems.relatedTraces")," ",t.relatedTraces.length," ",(0,r.jsx)(h,{size:12})]})]}),(t.suggestedFix||t.skillRef)&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:6,flexWrap:"wrap"},children:[t.skillRef&&(0,r.jsxs)("a",{href:`/skill-opt/${encodeURIComponent(t.skillRef.name)}/${t.skillRef.version??0}`,style:{fontSize:9.5,fontWeight:700,padding:"2px 7px",borderRadius:5,background:"var(--success-subtle)",color:"var(--success)",textDecoration:"none",whiteSpace:"nowrap"},children:[t.skillRef.name,"@v",t.skillRef.version??0," · ",a("quality.problems.optimize")," →"]}),t.suggestedFix&&(0,r.jsxs)("span",{title:t.suggestedFix,style:{fontSize:10.5,color:"var(--foreground-muted)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:520},children:[a("quality.problems.fix"),":",t.suggestedFix]})]})]})]})}let tU={background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:12,boxShadow:"0 1px 2px rgba(20,22,30,.04)",marginBottom:14,scrollMarginTop:56},tH={padding:"13px 18px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},tV={width:22,height:22,borderRadius:6,display:"grid",placeItems:"center",flex:"0 0 22px"};var tQ=e.i(24071);let tZ=(0,n.default)("list-checks",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]);var tY=e.i(263676);let tX=/(inject|越权|未授权|unauthorized|pii|敏感|泄露|leak)/i;function tJ({agent:e,user:i,from:n,to:a,skill:l,statusFilter:o,bucketLabel:s,onClearBucket:c,onDrill:p,collapsed:g,onToggleCollapse:y}){let{t:x}=(0,d.useLocale)(),[h,f]=(0,t.useState)([]),[b,j]=(0,t.useState)(0),[S,k]=(0,t.useState)(1),[I,w]=(0,t.useState)(!0),q=(0,t.useCallback)(()=>{if(!e||!i)return;w(!0);let r=new URLSearchParams({agent:e,user:i,from:n,to:a,page:String(S),pageSize:String(20)});l&&"all"!==l&&r.set("skill",l),(0,u.apiFetch)(`/api/quality/executions?${r.toString()}`).then(e=>e.json()).then(e=>{f(Array.isArray(e.records)?e.records:[]),j(e.total??0)}).catch(()=>{f([]),j(0)}).finally(()=>w(!1))},[e,i,n,a,l,S]);(0,t.useEffect)(()=>{q()},[q]);let z=o&&"all"!==o?h.filter(e=>{let r;return null!=e.result_score&&((r=e.result_score)>=85?"达标":r>=70?"关注":"异常")===o}):h,A=Math.max(1,Math.ceil(b/20)),C=0===b?0:(S-1)*20+1,W=Math.min(b,20*S);return(0,r.jsxs)("section",{id:"exec",style:{background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:12,boxShadow:"0 1px 2px rgba(20,22,30,.04)",overflow:"hidden",marginBottom:14,scrollMarginTop:56},children:[(0,r.jsxs)("div",{style:{padding:"14px 18px",borderBottom:g?"none":"1px solid var(--border)",display:"flex",alignItems:"center",gap:10,cursor:y?"pointer":void 0},onClick:y,children:[(0,r.jsx)("span",{style:{...t5,background:"var(--success-subtle)",color:"var(--success)"},children:(0,r.jsx)(tZ,{size:13})}),(0,r.jsx)("span",{style:{fontSize:13.5,fontWeight:800},children:x("quality.table.title")}),(0,r.jsxs)("span",{style:{background:"var(--primary-subtle)",color:"var(--primary)",fontSize:11,fontWeight:700,padding:"4px 8px",borderRadius:6},children:[b," ",x("quality.table.count")]}),s&&(0,r.jsxs)("button",{onClick:e=>{e.stopPropagation(),c?.()},style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:11,fontWeight:600,padding:"4px 8px",borderRadius:6,border:"1px solid var(--primary-subtle-border)",background:"var(--primary-subtle)",color:"var(--primary)",cursor:"pointer"},children:[s," ",(0,r.jsx)(tY.X,{size:12})]}),(0,r.jsx)("span",{style:{flex:1}}),(0,r.jsx)("span",{style:{fontSize:10.5,color:"var(--foreground-muted)"},children:x("quality.table.note")}),y&&(0,r.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--primary)"},children:g?x("quality.fold.expand")+" ▾":x("quality.fold.collapse")+" ▴"})]}),g?null:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{overflowX:"auto"},children:(0,r.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse"},children:[(0,r.jsx)("thead",{children:(0,r.jsx)("tr",{children:[x("quality.table.traceId"),x("quality.table.agent"),x("quality.table.task"),x("quality.table.score"),x("quality.table.signals"),x("quality.table.status"),x("quality.table.time")].map((e,t)=>(0,r.jsx)("th",{style:{fontSize:10.5,fontWeight:700,color:"var(--foreground-muted)",textTransform:"uppercase",letterSpacing:"0.05em",textAlign:"left",padding:"10px 14px",background:"var(--background-secondary)",borderBottom:"1px solid var(--border)",whiteSpace:"nowrap"},children:e},t))})}),(0,r.jsx)("tbody",{children:I?(0,r.jsx)("tr",{children:(0,r.jsx)("td",{colSpan:7,style:{padding:28,textAlign:"center",color:"var(--foreground-muted)",fontSize:12},children:x("quality.table.loading")})}):0===z.length?(0,r.jsx)("tr",{children:(0,r.jsx)("td",{colSpan:7,style:{padding:28,textAlign:"center",color:"var(--foreground-muted)",fontSize:12},children:x("quality.table.empty")})}):z.map(e=>{let t,i,n=e.result_score,a=null==n?"pending":n>=85?"success":n>=70?"warning":"error",l="running"===e.result_eval_status?x("quality.table.evaluating"):"failed"===e.result_eval_status?x("quality.table.evalFailed"):"missing"===e.result_eval_status?x("quality.table.notEvaluated"):null,o=Object.entries(e.result_metrics??{}).map(([e,r])=>`${e}: ${r.score??"N/A"}`).join("\n");return(0,r.jsxs)("tr",{onClick:()=>p(e.id),style:{cursor:"pointer"},onMouseEnter:e=>e.currentTarget.style.background="var(--background-secondary)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,r.jsx)("td",{style:t2,children:(0,r.jsx)("span",{style:{fontFamily:"var(--font-mono, monospace)",fontSize:11.5,color:"var(--primary)",fontWeight:600},children:(e.id||"").slice(0,14)||"—"})}),(0,r.jsx)("td",{style:t2,children:(0,r.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground-secondary)"},children:e.agent||"—"})}),(0,r.jsx)("td",{style:{...t2,maxWidth:300},children:(0,r.jsx)("div",{style:{fontSize:11.5,color:"var(--foreground-secondary)",lineHeight:1.4,overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:e.query||"—"})}),(0,r.jsx)("td",{style:t2,children:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5,minWidth:96},children:[(0,r.jsxs)("span",{style:{fontSize:15,fontWeight:700,color:null==n?"var(--foreground-muted)":v(n)},children:[null==n?"N/A":n,(0,r.jsx)("span",{style:{fontSize:10,color:"var(--foreground-muted)"},children:null==n?"":"/100"})]}),(0,r.jsx)("span",{style:{height:5,borderRadius:5,background:"var(--background-secondary)",overflow:"hidden"},children:(0,r.jsx)("span",{style:{display:"block",height:"100%",width:`${n??0}%`,background:null==n?"var(--foreground-muted)":v(n),borderRadius:5}})})]})}),(0,r.jsx)("td",{style:t2,children:(0,r.jsxs)("div",{style:{display:"flex",gap:5,flexWrap:"wrap"},children:[(0,r.jsx)("span",{title:o,children:(0,r.jsx)(t0,{sig:null==(t=e.result_score)?"warn":t>=85?"ok":t>=70?"warn":"bad",label:x("quality.table.sigResult")})}),(0,r.jsx)(t0,{sig:0===(i=e.tool_call_error_count??0)?"ok":i<=1?"warn":"bad",label:x("quality.table.sigTool")}),(0,r.jsx)(t0,{sig:null==e.latency||e.latency<6e4?"ok":e.latency<12e4?"warn":"bad",label:x("quality.table.sigCost")}),(0,r.jsx)(t0,{sig:(e.failures??[]).some(e=>tX.test(`${e.failure_type??""} ${e.description??""}`))?"bad":"ok",label:x("quality.table.sigSafe")})]})}),(0,r.jsx)("td",{style:t2,children:l?(0,r.jsx)("span",{style:{fontSize:10.5,color:"failed"===e.result_eval_status?"var(--error)":"var(--foreground-muted)"},children:l}):(0,r.jsx)(m.StatusBadge,{status:a,label:x(`quality.status.${(n??0)>=85?"达标":(n??0)>=70?"关注":"异常"}`)})}),(0,r.jsx)("td",{style:t2,children:(0,r.jsx)("span",{style:{fontFamily:"var(--font-mono, monospace)",fontSize:11,color:"var(--foreground-muted)",whiteSpace:"nowrap"},children:function(e){if(!e)return"—";let r=new Date(e);return Number.isNaN(r.getTime())?"—":`${r.getFullYear()}/${String(r.getMonth()+1).padStart(2,"0")}/${String(r.getDate()).padStart(2,"0")} ${String(r.getHours()).padStart(2,"0")}:${String(r.getMinutes()).padStart(2,"0")}`}(e.timestamp)})})]},e.id||e.task_id||e.upload_id)})})]})}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",padding:"12px 18px",fontSize:11.5,color:"var(--foreground-muted)"},children:[(0,r.jsxs)("span",{children:[x("quality.table.showing")," ",C," ",x("quality.table.to")," ",W," ",x("quality.table.of")," ",b," ",x("quality.table.total")]}),(0,r.jsx)("span",{style:{flex:1}}),(0,r.jsxs)("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[(0,r.jsx)(t1,{disabled:S<=1,onClick:()=>k(e=>Math.max(1,e-1)),children:(0,r.jsx)(tQ.ChevronLeft,{size:13})}),(0,r.jsxs)("span",{style:{fontSize:11.5,fontWeight:600,color:"var(--foreground-secondary)",padding:"0 6px"},children:[S," / ",A]}),(0,r.jsx)(t1,{disabled:S>=A,onClick:()=>k(e=>Math.min(A,e+1)),children:(0,r.jsx)(V.ChevronRight,{size:13})})]})]})]})]})}function t0({sig:e,label:t}){let[i,n]={ok:["var(--success-subtle)","var(--success)"],warn:["var(--warning-subtle)","var(--warning)"],bad:["var(--error-subtle)","var(--error)"]}[e];return(0,r.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:10,fontWeight:600,padding:"3px 7px",borderRadius:6,background:i,color:n},children:[(0,r.jsx)("span",{style:{width:5,height:5,borderRadius:"50%",background:n}}),t]})}function t1({children:e,disabled:t,onClick:i}){return(0,r.jsx)("button",{disabled:t,onClick:i,style:{width:26,height:26,borderRadius:7,border:"1px solid var(--border)",display:"grid",placeItems:"center",background:"var(--card-bg)",color:"var(--foreground-secondary)",cursor:t?"not-allowed":"pointer",opacity:t?.4:1},children:e})}let t2={padding:"12px 14px",borderBottom:"1px solid var(--border)",verticalAlign:"middle"},t5={width:22,height:22,borderRadius:6,display:"grid",placeItems:"center",flex:"0 0 22px"},t6={result:"result",cost:"trend",process:"process",exec:"exec"};function t4(){let{t:e}=(0,d.useLocale)(),{user:n}=(0,c.useAuth)(),a=(0,i.useRouter)(),[l,p]=(0,t.useState)([]),[y,x]=(0,t.useState)([]),[h,f]=(0,t.useState)({agent:"",window:"1w",skill:"all",status:"all"}),[m,v]=(0,t.useState)(null),[b,j]=(0,t.useState)(!1),[S,k]=(0,t.useState)(null),[I,q]=(0,t.useState)({result:!0,trend:!1,process:!1,exec:!1});(0,t.useEffect)(()=>{n&&(0,u.apiFetch)(`/api/quality/agents?user=${encodeURIComponent(n)}`).then(e=>e.json()).then(e=>{let r=Array.isArray(e.agents)?e.agents:[];p(r),x(Array.isArray(e.skills)?e.skills:[]),r.length&&f(e=>e.agent?e:{...e,agent:r[0].name})}).catch(()=>p([]))},[n]);let z=(0,t.useCallback)((e,r,t)=>{if(!e||!n)return void v(null);j(!0),k(null);let i=new URLSearchParams({agent:e,window:r,user:n});t&&"all"!==t&&i.set("skill",t),(0,u.apiFetch)(`/api/quality/report?${i.toString()}`).then(e=>e.json()).then(e=>v(e?.error?null:e)).catch(()=>v(null)).finally(()=>j(!1))},[n]);(0,t.useEffect)(()=>{z(h.agent,h.window,h.skill)},[h.agent,h.window,h.skill,z]);let A=(0,t.useMemo)(()=>{var e;let r;return e=h.window,{from:new Date((r=new Date).getTime()-864e5*("1d"===e?1:"1w"===e?7:30)).toISOString(),to:r.toISOString()}},[h.window]),C=S??A,W=(0,t.useCallback)(e=>{let r=t6[e];r&&q(e=>e[r]?e:{...e,[r]:!0}),requestAnimationFrame(()=>setTimeout(()=>{document.getElementById(e)?.scrollIntoView({behavior:"smooth",block:"start"})},40))},[]),T=(0,t.useCallback)(e=>{e&&a.push(`/fault?executionId=${encodeURIComponent(e)}`)},[a]),E=(0,t.useCallback)(e=>{if(m){var r;let t,i,n;k((r=m.trend.granularity,i=new Date((t=new Date(e.bucket_ts)).getTime()+("hour"===r?36e5:"day"===r?864e5:6048e5)),n="hour"===r?`${String(t.getHours()).padStart(2,"0")}:00`:`${t.getMonth()+1}/${t.getDate()}`,{from:t.toISOString(),to:i.toISOString(),label:n})),W("exec")}},[m,W]),O=m&&!m.meta.empty,P=[{id:"verdict",label:e("quality.nav.verdict")},{id:"analysis",label:e("quality.nav.dims")},{id:"problems",label:e("quality.nav.problems")},{id:"result",label:e("quality.nav.result")},{id:"cost",label:e("quality.nav.trend")},{id:"process",label:e("quality.nav.process")},{id:"exec",label:e("quality.nav.exec")}];return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.AppTopBar,{title:(0,r.jsx)(s.Term,{id:"quality-monitoring",label:e("quality.title")}),showDefaultActions:!1}),(0,r.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"18px 20px 48px",background:"var(--background)"},children:(0,r.jsxs)("div",{style:{width:"100%"},children:[(0,r.jsx)(g,{agents:l,skills:y,value:h,onChange:e=>f(r=>({...r,...e}))}),O&&(0,r.jsx)("nav",{style:{position:"sticky",top:-18,zIndex:20,display:"flex",gap:6,padding:"8px 2px",background:"color-mix(in srgb, var(--background) 90%, transparent)",backdropFilter:"blur(8px)",marginBottom:6},children:P.map(e=>(0,r.jsx)("button",{onClick:()=>W(e.id),style:{fontSize:11,fontWeight:600,padding:"4px 10px",borderRadius:14,cursor:"pointer",border:"1px solid var(--border)",background:"var(--card-bg)",color:"var(--foreground-secondary)"},children:e.label},e.id))}),h.agent?b&&!m?(0,r.jsx)(t7,{label:e("quality.loading")}):m&&m.meta.empty?(0,r.jsx)(t8,{title:e("quality.empty.noTraces"),desc:e("quality.empty.noTracesDesc")}):m?(0,r.jsxs)("div",{style:{opacity:b?.6:1,transition:"opacity .15s"},children:[(0,r.jsx)(w,{report:m,onDrillTrace:T,onAnchor:W}),(0,r.jsx)(D,{report:m,onAnchor:W}),(0,r.jsx)(t_,{report:m,onDrillTrace:T}),(0,r.jsx)(es,{report:m}),(0,r.jsx)(tR,{report:m,onBucketClick:E,collapsed:!I.trend,onToggleCollapse:()=>q(e=>({...e,trend:!e.trend}))}),(0,r.jsx)(L,{report:m,collapsed:!I.process,onToggleCollapse:()=>q(e=>({...e,process:!e.process}))}),(0,r.jsx)(tJ,{agent:h.agent,user:n,from:C.from,to:C.to,skill:h.skill,statusFilter:h.status,bucketLabel:S?.label??null,onClearBucket:()=>k(null),onDrill:T,collapsed:!I.exec,onToggleCollapse:()=>q(e=>({...e,exec:!e.exec}))},`${h.agent}|${C.from}|${C.to}|${h.skill}`)]}):(0,r.jsx)(t7,{label:e("quality.loading")}):(0,r.jsx)(t8,{title:e("quality.empty.noAgent"),desc:e("quality.empty.noAgentDesc")})]})})]})}function t8({title:e,desc:t}){return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:10,padding:"80px 20px",textAlign:"center"},children:[(0,r.jsx)("div",{style:{width:48,height:48,borderRadius:12,background:"var(--primary-subtle)",color:"var(--primary)",display:"grid",placeItems:"center"},children:(0,r.jsx)(a,{size:24})}),(0,r.jsx)("div",{style:{fontSize:15,fontWeight:700,color:"var(--foreground)"},children:e}),(0,r.jsx)("div",{style:{fontSize:12.5,color:"var(--foreground-muted)",maxWidth:420,lineHeight:1.6},children:t})]})}function t7({label:e}){return(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:10,padding:"80px 20px",color:"var(--foreground-muted)",fontSize:13},children:[(0,r.jsx)(l.Loader2,{size:18,className:"animate-spin"})," ",e]})}e.s(["default",()=>t4],945536)}]);
@@ -0,0 +1,17 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,218469,456420,248105,e=>{"use strict";var r=e.i(271645);let t=(...e)=>e.filter((e,r,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===r).join(" ").trim(),o=e=>{let r=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,r,t)=>t?t.toUpperCase():r.toLowerCase());return r.charAt(0).toUpperCase()+r.slice(1)};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,r.createContext)({}),n=(0,r.forwardRef)(({color:e,size:o,strokeWidth:n,absoluteStrokeWidth:i,className:l="",children:d,iconNode:c,...u},p)=>{let{size:g=24,strokeWidth:m=2,absoluteStrokeWidth:x=!1,color:h="currentColor",className:f=""}=(0,r.useContext)(s)??{},v=i??x?24*Number(n??m)/Number(o??g):n??m;return(0,r.createElement)("svg",{ref:p,...a,width:o??g??a.width,height:o??g??a.height,stroke:e??h,strokeWidth:v,className:t("lucide",f,l),...!d&&!(e=>{for(let r in e)if(r.startsWith("aria-")||"role"===r||"title"===r)return!0;return!1})(u)&&{"aria-hidden":"true"},...u},[...c.map(([e,t])=>(0,r.createElement)(e,t)),...Array.isArray(d)?d:[d]])}),i=(e,a)=>{let s=(0,r.forwardRef)(({className:s,...i},l)=>(0,r.createElement)(n,{ref:l,iconNode:a,className:t(`lucide-${o(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,s),...i}));return s.displayName=o(e),s};e.s(["default",()=>i],456420);let l=i("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);e.s(["PanelLeftClose",()=>l],218469);let d=i("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);e.s(["PanelLeftOpen",()=>d],248105)},540568,e=>{"use strict";var r=e.i(843476),t=e.i(218469),o=e.i(248105),a=e.i(760045);function s({title:e,actions:s}){let{isCollapsed:n,toggleSidebar:i}=(0,a.useSidebar)(),l=n?o.PanelLeftOpen:t.PanelLeftClose;return(0,r.jsxs)("header",{className:"sticky top-0 z-10 flex h-14 items-center gap-3 border-b border-border bg-card px-6",style:{flexShrink:0},children:[(0,r.jsx)("button",{type:"button",onClick:i,"aria-label":n?"展开侧栏":"折叠侧栏",className:"inline-flex size-7 shrink-0 items-center justify-center rounded-md text-foreground-secondary transition-colors hover:bg-background-secondary hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,r.jsx)(l,{className:"size-4"})}),(0,r.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-2 text-sm font-medium text-foreground",children:"string"==typeof e?(0,r.jsx)("span",{className:"truncate",children:e}):e}),s&&(0,r.jsx)("div",{className:"flex items-center gap-2",children:s})]})}e.s(["AppTopBar",()=>s])},207670,e=>{"use strict";function r(){for(var e,r,t=0,o="",a=arguments.length;t<a;t++)(e=arguments[t])&&(r=function e(r){var t,o,a="";if("string"==typeof r||"number"==typeof r)a+=r;else if("object"==typeof r)if(Array.isArray(r)){var s=r.length;for(t=0;t<s;t++)r[t]&&(o=e(r[t]))&&(a&&(a+=" "),a+=o)}else for(o in r)r[o]&&(a&&(a+=" "),a+=o);return a}(e))&&(o&&(o+=" "),o+=r);return o}e.s(["clsx",()=>r])},129228,e=>{"use strict";var r=e.i(271645),t=e.i(925949),o=e.i(433369),a=["axis"],s=(0,r.forwardRef)((e,s)=>r.createElement(o.CartesianChart,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:a,tooltipPayloadSearcher:t.arrayTooltipSearcher,categoricalChartProps:e,ref:s}));e.s(["LineChart",()=>s])},225652,e=>{"use strict";var r=e.i(843476),t=e.i(618566),o=e.i(271645),a=e.i(872526),s=e.i(555706),n=e.i(129228),i=e.i(731195),l=e.i(234239),d=e.i(785183),c=e.i(93230),u=e.i(540568);let p={critical:{fg:"var(--error)",bg:"var(--error-subtle)",border:"var(--error-subtle-border)",label:"严重"},degraded:{fg:"var(--warning)",bg:"var(--warning-subtle)",border:"var(--warning-subtle-border)",label:"降级"},healthy:{fg:"var(--success)",bg:"var(--success-subtle)",border:"var(--success-subtle-border)",label:"健康"},idle:{fg:"var(--foreground-muted)",bg:"var(--background-secondary)",border:"var(--border)",label:"空载"}},g={critical:"var(--error)",warn:"var(--warning)",healthy:"var(--success)",info:"var(--foreground-muted)"},m={padding:"5px 8px",borderRadius:"var(--radius-sm)",border:"1px solid var(--border)",background:"var(--background)",color:"var(--foreground)",fontSize:13};function x(e,r=2,t=""){return null==e?"n/a":`${e.toFixed(r)}${t}`}function h(e){let r=new Date(e);return`${String(r.getHours()).padStart(2,"0")}:${String(r.getMinutes()).padStart(2,"0")}:${String(r.getSeconds()).padStart(2,"0")}`}let f=[{key:"5m",label:"5 分钟",ms:3e5},{key:"15m",label:"15 分钟",ms:9e5},{key:"1h",label:"1 小时",ms:36e5},{key:"6h",label:"6 小时",ms:216e5},{key:"24h",label:"24 小时",ms:864e5}];function v({label:e,value:t}){return(0,r.jsxs)("div",{style:{padding:"10px 12px",borderRadius:"var(--radius-md)",background:"var(--card-bg)",border:"1px solid var(--card-border)"},children:[(0,r.jsx)("div",{style:{fontSize:12,color:"var(--foreground-muted)",marginBottom:4},children:e}),(0,r.jsx)("div",{style:{fontSize:18,fontWeight:600},children:t})]})}function y({text:e}){let[t,a]=(0,o.useState)(!1),s=(0,o.useRef)(null),n=()=>{s.current&&(clearTimeout(s.current),s.current=null),a(!0)},i=()=>{s.current&&clearTimeout(s.current),s.current=setTimeout(()=>a(!1),180)};return(0,o.useEffect)(()=>()=>{s.current&&clearTimeout(s.current)},[]),(0,r.jsxs)("span",{style:{position:"relative",display:"inline-flex"},onMouseEnter:n,onMouseLeave:i,children:[(0,r.jsx)("span",{style:{cursor:"help",color:"var(--foreground-muted)",border:"1px solid var(--border)",borderRadius:999,width:13,height:13,fontSize:9,fontWeight:700,display:"inline-flex",alignItems:"center",justifyContent:"center",lineHeight:1},children:"i"}),t&&(0,r.jsx)("span",{onMouseEnter:n,onMouseLeave:i,style:{position:"absolute",bottom:"100%",left:-8,zIndex:20,width:248,paddingBottom:8},children:(0,r.jsx)("span",{style:{display:"block",padding:"8px 10px",background:"var(--card-bg)",border:"1px solid var(--border)",borderRadius:6,fontSize:11.5,lineHeight:1.65,color:"var(--foreground-secondary)",boxShadow:"0 6px 16px rgba(0,0,0,0.18)",whiteSpace:"normal",fontWeight:400,userSelect:"text",cursor:"text"},children:e})})]})}function b({title:e,explain:t,data:o,series:u,yDomain:p}){return(0,r.jsxs)("div",{style:{background:"var(--background)",border:"1px solid var(--border)",borderRadius:"var(--radius-md)",padding:"8px 10px"},children:[(0,r.jsxs)("div",{style:{fontSize:11.5,color:"var(--foreground-muted)",marginBottom:4,display:"flex",alignItems:"center",gap:5},children:[e,t&&(0,r.jsx)(y,{text:t})]}),(0,r.jsx)("div",{style:{width:"100%",height:140},children:(0,r.jsx)(i.ResponsiveContainer,{width:"100%",height:"100%",children:(0,r.jsxs)(n.LineChart,{data:o,margin:{top:4,right:8,bottom:0,left:-18},children:[(0,r.jsx)(a.CartesianGrid,{stroke:"var(--border)",strokeDasharray:"3 3",vertical:!1}),(0,r.jsx)(d.XAxis,{dataKey:"tsMs",tickFormatter:h,stroke:"var(--foreground-muted)",tick:{fontSize:9},interval:"preserveStartEnd",minTickGap:40}),(0,r.jsx)(c.YAxis,{stroke:"var(--foreground-muted)",tick:{fontSize:9},width:36,domain:p??[0,"auto"]}),(0,r.jsx)(l.Tooltip,{labelFormatter:e=>h(Number(e)),contentStyle:{background:"var(--card-bg)",border:"1px solid var(--border)",borderRadius:6,fontSize:11}}),u.map(e=>(0,r.jsx)(s.Line,{type:"monotone",dataKey:e.key,name:e.name,stroke:e.color,strokeWidth:1.8,dot:!1,isAnimationActive:!1,connectNulls:!0},String(e.key)))]})})})]})}function j(){let e,a=(0,t.useParams)(),s=a?.id,[n,i]=(0,o.useState)(null),[l,d]=(0,o.useState)([]),[c,y]=(0,o.useState)(""),[j,k]=(0,o.useState)([]),[w,S]=(0,o.useState)([]),[T,C]=(0,o.useState)(0),[P,I]=(0,o.useState)(1),[z,$]=(0,o.useState)("15m"),[L,R]=(0,o.useState)(""),[M,B]=(0,o.useState)(""),[N,A]=(0,o.useState)(null),[E,F]=(0,o.useState)(!1),[W,O]=(0,o.useState)(null),[U,D]=(0,o.useState)(!1),[H,K]=(0,o.useState)(0),[_,V]=(0,o.useState)("pull"),[G,q]=(0,o.useState)(1e3),[X,Y]=(0,o.useState)(!0),[Z,J]=(0,o.useState)(5),[Q,ee]=(0,o.useState)(!1),[er,et]=(0,o.useState)(null),[eo,ea]=(0,o.useState)(!1),[es,en]=(0,o.useState)(""),ei=(0,o.useCallback)(async()=>{if(!s)return;let e=await (await fetch("/api/observe/infra/sources/overview")).json(),r=(e.overview??[]).find(e=>e.source.id===s);r?(i(r),V(r.source.kind),q(r.source.scrapeIntervalMs),Y(r.source.enabled),d(r.models??[]),y(e=>e||r.primaryModel||r.models?.[0]||""),en(r=>r||e.ingestEndpoint||`${window.location.origin}/api/ingest/otel/v1/metrics`)):D(!0)},[s]);(0,o.useEffect)(()=>{let e=!0;return(async()=>{await Promise.resolve(),e&&await ei()})(),()=>{e=!1}},[ei,H]),(0,o.useEffect)(()=>{if(!s)return;let e=!0;return(async()=>{await Promise.resolve();let r=`sourceId=${encodeURIComponent(s)}`;if(c&&(r+=`&model=${encodeURIComponent(c)}`),"custom"===z)L&&(r+=`&from=${new Date(L).getTime()}`),M&&(r+=`&to=${new Date(M).getTime()}`);else{let e=f.find(e=>e.key===z);r+=`&from=${Date.now()-(e?.ms??9e5)}`}let t=await (await fetch(`/api/observe/infra/history?${r}`)).json();e&&k(t.points??[])})(),()=>{e=!1}},[s,c,z,L,M,H]),(0,o.useEffect)(()=>{if(!s)return;let e=!0;return(async()=>{let r,t;if(await Promise.resolve(),"custom"===z){if(!L){e&&(S([]),C(0));return}r=new Date(L).getTime(),t=M?new Date(M).getTime():Date.now()}else r=(t=Date.now())-(f.find(e=>e.key===z)?.ms??9e5);let o=await (await fetch(`/api/observe/infra/sources/sessions?sourceId=${encodeURIComponent(s)}&from=${r}&to=${t}&page=${P}&pageSize=10`)).json();e&&(S(o.sessions??[]),C(o.total??0))})(),()=>{e=!1}},[s,z,L,M,P,H]),(0,o.useEffect)(()=>{let e=new Set(["5m","15m","1h"]),r=()=>K(e=>e+1),t=setInterval(()=>{"visible"===document.visibilityState&&e.has(z)&&r()},5e3),o=()=>r(),a=()=>{"visible"===document.visibilityState&&r()};return window.addEventListener("pageshow",o),document.addEventListener("visibilitychange",a),()=>{clearInterval(t),window.removeEventListener("pageshow",o),document.removeEventListener("visibilitychange",a)}},[z]);let el=(0,o.useCallback)(async()=>{if(n){F(!0),O(null);try{let e=`/api/observe/infra/diagnose?target=${encodeURIComponent(n.source.endpoint)}&samples=2${c?`&model=${encodeURIComponent(c)}`:""}`,r=await fetch(e),t=await r.json();if(!r.ok||!t?.slis)throw Error(t?.message||t?.error||`HTTP ${r.status}`);A(t)}catch(e){A(null),O(e instanceof Error?e.message:String(e))}finally{F(!1)}}},[n,c]),ed=(0,o.useCallback)(async()=>{if(n){ee(!0);try{await fetch("/api/observe/infra/sources",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:n.source.id,kind:_,scrapeIntervalMs:G,enabled:X})}),await ei()}finally{ee(!1)}}},[n,_,G,X,ei]),ec=(0,o.useCallback)(async(e=!1)=>{if(n){e||ea(!0);try{let e=await (await fetch(`/api/observe/infra/sources/test?mode=push&sourceId=${encodeURIComponent(n.source.id)}`)).json();et({ok:!!e.ok,message:e.message||e.error||"检测失败"})}catch(e){et({ok:!1,message:e instanceof Error?e.message:String(e)})}finally{e||ea(!1)}}},[n]);if((0,o.useEffect)(()=>{if("push"!==_||!n)return;let e=!0,r=()=>{e&&ec(!0)},t=setTimeout(r,0),o=setInterval(r,3e3);return()=>{e=!1,clearTimeout(t),clearInterval(o)}},[_,n,ec]),U)return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.AppTopBar,{title:"推理 Infra 源"}),(0,r.jsxs)("div",{style:{padding:24},children:[(0,r.jsx)("a",{href:"/infra",style:{color:"var(--primary)"},children:"← 返回"}),(0,r.jsx)("p",{children:"未找到该源。"})]})]});if(!n)return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.AppTopBar,{title:"推理 Infra 源"}),(0,r.jsx)("div",{style:{padding:24,color:"var(--foreground-muted)"},children:"加载中…"})]});let eu=Math.min(100,Math.max(2,(e=Math.max(1.3*j.reduce((e,r)=>"number"==typeof r.kvPerc&&r.kvPerc>e?r.kvPerc:e,0),1))<=5?Math.ceil(e):5*Math.ceil(e/5))),ep=n.verdict?p[n.verdict]??p.idle:p.idle,eg=N?p[N.verdict]??p.idle:null,em="push"===_&&"push"!==n.source.kind&&!er?.ok;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.AppTopBar,{title:"推理 Infra 源"}),(0,r.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:24,color:"var(--foreground)"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:14,flexWrap:"wrap"},children:[(0,r.jsx)("a",{href:"/infra",style:{color:"var(--primary)",fontSize:13},children:"← 所有源"}),(0,r.jsx)("span",{style:{flex:1}}),(0,r.jsx)("span",{style:{fontSize:12,color:"var(--foreground-muted)"},children:"时间段"}),(0,r.jsxs)("div",{style:{display:"flex",border:"1px solid var(--border)",borderRadius:"var(--radius-md)",overflow:"hidden"},children:[f.map(e=>(0,r.jsx)("button",{onClick:()=>{$(e.key),I(1)},style:{padding:"5px 10px",fontSize:12,border:"none",borderRight:"1px solid var(--border)",cursor:"pointer",background:z===e.key?"var(--primary)":"var(--background)",color:z===e.key?"var(--primary-foreground)":"var(--foreground-secondary)"},children:e.label},e.key)),(0,r.jsx)("button",{onClick:()=>{$("custom"),I(1)},style:{padding:"5px 10px",fontSize:12,border:"none",cursor:"pointer",background:"custom"===z?"var(--primary)":"var(--background)",color:"custom"===z?"var(--primary-foreground)":"var(--foreground-secondary)"},children:"自定义"})]}),"custom"===z&&(0,r.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:6,fontSize:12},children:[(0,r.jsx)("input",{type:"datetime-local",value:L,onChange:e=>{R(e.target.value),I(1)},style:m}),(0,r.jsx)("span",{style:{color:"var(--foreground-muted)"},children:"—"}),(0,r.jsx)("input",{type:"datetime-local",value:M,onChange:e=>{B(e.target.value),I(1)},style:m})]})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:6,flexWrap:"wrap"},children:[(0,r.jsx)("h2",{style:{margin:0,fontSize:18},children:n.source.endpoint}),(0,r.jsxs)("span",{style:{fontSize:12.5,fontWeight:600,color:ep.fg,background:ep.bg,border:`1px solid ${ep.border}`,borderRadius:999,padding:"2px 10px"},children:[ep.label,n.bottleneck&&"none"!==n.bottleneck?` \xb7 ${n.bottleneck}`:""]})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:20,flexWrap:"wrap"},children:[(0,r.jsxs)("span",{style:{fontSize:13,color:"var(--foreground-muted)"},children:["pull"===n.source.kind?`主动拉取 \xb7 ${(n.source.scrapeIntervalMs/1e3).toFixed(0)}s`:"Collector 推送",n.source.hardwareName?` \xb7 ${n.source.hardwareName}`:"",n.source.enabled?"":" · 已停用"]}),l.length>0&&(0,r.jsxs)("span",{style:{fontSize:13,color:"var(--foreground-muted)",display:"flex",alignItems:"center",gap:6},children:["模型",l.length>1?(0,r.jsx)("select",{value:c,onChange:e=>{y(e.target.value),A(null)},style:m,children:l.map(e=>(0,r.jsx)("option",{value:e,children:e},e))}):(0,r.jsx)("b",{style:{color:"var(--foreground)"},children:l[0]}),l.length>1&&(0,r.jsxs)("span",{style:{color:"var(--foreground-muted)"},children:["(共 ",l.length," 个)"]})]})]}),(0,r.jsxs)("h3",{style:{margin:"0 0 10px"},children:["历史趋势",l.length>1?`(${c})`:""]}),j.length<2?(0,r.jsx)("div",{style:{color:"var(--foreground-muted)",fontSize:13,marginBottom:24},children:"采样不足(至少 2 条)。自动拉取攒一会,或到源管理点「立即拉取一轮」。"}):(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:10,marginBottom:28},children:[(0,r.jsx)(b,{title:"调度:并发 / 排队",explain:"并发=正在推理的请求数;排队=在等待、还没开始算的请求数。排队持续 >0 = 容量不够/过载。并发高且排队≈0 最理想;排队越低越好。",data:j,series:[{key:"running",name:"并发",color:"var(--primary)"},{key:"waiting",name:"排队",color:"var(--warning)"}]}),(0,r.jsx)(b,{title:"排队原因:容量 / 延后",explain:"把「排队」拆成原因。capacity=因显存/KV 容量不足而排队(要扩容或降负载);deferred=被调度策略主动延后。capacity >0 是容量瓶颈信号;两者都越低越好。",data:j,series:[{key:"waitingCapacity",name:"capacity",color:"var(--error)"},{key:"waitingDeferred",name:"deferred",color:"var(--warning)"}]}),(0,r.jsx)(b,{title:`KV 使用率 %(轴顶 ${eu}%)`,explain:"KV cache 占用的显存比例。>90% 接近占满,会触发抢占/排队;<80% 健康。纵轴按当前数据自适应放大、封顶 100%——所以负载轻时也能看见曲线,但要看标题里的「轴顶 N%」判断真实高低:轴顶是个位数=负载很轻,逼近 100 才危险。",data:j,series:[{key:"kvPerc",name:"KV%",color:"var(--error)"}],yDomain:[0,eu]}),(0,r.jsx)(b,{title:"吞吐 tok/s:输入 / 生成",explain:"每秒处理的 token 数:输入=prompt 侧,生成=输出侧。越高=吞吐越大(好),但要结合延迟一起看。空载时为 0 属正常。",data:j,series:[{key:"promptTokPerS",name:"prompt",color:"var(--primary)"},{key:"genTokPerS",name:"gen",color:"var(--success)"}]}),(0,r.jsx)(b,{title:"首 token 延迟分段 p95 (s):TTFT / 排队 / prefill",explain:"TTFT=用户发出到看到第一个字的时间(=排队+prefill),越低越好(交互场景 p95<0.5s)。看 TTFT 高时是 queue(排队)主导还是 prefill(首次计算)主导,就能定位是「堵」还是「算得慢」。都越低越好。",data:j,series:[{key:"ttftP95",name:"TTFT",color:"var(--primary)"},{key:"queueP95",name:"queue",color:"var(--warning)"},{key:"prefillP95",name:"prefill",color:"var(--success)"}]}),(0,r.jsx)(b,{title:"decode 延迟 p95 (ms):ITL / TPOT",explain:"decode(逐 token 生成)阶段的「吐字快不快」,两个口径都是越低越好:<50ms 几乎无感、50–100ms 可接受、>100ms 开始卡顿。 ITL(Inter-Token Latency,token 间延迟)=相邻两个输出 token 的瞬时间隔,能看出抖动/毛刺(如被抢占)。 TPOT(Time Per Output Token,每输出 token 耗时)=(总生成耗时−TTFT)÷(输出 token 数−1),是摊薄后的平均值,把抖动抹平。数值上 TPOT≈ITL 的平均。 注意它俩衡量的是「出字速度」,而 TTFT 衡量的是「等多久开始出字」,是两回事。偏高通常是 decode 受显存带宽限制(增大 batch / 量化可缓解)。",data:j,series:[{key:"itlP95Ms",name:"ITL",color:"var(--warning)"},{key:"tpotP95Ms",name:"TPOT",color:"var(--error)"}]}),(0,r.jsx)(b,{title:"端到端延迟 p95 (s)",explain:"单个请求从进到出的总耗时(秒)≈ 排队 + prefill + 全部 decode。越低越好;它是用户实际感受到的总等待。",data:j,series:[{key:"e2eP95",name:"e2e",color:"var(--primary)"}]}),(0,r.jsx)(b,{title:"Prefix 命中 %",explain:"提示词前缀缓存命中率。越高越好(>80% 优秀):命中越多,越能跳过重复的 prefill 计算、降低 TTFT、省算力。低(<50%)说明提示词复用差、每次都在重算。",data:j,series:[{key:"prefixHitPerc",name:"Prefix",color:"var(--success)"}],yDomain:[0,100]}),(0,r.jsx)(b,{title:"抢占 次/s",explain:"单位时间内被驱逐重算的序列数。应≈0:>0 说明 KV 过载、运行中的请求被踢掉重算,会让尾延迟剧烈抖动。越低越好,理想是 0。",data:j,series:[{key:"preemptRate",name:"preempt",color:"var(--error)"}]})]}),(0,r.jsxs)("h3",{style:{margin:"0 0 10px"},children:["相关会话(该时间段内命中此源的调用 · 共 ",T,")"]}),0===T?(0,r.jsx)("div",{style:{color:"var(--foreground-muted)",fontSize:13,marginBottom:28},children:"该时间段内没有命中此源的会话调用。上方切换时间段可改变范围。"}):(0,r.jsxs)("div",{style:{marginBottom:28},children:[(0,r.jsxs)("div",{style:{border:"1px solid var(--card-border)",borderRadius:"var(--radius-md)",overflow:"hidden"},children:[(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"120px 1fr 90px 90px 90px",gap:8,padding:"8px 12px",background:"var(--background-secondary)",fontSize:11.5,color:"var(--foreground-muted)",fontWeight:600},children:[(0,r.jsx)("span",{children:"时间"}),(0,r.jsx)("span",{children:"会话 / Agent"}),(0,r.jsx)("span",{style:{textAlign:"right"},children:"延迟"}),(0,r.jsx)("span",{style:{textAlign:"right"},children:"输出tok"}),(0,r.jsx)("span",{style:{textAlign:"right"},children:"模型"})]}),w.map(e=>(0,r.jsxs)("a",{href:`/trace?taskId=${encodeURIComponent(e.taskId||e.id)}`,style:{display:"grid",gridTemplateColumns:"120px 1fr 90px 90px 90px",gap:8,padding:"8px 12px",borderTop:"1px solid var(--border)",fontSize:12.5,color:"inherit",textDecoration:"none",alignItems:"center"},children:[(0,r.jsx)("span",{style:{color:"var(--foreground-muted)",fontVariantNumeric:"tabular-nums"},children:h(e.tsMs)}),(0,r.jsxs)("span",{style:{color:"var(--primary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[e.agentName||e.taskId||e.id," →"]}),(0,r.jsx)("span",{style:{textAlign:"right",fontVariantNumeric:"tabular-nums"},children:null==e.latencyMs?"n/a":`${(e.latencyMs/1e3).toFixed(1)}s`}),(0,r.jsx)("span",{style:{textAlign:"right",fontVariantNumeric:"tabular-nums"},children:e.outputTokens??"n/a"}),(0,r.jsx)("span",{style:{textAlign:"right",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--foreground-muted)"},children:e.model??"—"})]},e.id))]}),T>10&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:10,fontSize:12.5},children:[(0,r.jsx)("button",{onClick:()=>I(e=>Math.max(1,e-1)),disabled:P<=1,style:{...m,cursor:P<=1?"default":"pointer",opacity:P<=1?.5:1},children:"上一页"}),(0,r.jsxs)("span",{style:{color:"var(--foreground-muted)"},children:["第 ",P," / ",Math.ceil(T/10)," 页"]}),(0,r.jsx)("button",{onClick:()=>I(e=>Math.min(Math.ceil(T/10),e+1)),disabled:P>=Math.ceil(T/10),style:{...m,cursor:P>=Math.ceil(T/10)?"default":"pointer",opacity:P>=Math.ceil(T/10)?.5:1},children:"下一页"})]})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,margin:"0 0 10px"},children:[(0,r.jsxs)("h3",{style:{margin:0},children:["实时诊断",l.length>1?`(${c})`:""]}),(0,r.jsx)("button",{onClick:el,disabled:E,style:{...m,cursor:"pointer",background:"var(--primary)",color:"var(--primary-foreground)",border:"none",padding:"6px 14px"},children:E?"诊断中…":"立即诊断(采 2 次)"})]}),W&&(0,r.jsxs)("div",{style:{color:"var(--error)",fontSize:13,marginBottom:20},children:["诊断失败:",W]}),N&&N.slis&&eg&&(0,r.jsxs)("div",{style:{marginBottom:28},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,padding:"12px 16px",marginBottom:12,borderRadius:"var(--radius-lg)",background:eg.bg,border:`1px solid ${eg.border}`},children:[(0,r.jsx)("span",{style:{fontSize:18,fontWeight:700,color:eg.fg},children:eg.label}),(0,r.jsxs)("span",{style:{color:"var(--foreground-secondary)",fontSize:13},children:["主瓶颈:",(0,r.jsx)("b",{children:N.bottleneck})," · 采样 ",N.samples," · model ",N.model??"n/a"]})]}),(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(140px, 1fr))",gap:10,marginBottom:14},children:[(0,r.jsx)(v,{label:"并发(peak)",value:String(N.slis.runningPeak)}),(0,r.jsx)(v,{label:"排队(peak)",value:String(N.slis.waitingPeak)}),(0,r.jsx)(v,{label:"KV 峰值",value:x(N.slis.kvPeakPerc,1,"%")}),(0,r.jsx)(v,{label:"生成 tok/s",value:x(N.slis.genTokPerS,1)}),(0,r.jsx)(v,{label:"TTFT p95",value:x(N.slis.ttftP95,2,"s")}),(0,r.jsx)(v,{label:"ITL p95",value:null==N.slis.itlP95?"n/a":x(1e3*N.slis.itlP95,0,"ms")}),(0,r.jsx)(v,{label:"Prefix 命中",value:null==N.slis.prefixHit?"n/a":x(100*N.slis.prefixHit,1,"%")}),(0,r.jsx)(v,{label:"抢占/s",value:x(N.slis.preemptRate,2)})]}),(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:N.findings.map((e,t)=>(0,r.jsxs)("div",{style:{padding:"12px 16px",borderRadius:"var(--radius-md)",background:"var(--card-bg)",border:"1px solid var(--card-border)",borderLeft:`4px solid ${g[e.sev]??"var(--border)"}`},children:[(0,r.jsxs)("div",{style:{fontWeight:600,marginBottom:4},children:[(0,r.jsx)("span",{style:{color:g[e.sev],marginRight:6},children:"●"}),"[",e.cls,"] ",e.title]}),(0,r.jsxs)("div",{style:{fontSize:13,color:"var(--foreground-muted)",marginBottom:4},children:["证据:",e.evidence]}),(0,r.jsx)("div",{style:{fontSize:13,color:"var(--foreground-secondary)"},children:e.diagnosis}),e.remediation.length>0&&(0,r.jsx)("ul",{style:{margin:"8px 0 0",paddingLeft:18,fontSize:13,color:"var(--foreground-secondary)"},children:e.remediation.map((e,t)=>(0,r.jsx)("li",{children:e},t))})]},t))})]}),(0,r.jsx)("h3",{style:{margin:"0 0 10px"},children:"采集配置"}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",marginBottom:12},children:[(0,r.jsxs)("label",{children:[(0,r.jsx)("input",{type:"checkbox",checked:X,onChange:e=>Y(e.target.checked)})," 启用"]}),"采集方式",(0,r.jsxs)("select",{value:_,onChange:e=>V(e.target.value),style:m,children:[(0,r.jsx)("option",{value:"pull",children:"主动拉取 (PULL)"}),(0,r.jsx)("option",{value:"push",children:"Collector 推送 (PUSH)"})]}),"pull"===_&&(0,r.jsxs)(r.Fragment,{children:["间隔",(0,r.jsx)("input",{type:"number",min:1e3,step:1e3,value:G,onChange:e=>q(Number(e.target.value)),style:{...m,width:92}}),"ms(",(G/1e3).toFixed(0),"s)"]}),(0,r.jsx)("button",{onClick:ed,disabled:Q||em,title:em?"切换到推送前,请先按下方配置启动 collector,待检测到推送后再保存":"",style:{...m,cursor:em?"not-allowed":"pointer",background:em?"var(--background-secondary)":"var(--primary)",color:em?"var(--foreground-muted)":"var(--primary-foreground)",border:"none",padding:"6px 14px"},children:Q?"保存中…":"保存"}),em&&(0,r.jsx)("span",{style:{fontSize:12,color:"var(--foreground-muted)"},children:"← 先按下方配置启动 collector,检测到推送后才能保存切换"})]}),"pull"===_&&(0,r.jsxs)("div",{style:{fontSize:13,color:"var(--foreground-muted)",marginBottom:24},children:["主动拉取:agent-insight 每 ",(G/1e3).toFixed(0),"s 去 GET ",(0,r.jsx)("code",{children:n.source.scrapeUrl}),",对方无需安装任何东西。"]}),"push"===_&&(0,r.jsxs)("div",{style:{marginBottom:24},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 14px",marginBottom:14,borderRadius:"var(--radius-md)",background:er?.ok?"var(--success-subtle)":"var(--background-secondary)",border:`1px solid ${er?.ok?"var(--success-subtle-border)":"var(--border)"}`},children:[(0,r.jsx)("span",{style:{fontSize:16},children:er?.ok?"✓":"⏳"}),(0,r.jsx)("span",{style:{fontWeight:600,color:"var(--foreground)"},children:er?.ok?"已收到 collector 推送":"等待 collector 推送…"}),(0,r.jsx)("span",{style:{fontSize:12.5,color:"var(--foreground-muted)"},children:er?.message??"本页每 3s 自动检测,启动 collector 后自动转为已收到"}),(0,r.jsx)("span",{style:{flex:1}}),(0,r.jsx)("button",{onClick:()=>ec(!1),disabled:eo,style:{...m,cursor:"pointer"},children:eo?"检测中…":"立即检测"})]}),(0,r.jsxs)("div",{style:{fontSize:13,color:"var(--foreground)",marginBottom:10,lineHeight:1.8},children:[(0,r.jsx)("b",{children:"推送模式 = 你自己在能访问该源的机器上跑一个 OTel Collector 把指标推过来"}),"(本服务不会替你启动 collector)。建议流程:",(0,r.jsxs)("div",{style:{marginTop:6,color:"var(--foreground-secondary)"},children:["① 设好上报周期 + 本服务可达地址 → 复制下面的 ",(0,r.jsx)("code",{children:"otelcol.yaml"})]}),(0,r.jsxs)("div",{style:{color:"var(--foreground-secondary)"},children:["② 在能访问 ",(0,r.jsx)("code",{children:n.source.endpoint})," 的机器上启动:",(0,r.jsx)("code",{children:"otelcol-contrib --config otelcol.yaml"})]}),(0,r.jsx)("div",{style:{color:"var(--foreground-secondary)"},children:"③ 上方状态变「✓ 已收到推送」后,再点上面「保存」把采集方式正式切到推送(切换前可一直保持主动拉)"})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12.5,color:"var(--foreground-muted)",marginBottom:8,flexWrap:"wrap"},children:[(0,r.jsx)("span",{children:"上报周期"}),(0,r.jsx)("input",{type:"number",min:1,step:1,value:Z,onChange:e=>J(Math.max(1,Number(e.target.value))),style:{...m,width:60}}),(0,r.jsx)("span",{children:"s(须 ≥ 目标响应时间,否则 scrape 超时;本地可 1~2s,经 Tailscale 的 GX10 建议 5s)"}),(0,r.jsx)("span",{style:{marginLeft:12},children:"本服务可达地址"}),(0,r.jsx)("input",{value:es,onChange:e=>en(e.target.value),style:{...m,width:360},title:"collector 在别的机器上时,把 localhost 改成本机可达的 IP/域名"})]}),(0,r.jsx)("pre",{style:{background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:"var(--radius-md)",padding:12,fontSize:12,overflowX:"auto",whiteSpace:"pre",color:"var(--foreground)"},children:function(e,r,t){let o=e;try{o=new URL(e).host}catch{}let a=Math.max(1,t-1);return`receivers:
2
+ prometheus:
3
+ config:
4
+ scrape_configs:
5
+ - job_name: vllm
6
+ scrape_interval: ${t}s
7
+ scrape_timeout: ${a}s
8
+ static_configs:
9
+ - targets: ['${o}']
10
+ exporters:
11
+ otlphttp:
12
+ metrics_endpoint: ${r}
13
+ service:
14
+ pipelines:
15
+ metrics:
16
+ receivers: [prometheus]
17
+ exporters: [otlphttp]`}(n.source.endpoint,es,Z)}),(0,r.jsxs)("div",{style:{fontSize:12,color:"var(--foreground-muted)",marginTop:6,lineHeight:1.7},children:["· ",(0,r.jsx)("code",{children:"targets"})," 已自动填为该源地址 ",(0,r.jsx)("code",{children:(()=>{try{return new URL(n.source.endpoint).host}catch{return n.source.endpoint}})()}),"(collector 要抓的就是它,不是写死)。",(0,r.jsx)("br",{}),"· ",(0,r.jsx)("code",{children:"metrics_endpoint"})," 取自部署配置 ",(0,r.jsx)("code",{children:"AGENT_INSIGHT_HOST"}),"(部署后固定);若它是 ",(0,r.jsx)("code",{children:"localhost"})," 而 collector 在",(0,r.jsx)("b",{children:"别的机器"}),"上,把上面「本服务可达地址」改成本服务可达的 IP/域名。",(0,r.jsx)("br",{}),"· 接收端点同时支持 OTLP/protobuf(collector 默认)与 OTLP/json,无需配 encoding。"]})]})]})]})}e.s(["default",()=>j])}]);