agent-insight 0.5.3 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +2 -2
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/server/app/(main)/accessconfig/channels/page_client-reference-manifest.js +1 -1
  5. package/.next/standalone/.next/server/app/(main)/accessconfig/health/page_client-reference-manifest.js +1 -1
  6. package/.next/standalone/.next/server/app/(main)/accessconfig/install/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(main)/accessconfig/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(main)/accessconfig/webhooks/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(main)/agents/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(main)/dataset/[id]/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(main)/dataset/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(main)/eval/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(main)/eval/run/[runId]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(main)/eval/trajectory/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(main)/evaluation/[id]/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(main)/fault/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(main)/fault/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(main)/infra/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(main)/infra/sources/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(main)/memory/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(main)/metrics/evaluators/[id]/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/(main)/metrics/page.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/(main)/metrics/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/(main)/modelconfig/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(main)/optapi/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/(main)/quality/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(main)/security/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/(main)/skill-eval/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(main)/skill-eval/trigger/[skillName]/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(main)/skill-generator/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/(main)/skill-history/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/(main)/skill-history/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(main)/skill-opt/[name]/[version]/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/(main)/skill-opt/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/(main)/skill-release/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/(main)/skills/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/(main)/trace/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/(main)/trace/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/(main)/version-analysis/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/(main)/version-management/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  49. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  50. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  51. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  52. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  53. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  54. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  55. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  57. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  58. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  59. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  60. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  61. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  62. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  63. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  64. package/.next/standalone/.next/server/app/accessconfig/channels.html +1 -1
  65. package/.next/standalone/.next/server/app/accessconfig/channels.rsc +5 -5
  66. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels/__PAGE__.segment.rsc +2 -2
  67. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels.segment.rsc +1 -1
  68. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  69. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p.segment.rsc +2 -2
  70. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_full.segment.rsc +5 -5
  71. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_head.segment.rsc +1 -1
  72. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_index.segment.rsc +3 -3
  73. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_tree.segment.rsc +2 -2
  74. package/.next/standalone/.next/server/app/accessconfig/health.html +1 -1
  75. package/.next/standalone/.next/server/app/accessconfig/health.rsc +5 -5
  76. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health/__PAGE__.segment.rsc +2 -2
  77. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health.segment.rsc +1 -1
  78. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  79. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p.segment.rsc +2 -2
  80. package/.next/standalone/.next/server/app/accessconfig/health.segments/_full.segment.rsc +5 -5
  81. package/.next/standalone/.next/server/app/accessconfig/health.segments/_head.segment.rsc +1 -1
  82. package/.next/standalone/.next/server/app/accessconfig/health.segments/_index.segment.rsc +3 -3
  83. package/.next/standalone/.next/server/app/accessconfig/health.segments/_tree.segment.rsc +2 -2
  84. package/.next/standalone/.next/server/app/accessconfig/install.html +2 -2
  85. package/.next/standalone/.next/server/app/accessconfig/install.rsc +5 -5
  86. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install/__PAGE__.segment.rsc +2 -2
  87. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install.segment.rsc +1 -1
  88. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  89. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p.segment.rsc +2 -2
  90. package/.next/standalone/.next/server/app/accessconfig/install.segments/_full.segment.rsc +5 -5
  91. package/.next/standalone/.next/server/app/accessconfig/install.segments/_head.segment.rsc +1 -1
  92. package/.next/standalone/.next/server/app/accessconfig/install.segments/_index.segment.rsc +3 -3
  93. package/.next/standalone/.next/server/app/accessconfig/install.segments/_tree.segment.rsc +2 -2
  94. package/.next/standalone/.next/server/app/accessconfig/webhooks.html +1 -1
  95. package/.next/standalone/.next/server/app/accessconfig/webhooks.rsc +5 -5
  96. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks/__PAGE__.segment.rsc +2 -2
  97. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks.segment.rsc +1 -1
  98. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  99. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p.segment.rsc +2 -2
  100. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_full.segment.rsc +5 -5
  101. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_head.segment.rsc +1 -1
  102. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_index.segment.rsc +3 -3
  103. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_tree.segment.rsc +2 -2
  104. package/.next/standalone/.next/server/app/accessconfig.html +1 -1
  105. package/.next/standalone/.next/server/app/accessconfig.rsc +4 -4
  106. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig/__PAGE__.segment.rsc +1 -1
  107. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  108. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p.segment.rsc +2 -2
  109. package/.next/standalone/.next/server/app/accessconfig.segments/_full.segment.rsc +4 -4
  110. package/.next/standalone/.next/server/app/accessconfig.segments/_head.segment.rsc +1 -1
  111. package/.next/standalone/.next/server/app/accessconfig.segments/_index.segment.rsc +3 -3
  112. package/.next/standalone/.next/server/app/accessconfig.segments/_tree.segment.rsc +2 -2
  113. package/.next/standalone/.next/server/app/agents.html +1 -1
  114. package/.next/standalone/.next/server/app/agents.rsc +5 -5
  115. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +2 -2
  116. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +1 -1
  117. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +2 -2
  118. package/.next/standalone/.next/server/app/agents.segments/_full.segment.rsc +5 -5
  119. package/.next/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  120. package/.next/standalone/.next/server/app/agents.segments/_index.segment.rsc +3 -3
  121. package/.next/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  122. package/.next/standalone/.next/server/app/api/agent/run/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/agent/stream/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/api/debug/execute/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js.nft.json +1 -1
  127. package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js.nft.json +1 -1
  128. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route.js +1 -1
  133. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route.js +1 -1
  135. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/draft/route.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js.nft.json +1 -1
  143. package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/[draftNumber]/apply/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/files/[...path]/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/user-evaluators/route.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/app/dashboard.html +1 -1
  150. package/.next/standalone/.next/server/app/dashboard.rsc +5 -5
  151. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard/__PAGE__.segment.rsc +2 -2
  152. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard.segment.rsc +1 -1
  153. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p.segment.rsc +2 -2
  154. package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +5 -5
  155. package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  156. package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +3 -3
  157. package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  158. package/.next/standalone/.next/server/app/dataset.html +1 -1
  159. package/.next/standalone/.next/server/app/dataset.rsc +5 -5
  160. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset/__PAGE__.segment.rsc +2 -2
  161. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset.segment.rsc +1 -1
  162. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p.segment.rsc +2 -2
  163. package/.next/standalone/.next/server/app/dataset.segments/_full.segment.rsc +5 -5
  164. package/.next/standalone/.next/server/app/dataset.segments/_head.segment.rsc +1 -1
  165. package/.next/standalone/.next/server/app/dataset.segments/_index.segment.rsc +3 -3
  166. package/.next/standalone/.next/server/app/dataset.segments/_tree.segment.rsc +2 -2
  167. package/.next/standalone/.next/server/app/eval/trajectory.html +1 -1
  168. package/.next/standalone/.next/server/app/eval/trajectory.rsc +5 -5
  169. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory/__PAGE__.segment.rsc +2 -2
  170. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory.segment.rsc +1 -1
  171. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval.segment.rsc +1 -1
  172. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p.segment.rsc +2 -2
  173. package/.next/standalone/.next/server/app/eval/trajectory.segments/_full.segment.rsc +5 -5
  174. package/.next/standalone/.next/server/app/eval/trajectory.segments/_head.segment.rsc +1 -1
  175. package/.next/standalone/.next/server/app/eval/trajectory.segments/_index.segment.rsc +3 -3
  176. package/.next/standalone/.next/server/app/eval/trajectory.segments/_tree.segment.rsc +2 -2
  177. package/.next/standalone/.next/server/app/eval.html +1 -1
  178. package/.next/standalone/.next/server/app/eval.rsc +5 -5
  179. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval/__PAGE__.segment.rsc +2 -2
  180. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval.segment.rsc +1 -1
  181. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p.segment.rsc +2 -2
  182. package/.next/standalone/.next/server/app/eval.segments/_full.segment.rsc +5 -5
  183. package/.next/standalone/.next/server/app/eval.segments/_head.segment.rsc +1 -1
  184. package/.next/standalone/.next/server/app/eval.segments/_index.segment.rsc +3 -3
  185. package/.next/standalone/.next/server/app/eval.segments/_tree.segment.rsc +2 -2
  186. package/.next/standalone/.next/server/app/fault.html +1 -1
  187. package/.next/standalone/.next/server/app/fault.rsc +5 -5
  188. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault/__PAGE__.segment.rsc +2 -2
  189. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault.segment.rsc +1 -1
  190. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p.segment.rsc +2 -2
  191. package/.next/standalone/.next/server/app/fault.segments/_full.segment.rsc +5 -5
  192. package/.next/standalone/.next/server/app/fault.segments/_head.segment.rsc +1 -1
  193. package/.next/standalone/.next/server/app/fault.segments/_index.segment.rsc +3 -3
  194. package/.next/standalone/.next/server/app/fault.segments/_tree.segment.rsc +2 -2
  195. package/.next/standalone/.next/server/app/index.html +1 -1
  196. package/.next/standalone/.next/server/app/index.rsc +3 -3
  197. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  198. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  199. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  200. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  201. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  202. package/.next/standalone/.next/server/app/infra/sources.html +1 -1
  203. package/.next/standalone/.next/server/app/infra/sources.rsc +5 -5
  204. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources/__PAGE__.segment.rsc +2 -2
  205. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources.segment.rsc +1 -1
  206. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra.segment.rsc +1 -1
  207. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p.segment.rsc +2 -2
  208. package/.next/standalone/.next/server/app/infra/sources.segments/_full.segment.rsc +5 -5
  209. package/.next/standalone/.next/server/app/infra/sources.segments/_head.segment.rsc +1 -1
  210. package/.next/standalone/.next/server/app/infra/sources.segments/_index.segment.rsc +3 -3
  211. package/.next/standalone/.next/server/app/infra/sources.segments/_tree.segment.rsc +2 -2
  212. package/.next/standalone/.next/server/app/infra.html +1 -1
  213. package/.next/standalone/.next/server/app/infra.rsc +5 -5
  214. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra/__PAGE__.segment.rsc +2 -2
  215. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra.segment.rsc +1 -1
  216. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p.segment.rsc +2 -2
  217. package/.next/standalone/.next/server/app/infra.segments/_full.segment.rsc +5 -5
  218. package/.next/standalone/.next/server/app/infra.segments/_head.segment.rsc +1 -1
  219. package/.next/standalone/.next/server/app/infra.segments/_index.segment.rsc +3 -3
  220. package/.next/standalone/.next/server/app/infra.segments/_tree.segment.rsc +2 -2
  221. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/app/login.html +1 -1
  223. package/.next/standalone/.next/server/app/login.rsc +4 -4
  224. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +4 -4
  225. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  226. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
  227. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  228. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  229. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  230. package/.next/standalone/.next/server/app/memory.html +1 -1
  231. package/.next/standalone/.next/server/app/memory.rsc +5 -5
  232. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory/__PAGE__.segment.rsc +2 -2
  233. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory.segment.rsc +1 -1
  234. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p.segment.rsc +2 -2
  235. package/.next/standalone/.next/server/app/memory.segments/_full.segment.rsc +5 -5
  236. package/.next/standalone/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  237. package/.next/standalone/.next/server/app/memory.segments/_index.segment.rsc +3 -3
  238. package/.next/standalone/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
  239. package/.next/standalone/.next/server/app/metrics.html +1 -1
  240. package/.next/standalone/.next/server/app/metrics.rsc +5 -5
  241. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics/__PAGE__.segment.rsc +2 -2
  242. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics.segment.rsc +1 -1
  243. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p.segment.rsc +2 -2
  244. package/.next/standalone/.next/server/app/metrics.segments/_full.segment.rsc +5 -5
  245. package/.next/standalone/.next/server/app/metrics.segments/_head.segment.rsc +1 -1
  246. package/.next/standalone/.next/server/app/metrics.segments/_index.segment.rsc +3 -3
  247. package/.next/standalone/.next/server/app/metrics.segments/_tree.segment.rsc +2 -2
  248. package/.next/standalone/.next/server/app/modelconfig/registry.html +1 -1
  249. package/.next/standalone/.next/server/app/modelconfig/registry.rsc +5 -5
  250. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry/__PAGE__.segment.rsc +2 -2
  251. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry.segment.rsc +1 -1
  252. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  253. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p.segment.rsc +2 -2
  254. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_full.segment.rsc +5 -5
  255. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_head.segment.rsc +1 -1
  256. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_index.segment.rsc +3 -3
  257. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_tree.segment.rsc +2 -2
  258. package/.next/standalone/.next/server/app/modelconfig/web-search.html +1 -1
  259. package/.next/standalone/.next/server/app/modelconfig/web-search.rsc +5 -5
  260. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search/__PAGE__.segment.rsc +2 -2
  261. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search.segment.rsc +1 -1
  262. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  263. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p.segment.rsc +2 -2
  264. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_full.segment.rsc +5 -5
  265. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_head.segment.rsc +1 -1
  266. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_index.segment.rsc +3 -3
  267. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_tree.segment.rsc +2 -2
  268. package/.next/standalone/.next/server/app/modelconfig.html +1 -1
  269. package/.next/standalone/.next/server/app/modelconfig.rsc +4 -4
  270. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig/__PAGE__.segment.rsc +1 -1
  271. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  272. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p.segment.rsc +2 -2
  273. package/.next/standalone/.next/server/app/modelconfig.segments/_full.segment.rsc +4 -4
  274. package/.next/standalone/.next/server/app/modelconfig.segments/_head.segment.rsc +1 -1
  275. package/.next/standalone/.next/server/app/modelconfig.segments/_index.segment.rsc +3 -3
  276. package/.next/standalone/.next/server/app/modelconfig.segments/_tree.segment.rsc +2 -2
  277. package/.next/standalone/.next/server/app/optapi.html +1 -1
  278. package/.next/standalone/.next/server/app/optapi.rsc +5 -5
  279. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi/__PAGE__.segment.rsc +2 -2
  280. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p.segment.rsc +2 -2
  282. package/.next/standalone/.next/server/app/optapi.segments/_full.segment.rsc +5 -5
  283. package/.next/standalone/.next/server/app/optapi.segments/_head.segment.rsc +1 -1
  284. package/.next/standalone/.next/server/app/optapi.segments/_index.segment.rsc +3 -3
  285. package/.next/standalone/.next/server/app/optapi.segments/_tree.segment.rsc +2 -2
  286. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  287. package/.next/standalone/.next/server/app/quality.html +1 -1
  288. package/.next/standalone/.next/server/app/quality.rsc +5 -5
  289. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality/__PAGE__.segment.rsc +2 -2
  290. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality.segment.rsc +1 -1
  291. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p.segment.rsc +2 -2
  292. package/.next/standalone/.next/server/app/quality.segments/_full.segment.rsc +5 -5
  293. package/.next/standalone/.next/server/app/quality.segments/_head.segment.rsc +1 -1
  294. package/.next/standalone/.next/server/app/quality.segments/_index.segment.rsc +3 -3
  295. package/.next/standalone/.next/server/app/quality.segments/_tree.segment.rsc +2 -2
  296. package/.next/standalone/.next/server/app/security.html +1 -1
  297. package/.next/standalone/.next/server/app/security.rsc +5 -5
  298. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security/__PAGE__.segment.rsc +2 -2
  299. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security.segment.rsc +1 -1
  300. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p.segment.rsc +2 -2
  301. package/.next/standalone/.next/server/app/security.segments/_full.segment.rsc +5 -5
  302. package/.next/standalone/.next/server/app/security.segments/_head.segment.rsc +1 -1
  303. package/.next/standalone/.next/server/app/security.segments/_index.segment.rsc +3 -3
  304. package/.next/standalone/.next/server/app/security.segments/_tree.segment.rsc +2 -2
  305. package/.next/standalone/.next/server/app/skill-detail/page_client-reference-manifest.js +1 -1
  306. package/.next/standalone/.next/server/app/skill-detail.html +1 -1
  307. package/.next/standalone/.next/server/app/skill-detail.rsc +4 -4
  308. package/.next/standalone/.next/server/app/skill-detail.segments/_full.segment.rsc +4 -4
  309. package/.next/standalone/.next/server/app/skill-detail.segments/_head.segment.rsc +1 -1
  310. package/.next/standalone/.next/server/app/skill-detail.segments/_index.segment.rsc +3 -3
  311. package/.next/standalone/.next/server/app/skill-detail.segments/_tree.segment.rsc +2 -2
  312. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail/__PAGE__.segment.rsc +2 -2
  313. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail.segment.rsc +1 -1
  314. package/.next/standalone/.next/server/app/skill-eval/grayscale.html +2 -2
  315. package/.next/standalone/.next/server/app/skill-eval/grayscale.rsc +5 -5
  316. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale/__PAGE__.segment.rsc +2 -2
  317. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale.segment.rsc +1 -1
  318. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  319. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p.segment.rsc +2 -2
  320. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_full.segment.rsc +5 -5
  321. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_head.segment.rsc +1 -1
  322. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_index.segment.rsc +3 -3
  323. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_tree.segment.rsc +2 -2
  324. package/.next/standalone/.next/server/app/skill-eval.html +1 -1
  325. package/.next/standalone/.next/server/app/skill-eval.rsc +5 -5
  326. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval/__PAGE__.segment.rsc +2 -2
  327. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  328. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p.segment.rsc +2 -2
  329. package/.next/standalone/.next/server/app/skill-eval.segments/_full.segment.rsc +5 -5
  330. package/.next/standalone/.next/server/app/skill-eval.segments/_head.segment.rsc +1 -1
  331. package/.next/standalone/.next/server/app/skill-eval.segments/_index.segment.rsc +3 -3
  332. package/.next/standalone/.next/server/app/skill-eval.segments/_tree.segment.rsc +2 -2
  333. package/.next/standalone/.next/server/app/skill-generator.html +1 -1
  334. package/.next/standalone/.next/server/app/skill-generator.rsc +5 -5
  335. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator/__PAGE__.segment.rsc +2 -2
  336. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator.segment.rsc +1 -1
  337. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p.segment.rsc +2 -2
  338. package/.next/standalone/.next/server/app/skill-generator.segments/_full.segment.rsc +5 -5
  339. package/.next/standalone/.next/server/app/skill-generator.segments/_head.segment.rsc +1 -1
  340. package/.next/standalone/.next/server/app/skill-generator.segments/_index.segment.rsc +3 -3
  341. package/.next/standalone/.next/server/app/skill-generator.segments/_tree.segment.rsc +2 -2
  342. package/.next/standalone/.next/server/app/skill-history.html +1 -1
  343. package/.next/standalone/.next/server/app/skill-history.rsc +5 -5
  344. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history/__PAGE__.segment.rsc +2 -2
  345. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history.segment.rsc +1 -1
  346. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p.segment.rsc +2 -2
  347. package/.next/standalone/.next/server/app/skill-history.segments/_full.segment.rsc +5 -5
  348. package/.next/standalone/.next/server/app/skill-history.segments/_head.segment.rsc +1 -1
  349. package/.next/standalone/.next/server/app/skill-history.segments/_index.segment.rsc +3 -3
  350. package/.next/standalone/.next/server/app/skill-history.segments/_tree.segment.rsc +2 -2
  351. package/.next/standalone/.next/server/app/skill-opt.html +1 -1
  352. package/.next/standalone/.next/server/app/skill-opt.rsc +5 -5
  353. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt/__PAGE__.segment.rsc +2 -2
  354. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt.segment.rsc +1 -1
  355. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p.segment.rsc +2 -2
  356. package/.next/standalone/.next/server/app/skill-opt.segments/_full.segment.rsc +5 -5
  357. package/.next/standalone/.next/server/app/skill-opt.segments/_head.segment.rsc +1 -1
  358. package/.next/standalone/.next/server/app/skill-opt.segments/_index.segment.rsc +3 -3
  359. package/.next/standalone/.next/server/app/skill-opt.segments/_tree.segment.rsc +2 -2
  360. package/.next/standalone/.next/server/app/skill-release.html +1 -1
  361. package/.next/standalone/.next/server/app/skill-release.rsc +5 -5
  362. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release/__PAGE__.segment.rsc +2 -2
  363. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release.segment.rsc +1 -1
  364. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p.segment.rsc +2 -2
  365. package/.next/standalone/.next/server/app/skill-release.segments/_full.segment.rsc +5 -5
  366. package/.next/standalone/.next/server/app/skill-release.segments/_head.segment.rsc +1 -1
  367. package/.next/standalone/.next/server/app/skill-release.segments/_index.segment.rsc +3 -3
  368. package/.next/standalone/.next/server/app/skill-release.segments/_tree.segment.rsc +2 -2
  369. package/.next/standalone/.next/server/app/skills.html +1 -1
  370. package/.next/standalone/.next/server/app/skills.rsc +5 -5
  371. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills/__PAGE__.segment.rsc +2 -2
  372. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills.segment.rsc +1 -1
  373. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p.segment.rsc +2 -2
  374. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
  375. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  376. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
  377. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  378. package/.next/standalone/.next/server/app/trace.html +1 -1
  379. package/.next/standalone/.next/server/app/trace.rsc +7 -7
  380. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace/__PAGE__.segment.rsc +2 -2
  381. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace.segment.rsc +1 -1
  382. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p.segment.rsc +2 -2
  383. package/.next/standalone/.next/server/app/trace.segments/_full.segment.rsc +7 -7
  384. package/.next/standalone/.next/server/app/trace.segments/_head.segment.rsc +1 -1
  385. package/.next/standalone/.next/server/app/trace.segments/_index.segment.rsc +3 -3
  386. package/.next/standalone/.next/server/app/trace.segments/_tree.segment.rsc +2 -2
  387. package/.next/standalone/.next/server/app/version-analysis.html +1 -1
  388. package/.next/standalone/.next/server/app/version-analysis.rsc +5 -5
  389. package/.next/standalone/.next/server/app/version-analysis.segments/!KG1haW4p/version-analysis/__PAGE__.segment.rsc +2 -2
  390. package/.next/standalone/.next/server/app/version-analysis.segments/!KG1haW4p/version-analysis.segment.rsc +1 -1
  391. package/.next/standalone/.next/server/app/version-analysis.segments/!KG1haW4p.segment.rsc +2 -2
  392. package/.next/standalone/.next/server/app/version-analysis.segments/_full.segment.rsc +5 -5
  393. package/.next/standalone/.next/server/app/version-analysis.segments/_head.segment.rsc +1 -1
  394. package/.next/standalone/.next/server/app/version-analysis.segments/_index.segment.rsc +3 -3
  395. package/.next/standalone/.next/server/app/version-analysis.segments/_tree.segment.rsc +2 -2
  396. package/.next/standalone/.next/server/app/version-management.html +1 -1
  397. package/.next/standalone/.next/server/app/version-management.rsc +5 -5
  398. package/.next/standalone/.next/server/app/version-management.segments/!KG1haW4p/version-management/__PAGE__.segment.rsc +2 -2
  399. package/.next/standalone/.next/server/app/version-management.segments/!KG1haW4p/version-management.segment.rsc +1 -1
  400. package/.next/standalone/.next/server/app/version-management.segments/!KG1haW4p.segment.rsc +2 -2
  401. package/.next/standalone/.next/server/app/version-management.segments/_full.segment.rsc +5 -5
  402. package/.next/standalone/.next/server/app/version-management.segments/_head.segment.rsc +1 -1
  403. package/.next/standalone/.next/server/app/version-management.segments/_index.segment.rsc +3 -3
  404. package/.next/standalone/.next/server/app/version-management.segments/_tree.segment.rsc +2 -2
  405. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b0d1e6e5._.js +22 -0
  406. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__8b872712._.js → [root-of-the-server]__c60fa3da._.js} +2 -2
  407. package/.next/standalone/.next/server/chunks/_0ce5f29d._.js +1 -1
  408. package/.next/standalone/.next/server/chunks/_0e34c123._.js +3 -3
  409. package/.next/standalone/.next/server/chunks/_5090183e._.js +1 -1
  410. package/.next/standalone/.next/server/chunks/_adf9e9c5._.js +1 -1
  411. package/.next/standalone/.next/server/chunks/_b172b746._.js +3 -3
  412. package/.next/standalone/.next/server/chunks/_cfa898f4._.js +1 -1
  413. package/.next/standalone/.next/server/chunks/_d02fac80._.js +1 -1
  414. package/.next/standalone/.next/server/chunks/src_lib_a2a34aa6._.js +1 -1
  415. package/.next/standalone/.next/server/chunks/src_lib_ea85a447._.js +1 -1
  416. package/.next/standalone/.next/server/chunks/src_lib_engine_general-agent_970b1dfe._.js +2 -2
  417. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__143c2f65._.js → [root-of-the-server]__83687057._.js} +2 -2
  418. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__b8d3d1c3._.js +8 -0
  419. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__f82e551e._.js +3 -0
  420. package/.next/standalone/.next/server/chunks/ssr/node_modules_11388c48._.js +3 -0
  421. package/.next/standalone/.next/server/chunks/ssr/node_modules_32596a86._.js +3 -0
  422. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_fault_page_tsx_96431a5d._.js +2 -2
  423. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_metrics_page_tsx_f1599761._.js +1 -1
  424. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_trace_page_tsx_41e7865d._.js +1 -1
  425. package/.next/standalone/.next/server/chunks/ssr/{src_lib_evaluators_7597c2fd._.js → src_lib_070bb60a._.js} +2 -2
  426. package/.next/standalone/.next/server/chunks/ssr/src_lib_client_locale-context_tsx_7184d9aa._.js +1 -1
  427. package/.next/standalone/.next/server/pages/404.html +1 -1
  428. package/.next/standalone/.next/server/pages/500.html +2 -2
  429. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  430. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  431. package/.next/standalone/.next/static/chunks/4d2c017f2f4c9160.css +1 -0
  432. package/.next/standalone/.next/static/chunks/5be4d965983c6b40.js +6 -0
  433. package/.next/standalone/.next/static/chunks/{04bc84975996b76d.js → 7884153c8f8649dd.js} +1 -1
  434. package/.next/{static/chunks/6b2552d3da7451ee.js → standalone/.next/static/chunks/85ce12a5c9536a2d.js} +1 -1
  435. package/.next/standalone/.next/static/chunks/913c61f4f0a12da4.js +1 -0
  436. package/.next/standalone/.next/static/chunks/{b5e671771efd9e7d.js → b11e37b43e38eb95.js} +1 -1
  437. package/.next/standalone/.next/static/chunks/cf0b4e5d7b804bf5.js +1 -0
  438. package/.next/standalone/.next/static/chunks/df6f2eedbe05162e.js +1 -0
  439. package/.next/standalone/.next/static/chunks/e0af9e5baf811284.js +4 -0
  440. package/.next/standalone/.next/static/chunks/f61ffd647f90b66c.js +1 -0
  441. package/.next/standalone/docker-compose.amd64.yml +2 -1
  442. package/.next/standalone/docker-compose.arm64.yml +11 -0
  443. package/.next/standalone/package.json +1 -1
  444. package/.next/static/chunks/4d2c017f2f4c9160.css +1 -0
  445. package/.next/static/chunks/5be4d965983c6b40.js +6 -0
  446. package/.next/static/chunks/{04bc84975996b76d.js → 7884153c8f8649dd.js} +1 -1
  447. package/.next/{standalone/.next/static/chunks/6b2552d3da7451ee.js → static/chunks/85ce12a5c9536a2d.js} +1 -1
  448. package/.next/static/chunks/913c61f4f0a12da4.js +1 -0
  449. package/.next/static/chunks/{b5e671771efd9e7d.js → b11e37b43e38eb95.js} +1 -1
  450. package/.next/static/chunks/cf0b4e5d7b804bf5.js +1 -0
  451. package/.next/static/chunks/df6f2eedbe05162e.js +1 -0
  452. package/.next/static/chunks/e0af9e5baf811284.js +4 -0
  453. package/.next/static/chunks/f61ffd647f90b66c.js +1 -0
  454. package/package.json +1 -1
  455. package/.next/standalone/.next/server/chunks/[root-of-the-server]__51f686fd._.js +0 -22
  456. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__90686664._.js +0 -8
  457. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__96628a39._.js +0 -3
  458. package/.next/standalone/.next/server/chunks/ssr/node_modules_bda25b86._.js +0 -3
  459. package/.next/standalone/.next/static/chunks/0fe047909a490ef0.js +0 -1
  460. package/.next/standalone/.next/static/chunks/1cb2cee6b2f89fb7.js +0 -1
  461. package/.next/standalone/.next/static/chunks/25a9b2907e03a172.css +0 -1
  462. package/.next/standalone/.next/static/chunks/30a686796d86273c.js +0 -1
  463. package/.next/standalone/.next/static/chunks/4b72abe72a9b6cd9.js +0 -6
  464. package/.next/standalone/.next/static/chunks/6e6f2418240877c6.js +0 -1
  465. package/.next/standalone/.next/static/chunks/946d260668afc16b.js +0 -1
  466. package/.next/standalone/.next/static/chunks/efe225251ea151f0.js +0 -4
  467. package/.next/static/chunks/0fe047909a490ef0.js +0 -1
  468. package/.next/static/chunks/1cb2cee6b2f89fb7.js +0 -1
  469. package/.next/static/chunks/25a9b2907e03a172.css +0 -1
  470. package/.next/static/chunks/30a686796d86273c.js +0 -1
  471. package/.next/static/chunks/4b72abe72a9b6cd9.js +0 -6
  472. package/.next/static/chunks/6e6f2418240877c6.js +0 -1
  473. package/.next/static/chunks/946d260668afc16b.js +0 -1
  474. package/.next/static/chunks/efe225251ea151f0.js +0 -4
  475. /package/.next/standalone/.next/static/{VeFGnFbPjqrwSXp9h5AgX → pzAy0mrZCL0PmE4h3HDut}/_buildManifest.js +0 -0
  476. /package/.next/standalone/.next/static/{VeFGnFbPjqrwSXp9h5AgX → pzAy0mrZCL0PmE4h3HDut}/_clientMiddlewareManifest.json +0 -0
  477. /package/.next/standalone/.next/static/{VeFGnFbPjqrwSXp9h5AgX → pzAy0mrZCL0PmE4h3HDut}/_ssgManifest.js +0 -0
  478. /package/.next/static/{VeFGnFbPjqrwSXp9h5AgX → pzAy0mrZCL0PmE4h3HDut}/_buildManifest.js +0 -0
  479. /package/.next/static/{VeFGnFbPjqrwSXp9h5AgX → pzAy0mrZCL0PmE4h3HDut}/_clientMiddlewareManifest.json +0 -0
  480. /package/.next/static/{VeFGnFbPjqrwSXp9h5AgX → pzAy0mrZCL0PmE4h3HDut}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
- module.exports=[423017,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(238246),e=a.i(50944),f=a.i(219107),g=a.i(164831);let h=(0,g.default)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]),i=(0,g.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var j=a.i(589027),k=a.i(141146),l=a.i(308311),m=a.i(168370),n=a.i(239315),o=a.i(924330),p=a.i(875160),q=a.i(328423);let r=(0,g.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var s=a.i(403512);let t=(0,g.default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);var u=a.i(986708);let v=(0,g.default)("user-round",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);var w=a.i(474215),x=a.i(762180),y=a.i(558348),z=a.i(729936),A=a.i(390702);let B=(0,g.default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);var C=a.i(613412);let D=(0,g.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var E=a.i(483138),F=a.i(519783),G=a.i(533838);let H=(0,g.default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);var I=a.i(699570),J=a.i(100842);let K=(0,g.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var L=a.i(368114);function M({children:a,maxLines:d=6,className:e,buttonClassName:f,expandLabel:g="Expand",collapseLabel:h="Collapse"}){let i=c.useRef(null),k=c.useRef(!1),[l,m]=c.useState(!1),[n,o]=c.useState(!1);return c.useEffect(()=>{k.current=l},[l]),c.useEffect(()=>{let a=i.current;if(!a)return;let b=()=>{k.current||o(a.scrollHeight>a.clientHeight+1)};b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[a,d]),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{ref:i,className:(0,L.cn)("min-w-0 whitespace-pre-wrap break-words",e),style:l?void 0:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:d,overflow:"hidden"},children:a}),n&&(0,b.jsxs)("button",{type:"button","aria-expanded":l,className:(0,L.cn)("mt-1 inline-flex items-center gap-1 rounded-sm text-[11.5px] font-semibold text-primary outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",f),onClick:()=>m(a=>!a),children:[l?h:g,l?(0,b.jsx)(K,{className:"size-3"}):(0,b.jsx)(j.ChevronDown,{className:"size-3"})]})]})}var N=a.i(681892),O=a.i(575110);let P=[{key:"memory",zh:"记忆",en:"Memory"},{key:"reflection",zh:"反思",en:"Reflection"},{key:"planning",zh:"计划",en:"Planning"},{key:"action",zh:"行动",en:"Action"},{key:"system",zh:"系统",en:"System"}];function Q(a){return a.row?.status||a.status||""}function R(a){return a.skillsAnalysis||null}function S(a){return R(a)?.status==="running"||"running"===a.status}let T=P.filter(a=>"system"!==a.key),U={memory:{zh:"检查 Agent 是否错误引用历史信息、遗漏用户前文约束,或把不存在的上下文当成事实。",en:"Checks whether the agent misused prior context, forgot user constraints, or relied on nonexistent history."},reflection:{zh:"检查 Agent 是否误读工具结果、错误判断成功/失败,或过早认为任务已经完成。",en:"Checks whether the agent misread tool results, misjudged progress, or claimed success too early."},planning:{zh:"检查计划是否忽略环境约束、选择不可行路径,或与后续动作明显不一致。",en:"Checks whether the plan ignored constraints, chose infeasible steps, or diverged from later actions."},action:{zh:"检查真实工具调用、命令、路径、参数和动作执行结果是否存在明确问题。",en:"Checks real tool calls, commands, paths, parameters, and action results for concrete issues."},system:{zh:"检查工具、运行环境、模型限制、权限、超时等外部系统层异常。",en:"Checks tool, runtime, model-limit, permission, timeout, and other external system errors."}},V={memory:l.Clock,reflection:q.MessageSquare,planning:C.CheckCircle2,action:H,system:E.FileText};function W(a){let b=new Date().toISOString();return{status:"running",source:"agent-debug",generatedAt:b,updatedAt:b,interactionHash:a,errorMessage:null,keyActionResults:[]}}function X({executionId:a,user:d,locale:e,traceExplicitErrors:f=[],onNodeRefClick:g}){let h="zh"===e,[i,j]=(0,c.useState)(!1),[k,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(null),[q,r]=(0,c.useState)(""),s=(0,c.useRef)(!1),t=(0,c.useRef)(new Set);async function u(b=!1){if(a&&!i){s.current=!0,j(!0),r(""),function(b=!1){if(!a||!d||!b&&(n?.status==="done"&&ak(n).length>0||n?.status==="running"))return;let c=`${a}:${b?"force":"auto"}:${n?.interactionHash||""}`;!b&&t.current.has(c)||(b?t.current.clear():t.current.add(c),x(b))}(b);try{let c=await (0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:d,force:b})}),e=await c.json().catch(()=>({}));if(409===c.status&&"running"===Q(e))return void v(e);if(!c.ok)throw Error(e.error||`HTTP ${c.status}`);v(e)}catch(a){j(!1),r(a instanceof Error?a.message:String(a))}}}function v(a){let b=Q(a),c=a.report||null;if("running"===b){s.current=!0,m(c),r(""),j(!0);return}s.current=!1,j(!1),m(c),r(a.row?.errorMessage||a.error||"")}function w(a){let b=R(a);b?o(b):a.error||a.row?.status==="running"||o(a=>a?.status==="running"?a:null)}async function x(b=!1){if(!a||!d)return;let c=n?.interactionHash;o(W(c));try{let c=await (0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug/skills-analysis`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:d,force:b})}),e=await c.json().catch(()=>({}));if(w(e),!c.ok)throw Error(e.error||`HTTP ${c.status}`)}catch(b){let a=b instanceof Error?b.message:String(b);o(b=>{var d;let e;return d=b?.interactionHash||c,{status:"failed",source:"agent-debug",generatedAt:e=new Date().toISOString(),updatedAt:e,interactionHash:d,errorMessage:a,keyActionResults:[]}})}}return(0,c.useEffect)(()=>{if(!a)return;let b=!1;return(0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug`).then(a=>a.ok?a.json():Promise.reject(Error(`HTTP ${a.status}`))).then(a=>{b||v(a)}).catch(a=>{b||(j(!1),r(a instanceof Error?a.message:String(a)))}),()=>{b=!0}},[a]),(0,c.useEffect)(()=>{if(!a)return;o(null),t.current.clear();let b=!1;return(0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug/skills-analysis`).then(a=>a.ok?a.json():Promise.reject(Error(`HTTP ${a.status}`))).then(a=>{b||w(a)}).catch(()=>{b||o(null)}),()=>{b=!0}},[a]),(0,c.useEffect)(()=>{if(!a||!i)return;let b=!1,c=async()=>{try{let c=await (0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug`),d=await c.json().catch(()=>({}));if(b)return;if(!c.ok)throw Error(d.error||`HTTP ${c.status}`);v(d)}catch(a){if(b)return;j(!1),r(a instanceof Error?a.message:String(a))}},d=window.setInterval(c,3e3);return()=>{b=!0,window.clearInterval(d)}},[a,i]),(0,b.jsxs)("div",{className:"mb-6 space-y-4",children:[!k&&!q&&!i&&(0,b.jsx)(ah,{children:(0,b.jsx)("div",{className:"relative overflow-hidden rounded-lg border border-card-border bg-card shadow-sm",children:(0,b.jsxs)("div",{className:"relative p-5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"mb-2 inline-flex items-center gap-1.5 rounded-full border border-primary-subtle-border bg-primary-subtle px-2 py-0.5 text-[10.5px] font-bold tracking-[0.12em] text-primary",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary"}),h?"AGENTDEBUG · 四维认知":"AGENTDEBUG · FOUR-DIMENSION"]}),(0,b.jsx)("h3",{className:"text-lg font-extrabold tracking-tight text-foreground",children:h?"需要更深入的诊断?":"Need deeper diagnosis?"}),(0,b.jsx)("p",{className:"mt-1 max-w-[560px] text-[13px] leading-relaxed text-foreground-muted",children:h?"按 AgentDebug 原方案,将每个执行片段抽取为 Memory / Reflection / Planning / Action 四个认知模块;System 作为外部工具/环境异常单独检查,再进入根因定位。":"Use the original AgentDebug pipeline: decompose execution slices into four cognitive modules, check System errors separately, then identify the key diagnostic finding."})]}),(0,b.jsx)(_,{})]}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-4 text-[11.5px] text-foreground-muted",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(l.Clock,{className:"size-3"})," ",h?"预计 8-30s":"8-30s expected"]}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(B,{className:"size-3"})," ",h?"初筛 + 根因定位":"Phase 1 + Phase 2"]}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(E.FileText,{className:"size-3"})," ",h?"报告自动归档":"Report archived"]})]}),(0,b.jsx)("div",{className:"mt-4 flex items-center gap-2",children:(0,b.jsxs)(I.Button,{size:"sm",onClick:()=>u(!1),children:[(0,b.jsx)(H,{className:"size-4"}),h?"启动智能诊断":"Start diagnosis"]})})]})})}),i&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ai,{children:h?"启动智能诊断(四个认知模块 + System 异常检查)":"Start AgentDebug diagnosis"}),(0,b.jsx)(ah,{meta:h?"诊断进行中":"Running diagnosis",children:(0,b.jsxs)("div",{className:"rounded-lg border border-card-border bg-card p-5 shadow-sm",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"text-[14.5px] font-bold tracking-tight text-foreground",children:["AgentDebug · ",h?"初筛 + 根因定位":"Original two-phase pipeline"]}),(0,b.jsx)("div",{className:"mt-0.5 text-[11.5px] text-foreground-muted",children:h?"正在抽取 Memory / Reflection / Planning / Action 与 System 模块,并进入根因联合定位。":"Extracting Memory / Reflection / Planning / Action and System modules, then Phase 2 critical-error analysis."})]}),(0,b.jsx)(p.Loader2,{className:"size-5 animate-spin text-primary"})]}),(0,b.jsx)("div",{className:"space-y-2",children:P.map(a=>(0,b.jsx)(ag,{label:`${a.en} \xb7 ${h?a.zh:a.key}`},a.key))}),(0,b.jsx)("div",{className:"mt-4 border-t border-border pt-3 text-[11.5px] text-foreground-muted",children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary"}),h?"载入 Execution.interactions · 映射左侧节点 · 调用 AgentDebug detector":"Loading interactions · mapping trace nodes · calling AgentDebug detectors"]})})]})}),n&&(0,b.jsx)(ah,{meta:h?"Skills 分析":"Skills analysis",children:(0,b.jsx)(af,{executionId:a,user:d,zh:h,analysis:n,onAnalysisUpdate:o})})]}),q&&!i&&(0,b.jsx)(ah,{meta:h?"诊断失败":"Diagnosis failed",children:(0,b.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-error-border bg-error-subtle p-4 text-sm text-error",children:[(0,b.jsx)(A.AlertTriangle,{className:"mt-0.5 size-4 shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"font-semibold",children:h?"AgentDebug 运行失败":"AgentDebug failed"}),(0,b.jsx)("div",{className:"mt-1 break-words text-xs leading-5",children:q}),(0,b.jsxs)(I.Button,{className:"mt-3",variant:"outline",size:"sm",onClick:()=>u(!0),children:[(0,b.jsx)(F.RefreshCw,{className:"size-3.5"}),h?"重试":"Retry"]})]})]})}),k&&!i&&(0,b.jsx)(ah,{meta:`${h?"诊断完成":"Done"} \xb7 ${function(a,b){var c;let d;if(!Number.isFinite(a)||a<0)return b?"未知耗时":"unknown duration";if(a<1e3)return`${Math.round(a)}ms`;let e=a/1e3,f=Math.floor(e/3600),g=Math.floor(e%3600/60),h=Number.isInteger(d=(c=e%60)>=10?Math.round(c):Math.round(10*c)/10)?String(d):d.toFixed(1);return f>0?b?`${f}小时${g}分${h}秒`:`${f}h ${g}m ${h}s`:g>0?b?`${g}分${h}秒`:`${g}m ${h}s`:b?`${h}秒`:`${h}s`}(k.stats.durationMs,h)} \xb7 ${h?"智能诊断 Agent":"diagnosis agent"}`,children:(0,b.jsx)(Y,{report:k,zh:h,executionId:a,user:d,traceExplicitErrors:f,onNodeRefClick:g,skillsAnalysis:n,onSkillsAnalysisUpdate:o,onRerun:()=>u(!0)})})]})}function Y({report:a,zh:d,executionId:e,user:f,traceExplicitErrors:g,onNodeRefClick:h,skillsAnalysis:i,onSkillsAnalysisUpdate:j,onRerun:k}){let l=(0,c.useMemo)(()=>{var b,c,d;let e;return Array.isArray((b=a).findings)&&b.findings.length>0?b.findings:b.rootCause?[(c=b.rootCause,e=function(a,b){var c;let d=[],e=ao({traceStepIndex:(c=a).criticalTraceStepIndex??c.criticalStep??void 0,traceNodeLabel:c.criticalTraceNodeLabel,traceNodeKind:c.criticalTraceNodeKind}),f=b.find(b=>b.module===a.criticalModule&&ao(b)===e&&b.errorType===a.criticalErrorType)||b.find(b=>b.module===a.criticalModule&&ao(b)===e);for(let c of(f&&d.push({issueId:f.id,role:"root"}),a.cascadingChain)){let a=b.find(a=>a.module===c.module&&ao(a)===ao(c)&&a.errorType===c.errorType)||b.find(a=>a.module===c.module&&ao(a)===ao(c));a&&!d.some(b=>b.issueId===a.id)&&d.push({issueId:a.id,role:"downstream"})}return 0===d.length&&b[0]&&d.push({issueId:b[0].id,role:"root"}),d}(c,d=b.issues),{id:"finding-root-cause",severity:d.find(a=>a.id===e[0]?.issueId)?.severity||"high",impact:"quality_degrading",summary:c.summary,evidence:c.evidence,issueRefs:e,correctionGuidance:c.correctionGuidance,confidence:c.confidence})]:[]},[a]),m=(0,c.useMemo)(()=>Array.isArray(a.trajectoryFindings)?a.trajectoryFindings:[],[a]),[n,o]=(0,c.useState)(()=>new Set(l[0]?[l[0].id]:[])),p=a.issues.length+g.length,q=l.length+m.length;return((0,c.useEffect)(()=>{o(new Set(l[0]?[l[0].id]:[]))},[l]),a.skippedReason)?(0,b.jsxs)("div",{className:"rounded-lg border border-card-border bg-card p-4 shadow-sm",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,b.jsx)(J.StatusBadge,{status:"warning",label:d?"未运行":"Skipped"}),(0,b.jsx)("span",{className:"text-sm font-semibold text-foreground",children:"AgentDebug"})]}),(0,b.jsx)("p",{className:"text-sm leading-6 text-foreground-muted",children:a.skippedReason})]}):a.triage?.shortCircuited&&a.triage.fatalDiagnosis?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)($,{report:a,zh:d,onNodeRefClick:h,onRerun:k}),(0,b.jsx)(af,{executionId:e,user:f,zh:d,analysis:i,onAnalysisUpdate:j})]}):(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-card-border bg-card p-4 shadow-sm",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"flex size-7 items-center justify-center rounded-lg border border-error-border bg-error-subtle text-error",children:(0,b.jsx)(A.AlertTriangle,{className:"size-3.5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10.5px] font-bold tracking-[0.14em] text-error",children:d?"关键诊断发现":"KEY DIAGNOSTIC FINDINGS"}),(0,b.jsx)("div",{className:"mt-0.5 text-sm font-bold tracking-tight text-foreground",children:q>0?d?`${q} 条发现 \xb7 ${p} 条证据节点`:`${q} findings \xb7 ${p} evidence nodes`:d?"未发现明确关键问题":"No clear key finding"})]})]}),(0,b.jsxs)(I.Button,{variant:"outline",size:"sm",onClick:k,children:[(0,b.jsx)(F.RefreshCw,{className:"size-3.5"}),d?"重新诊断":"Rerun"]})]}),q>0?(0,b.jsxs)("div",{className:"space-y-2",children:[l.map((c,e)=>(0,b.jsx)(ab,{finding:c,index:e,report:a,zh:d,expanded:n.has(c.id),traceExplicitErrors:0===e?g:[],onToggle:()=>{o(a=>{let b=new Set(a);return b.has(c.id)?b.delete(c.id):b.add(c.id),b})},onNodeRefClick:h},c.id)),m.map((a,c)=>(0,b.jsx)(Z,{finding:a,index:l.length+c,zh:d,expanded:n.has(a.id),onToggle:()=>{o(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c})},onNodeRefClick:h},a.id))]}):(0,b.jsx)("p",{className:"text-sm text-foreground-muted",children:d?"初筛未检测到足够明确的问题。":"Phase 1 did not find a clear issue."})]}),(0,b.jsx)(af,{executionId:e,user:f,zh:d,analysis:i,onAnalysisUpdate:j})]})}function Z({finding:a,index:c,zh:d,expanded:e,onToggle:f,onNodeRefClick:g}){let h=null!=a.span.fromStep&&null!=a.span.toStep?`#${a.span.fromStep}–#${a.span.toStep}`:d?`${a.span.turnCount} 个 turn`:`${a.span.turnCount} turns`;return(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-background-secondary p-3",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":e,onClick:f,className:"flex w-full items-start gap-2 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",children:[(0,b.jsx)("div",{className:"flex size-6 shrink-0 items-center justify-center rounded-md border border-border bg-card text-[11px] font-bold text-primary",children:c+1}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-[13px] font-semibold leading-6 text-foreground",children:aq(a.summary)}),(0,b.jsxs)("div",{className:"mt-0.5 flex flex-wrap items-center gap-1.5 text-[11px] text-foreground-muted",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded bg-error-subtle px-1 py-0.5 text-error",children:[(0,b.jsx)(G.RotateCcw,{className:"size-3"}),d?"疑似循环":"Suspected loop"]}),(0,b.jsxs)("span",{children:[d?"区间":"span"," ",h]})]})]}),e?(0,b.jsx)(j.ChevronDown,{className:"mt-1 size-3.5 shrink-0 text-foreground-muted"}):(0,b.jsx)(k.ChevronRight,{className:"mt-1 size-3.5 shrink-0 text-foreground-muted"})]}),e&&(0,b.jsxs)("div",{className:"mt-3 space-y-3 border-t border-border pt-3",children:[(0,b.jsxs)("section",{children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:d?"故障机制":"Mechanism"}),(0,b.jsx)("div",{className:"text-[12.5px] leading-6 text-foreground",children:ap(a.mechanism)})]}),a.faultChain.length>0&&(0,b.jsxs)("section",{children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:d?"故障链":"Fault chain"}),(0,b.jsx)("ol",{className:"space-y-0.5",children:a.faultChain.map((a,c)=>(0,b.jsxs)("li",{className:"text-[12px] leading-6 text-foreground-muted",children:[c+1,". ",ap(a)]},c))})]}),(0,b.jsxs)("section",{children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:d?"无进展证据":"No-progress evidence"}),(0,b.jsx)("div",{className:"text-[12px] leading-6 text-foreground-muted",children:ap(a.noProgressEvidence)})]}),a.anchors.length>0&&(0,b.jsxs)("section",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)("span",{className:"text-[10.5px] font-bold tracking-wider text-foreground-muted",children:d?"证据节点":"Evidence"}),a.anchors.map((a,c)=>{let d=null!=a.traceStepIndex?`#${a.traceStepIndex}`:a.traceNodeLabel||`node ${c+1}`,e=!!(a.anchorId&&g);return(0,b.jsxs)("button",{type:"button",disabled:!e,onClick:()=>{a.anchorId&&g&&g(a.anchorId)},className:`rounded border border-border px-1.5 py-0.5 text-[11px] ${e?"cursor-pointer text-error hover:bg-error-subtle":"cursor-default text-foreground-muted"}`,title:a.traceNodeLabel||"",children:[d,a.note?` \xb7 ${a.note}`:""]},c)})]}),(0,b.jsxs)("section",{className:"rounded-lg border border-border bg-card px-3 py-2.5",children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:d?"建议":"Guidance"}),(0,b.jsx)("div",{className:"text-[12.5px] leading-6 text-foreground",children:ap(a.correctionGuidance)})]})]})]})}function $({report:a,zh:c,onNodeRefClick:d,onRerun:e}){var f;let g=a.triage?.fatalDiagnosis;return g?(0,b.jsxs)("div",{className:"rounded-lg border border-error-border bg-card p-4 shadow-sm",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"flex size-7 items-center justify-center rounded-lg border border-error-border bg-error-subtle text-error",children:(0,b.jsx)(A.AlertTriangle,{className:"size-3.5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10.5px] font-bold tracking-[0.14em] text-error",children:c?"明显失败":"FATAL DIAGNOSIS"}),(0,b.jsxs)("div",{className:"mt-0.5 text-sm font-bold tracking-tight text-foreground",children:[(f=a.triage?.category||"normal",c?"infra"===f?"基础设施级失败":"tool_systemic"===f?"工具系统性失败":"early_fatal"===f?"早期不可恢复失败":"正常预检":f),g.toolName?` \xb7 ${g.toolName}`:""]})]})]}),(0,b.jsxs)(I.Button,{variant:"outline",size:"sm",onClick:e,children:[(0,b.jsx)(F.RefreshCw,{className:"size-3.5"}),c?"重新诊断":"Rerun"]})]}),(0,b.jsx)("p",{className:"mt-3 text-[13px] leading-7 text-foreground",children:g.summary}),(g.affectedTraceStepIndexes?.length||g.affectedSteps.length)>0&&(0,b.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-1.5 text-[11px] text-foreground-muted",children:[(0,b.jsx)("span",{className:"font-semibold",children:c?"受影响左侧节点":"Affected trace nodes"}),(g.affectedTraceStepIndexes?.length?g.affectedTraceStepIndexes:g.affectedSteps).map(a=>(0,b.jsx)("span",{className:"rounded-md border border-border bg-background-secondary px-2 py-1 font-mono text-foreground",children:an(a,c)},a))]}),g.rawErrorEvidence&&(0,b.jsx)("p",{className:"mt-3 rounded-md border border-border bg-background-secondary p-2 font-mono text-[11.5px] leading-5 text-foreground-muted",children:g.rawErrorEvidence}),(0,b.jsxs)("div",{className:"mt-3 rounded-lg border border-border bg-background-secondary px-3 py-2.5",children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:c?"建议":"Recommendation"}),(0,b.jsx)("div",{className:"text-[12.5px] leading-6 text-foreground",children:g.recommendation})]}),g.anchorId&&d&&(0,b.jsxs)(I.Button,{className:"mt-3",variant:"ghost",size:"sm",onClick:()=>d(g.anchorId),children:[c?"跳到左侧节点":"View trace node",(0,b.jsx)(k.ChevronRight,{className:"size-3.5"})]})]}):null}function _(){return(0,b.jsx)("div",{className:"hidden grid-cols-2 gap-1.5 md:grid",children:P.slice(0,4).map(a=>{let c=V[a.key]||D;return(0,b.jsxs)("div",{className:"flex w-[100px] items-center gap-1.5 rounded-lg border border-border bg-background-secondary px-2 py-1.5 text-foreground",children:[(0,b.jsx)(c,{className:"size-3"}),(0,b.jsx)("span",{className:"text-[10.5px] font-bold",children:a.en})]},a.key)})})}function aa({title:a,help:c}){return(0,b.jsxs)("div",{className:"flex items-center gap-1 text-sm font-bold text-foreground",children:[(0,b.jsx)("span",{children:a}),(0,b.jsx)(N.TermPopover,{term:a,tag:"fault",body:c,side:"top",align:"center",children:(0,b.jsx)("span",{className:"sr-only",children:a})})]})}function ab({finding:a,index:d,report:e,zh:f,expanded:g,traceExplicitErrors:h,onToggle:i,onNodeRefClick:l}){var m,n;let o,p,q,r=(m=a,o=new Map(e.issues.map(a=>[a.id,a])),m.issueRefs.map(a=>o.get(a.issueId)).filter(a=>!!a)),s=r.find(b=>a.issueRefs.find(a=>a.issueId===b.id)?.role==="root")||r[0],t=0===d?P:T,u=(q=(p=((n=a.summary)||"").trim().match(/[^。!?.!?]+[。!?.!?]?/g),p?.map(a=>a.trim()).filter(Boolean)||[])).length<=2?{conclusion:n,details:""}:{conclusion:q.slice(0,2).join(""),details:q.slice(2).join("")},[v,w]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-background-secondary p-3",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":g,onClick:i,className:"flex w-full items-start gap-2 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",children:[(0,b.jsx)("div",{className:"flex size-6 shrink-0 items-center justify-center rounded-md border border-border bg-card text-[11px] font-bold text-primary",children:d+1}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-[13px] font-semibold leading-6 text-foreground",children:aq(u.conclusion||a.summary)}),s&&(0,b.jsx)("div",{className:"mt-0.5 text-[11px] text-foreground-muted",children:am(s,f)})]}),g?(0,b.jsx)(j.ChevronDown,{className:"mt-1 size-3.5 shrink-0 text-foreground-muted"}):(0,b.jsx)(k.ChevronRight,{className:"mt-1 size-3.5 shrink-0 text-foreground-muted"})]}),g&&(0,b.jsxs)("div",{className:"mt-3 space-y-3 border-t border-border pt-3",children:[(0,b.jsxs)("section",{className:"rounded-lg border border-border bg-card",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":v,onClick:()=>w(a=>!a),className:"flex w-full items-center gap-2 px-3 py-2.5 text-left outline-none hover:bg-background-secondary focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",children:[(0,b.jsx)("span",{className:"text-[10.5px] font-bold tracking-wider text-foreground-muted",children:f?"证据":"Evidence"}),(0,b.jsx)("span",{className:"h-px min-w-4 flex-1 bg-border"}),(0,b.jsx)("span",{className:"text-[11px] text-foreground-muted",children:f?"展开查看关联模块证据":"Expand linked module evidence"}),v?(0,b.jsx)(j.ChevronDown,{className:"size-3.5 shrink-0 text-foreground-muted"}):(0,b.jsx)(k.ChevronRight,{className:"size-3.5 shrink-0 text-foreground-muted"})]}),v&&(0,b.jsxs)("div",{className:"border-t border-border p-3",children:[a.evidence&&(0,b.jsx)("p",{className:"mb-2 rounded-md border border-border bg-background-secondary p-2 font-mono text-[11.5px] leading-5 text-foreground-muted",children:ap(a.evidence)}),(0,b.jsx)("div",{className:"grid gap-2 md:grid-cols-2",children:t.map(c=>(0,b.jsx)(ac,{module:c,zh:f,globalSystem:0===d&&"system"===c.key,issues:"system"===c.key?e.issues.filter(a=>"system"===a.module):r.filter(a=>a.module===c.key),traceExplicitErrors:0===d&&"system"===c.key?h:[],finding:a,onNodeRefClick:l},c.key))})]})]}),u.details&&(0,b.jsxs)("section",{children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:f?"分析说明":"Analysis notes"}),(0,b.jsx)(M,{maxLines:4,className:"text-[12px] leading-6 text-foreground-muted",expandLabel:f?"展开完整说明":"Show full notes",collapseLabel:f?"收起说明":"Collapse notes",children:ap(u.details)})]}),(0,b.jsxs)("section",{className:"rounded-lg border border-border bg-card px-3 py-2.5",children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:f?"建议":"Guidance"}),(0,b.jsx)("div",{className:"text-[12.5px] leading-6 text-foreground",children:ap(a.correctionGuidance)})]})]})]})}function ac({module:a,zh:d,globalSystem:e,issues:f,traceExplicitErrors:g,finding:h,onNodeRefClick:i}){let l=V[a.key]||D,[m,n]=(0,c.useState)(!1),o=[...f].sort((a,b)=>{let c=h.issueRefs.find(b=>b.issueId===a.id)?.role||"contributing",d=aj(h.issueRefs.find(a=>a.issueId===b.id)?.role||"contributing")-aj(c);if(0!==d)return d;let e=ar(b.severity)-ar(a.severity);return 0!==e?e:(ao(a)??a.step)-(ao(b)??b.step)}),p=[...g].sort((a,b)=>(a.traceStepIndex??Number.MAX_SAFE_INTEGER)-(b.traceStepIndex??Number.MAX_SAFE_INTEGER)),q=o.length+p.length,r=e?d?"全局 System 证据":"Global System Evidence":a.en;return(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-card p-3",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":m,onClick:()=>n(a=>!a),className:"flex w-full items-start justify-between gap-2 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"flex size-7 items-center justify-center rounded-lg border border-border bg-background-secondary text-primary",children:(0,b.jsx)(l,{className:"size-3.5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)(aa,{title:r,help:(d?U[a.key]?.zh:U[a.key]?.en)||a.key}),(0,b.jsx)("div",{className:"text-[11px] text-foreground-muted",children:e?d?"只在第一条关键发现展示一次":"Shown once in the first finding":d?a.zh:a.key})]})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1.5",children:[(0,b.jsx)(J.StatusBadge,{status:q>0?"warning":"success",label:q>0?`${q}`:"OK"}),m?(0,b.jsx)(j.ChevronDown,{className:"mt-0.5 size-3.5 text-foreground-muted"}):(0,b.jsx)(k.ChevronRight,{className:"mt-0.5 size-3.5 text-foreground-muted"})]})]}),m&&(q>0?(0,b.jsxs)("div",{className:"mt-3 max-h-72 space-y-2 overflow-y-auto pr-1",children:[o.map(a=>(0,b.jsx)(ad,{issue:a,role:h.issueRefs.find(b=>b.issueId===a.id)?.role,zh:d,onNodeRefClick:i},a.id)),p.map(a=>(0,b.jsx)(ae,{error:a,zh:d,onNodeRefClick:i},a.id))]}):(0,b.jsx)("p",{className:"mt-3 text-[12px] leading-6 text-foreground-muted",children:d?"当前发现未关联该模块问题":"This finding has no issue linked to this module."}))]})}function ad({issue:a,role:c,zh:d,onNodeRefClick:e}){return(0,b.jsxs)("div",{className:"rounded-md border border-border bg-background-secondary px-2.5 py-2",children:[(0,b.jsx)("div",{className:"mb-1 flex flex-wrap items-center gap-1.5",children:(0,b.jsx)("span",{className:"rounded bg-card px-1.5 py-0.5 font-mono text-[10.5px] font-semibold text-primary",children:am(a,d)})}),(0,b.jsx)(M,{maxLines:4,className:"text-[11.5px] leading-5 text-foreground-muted",expandLabel:d?"展开完整原因":"Show full reason",collapseLabel:d?"收起原因":"Collapse reason",children:ap(a.reasoning||a.evidence)}),a.evidence&&a.reasoning&&(0,b.jsx)(M,{maxLines:3,className:"mt-1.5 font-mono text-[10.5px] leading-5 text-foreground-muted",expandLabel:d?"展开证据原文":"Show evidence",collapseLabel:d?"收起证据原文":"Collapse evidence",children:ap(a.evidence)}),a.anchorId&&e&&(0,b.jsxs)(I.Button,{className:"mt-1.5 h-6 px-0 text-[11px]",variant:"link",size:"sm",onClick:()=>e(a.anchorId),children:[d?"跳到左侧节点":"View trace node",(0,b.jsx)(k.ChevronRight,{className:"size-3"})]})]})}function ae({error:a,zh:c,onNodeRefClick:d}){return(0,b.jsxs)("div",{className:"rounded-md border border-border bg-background-secondary px-2.5 py-2",children:[(0,b.jsx)("div",{className:"mb-1 flex flex-wrap items-center gap-1.5",children:(0,b.jsx)("span",{className:"rounded bg-card px-1.5 py-0.5 font-mono text-[10.5px] font-semibold text-primary",children:am(a,c)})}),(a.description||a.context)&&(0,b.jsx)(M,{maxLines:4,className:"text-[11.5px] leading-5 text-foreground-muted",expandLabel:c?"展开详情":"Show details",collapseLabel:c?"收起详情":"Collapse details",children:[a.description,a.context].filter(Boolean).join("\n")}),a.anchorId&&d&&(0,b.jsxs)(I.Button,{className:"mt-1.5 h-6 px-0 text-[11px]",variant:"link",size:"sm",onClick:()=>d(a.anchorId),children:[c?"跳到左侧节点":"View trace node",(0,b.jsx)(k.ChevronRight,{className:"size-3"})]})]})}function af({executionId:a,user:d,zh:e,analysis:f,onAnalysisUpdate:g}){let[h,i]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(!1),[q,r]=(0,c.useState)(""),[s,t]=(0,c.useState)(f);(0,c.useEffect)(()=>{t(f)},[f]);let v=ak(s),w=function(a){if(!a)return[];let b=a.skillSuggestions||a.skill_suggestions;return Array.isArray(b)?b.map(a=>a&&"object"==typeof a?a:null).filter(a=>!!a).map(a=>{let b=al(a.severity).toLowerCase();return{category:al(a.category)||"其他",severity:"high"===b||"low"===b?b:"medium",summary:al(a.summary),evidence:al(a.evidence),improvementSuggestion:al(a.improvementSuggestion)||al(a.improvement_suggestion)}}).filter(a=>a.summary&&a.improvementSuggestion):[]}(s),x=(s?.reasonText||""||"").replace(/\r\n/g,"\n").replace(/(完整性(?:\([^)]+\))?[::])/g,"\n$1").replace(/(工具选择(?:\([^)]+\))?[::])/g,"\n$1").replace(/(冗余(?:\([^)]+\))?[::])/g,"\n$1").split(/\n+/).map(a=>a.trim()).filter(a=>a&&!/^执行路径分析/.test(a)&&!/可能触发封顶|封顶/.test(a)).join("\n"),y=s?.status||"pending",z="done"===y&&v.length>0,A="running"!==y,B="failed"===y,C=v.filter(a=>"partial"===a.status||"missing"===a.status||"not_applicable"===a.status).length;async function D(b=!0){if(!a||!d||h)return;i(!0),r("");let c=W(s?.interactionHash);t(c),g(c);try{let c=await (0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug/skills-analysis`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:d,force:b})}),e=await c.json().catch(()=>({}));if(409===c.status&&S(e)){E(e),l||m(!0);return}if(E(e),!c.ok)throw Error(e.error||`HTTP ${c.status}`);l||m(!0)}catch(a){r(a instanceof Error?a.message:String(a))}finally{i(!1)}}function E(a){let b=R(a);b?(t(b),g(b)):a.error||(t(a=>a?.status==="running"?a:null),s?.status!=="running"&&g(null)),(!a.error||S(a))&&r("")}return(0,c.useEffect)(()=>{if(!a||"running"!==y)return;let b=!1,c=async()=>{try{let c=await (0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug/skills-analysis`),d=await c.json().catch(()=>({}));if(b)return;if(!c.ok)throw Error(d.error||`HTTP ${c.status}`);let e=R(d);e&&(g(e),t(e),"failed"!==e.status&&r(""))}catch(a){b||r(a instanceof Error?a.message:String(a))}},d=window.setInterval(c,3e3);return()=>{b=!0,window.clearInterval(d)}},[a,g,y]),(0,b.jsxs)("div",{className:"rounded-lg border border-card-border bg-card p-4 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":l,onClick:()=>m(a=>!a),className:"flex min-w-0 flex-1 items-start gap-2 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",children:[l?(0,b.jsx)(j.ChevronDown,{className:"mt-1 size-3.5 shrink-0 text-foreground-muted"}):(0,b.jsx)(k.ChevronRight,{className:"mt-1 size-3.5 shrink-0 text-foreground-muted"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-[10.5px] font-bold tracking-[0.14em] text-primary",children:e?"Skills 分析":"SKILLS ANALYSIS"}),(h||"running"===y||!z)&&(0,b.jsx)("div",{className:"mt-0.5 text-sm font-bold tracking-tight text-foreground",children:h||"running"===y?e?"正在生成 Skills 步骤核验":"Generating Skills step review":e?"暂无 Skills 步骤核验结果":"No Skills step review yet"}),z&&(0,b.jsx)("div",{className:"mt-0.5 text-[11px] text-foreground-muted",children:e?`${v.length} 个 Skill 步骤`:`${v.length} Skill steps`})]})]}),A&&(0,b.jsxs)(I.Button,{variant:"outline",size:"sm",onClick:()=>D(!0),disabled:h,children:[h?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(u.Sparkles,{className:"size-3.5"}),B||s?e?"重新分析":"Re-analyze":e?"生成 Skills 分析":"Generate Skills analysis"]})]}),l&&(0,b.jsxs)("div",{className:"mt-3",children:[q&&(0,b.jsx)("div",{className:"mb-3 rounded-md border border-error-border bg-error-subtle p-2 text-[12px] text-error",children:q}),z?(0,b.jsxs)("div",{className:"space-y-3",children:[x&&(0,b.jsxs)("div",{className:"rounded-md border border-border bg-background-secondary p-3",children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:e?"总结":"Summary"}),(0,b.jsx)("p",{className:"whitespace-pre-line text-[12.5px] leading-6 text-foreground-muted",children:x})]}),(0,b.jsxs)("div",{className:"rounded-md border border-border bg-background-secondary",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":n,onClick:()=>o(a=>!a),className:"flex w-full items-center gap-2 px-3 py-2.5 text-left outline-none hover:bg-card focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",children:[(0,b.jsx)("span",{className:"text-[12px] font-bold text-foreground",children:e?"Skill 步骤核验":"Skill step review"}),(0,b.jsx)(J.StatusBadge,{status:C>0?"warning":"success",label:`${v.length}`}),C>0&&(0,b.jsx)("span",{className:"text-[11px] text-foreground-muted",children:e?`${C} 个需关注`:`${C} need attention`}),(0,b.jsx)("span",{className:"h-px min-w-4 flex-1 bg-border"}),n?(0,b.jsx)(j.ChevronDown,{className:"size-3.5 shrink-0 text-foreground-muted"}):(0,b.jsx)(k.ChevronRight,{className:"size-3.5 shrink-0 text-foreground-muted"})]}),n&&(0,b.jsx)("div",{className:"space-y-2 border-t border-border p-2.5",children:v.map((a,c)=>{var d;let f,g;return(0,b.jsxs)("div",{className:"rounded-md border border-border bg-card px-2.5 py-2",children:[(0,b.jsxs)("div",{className:"mb-1 flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(J.StatusBadge,{status:"covered"===(f=a.status.toLowerCase())||"passed"===f||"pass"===f||"success"===f?"success":"missing"===f||"failed"===f||"fail"===f||"error"===f?"error":"not_applicable"===f||"not-applicable"===f||"n/a"===f?"pending":"warning",label:(d=a.status,g=d.toLowerCase(),(e?"covered"===g||"passed"===g||"pass"===g||"success"===g?"已覆盖":"partial"===g||"partially_covered"===g?"部分覆盖":"missing"===g||"failed"===g||"fail"===g||"error"===g?"未覆盖":"not_applicable"===g||"not-applicable"===g||"n/a"===g?"不适用":d:d)||(e?"Skill 步骤":"Skill step"))}),(0,b.jsx)("span",{className:"text-[12px] font-semibold text-foreground",children:a.title||(e?`Skill 步骤 ${c+1}`:`Skill step ${c+1}`)})]}),a.description&&(0,b.jsx)("p",{className:"text-[11.5px] leading-5 text-foreground-muted",children:a.description}),"covered"!==a.status&&"not_applicable"!==a.status&&a.suggestion&&(0,b.jsxs)("div",{className:"mt-2 rounded-md border border-success-border bg-success-subtle px-2 py-1.5 text-[11.5px] leading-5 text-success",children:[(0,b.jsx)("span",{className:"font-semibold",children:e?"改进建议":"Suggestion"}),(0,b.jsx)("span",{className:"ml-1 text-foreground-muted",children:a.suggestion})]})]},`${c}-${a.title}`)})})]}),w.length>0&&(0,b.jsxs)("div",{className:"rounded-md border border-border bg-background-secondary",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2.5",children:[(0,b.jsx)("span",{className:"text-[12px] font-bold text-foreground",children:e?"Skill 改进建议":"Skill improvement suggestions"}),(0,b.jsx)(J.StatusBadge,{status:"warning",label:`${w.length}`}),(0,b.jsx)("span",{className:"h-px min-w-4 flex-1 bg-border"})]}),(0,b.jsx)("div",{className:"space-y-2 border-t border-border p-2.5",children:w.map((a,c)=>(0,b.jsxs)("div",{className:"rounded-md border border-border bg-card px-2.5 py-2",children:[(0,b.jsxs)("div",{className:"mb-1 flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(J.StatusBadge,{status:"high"===a.severity?"error":"medium"===a.severity?"warning":"success",label:a.category}),(0,b.jsx)("span",{className:"text-[12px] font-semibold text-foreground",children:a.summary})]}),a.evidence&&(0,b.jsx)("p",{className:"text-[11.5px] leading-5 text-foreground-muted",children:a.evidence}),(0,b.jsxs)("div",{className:"mt-2 rounded-md border border-success-border bg-success-subtle px-2 py-1.5 text-[11.5px] leading-5 text-success",children:[(0,b.jsx)("span",{className:"font-semibold",children:e?"改进建议":"Suggestion"}),(0,b.jsx)("span",{className:"ml-1 text-foreground-muted",children:a.improvementSuggestion})]})]},`sugg-${c}-${a.summary}`))})]})]}):(0,b.jsxs)("div",{className:"rounded-md border border-border bg-background-secondary p-3",children:[(0,b.jsx)("p",{className:"text-[12.5px] leading-6 text-foreground-muted",children:h||"running"===y?e?"正在生成 Skills 步骤核验。完成后会保存到 AgentDebug Skills 分析缓存里。":"Skills step review is running. The result will be saved in the AgentDebug Skills cache.":B?e?`Skills 步骤核验失败:${s?.errorMessage||"未知错误"}。可以重新分析。`:`Skills step review failed: ${s?.errorMessage||"unknown error"}. You can re-analyze.`:"done"===y?e?"已保存 Skills 分析结果,但缺少步骤核验明细。可以重新分析。":"Saved Skills analysis has no step review details. You can re-analyze.":e?"当前 trace 还没有 Skills 步骤核验结果。点击生成后会分析 Skill 步骤覆盖情况,并保存到 AgentDebug Skills 分析缓存。":"This trace has no Skills step review yet. Generate it to analyze Skill step coverage and save it in the AgentDebug Skills cache."}),A&&(0,b.jsxs)(I.Button,{variant:"outline",size:"sm",className:"mt-2",onClick:()=>D(!0),disabled:h,children:[h?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(u.Sparkles,{className:"size-3.5"}),B||s?e?"重新分析":"Re-analyze":e?"生成 Skills 分析":"Generate Skills analysis"]})]})]})]})}function ag({label:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded-lg border border-border bg-background-secondary text-primary",children:(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"mb-1 flex items-baseline justify-between gap-2",children:[(0,b.jsx)("span",{className:"truncate text-[12.5px] font-bold text-foreground",children:a}),(0,b.jsx)("span",{className:"text-[11px] text-primary",children:"分析中"})]}),(0,b.jsx)("div",{className:"h-1.5 overflow-hidden rounded-full bg-background-secondary",children:(0,b.jsx)("div",{className:"h-full w-2/3 rounded-full bg-primary"})})]})]})}function ah({children:a,meta:c}){return(0,b.jsxs)("article",{className:"flex items-start gap-3",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-xl border border-primary-subtle-border bg-primary-subtle text-primary",children:(0,b.jsx)(u.Sparkles,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[c&&(0,b.jsx)("div",{className:"mb-1.5 text-[11px] text-foreground-muted",children:c}),(0,b.jsx)("div",{className:"max-w-[860px]",children:a})]})]})}function ai({children:a}){return(0,b.jsx)("article",{className:"flex justify-end gap-3",children:(0,b.jsx)("div",{className:"max-w-[80%] rounded-2xl rounded-tr-md bg-primary px-4 py-2.5 text-[13.5px] leading-6 text-primary-foreground",children:a})})}function aj(a){return"root"===a?3:"contributing"===a?2:+("downstream"===a)}function ak(a){if(!a)return[];let b=a.keyActionResults||a.key_action_results;return Array.isArray(b)?b.map(a=>a&&"object"==typeof a?a:null).filter(a=>!!a).map(a=>({title:al(a.actionContent)||al(a.action_content)||al(a.actionName)||al(a.name)||al(a.title)||al(a.keyAction)||"",description:al(a.traceComparisonAnalysis)||al(a.trace_comparison_analysis)||al(a.reason)||al(a.description)||al(a.evidence)||"",status:al(a.coverage)||al(a.status)||al(a.result)||al(a.matchStatus)||"",suggestion:al(a.skillImprovementSuggestion)||al(a.skill_improvement_suggestion)||al(a.suggestion)||""})):[]}function al(a){return"string"==typeof a?a:""}function am(a,b){let c,d=ao(a),e=null==d?b?"左侧节点":"Trace node":an(d,b),f=a.traceNodeLabel?` \xb7 ${(c=a.traceNodeLabel.trim()).length>48?`${c.slice(0,48)}...`:c}`:"";return`${e}${f}`}function an(a,b){return b?`节点 #${a}`:`Node #${a}`}function ao(a){return a.traceStepIndex??null}function ap(a){return(a||"").replace(/步骤\s*\d+\s*[((]\s*左侧节点\s*#(\d+)\s*[))]/g,"左侧节点 #$1").replace(/第\s*\d+\s*步\s*[((]\s*左侧节点\s*#(\d+)\s*[))]/g,"左侧节点 #$1").replace(/步骤\s*\d+/g,"相关节点").replace(/第\s*\d+\s*步/g,"相关节点")}function aq(a){return ap(a).replace(/根本原因/g,"关键发现").replace(/根因为/g,"关键发现是").replace(/根因是/g,"关键发现是").replace(/作为根因/g,"作为关键发现").replace(/根因/g,"关键发现")}function ar(a){return"high"===a?3:"medium"===a?2:1}var as=a.i(943408),at=a.i(106927),au=a.i(960798),av=a.i(586624);function aw(a,b){let c=[];a.agentName&&c.push(a.agentName),a.subagentType&&c.push(`type ${a.subagentType}`);let d=[a.stats.llmCalls?`${a.stats.llmCalls} LLM`:"",a.stats.toolCalls?`${a.stats.toolCalls} tool`:"",a.stats.skillCalls?`${a.stats.skillCalls} skill`:"",a.stats.taskCalls?`${a.stats.taskCalls} task`:""].filter(Boolean).join(" · ");return d&&c.push(d),c.join(" · ")||("zh"===b?"执行 Agent":"Agent")}function ax(a){if(null!=a){if("number"==typeof a&&Number.isFinite(a))return a>0&&a<1e10?1e3*a:a;if("string"==typeof a){let b=a.trim();if(!b)return;if(/^\d+(\.\d+)?$/.test(b)){let a=Number(b);if(!Number.isFinite(a))return;return a>0&&a<1e10?1e3*a:a}let c=Date.parse(b);return Number.isFinite(c)?c:void 0}}}function ay(a,b=300){if(null==a)return"";if("string"==typeof a)return az(a,b);try{return az(JSON.stringify(a),b)}catch{return az(String(a),b)}}function az(a,b){let c=String(a||"");return c.length>b?`${c.slice(0,b)}...`:c}let aA=process.env.NEXT_PUBLIC_URL_PREFIX||"",aB=[20,50,100],aC={"1h":36e5,"3h":108e5,"24h":864e5,"7d":6048e5,"30d":2592e6,all:1/0};function aD(a){let b=Array.isArray(a.invoked_skills)?a.invoked_skills:Array.isArray(a.invokedSkills)?a.invokedSkills:[],c=new Set;return b.forEach(a=>{let b=a?.name?.trim();b&&c.add(b)}),Array.from(c)}function aE(){return(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)("div",{children:"Loading..."}),children:(0,b.jsx)(aF,{})})}function aF(){let a=(0,e.useRouter)(),d=(0,e.useSearchParams)(),{user:f}=(0,as.useAuth)(),{t:g,locale:h}=(0,at.useLocale)(),[i,j]=(0,c.useState)([]),[k,l]=(0,c.useState)(!0),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(1),[q,r]=(0,c.useState)(20),[s,t]=(0,c.useState)("all"),[u,v]=(0,c.useState)("yes"),[w,x]=(0,c.useState)("all"),[y,A]=(0,c.useState)(()=>d?.get("agent")||"all"),[B,C]=(0,c.useState)("all"),[D,E]=(0,c.useState)("user"),F=b=>{n(b);let c=new URLSearchParams(window.location.search);if(b){let a=b.task_id||b.upload_id;a&&c.set("taskId",a)}else c.delete("taskId");a.push(`${window.location.pathname}?${c.toString()}`,{scroll:!1})};(0,c.useEffect)(()=>{let a=d?.get("taskId"),b=d?.get("executionId"),c=a||b;if(c){let a=i.find(a=>a.task_id===c||a.upload_id===c);a?m!==a&&n(a):b&&(!m||m.task_id!==c&&m.upload_id!==c)&&n({timestamp:new Date().toISOString(),task_id:c,upload_id:c})}else m&&n(null)},[d,i]),(0,c.useEffect)(()=>{f&&(l(!0),(0,O.apiFetch)(`/api/observe/data?user=${encodeURIComponent(f)}&fields=light`).then(a=>a.json()).then(a=>{j(Array.isArray(a)?a:[])}).catch(()=>j([])).finally(()=>l(!1)))},[f]);let{availableAgents:G,availableSkills:H,frameworks:I}=(0,c.useMemo)(()=>{let a=new Set,b=new Set,c=new Set;return i.forEach(d=>{d.agent&&a.add(d.agent),d.framework&&(a.add(d.framework),c.add(d.framework)),d.agents&&d.agents.forEach(b=>a.add(b)),aD(d).forEach(a=>b.add(a))}),{availableAgents:Array.from(a).sort(),availableSkills:Array.from(b).sort(),frameworks:Array.from(c).sort()}},[i]),J=(0,c.useMemo)(()=>{let a=Date.now(),b=aC[s];return i.filter(c=>{if(b!==1/0&&a-("string"==typeof c.timestamp?Date.parse(c.timestamp):Number(c.timestamp))>b)return!1;let d=c.failures&&c.failures.length>0||(c.tool_call_error_count||0)>0;if("yes"===u&&!d||"no"===u&&d||"all"!==w&&c.framework!==w)return!1;if("all"!==y&&""!==y){let a=c.agent===y||c.framework===y,b=c.agents&&c.agents.includes(y);if(!a&&!b)return!1}return("all"===B||!!aD(c).includes(B))&&("all"===D||(c.agentOwnership??"user")===D)&&!0}).sort((a,b)=>Date.parse(b.timestamp)-Date.parse(a.timestamp))},[i,s,u,w,y,B,D]),K=(0,c.useMemo)(()=>{let a=new Map;for(let b of J)for(let c of b.failures||[])c.failure_type&&a.set(c.failure_type,(a.get(c.failure_type)||0)+1);return Array.from(a.entries()).sort((a,b)=>b[1]-a[1]).slice(0,6)},[J]),L=Math.max(1,Math.ceil(J.length/q)),M=(0,c.useMemo)(()=>J.slice((o-1)*q,o*q),[J,o,q]);return(0,c.useEffect)(()=>p(1),[q,s,u,w,y,B,D]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(z.AppTopBar,{title:(0,b.jsx)(au.Term,{id:"fault-diagnosis",label:g("nav.fault")}),showDefaultActions:!1}),(0,b.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"18px 20px"},children:m?(0,b.jsx)(aG,{execution:m,locale:h,user:f||"",onBack:()=>F(null)}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:12},children:(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:9,flex:1},children:[(0,b.jsx)(aY,{label:"zh"===h?"用例总数":"Total runs",value:String(J.length),sub:`${"zh"===h?"共":"of"} ${i.length}`}),(0,b.jsx)(aY,{label:"zh"===h?"异常类型":"Anomaly types",value:String(K.length)}),(0,b.jsx)(aY,{label:"zh"===h?"主要异常":"Top anomaly",value:K[0]?.[0]||"-",sub:K[0]?`${K[0][1]}`:"",truncate:!0}),(0,b.jsx)(aY,{label:"zh"===h?"异常记录":"Anomalies",value:String(J.filter(a=>a.failures&&a.failures.length>0||(a.tool_call_error_count||0)>0).length),accent:"error"})]})}),(0,b.jsxs)("div",{style:{background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:8,marginBottom:12,overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:6,padding:"7px 10px"},children:[(0,b.jsxs)(aZ,{label:g("nav.filterAgentOwnership"),active:"all"!==D,value:D,onChange:a=>{p(1),E(a)},children:[(0,b.jsx)("option",{value:"all",children:g("nav.allOwnership")}),(0,b.jsx)("option",{value:"user",children:g("nav.userAgent")}),(0,b.jsx)("option",{value:"system",children:g("nav.systemAgent")})]}),G.length>0&&(0,b.jsxs)(aZ,{label:"Agent",active:"all"!==y&&""!==y,value:y,onChange:a=>{p(1),A(a)},children:[(0,b.jsx)("option",{value:"all",children:g("common.all")}),G.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]}),H.length>0&&(0,b.jsxs)(aZ,{label:"Skill",active:"all"!==B,value:B,onChange:a=>{p(1),C(a)},children:[(0,b.jsx)("option",{value:"all",children:g("common.all")}),H.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]}),(0,b.jsx)(a$,{}),(0,b.jsxs)(aZ,{label:"zh"===h?"执行异常":"Anomaly",active:"all"!==u,value:u,onChange:a=>v(a),children:[(0,b.jsx)("option",{value:"all",children:g("common.all")}),(0,b.jsx)("option",{value:"yes",children:"zh"===h?"是":"Yes"}),(0,b.jsx)("option",{value:"no",children:"zh"===h?"否":"No"})]}),(0,b.jsxs)(aZ,{label:"zh"===h?"时间":"Time",active:"all"!==s,value:s,onChange:a=>t(a),children:[(0,b.jsx)("option",{value:"all",children:g("common.allTime")}),(0,b.jsx)("option",{value:"7d",children:g("nav.last7Days")}),(0,b.jsx)("option",{value:"24h",children:g("topbar.last24h")}),(0,b.jsx)("option",{value:"1h",children:g("nav.last1Hour")})]}),I.length>1&&(0,b.jsxs)(aZ,{label:"zh"===h?"平台":"Platform",active:"all"!==w,value:w,onChange:a=>x(a),children:[(0,b.jsx)("option",{value:"all",children:g("common.all")}),I.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]}),("all"!==D||"all"!==y||"all"!==B||"all"!==u||"all"!==s||"all"!==w)&&(0,b.jsxs)("button",{onClick:()=>{E("all"),A("all"),C("all"),v("all"),t("all"),x("all")},style:{marginLeft:6,display:"inline-flex",alignItems:"center",gap:4,padding:"3px 10px",fontSize:11,borderRadius:5,border:"1px solid var(--border)",background:"transparent",color:"var(--foreground-muted)",cursor:"pointer",lineHeight:1.4},children:[(0,b.jsx)("svg",{width:"9",height:"9",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:(0,b.jsx)("path",{d:"M2 2l6 6M8 2l-6 6"})}),"zh"===h?"重置":"Reset"]})]}),("all"!==D||"all"!==s||"all"!==u||"all"!==w||"all"!==y&&""!==y||"all"!==B)&&(0,b.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:5,alignItems:"center",padding:"5px 10px 7px",borderTop:"1px solid var(--border)"},children:[(0,b.jsx)("span",{style:{fontSize:10.5,color:"var(--foreground-muted)",flexShrink:0,marginRight:2},children:"zh"===h?"已筛选":"Active"}),"all"!==D&&(0,b.jsx)(a_,{label:`${g("nav.filterAgentOwnership")}: ${g("system"===D?"nav.systemAgent":"nav.userAgent")}`,onRemove:()=>E("all")}),"all"!==y&&""!==y&&(0,b.jsx)(a_,{label:`Agent: ${y}`,onRemove:()=>A("all")}),"all"!==B&&(0,b.jsx)(a_,{label:`Skill: ${B}`,onRemove:()=>C("all")}),"all"!==u&&(0,b.jsx)(a_,{label:`${"zh"===h?"执行异常":"Anomaly"}: ${"yes"===u?"zh"===h?"是":"Yes":"zh"===h?"否":"No"}`,onRemove:()=>v("all")}),"all"!==s&&(0,b.jsx)(a_,{label:`${"zh"===h?"时间":"Time"}: ${"1h"===s?"zh"===h?"1小时内":"Last 1h":"24h"===s?"zh"===h?"24小时内":"Last 24h":"7d"===s?"zh"===h?"近7天":"Last 7d":s}`,onRemove:()=>t("all")}),"all"!==w&&(0,b.jsx)(a_,{label:`${"zh"===h?"平台":"Platform"}: ${w}`,onRemove:()=>x("all")})]})]}),(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:9},children:[(0,b.jsxs)("span",{className:"ai-section-title",children:[(0,b.jsx)(au.Term,{id:"fault-item",label:"zh"===h?"故障事件清单":"Fault events"}),(0,b.jsx)("span",{style:{marginLeft:8,color:"var(--foreground-muted)",fontWeight:400},children:J.length})]}),(0,b.jsx)("span",{className:"ai-section-hint",children:"yes"===u?"zh"===h?"当前仅展示执行异常的记录":"Only showing records with execution anomalies":"zh"===h?"展示所有匹配条件的记录":"Showing all matching records"})]}),(0,b.jsx)("div",{className:"ai-card",style:{overflowX:"auto"},children:k?(0,b.jsx)("div",{style:{padding:"40px 0",textAlign:"center",color:"var(--foreground-muted)",fontSize:12},children:"zh"===h?"加载中...":"Loading..."}):0===M.length?(0,b.jsx)("div",{style:{padding:"40px 18px",textAlign:"center",color:"var(--foreground-muted)",fontSize:12},children:"zh"===h?"暂无异常记录":"No anomaly runs"}):(0,b.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:11.5,tableLayout:"fixed"},children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{style:{background:"var(--background-secondary)",textAlign:"left"},children:[(0,b.jsx)(a0,{width:120,children:"Trace ID"}),(0,b.jsx)(a0,{width:120,children:"Agent"}),(0,b.jsx)(a0,{width:110,children:"zh"===h?"执行异常":"Anomaly"}),(0,b.jsx)(a0,{children:"zh"===h?"任务内容":"Task"}),(0,b.jsx)(a0,{width:160,children:"zh"===h?"故障摘要":"Summary"}),(0,b.jsx)(a0,{width:170,children:"zh"===h?"执行时间":"Time"})]})}),(0,b.jsx)("tbody",{children:M.map((a,c)=>(0,b.jsx)(a1,{execution:a,onClick:()=>F(a),locale:h},(a.task_id||a.upload_id||c)+""))})]})}),J.length>0&&(0,b.jsx)(a3,{page:o,totalPages:L,pageSize:q,total:J.length,onPage:p,onPageSize:r,locale:h})]})})]})}function aG({execution:a,locale:e,user:g,onBack:i}){var v,x;let y,z=a.task_id||a.upload_id||"",[A,B]=(0,c.useState)(null),[C,D]=(0,c.useState)(!1),[E,F]=(0,c.useState)([]),[G,H]=(0,c.useState)(""),[I,J]=(0,c.useState)(null),[K,L]=(0,c.useState)(!1),[M,N]=(0,c.useState)(null),[P,Q]=(0,c.useState)(new Map),[R,S]=(0,c.useState)(""),[T,U]=(0,c.useState)(!1),[V,W]=(0,c.useState)(new Set),[Y,Z]=(0,c.useState)(null),[$,_]=(0,c.useState)(!1),[aa,ab]=(0,c.useState)(""),[ac,ad]=(0,c.useState)(!1),[ae,af]=(0,c.useState)(!1),[ag,ah]=(0,c.useState)([]),ai=(0,c.useRef)(null),aj=(0,c.useRef)(new Map),ak=(0,c.useRef)(null),[al,am]=(0,c.useState)(null),an=(0,c.useMemo)(()=>aI(a,e),[a,e]),ao=(0,c.useMemo)(()=>{var b,c,d,f;let g,h;return b=a,c=A?.interactions||[],d=e,f=an,g=Date.parse(b.timestamp),0===(h=(function(a,b="zh"){let c=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)if(c){if(Array.isArray(c.requestMessages)||c.responseMessage){for(let a of c.requestMessages||[])a&&b.push(a);c.responseMessage&&b.push(c.responseMessage);continue}b.push(c)}return b}(a),d=[],e=a=>{d.push({...a,stepIndex:d.length+1})},f=c.find(a=>a?.role==="user"&&String(a.content||"").trim());f&&e({id:"input:root",name:"zh"===b?"用户输入":"User input",meta:f.usage?.input?`req ${f.usage.input} tok`:az(String(f.content||""),110),kind:"user",status:"ok",depth:0,interactionIndex:c.indexOf(f),startedAt:ax(f.timeInfo?.created)??ax(f.timestamp),completedAt:ax(f.timeInfo?.completed),rawText:String(f.content||""),rawInput:String(f.content||"")});let g=(0,av.buildAgentCallTree)(c);return g&&(0,av.walkTree)(g,a=>{let d=a.events.find(a=>"user"===a.kind),f=[...a.events].reverse().find(a=>"llm"===a.kind),g=d&&(d.summary||d.interaction?.content)||void 0,h=f&&(f.interaction?.content||f.summary)||void 0;e({id:`agent:${a.id}`,name:0===a.depth?"zh"===b?"控制器路由":"Controller routing":"zh"===b?"子任务执行":"Subtask execution",meta:aw(a,b),kind:"agent",status:"ok",depth:a.depth,startedAt:a.startedAt,completedAt:a.endedAt,rawText:[a.agentName,a.subagentType,aw(a,b)].filter(Boolean).join(" "),rawInput:g,rawOutput:h}),a.events.forEach((d,f)=>{let g,h,i=function(a,b){var c,d,e;let f="zh"===b;if("user"===a.kind)return{name:f?"用户输入":"User input",meta:a.usage?.input?`req ${a.usage.input} tok`:az(a.summary||"",96)};if("llm"===a.kind){let b;return{name:f?"模型调用":"Model call",meta:[(b=[(c=a).name,c.interaction?.providerID,c.interaction?.modelID,c.summary].filter(Boolean).join(" ").toLowerCase()).includes("openai")||b.includes("gpt")||b.includes("chat.completions")?"OpenAI":b.includes("deepseek")?"DeepSeek":b.includes("anthropic")||b.includes("claude")?"Anthropic":"LLM Provider",a.usage?.input?`req ${a.usage.input} tok`:"",a.usage?.output?`out ${a.usage.output} tok`:""].filter(Boolean).join(" · ")||az(a.summary||"assistant response",96)}}if("skill"===a.kind){let b=a.args?.name||a.args?.skill||a.name||"skill";return{name:f?"执行 Skill":"Run skill",meta:`skill ${b}`}}if("task"===a.kind){let b=a.args?.subagent_type||a.args?.subagentType||"subagent";return{name:f?"调度子任务":"Dispatch subtask",meta:`spawn ${b}`}}return{name:f?"工具调用":"Tool call",meta:(d=a.name||"tool",e=a.args,"bash"===d?`bash ${az(e?.command||"",72)}`:"read"===d?`read ${e?.path||e?.file_path||""}`.trim():"write"===d?`write ${e?.path||e?.file_path||""}`.trim():"glob"===d?`glob ${e?.pattern||""}`.trim():"grep"===d?`grep ${e?.pattern||""}`.trim():`${d}${e?` ${az(ay(e,90),90)}`:""}`)}}(d,b),j=d.completedAt||d.startedAt?"ok":"skipped";if("user"===d.kind)g=d.summary||d.interaction?.content||"";else if("llm"===d.kind){let e=d.interactionIndex??-1,f=new Set(a.interactionIndices.filter(a=>a<e)),i=[];for(let b of a.systemPrompts||[])b.text?.trim()&&i.push(`[System]
1
+ module.exports=[423017,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(238246),e=a.i(50944),f=a.i(219107),g=a.i(164831);let h=(0,g.default)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]),i=(0,g.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var j=a.i(589027),k=a.i(141146),l=a.i(308311),m=a.i(168370),n=a.i(239315),o=a.i(924330),p=a.i(875160),q=a.i(328423);let r=(0,g.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var s=a.i(403512);let t=(0,g.default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);var u=a.i(986708);let v=(0,g.default)("user-round",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);var w=a.i(474215),x=a.i(762180),y=a.i(558348),z=a.i(729936),A=a.i(390702);let B=(0,g.default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);var C=a.i(613412);let D=(0,g.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var E=a.i(483138),F=a.i(519783),G=a.i(533838);let H=(0,g.default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);var I=a.i(699570),J=a.i(100842);let K=(0,g.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var L=a.i(368114);function M({children:a,maxLines:d=6,className:e,buttonClassName:f,expandLabel:g="Expand",collapseLabel:h="Collapse"}){let i=c.useRef(null),k=c.useRef(!1),[l,m]=c.useState(!1),[n,o]=c.useState(!1);return c.useEffect(()=>{k.current=l},[l]),c.useEffect(()=>{let a=i.current;if(!a)return;let b=()=>{k.current||o(a.scrollHeight>a.clientHeight+1)};b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[a,d]),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{ref:i,className:(0,L.cn)("min-w-0 whitespace-pre-wrap break-words",e),style:l?void 0:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:d,overflow:"hidden"},children:a}),n&&(0,b.jsxs)("button",{type:"button","aria-expanded":l,className:(0,L.cn)("mt-1 inline-flex items-center gap-1 rounded-sm text-[11.5px] font-semibold text-primary outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",f),onClick:()=>m(a=>!a),children:[l?h:g,l?(0,b.jsx)(K,{className:"size-3"}):(0,b.jsx)(j.ChevronDown,{className:"size-3"})]})]})}var N=a.i(681892),O=a.i(575110);let P=[{key:"memory",zh:"记忆",en:"Memory"},{key:"reflection",zh:"反思",en:"Reflection"},{key:"planning",zh:"计划",en:"Planning"},{key:"action",zh:"行动",en:"Action"},{key:"system",zh:"系统",en:"System"}];function Q(a){return a.row?.status||a.status||""}function R(a){return a.skillsAnalysis||null}function S(a){return R(a)?.status==="running"||"running"===a.status}let T=P.filter(a=>"system"!==a.key),U={memory:{zh:"检查 Agent 是否错误引用历史信息、遗漏用户前文约束,或把不存在的上下文当成事实。",en:"Checks whether the agent misused prior context, forgot user constraints, or relied on nonexistent history."},reflection:{zh:"检查 Agent 是否误读工具结果、错误判断成功/失败,或过早认为任务已经完成。",en:"Checks whether the agent misread tool results, misjudged progress, or claimed success too early."},planning:{zh:"检查计划是否忽略环境约束、选择不可行路径,或与后续动作明显不一致。",en:"Checks whether the plan ignored constraints, chose infeasible steps, or diverged from later actions."},action:{zh:"检查真实工具调用、命令、路径、参数和动作执行结果是否存在明确问题。",en:"Checks real tool calls, commands, paths, parameters, and action results for concrete issues."},system:{zh:"检查工具、运行环境、模型限制、权限、超时等外部系统层异常。",en:"Checks tool, runtime, model-limit, permission, timeout, and other external system errors."}},V={memory:l.Clock,reflection:q.MessageSquare,planning:C.CheckCircle2,action:H,system:E.FileText};function W(a){let b=new Date().toISOString();return{status:"running",source:"agent-debug",generatedAt:b,updatedAt:b,interactionHash:a,errorMessage:null,keyActionResults:[]}}function X({executionId:a,user:d,locale:e,traceExplicitErrors:f=[],onNodeRefClick:g}){let h="zh"===e,[i,j]=(0,c.useState)(!1),[k,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(null),[q,r]=(0,c.useState)(""),s=(0,c.useRef)(!1),t=(0,c.useRef)(new Set);async function u(b=!1){if(a&&!i){s.current=!0,j(!0),r(""),function(b=!1){if(!a||!d||!b&&(n?.status==="done"&&ak(n).length>0||n?.status==="running"))return;let c=`${a}:${b?"force":"auto"}:${n?.interactionHash||""}`;!b&&t.current.has(c)||(b?t.current.clear():t.current.add(c),x(b))}(b);try{let c=await (0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:d,force:b})}),e=await c.json().catch(()=>({}));if(409===c.status&&"running"===Q(e))return void v(e);if(!c.ok)throw Error(e.error||`HTTP ${c.status}`);v(e)}catch(a){j(!1),r(a instanceof Error?a.message:String(a))}}}function v(a){let b=Q(a),c=a.report||null;if("running"===b){s.current=!0,m(c),r(""),j(!0);return}s.current=!1,j(!1),m(c),r(a.row?.errorMessage||a.error||"")}function w(a){let b=R(a);b?o(b):a.error||a.row?.status==="running"||o(a=>a?.status==="running"?a:null)}async function x(b=!1){if(!a||!d)return;let c=n?.interactionHash;o(W(c));try{let c=await (0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug/skills-analysis`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:d,force:b})}),e=await c.json().catch(()=>({}));if(w(e),!c.ok)throw Error(e.error||`HTTP ${c.status}`)}catch(b){let a=b instanceof Error?b.message:String(b);o(b=>{var d;let e;return d=b?.interactionHash||c,{status:"failed",source:"agent-debug",generatedAt:e=new Date().toISOString(),updatedAt:e,interactionHash:d,errorMessage:a,keyActionResults:[]}})}}return(0,c.useEffect)(()=>{if(!a)return;let b=!1;return(0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug`).then(a=>a.ok?a.json():Promise.reject(Error(`HTTP ${a.status}`))).then(a=>{b||v(a)}).catch(a=>{b||(j(!1),r(a instanceof Error?a.message:String(a)))}),()=>{b=!0}},[a]),(0,c.useEffect)(()=>{if(!a)return;o(null),t.current.clear();let b=!1;return(0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug/skills-analysis`).then(a=>a.ok?a.json():Promise.reject(Error(`HTTP ${a.status}`))).then(a=>{b||w(a)}).catch(()=>{b||o(null)}),()=>{b=!0}},[a]),(0,c.useEffect)(()=>{if(!a||!i)return;let b=!1,c=async()=>{try{let c=await (0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug`),d=await c.json().catch(()=>({}));if(b)return;if(!c.ok)throw Error(d.error||`HTTP ${c.status}`);v(d)}catch(a){if(b)return;j(!1),r(a instanceof Error?a.message:String(a))}},d=window.setInterval(c,3e3);return()=>{b=!0,window.clearInterval(d)}},[a,i]),(0,b.jsxs)("div",{className:"mb-6 space-y-4",children:[!k&&!q&&!i&&(0,b.jsx)(ah,{children:(0,b.jsx)("div",{className:"relative overflow-hidden rounded-lg border border-card-border bg-card shadow-sm",children:(0,b.jsxs)("div",{className:"relative p-5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"mb-2 inline-flex items-center gap-1.5 rounded-full border border-primary-subtle-border bg-primary-subtle px-2 py-0.5 text-[10.5px] font-bold tracking-[0.12em] text-primary",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary"}),h?"AGENTDEBUG · 四维认知":"AGENTDEBUG · FOUR-DIMENSION"]}),(0,b.jsx)("h3",{className:"text-lg font-extrabold tracking-tight text-foreground",children:h?"需要更深入的诊断?":"Need deeper diagnosis?"}),(0,b.jsx)("p",{className:"mt-1 max-w-[560px] text-[13px] leading-relaxed text-foreground-muted",children:h?"按 AgentDebug 原方案,将每个执行片段抽取为 Memory / Reflection / Planning / Action 四个认知模块;System 作为外部工具/环境异常单独检查,再进入根因定位。":"Use the original AgentDebug pipeline: decompose execution slices into four cognitive modules, check System errors separately, then identify the key diagnostic finding."})]}),(0,b.jsx)(_,{})]}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-4 text-[11.5px] text-foreground-muted",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(l.Clock,{className:"size-3"})," ",h?"预计 8-30s":"8-30s expected"]}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(B,{className:"size-3"})," ",h?"初筛 + 根因定位":"Phase 1 + Phase 2"]}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(E.FileText,{className:"size-3"})," ",h?"报告自动归档":"Report archived"]})]}),(0,b.jsx)("div",{className:"mt-4 flex items-center gap-2",children:(0,b.jsxs)(I.Button,{size:"sm",onClick:()=>u(!1),children:[(0,b.jsx)(H,{className:"size-4"}),h?"启动智能诊断":"Start diagnosis"]})})]})})}),i&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ai,{children:h?"启动智能诊断(四个认知模块 + System 异常检查)":"Start AgentDebug diagnosis"}),(0,b.jsx)(ah,{meta:h?"诊断进行中":"Running diagnosis",children:(0,b.jsxs)("div",{className:"rounded-lg border border-card-border bg-card p-5 shadow-sm",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"text-[14.5px] font-bold tracking-tight text-foreground",children:["AgentDebug · ",h?"初筛 + 根因定位":"Original two-phase pipeline"]}),(0,b.jsx)("div",{className:"mt-0.5 text-[11.5px] text-foreground-muted",children:h?"正在抽取 Memory / Reflection / Planning / Action 与 System 模块,并进入根因联合定位。":"Extracting Memory / Reflection / Planning / Action and System modules, then Phase 2 critical-error analysis."})]}),(0,b.jsx)(p.Loader2,{className:"size-5 animate-spin text-primary"})]}),(0,b.jsx)("div",{className:"space-y-2",children:P.map(a=>(0,b.jsx)(ag,{label:`${a.en} \xb7 ${h?a.zh:a.key}`},a.key))}),(0,b.jsx)("div",{className:"mt-4 border-t border-border pt-3 text-[11.5px] text-foreground-muted",children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary"}),h?"载入 Execution.interactions · 映射左侧节点 · 调用 AgentDebug detector":"Loading interactions · mapping trace nodes · calling AgentDebug detectors"]})})]})}),n&&(0,b.jsx)(ah,{meta:h?"Skills 分析":"Skills analysis",children:(0,b.jsx)(af,{executionId:a,user:d,zh:h,analysis:n,onAnalysisUpdate:o})})]}),q&&!i&&(0,b.jsx)(ah,{meta:h?"诊断失败":"Diagnosis failed",children:(0,b.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-error-border bg-error-subtle p-4 text-sm text-error",children:[(0,b.jsx)(A.AlertTriangle,{className:"mt-0.5 size-4 shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"font-semibold",children:h?"AgentDebug 运行失败":"AgentDebug failed"}),(0,b.jsx)("div",{className:"mt-1 break-words text-xs leading-5",children:q}),(0,b.jsxs)(I.Button,{className:"mt-3",variant:"outline",size:"sm",onClick:()=>u(!0),children:[(0,b.jsx)(F.RefreshCw,{className:"size-3.5"}),h?"重试":"Retry"]})]})]})}),k&&!i&&(0,b.jsx)(ah,{meta:`${h?"诊断完成":"Done"} \xb7 ${function(a,b){var c;let d;if(!Number.isFinite(a)||a<0)return b?"未知耗时":"unknown duration";if(a<1e3)return`${Math.round(a)}ms`;let e=a/1e3,f=Math.floor(e/3600),g=Math.floor(e%3600/60),h=Number.isInteger(d=(c=e%60)>=10?Math.round(c):Math.round(10*c)/10)?String(d):d.toFixed(1);return f>0?b?`${f}小时${g}分${h}秒`:`${f}h ${g}m ${h}s`:g>0?b?`${g}分${h}秒`:`${g}m ${h}s`:b?`${h}秒`:`${h}s`}(k.stats.durationMs,h)} \xb7 ${h?"智能诊断 Agent":"diagnosis agent"}`,children:(0,b.jsx)(Y,{report:k,zh:h,executionId:a,user:d,traceExplicitErrors:f,onNodeRefClick:g,skillsAnalysis:n,onSkillsAnalysisUpdate:o,onRerun:()=>u(!0)})})]})}function Y({report:a,zh:d,executionId:e,user:f,traceExplicitErrors:g,onNodeRefClick:h,skillsAnalysis:i,onSkillsAnalysisUpdate:j,onRerun:k}){let l=(0,c.useMemo)(()=>{var b,c,d;let e;return Array.isArray((b=a).findings)&&b.findings.length>0?b.findings:b.rootCause?[(c=b.rootCause,e=function(a,b){var c;let d=[],e=ao({traceStepIndex:(c=a).criticalTraceStepIndex??c.criticalStep??void 0,traceNodeLabel:c.criticalTraceNodeLabel,traceNodeKind:c.criticalTraceNodeKind}),f=b.find(b=>b.module===a.criticalModule&&ao(b)===e&&b.errorType===a.criticalErrorType)||b.find(b=>b.module===a.criticalModule&&ao(b)===e);for(let c of(f&&d.push({issueId:f.id,role:"root"}),a.cascadingChain)){let a=b.find(a=>a.module===c.module&&ao(a)===ao(c)&&a.errorType===c.errorType)||b.find(a=>a.module===c.module&&ao(a)===ao(c));a&&!d.some(b=>b.issueId===a.id)&&d.push({issueId:a.id,role:"downstream"})}return 0===d.length&&b[0]&&d.push({issueId:b[0].id,role:"root"}),d}(c,d=b.issues),{id:"finding-root-cause",severity:d.find(a=>a.id===e[0]?.issueId)?.severity||"high",impact:"quality_degrading",summary:c.summary,evidence:c.evidence,issueRefs:e,correctionGuidance:c.correctionGuidance,confidence:c.confidence})]:[]},[a]),m=(0,c.useMemo)(()=>Array.isArray(a.trajectoryFindings)?a.trajectoryFindings:[],[a]),[n,o]=(0,c.useState)(()=>new Set(l[0]?[l[0].id]:[])),p=a.issues.length+g.length,q=l.length+m.length;return((0,c.useEffect)(()=>{o(new Set(l[0]?[l[0].id]:[]))},[l]),a.skippedReason)?(0,b.jsxs)("div",{className:"rounded-lg border border-card-border bg-card p-4 shadow-sm",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,b.jsx)(J.StatusBadge,{status:"warning",label:d?"未运行":"Skipped"}),(0,b.jsx)("span",{className:"text-sm font-semibold text-foreground",children:"AgentDebug"})]}),(0,b.jsx)("p",{className:"text-sm leading-6 text-foreground-muted",children:a.skippedReason})]}):a.triage?.shortCircuited&&a.triage.fatalDiagnosis?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)($,{report:a,zh:d,onNodeRefClick:h,onRerun:k}),(0,b.jsx)(af,{executionId:e,user:f,zh:d,analysis:i,onAnalysisUpdate:j})]}):(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-card-border bg-card p-4 shadow-sm",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"flex size-7 items-center justify-center rounded-lg border border-error-border bg-error-subtle text-error",children:(0,b.jsx)(A.AlertTriangle,{className:"size-3.5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10.5px] font-bold tracking-[0.14em] text-error",children:d?"关键诊断发现":"KEY DIAGNOSTIC FINDINGS"}),(0,b.jsx)("div",{className:"mt-0.5 text-sm font-bold tracking-tight text-foreground",children:q>0?d?`${q} 条发现 \xb7 ${p} 条证据节点`:`${q} findings \xb7 ${p} evidence nodes`:d?"未发现明确关键问题":"No clear key finding"})]})]}),(0,b.jsxs)(I.Button,{variant:"outline",size:"sm",onClick:k,children:[(0,b.jsx)(F.RefreshCw,{className:"size-3.5"}),d?"重新诊断":"Rerun"]})]}),q>0?(0,b.jsxs)("div",{className:"space-y-2",children:[l.map((c,e)=>(0,b.jsx)(ab,{finding:c,index:e,report:a,zh:d,expanded:n.has(c.id),traceExplicitErrors:0===e?g:[],onToggle:()=>{o(a=>{let b=new Set(a);return b.has(c.id)?b.delete(c.id):b.add(c.id),b})},onNodeRefClick:h},c.id)),m.map((a,c)=>(0,b.jsx)(Z,{finding:a,index:l.length+c,zh:d,expanded:n.has(a.id),onToggle:()=>{o(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c})},onNodeRefClick:h},a.id))]}):(0,b.jsx)("p",{className:"text-sm text-foreground-muted",children:d?"初筛未检测到足够明确的问题。":"Phase 1 did not find a clear issue."})]}),(0,b.jsx)(af,{executionId:e,user:f,zh:d,analysis:i,onAnalysisUpdate:j})]})}function Z({finding:a,index:c,zh:d,expanded:e,onToggle:f,onNodeRefClick:g}){let h=null!=a.span.fromStep&&null!=a.span.toStep?`#${a.span.fromStep}–#${a.span.toStep}`:d?`${a.span.turnCount} 个 turn`:`${a.span.turnCount} turns`;return(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-background-secondary p-3",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":e,onClick:f,className:"flex w-full items-start gap-2 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",children:[(0,b.jsx)("div",{className:"flex size-6 shrink-0 items-center justify-center rounded-md border border-border bg-card text-[11px] font-bold text-primary",children:c+1}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-[13px] font-semibold leading-6 text-foreground",children:aq(a.summary)}),(0,b.jsxs)("div",{className:"mt-0.5 flex flex-wrap items-center gap-1.5 text-[11px] text-foreground-muted",children:[(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded bg-error-subtle px-1 py-0.5 text-error",children:[(0,b.jsx)(G.RotateCcw,{className:"size-3"}),d?"疑似循环":"Suspected loop"]}),(0,b.jsxs)("span",{children:[d?"区间":"span"," ",h]})]})]}),e?(0,b.jsx)(j.ChevronDown,{className:"mt-1 size-3.5 shrink-0 text-foreground-muted"}):(0,b.jsx)(k.ChevronRight,{className:"mt-1 size-3.5 shrink-0 text-foreground-muted"})]}),e&&(0,b.jsxs)("div",{className:"mt-3 space-y-3 border-t border-border pt-3",children:[(0,b.jsxs)("section",{children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:d?"故障机制":"Mechanism"}),(0,b.jsx)("div",{className:"text-[12.5px] leading-6 text-foreground",children:ap(a.mechanism)})]}),a.faultChain.length>0&&(0,b.jsxs)("section",{children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:d?"故障链":"Fault chain"}),(0,b.jsx)("ol",{className:"space-y-0.5",children:a.faultChain.map((a,c)=>(0,b.jsxs)("li",{className:"text-[12px] leading-6 text-foreground-muted",children:[c+1,". ",ap(a)]},c))})]}),(0,b.jsxs)("section",{children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:d?"无进展证据":"No-progress evidence"}),(0,b.jsx)("div",{className:"text-[12px] leading-6 text-foreground-muted",children:ap(a.noProgressEvidence)})]}),a.anchors.length>0&&(0,b.jsxs)("section",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)("span",{className:"text-[10.5px] font-bold tracking-wider text-foreground-muted",children:d?"证据节点":"Evidence"}),a.anchors.map((a,c)=>{let d=null!=a.traceStepIndex?`#${a.traceStepIndex}`:a.traceNodeLabel||`node ${c+1}`,e=!!(a.anchorId&&g);return(0,b.jsxs)("button",{type:"button",disabled:!e,onClick:()=>{a.anchorId&&g&&g(a.anchorId)},className:`rounded border border-border px-1.5 py-0.5 text-[11px] ${e?"cursor-pointer text-error hover:bg-error-subtle":"cursor-default text-foreground-muted"}`,title:a.traceNodeLabel||"",children:[d,a.note?` \xb7 ${a.note}`:""]},c)})]}),(0,b.jsxs)("section",{className:"rounded-lg border border-border bg-card px-3 py-2.5",children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:d?"建议":"Guidance"}),(0,b.jsx)("div",{className:"text-[12.5px] leading-6 text-foreground",children:ap(a.correctionGuidance)})]})]})]})}function $({report:a,zh:c,onNodeRefClick:d,onRerun:e}){var f;let g=a.triage?.fatalDiagnosis;return g?(0,b.jsxs)("div",{className:"rounded-lg border border-error-border bg-card p-4 shadow-sm",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"flex size-7 items-center justify-center rounded-lg border border-error-border bg-error-subtle text-error",children:(0,b.jsx)(A.AlertTriangle,{className:"size-3.5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10.5px] font-bold tracking-[0.14em] text-error",children:c?"明显失败":"FATAL DIAGNOSIS"}),(0,b.jsxs)("div",{className:"mt-0.5 text-sm font-bold tracking-tight text-foreground",children:[(f=a.triage?.category||"normal",c?"infra"===f?"基础设施级失败":"tool_systemic"===f?"工具系统性失败":"early_fatal"===f?"早期不可恢复失败":"正常预检":f),g.toolName?` \xb7 ${g.toolName}`:""]})]})]}),(0,b.jsxs)(I.Button,{variant:"outline",size:"sm",onClick:e,children:[(0,b.jsx)(F.RefreshCw,{className:"size-3.5"}),c?"重新诊断":"Rerun"]})]}),(0,b.jsx)("p",{className:"mt-3 text-[13px] leading-7 text-foreground",children:g.summary}),(g.affectedTraceStepIndexes?.length||g.affectedSteps.length)>0&&(0,b.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-1.5 text-[11px] text-foreground-muted",children:[(0,b.jsx)("span",{className:"font-semibold",children:c?"受影响左侧节点":"Affected trace nodes"}),(g.affectedTraceStepIndexes?.length?g.affectedTraceStepIndexes:g.affectedSteps).map(a=>(0,b.jsx)("span",{className:"rounded-md border border-border bg-background-secondary px-2 py-1 font-mono text-foreground",children:an(a,c)},a))]}),g.rawErrorEvidence&&(0,b.jsx)("p",{className:"mt-3 rounded-md border border-border bg-background-secondary p-2 font-mono text-[11.5px] leading-5 text-foreground-muted",children:g.rawErrorEvidence}),(0,b.jsxs)("div",{className:"mt-3 rounded-lg border border-border bg-background-secondary px-3 py-2.5",children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:c?"建议":"Recommendation"}),(0,b.jsx)("div",{className:"text-[12.5px] leading-6 text-foreground",children:g.recommendation})]}),g.anchorId&&d&&(0,b.jsxs)(I.Button,{className:"mt-3",variant:"ghost",size:"sm",onClick:()=>d(g.anchorId),children:[c?"跳到左侧节点":"View trace node",(0,b.jsx)(k.ChevronRight,{className:"size-3.5"})]})]}):null}function _(){return(0,b.jsx)("div",{className:"hidden grid-cols-2 gap-1.5 md:grid",children:P.slice(0,4).map(a=>{let c=V[a.key]||D;return(0,b.jsxs)("div",{className:"flex w-[100px] items-center gap-1.5 rounded-lg border border-border bg-background-secondary px-2 py-1.5 text-foreground",children:[(0,b.jsx)(c,{className:"size-3"}),(0,b.jsx)("span",{className:"text-[10.5px] font-bold",children:a.en})]},a.key)})})}function aa({title:a,help:c}){return(0,b.jsxs)("div",{className:"flex items-center gap-1 text-sm font-bold text-foreground",children:[(0,b.jsx)("span",{children:a}),(0,b.jsx)(N.TermPopover,{term:a,tag:"fault",body:c,side:"top",align:"center",children:(0,b.jsx)("span",{className:"sr-only",children:a})})]})}function ab({finding:a,index:d,report:e,zh:f,expanded:g,traceExplicitErrors:h,onToggle:i,onNodeRefClick:l}){var m,n;let o,p,q,r=(m=a,o=new Map(e.issues.map(a=>[a.id,a])),m.issueRefs.map(a=>o.get(a.issueId)).filter(a=>!!a)),s=r.find(b=>a.issueRefs.find(a=>a.issueId===b.id)?.role==="root")||r[0],t=0===d?P:T,u=(q=(p=((n=a.summary)||"").trim().match(/[^。!?.!?]+[。!?.!?]?/g),p?.map(a=>a.trim()).filter(Boolean)||[])).length<=2?{conclusion:n,details:""}:{conclusion:q.slice(0,2).join(""),details:q.slice(2).join("")},[v,w]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-background-secondary p-3",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":g,onClick:i,className:"flex w-full items-start gap-2 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",children:[(0,b.jsx)("div",{className:"flex size-6 shrink-0 items-center justify-center rounded-md border border-border bg-card text-[11px] font-bold text-primary",children:d+1}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-[13px] font-semibold leading-6 text-foreground",children:aq(u.conclusion||a.summary)}),s&&(0,b.jsx)("div",{className:"mt-0.5 text-[11px] text-foreground-muted",children:am(s,f)})]}),g?(0,b.jsx)(j.ChevronDown,{className:"mt-1 size-3.5 shrink-0 text-foreground-muted"}):(0,b.jsx)(k.ChevronRight,{className:"mt-1 size-3.5 shrink-0 text-foreground-muted"})]}),g&&(0,b.jsxs)("div",{className:"mt-3 space-y-3 border-t border-border pt-3",children:[(0,b.jsxs)("section",{className:"rounded-lg border border-border bg-card",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":v,onClick:()=>w(a=>!a),className:"flex w-full items-center gap-2 px-3 py-2.5 text-left outline-none hover:bg-background-secondary focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",children:[(0,b.jsx)("span",{className:"text-[10.5px] font-bold tracking-wider text-foreground-muted",children:f?"证据":"Evidence"}),(0,b.jsx)("span",{className:"h-px min-w-4 flex-1 bg-border"}),(0,b.jsx)("span",{className:"text-[11px] text-foreground-muted",children:f?"展开查看关联模块证据":"Expand linked module evidence"}),v?(0,b.jsx)(j.ChevronDown,{className:"size-3.5 shrink-0 text-foreground-muted"}):(0,b.jsx)(k.ChevronRight,{className:"size-3.5 shrink-0 text-foreground-muted"})]}),v&&(0,b.jsxs)("div",{className:"border-t border-border p-3",children:[a.evidence&&(0,b.jsx)("p",{className:"mb-2 rounded-md border border-border bg-background-secondary p-2 font-mono text-[11.5px] leading-5 text-foreground-muted",children:ap(a.evidence)}),(0,b.jsx)("div",{className:"grid gap-2 md:grid-cols-2",children:t.map(c=>(0,b.jsx)(ac,{module:c,zh:f,globalSystem:0===d&&"system"===c.key,issues:"system"===c.key?e.issues.filter(a=>"system"===a.module):r.filter(a=>a.module===c.key),traceExplicitErrors:0===d&&"system"===c.key?h:[],finding:a,onNodeRefClick:l},c.key))})]})]}),u.details&&(0,b.jsxs)("section",{children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:f?"分析说明":"Analysis notes"}),(0,b.jsx)(M,{maxLines:4,className:"text-[12px] leading-6 text-foreground-muted",expandLabel:f?"展开完整说明":"Show full notes",collapseLabel:f?"收起说明":"Collapse notes",children:ap(u.details)})]}),(0,b.jsxs)("section",{className:"rounded-lg border border-border bg-card px-3 py-2.5",children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:f?"建议":"Guidance"}),(0,b.jsx)("div",{className:"text-[12.5px] leading-6 text-foreground",children:ap(a.correctionGuidance)})]})]})]})}function ac({module:a,zh:d,globalSystem:e,issues:f,traceExplicitErrors:g,finding:h,onNodeRefClick:i}){let l=V[a.key]||D,[m,n]=(0,c.useState)(!1),o=[...f].sort((a,b)=>{let c=h.issueRefs.find(b=>b.issueId===a.id)?.role||"contributing",d=aj(h.issueRefs.find(a=>a.issueId===b.id)?.role||"contributing")-aj(c);if(0!==d)return d;let e=ar(b.severity)-ar(a.severity);return 0!==e?e:(ao(a)??a.step)-(ao(b)??b.step)}),p=[...g].sort((a,b)=>(a.traceStepIndex??Number.MAX_SAFE_INTEGER)-(b.traceStepIndex??Number.MAX_SAFE_INTEGER)),q=o.length+p.length,r=e?d?"全局 System 证据":"Global System Evidence":a.en;return(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-card p-3",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":m,onClick:()=>n(a=>!a),className:"flex w-full items-start justify-between gap-2 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"flex size-7 items-center justify-center rounded-lg border border-border bg-background-secondary text-primary",children:(0,b.jsx)(l,{className:"size-3.5"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)(aa,{title:r,help:(d?U[a.key]?.zh:U[a.key]?.en)||a.key}),(0,b.jsx)("div",{className:"text-[11px] text-foreground-muted",children:e?d?"只在第一条关键发现展示一次":"Shown once in the first finding":d?a.zh:a.key})]})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1.5",children:[(0,b.jsx)(J.StatusBadge,{status:q>0?"warning":"success",label:q>0?`${q}`:"OK"}),m?(0,b.jsx)(j.ChevronDown,{className:"mt-0.5 size-3.5 text-foreground-muted"}):(0,b.jsx)(k.ChevronRight,{className:"mt-0.5 size-3.5 text-foreground-muted"})]})]}),m&&(q>0?(0,b.jsxs)("div",{className:"mt-3 max-h-72 space-y-2 overflow-y-auto pr-1",children:[o.map(a=>(0,b.jsx)(ad,{issue:a,role:h.issueRefs.find(b=>b.issueId===a.id)?.role,zh:d,onNodeRefClick:i},a.id)),p.map(a=>(0,b.jsx)(ae,{error:a,zh:d,onNodeRefClick:i},a.id))]}):(0,b.jsx)("p",{className:"mt-3 text-[12px] leading-6 text-foreground-muted",children:d?"当前发现未关联该模块问题":"This finding has no issue linked to this module."}))]})}function ad({issue:a,role:c,zh:d,onNodeRefClick:e}){return(0,b.jsxs)("div",{className:"rounded-md border border-border bg-background-secondary px-2.5 py-2",children:[(0,b.jsx)("div",{className:"mb-1 flex flex-wrap items-center gap-1.5",children:(0,b.jsx)("span",{className:"rounded bg-card px-1.5 py-0.5 font-mono text-[10.5px] font-semibold text-primary",children:am(a,d)})}),(0,b.jsx)(M,{maxLines:4,className:"text-[11.5px] leading-5 text-foreground-muted",expandLabel:d?"展开完整原因":"Show full reason",collapseLabel:d?"收起原因":"Collapse reason",children:ap(a.reasoning||a.evidence)}),a.evidence&&a.reasoning&&(0,b.jsx)(M,{maxLines:3,className:"mt-1.5 font-mono text-[10.5px] leading-5 text-foreground-muted",expandLabel:d?"展开证据原文":"Show evidence",collapseLabel:d?"收起证据原文":"Collapse evidence",children:ap(a.evidence)}),a.anchorId&&e&&(0,b.jsxs)(I.Button,{className:"mt-1.5 h-6 px-0 text-[11px]",variant:"link",size:"sm",onClick:()=>e(a.anchorId),children:[d?"跳到左侧节点":"View trace node",(0,b.jsx)(k.ChevronRight,{className:"size-3"})]})]})}function ae({error:a,zh:c,onNodeRefClick:d}){return(0,b.jsxs)("div",{className:"rounded-md border border-border bg-background-secondary px-2.5 py-2",children:[(0,b.jsx)("div",{className:"mb-1 flex flex-wrap items-center gap-1.5",children:(0,b.jsx)("span",{className:"rounded bg-card px-1.5 py-0.5 font-mono text-[10.5px] font-semibold text-primary",children:am(a,c)})}),(a.description||a.context)&&(0,b.jsx)(M,{maxLines:4,className:"text-[11.5px] leading-5 text-foreground-muted",expandLabel:c?"展开详情":"Show details",collapseLabel:c?"收起详情":"Collapse details",children:[a.description,a.context].filter(Boolean).join("\n")}),a.anchorId&&d&&(0,b.jsxs)(I.Button,{className:"mt-1.5 h-6 px-0 text-[11px]",variant:"link",size:"sm",onClick:()=>d(a.anchorId),children:[c?"跳到左侧节点":"View trace node",(0,b.jsx)(k.ChevronRight,{className:"size-3"})]})]})}function af({executionId:a,user:d,zh:e,analysis:f,onAnalysisUpdate:g}){let[h,i]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(!1),[q,r]=(0,c.useState)(""),[s,t]=(0,c.useState)(f);(0,c.useEffect)(()=>{t(f)},[f]);let v=ak(s),w=function(a){if(!a)return[];let b=a.skillSuggestions||a.skill_suggestions;return Array.isArray(b)?b.map(a=>a&&"object"==typeof a?a:null).filter(a=>!!a).map(a=>{let b=al(a.severity).toLowerCase();return{category:al(a.category)||"其他",severity:"high"===b||"low"===b?b:"medium",summary:al(a.summary),evidence:al(a.evidence),improvementSuggestion:al(a.improvementSuggestion)||al(a.improvement_suggestion)}}).filter(a=>a.summary&&a.improvementSuggestion):[]}(s),x=(s?.reasonText||""||"").replace(/\r\n/g,"\n").replace(/(完整性(?:\([^)]+\))?[::])/g,"\n$1").replace(/(工具选择(?:\([^)]+\))?[::])/g,"\n$1").replace(/(冗余(?:\([^)]+\))?[::])/g,"\n$1").split(/\n+/).map(a=>a.trim()).filter(a=>a&&!/^执行路径分析/.test(a)&&!/可能触发封顶|封顶/.test(a)).join("\n"),y=s?.status||"pending",z="done"===y&&v.length>0,A="running"!==y,B="failed"===y,C=v.filter(a=>"partial"===a.status||"missing"===a.status||"not_applicable"===a.status).length;async function D(b=!0){if(!a||!d||h)return;i(!0),r("");let c=W(s?.interactionHash);t(c),g(c);try{let c=await (0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug/skills-analysis`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:d,force:b})}),e=await c.json().catch(()=>({}));if(409===c.status&&S(e)){E(e),l||m(!0);return}if(E(e),!c.ok)throw Error(e.error||`HTTP ${c.status}`);l||m(!0)}catch(a){r(a instanceof Error?a.message:String(a))}finally{i(!1)}}function E(a){let b=R(a);b?(t(b),g(b)):a.error||(t(a=>a?.status==="running"?a:null),s?.status!=="running"&&g(null)),(!a.error||S(a))&&r("")}return(0,c.useEffect)(()=>{if(!a||"running"!==y)return;let b=!1,c=async()=>{try{let c=await (0,O.apiFetch)(`/api/observe/executions/${encodeURIComponent(a)}/agent-debug/skills-analysis`),d=await c.json().catch(()=>({}));if(b)return;if(!c.ok)throw Error(d.error||`HTTP ${c.status}`);let e=R(d);e&&(g(e),t(e),"failed"!==e.status&&r(""))}catch(a){b||r(a instanceof Error?a.message:String(a))}},d=window.setInterval(c,3e3);return()=>{b=!0,window.clearInterval(d)}},[a,g,y]),(0,b.jsxs)("div",{className:"rounded-lg border border-card-border bg-card p-4 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":l,onClick:()=>m(a=>!a),className:"flex min-w-0 flex-1 items-start gap-2 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",children:[l?(0,b.jsx)(j.ChevronDown,{className:"mt-1 size-3.5 shrink-0 text-foreground-muted"}):(0,b.jsx)(k.ChevronRight,{className:"mt-1 size-3.5 shrink-0 text-foreground-muted"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-[10.5px] font-bold tracking-[0.14em] text-primary",children:e?"Skills 分析":"SKILLS ANALYSIS"}),(h||"running"===y||!z)&&(0,b.jsx)("div",{className:"mt-0.5 text-sm font-bold tracking-tight text-foreground",children:h||"running"===y?e?"正在生成 Skills 步骤核验":"Generating Skills step review":e?"暂无 Skills 步骤核验结果":"No Skills step review yet"}),z&&(0,b.jsx)("div",{className:"mt-0.5 text-[11px] text-foreground-muted",children:e?`${v.length} 个 Skill 步骤`:`${v.length} Skill steps`})]})]}),A&&(0,b.jsxs)(I.Button,{variant:"outline",size:"sm",onClick:()=>D(!0),disabled:h,children:[h?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(u.Sparkles,{className:"size-3.5"}),B||s?e?"重新分析":"Re-analyze":e?"生成 Skills 分析":"Generate Skills analysis"]})]}),l&&(0,b.jsxs)("div",{className:"mt-3",children:[q&&(0,b.jsx)("div",{className:"mb-3 rounded-md border border-error-border bg-error-subtle p-2 text-[12px] text-error",children:q}),z?(0,b.jsxs)("div",{className:"space-y-3",children:[x&&(0,b.jsxs)("div",{className:"rounded-md border border-border bg-background-secondary p-3",children:[(0,b.jsx)("div",{className:"mb-1 text-[10.5px] font-bold tracking-wider text-foreground-muted",children:e?"总结":"Summary"}),(0,b.jsx)("p",{className:"whitespace-pre-line text-[12.5px] leading-6 text-foreground-muted",children:x})]}),(0,b.jsxs)("div",{className:"rounded-md border border-border bg-background-secondary",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":n,onClick:()=>o(a=>!a),className:"flex w-full items-center gap-2 px-3 py-2.5 text-left outline-none hover:bg-card focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",children:[(0,b.jsx)("span",{className:"text-[12px] font-bold text-foreground",children:e?"Skill 步骤核验":"Skill step review"}),(0,b.jsx)(J.StatusBadge,{status:C>0?"warning":"success",label:`${v.length}`}),C>0&&(0,b.jsx)("span",{className:"text-[11px] text-foreground-muted",children:e?`${C} 个需关注`:`${C} need attention`}),(0,b.jsx)("span",{className:"h-px min-w-4 flex-1 bg-border"}),n?(0,b.jsx)(j.ChevronDown,{className:"size-3.5 shrink-0 text-foreground-muted"}):(0,b.jsx)(k.ChevronRight,{className:"size-3.5 shrink-0 text-foreground-muted"})]}),n&&(0,b.jsx)("div",{className:"space-y-2 border-t border-border p-2.5",children:v.map((a,c)=>{var d;let f,g;return(0,b.jsxs)("div",{className:"rounded-md border border-border bg-card px-2.5 py-2",children:[(0,b.jsxs)("div",{className:"mb-1 flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(J.StatusBadge,{status:"covered"===(f=a.status.toLowerCase())||"passed"===f||"pass"===f||"success"===f?"success":"missing"===f||"failed"===f||"fail"===f||"error"===f?"error":"not_applicable"===f||"not-applicable"===f||"n/a"===f?"pending":"warning",label:(d=a.status,g=d.toLowerCase(),(e?"covered"===g||"passed"===g||"pass"===g||"success"===g?"已覆盖":"partial"===g||"partially_covered"===g?"部分覆盖":"missing"===g||"failed"===g||"fail"===g||"error"===g?"未覆盖":"not_applicable"===g||"not-applicable"===g||"n/a"===g?"不适用":d:d)||(e?"Skill 步骤":"Skill step"))}),(0,b.jsx)("span",{className:"text-[12px] font-semibold text-foreground",children:a.title||(e?`Skill 步骤 ${c+1}`:`Skill step ${c+1}`)})]}),a.description&&(0,b.jsx)("p",{className:"text-[11.5px] leading-5 text-foreground-muted",children:a.description}),"covered"!==a.status&&"not_applicable"!==a.status&&a.suggestion&&(0,b.jsxs)("div",{className:"mt-2 rounded-md border border-success-border bg-success-subtle px-2 py-1.5 text-[11.5px] leading-5 text-success",children:[(0,b.jsx)("span",{className:"font-semibold",children:e?"改进建议":"Suggestion"}),(0,b.jsx)("span",{className:"ml-1 text-foreground-muted",children:a.suggestion})]})]},`${c}-${a.title}`)})})]}),w.length>0&&(0,b.jsxs)("div",{className:"rounded-md border border-border bg-background-secondary",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2.5",children:[(0,b.jsx)("span",{className:"text-[12px] font-bold text-foreground",children:e?"Skill 改进建议":"Skill improvement suggestions"}),(0,b.jsx)(J.StatusBadge,{status:"warning",label:`${w.length}`}),(0,b.jsx)("span",{className:"h-px min-w-4 flex-1 bg-border"})]}),(0,b.jsx)("div",{className:"space-y-2 border-t border-border p-2.5",children:w.map((a,c)=>(0,b.jsxs)("div",{className:"rounded-md border border-border bg-card px-2.5 py-2",children:[(0,b.jsxs)("div",{className:"mb-1 flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(J.StatusBadge,{status:"high"===a.severity?"error":"medium"===a.severity?"warning":"success",label:a.category}),(0,b.jsx)("span",{className:"text-[12px] font-semibold text-foreground",children:a.summary})]}),a.evidence&&(0,b.jsx)("p",{className:"text-[11.5px] leading-5 text-foreground-muted",children:a.evidence}),(0,b.jsxs)("div",{className:"mt-2 rounded-md border border-success-border bg-success-subtle px-2 py-1.5 text-[11.5px] leading-5 text-success",children:[(0,b.jsx)("span",{className:"font-semibold",children:e?"改进建议":"Suggestion"}),(0,b.jsx)("span",{className:"ml-1 text-foreground-muted",children:a.improvementSuggestion})]})]},`sugg-${c}-${a.summary}`))})]})]}):(0,b.jsxs)("div",{className:"rounded-md border border-border bg-background-secondary p-3",children:[(0,b.jsx)("p",{className:"text-[12.5px] leading-6 text-foreground-muted",children:h||"running"===y?e?"正在生成 Skills 步骤核验。完成后会保存到 AgentDebug Skills 分析缓存里。":"Skills step review is running. The result will be saved in the AgentDebug Skills cache.":B?e?`Skills 步骤核验失败:${s?.errorMessage||"未知错误"}。可以重新分析。`:`Skills step review failed: ${s?.errorMessage||"unknown error"}. You can re-analyze.`:"done"===y?e?"已保存 Skills 分析结果,但缺少步骤核验明细。可以重新分析。":"Saved Skills analysis has no step review details. You can re-analyze.":e?"当前 trace 还没有 Skills 步骤核验结果。点击生成后会分析 Skill 步骤覆盖情况,并保存到 AgentDebug Skills 分析缓存。":"This trace has no Skills step review yet. Generate it to analyze Skill step coverage and save it in the AgentDebug Skills cache."}),A&&(0,b.jsxs)(I.Button,{variant:"outline",size:"sm",className:"mt-2",onClick:()=>D(!0),disabled:h,children:[h?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(u.Sparkles,{className:"size-3.5"}),B||s?e?"重新分析":"Re-analyze":e?"生成 Skills 分析":"Generate Skills analysis"]})]})]})]})}function ag({label:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded-lg border border-border bg-background-secondary text-primary",children:(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"mb-1 flex items-baseline justify-between gap-2",children:[(0,b.jsx)("span",{className:"truncate text-[12.5px] font-bold text-foreground",children:a}),(0,b.jsx)("span",{className:"text-[11px] text-primary",children:"分析中"})]}),(0,b.jsx)("div",{className:"h-1.5 overflow-hidden rounded-full bg-background-secondary",children:(0,b.jsx)("div",{className:"h-full w-2/3 rounded-full bg-primary"})})]})]})}function ah({children:a,meta:c}){return(0,b.jsxs)("article",{className:"flex items-start gap-3",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-xl border border-primary-subtle-border bg-primary-subtle text-primary",children:(0,b.jsx)(u.Sparkles,{className:"size-4"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[c&&(0,b.jsx)("div",{className:"mb-1.5 text-[11px] text-foreground-muted",children:c}),(0,b.jsx)("div",{className:"max-w-[860px]",children:a})]})]})}function ai({children:a}){return(0,b.jsx)("article",{className:"flex justify-end gap-3",children:(0,b.jsx)("div",{className:"max-w-[80%] rounded-2xl rounded-tr-md bg-primary px-4 py-2.5 text-[13.5px] leading-6 text-primary-foreground",children:a})})}function aj(a){return"root"===a?3:"contributing"===a?2:+("downstream"===a)}function ak(a){if(!a)return[];let b=a.keyActionResults||a.key_action_results;return Array.isArray(b)?b.map(a=>a&&"object"==typeof a?a:null).filter(a=>!!a).map(a=>({title:al(a.actionContent)||al(a.action_content)||al(a.actionName)||al(a.name)||al(a.title)||al(a.keyAction)||"",description:al(a.traceComparisonAnalysis)||al(a.trace_comparison_analysis)||al(a.reason)||al(a.description)||al(a.evidence)||"",status:al(a.coverage)||al(a.status)||al(a.result)||al(a.matchStatus)||"",suggestion:al(a.skillImprovementSuggestion)||al(a.skill_improvement_suggestion)||al(a.suggestion)||""})):[]}function al(a){return"string"==typeof a?a:""}function am(a,b){let c,d=ao(a),e=null==d?b?"左侧节点":"Trace node":an(d,b),f=a.traceNodeLabel?` \xb7 ${(c=a.traceNodeLabel.trim()).length>48?`${c.slice(0,48)}...`:c}`:"";return`${e}${f}`}function an(a,b){return b?`节点 #${a}`:`Node #${a}`}function ao(a){return a.traceStepIndex??null}function ap(a){return(a||"").replace(/步骤\s*\d+\s*[((]\s*左侧节点\s*#(\d+)\s*[))]/g,"左侧节点 #$1").replace(/第\s*\d+\s*步\s*[((]\s*左侧节点\s*#(\d+)\s*[))]/g,"左侧节点 #$1").replace(/步骤\s*\d+/g,"相关节点").replace(/第\s*\d+\s*步/g,"相关节点")}function aq(a){return ap(a).replace(/根本原因/g,"关键发现").replace(/根因为/g,"关键发现是").replace(/根因是/g,"关键发现是").replace(/作为根因/g,"作为关键发现").replace(/根因/g,"关键发现")}function ar(a){return"high"===a?3:"medium"===a?2:1}var as=a.i(943408),at=a.i(106927),au=a.i(960798),av=a.i(586624);function aw(a,b){let c=[];a.agentName&&c.push(a.agentName),a.subagentType&&c.push(`type ${a.subagentType}`);let d=[a.stats.llmCalls?`${a.stats.llmCalls} LLM`:"",a.stats.toolCalls?`${a.stats.toolCalls} tool`:"",a.stats.skillCalls?`${a.stats.skillCalls} skill`:"",a.stats.taskCalls?`${a.stats.taskCalls} task`:""].filter(Boolean).join(" · ");return d&&c.push(d),c.join(" · ")||("zh"===b?"执行 Agent":"Agent")}function ax(a){if(null!=a){if("number"==typeof a&&Number.isFinite(a))return a>0&&a<1e10?1e3*a:a;if("string"==typeof a){let b=a.trim();if(!b)return;if(/^\d+(\.\d+)?$/.test(b)){let a=Number(b);if(!Number.isFinite(a))return;return a>0&&a<1e10?1e3*a:a}let c=Date.parse(b);return Number.isFinite(c)?c:void 0}}}function ay(a,b=300){if(null==a)return"";if("string"==typeof a)return az(a,b);try{return az(JSON.stringify(a),b)}catch{return az(String(a),b)}}function az(a,b){let c=String(a||"");return c.length>b?`${c.slice(0,b)}...`:c}var aA=a.i(187563);let aB=process.env.NEXT_PUBLIC_URL_PREFIX||"",aC=[20,50,100],aD={"1h":36e5,"3h":108e5,"24h":864e5,"7d":6048e5,"30d":2592e6,all:1/0};function aE(a){let b=Array.isArray(a.invoked_skills)?a.invoked_skills:Array.isArray(a.invokedSkills)?a.invokedSkills:[],c=new Set;return b.forEach(a=>{let b=a?.name?.trim();b&&c.add(b)}),Array.from(c)}function aF(){return(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)("div",{children:"Loading..."}),children:(0,b.jsx)(aG,{})})}function aG(){let a=(0,e.useRouter)(),d=(0,e.useSearchParams)(),{user:f}=(0,as.useAuth)(),{t:g,locale:h}=(0,at.useLocale)(),[i,j]=(0,c.useState)([]),[k,l]=(0,c.useState)(!0),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(1),[q,r]=(0,c.useState)(20),[s,t]=(0,c.useState)("all"),[u,v]=(0,c.useState)("yes"),[w,x]=(0,c.useState)("all"),[y,A]=(0,c.useState)(()=>d?.get("agent")||"all"),[B,C]=(0,c.useState)("all"),[D,E]=(0,c.useState)("user"),F=b=>{n(b);let c=new URLSearchParams(window.location.search);if(b){let a=b.task_id||b.upload_id;a&&c.set("taskId",a)}else c.delete("taskId");a.push(`${window.location.pathname}?${c.toString()}`,{scroll:!1})};(0,c.useEffect)(()=>{let a=d?.get("taskId"),b=d?.get("executionId"),c=a||b;if(c){let a=i.find(a=>a.task_id===c||a.upload_id===c);a?m!==a&&n(a):b&&(!m||m.task_id!==c&&m.upload_id!==c)&&n({timestamp:new Date().toISOString(),task_id:c,upload_id:c})}else m&&n(null)},[d,i]),(0,c.useEffect)(()=>{f&&(l(!0),(0,O.apiFetch)(`/api/observe/data?user=${encodeURIComponent(f)}&fields=light`).then(a=>a.json()).then(a=>{j(Array.isArray(a)?a:[])}).catch(()=>j([])).finally(()=>l(!1)))},[f]);let{availableAgents:G,availableSkills:H,frameworks:I}=(0,c.useMemo)(()=>{let a=new Set,b=new Set,c=new Set;return i.forEach(d=>{d.agent&&a.add(d.agent),d.framework&&(a.add(d.framework),c.add(d.framework)),d.agents&&d.agents.forEach(b=>a.add(b)),aE(d).forEach(a=>b.add(a))}),{availableAgents:Array.from(a).sort(),availableSkills:Array.from(b).sort(),frameworks:Array.from(c).sort()}},[i]),J=(0,c.useMemo)(()=>{let a=Date.now(),b=aD[s];return i.filter(c=>{if(b!==1/0&&a-("string"==typeof c.timestamp?Date.parse(c.timestamp):Number(c.timestamp))>b)return!1;let d=c.failures&&c.failures.length>0||(c.tool_call_error_count||0)>0;if("yes"===u&&!d||"no"===u&&d||"all"!==w&&c.framework!==w)return!1;if("all"!==y&&""!==y){let a=c.agent===y||c.framework===y,b=c.agents&&c.agents.includes(y);if(!a&&!b)return!1}return("all"===B||!!aE(c).includes(B))&&("all"===D||(c.agentOwnership??"user")===D)&&!0}).sort((a,b)=>Date.parse(b.timestamp)-Date.parse(a.timestamp))},[i,s,u,w,y,B,D]),K=(0,c.useMemo)(()=>{let a=new Map;for(let b of J)for(let c of b.failures||[])c.failure_type&&a.set(c.failure_type,(a.get(c.failure_type)||0)+1);return Array.from(a.entries()).sort((a,b)=>b[1]-a[1]).slice(0,6)},[J]),L=Math.max(1,Math.ceil(J.length/q)),M=(0,c.useMemo)(()=>J.slice((o-1)*q,o*q),[J,o,q]);return(0,c.useEffect)(()=>p(1),[q,s,u,w,y,B,D]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(z.AppTopBar,{title:(0,b.jsx)(au.Term,{id:"fault-diagnosis",label:g("nav.fault")}),showDefaultActions:!1}),(0,b.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"18px 20px"},children:m?(0,b.jsx)(aH,{execution:m,locale:h,user:f||"",onBack:()=>F(null)}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:12},children:(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:9,flex:1},children:[(0,b.jsx)(aZ,{label:"zh"===h?"用例总数":"Total runs",value:String(J.length),sub:`${"zh"===h?"共":"of"} ${i.length}`}),(0,b.jsx)(aZ,{label:"zh"===h?"异常类型":"Anomaly types",value:String(K.length)}),(0,b.jsx)(aZ,{label:"zh"===h?"主要异常":"Top anomaly",value:K[0]?.[0]||"-",sub:K[0]?`${K[0][1]}`:"",truncate:!0}),(0,b.jsx)(aZ,{label:"zh"===h?"异常记录":"Anomalies",value:String(J.filter(a=>a.failures&&a.failures.length>0||(a.tool_call_error_count||0)>0).length),accent:"error"})]})}),(0,b.jsxs)("div",{style:{background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:8,marginBottom:12,overflow:"hidden"},children:[(0,b.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:6,padding:"7px 10px"},children:[(0,b.jsxs)(a$,{label:g("nav.filterAgentOwnership"),active:"all"!==D,value:D,onChange:a=>{p(1),E(a)},children:[(0,b.jsx)("option",{value:"all",children:g("nav.allOwnership")}),(0,b.jsx)("option",{value:"user",children:g("nav.userAgent")}),(0,b.jsx)("option",{value:"system",children:g("nav.systemAgent")})]}),G.length>0&&(0,b.jsxs)(a$,{label:"Agent",active:"all"!==y&&""!==y,value:y,onChange:a=>{p(1),A(a)},children:[(0,b.jsx)("option",{value:"all",children:g("common.all")}),G.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]}),H.length>0&&(0,b.jsxs)(a$,{label:"Skill",active:"all"!==B,value:B,onChange:a=>{p(1),C(a)},children:[(0,b.jsx)("option",{value:"all",children:g("common.all")}),H.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]}),(0,b.jsx)(a_,{}),(0,b.jsxs)(a$,{label:"zh"===h?"执行异常":"Anomaly",active:"all"!==u,value:u,onChange:a=>v(a),children:[(0,b.jsx)("option",{value:"all",children:g("common.all")}),(0,b.jsx)("option",{value:"yes",children:"zh"===h?"是":"Yes"}),(0,b.jsx)("option",{value:"no",children:"zh"===h?"否":"No"})]}),(0,b.jsxs)(a$,{label:"zh"===h?"时间":"Time",active:"all"!==s,value:s,onChange:a=>t(a),children:[(0,b.jsx)("option",{value:"all",children:g("common.allTime")}),(0,b.jsx)("option",{value:"7d",children:g("nav.last7Days")}),(0,b.jsx)("option",{value:"24h",children:g("topbar.last24h")}),(0,b.jsx)("option",{value:"1h",children:g("nav.last1Hour")})]}),I.length>1&&(0,b.jsxs)(a$,{label:"zh"===h?"平台":"Platform",active:"all"!==w,value:w,onChange:a=>x(a),children:[(0,b.jsx)("option",{value:"all",children:g("common.all")}),I.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]}),("all"!==D||"all"!==y||"all"!==B||"all"!==u||"all"!==s||"all"!==w)&&(0,b.jsxs)("button",{onClick:()=>{E("all"),A("all"),C("all"),v("all"),t("all"),x("all")},style:{marginLeft:6,display:"inline-flex",alignItems:"center",gap:4,padding:"3px 10px",fontSize:11,borderRadius:5,border:"1px solid var(--border)",background:"transparent",color:"var(--foreground-muted)",cursor:"pointer",lineHeight:1.4},children:[(0,b.jsx)("svg",{width:"9",height:"9",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:(0,b.jsx)("path",{d:"M2 2l6 6M8 2l-6 6"})}),"zh"===h?"重置":"Reset"]})]}),("all"!==D||"all"!==s||"all"!==u||"all"!==w||"all"!==y&&""!==y||"all"!==B)&&(0,b.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:5,alignItems:"center",padding:"5px 10px 7px",borderTop:"1px solid var(--border)"},children:[(0,b.jsx)("span",{style:{fontSize:10.5,color:"var(--foreground-muted)",flexShrink:0,marginRight:2},children:"zh"===h?"已筛选":"Active"}),"all"!==D&&(0,b.jsx)(a0,{label:`${g("nav.filterAgentOwnership")}: ${g("system"===D?"nav.systemAgent":"nav.userAgent")}`,onRemove:()=>E("all")}),"all"!==y&&""!==y&&(0,b.jsx)(a0,{label:`Agent: ${y}`,onRemove:()=>A("all")}),"all"!==B&&(0,b.jsx)(a0,{label:`Skill: ${B}`,onRemove:()=>C("all")}),"all"!==u&&(0,b.jsx)(a0,{label:`${"zh"===h?"执行异常":"Anomaly"}: ${"yes"===u?"zh"===h?"是":"Yes":"zh"===h?"否":"No"}`,onRemove:()=>v("all")}),"all"!==s&&(0,b.jsx)(a0,{label:`${"zh"===h?"时间":"Time"}: ${"1h"===s?"zh"===h?"1小时内":"Last 1h":"24h"===s?"zh"===h?"24小时内":"Last 24h":"7d"===s?"zh"===h?"近7天":"Last 7d":s}`,onRemove:()=>t("all")}),"all"!==w&&(0,b.jsx)(a0,{label:`${"zh"===h?"平台":"Platform"}: ${w}`,onRemove:()=>x("all")})]})]}),(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:9},children:[(0,b.jsxs)("span",{className:"ai-section-title",children:[(0,b.jsx)(au.Term,{id:"fault-item",label:"zh"===h?"故障事件清单":"Fault events"}),(0,b.jsx)("span",{style:{marginLeft:8,color:"var(--foreground-muted)",fontWeight:400},children:J.length})]}),(0,b.jsx)("span",{className:"ai-section-hint",children:"yes"===u?"zh"===h?"当前仅展示执行异常的记录":"Only showing records with execution anomalies":"zh"===h?"展示所有匹配条件的记录":"Showing all matching records"})]}),(0,b.jsx)("div",{className:"ai-card",style:{overflowX:"auto"},children:k?(0,b.jsx)("div",{style:{padding:"40px 0",textAlign:"center",color:"var(--foreground-muted)",fontSize:12},children:"zh"===h?"加载中...":"Loading..."}):0===M.length?(0,b.jsx)("div",{style:{padding:"40px 18px",textAlign:"center",color:"var(--foreground-muted)",fontSize:12},children:"zh"===h?"暂无异常记录":"No anomaly runs"}):(0,b.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:11.5,tableLayout:"fixed"},children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{style:{background:"var(--background-secondary)",textAlign:"left"},children:[(0,b.jsx)(a1,{width:120,children:"Trace ID"}),(0,b.jsx)(a1,{width:120,children:"Agent"}),(0,b.jsx)(a1,{width:110,children:"zh"===h?"执行异常":"Anomaly"}),(0,b.jsx)(a1,{children:"zh"===h?"任务内容":"Task"}),(0,b.jsx)(a1,{width:160,children:"zh"===h?"故障摘要":"Summary"}),(0,b.jsx)(a1,{width:170,children:"zh"===h?"执行时间":"Time"})]})}),(0,b.jsx)("tbody",{children:M.map((a,c)=>(0,b.jsx)(a2,{execution:a,onClick:()=>F(a),locale:h},(a.task_id||a.upload_id||c)+""))})]})}),J.length>0&&(0,b.jsx)(a4,{page:o,totalPages:L,pageSize:q,total:J.length,onPage:p,onPageSize:r,locale:h})]})})]})}function aH({execution:a,locale:e,user:g,onBack:i}){let v=a.task_id||a.upload_id||"",[x,y]=(0,c.useState)(null),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)([]),[D,E]=(0,c.useState)(""),[F,G]=(0,c.useState)(null),[H,I]=(0,c.useState)(!1),[J,K]=(0,c.useState)(null),[L,M]=(0,c.useState)(new Map),[N,P]=(0,c.useState)(""),[Q,R]=(0,c.useState)(!1),[S,T]=(0,c.useState)(new Set),[U,V]=(0,c.useState)(null),[W,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)(""),[_,aa]=(0,c.useState)(!1),[ab,ac]=(0,c.useState)(!1),[ad,ae]=(0,c.useState)([]),af=(0,c.useRef)(null),ag=(0,c.useRef)(new Map),ah=(0,c.useRef)(null),[ai,aj]=(0,c.useState)(null),ak=(0,c.useMemo)(()=>aJ(a,e),[a,e]),al=(0,c.useMemo)(()=>{var b,c,d,f;let g,h;return b=a,c=x?.interactions||[],d=e,f=ak,g=Date.parse(b.timestamp),0===(h=(function(a,b="zh"){let c=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)if(c){if(Array.isArray(c.requestMessages)||c.responseMessage){for(let a of c.requestMessages||[])a&&b.push(a);c.responseMessage&&b.push(c.responseMessage);continue}b.push(c)}return b}(a),d=[],e=a=>{d.push({...a,stepIndex:d.length+1})},f=c.find(a=>a?.role==="user"&&String(a.content||"").trim());f&&e({id:"input:root",name:"zh"===b?"用户输入":"User input",meta:f.usage?.input?`req ${f.usage.input} tok`:az(String(f.content||""),110),kind:"user",status:"ok",depth:0,interactionIndex:c.indexOf(f),startedAt:ax(f.timeInfo?.created)??ax(f.timestamp),completedAt:ax(f.timeInfo?.completed),rawText:String(f.content||""),rawInput:String(f.content||"")});let g=(0,av.buildAgentCallTree)(c);return g&&(0,av.walkTree)(g,a=>{let d=a.events.find(a=>"user"===a.kind),f=[...a.events].reverse().find(a=>"llm"===a.kind),g=d&&(d.summary||d.interaction?.content)||void 0,h=f&&(f.interaction?.content||f.summary)||void 0;e({id:`agent:${a.id}`,name:0===a.depth?"zh"===b?"控制器路由":"Controller routing":"zh"===b?"子任务执行":"Subtask execution",meta:aw(a,b),kind:"agent",status:"ok",depth:a.depth,startedAt:a.startedAt,completedAt:a.endedAt,rawText:[a.agentName,a.subagentType,aw(a,b)].filter(Boolean).join(" "),rawInput:g,rawOutput:h}),a.events.forEach((d,f)=>{let g,h,i=function(a,b){var c,d,e;let f="zh"===b;if("user"===a.kind)return{name:f?"用户输入":"User input",meta:a.usage?.input?`req ${a.usage.input} tok`:az(a.summary||"",96)};if("llm"===a.kind){let b;return{name:f?"模型调用":"Model call",meta:[(b=[(c=a).name,c.interaction?.providerID,c.interaction?.modelID,c.summary].filter(Boolean).join(" ").toLowerCase()).includes("openai")||b.includes("gpt")||b.includes("chat.completions")?"OpenAI":b.includes("deepseek")?"DeepSeek":b.includes("anthropic")||b.includes("claude")?"Anthropic":"LLM Provider",a.usage?.input?`req ${a.usage.input} tok`:"",a.usage?.output?`out ${a.usage.output} tok`:""].filter(Boolean).join(" · ")||az(a.summary||"assistant response",96)}}if("skill"===a.kind){let b=a.args?.name||a.args?.skill||a.name||"skill";return{name:f?"执行 Skill":"Run skill",meta:`skill ${b}`}}if("task"===a.kind){let b=a.args?.subagent_type||a.args?.subagentType||"subagent";return{name:f?"调度子任务":"Dispatch subtask",meta:`spawn ${b}`}}return{name:f?"工具调用":"Tool call",meta:(d=a.name||"tool",e=a.args,"bash"===d?`bash ${az(e?.command||"",72)}`:"read"===d?`read ${e?.path||e?.file_path||""}`.trim():"write"===d?`write ${e?.path||e?.file_path||""}`.trim():"glob"===d?`glob ${e?.pattern||""}`.trim():"grep"===d?`grep ${e?.pattern||""}`.trim():`${d}${e?` ${az(ay(e,90),90)}`:""}`)}}(d,b),j=d.completedAt||d.startedAt?"ok":"skipped";if("user"===d.kind)g=d.summary||d.interaction?.content||"";else if("llm"===d.kind){let e=d.interactionIndex??-1,f=new Set(a.interactionIndices.filter(a=>a<e)),i=[];for(let b of a.systemPrompts||[])b.text?.trim()&&i.push(`[System]
2
2
  ${az(b.text,1500)}`);for(let a of Array.from(f).sort((a,b)=>a-b)){let b=c[a];if(!b||"system"===b.role)continue;let d="string"==typeof b.content?b.content:ay(b.content,2e3);d.trim()&&("user"===b.role||"opencode"===b.role?i.push(`[User]
3
3
  ${az(d,2e3)}`):("assistant"===b.role||"subagent"===b.role)&&i.push(`[Assistant]
4
- ${az(d,2e3)}`))}g=i.length>0?i.join("\n\n---\n\n"):void 0;let j=function(a,b){if(!Array.isArray(a)||0===a.length)return"";let c=a.map(a=>a?.function?.name||a?.name||"tool").slice(0,3),d=a.length>c.length?", ...":"";return"zh"===b?`${a.length} 个工具调用: ${c.join(", ")}${d}`:`${a.length} tool call${a.length>1?"s":""}: ${c.join(", ")}${d}`}(d.interaction?.tool_calls,b);h=[d.interaction?.content,j].filter(Boolean).join("\n")||d.summary||""}else("tool"===d.kind||"skill"===d.kind||"task"===d.kind)&&(void 0!==d.args&&(g=ay(d.args,2e3)),("tool"===d.kind||"skill"===d.kind)&&void 0!==d.output&&null!==d.output&&(h=ay(d.output,2e3)));e({id:`event:${a.id}:${f}`,name:i.name,meta:i.meta,kind:d.kind,status:j,depth:a.depth+1,interactionIndex:d.interactionIndex,eventIndex:f,toolCallId:d._toolCallId,startedAt:d.startedAt,completedAt:d.completedAt,rawText:[i.name,i.meta,d.name,d.summary,ay(d.args,500),ay(d.output,500)].filter(Boolean).join(" "),rawInput:g||void 0,rawOutput:h||void 0})})}),0===d.length&&e({id:"system:missing-trace",name:"zh"===b?"链路详情缺失":"Trace unavailable",meta:"zh"===b?"未找到可还原的 interactions。":"No interactions were available.",kind:"system",status:"skipped",depth:0,rawText:""}),d})(c||[],d).map(a=>({id:a.id,name:a.name,meta:a.meta,time:a.startedAt&&Number.isFinite(g)?`+${(0,av.formatDuration)(a.startedAt-g)}`:1===a.stepIndex?"+0ms":"—",status:a.status,step:a.stepIndex,kind:a.kind,depth:a.depth,rawText:a.rawText,rawInput:a.rawInput,rawOutput:a.rawOutput,startedAt:a.startedAt,completedAt:a.completedAt,durationMs:null!=a.startedAt&&null!=a.completedAt?a.completedAt-a.startedAt:void 0}))).length&&h.push({id:"system:missing-trace",name:"zh"===d?"链路详情缺失":"Trace unavailable",meta:"zh"===d?"未找到可还原的 interactions,使用评测结果兜底展示。":"No interactions were available; showing evaluation fallback.",status:"skipped",kind:"system",step:1}),function(a,b,c,d){let e=(d||aI(b,c)).filter(a=>"original"===a.diagnostic_kind);if(e.forEach((c,d)=>{var e,f;let g,h=aJ(a,c);h&&(h.node.status="error",h.node.faultRefs=[...h.node.faultRefs||[],d+1],h.node.matchReason=h.reason,h.node.tag=(e=c,f=b,g=aK([e.failure_type,e.description,e.context].filter(Boolean).join(" ")),/401|authentication|unauthori[sz]ed|api[_\s-]?key|认证|鉴权/.test(g)?"CHAIN_ERROR · 401":/timeout|超时/.test(g)?"TIMEOUT":/permission|权限|denied/.test(g)?"PERMISSION":/tool|工具|exit code|stderr|非零/.test(g)||(f.tool_call_error_count||0)>0?"TOOL_ERROR":"CHAIN_ERROR"),h.node.detail=c.description||c.context||h.node.detail)}),0===e.length&&(b.tool_call_error_count||0)>0){let b=[...a].reverse().find(a=>"tool"===a.kind)||[...a].reverse().find(a=>"skipped"!==a.status);b&&(b.status="error",b.faultRefs=[1],b.matchReason="zh"===c?"根据工具错误计数定位到最近一次工具调用":"Matched to the latest tool call from tool error count",b.tag="TOOL_ERROR")}}(h,b,d,f),h},[a,A?.interactions,e,an]),ap=(0,c.useMemo)(()=>{var a,b;return a=an,b=ao,a.filter(a=>"original"===a.diagnostic_kind).map((a,c)=>{let d=aJ(b,a)?.node,e=d?.id||a.trace_anchor?.step_id||a.anchor_step_id;return{id:e||`trace-explicit-error-${c+1}`,title:a.failure_type||"Trace error",description:a.description,context:a.context||a.attribution_reason||a.step,recovery:a.recovery,anchorId:e,traceStepIndex:d?.step??a.trace_anchor?.step_index,traceNodeLabel:[d?.name,d?.meta].filter(Boolean).join(" · ")||a.trace_anchor?.display_name,traceNodeKind:d?.kind||a.trace_anchor?.kind}})},[an,ao]),aq=(0,c.useMemo)(()=>{var b,c;let d,e,f;return b=ao,c=a,e=(d=b.filter(a=>"error"===a.status).length)>0||(c.failures?.length||0)>0||(c.tool_call_error_count||0)>0,f=b.find(a=>"error"===a.status),{hasFault:e,faultNodeCount:d,executed:b.filter(a=>"skipped"!==a.status).length,statusLabel:e?f?`CHAIN_ERROR \xb7 L${f.step}`:"CHAIN_ERROR":"OK"}},[ao,a]),ar=(a.invoked_skills?.length??0)||(a.skills?.length??0)||+!!a.skill,{roots:as,nodeMap:at}=(0,c.useMemo)(()=>(function(a){let b=[],c=new Map,d=[];for(let e of a){let a=e.depth??0,f={...e,children:[],parentId:void 0};if(c.set(e.id,f),d.length=a,0===a)b.push(f);else{let c=d[a-1];c?(c.children.push(f),f.parentId=c.id):b.push(f)}d[a]=f}return{roots:b,nodeMap:c}})(ao),[ao]),aB=(0,c.useMemo)(()=>{let a=0;for(let b of ao)null!=b.durationMs&&b.durationMs>a&&(a=b.durationMs);return a},[ao]),aC=(0,c.useMemo)(()=>{let a=aa.toLowerCase();return ao.filter(b=>!a||b.name.toLowerCase().includes(a)||(b.kind||"").includes(a))},[ao,aa]),aD=(0,c.useCallback)(a=>{Q(b=>{let c=new Map(b);return c.set(a.id,a),c}),_(!1),ak.current?.focus()},[]),aE=(0,c.useCallback)(a=>{let b=at.get(a);for(;b?.parentId;){let a=b.parentId;W(b=>{let c=new Set(b);return c.delete(a),c}),b=at.get(a)}T&&U(!1),Z(a),setTimeout(()=>{aj.current.get(a)?.scrollIntoView({behavior:"smooth",block:"center"}),setTimeout(()=>Z(null),1800)},330)},[at,T]),aF=(0,c.useCallback)(a=>{let b=ao.find(b=>b.faultRefs?.includes(a));b&&aE(b.id)},[ao,aE]);(0,c.useEffect)(()=>{F([]),H(""),J(null),B(null),Q(new Map),S(""),W(new Set),N(null),z&&(D(!0),(0,O.apiFetch)(`/api/observe/data?executionId=${encodeURIComponent(z)}`).then(a=>a.ok?a.json():Promise.reject(Error(`HTTP ${a.status}`))).then(a=>{N(Array.isArray(a)&&a[0]?a[0].final_result??null:null)}).catch(()=>{}),(0,O.apiFetch)(`/api/observe/session?taskId=${encodeURIComponent(z)}`).then(a=>a.ok?a.json():Promise.reject(Error(`HTTP ${a.status}`))).then(a=>B(a)).catch(a=>B({error:a instanceof Error?a.message:String(a),interactions:[]})).finally(()=>D(!1)),(0,O.apiFetch)(`/api/fault/diagnosis/session?executionId=${encodeURIComponent(z)}`).then(a=>a.ok?a.json():Promise.reject(Error(`HTTP ${a.status}`))).then(a=>{a.session?.opencodeSessionId&&J(a.session.opencodeSessionId),a.messages?.length&&F(a.messages.map(a=>({id:a.id,role:a.role,content:a.content})))}).catch(()=>{}))},[z]),(0,c.useEffect)(()=>{ai.current?.scrollTo({top:ai.current.scrollHeight})},[E,K]),(0,c.useEffect)(()=>{if(z)try{let a=localStorage.getItem(`fault-convs-${z}`);a&&ah(JSON.parse(a))}catch{}},[z]);let aG=(0,c.useCallback)(()=>{if(0===E.length||!z)return;let a=E.find(a=>"user"===a.role)?.content?.slice(0,60)||("zh"===e?"对话":"Conversation"),b={id:`conv-${Date.now()}`,title:a,messages:[...E],agentSessionId:I,createdAt:Date.now()};ah(a=>{let c=[b,...a].slice(0,20);try{localStorage.setItem(`fault-convs-${z}`,JSON.stringify(c))}catch{}return c})},[E,I,z,e]),aP=(0,c.useCallback)(()=>{aG(),F([]),J(null),H(""),Q(new Map),af(!1)},[aG]),aQ=(0,c.useCallback)(a=>{aG(),F(a.messages),J(a.agentSessionId),af(!1)},[aG]);async function aT(b){b.preventDefault();let c=G.trim();if(!c&&0===P.size||K||!g)return;let d=Array.from(P.values()),f=d.map(a=>({id:a.id,label:a.name,kind:a.kind})),h=[...d.length>0?["用户引用的执行节点(回答中引用这些节点时请使用 @[id:label] 格式):",...d.map(a=>`- @[${a.id}:${a.name}] 类型:${a.kind||"unknown"} 状态:${a.status} 耗时:${a.time||"—"}`),""]:[],c].filter(Boolean).join("\n"),i={id:`u-${Date.now()}`,role:"user",content:c||"(节点引用)",nodeRefs:f},j=`a-${Date.now()}`;F(a=>[...a,i,{id:j,role:"assistant",content:"",pending:!0}]),H(""),Q(new Map),L(!0);try{var k,l;let b,c=await (0,O.apiFetch)("/api/fault/diagnosis/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:g,message:h,executionId:z,sessionId:I,executionBrief:{task_id:(k={...a,final_result:M??a.final_result??void 0}).task_id,upload_id:k.upload_id,framework:k.framework,agent:k.agentName||k.agent,query:k.query,final_result:(l=k.final_result||"",(b=String(l||"").trim()).length>4e3?`${b.slice(0,4e3)}...`:b),is_answer_correct:k.is_answer_correct,answer_score:k.answer_score,judgment_reason:k.judgment_reason,failures:k.failures||[],skill_issues:k.skill_issues||[],skills:k.invoked_skills||k.skills||k.skill,outcome_evaluation:k.outcome_evaluation,routing_evaluation:k.routing_evaluation,metrics:{latency:k.latency,tokens:k.tokens,tool_call_count:k.tool_call_count,tool_call_error_count:k.tool_call_error_count,llm_call_count:k.llm_call_count,input_tokens:k.input_tokens,output_tokens:k.output_tokens}}})});if(!c.ok||!c.body)throw Error(await c.text().catch(()=>"")||`HTTP ${c.status}`);await aU(c,{text:a=>{let b="string"==typeof a?.delta?a.delta:"";b&&F(a=>a.map(a=>a.id===j?{...a,content:a.content+b,pending:!1}:a))},done:a=>{"string"==typeof a?.sessionId&&J(a.sessionId),F(b=>b.map(b=>b.id===j?{...b,content:b.content||a?.output||"",pending:!1}:b))},error:a=>{throw Error(String(a?.message||"诊断 Agent 调用失败"))}})}catch(b){let a=b instanceof Error?b.message:String(b);F(b=>b.map(b=>b.id===j?{...b,content:`${"zh"===e?"诊断 Agent 调用失败:":"Agent failed: "}${a}`,pending:!1}:b))}finally{L(!1)}}let aW=R.toLowerCase();return(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"calc(100vh - 106px)",overflow:"hidden"},children:[al&&(0,b.jsx)(aR,{node:al,onClose:()=>am(null),locale:e}),(0,b.jsxs)("div",{style:{padding:"10px 16px",borderBottom:"1px solid var(--border)",background:"var(--card-bg)",display:"flex",alignItems:"center",gap:12,flexShrink:0,flexWrap:"wrap"},children:[(0,b.jsxs)("button",{onClick:i,className:"ai-btn-s",style:{padding:"4px 9px",display:"flex",alignItems:"center",gap:5},children:[(0,b.jsx)(f.ArrowLeft,{size:12}),"zh"===e?"返回":"Back"]}),(0,b.jsx)("div",{style:{width:1,height:16,background:"var(--border)",flexShrink:0}}),(0,b.jsxs)("div",{style:{minWidth:0,flex:"1 1 360px"},children:[(0,b.jsx)("div",{style:{fontSize:9,color:"var(--foreground-muted)",letterSpacing:".12em",textTransform:"uppercase",marginBottom:2,fontWeight:700},children:"EXECUTION SESSION"}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",minWidth:0},children:[(0,b.jsx)("span",{style:{fontSize:13,fontWeight:700,fontFamily:"var(--font-mono)",color:"var(--foreground)",overflowWrap:"anywhere"},children:z||"-"}),(a.agentName||a.agent)&&(0,b.jsxs)("span",{style:{fontSize:12,color:"var(--foreground-muted)",fontWeight:600},children:["· ",a.agentName||a.agent]})]})]}),(0,b.jsxs)("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:0},children:[(0,b.jsx)(aN,{label:(0,b.jsx)(au.Term,{id:"chain-status",label:"zh"===e?"链路状态":"Status"}),value:aq.statusLabel,valueColor:aq.hasFault?"var(--warning,#d97706)":"var(--success,#15a572)"}),(0,b.jsx)(aN,{label:"zh"===e?"执行节点":"Nodes",value:String(aq.executed)}),(0,b.jsx)(aN,{label:"LLM",value:String(a.llm_call_count??"—")}),(0,b.jsx)(aN,{label:"zh"===e?"故障节点":"Faults",value:String(aq.faultNodeCount),valueColor:aq.faultNodeCount>0?"var(--warning,#d97706)":void 0}),(0,b.jsx)(aN,{label:"Token",value:a.tokens?aL(a.tokens):"—"}),(0,b.jsx)(aN,{label:"zh"===e?"耗时":"Duration",value:(x=(v=a.latency||0,("opencode"===(y=(a.framework||"").toLowerCase())||"openhands"===y||"claude"===y)&&v>0&&v<1e3?1e3*v:v))&&Number.isFinite(x)?x<1e3?`${Math.round(x)}ms`:x<6e4?`${(x/1e3).toFixed(2)}s`:`${(x/6e4).toFixed(1)}m`:"-"})]}),(0,b.jsx)("div",{style:{display:"flex",gap:6,flexShrink:0},children:(0,b.jsxs)(d.default,{href:`${aA}/trace?taskId=${z}`,className:"ai-btn-s",style:{textDecoration:"none",display:"inline-flex",alignItems:"center",gap:5},children:[(0,b.jsx)(n.GitBranch,{size:12})," ","zh"===e?"链路":"Trace"]})})]}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:T?"44px 1fr":"320px 1fr",flex:1,overflow:"hidden",minHeight:0,transition:"grid-template-columns 0.3s cubic-bezier(0.4,0,0.2,1)"},children:[(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",borderRight:"1px solid var(--border)",background:"var(--card-bg)",overflow:"hidden",minWidth:0},children:T?(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",padding:"10px 0",gap:6,height:"100%"},children:[(0,b.jsx)("button",{onClick:()=>U(!1),className:"ai-btn-s",style:{width:30,height:30,padding:0,display:"grid",placeItems:"center",borderRadius:7},title:"展开",children:(0,b.jsx)(k.ChevronRight,{size:14})}),(0,b.jsx)("div",{style:{width:20,height:1,background:"var(--border)",margin:"4px 0"}}),(0,b.jsxs)("div",{style:{marginTop:"auto",width:30,padding:"4px 0",borderRadius:6,background:"var(--background-secondary)",fontFamily:"var(--font-mono)",fontSize:9,textAlign:"center",fontWeight:600,color:"var(--foreground-muted)"},children:[(0,b.jsx)("div",{style:{color:"var(--foreground)",fontSize:11,fontWeight:700},children:ao.length}),"zh"===e?"节点":"nodes"]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{padding:"10px 12px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",gap:8,flexShrink:0},children:[(0,b.jsx)("div",{style:{width:26,height:26,borderRadius:7,background:"rgba(99,86,230,0.08)",border:"1px solid rgba(99,86,230,0.25)",display:"grid",placeItems:"center",color:"var(--primary)",flexShrink:0},children:(0,b.jsx)(n.GitBranch,{size:13})}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:9.5,color:"var(--foreground-muted)",letterSpacing:".10em",textTransform:"uppercase",fontWeight:700},children:"EXECUTION TRACE"}),(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:"zh"===e?`执行链路 \xb7 ${ao.length} 节点`:`Trace \xb7 ${ao.length} nodes`})]}),(0,b.jsx)("button",{onClick:()=>U(!0),className:"ai-btn-s",style:{width:26,height:26,padding:0,display:"grid",placeItems:"center",flexShrink:0,borderRadius:6},title:"收起",children:(0,b.jsx)(r,{size:13})})]}),(0,b.jsx)("div",{style:{padding:"8px 12px",borderBottom:"1px solid var(--border)",flexShrink:0},children:(0,b.jsxs)("div",{style:{position:"relative"},children:[(0,b.jsx)("input",{value:R,onChange:a=>S(a.target.value),placeholder:"zh"===e?"搜索节点…":"Search nodes…",style:{width:"100%",height:30,background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:7,padding:"0 10px 0 28px",fontSize:12,color:"var(--foreground)",outline:"none",fontFamily:"inherit"}}),(0,b.jsxs)("svg",{style:{position:"absolute",left:9,top:"50%",transform:"translateY(-50%)",pointerEvents:"none",color:"var(--foreground-muted)"},width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",children:[(0,b.jsx)("circle",{cx:"11",cy:"11",r:"7"}),(0,b.jsx)("path",{d:"M21 21l-4.3-4.3"})]})]})}),(0,b.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"4px 4px 24px",minHeight:0},children:[C&&(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,color:"var(--foreground-muted)",fontSize:11.5,padding:"12px 8px"},children:[(0,b.jsx)(p.Loader2,{size:13,className:"animate-spin"}),"zh"===e?"加载链路中...":"Loading trace..."]}),as.map((a,c)=>(0,b.jsx)(aS,{node:a,ancestors:[],isLast:c===as.length-1,collapsedNodes:V,onToggleCollapse:a=>W(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c}),onQuoteNode:aD,onFaultSelect:aF,onNodeClick:am,highlightNodeId:Y,traceNodeEls:aj,traceSearch:aW,locale:e,maxDurationMs:aB},a.id))]}),(0,b.jsxs)("div",{style:{padding:"8px 12px",borderTop:"1px solid var(--border)",background:"var(--background-secondary)",display:"flex",alignItems:"center",gap:8,flexShrink:0,fontSize:10.5},children:[(0,b.jsx)(l.Clock,{size:12,color:"var(--foreground-muted)"}),(0,b.jsx)("span",{style:{color:"var(--foreground-muted)"},children:new Date(a.timestamp).toLocaleString()}),aq.faultNodeCount>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{style:{color:"var(--border)"},children:"·"}),(0,b.jsxs)("span",{style:{color:"var(--warning,#d97706)",fontWeight:600},children:["⚠ ",aq.faultNodeCount," ","zh"===e?"故障":"fault(s)"]})]})]}),(0,b.jsxs)("div",{style:{borderTop:"1px solid var(--border)",flexShrink:0},children:[(0,b.jsxs)("button",{onClick:()=>ad(a=>!a),style:{width:"100%",padding:"7px 12px",display:"flex",alignItems:"center",justifyContent:"space-between",background:"transparent",border:"none",cursor:"pointer",fontSize:11,fontWeight:600,color:"var(--foreground-muted)"},children:[(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:5},children:[(0,b.jsx)(m.ExternalLink,{size:11}),"zh"===e?"详情":"Details"]}),ac?(0,b.jsx)(j.ChevronDown,{size:11}):(0,b.jsx)(k.ChevronRight,{size:11})]}),ac&&(0,b.jsxs)("div",{style:{padding:"0 12px 12px"},children:[(a.agentName||a.agent)&&(0,b.jsx)("div",{style:{fontSize:10.5,color:"var(--foreground-muted)",marginBottom:4},children:a.agentName||a.agent}),a.query&&(0,b.jsxs)("div",{style:{fontSize:11,color:"var(--foreground)",lineHeight:1.5,wordBreak:"break-all"},children:[a.query.slice(0,120),a.query.length>120?"…":""]})]})]})]})}),(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",overflow:"hidden",minWidth:0,background:"var(--background-secondary)",position:"relative"},children:[(0,b.jsxs)("div",{style:{padding:"12px 20px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",gap:12,background:"var(--card-bg)",flexShrink:0},children:[(0,b.jsx)("div",{style:{width:32,height:32,borderRadius:8,background:"var(--primary,#6356e6)",display:"grid",placeItems:"center",color:"white",flexShrink:0,boxShadow:"0 4px 12px rgba(99,86,230,0.3)"},children:(0,b.jsx)(u.Sparkles,{size:16})}),(0,b.jsxs)("div",{style:{flex:1},children:[(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,letterSpacing:"-0.01em",color:"var(--foreground)"},children:"zh"===e?"智能诊断":"Diagnosis"}),(0,b.jsx)("div",{style:{fontSize:10.5,color:"var(--foreground-muted)",letterSpacing:".06em",textTransform:"uppercase",marginTop:1},children:"FAULT-DIAGNOSIS-AGENT"})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[an.length>0&&(0,b.jsx)(aV,{active:!0,label:"zh"===e?"明确报错已载入":"Trace errors loaded",count:an.length}),(0,b.jsx)(aV,{label:"zh"===e?`${ar} Skill`:`${ar} skills`}),(0,b.jsx)("div",{style:{width:1,height:16,background:"var(--border)",flexShrink:0}}),(0,b.jsxs)("button",{type:"button",onClick:aP,title:"zh"===e?"新增对话":"New conversation",className:"ai-btn-s",style:{padding:"4px 8px",display:"inline-flex",alignItems:"center",gap:4,fontSize:11},children:[(0,b.jsx)(s.Plus,{size:12}),"zh"===e?"新对话":"New"]}),(0,b.jsxs)("button",{type:"button",onClick:()=>af(a=>!a),title:"zh"===e?"对话历史":"Conversation history",className:"ai-btn-s",style:{padding:"4px 8px",display:"inline-flex",alignItems:"center",gap:4,fontSize:11,background:ae?"var(--primary-subtle)":void 0,color:ae?"var(--primary)":void 0,borderColor:ae?"var(--primary-subtle-border)":void 0},children:[(0,b.jsx)(o.History,{size:12}),"zh"===e?"历史":"History",ag.length>0&&(0,b.jsx)("span",{style:{fontSize:9,fontWeight:700,background:"var(--primary)",color:"white",borderRadius:999,padding:"1px 4px",lineHeight:1.3},children:ag.length})]})]})]}),ae&&(0,b.jsxs)("div",{style:{position:"absolute",top:0,right:0,width:320,bottom:0,background:"var(--card-bg)",borderLeft:"1px solid var(--border)",zIndex:20,display:"flex",flexDirection:"column",boxShadow:"-4px 0 16px rgba(0,0,0,0.08)"},children:[(0,b.jsxs)("div",{style:{padding:"12px 14px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",flexShrink:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7},children:[(0,b.jsx)(o.History,{size:14,color:"var(--primary)"}),(0,b.jsx)("span",{style:{fontSize:13,fontWeight:700},children:"zh"===e?"对话历史":"Conversation history"})]}),(0,b.jsx)("button",{onClick:()=>af(!1),style:{background:"none",border:"none",cursor:"pointer",color:"var(--foreground-muted)",display:"grid",placeItems:"center",width:24,height:24,borderRadius:5},children:(0,b.jsx)(w.X,{size:14})})]}),(0,b.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"8px 0"},children:[E.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{padding:"4px 14px 2px",fontSize:10,fontWeight:700,color:"var(--foreground-muted)",letterSpacing:"0.08em",textTransform:"uppercase"},children:"zh"===e?"当前对话":"Current"}),(0,b.jsxs)("button",{onClick:()=>af(!1),style:{width:"100%",padding:"8px 14px",background:"var(--primary-subtle)",border:"none",textAlign:"left",cursor:"pointer",borderBottom:"1px solid var(--border)"},children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--primary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:E.find(a=>"user"===a.role)?.content?.slice(0,50)||("zh"===e?"当前对话":"Current chat")}),(0,b.jsxs)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginTop:2},children:[E.length," ","zh"===e?"条消息":"messages"]})]})]}),ag.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{padding:"8px 14px 2px",fontSize:10,fontWeight:700,color:"var(--foreground-muted)",letterSpacing:"0.08em",textTransform:"uppercase"},children:"zh"===e?"历史对话":"Past conversations"}),ag.map(a=>(0,b.jsxs)("button",{onClick:()=>aQ(a),style:{width:"100%",padding:"8px 14px",background:"transparent",border:"none",borderBottom:"1px solid var(--border)",textAlign:"left",cursor:"pointer"},onMouseEnter:a=>a.currentTarget.style.background="var(--background-secondary)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:500,color:"var(--foreground)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.title}),(0,b.jsxs)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginTop:2,display:"flex",gap:8},children:[(0,b.jsx)("span",{children:new Date(a.createdAt).toLocaleString()}),(0,b.jsxs)("span",{children:[a.messages.length," ","zh"===e?"条":"msgs"]})]})]},a.id))]}),0===ag.length&&0===E.length&&(0,b.jsx)("div",{style:{padding:"32px 14px",textAlign:"center",color:"var(--foreground-muted)",fontSize:12},children:"zh"===e?"暂无历史对话":"No past conversations"})]}),(0,b.jsx)("div",{style:{padding:"10px 14px",borderTop:"1px solid var(--border)",flexShrink:0},children:(0,b.jsxs)("button",{onClick:aP,className:"ai-btn-s",style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",gap:6,padding:"7px 12px",fontSize:12},children:[(0,b.jsx)(s.Plus,{size:13}),"zh"===e?"新增对话":"New conversation"]})})]}),(0,b.jsxs)("div",{ref:ai,style:{flex:1,overflowY:"auto",padding:"20px 24px 16px",minHeight:0},children:[(0,b.jsx)(X,{executionId:z,user:g||"",locale:e,traceExplicitErrors:ap,onNodeRefClick:aE}),E.map(a=>(0,b.jsx)(aH,{message:a,onNodeRefClick:aE,locale:e,nodeMap:at},a.id)),0===E.length&&(0,b.jsx)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",margin:"8px 0 0 40px"},children:["zh"===e?"从 Agent / Skill 执行链路角度分析,这次故障最可能的根因是什么?":"From the Agent / Skill execution-chain perspective, what is the most likely root cause of this failure?","zh"===e?"给我一个用于优化 Agent / Skill / 工具链路的修复方案。":"Give me a fix plan for optimizing the Agent / Skill / tool chain.","zh"===e?"定位耗时最长的节点":"Find the slowest node"].map(a=>(0,b.jsxs)("button",{type:"button",className:"ai-btn-s",style:{fontSize:11,display:"inline-flex",alignItems:"center",gap:5},onClick:()=>{H(a),ak.current?.focus()},children:[(0,b.jsx)(q.MessageSquare,{size:11})," ",a]},a))})]}),(0,b.jsxs)("div",{style:{padding:"10px 20px 18px",flexShrink:0,position:"relative"},children:[(0,b.jsxs)("div",{style:{background:"var(--card-bg)",border:"1px solid var(--border)",borderRadius:14,padding:"10px 12px 8px",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},children:[P.size>0&&(0,b.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:5,marginBottom:8,paddingBottom:8,borderBottom:"1px dashed var(--border)"},children:Array.from(P.values()).map(a=>(0,b.jsx)(aO,{nodeId:a.id,label:a.name,kind:a.kind,onClick:()=>aE(a.id),onRemove:()=>Q(b=>{let c=new Map(b);return c.delete(a.id),c})},a.id))}),(0,b.jsxs)("form",{onSubmit:aT,children:[(0,b.jsx)("textarea",{ref:ak,value:G,onChange:a=>{var b;let c;return H(b=a.target.value),void((c=b.match(/@(\S*)$/))?(_(!0),ab(c[1])):_(!1))},rows:2,placeholder:"zh"===e?"向诊断 Agent 追问,输入 @ 引用具体节点…":"Ask the agent, type @ to reference a node…",style:{width:"100%",resize:"none",border:"none",background:"transparent",color:"var(--foreground)",fontSize:13.5,lineHeight:1.6,outline:"none",minHeight:44,maxHeight:160,fontFamily:"inherit"},onKeyDown:a=>{"Escape"===a.key?_(!1):"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),aT(a))}}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,paddingTop:8,borderTop:"1px solid var(--border)",marginTop:4},children:[(0,b.jsx)("button",{type:"button",title:"引用节点 (@)",onClick:()=>{_(a=>!a),ab("")},style:{width:28,height:28,borderRadius:6,background:"transparent",border:"1px solid transparent",color:"var(--foreground-muted)",display:"grid",placeItems:"center",cursor:"pointer"},children:(0,b.jsx)(h,{size:14})}),(0,b.jsxs)("div",{style:{marginLeft:"auto",fontSize:10.5,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",display:"flex",alignItems:"center",gap:4},children:[(0,b.jsx)("kbd",{style:{background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:4,padding:"1px 5px",fontSize:10},children:"@"}),"zh"===e?"引用节点":"Ref node",(0,b.jsx)("span",{style:{color:"var(--border)",margin:"0 3px"},children:"·"}),(0,b.jsx)("kbd",{style:{background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:4,padding:"1px 5px",fontSize:10},children:"↵"}),"zh"===e?"发送":"Send"]}),(0,b.jsx)("button",{type:"submit",disabled:K||!G.trim()&&0===P.size,style:{width:32,height:32,borderRadius:8,background:"var(--primary,#6356e6)",border:"none",color:"white",display:"grid",placeItems:"center",cursor:K||!G.trim()&&0===P.size?"not-allowed":"pointer",opacity:K||!G.trim()&&0===P.size?.5:1,marginLeft:6,boxShadow:"0 2px 8px rgba(99,86,230,0.35)"},children:K?(0,b.jsx)(p.Loader2,{size:15,className:"animate-spin"}):(0,b.jsx)(t,{size:15})})]})]})]}),$&&(0,b.jsxs)("div",{style:{position:"absolute",bottom:"100%",left:20,right:20,marginBottom:6,background:"var(--card-bg)",border:"1px solid var(--border)",borderRadius:10,boxShadow:"0 8px 24px rgba(0,0,0,0.10)",maxHeight:260,overflowY:"auto",zIndex:50},children:[(0,b.jsx)("div",{style:{padding:"8px 12px",borderBottom:"1px solid var(--border)",fontSize:10,color:"var(--foreground-muted)",letterSpacing:".08em",textTransform:"uppercase",fontWeight:700,background:"var(--background-secondary)",borderRadius:"10px 10px 0 0"},children:"zh"===e?"引用执行节点":"Reference trace node"}),0===aC.length?(0,b.jsx)("div",{style:{padding:14,textAlign:"center",fontSize:11.5,color:"var(--foreground-muted)"},children:"zh"===e?"没有匹配节点":"No matching nodes"}):aC.slice(0,12).map(a=>{let c=aM[a.kind||""];return(0,b.jsxs)("button",{onClick:()=>{aD(a),H(a=>a.replace(/@\S*$/,"").trimEnd())},style:{width:"100%",padding:"8px 12px",display:"flex",alignItems:"center",gap:8,cursor:"pointer",borderBottom:"1px solid var(--border)",background:"transparent",border:"none",textAlign:"left"},onMouseEnter:a=>a.currentTarget.style.background="rgba(99,86,230,0.06)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[c&&(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:9,fontWeight:700,padding:"1px 4px",borderRadius:3,background:c.bg,color:c.color,flexShrink:0},children:c.label}),(0,b.jsx)("span",{style:{fontSize:12,color:"var(--foreground)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontWeight:500},children:a.name}),(0,b.jsx)("span",{style:{fontSize:10,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",flexShrink:0},children:a.time||""})]},a.id)})]})]})]})]})]})}function aH({message:a,onNodeRefClick:c,locale:d,nodeMap:e}){let f,g="user"===a.role;return(0,b.jsxs)("div",{style:{display:"flex",gap:10,marginBottom:14,justifyContent:g?"flex-end":"flex-start"},children:[!g&&(0,b.jsx)(aW,{role:"assistant"}),(0,b.jsxs)("div",{style:{maxWidth:820,minWidth:0},children:[g&&(0,b.jsx)(aX,{label:"zh"===d?"你":"You",align:"right"}),(0,b.jsx)("div",{style:{borderRadius:(f="user"===a.role)?"12px 4px 12px 12px":"4px 12px 12px 12px",border:`1px solid ${f?"var(--primary)":"var(--border)"}`,background:f?"var(--primary)":"var(--card-bg)",color:f?"var(--primary-foreground)":"var(--foreground)",padding:"11px 12px",fontSize:12.5,boxShadow:"0 8px 28px var(--shadow-color)"},children:a.pending&&!a.content?(0,b.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",gap:8,color:"var(--foreground-muted)"},children:[(0,b.jsx)(p.Loader2,{size:14,className:"animate-spin"}),"zh"===d?"正在思考…":"Thinking…"]}):g?(0,b.jsxs)("div",{style:{whiteSpace:"pre-wrap",lineHeight:1.7},children:[a.nodeRefs&&a.nodeRefs.length>0&&(0,b.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:8},children:a.nodeRefs.map(a=>(0,b.jsx)(aO,{nodeId:a.id,label:a.label,kind:a.kind,onClick:()=>c(a.id)},a.id))}),a.content]}):(0,b.jsx)("div",{style:{lineHeight:1.65},children:(0,b.jsx)(aT,{content:a.content,onNodeRefClick:c,nodeMap:e})})})]}),g&&(0,b.jsx)(aW,{role:"user"})]})}function aI(a,b){let c=(a.failures||[]).map(a=>({...a,diagnostic_kind:"original",diagnostic_source:"analysis"})),d=a.tool_call_error_count||0;return d>0&&!c.some(a=>{let b=aK([a.failure_type,a.description,a.context,a.step,a.trace_anchor?.kind].filter(Boolean).join(" "));return a.trace_anchor?.kind==="tool"||/tool|工具|bash|command|exit code|stderr|非零/.test(b)})&&c.push({failure_type:"zh"===b?"工具调用错误":"Tool call error",description:"zh"===b?`上传/采集阶段检测到 ${d} 次工具调用失败,但未生成更细的结构化 failure 记录。`:`The uploaded trace reported ${d} tool call error(s), but no detailed structured failure was generated.`,context:`tool_call_error_count=${d}`,recovery:"zh"===b?"建议打开完整执行链路查看失败工具的入参、输出和错误信息。":"Open the full trace to inspect the failed tool call input, output, and error details.",diagnostic_kind:"original",diagnostic_source:"ingest",synthetic:!0}),c}function aJ(a,b){let c=b.trace_anchor;if(c?.step_id){let b=a.find(a=>a.id===c.step_id);if(b)return{node:b,reason:c.evidence||`后端锚定:${c.match_method},置信度 ${Math.round(100*c.confidence)}%`}}if(b.anchor_step_id){let c=a.find(a=>a.id===b.anchor_step_id);if(c)return{node:c,reason:"来自后端分析的候选步骤 ID"}}if(c?.step_index){let b=a.find(a=>a.step===c.step_index);if(b)return{node:b,reason:c.evidence||"来自后端分析的步骤编号"}}let d=aK([b.failure_type,b.description,b.context,b.recovery,b.step].filter(Boolean).join(" ")),e=/推理判断|时间窗口匹配/i.test(b.step||"")?null:String(b.step||"").match(/第\s*(\d+)\s*步/i);if(e){let b=Number(e[1])-1;if(a[b])return{node:a[b],reason:"来自故障记录的步骤编号"}}let f=a.map(a=>{let b=0,c=aK(a.rawText||`${a.name} ${a.meta}`);for(let a of Array.from(new Set(d.split(/[^a-z0-9_\-.]+/i).map(a=>a.trim().toLowerCase()).filter(a=>a.length>=3))).slice(0,12))c.includes(a)&&(b+=a.length>4?2:1);return/401|authentication|unauthori[sz]ed|api[_\s-]?key|认证|鉴权|权限/.test(d)&&"llm"===a.kind&&(b+=8),/tool|工具|bash|command|exit code|stderr|非零/.test(d)&&"tool"===a.kind&&(b+=7),/skill|技能|SKILL\.md/i.test(d)&&"skill"===a.kind&&(b+=7),/timeout|超时|卡住/.test(d)&&(b+=3),{node:a,score:b}}).sort((a,b)=>b.score-a.score);if(f[0]?.score>0)return{node:f[0].node,reason:f[0].score>=7?"根据错误内容和节点类型匹配":"根据错误上下文文本匹配"};let g=[...a].reverse().find(a=>"llm"===a.kind||"tool"===a.kind||"skill"===a.kind)||[...a].reverse().find(a=>"skipped"!==a.status);return g?{node:g,reason:"未找到精确锚点,回退到最后一个已执行关键节点"}:null}function aK(a){return a.toLowerCase().replace(/\s+/g," ").trim()}function aL(a){return a>=1e6?`${(a/1e6).toFixed(2)}M`:a>=1e3?`${(a/1e3).toFixed(1)}K`:String(a)}let aM={llm:{label:"LLM",color:"#7c3aed",bg:"rgba(124,58,237,0.10)"},tool:{label:"TOOL",color:"#2563eb",bg:"rgba(37,99,235,0.10)"},skill:{label:"SKILL",color:"#15a572",bg:"rgba(21,165,114,0.10)"},agent:{label:"AGENT",color:"var(--primary,#6356e6)",bg:"rgba(99,86,230,0.10)"},task:{label:"TASK",color:"#0891b2",bg:"rgba(8,145,178,0.10)"},flow:{label:"FLOW",color:"#d97706",bg:"rgba(217,119,6,0.10)"},system:{label:"SYS",color:"var(--foreground-muted,#9da1ac)",bg:"var(--background-secondary)"}};function aN({label:a,value:c,valueColor:d}){return(0,b.jsxs)("div",{style:{padding:"0 14px",borderLeft:"1px solid var(--border)",textAlign:"center",flexShrink:0},children:[(0,b.jsx)("div",{style:{fontSize:9.5,color:"var(--foreground-muted)",fontWeight:700,letterSpacing:".10em",textTransform:"uppercase",marginBottom:3},children:a}),(0,b.jsx)("div",{style:{fontSize:15,fontWeight:700,fontFamily:"var(--font-mono)",letterSpacing:"-0.02em",color:d||"var(--foreground)",lineHeight:1},children:c})]})}function aO({nodeId:a,label:c,kind:d,onClick:e,onRemove:f}){let g=aM[d||""];return(0,b.jsxs)("span",{onClick:e,style:{display:"inline-flex",alignItems:"center",gap:5,background:"var(--card-bg,#fff)",border:"1px solid rgba(99,86,230,0.35)",padding:"2px 6px 2px 3px",borderRadius:6,fontSize:11.5,color:"var(--foreground)",fontWeight:500,cursor:e?"pointer":"default",verticalAlign:"middle",lineHeight:1.3,transition:"all 0.15s"},children:[(0,b.jsx)("span",{style:{width:16,height:16,borderRadius:4,background:"var(--primary,#6356e6)",color:"white",display:"grid",placeItems:"center",flexShrink:0},children:(0,b.jsx)(h,{size:9})}),g&&(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:9,fontWeight:700,color:g.color,paddingRight:5,borderRight:"1px solid rgba(99,86,230,0.2)",lineHeight:1},children:g.label}),(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:180},children:c}),f&&(0,b.jsx)("button",{onClick:a=>{a.stopPropagation(),f()},style:{background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,color:"var(--foreground-muted)",display:"flex",alignItems:"center",marginLeft:1},children:(0,b.jsx)(w.X,{size:10})})]})}function aP(a){let b=a.match(/req\s+([\d,]+)\s*tok/i),c=a.match(/out\s+([\d,]+)\s*tok/i);return{req:b?parseInt(b[1].replace(/,/g,""),10):void 0,out:c?parseInt(c[1].replace(/,/g,""),10):void 0}}function aQ(a){if(a<1e3)return`${a}ms`;if(a<6e4)return`${(a/1e3).toFixed(1)}s`;let b=Math.floor(a/6e4),c=Math.round(a%6e4/1e3);return c>0?`${b}m ${c}s`:`${b}m`}function aR({node:a,onClose:c,locale:d}){let e=aM[a.kind||""],f="error"===a.status?"var(--error,#dc2626)":"ok"===a.status?"var(--success,#15a572)":"running"===a.status?"var(--primary,#6356e6)":"var(--foreground-muted,#9da1ac)",g="error"===a.status?"zh"===d?"错误":"Error":"ok"===a.status?"zh"===d?"成功":"OK":"skipped"===a.status?"zh"===d?"未执行":"Skipped":"zh"===d?"运行中":"Running",h=aP(a.meta||""),i=(h.req||0)+(h.out||0);return(0,b.jsxs)("div",{style:{position:"fixed",inset:0,zIndex:900,display:"flex",alignItems:"center",justifyContent:"center"},onClick:c,children:[(0,b.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.32)",backdropFilter:"blur(2px)"}}),(0,b.jsxs)("div",{style:{position:"relative",zIndex:1,width:540,maxWidth:"calc(100vw - 40px)",maxHeight:"calc(100vh - 80px)",overflow:"auto",background:"var(--card-bg,#fff)",borderRadius:14,boxShadow:"0 20px 60px rgba(0,0,0,0.22)",border:"1px solid var(--border)",padding:"20px 22px"},onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10,marginBottom:14},children:[(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",marginBottom:6},children:[e&&(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,fontWeight:700,padding:"2px 6px",borderRadius:4,background:e.bg,color:e.color,letterSpacing:"0.04em"},children:e.label}),(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,fontWeight:600,color:f,padding:"2px 7px",borderRadius:99,background:`color-mix(in srgb, ${f} 12%, transparent)`},children:[(0,b.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:f,display:"inline-block"}}),g]}),a.faultRefs&&a.faultRefs.length>0&&(0,b.jsxs)("span",{style:{fontSize:10,fontWeight:700,padding:"2px 7px",borderRadius:99,background:"var(--error,#dc2626)",color:"#fff"},children:["⚠ #",a.faultRefs.join(", #")]})]}),(0,b.jsx)("div",{style:{fontSize:15,fontWeight:700,color:"var(--foreground)",lineHeight:1.3},children:a.name}),(0,b.jsx)("div",{style:{fontSize:11,color:"var(--foreground-muted)",marginTop:3,fontFamily:"var(--font-mono)"},children:a.id})]}),(0,b.jsx)("button",{onClick:c,style:{background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:6,width:28,height:28,display:"grid",placeItems:"center",cursor:"pointer",color:"var(--foreground-muted)",flexShrink:0},children:(0,b.jsx)(w.X,{size:14})})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:0,marginBottom:16,borderRadius:8,overflow:"hidden",border:"1px solid var(--border)",background:"var(--background-secondary)"},children:[null!=a.durationMs&&(0,b.jsxs)("div",{style:{flex:1,padding:"8px 12px",borderRight:"1px solid var(--border)"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginBottom:2,fontWeight:600,letterSpacing:"0.05em"},children:"zh"===d?"耗时":"DURATION"}),(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--foreground)",fontFamily:"var(--font-mono)"},children:aQ(a.durationMs)})]}),i>0&&(0,b.jsxs)("div",{style:{flex:1,padding:"8px 12px",borderRight:a.time?"1px solid var(--border)":void 0},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginBottom:2,fontWeight:600,letterSpacing:"0.05em"},children:"TOKENS"}),(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--foreground)",fontFamily:"var(--font-mono)"},children:aL(i)})]}),null!=h.req&&h.req>0&&(0,b.jsxs)("div",{style:{flex:1,padding:"8px 12px",borderRight:h.out?"1px solid var(--border)":void 0},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginBottom:2,fontWeight:600,letterSpacing:"0.05em"},children:"IN"}),(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--foreground)",fontFamily:"var(--font-mono)"},children:aL(h.req)})]}),null!=h.out&&h.out>0&&(0,b.jsxs)("div",{style:{flex:1,padding:"8px 12px"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginBottom:2,fontWeight:600,letterSpacing:"0.05em"},children:"OUT"}),(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--foreground)",fontFamily:"var(--font-mono)"},children:aL(h.out)})]}),a.time&&null==a.durationMs&&(0,b.jsxs)("div",{style:{flex:1,padding:"8px 12px"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginBottom:2,fontWeight:600,letterSpacing:"0.05em"},children:"zh"===d?"时间偏移":"OFFSET"}),(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--foreground)",fontFamily:"var(--font-mono)"},children:a.time})]})]}),"error"===a.status&&a.detail&&(0,b.jsxs)("div",{style:{marginBottom:14,padding:"10px 12px",borderRadius:8,background:"var(--error-subtle,rgba(220,38,38,0.06))",border:"1px solid var(--error-subtle-border,rgba(220,38,38,0.2))"},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"var(--error)",marginBottom:5,letterSpacing:"0.05em"},children:"zh"===d?"故障详情":"FAULT DETAIL"}),(0,b.jsx)("div",{style:{fontSize:12,color:"var(--error)",lineHeight:1.6,whiteSpace:"pre-wrap"},children:a.detail})]}),a.matchReason&&(0,b.jsxs)("div",{style:{marginBottom:14,padding:"8px 12px",borderRadius:8,background:"rgba(217,119,6,0.06)",border:"1px solid rgba(217,119,6,0.2)"},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"#d97706",marginBottom:4,letterSpacing:"0.05em"},children:"zh"===d?"定位依据":"MATCH REASON"}),(0,b.jsx)("div",{style:{fontSize:12,color:"var(--foreground)",lineHeight:1.5},children:a.matchReason})]}),a.meta&&(0,b.jsxs)("div",{style:{marginBottom:14},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"var(--foreground-muted)",marginBottom:6,letterSpacing:"0.05em"},children:"zh"===d?"节点元数据":"METADATA"}),(0,b.jsx)("div",{style:{fontSize:12,color:"var(--foreground-secondary,#4b5563)",lineHeight:1.6,padding:"8px 10px",background:"var(--background-secondary)",borderRadius:6,fontFamily:"var(--font-mono)",whiteSpace:"pre-wrap",wordBreak:"break-all"},children:a.meta})]}),a.rawInput&&a.rawInput.length>0&&(0,b.jsxs)("div",{style:{marginBottom:14},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"var(--foreground-muted)",marginBottom:6,letterSpacing:"0.05em"},children:"INPUT"}),(0,b.jsx)("div",{style:{fontSize:11.5,color:"var(--foreground-secondary)",lineHeight:1.6,padding:"8px 10px",background:"var(--background-secondary)",borderRadius:6,maxHeight:240,overflow:"auto",whiteSpace:"pre-wrap",wordBreak:"break-all"},children:a.rawInput})]}),a.rawOutput&&a.rawOutput.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"var(--foreground-muted)",marginBottom:6,letterSpacing:"0.05em"},children:"OUTPUT"}),(0,b.jsx)("div",{style:{fontSize:11.5,color:"var(--foreground-secondary)",lineHeight:1.6,padding:"8px 10px",background:"var(--background-secondary)",borderRadius:6,maxHeight:240,overflow:"auto",whiteSpace:"pre-wrap",wordBreak:"break-all"},children:a.rawOutput})]})]})]})}function aS({node:a,ancestors:d,isLast:e,collapsedNodes:f,onToggleCollapse:g,onQuoteNode:i,onFaultSelect:l,onNodeClick:m,highlightNodeId:n,traceNodeEls:o,traceSearch:p,locale:q,maxDurationMs:r}){let s,[t,u]=(0,c.useState)(!1),v=f.has(a.id),w=a.children.length>0,x=a.id===n,y=a.depth??0,z=!p||a.name.toLowerCase().includes(p)||(a.meta||"").toLowerCase().includes(p),A=a=>a.children.some(a=>a.name.toLowerCase().includes(p)||(a.meta||"").toLowerCase().includes(p)||A(a));if(p&&!z&&!A(a))return null;let B="error"===a.status?"var(--error,#dc2626)":"ok"===a.status?"var(--success,#15a572)":"running"===a.status?"var(--primary,#6356e6)":"var(--foreground-muted,#9da1ac)",C="error"===a.status?"rgba(220,38,38,0.18)":"ok"===a.status?"rgba(21,165,114,0.18)":"running"===a.status?"rgba(99,86,230,0.18)":"transparent",D=aM[a.kind||""],E=aP(a.meta||""),F=(E.req||0)+(E.out||0),G=null!=D&&["模型调用","Model call","工具调用","Tool call","调度子任务","Subtask execution","子任务执行","执行 Skill","Run skill","控制器路由","Controller routing","用户输入","User input"].some(b=>a.name===b),H=(a.meta||"").split(/\s*·\s*/),I=H[0]?.trim()??"",J=I&&!/^(req|out)\s|\d{4,}/.test(I)?I.length>32?`${I.slice(0,32)}…`:I:"",K=G&&J?J:a.name,L=(s=(G&&J?H.slice(1):H).join(" · ").replace(/\breq\s+[\d,]+\s*tok\b/gi,"").replace(/\bout\s+[\d,]+\s*tok\b/gi,"").replace(/\s*·\s*·\s*/g," · ").replace(/^\s*·\s*|\s*·\s*$/g,"").trim()).length>40?`${s.slice(0,40)}…`:s;return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{ref:b=>{b?o.current.set(a.id,b):o.current.delete(a.id)},style:{position:"relative"},onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),children:[d.map((a,c)=>a?(0,b.jsx)("div",{style:{position:"absolute",left:14*c+4+4,top:0,bottom:0,width:1,background:"var(--border)",pointerEvents:"none"}},c):null),y>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{style:{position:"absolute",left:(y-1)*14+4+4,top:0,height:e?"50%":"100%",width:1,background:"var(--border)",pointerEvents:"none"}}),(0,b.jsx)("div",{style:{position:"absolute",left:(y-1)*14+4+4,top:"50%",width:8,height:1,background:"var(--border)",pointerEvents:"none",marginTop:-.5}})]}),(0,b.jsx)("div",{style:{margin:"1px 4px",borderRadius:6,background:x?"rgba(99,86,230,0.08)":t?"var(--background-secondary)":"transparent",border:`1px solid ${x?"rgba(99,86,230,0.28)":"error"===a.status?"rgba(220,38,38,0.18)":"transparent"}`,transition:"background 0.12s, border-color 0.12s",cursor:"pointer",overflow:"hidden"},onClick:()=>{m(a)},children:(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5,paddingLeft:14*y+4,paddingRight:8,paddingTop:4,paddingBottom:4},children:[(0,b.jsx)("div",{style:{width:14,height:14,display:"flex",alignItems:"center",justifyContent:"center",color:"var(--foreground-muted)",flexShrink:0},onClick:b=>{b.stopPropagation(),w&&g(a.id)},children:w?v?(0,b.jsx)(k.ChevronRight,{size:10}):(0,b.jsx)(j.ChevronDown,{size:10}):null}),(0,b.jsx)("div",{style:{width:7,height:7,borderRadius:"50%",background:B,boxShadow:`0 0 0 2px ${C}`,flexShrink:0}}),(0,b.jsxs)("span",{title:"zh"===q?`左侧节点 #${a.step}`:`Trace node #${a.step}`,style:{width:34,flexShrink:0,textAlign:"right",fontFamily:"var(--font-mono)",fontSize:9.5,fontWeight:700,fontVariantNumeric:"tabular-nums",color:x?"var(--primary)":"var(--foreground-muted)"},children:["#",a.step]}),D&&(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:9,fontWeight:700,padding:"1px 4px",borderRadius:3,background:D.bg,color:D.color,flexShrink:0,letterSpacing:"0.02em"},children:D.label}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:[(0,b.jsx)("span",{style:{fontSize:11.5,fontWeight:x?600:500,color:"error"===a.status?"var(--error)":"var(--foreground)"},children:K}),L&&(0,b.jsx)("span",{style:{fontSize:10,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",marginLeft:5},children:L})]}),a.faultRefs&&a.faultRefs.length>0&&(0,b.jsx)("span",{style:{fontSize:11,color:"var(--warning,#d97706)",flexShrink:0},title:a.tag||"",children:"⚠"}),F>0&&(0,b.jsx)("span",{style:{fontSize:9.5,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",flexShrink:0},children:aL(F)}),null!=a.durationMs?(0,b.jsx)("span",{style:{fontSize:9.5,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",flexShrink:0},children:aQ(a.durationMs)}):a.time?(0,b.jsx)("span",{style:{fontSize:9.5,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",flexShrink:0},children:a.time}):null,(0,b.jsx)("button",{onClick:b=>{b.stopPropagation(),i(a)},title:"zh"===q?"引用此节点":"Quote node",style:{width:18,height:18,borderRadius:4,flexShrink:0,background:t?"var(--card-bg,#fff)":"transparent",border:`1px solid ${t?"var(--border)":"transparent"}`,color:"var(--foreground-muted)",display:"grid",placeItems:"center",cursor:"pointer",opacity:+!!t,transition:"opacity 0.15s"},children:(0,b.jsx)(h,{size:9})})]})})]}),!v&&w&&a.children.map((c,h)=>(0,b.jsx)(aS,{node:c,ancestors:[...d,!e],isLast:h===a.children.length-1,collapsedNodes:f,onToggleCollapse:g,onQuoteNode:i,onFaultSelect:l,onNodeClick:m,highlightNodeId:n,traceNodeEls:o,traceSearch:p,locale:q,maxDurationMs:r},c.id))]})}function aT({content:a,onNodeRefClick:c,nodeMap:d}){let e=a.replace(/@\[([^\]]+)\]/g,(a,b)=>{let c=b.lastIndexOf(":");if(-1===c)return a;let d=b.slice(0,c),e=b.slice(c+1);return d&&e?`[${e}](NODEREF:${encodeURIComponent(d)})`:a});return(0,b.jsx)(x.default,{remarkPlugins:[y.default],components:{p:({children:a})=>(0,b.jsx)("p",{style:{margin:"0 0 0.55em",lineHeight:1.7},children:a}),h1:({children:a})=>(0,b.jsx)("h1",{style:{fontSize:"1.15em",fontWeight:700,margin:"0.9em 0 0.3em",lineHeight:1.35},children:a}),h2:({children:a})=>(0,b.jsx)("h2",{style:{fontSize:"1.05em",fontWeight:700,margin:"0.75em 0 0.3em",lineHeight:1.35},children:a}),h3:({children:a})=>(0,b.jsx)("h3",{style:{fontSize:"1em",fontWeight:700,margin:"0.65em 0 0.25em",lineHeight:1.35},children:a}),ul:({children:a})=>(0,b.jsx)("ul",{style:{margin:"0.25em 0 0.5em 1.35em",padding:0,lineHeight:1.65},children:a}),ol:({children:a})=>(0,b.jsx)("ol",{style:{margin:"0.25em 0 0.5em 1.35em",padding:0,lineHeight:1.65},children:a}),li:({children:a})=>(0,b.jsx)("li",{style:{marginBottom:"0.1em"},children:a}),strong:({children:a})=>(0,b.jsx)("strong",{style:{fontWeight:600},children:a}),em:({children:a})=>(0,b.jsx)("em",{style:{fontStyle:"italic"},children:a}),blockquote:({children:a})=>(0,b.jsx)("blockquote",{style:{margin:"0.35em 0",padding:"3px 10px",borderLeft:"3px solid var(--border)",color:"var(--foreground-secondary)",fontStyle:"italic"},children:a}),hr:()=>(0,b.jsx)("hr",{style:{border:"none",borderTop:"1px solid var(--border)",margin:"0.6em 0"}}),a({href:a,children:e}){if(a?.startsWith("NODEREF:")){let f=decodeURIComponent(a.slice(8)),g=d?.get(f),h=g?.name||String(e),i=g?.kind;return(0,b.jsx)(aO,{nodeId:f,label:h,kind:i,onClick:()=>c(f)})}return(0,b.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"underline"},children:e})},table:({children:a})=>(0,b.jsx)("table",{style:{borderCollapse:"collapse",width:"100%",margin:"0.35em 0",fontSize:"12px"},children:a}),th:({children:a})=>(0,b.jsx)("th",{style:{border:"1px solid var(--border)",padding:"4px 8px",background:"var(--background-secondary)",fontWeight:600,textAlign:"left"},children:a}),td:({children:a})=>(0,b.jsx)("td",{style:{border:"1px solid var(--border)",padding:"4px 8px"},children:a}),code({children:a,className:c}){let d=/language-(\w+)/.exec(c||""),e=String(a).replace(/\n$/,"");return e.includes("\n")||d?(0,b.jsx)("pre",{style:{background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:6,padding:"8px 12px",overflow:"auto",margin:"0.4em 0",fontFamily:"var(--font-mono,monospace)",fontSize:"11.5px",lineHeight:1.55,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:(0,b.jsx)("code",{style:{fontFamily:"inherit",fontSize:"inherit"},children:e})}):(0,b.jsx)("code",{style:{background:"rgba(175,184,193,0.18)",padding:"0.15em 0.38em",borderRadius:3,fontFamily:"var(--font-mono,monospace)",fontSize:"0.88em"},children:a})}},children:e})}async function aU(a,b){let c=a.body.getReader(),d=new TextDecoder,e="";for(;;){let{value:a,done:f}=await c.read();if(f)break;let g=(e+=d.decode(a,{stream:!0})).split("\n\n");for(let a of(e=g.pop()||"",g)){let c=a.split("\n").find(a=>a.startsWith("event:")),d=a.split("\n").find(a=>a.startsWith("data:"));if(!c||!d)continue;let e=c.replace(/^event:\s*/,"").trim(),f=null;try{f=JSON.parse(d.replace(/^data:\s*/,""))}catch{f={}}"text"===e&&b.text?.(f),"done"===e&&b.done?.(f),"error"===e&&b.error?.(f)}}}function aV({label:a,count:c,active:d}){return(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"4px 9px",borderRadius:999,fontSize:11,background:d?"var(--primary-subtle)":"var(--background-secondary)",color:d?"var(--primary)":"var(--foreground-secondary)",border:`1px solid ${d?"var(--primary-subtle-border)":"var(--border)"}`},children:[a,"number"==typeof c&&(0,b.jsx)("b",{style:{fontWeight:700},children:c})]})}function aW({role:a}){let c="user"===a;return(0,b.jsx)("div",{style:{width:26,height:26,borderRadius:8,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",background:c?"var(--foreground)":"var(--primary)",color:"white",marginTop:18},children:c?(0,b.jsx)(v,{size:14}):(0,b.jsx)(i,{size:14})})}function aX({label:a,align:c="left"}){return(0,b.jsx)("div",{style:{marginBottom:5,fontSize:10.5,color:"var(--foreground-muted)",textAlign:c},children:a})}function aY({label:a,value:c,sub:d,accent:e,truncate:f}){return(0,b.jsxs)("div",{className:"ai-stat",children:[(0,b.jsx)("div",{className:"ai-stat-lbl",children:a}),(0,b.jsx)("div",{className:"ai-stat-val",style:{color:"error"===e?"var(--error)":"warning"===e?"var(--warning)":"var(--foreground)",overflow:f?"hidden":void 0,textOverflow:f?"ellipsis":void 0,whiteSpace:f?"nowrap":void 0},children:c}),d&&(0,b.jsx)("div",{className:"ai-stat-d",style:{color:"var(--foreground-muted)"},children:d})]})}function aZ({label:a,active:c,value:d,onChange:e,children:f}){return(0,b.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",borderRadius:6,border:`1px solid ${c?"var(--primary-subtle-border, rgba(59,130,246,0.35))":"var(--border)"}`,background:c?"var(--primary-subtle, rgba(59,130,246,0.06))":"var(--card-bg)",overflow:"hidden",height:28,transition:"border-color .15s, background .15s"},children:[(0,b.jsx)("span",{style:{padding:"0 7px 0 9px",fontSize:10.5,fontWeight:600,color:c?"var(--primary, #3b82f6)":"var(--foreground-muted)",whiteSpace:"nowrap",userSelect:"none",borderRight:`1px solid ${c?"var(--primary-subtle-border, rgba(59,130,246,0.25))":"var(--border)"}`,lineHeight:"26px"},children:a}),(0,b.jsx)("select",{value:d,onChange:a=>e(a.target.value),style:{height:"100%",border:"none",outline:"none",background:"transparent",fontSize:11,color:c?"var(--primary, #3b82f6)":"var(--foreground)",fontWeight:c?600:400,padding:"0 20px 0 7px",cursor:"pointer",appearance:"none",WebkitAppearance:"none",backgroundImage:"url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5l3 3 3-3' stroke='%23999' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\")",backgroundRepeat:"no-repeat",backgroundPosition:"right 5px center",minWidth:52},children:f})]})}function a$(){return(0,b.jsx)("div",{style:{width:1,height:18,background:"var(--border)",margin:"0 6px",flexShrink:0}})}function a_({label:a,onRemove:c}){return(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",fontSize:11,borderRadius:4,background:"var(--primary-subtle, rgba(59,130,246,0.08))",border:"1px solid var(--primary-subtle-border, rgba(59,130,246,0.2))",color:"var(--primary, #3b82f6)",fontWeight:500,whiteSpace:"nowrap"},children:[a,(0,b.jsx)("button",{onClick:c,style:{background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,color:"inherit",opacity:.7,fontSize:12,display:"flex",alignItems:"center"},"aria-label":"remove filter",children:"×"})]})}function a0({children:a,width:c,align:d}){return(0,b.jsx)("th",{style:{padding:"7px 12px",fontSize:10.5,fontWeight:500,color:"var(--foreground-muted)",borderBottom:"1px solid var(--border)",textAlign:d||"left",whiteSpace:"nowrap",width:c},children:a})}function a1({execution:a,onClick:c,locale:d}){let e=a.task_id||a.upload_id||"",f=(a.failures||[]).map(a=>a.failure_type).filter(Boolean);a.invoked_skills?.length||a.skills?.length||a.skill,(a.invoked_skills?.length??0)>1||a.skills?.length;let g=a.failures&&a.failures.length>0||(a.tool_call_error_count||0)>0;return(0,b.jsxs)("tr",{onClick:c,style:{cursor:"pointer",borderBottom:"1px solid var(--table-row-border)",transition:"background .1s"},onMouseEnter:a=>a.currentTarget.style.background="var(--background-secondary)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[(0,b.jsx)(a2,{children:(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10.5,color:"var(--foreground-muted)"},children:e.slice(0,14)||"-"})}),(0,b.jsx)(a2,{truncate:!0,children:(0,b.jsx)("span",{title:a.agent||a.agentName||a.framework||"-",style:{fontSize:11,color:"var(--foreground)"},children:a.agent||a.agentName||a.framework||"-"})}),(0,b.jsx)(a2,{children:(0,b.jsx)(J.StatusBadge,{status:g?"error":"success",label:g?"zh"===d?"是":"Yes":"zh"===d?"否":"No"})}),(0,b.jsx)(a2,{truncate:!0,children:(0,b.jsx)("span",{title:a.query,style:{color:"var(--foreground)"},children:a.query||("zh"===d?"(无问题)":"(no query)")})}),(0,b.jsx)(a2,{children:(0,b.jsxs)("div",{style:{display:"flex",gap:4,flexWrap:"wrap"},children:[f.slice(0,2).map((a,c)=>(0,b.jsx)("span",{className:"ai-badge ai-badge-r",style:{fontSize:9},children:a},c)),f.length>2&&(0,b.jsxs)("span",{style:{fontSize:9,color:"var(--foreground-muted)"},children:["+",f.length-2]})]})}),(0,b.jsx)(a2,{children:(0,b.jsx)("span",{style:{fontSize:10,color:"var(--foreground-secondary)",fontFamily:"var(--font-mono)"},children:new Date(a.timestamp).toLocaleString()})})]})}function a2({children:a,align:c,truncate:d}){return(0,b.jsx)("td",{style:{padding:"7px 12px",fontSize:11.5,textAlign:c||"left",color:"var(--foreground)",...d?{maxWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},children:a})}function a3({page:a,totalPages:c,pageSize:d,total:e,onPage:f,onPageSize:g,locale:h}){var i,j;let k=(a-1)*d+1,l=Math.min(a*d,e),m=(i=a,(j=c)<=7?Array.from({length:j},(a,b)=>b+1):i<=3?[1,2,3,4,"...",j]:i>=j-2?[1,"...",j-3,j-2,j-1,j]:[1,"...",i-1,i,i+1,"...",j]);return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:12,padding:"0 4px"},children:[(0,b.jsx)("div",{style:{fontSize:11,color:"var(--foreground-muted)"},children:"zh"===h?`显示 ${k} 到 ${l},共 ${e} 条`:`Showing ${k}-${l} of ${e}`}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[(0,b.jsx)("button",{className:"ai-btn-s",style:{padding:"2px 8px",fontSize:11,minWidth:30},disabled:a<=1,onClick:()=>f(a-1),children:"‹"}),m.map((c,d)=>"..."===c?(0,b.jsx)("span",{style:{color:"var(--foreground-muted)",alignSelf:"center",padding:"0 2px"},children:"..."},`ell-${d}`):(0,b.jsx)("button",{className:"ai-btn-s",onClick:()=>f(c),style:{padding:"2px 8px",fontSize:11,minWidth:30,background:c===a?"var(--primary-subtle)":"var(--card-bg)",color:c===a?"var(--primary)":"var(--foreground-secondary)",borderColor:c===a?"var(--primary-subtle-border)":"var(--border)"},children:c},`p-${c}`)),(0,b.jsx)("button",{className:"ai-btn-s",style:{padding:"2px 8px",fontSize:11,minWidth:30},disabled:a>=c,onClick:()=>f(a+1),children:"›"}),(0,b.jsx)("select",{value:d,onChange:a=>g(Number(a.target.value)),className:"ai-chip",style:{height:24,padding:"2px 22px 2px 6px",fontSize:11,marginLeft:8},children:aB.map(a=>(0,b.jsxs)("option",{value:a,children:[a," ","zh"===h?"条/页":"/page"]},a))})]})]})}a.s(["default",()=>aE],423017)}];
4
+ ${az(d,2e3)}`))}g=i.length>0?i.join("\n\n---\n\n"):void 0;let j=function(a,b){if(!Array.isArray(a)||0===a.length)return"";let c=a.map(a=>a?.function?.name||a?.name||"tool").slice(0,3),d=a.length>c.length?", ...":"";return"zh"===b?`${a.length} 个工具调用: ${c.join(", ")}${d}`:`${a.length} tool call${a.length>1?"s":""}: ${c.join(", ")}${d}`}(d.interaction?.tool_calls,b);h=[d.interaction?.content,j].filter(Boolean).join("\n")||d.summary||""}else("tool"===d.kind||"skill"===d.kind||"task"===d.kind)&&(void 0!==d.args&&(g=ay(d.args,2e3)),("tool"===d.kind||"skill"===d.kind)&&void 0!==d.output&&null!==d.output&&(h=ay(d.output,2e3)));e({id:`event:${a.id}:${f}`,name:i.name,meta:i.meta,kind:d.kind,status:j,depth:a.depth+1,interactionIndex:d.interactionIndex,eventIndex:f,toolCallId:d._toolCallId,startedAt:d.startedAt,completedAt:d.completedAt,rawText:[i.name,i.meta,d.name,d.summary,ay(d.args,500),ay(d.output,500)].filter(Boolean).join(" "),rawInput:g||void 0,rawOutput:h||void 0})})}),0===d.length&&e({id:"system:missing-trace",name:"zh"===b?"链路详情缺失":"Trace unavailable",meta:"zh"===b?"未找到可还原的 interactions。":"No interactions were available.",kind:"system",status:"skipped",depth:0,rawText:""}),d})(c||[],d).map(a=>({id:a.id,name:a.name,meta:a.meta,time:a.startedAt&&Number.isFinite(g)?`+${(0,av.formatDuration)(a.startedAt-g)}`:1===a.stepIndex?"+0ms":"—",status:a.status,step:a.stepIndex,kind:a.kind,depth:a.depth,rawText:a.rawText,rawInput:a.rawInput,rawOutput:a.rawOutput,startedAt:a.startedAt,completedAt:a.completedAt,durationMs:null!=a.startedAt&&null!=a.completedAt?a.completedAt-a.startedAt:void 0}))).length&&h.push({id:"system:missing-trace",name:"zh"===d?"链路详情缺失":"Trace unavailable",meta:"zh"===d?"未找到可还原的 interactions,使用评测结果兜底展示。":"No interactions were available; showing evaluation fallback.",status:"skipped",kind:"system",step:1}),function(a,b,c,d){let e=(d||aJ(b,c)).filter(a=>"original"===a.diagnostic_kind);if(e.forEach((c,d)=>{var e,f;let g,h=aK(a,c);h&&(h.node.status="error",h.node.faultRefs=[...h.node.faultRefs||[],d+1],h.node.matchReason=h.reason,h.node.tag=(e=c,f=b,g=aL([e.failure_type,e.description,e.context].filter(Boolean).join(" ")),/401|authentication|unauthori[sz]ed|api[_\s-]?key|认证|鉴权/.test(g)?"CHAIN_ERROR · 401":/timeout|超时/.test(g)?"TIMEOUT":/permission|权限|denied/.test(g)?"PERMISSION":/tool|工具|exit code|stderr|非零/.test(g)||(f.tool_call_error_count||0)>0?"TOOL_ERROR":"CHAIN_ERROR"),h.node.detail=c.description||c.context||h.node.detail)}),0===e.length&&(b.tool_call_error_count||0)>0){let b=[...a].reverse().find(a=>"tool"===a.kind)||[...a].reverse().find(a=>"skipped"!==a.status);b&&(b.status="error",b.faultRefs=[1],b.matchReason="zh"===c?"根据工具错误计数定位到最近一次工具调用":"Matched to the latest tool call from tool error count",b.tag="TOOL_ERROR")}}(h,b,d,f),h},[a,x?.interactions,e,ak]),am=(0,c.useMemo)(()=>{var a,b;return a=ak,b=al,a.filter(a=>"original"===a.diagnostic_kind).map((a,c)=>{let d=aK(b,a)?.node,e=d?.id||a.trace_anchor?.step_id||a.anchor_step_id;return{id:e||`trace-explicit-error-${c+1}`,title:a.failure_type||"Trace error",description:a.description,context:a.context||a.attribution_reason||a.step,recovery:a.recovery,anchorId:e,traceStepIndex:d?.step??a.trace_anchor?.step_index,traceNodeLabel:[d?.name,d?.meta].filter(Boolean).join(" · ")||a.trace_anchor?.display_name,traceNodeKind:d?.kind||a.trace_anchor?.kind}})},[ak,al]),an=(0,c.useMemo)(()=>{var b,c;let d,e,f;return b=al,c=a,e=(d=b.filter(a=>"error"===a.status).length)>0||(c.failures?.length||0)>0||(c.tool_call_error_count||0)>0,f=b.find(a=>"error"===a.status),{hasFault:e,faultNodeCount:d,executed:b.filter(a=>"skipped"!==a.status).length,statusLabel:e?f?`CHAIN_ERROR \xb7 L${f.step}`:"CHAIN_ERROR":"OK"}},[al,a]),ao=(a.invoked_skills?.length??0)||(a.skills?.length??0)||+!!a.skill,{roots:ap,nodeMap:aq}=(0,c.useMemo)(()=>(function(a){let b=[],c=new Map,d=[];for(let e of a){let a=e.depth??0,f={...e,children:[],parentId:void 0};if(c.set(e.id,f),d.length=a,0===a)b.push(f);else{let c=d[a-1];c?(c.children.push(f),f.parentId=c.id):b.push(f)}d[a]=f}return{roots:b,nodeMap:c}})(al),[al]),ar=(0,c.useMemo)(()=>{let a=0;for(let b of al)null!=b.durationMs&&b.durationMs>a&&(a=b.durationMs);return a},[al]),as=(0,c.useMemo)(()=>{let a=Z.toLowerCase();return al.filter(b=>!a||b.name.toLowerCase().includes(a)||(b.kind||"").includes(a))},[al,Z]),at=(0,c.useCallback)(a=>{M(b=>{let c=new Map(b);return c.set(a.id,a),c}),Y(!1),ah.current?.focus()},[]),aC=(0,c.useCallback)(a=>{let b=aq.get(a);for(;b?.parentId;){let a=b.parentId;T(b=>{let c=new Set(b);return c.delete(a),c}),b=aq.get(a)}Q&&R(!1),V(a),setTimeout(()=>{ag.current.get(a)?.scrollIntoView({behavior:"smooth",block:"center"}),setTimeout(()=>V(null),1800)},330)},[aq,Q]),aD=(0,c.useCallback)(a=>{let b=al.find(b=>b.faultRefs?.includes(a));b&&aC(b.id)},[al,aC]);(0,c.useEffect)(()=>{C([]),E(""),G(null),y(null),M(new Map),P(""),T(new Set),K(null),v&&(A(!0),(0,O.apiFetch)(`/api/observe/data?executionId=${encodeURIComponent(v)}`).then(a=>a.ok?a.json():Promise.reject(Error(`HTTP ${a.status}`))).then(a=>{K(Array.isArray(a)&&a[0]?a[0].final_result??null:null)}).catch(()=>{}),(0,O.apiFetch)(`/api/observe/session?taskId=${encodeURIComponent(v)}`).then(a=>a.ok?a.json():Promise.reject(Error(`HTTP ${a.status}`))).then(a=>y(a)).catch(a=>y({error:a instanceof Error?a.message:String(a),interactions:[]})).finally(()=>A(!1)),(0,O.apiFetch)(`/api/fault/diagnosis/session?executionId=${encodeURIComponent(v)}`).then(a=>a.ok?a.json():Promise.reject(Error(`HTTP ${a.status}`))).then(a=>{a.session?.opencodeSessionId&&G(a.session.opencodeSessionId),a.messages?.length&&C(a.messages.map(a=>({id:a.id,role:a.role,content:a.content})))}).catch(()=>{}))},[v]),(0,c.useEffect)(()=>{af.current?.scrollTo({top:af.current.scrollHeight})},[B,H]),(0,c.useEffect)(()=>{if(v)try{let a=localStorage.getItem(`fault-convs-${v}`);a&&ae(JSON.parse(a))}catch{}},[v]);let aE=(0,c.useCallback)(()=>{if(0===B.length||!v)return;let a=B.find(a=>"user"===a.role)?.content?.slice(0,60)||("zh"===e?"对话":"Conversation"),b={id:`conv-${Date.now()}`,title:a,messages:[...B],agentSessionId:F,createdAt:Date.now()};ae(a=>{let c=[b,...a].slice(0,20);try{localStorage.setItem(`fault-convs-${v}`,JSON.stringify(c))}catch{}return c})},[B,F,v,e]),aF=(0,c.useCallback)(()=>{aE(),C([]),G(null),E(""),M(new Map),ac(!1)},[aE]),aG=(0,c.useCallback)(a=>{aE(),C(a.messages),G(a.agentSessionId),ac(!1)},[aE]);async function aH(b){b.preventDefault();let c=D.trim();if(!c&&0===L.size||H||!g)return;let d=Array.from(L.values()),f=d.map(a=>({id:a.id,label:a.name,kind:a.kind})),h=[...d.length>0?["用户引用的执行节点(回答中引用这些节点时请使用 @[id:label] 格式):",...d.map(a=>`- @[${a.id}:${a.name}] 类型:${a.kind||"unknown"} 状态:${a.status} 耗时:${a.time||"—"}`),""]:[],c].filter(Boolean).join("\n"),i={id:`u-${Date.now()}`,role:"user",content:c||"(节点引用)",nodeRefs:f},j=`a-${Date.now()}`;C(a=>[...a,i,{id:j,role:"assistant",content:"",pending:!0}]),E(""),M(new Map),I(!0);try{var k,l;let b,c=await (0,O.apiFetch)("/api/fault/diagnosis/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:g,message:h,executionId:v,sessionId:F,executionBrief:{task_id:(k={...a,final_result:J??a.final_result??void 0}).task_id,upload_id:k.upload_id,framework:k.framework,agent:k.agentName||k.agent,query:k.query,final_result:(l=k.final_result||"",(b=String(l||"").trim()).length>4e3?`${b.slice(0,4e3)}...`:b),is_answer_correct:k.is_answer_correct,answer_score:k.answer_score,judgment_reason:k.judgment_reason,failures:k.failures||[],skill_issues:k.skill_issues||[],skills:k.invoked_skills||k.skills||k.skill,outcome_evaluation:k.outcome_evaluation,routing_evaluation:k.routing_evaluation,metrics:{latency:k.latency,tokens:k.tokens,tool_call_count:k.tool_call_count,tool_call_error_count:k.tool_call_error_count,llm_call_count:k.llm_call_count,input_tokens:k.input_tokens,output_tokens:k.output_tokens}}})});if(!c.ok||!c.body)throw Error(await c.text().catch(()=>"")||`HTTP ${c.status}`);await aV(c,{text:a=>{let b="string"==typeof a?.delta?a.delta:"";b&&C(a=>a.map(a=>a.id===j?{...a,content:a.content+b,pending:!1}:a))},done:a=>{"string"==typeof a?.sessionId&&G(a.sessionId),C(b=>b.map(b=>b.id===j?{...b,content:b.content||a?.output||"",pending:!1}:b))},error:a=>{throw Error(String(a?.message||"诊断 Agent 调用失败"))}})}catch(b){let a=b instanceof Error?b.message:String(b);C(b=>b.map(b=>b.id===j?{...b,content:`${"zh"===e?"诊断 Agent 调用失败:":"Agent failed: "}${a}`,pending:!1}:b))}finally{I(!1)}}let aQ=N.toLowerCase();return(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"calc(100vh - 106px)",overflow:"hidden"},children:[ai&&(0,b.jsx)(aS,{node:ai,onClose:()=>aj(null),locale:e}),(0,b.jsxs)("div",{style:{padding:"10px 16px",borderBottom:"1px solid var(--border)",background:"var(--card-bg)",display:"flex",alignItems:"center",gap:12,flexShrink:0,flexWrap:"wrap"},children:[(0,b.jsxs)("button",{onClick:i,className:"ai-btn-s",style:{padding:"4px 9px",display:"flex",alignItems:"center",gap:5},children:[(0,b.jsx)(f.ArrowLeft,{size:12}),"zh"===e?"返回":"Back"]}),(0,b.jsx)("div",{style:{width:1,height:16,background:"var(--border)",flexShrink:0}}),(0,b.jsxs)("div",{style:{minWidth:0,flex:"1 1 360px"},children:[(0,b.jsx)("div",{style:{fontSize:9,color:"var(--foreground-muted)",letterSpacing:".12em",textTransform:"uppercase",marginBottom:2,fontWeight:700},children:"EXECUTION SESSION"}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",minWidth:0},children:[(0,b.jsx)("span",{style:{fontSize:13,fontWeight:700,fontFamily:"var(--font-mono)",color:"var(--foreground)",overflowWrap:"anywhere"},children:v||"-"}),(a.agentName||a.agent)&&(0,b.jsxs)("span",{style:{fontSize:12,color:"var(--foreground-muted)",fontWeight:600},children:["· ",a.agentName||a.agent]})]})]}),(0,b.jsxs)("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:0},children:[(0,b.jsx)(aO,{label:(0,b.jsx)(au.Term,{id:"chain-status",label:"zh"===e?"链路状态":"Status"}),value:an.statusLabel,valueColor:an.hasFault?"var(--warning,#d97706)":"var(--success,#15a572)"}),(0,b.jsx)(aO,{label:"zh"===e?"执行节点":"Nodes",value:String(an.executed)}),(0,b.jsx)(aO,{label:"LLM",value:String(a.llm_call_count??"—")}),(0,b.jsx)(aO,{label:"zh"===e?"故障节点":"Faults",value:String(an.faultNodeCount),valueColor:an.faultNodeCount>0?"var(--warning,#d97706)":void 0}),(0,b.jsx)(aO,{label:"Token",value:a.tokens?aM(a.tokens):"—"}),(0,b.jsx)(aO,{label:"zh"===e?"耗时":"Duration",value:(0,aA.formatLatencySeconds)(a.latency)})]}),(0,b.jsx)("div",{style:{display:"flex",gap:6,flexShrink:0},children:(0,b.jsxs)(d.default,{href:`${aB}/trace?taskId=${v}`,className:"ai-btn-s",style:{textDecoration:"none",display:"inline-flex",alignItems:"center",gap:5},children:[(0,b.jsx)(n.GitBranch,{size:12})," ","zh"===e?"链路":"Trace"]})})]}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:Q?"44px 1fr":"320px 1fr",flex:1,overflow:"hidden",minHeight:0,transition:"grid-template-columns 0.3s cubic-bezier(0.4,0,0.2,1)"},children:[(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",borderRight:"1px solid var(--border)",background:"var(--card-bg)",overflow:"hidden",minWidth:0},children:Q?(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",padding:"10px 0",gap:6,height:"100%"},children:[(0,b.jsx)("button",{onClick:()=>R(!1),className:"ai-btn-s",style:{width:30,height:30,padding:0,display:"grid",placeItems:"center",borderRadius:7},title:"展开",children:(0,b.jsx)(k.ChevronRight,{size:14})}),(0,b.jsx)("div",{style:{width:20,height:1,background:"var(--border)",margin:"4px 0"}}),(0,b.jsxs)("div",{style:{marginTop:"auto",width:30,padding:"4px 0",borderRadius:6,background:"var(--background-secondary)",fontFamily:"var(--font-mono)",fontSize:9,textAlign:"center",fontWeight:600,color:"var(--foreground-muted)"},children:[(0,b.jsx)("div",{style:{color:"var(--foreground)",fontSize:11,fontWeight:700},children:al.length}),"zh"===e?"节点":"nodes"]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{padding:"10px 12px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",gap:8,flexShrink:0},children:[(0,b.jsx)("div",{style:{width:26,height:26,borderRadius:7,background:"rgba(99,86,230,0.08)",border:"1px solid rgba(99,86,230,0.25)",display:"grid",placeItems:"center",color:"var(--primary)",flexShrink:0},children:(0,b.jsx)(n.GitBranch,{size:13})}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:9.5,color:"var(--foreground-muted)",letterSpacing:".10em",textTransform:"uppercase",fontWeight:700},children:"EXECUTION TRACE"}),(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:"zh"===e?`执行链路 \xb7 ${al.length} 节点`:`Trace \xb7 ${al.length} nodes`})]}),(0,b.jsx)("button",{onClick:()=>R(!0),className:"ai-btn-s",style:{width:26,height:26,padding:0,display:"grid",placeItems:"center",flexShrink:0,borderRadius:6},title:"收起",children:(0,b.jsx)(r,{size:13})})]}),(0,b.jsx)("div",{style:{padding:"8px 12px",borderBottom:"1px solid var(--border)",flexShrink:0},children:(0,b.jsxs)("div",{style:{position:"relative"},children:[(0,b.jsx)("input",{value:N,onChange:a=>P(a.target.value),placeholder:"zh"===e?"搜索节点…":"Search nodes…",style:{width:"100%",height:30,background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:7,padding:"0 10px 0 28px",fontSize:12,color:"var(--foreground)",outline:"none",fontFamily:"inherit"}}),(0,b.jsxs)("svg",{style:{position:"absolute",left:9,top:"50%",transform:"translateY(-50%)",pointerEvents:"none",color:"var(--foreground-muted)"},width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",children:[(0,b.jsx)("circle",{cx:"11",cy:"11",r:"7"}),(0,b.jsx)("path",{d:"M21 21l-4.3-4.3"})]})]})}),(0,b.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"4px 4px 24px",minHeight:0},children:[z&&(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,color:"var(--foreground-muted)",fontSize:11.5,padding:"12px 8px"},children:[(0,b.jsx)(p.Loader2,{size:13,className:"animate-spin"}),"zh"===e?"加载链路中...":"Loading trace..."]}),ap.map((a,c)=>(0,b.jsx)(aT,{node:a,ancestors:[],isLast:c===ap.length-1,collapsedNodes:S,onToggleCollapse:a=>T(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c}),onQuoteNode:at,onFaultSelect:aD,onNodeClick:aj,highlightNodeId:U,traceNodeEls:ag,traceSearch:aQ,locale:e,maxDurationMs:ar},a.id))]}),(0,b.jsxs)("div",{style:{padding:"8px 12px",borderTop:"1px solid var(--border)",background:"var(--background-secondary)",display:"flex",alignItems:"center",gap:8,flexShrink:0,fontSize:10.5},children:[(0,b.jsx)(l.Clock,{size:12,color:"var(--foreground-muted)"}),(0,b.jsx)("span",{style:{color:"var(--foreground-muted)"},children:new Date(a.timestamp).toLocaleString()}),an.faultNodeCount>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{style:{color:"var(--border)"},children:"·"}),(0,b.jsxs)("span",{style:{color:"var(--warning,#d97706)",fontWeight:600},children:["⚠ ",an.faultNodeCount," ","zh"===e?"故障":"fault(s)"]})]})]}),(0,b.jsxs)("div",{style:{borderTop:"1px solid var(--border)",flexShrink:0},children:[(0,b.jsxs)("button",{onClick:()=>aa(a=>!a),style:{width:"100%",padding:"7px 12px",display:"flex",alignItems:"center",justifyContent:"space-between",background:"transparent",border:"none",cursor:"pointer",fontSize:11,fontWeight:600,color:"var(--foreground-muted)"},children:[(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:5},children:[(0,b.jsx)(m.ExternalLink,{size:11}),"zh"===e?"详情":"Details"]}),_?(0,b.jsx)(j.ChevronDown,{size:11}):(0,b.jsx)(k.ChevronRight,{size:11})]}),_&&(0,b.jsxs)("div",{style:{padding:"0 12px 12px"},children:[(a.agentName||a.agent)&&(0,b.jsx)("div",{style:{fontSize:10.5,color:"var(--foreground-muted)",marginBottom:4},children:a.agentName||a.agent}),a.query&&(0,b.jsxs)("div",{style:{fontSize:11,color:"var(--foreground)",lineHeight:1.5,wordBreak:"break-all"},children:[a.query.slice(0,120),a.query.length>120?"…":""]})]})]})]})}),(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",overflow:"hidden",minWidth:0,background:"var(--background-secondary)",position:"relative"},children:[(0,b.jsxs)("div",{style:{padding:"12px 20px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",gap:12,background:"var(--card-bg)",flexShrink:0},children:[(0,b.jsx)("div",{style:{width:32,height:32,borderRadius:8,background:"var(--primary,#6356e6)",display:"grid",placeItems:"center",color:"white",flexShrink:0,boxShadow:"0 4px 12px rgba(99,86,230,0.3)"},children:(0,b.jsx)(u.Sparkles,{size:16})}),(0,b.jsxs)("div",{style:{flex:1},children:[(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,letterSpacing:"-0.01em",color:"var(--foreground)"},children:"zh"===e?"智能诊断":"Diagnosis"}),(0,b.jsx)("div",{style:{fontSize:10.5,color:"var(--foreground-muted)",letterSpacing:".06em",textTransform:"uppercase",marginTop:1},children:"FAULT-DIAGNOSIS-AGENT"})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[ak.length>0&&(0,b.jsx)(aW,{active:!0,label:"zh"===e?"明确报错已载入":"Trace errors loaded",count:ak.length}),(0,b.jsx)(aW,{label:"zh"===e?`${ao} Skill`:`${ao} skills`}),(0,b.jsx)("div",{style:{width:1,height:16,background:"var(--border)",flexShrink:0}}),(0,b.jsxs)("button",{type:"button",onClick:aF,title:"zh"===e?"新增对话":"New conversation",className:"ai-btn-s",style:{padding:"4px 8px",display:"inline-flex",alignItems:"center",gap:4,fontSize:11},children:[(0,b.jsx)(s.Plus,{size:12}),"zh"===e?"新对话":"New"]}),(0,b.jsxs)("button",{type:"button",onClick:()=>ac(a=>!a),title:"zh"===e?"对话历史":"Conversation history",className:"ai-btn-s",style:{padding:"4px 8px",display:"inline-flex",alignItems:"center",gap:4,fontSize:11,background:ab?"var(--primary-subtle)":void 0,color:ab?"var(--primary)":void 0,borderColor:ab?"var(--primary-subtle-border)":void 0},children:[(0,b.jsx)(o.History,{size:12}),"zh"===e?"历史":"History",ad.length>0&&(0,b.jsx)("span",{style:{fontSize:9,fontWeight:700,background:"var(--primary)",color:"white",borderRadius:999,padding:"1px 4px",lineHeight:1.3},children:ad.length})]})]})]}),ab&&(0,b.jsxs)("div",{style:{position:"absolute",top:0,right:0,width:320,bottom:0,background:"var(--card-bg)",borderLeft:"1px solid var(--border)",zIndex:20,display:"flex",flexDirection:"column",boxShadow:"-4px 0 16px rgba(0,0,0,0.08)"},children:[(0,b.jsxs)("div",{style:{padding:"12px 14px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",flexShrink:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7},children:[(0,b.jsx)(o.History,{size:14,color:"var(--primary)"}),(0,b.jsx)("span",{style:{fontSize:13,fontWeight:700},children:"zh"===e?"对话历史":"Conversation history"})]}),(0,b.jsx)("button",{onClick:()=>ac(!1),style:{background:"none",border:"none",cursor:"pointer",color:"var(--foreground-muted)",display:"grid",placeItems:"center",width:24,height:24,borderRadius:5},children:(0,b.jsx)(w.X,{size:14})})]}),(0,b.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"8px 0"},children:[B.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{padding:"4px 14px 2px",fontSize:10,fontWeight:700,color:"var(--foreground-muted)",letterSpacing:"0.08em",textTransform:"uppercase"},children:"zh"===e?"当前对话":"Current"}),(0,b.jsxs)("button",{onClick:()=>ac(!1),style:{width:"100%",padding:"8px 14px",background:"var(--primary-subtle)",border:"none",textAlign:"left",cursor:"pointer",borderBottom:"1px solid var(--border)"},children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,color:"var(--primary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:B.find(a=>"user"===a.role)?.content?.slice(0,50)||("zh"===e?"当前对话":"Current chat")}),(0,b.jsxs)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginTop:2},children:[B.length," ","zh"===e?"条消息":"messages"]})]})]}),ad.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{padding:"8px 14px 2px",fontSize:10,fontWeight:700,color:"var(--foreground-muted)",letterSpacing:"0.08em",textTransform:"uppercase"},children:"zh"===e?"历史对话":"Past conversations"}),ad.map(a=>(0,b.jsxs)("button",{onClick:()=>aG(a),style:{width:"100%",padding:"8px 14px",background:"transparent",border:"none",borderBottom:"1px solid var(--border)",textAlign:"left",cursor:"pointer"},onMouseEnter:a=>a.currentTarget.style.background="var(--background-secondary)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:500,color:"var(--foreground)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.title}),(0,b.jsxs)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginTop:2,display:"flex",gap:8},children:[(0,b.jsx)("span",{children:new Date(a.createdAt).toLocaleString()}),(0,b.jsxs)("span",{children:[a.messages.length," ","zh"===e?"条":"msgs"]})]})]},a.id))]}),0===ad.length&&0===B.length&&(0,b.jsx)("div",{style:{padding:"32px 14px",textAlign:"center",color:"var(--foreground-muted)",fontSize:12},children:"zh"===e?"暂无历史对话":"No past conversations"})]}),(0,b.jsx)("div",{style:{padding:"10px 14px",borderTop:"1px solid var(--border)",flexShrink:0},children:(0,b.jsxs)("button",{onClick:aF,className:"ai-btn-s",style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",gap:6,padding:"7px 12px",fontSize:12},children:[(0,b.jsx)(s.Plus,{size:13}),"zh"===e?"新增对话":"New conversation"]})})]}),(0,b.jsxs)("div",{ref:af,style:{flex:1,overflowY:"auto",padding:"20px 24px 16px",minHeight:0},children:[(0,b.jsx)(X,{executionId:v,user:g||"",locale:e,traceExplicitErrors:am,onNodeRefClick:aC}),B.map(a=>(0,b.jsx)(aI,{message:a,onNodeRefClick:aC,locale:e,nodeMap:aq},a.id)),0===B.length&&(0,b.jsx)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",margin:"8px 0 0 40px"},children:["zh"===e?"从 Agent / Skill 执行链路角度分析,这次故障最可能的根因是什么?":"From the Agent / Skill execution-chain perspective, what is the most likely root cause of this failure?","zh"===e?"给我一个用于优化 Agent / Skill / 工具链路的修复方案。":"Give me a fix plan for optimizing the Agent / Skill / tool chain.","zh"===e?"定位耗时最长的节点":"Find the slowest node"].map(a=>(0,b.jsxs)("button",{type:"button",className:"ai-btn-s",style:{fontSize:11,display:"inline-flex",alignItems:"center",gap:5},onClick:()=>{E(a),ah.current?.focus()},children:[(0,b.jsx)(q.MessageSquare,{size:11})," ",a]},a))})]}),(0,b.jsxs)("div",{style:{padding:"10px 20px 18px",flexShrink:0,position:"relative"},children:[(0,b.jsxs)("div",{style:{background:"var(--card-bg)",border:"1px solid var(--border)",borderRadius:14,padding:"10px 12px 8px",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},children:[L.size>0&&(0,b.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:5,marginBottom:8,paddingBottom:8,borderBottom:"1px dashed var(--border)"},children:Array.from(L.values()).map(a=>(0,b.jsx)(aP,{nodeId:a.id,label:a.name,kind:a.kind,onClick:()=>aC(a.id),onRemove:()=>M(b=>{let c=new Map(b);return c.delete(a.id),c})},a.id))}),(0,b.jsxs)("form",{onSubmit:aH,children:[(0,b.jsx)("textarea",{ref:ah,value:D,onChange:a=>{var b;let c;return E(b=a.target.value),void((c=b.match(/@(\S*)$/))?(Y(!0),$(c[1])):Y(!1))},rows:2,placeholder:"zh"===e?"向诊断 Agent 追问,输入 @ 引用具体节点…":"Ask the agent, type @ to reference a node…",style:{width:"100%",resize:"none",border:"none",background:"transparent",color:"var(--foreground)",fontSize:13.5,lineHeight:1.6,outline:"none",minHeight:44,maxHeight:160,fontFamily:"inherit"},onKeyDown:a=>{"Escape"===a.key?Y(!1):"Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),aH(a))}}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,paddingTop:8,borderTop:"1px solid var(--border)",marginTop:4},children:[(0,b.jsx)("button",{type:"button",title:"引用节点 (@)",onClick:()=>{Y(a=>!a),$("")},style:{width:28,height:28,borderRadius:6,background:"transparent",border:"1px solid transparent",color:"var(--foreground-muted)",display:"grid",placeItems:"center",cursor:"pointer"},children:(0,b.jsx)(h,{size:14})}),(0,b.jsxs)("div",{style:{marginLeft:"auto",fontSize:10.5,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",display:"flex",alignItems:"center",gap:4},children:[(0,b.jsx)("kbd",{style:{background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:4,padding:"1px 5px",fontSize:10},children:"@"}),"zh"===e?"引用节点":"Ref node",(0,b.jsx)("span",{style:{color:"var(--border)",margin:"0 3px"},children:"·"}),(0,b.jsx)("kbd",{style:{background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:4,padding:"1px 5px",fontSize:10},children:"↵"}),"zh"===e?"发送":"Send"]}),(0,b.jsx)("button",{type:"submit",disabled:H||!D.trim()&&0===L.size,style:{width:32,height:32,borderRadius:8,background:"var(--primary,#6356e6)",border:"none",color:"white",display:"grid",placeItems:"center",cursor:H||!D.trim()&&0===L.size?"not-allowed":"pointer",opacity:H||!D.trim()&&0===L.size?.5:1,marginLeft:6,boxShadow:"0 2px 8px rgba(99,86,230,0.35)"},children:H?(0,b.jsx)(p.Loader2,{size:15,className:"animate-spin"}):(0,b.jsx)(t,{size:15})})]})]})]}),W&&(0,b.jsxs)("div",{style:{position:"absolute",bottom:"100%",left:20,right:20,marginBottom:6,background:"var(--card-bg)",border:"1px solid var(--border)",borderRadius:10,boxShadow:"0 8px 24px rgba(0,0,0,0.10)",maxHeight:260,overflowY:"auto",zIndex:50},children:[(0,b.jsx)("div",{style:{padding:"8px 12px",borderBottom:"1px solid var(--border)",fontSize:10,color:"var(--foreground-muted)",letterSpacing:".08em",textTransform:"uppercase",fontWeight:700,background:"var(--background-secondary)",borderRadius:"10px 10px 0 0"},children:"zh"===e?"引用执行节点":"Reference trace node"}),0===as.length?(0,b.jsx)("div",{style:{padding:14,textAlign:"center",fontSize:11.5,color:"var(--foreground-muted)"},children:"zh"===e?"没有匹配节点":"No matching nodes"}):as.slice(0,12).map(a=>{let c=aN[a.kind||""];return(0,b.jsxs)("button",{onClick:()=>{at(a),E(a=>a.replace(/@\S*$/,"").trimEnd())},style:{width:"100%",padding:"8px 12px",display:"flex",alignItems:"center",gap:8,cursor:"pointer",borderBottom:"1px solid var(--border)",background:"transparent",border:"none",textAlign:"left"},onMouseEnter:a=>a.currentTarget.style.background="rgba(99,86,230,0.06)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[c&&(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:9,fontWeight:700,padding:"1px 4px",borderRadius:3,background:c.bg,color:c.color,flexShrink:0},children:c.label}),(0,b.jsx)("span",{style:{fontSize:12,color:"var(--foreground)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontWeight:500},children:a.name}),(0,b.jsx)("span",{style:{fontSize:10,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",flexShrink:0},children:a.time||""})]},a.id)})]})]})]})]})]})}function aI({message:a,onNodeRefClick:c,locale:d,nodeMap:e}){let f,g="user"===a.role;return(0,b.jsxs)("div",{style:{display:"flex",gap:10,marginBottom:14,justifyContent:g?"flex-end":"flex-start"},children:[!g&&(0,b.jsx)(aX,{role:"assistant"}),(0,b.jsxs)("div",{style:{maxWidth:820,minWidth:0},children:[g&&(0,b.jsx)(aY,{label:"zh"===d?"你":"You",align:"right"}),(0,b.jsx)("div",{style:{borderRadius:(f="user"===a.role)?"12px 4px 12px 12px":"4px 12px 12px 12px",border:`1px solid ${f?"var(--primary)":"var(--border)"}`,background:f?"var(--primary)":"var(--card-bg)",color:f?"var(--primary-foreground)":"var(--foreground)",padding:"11px 12px",fontSize:12.5,boxShadow:"0 8px 28px var(--shadow-color)"},children:a.pending&&!a.content?(0,b.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",gap:8,color:"var(--foreground-muted)"},children:[(0,b.jsx)(p.Loader2,{size:14,className:"animate-spin"}),"zh"===d?"正在思考…":"Thinking…"]}):g?(0,b.jsxs)("div",{style:{whiteSpace:"pre-wrap",lineHeight:1.7},children:[a.nodeRefs&&a.nodeRefs.length>0&&(0,b.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:8},children:a.nodeRefs.map(a=>(0,b.jsx)(aP,{nodeId:a.id,label:a.label,kind:a.kind,onClick:()=>c(a.id)},a.id))}),a.content]}):(0,b.jsx)("div",{style:{lineHeight:1.65},children:(0,b.jsx)(aU,{content:a.content,onNodeRefClick:c,nodeMap:e})})})]}),g&&(0,b.jsx)(aX,{role:"user"})]})}function aJ(a,b){let c=(a.failures||[]).map(a=>({...a,diagnostic_kind:"original",diagnostic_source:"analysis"})),d=a.tool_call_error_count||0;return d>0&&!c.some(a=>{let b=aL([a.failure_type,a.description,a.context,a.step,a.trace_anchor?.kind].filter(Boolean).join(" "));return a.trace_anchor?.kind==="tool"||/tool|工具|bash|command|exit code|stderr|非零/.test(b)})&&c.push({failure_type:"zh"===b?"工具调用错误":"Tool call error",description:"zh"===b?`上传/采集阶段检测到 ${d} 次工具调用失败,但未生成更细的结构化 failure 记录。`:`The uploaded trace reported ${d} tool call error(s), but no detailed structured failure was generated.`,context:`tool_call_error_count=${d}`,recovery:"zh"===b?"建议打开完整执行链路查看失败工具的入参、输出和错误信息。":"Open the full trace to inspect the failed tool call input, output, and error details.",diagnostic_kind:"original",diagnostic_source:"ingest",synthetic:!0}),c}function aK(a,b){let c=b.trace_anchor;if(c?.step_id){let b=a.find(a=>a.id===c.step_id);if(b)return{node:b,reason:c.evidence||`后端锚定:${c.match_method},置信度 ${Math.round(100*c.confidence)}%`}}if(b.anchor_step_id){let c=a.find(a=>a.id===b.anchor_step_id);if(c)return{node:c,reason:"来自后端分析的候选步骤 ID"}}if(c?.step_index){let b=a.find(a=>a.step===c.step_index);if(b)return{node:b,reason:c.evidence||"来自后端分析的步骤编号"}}let d=aL([b.failure_type,b.description,b.context,b.recovery,b.step].filter(Boolean).join(" ")),e=/推理判断|时间窗口匹配/i.test(b.step||"")?null:String(b.step||"").match(/第\s*(\d+)\s*步/i);if(e){let b=Number(e[1])-1;if(a[b])return{node:a[b],reason:"来自故障记录的步骤编号"}}let f=a.map(a=>{let b=0,c=aL(a.rawText||`${a.name} ${a.meta}`);for(let a of Array.from(new Set(d.split(/[^a-z0-9_\-.]+/i).map(a=>a.trim().toLowerCase()).filter(a=>a.length>=3))).slice(0,12))c.includes(a)&&(b+=a.length>4?2:1);return/401|authentication|unauthori[sz]ed|api[_\s-]?key|认证|鉴权|权限/.test(d)&&"llm"===a.kind&&(b+=8),/tool|工具|bash|command|exit code|stderr|非零/.test(d)&&"tool"===a.kind&&(b+=7),/skill|技能|SKILL\.md/i.test(d)&&"skill"===a.kind&&(b+=7),/timeout|超时|卡住/.test(d)&&(b+=3),{node:a,score:b}}).sort((a,b)=>b.score-a.score);if(f[0]?.score>0)return{node:f[0].node,reason:f[0].score>=7?"根据错误内容和节点类型匹配":"根据错误上下文文本匹配"};let g=[...a].reverse().find(a=>"llm"===a.kind||"tool"===a.kind||"skill"===a.kind)||[...a].reverse().find(a=>"skipped"!==a.status);return g?{node:g,reason:"未找到精确锚点,回退到最后一个已执行关键节点"}:null}function aL(a){return a.toLowerCase().replace(/\s+/g," ").trim()}function aM(a){return a>=1e6?`${(a/1e6).toFixed(2)}M`:a>=1e3?`${(a/1e3).toFixed(1)}K`:String(a)}let aN={llm:{label:"LLM",color:"#7c3aed",bg:"rgba(124,58,237,0.10)"},tool:{label:"TOOL",color:"#2563eb",bg:"rgba(37,99,235,0.10)"},skill:{label:"SKILL",color:"#15a572",bg:"rgba(21,165,114,0.10)"},agent:{label:"AGENT",color:"var(--primary,#6356e6)",bg:"rgba(99,86,230,0.10)"},task:{label:"TASK",color:"#0891b2",bg:"rgba(8,145,178,0.10)"},flow:{label:"FLOW",color:"#d97706",bg:"rgba(217,119,6,0.10)"},system:{label:"SYS",color:"var(--foreground-muted,#9da1ac)",bg:"var(--background-secondary)"}};function aO({label:a,value:c,valueColor:d}){return(0,b.jsxs)("div",{style:{padding:"0 14px",borderLeft:"1px solid var(--border)",textAlign:"center",flexShrink:0},children:[(0,b.jsx)("div",{style:{fontSize:9.5,color:"var(--foreground-muted)",fontWeight:700,letterSpacing:".10em",textTransform:"uppercase",marginBottom:3},children:a}),(0,b.jsx)("div",{style:{fontSize:15,fontWeight:700,fontFamily:"var(--font-mono)",letterSpacing:"-0.02em",color:d||"var(--foreground)",lineHeight:1},children:c})]})}function aP({nodeId:a,label:c,kind:d,onClick:e,onRemove:f}){let g=aN[d||""];return(0,b.jsxs)("span",{onClick:e,style:{display:"inline-flex",alignItems:"center",gap:5,background:"var(--card-bg,#fff)",border:"1px solid rgba(99,86,230,0.35)",padding:"2px 6px 2px 3px",borderRadius:6,fontSize:11.5,color:"var(--foreground)",fontWeight:500,cursor:e?"pointer":"default",verticalAlign:"middle",lineHeight:1.3,transition:"all 0.15s"},children:[(0,b.jsx)("span",{style:{width:16,height:16,borderRadius:4,background:"var(--primary,#6356e6)",color:"white",display:"grid",placeItems:"center",flexShrink:0},children:(0,b.jsx)(h,{size:9})}),g&&(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:9,fontWeight:700,color:g.color,paddingRight:5,borderRight:"1px solid rgba(99,86,230,0.2)",lineHeight:1},children:g.label}),(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:180},children:c}),f&&(0,b.jsx)("button",{onClick:a=>{a.stopPropagation(),f()},style:{background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,color:"var(--foreground-muted)",display:"flex",alignItems:"center",marginLeft:1},children:(0,b.jsx)(w.X,{size:10})})]})}function aQ(a){let b=a.match(/req\s+([\d,]+)\s*tok/i),c=a.match(/out\s+([\d,]+)\s*tok/i);return{req:b?parseInt(b[1].replace(/,/g,""),10):void 0,out:c?parseInt(c[1].replace(/,/g,""),10):void 0}}function aR(a){if(a<1e3)return`${a}ms`;if(a<6e4)return`${(a/1e3).toFixed(1)}s`;let b=Math.floor(a/6e4),c=Math.round(a%6e4/1e3);return c>0?`${b}m ${c}s`:`${b}m`}function aS({node:a,onClose:c,locale:d}){let e=aN[a.kind||""],f="error"===a.status?"var(--error,#dc2626)":"ok"===a.status?"var(--success,#15a572)":"running"===a.status?"var(--primary,#6356e6)":"var(--foreground-muted,#9da1ac)",g="error"===a.status?"zh"===d?"错误":"Error":"ok"===a.status?"zh"===d?"成功":"OK":"skipped"===a.status?"zh"===d?"未执行":"Skipped":"zh"===d?"运行中":"Running",h=aQ(a.meta||""),i=(h.req||0)+(h.out||0);return(0,b.jsxs)("div",{style:{position:"fixed",inset:0,zIndex:900,display:"flex",alignItems:"center",justifyContent:"center"},onClick:c,children:[(0,b.jsx)("div",{style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.32)",backdropFilter:"blur(2px)"}}),(0,b.jsxs)("div",{style:{position:"relative",zIndex:1,width:540,maxWidth:"calc(100vw - 40px)",maxHeight:"calc(100vh - 80px)",overflow:"auto",background:"var(--card-bg,#fff)",borderRadius:14,boxShadow:"0 20px 60px rgba(0,0,0,0.22)",border:"1px solid var(--border)",padding:"20px 22px"},onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10,marginBottom:14},children:[(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",marginBottom:6},children:[e&&(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,fontWeight:700,padding:"2px 6px",borderRadius:4,background:e.bg,color:e.color,letterSpacing:"0.04em"},children:e.label}),(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,fontWeight:600,color:f,padding:"2px 7px",borderRadius:99,background:`color-mix(in srgb, ${f} 12%, transparent)`},children:[(0,b.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:f,display:"inline-block"}}),g]}),a.faultRefs&&a.faultRefs.length>0&&(0,b.jsxs)("span",{style:{fontSize:10,fontWeight:700,padding:"2px 7px",borderRadius:99,background:"var(--error,#dc2626)",color:"#fff"},children:["⚠ #",a.faultRefs.join(", #")]})]}),(0,b.jsx)("div",{style:{fontSize:15,fontWeight:700,color:"var(--foreground)",lineHeight:1.3},children:a.name}),(0,b.jsx)("div",{style:{fontSize:11,color:"var(--foreground-muted)",marginTop:3,fontFamily:"var(--font-mono)"},children:a.id})]}),(0,b.jsx)("button",{onClick:c,style:{background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:6,width:28,height:28,display:"grid",placeItems:"center",cursor:"pointer",color:"var(--foreground-muted)",flexShrink:0},children:(0,b.jsx)(w.X,{size:14})})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:0,marginBottom:16,borderRadius:8,overflow:"hidden",border:"1px solid var(--border)",background:"var(--background-secondary)"},children:[null!=a.durationMs&&(0,b.jsxs)("div",{style:{flex:1,padding:"8px 12px",borderRight:"1px solid var(--border)"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginBottom:2,fontWeight:600,letterSpacing:"0.05em"},children:"zh"===d?"耗时":"DURATION"}),(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--foreground)",fontFamily:"var(--font-mono)"},children:aR(a.durationMs)})]}),i>0&&(0,b.jsxs)("div",{style:{flex:1,padding:"8px 12px",borderRight:a.time?"1px solid var(--border)":void 0},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginBottom:2,fontWeight:600,letterSpacing:"0.05em"},children:"TOKENS"}),(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--foreground)",fontFamily:"var(--font-mono)"},children:aM(i)})]}),null!=h.req&&h.req>0&&(0,b.jsxs)("div",{style:{flex:1,padding:"8px 12px",borderRight:h.out?"1px solid var(--border)":void 0},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginBottom:2,fontWeight:600,letterSpacing:"0.05em"},children:"IN"}),(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--foreground)",fontFamily:"var(--font-mono)"},children:aM(h.req)})]}),null!=h.out&&h.out>0&&(0,b.jsxs)("div",{style:{flex:1,padding:"8px 12px"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginBottom:2,fontWeight:600,letterSpacing:"0.05em"},children:"OUT"}),(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--foreground)",fontFamily:"var(--font-mono)"},children:aM(h.out)})]}),a.time&&null==a.durationMs&&(0,b.jsxs)("div",{style:{flex:1,padding:"8px 12px"},children:[(0,b.jsx)("div",{style:{fontSize:10,color:"var(--foreground-muted)",marginBottom:2,fontWeight:600,letterSpacing:"0.05em"},children:"zh"===d?"时间偏移":"OFFSET"}),(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"var(--foreground)",fontFamily:"var(--font-mono)"},children:a.time})]})]}),"error"===a.status&&a.detail&&(0,b.jsxs)("div",{style:{marginBottom:14,padding:"10px 12px",borderRadius:8,background:"var(--error-subtle,rgba(220,38,38,0.06))",border:"1px solid var(--error-subtle-border,rgba(220,38,38,0.2))"},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"var(--error)",marginBottom:5,letterSpacing:"0.05em"},children:"zh"===d?"故障详情":"FAULT DETAIL"}),(0,b.jsx)("div",{style:{fontSize:12,color:"var(--error)",lineHeight:1.6,whiteSpace:"pre-wrap"},children:a.detail})]}),a.matchReason&&(0,b.jsxs)("div",{style:{marginBottom:14,padding:"8px 12px",borderRadius:8,background:"rgba(217,119,6,0.06)",border:"1px solid rgba(217,119,6,0.2)"},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"#d97706",marginBottom:4,letterSpacing:"0.05em"},children:"zh"===d?"定位依据":"MATCH REASON"}),(0,b.jsx)("div",{style:{fontSize:12,color:"var(--foreground)",lineHeight:1.5},children:a.matchReason})]}),a.meta&&(0,b.jsxs)("div",{style:{marginBottom:14},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"var(--foreground-muted)",marginBottom:6,letterSpacing:"0.05em"},children:"zh"===d?"节点元数据":"METADATA"}),(0,b.jsx)("div",{style:{fontSize:12,color:"var(--foreground-secondary,#4b5563)",lineHeight:1.6,padding:"8px 10px",background:"var(--background-secondary)",borderRadius:6,fontFamily:"var(--font-mono)",whiteSpace:"pre-wrap",wordBreak:"break-all"},children:a.meta})]}),a.rawInput&&a.rawInput.length>0&&(0,b.jsxs)("div",{style:{marginBottom:14},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"var(--foreground-muted)",marginBottom:6,letterSpacing:"0.05em"},children:"INPUT"}),(0,b.jsx)("div",{style:{fontSize:11.5,color:"var(--foreground-secondary)",lineHeight:1.6,padding:"8px 10px",background:"var(--background-secondary)",borderRadius:6,maxHeight:240,overflow:"auto",whiteSpace:"pre-wrap",wordBreak:"break-all"},children:a.rawInput})]}),a.rawOutput&&a.rawOutput.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:"var(--foreground-muted)",marginBottom:6,letterSpacing:"0.05em"},children:"OUTPUT"}),(0,b.jsx)("div",{style:{fontSize:11.5,color:"var(--foreground-secondary)",lineHeight:1.6,padding:"8px 10px",background:"var(--background-secondary)",borderRadius:6,maxHeight:240,overflow:"auto",whiteSpace:"pre-wrap",wordBreak:"break-all"},children:a.rawOutput})]})]})]})}function aT({node:a,ancestors:d,isLast:e,collapsedNodes:f,onToggleCollapse:g,onQuoteNode:i,onFaultSelect:l,onNodeClick:m,highlightNodeId:n,traceNodeEls:o,traceSearch:p,locale:q,maxDurationMs:r}){let s,[t,u]=(0,c.useState)(!1),v=f.has(a.id),w=a.children.length>0,x=a.id===n,y=a.depth??0,z=!p||a.name.toLowerCase().includes(p)||(a.meta||"").toLowerCase().includes(p),A=a=>a.children.some(a=>a.name.toLowerCase().includes(p)||(a.meta||"").toLowerCase().includes(p)||A(a));if(p&&!z&&!A(a))return null;let B="error"===a.status?"var(--error,#dc2626)":"ok"===a.status?"var(--success,#15a572)":"running"===a.status?"var(--primary,#6356e6)":"var(--foreground-muted,#9da1ac)",C="error"===a.status?"rgba(220,38,38,0.18)":"ok"===a.status?"rgba(21,165,114,0.18)":"running"===a.status?"rgba(99,86,230,0.18)":"transparent",D=aN[a.kind||""],E=aQ(a.meta||""),F=(E.req||0)+(E.out||0),G=null!=D&&["模型调用","Model call","工具调用","Tool call","调度子任务","Subtask execution","子任务执行","执行 Skill","Run skill","控制器路由","Controller routing","用户输入","User input"].some(b=>a.name===b),H=(a.meta||"").split(/\s*·\s*/),I=H[0]?.trim()??"",J=I&&!/^(req|out)\s|\d{4,}/.test(I)?I.length>32?`${I.slice(0,32)}…`:I:"",K=G&&J?J:a.name,L=(s=(G&&J?H.slice(1):H).join(" · ").replace(/\breq\s+[\d,]+\s*tok\b/gi,"").replace(/\bout\s+[\d,]+\s*tok\b/gi,"").replace(/\s*·\s*·\s*/g," · ").replace(/^\s*·\s*|\s*·\s*$/g,"").trim()).length>40?`${s.slice(0,40)}…`:s;return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{ref:b=>{b?o.current.set(a.id,b):o.current.delete(a.id)},style:{position:"relative"},onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),children:[d.map((a,c)=>a?(0,b.jsx)("div",{style:{position:"absolute",left:14*c+4+4,top:0,bottom:0,width:1,background:"var(--border)",pointerEvents:"none"}},c):null),y>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{style:{position:"absolute",left:(y-1)*14+4+4,top:0,height:e?"50%":"100%",width:1,background:"var(--border)",pointerEvents:"none"}}),(0,b.jsx)("div",{style:{position:"absolute",left:(y-1)*14+4+4,top:"50%",width:8,height:1,background:"var(--border)",pointerEvents:"none",marginTop:-.5}})]}),(0,b.jsx)("div",{style:{margin:"1px 4px",borderRadius:6,background:x?"rgba(99,86,230,0.08)":t?"var(--background-secondary)":"transparent",border:`1px solid ${x?"rgba(99,86,230,0.28)":"error"===a.status?"rgba(220,38,38,0.18)":"transparent"}`,transition:"background 0.12s, border-color 0.12s",cursor:"pointer",overflow:"hidden"},onClick:()=>{m(a)},children:(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5,paddingLeft:14*y+4,paddingRight:8,paddingTop:4,paddingBottom:4},children:[(0,b.jsx)("div",{style:{width:14,height:14,display:"flex",alignItems:"center",justifyContent:"center",color:"var(--foreground-muted)",flexShrink:0},onClick:b=>{b.stopPropagation(),w&&g(a.id)},children:w?v?(0,b.jsx)(k.ChevronRight,{size:10}):(0,b.jsx)(j.ChevronDown,{size:10}):null}),(0,b.jsx)("div",{style:{width:7,height:7,borderRadius:"50%",background:B,boxShadow:`0 0 0 2px ${C}`,flexShrink:0}}),(0,b.jsxs)("span",{title:"zh"===q?`左侧节点 #${a.step}`:`Trace node #${a.step}`,style:{width:34,flexShrink:0,textAlign:"right",fontFamily:"var(--font-mono)",fontSize:9.5,fontWeight:700,fontVariantNumeric:"tabular-nums",color:x?"var(--primary)":"var(--foreground-muted)"},children:["#",a.step]}),D&&(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:9,fontWeight:700,padding:"1px 4px",borderRadius:3,background:D.bg,color:D.color,flexShrink:0,letterSpacing:"0.02em"},children:D.label}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:[(0,b.jsx)("span",{style:{fontSize:11.5,fontWeight:x?600:500,color:"error"===a.status?"var(--error)":"var(--foreground)"},children:K}),L&&(0,b.jsx)("span",{style:{fontSize:10,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",marginLeft:5},children:L})]}),a.faultRefs&&a.faultRefs.length>0&&(0,b.jsx)("span",{style:{fontSize:11,color:"var(--warning,#d97706)",flexShrink:0},title:a.tag||"",children:"⚠"}),F>0&&(0,b.jsx)("span",{style:{fontSize:9.5,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",flexShrink:0},children:aM(F)}),null!=a.durationMs?(0,b.jsx)("span",{style:{fontSize:9.5,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",flexShrink:0},children:aR(a.durationMs)}):a.time?(0,b.jsx)("span",{style:{fontSize:9.5,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",flexShrink:0},children:a.time}):null,(0,b.jsx)("button",{onClick:b=>{b.stopPropagation(),i(a)},title:"zh"===q?"引用此节点":"Quote node",style:{width:18,height:18,borderRadius:4,flexShrink:0,background:t?"var(--card-bg,#fff)":"transparent",border:`1px solid ${t?"var(--border)":"transparent"}`,color:"var(--foreground-muted)",display:"grid",placeItems:"center",cursor:"pointer",opacity:+!!t,transition:"opacity 0.15s"},children:(0,b.jsx)(h,{size:9})})]})})]}),!v&&w&&a.children.map((c,h)=>(0,b.jsx)(aT,{node:c,ancestors:[...d,!e],isLast:h===a.children.length-1,collapsedNodes:f,onToggleCollapse:g,onQuoteNode:i,onFaultSelect:l,onNodeClick:m,highlightNodeId:n,traceNodeEls:o,traceSearch:p,locale:q,maxDurationMs:r},c.id))]})}function aU({content:a,onNodeRefClick:c,nodeMap:d}){let e=a.replace(/@\[([^\]]+)\]/g,(a,b)=>{let c=b.lastIndexOf(":");if(-1===c)return a;let d=b.slice(0,c),e=b.slice(c+1);return d&&e?`[${e}](NODEREF:${encodeURIComponent(d)})`:a});return(0,b.jsx)(x.default,{remarkPlugins:[y.default],components:{p:({children:a})=>(0,b.jsx)("p",{style:{margin:"0 0 0.55em",lineHeight:1.7},children:a}),h1:({children:a})=>(0,b.jsx)("h1",{style:{fontSize:"1.15em",fontWeight:700,margin:"0.9em 0 0.3em",lineHeight:1.35},children:a}),h2:({children:a})=>(0,b.jsx)("h2",{style:{fontSize:"1.05em",fontWeight:700,margin:"0.75em 0 0.3em",lineHeight:1.35},children:a}),h3:({children:a})=>(0,b.jsx)("h3",{style:{fontSize:"1em",fontWeight:700,margin:"0.65em 0 0.25em",lineHeight:1.35},children:a}),ul:({children:a})=>(0,b.jsx)("ul",{style:{margin:"0.25em 0 0.5em 1.35em",padding:0,lineHeight:1.65},children:a}),ol:({children:a})=>(0,b.jsx)("ol",{style:{margin:"0.25em 0 0.5em 1.35em",padding:0,lineHeight:1.65},children:a}),li:({children:a})=>(0,b.jsx)("li",{style:{marginBottom:"0.1em"},children:a}),strong:({children:a})=>(0,b.jsx)("strong",{style:{fontWeight:600},children:a}),em:({children:a})=>(0,b.jsx)("em",{style:{fontStyle:"italic"},children:a}),blockquote:({children:a})=>(0,b.jsx)("blockquote",{style:{margin:"0.35em 0",padding:"3px 10px",borderLeft:"3px solid var(--border)",color:"var(--foreground-secondary)",fontStyle:"italic"},children:a}),hr:()=>(0,b.jsx)("hr",{style:{border:"none",borderTop:"1px solid var(--border)",margin:"0.6em 0"}}),a({href:a,children:e}){if(a?.startsWith("NODEREF:")){let f=decodeURIComponent(a.slice(8)),g=d?.get(f),h=g?.name||String(e),i=g?.kind;return(0,b.jsx)(aP,{nodeId:f,label:h,kind:i,onClick:()=>c(f)})}return(0,b.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primary)",textDecoration:"underline"},children:e})},table:({children:a})=>(0,b.jsx)("table",{style:{borderCollapse:"collapse",width:"100%",margin:"0.35em 0",fontSize:"12px"},children:a}),th:({children:a})=>(0,b.jsx)("th",{style:{border:"1px solid var(--border)",padding:"4px 8px",background:"var(--background-secondary)",fontWeight:600,textAlign:"left"},children:a}),td:({children:a})=>(0,b.jsx)("td",{style:{border:"1px solid var(--border)",padding:"4px 8px"},children:a}),code({children:a,className:c}){let d=/language-(\w+)/.exec(c||""),e=String(a).replace(/\n$/,"");return e.includes("\n")||d?(0,b.jsx)("pre",{style:{background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:6,padding:"8px 12px",overflow:"auto",margin:"0.4em 0",fontFamily:"var(--font-mono,monospace)",fontSize:"11.5px",lineHeight:1.55,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:(0,b.jsx)("code",{style:{fontFamily:"inherit",fontSize:"inherit"},children:e})}):(0,b.jsx)("code",{style:{background:"rgba(175,184,193,0.18)",padding:"0.15em 0.38em",borderRadius:3,fontFamily:"var(--font-mono,monospace)",fontSize:"0.88em"},children:a})}},children:e})}async function aV(a,b){let c=a.body.getReader(),d=new TextDecoder,e="";for(;;){let{value:a,done:f}=await c.read();if(f)break;let g=(e+=d.decode(a,{stream:!0})).split("\n\n");for(let a of(e=g.pop()||"",g)){let c=a.split("\n").find(a=>a.startsWith("event:")),d=a.split("\n").find(a=>a.startsWith("data:"));if(!c||!d)continue;let e=c.replace(/^event:\s*/,"").trim(),f=null;try{f=JSON.parse(d.replace(/^data:\s*/,""))}catch{f={}}"text"===e&&b.text?.(f),"done"===e&&b.done?.(f),"error"===e&&b.error?.(f)}}}function aW({label:a,count:c,active:d}){return(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"4px 9px",borderRadius:999,fontSize:11,background:d?"var(--primary-subtle)":"var(--background-secondary)",color:d?"var(--primary)":"var(--foreground-secondary)",border:`1px solid ${d?"var(--primary-subtle-border)":"var(--border)"}`},children:[a,"number"==typeof c&&(0,b.jsx)("b",{style:{fontWeight:700},children:c})]})}function aX({role:a}){let c="user"===a;return(0,b.jsx)("div",{style:{width:26,height:26,borderRadius:8,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",background:c?"var(--foreground)":"var(--primary)",color:"white",marginTop:18},children:c?(0,b.jsx)(v,{size:14}):(0,b.jsx)(i,{size:14})})}function aY({label:a,align:c="left"}){return(0,b.jsx)("div",{style:{marginBottom:5,fontSize:10.5,color:"var(--foreground-muted)",textAlign:c},children:a})}function aZ({label:a,value:c,sub:d,accent:e,truncate:f}){return(0,b.jsxs)("div",{className:"ai-stat",children:[(0,b.jsx)("div",{className:"ai-stat-lbl",children:a}),(0,b.jsx)("div",{className:"ai-stat-val",style:{color:"error"===e?"var(--error)":"warning"===e?"var(--warning)":"var(--foreground)",overflow:f?"hidden":void 0,textOverflow:f?"ellipsis":void 0,whiteSpace:f?"nowrap":void 0},children:c}),d&&(0,b.jsx)("div",{className:"ai-stat-d",style:{color:"var(--foreground-muted)"},children:d})]})}function a$({label:a,active:c,value:d,onChange:e,children:f}){return(0,b.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",borderRadius:6,border:`1px solid ${c?"var(--primary-subtle-border, rgba(59,130,246,0.35))":"var(--border)"}`,background:c?"var(--primary-subtle, rgba(59,130,246,0.06))":"var(--card-bg)",overflow:"hidden",height:28,transition:"border-color .15s, background .15s"},children:[(0,b.jsx)("span",{style:{padding:"0 7px 0 9px",fontSize:10.5,fontWeight:600,color:c?"var(--primary, #3b82f6)":"var(--foreground-muted)",whiteSpace:"nowrap",userSelect:"none",borderRight:`1px solid ${c?"var(--primary-subtle-border, rgba(59,130,246,0.25))":"var(--border)"}`,lineHeight:"26px"},children:a}),(0,b.jsx)("select",{value:d,onChange:a=>e(a.target.value),style:{height:"100%",border:"none",outline:"none",background:"transparent",fontSize:11,color:c?"var(--primary, #3b82f6)":"var(--foreground)",fontWeight:c?600:400,padding:"0 20px 0 7px",cursor:"pointer",appearance:"none",WebkitAppearance:"none",backgroundImage:"url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5l3 3 3-3' stroke='%23999' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\")",backgroundRepeat:"no-repeat",backgroundPosition:"right 5px center",minWidth:52},children:f})]})}function a_(){return(0,b.jsx)("div",{style:{width:1,height:18,background:"var(--border)",margin:"0 6px",flexShrink:0}})}function a0({label:a,onRemove:c}){return(0,b.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",fontSize:11,borderRadius:4,background:"var(--primary-subtle, rgba(59,130,246,0.08))",border:"1px solid var(--primary-subtle-border, rgba(59,130,246,0.2))",color:"var(--primary, #3b82f6)",fontWeight:500,whiteSpace:"nowrap"},children:[a,(0,b.jsx)("button",{onClick:c,style:{background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,color:"inherit",opacity:.7,fontSize:12,display:"flex",alignItems:"center"},"aria-label":"remove filter",children:"×"})]})}function a1({children:a,width:c,align:d}){return(0,b.jsx)("th",{style:{padding:"7px 12px",fontSize:10.5,fontWeight:500,color:"var(--foreground-muted)",borderBottom:"1px solid var(--border)",textAlign:d||"left",whiteSpace:"nowrap",width:c},children:a})}function a2({execution:a,onClick:c,locale:d}){let e=a.task_id||a.upload_id||"",f=(a.failures||[]).map(a=>a.failure_type).filter(Boolean);a.invoked_skills?.length||a.skills?.length||a.skill,(a.invoked_skills?.length??0)>1||a.skills?.length;let g=a.failures&&a.failures.length>0||(a.tool_call_error_count||0)>0;return(0,b.jsxs)("tr",{onClick:c,style:{cursor:"pointer",borderBottom:"1px solid var(--table-row-border)",transition:"background .1s"},onMouseEnter:a=>a.currentTarget.style.background="var(--background-secondary)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[(0,b.jsx)(a3,{children:(0,b.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10.5,color:"var(--foreground-muted)"},children:e.slice(0,14)||"-"})}),(0,b.jsx)(a3,{truncate:!0,children:(0,b.jsx)("span",{title:a.agent||a.agentName||a.framework||"-",style:{fontSize:11,color:"var(--foreground)"},children:a.agent||a.agentName||a.framework||"-"})}),(0,b.jsx)(a3,{children:(0,b.jsx)(J.StatusBadge,{status:g?"error":"success",label:g?"zh"===d?"是":"Yes":"zh"===d?"否":"No"})}),(0,b.jsx)(a3,{truncate:!0,children:(0,b.jsx)("span",{title:a.query,style:{color:"var(--foreground)"},children:a.query||("zh"===d?"(无问题)":"(no query)")})}),(0,b.jsx)(a3,{children:(0,b.jsxs)("div",{style:{display:"flex",gap:4,flexWrap:"wrap"},children:[f.slice(0,2).map((a,c)=>(0,b.jsx)("span",{className:"ai-badge ai-badge-r",style:{fontSize:9},children:a},c)),f.length>2&&(0,b.jsxs)("span",{style:{fontSize:9,color:"var(--foreground-muted)"},children:["+",f.length-2]})]})}),(0,b.jsx)(a3,{children:(0,b.jsx)("span",{style:{fontSize:10,color:"var(--foreground-secondary)",fontFamily:"var(--font-mono)"},children:new Date(a.timestamp).toLocaleString()})})]})}function a3({children:a,align:c,truncate:d}){return(0,b.jsx)("td",{style:{padding:"7px 12px",fontSize:11.5,textAlign:c||"left",color:"var(--foreground)",...d?{maxWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},children:a})}function a4({page:a,totalPages:c,pageSize:d,total:e,onPage:f,onPageSize:g,locale:h}){var i,j;let k=(a-1)*d+1,l=Math.min(a*d,e),m=(i=a,(j=c)<=7?Array.from({length:j},(a,b)=>b+1):i<=3?[1,2,3,4,"...",j]:i>=j-2?[1,"...",j-3,j-2,j-1,j]:[1,"...",i-1,i,i+1,"...",j]);return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:12,padding:"0 4px"},children:[(0,b.jsx)("div",{style:{fontSize:11,color:"var(--foreground-muted)"},children:"zh"===h?`显示 ${k} 到 ${l},共 ${e} 条`:`Showing ${k}-${l} of ${e}`}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[(0,b.jsx)("button",{className:"ai-btn-s",style:{padding:"2px 8px",fontSize:11,minWidth:30},disabled:a<=1,onClick:()=>f(a-1),children:"‹"}),m.map((c,d)=>"..."===c?(0,b.jsx)("span",{style:{color:"var(--foreground-muted)",alignSelf:"center",padding:"0 2px"},children:"..."},`ell-${d}`):(0,b.jsx)("button",{className:"ai-btn-s",onClick:()=>f(c),style:{padding:"2px 8px",fontSize:11,minWidth:30,background:c===a?"var(--primary-subtle)":"var(--card-bg)",color:c===a?"var(--primary)":"var(--foreground-secondary)",borderColor:c===a?"var(--primary-subtle-border)":"var(--border)"},children:c},`p-${c}`)),(0,b.jsx)("button",{className:"ai-btn-s",style:{padding:"2px 8px",fontSize:11,minWidth:30},disabled:a>=c,onClick:()=>f(a+1),children:"›"}),(0,b.jsx)("select",{value:d,onChange:a=>g(Number(a.target.value)),className:"ai-chip",style:{height:24,padding:"2px 22px 2px 6px",fontSize:11,marginLeft:8},children:aC.map(a=>(0,b.jsxs)("option",{value:a,children:[a," ","zh"===h?"条/页":"/page"]},a))})]})]})}a.s(["default",()=>aF],423017)}];
5
5
 
6
6
  //# sourceMappingURL=src_app_%28main%29_fault_page_tsx_96431a5d._.js.map